@acorex/core 21.0.0-next52 → 21.0.1-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/constants/index.d.ts +1 -0
  2. package/fesm2022/acorex-core-components.mjs +3 -3
  3. package/fesm2022/acorex-core-components.mjs.map +1 -1
  4. package/fesm2022/acorex-core-config.mjs +3 -3
  5. package/fesm2022/acorex-core-config.mjs.map +1 -1
  6. package/fesm2022/acorex-core-constants.mjs +234 -23
  7. package/fesm2022/acorex-core-constants.mjs.map +1 -1
  8. package/fesm2022/acorex-core-date-time.mjs +25 -25
  9. package/fesm2022/acorex-core-date-time.mjs.map +1 -1
  10. package/fesm2022/acorex-core-events.mjs +3 -3
  11. package/fesm2022/acorex-core-events.mjs.map +1 -1
  12. package/fesm2022/acorex-core-file.mjs +10 -10
  13. package/fesm2022/acorex-core-file.mjs.map +1 -1
  14. package/fesm2022/acorex-core-format.mjs +19 -19
  15. package/fesm2022/acorex-core-format.mjs.map +1 -1
  16. package/fesm2022/acorex-core-full-screen.mjs +150 -0
  17. package/fesm2022/acorex-core-full-screen.mjs.map +1 -0
  18. package/fesm2022/acorex-core-icon.mjs +3 -3
  19. package/fesm2022/acorex-core-icon.mjs.map +1 -1
  20. package/fesm2022/acorex-core-image.mjs +3 -3
  21. package/fesm2022/acorex-core-image.mjs.map +1 -1
  22. package/fesm2022/acorex-core-locale.mjs +10 -10
  23. package/fesm2022/acorex-core-locale.mjs.map +1 -1
  24. package/fesm2022/acorex-core-memoize.mjs.map +1 -1
  25. package/fesm2022/acorex-core-network.mjs +3 -3
  26. package/fesm2022/acorex-core-network.mjs.map +1 -1
  27. package/fesm2022/acorex-core-pipes.mjs +3 -3
  28. package/fesm2022/acorex-core-pipes.mjs.map +1 -1
  29. package/fesm2022/acorex-core-platform.mjs +10 -10
  30. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  31. package/fesm2022/acorex-core-storage.mjs +9 -9
  32. package/fesm2022/acorex-core-storage.mjs.map +1 -1
  33. package/fesm2022/acorex-core-translation.mjs +16 -16
  34. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  35. package/fesm2022/acorex-core-utils.mjs +4 -4
  36. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  37. package/fesm2022/acorex-core-validation.mjs +40 -40
  38. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  39. package/fesm2022/acorex-core.mjs.map +1 -1
  40. package/format/index.d.ts +2 -2
  41. package/full-screen/README.md +3 -0
  42. package/full-screen/index.d.ts +48 -0
  43. package/package.json +5 -1
  44. package/validation/index.d.ts +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-network.mjs","sources":["../tmp-esm2022/network/lib/network.types.js","../tmp-esm2022/network/lib/download-task.js","../tmp-esm2022/network/lib/upload-task.js","../tmp-esm2022/network/lib/network.service.js","../tmp-esm2022/network/acorex-core-network.js"],"sourcesContent":["export var AXUploadStatus;\n(function (AXUploadStatus) {\n AXUploadStatus[\"Uploading\"] = \"Uploading...\";\n AXUploadStatus[\"UploadComplete\"] = \"Upload complete\";\n AXUploadStatus[\"StartingUpload\"] = \"Starting upload\";\n AXUploadStatus[\"UploadFailed\"] = \"Upload failed\";\n AXUploadStatus[\"UploadCanceled\"] = \"Upload Canceled\";\n})(AXUploadStatus || (AXUploadStatus = {}));\nexport var AXDownloadStatus;\n(function (AXDownloadStatus) {\n AXDownloadStatus[\"Downloading\"] = \"Downloading...\";\n AXDownloadStatus[\"DownloadComplete\"] = \"Download complete\";\n AXDownloadStatus[\"StartingDownload\"] = \"Starting download\";\n AXDownloadStatus[\"DownloadFailed\"] = \"Download failed\";\n})(AXDownloadStatus || (AXDownloadStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbmV0d29yay9zcmMvbGliL25ldHdvcmsudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN4Qiw0Q0FBMEIsQ0FBQTtJQUMxQixvREFBa0MsQ0FBQTtJQUNsQyxvREFBa0MsQ0FBQTtJQUNsQyxnREFBOEIsQ0FBQTtJQUM5QixvREFBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFXRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLDBEQUFzQyxDQUFBO0lBQ3RDLDBEQUFzQyxDQUFBO0lBQ3RDLHNEQUFrQyxDQUFBO0FBQ3BDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQVhVcGxvYWRTdGF0dXMge1xuICBVcGxvYWRpbmcgPSAnVXBsb2FkaW5nLi4uJyxcbiAgVXBsb2FkQ29tcGxldGUgPSAnVXBsb2FkIGNvbXBsZXRlJyxcbiAgU3RhcnRpbmdVcGxvYWQgPSAnU3RhcnRpbmcgdXBsb2FkJyxcbiAgVXBsb2FkRmFpbGVkID0gJ1VwbG9hZCBmYWlsZWQnLFxuICBVcGxvYWRDYW5jZWxlZCA9ICdVcGxvYWQgQ2FuY2VsZWQnLFxufVxuXG5leHBvcnQgdHlwZSBBWFVwbG9hZFJlc3BvbnNlPFQ+ID0ge1xuICBwcm9ncmVzczogbnVtYmVyO1xuICBieXRlc1RyYW5zZmVycmVkOiBudW1iZXI7XG4gIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cztcbiAgcmVzdWx0PzogVDtcbiAgbWVzc2FnZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBlbnVtIEFYRG93bmxvYWRTdGF0dXMge1xuICBEb3dubG9hZGluZyA9ICdEb3dubG9hZGluZy4uLicsXG4gIERvd25sb2FkQ29tcGxldGUgPSAnRG93bmxvYWQgY29tcGxldGUnLFxuICBTdGFydGluZ0Rvd25sb2FkID0gJ1N0YXJ0aW5nIGRvd25sb2FkJyxcbiAgRG93bmxvYWRGYWlsZWQgPSAnRG93bmxvYWQgZmFpbGVkJyxcbn1cblxuZXhwb3J0IHR5cGUgQVhEb3dubG9hZFJlc3BvbnNlID0ge1xuICBwcm9ncmVzczogbnVtYmVyO1xuICBieXRlc1JlY2VpdmVkOiBudW1iZXI7XG4gIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgc3RhdHVzOiBBWERvd25sb2FkU3RhdHVzO1xuICBkYXRhPzogQmxvYjsgLy8gb3IgYW55IGFwcHJvcHJpYXRlIHR5cGUgYmFzZWQgb24geW91ciBzcGVjaWZpYyB1c2UgY2FzZVxufTtcbiJdfQ==","import { HttpEventType } from '@angular/common/http';\nimport { Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { AXDownloadStatus } from './network.types'; // Ensure correct import path\nexport class AXDownloadTask {\n constructor(observable) {\n this.observable = observable;\n this.cancelSignal = new Subject();\n }\n get events() {\n return this.observable.pipe(takeUntil(this.cancelSignal), map((event) => this.handleEvent(event)));\n }\n handleEvent(event) {\n switch (event.type) {\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading,\n };\n }\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body,\n };\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload,\n };\n }\n }\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtdGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbmV0d29yay9zcmMvbGliL2Rvd25sb2FkLXRhc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUMsQ0FBQyw2QkFBNkI7QUFFckcsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFBb0IsVUFBc0M7UUFBdEMsZUFBVSxHQUFWLFVBQVUsQ0FBNEI7UUFGbEQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRWtCLENBQUM7SUFFOUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDNUIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXFCO1FBQ3ZDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLEtBQUssYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixPQUFPO29CQUNMLFFBQVEsRUFBRSxXQUFXO29CQUNyQixhQUFhLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQzNCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7b0JBQzVCLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO2lCQUNyQyxDQUFDO1lBQ0osQ0FBQztZQUVELEtBQUssYUFBYSxDQUFDLFFBQVE7Z0JBQ3pCLE9BQU87b0JBQ0wsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFDOUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFDM0IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtvQkFDekMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUNqQixDQUFDO1lBRUo7Z0JBQ0UsT0FBTztvQkFDTCxRQUFRLEVBQUUsQ0FBQztvQkFDWCxhQUFhLEVBQUUsQ0FBQztvQkFDaEIsVUFBVSxFQUFFLENBQUM7b0JBQ2IsTUFBTSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtpQkFDMUMsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFYRG93bmxvYWRSZXNwb25zZSwgQVhEb3dubG9hZFN0YXR1cyB9IGZyb20gJy4vbmV0d29yay50eXBlcyc7IC8vIEVuc3VyZSBjb3JyZWN0IGltcG9ydCBwYXRoXG5cbmV4cG9ydCBjbGFzcyBBWERvd25sb2FkVGFzayB7XG4gIHByaXZhdGUgY2FuY2VsU2lnbmFsID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9ic2VydmFibGU6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+KSB7fVxuXG4gIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxBWERvd25sb2FkUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5vYnNlcnZhYmxlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5jYW5jZWxTaWduYWwpLFxuICAgICAgbWFwKChldmVudCkgPT4gdGhpcy5oYW5kbGVFdmVudChldmVudCkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUV2ZW50KGV2ZW50OiBIdHRwRXZlbnQ8YW55Pik6IEFYRG93bmxvYWRSZXNwb25zZSB7XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczoge1xuICAgICAgICBjb25zdCBwZXJjZW50RG9uZSA9IE1hdGgucm91bmQoKDEwMCAqIGV2ZW50LmxvYWRlZCkgLyAoZXZlbnQudG90YWwgPz8gZXZlbnQubG9hZGVkKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZ3Jlc3M6IHBlcmNlbnREb25lLFxuICAgICAgICAgIGJ5dGVzUmVjZWl2ZWQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiBldmVudC50b3RhbCA/PyAwLFxuICAgICAgICAgIHN0YXR1czogQVhEb3dubG9hZFN0YXR1cy5Eb3dubG9hZGluZyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2dyZXNzOiAxMDAsXG4gICAgICAgICAgYnl0ZXNSZWNlaXZlZDogZXZlbnQuYm9keS5zaXplLFxuICAgICAgICAgIHRvdGFsQnl0ZXM6IGV2ZW50LmJvZHkuc2l6ZSxcbiAgICAgICAgICBzdGF0dXM6IEFYRG93bmxvYWRTdGF0dXMuRG93bmxvYWRDb21wbGV0ZSxcbiAgICAgICAgICBkYXRhOiBldmVudC5ib2R5LFxuICAgICAgICB9O1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2dyZXNzOiAwLFxuICAgICAgICAgIGJ5dGVzUmVjZWl2ZWQ6IDAsXG4gICAgICAgICAgdG90YWxCeXRlczogMCxcbiAgICAgICAgICBzdGF0dXM6IEFYRG93bmxvYWRTdGF0dXMuU3RhcnRpbmdEb3dubG9hZCxcbiAgICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWxTaWduYWwubmV4dCgpO1xuICAgIHRoaXMuY2FuY2VsU2lnbmFsLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==","import { HttpEventType } from '@angular/common/http';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AXUploadStatus } from './network.types'; // Ensure correct import path\nexport class AXUploadTask {\n constructor(http, request, totalFileSize) {\n this.http = http;\n this.request = request;\n this.totalFileSize = totalFileSize;\n this.cancelSignal = new Subject();\n this.events = new BehaviorSubject({\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n });\n }\n handleEvent(event, failedMessage) {\n switch (event.type) {\n case HttpEventType.Sent:\n case HttpEventType.ResponseHeader:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n };\n case HttpEventType.UploadProgress:\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (this.totalFileSize || event.total));\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize || event.total,\n status: AXUploadStatus.Uploading,\n };\n }\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body,\n };\n case HttpEventType.User:\n return {\n progress: 0,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadCanceled,\n };\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadFailed,\n message: failedMessage,\n };\n }\n }\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n start() {\n this.http\n .request(this.request)\n .pipe(takeUntil(this.cancelSignal))\n .subscribe({\n error: (error) => {\n this.events.next(this.handleEvent({ type: -1 }, error.statusText));\n },\n next: (event) => {\n this.events.next(this.handleEvent(event));\n },\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL25ldHdvcmsvc3JjL2xpYi91cGxvYWQtdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLGFBQWEsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQW9CLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDLENBQUMsNkJBQTZCO0FBRWpHLE1BQU0sT0FBTyxZQUFZO0lBU3ZCLFlBQ1UsSUFBZ0IsRUFDaEIsT0FBdUIsRUFDdkIsYUFBcUI7UUFGckIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQVh2QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFzQjtZQUN2RCxRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQzlCLE1BQU0sRUFBRSxjQUFjLENBQUMsY0FBYztTQUN0QyxDQUFDLENBQUM7SUFNQSxDQUFDO0lBRUksV0FBVyxDQUFDLEtBQXFCLEVBQUUsYUFBc0I7UUFDL0QsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3hCLEtBQUssYUFBYSxDQUFDLGNBQWM7Z0JBQy9CLE9BQU87b0JBQ0wsUUFBUSxFQUFFLENBQUM7b0JBQ1gsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUM5QixNQUFNLEVBQUUsY0FBYyxDQUFDLGNBQWM7aUJBQ3RDLENBQUM7WUFFSixLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUM7WUFDbEMsS0FBSyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBRTNGLE9BQU87b0JBQ0wsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFNO29CQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsS0FBSztvQkFDN0MsTUFBTSxFQUFFLGNBQWMsQ0FBQyxTQUFTO2lCQUNqQyxDQUFDO1lBQ0osQ0FBQztZQUVELEtBQUssYUFBYSxDQUFDLFFBQVE7Z0JBQ3pCLE9BQU87b0JBQ0wsUUFBUSxFQUFFLEdBQUc7b0JBQ2IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGFBQWE7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYTtvQkFDOUIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxjQUFjO29CQUNyQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUk7aUJBQ25CLENBQUM7WUFFSixLQUFLLGFBQWEsQ0FBQyxJQUFJO2dCQUNyQixPQUFPO29CQUNMLFFBQVEsRUFBRSxDQUFDO29CQUNYLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhO29CQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWE7b0JBQzlCLE1BQU0sRUFBRSxjQUFjLENBQUMsY0FBYztpQkFDdEMsQ0FBQztZQUNKO2dCQUNFLE9BQU87b0JBQ0wsUUFBUSxFQUFFLENBQUM7b0JBQ1gsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUM5QixNQUFNLEVBQUUsY0FBYyxDQUFDLFlBQVk7b0JBQ25DLE9BQU8sRUFBRSxhQUFhO2lCQUN2QixDQUFDO1FBQ04sQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUk7YUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUM7WUFDVCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFTLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVhVcGxvYWRSZXNwb25zZSwgQVhVcGxvYWRTdGF0dXMgfSBmcm9tICcuL25ldHdvcmsudHlwZXMnOyAvLyBFbnN1cmUgY29ycmVjdCBpbXBvcnQgcGF0aFxuXG5leHBvcnQgY2xhc3MgQVhVcGxvYWRUYXNrPFQ+IHtcbiAgcHJpdmF0ZSBjYW5jZWxTaWduYWwgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgZXZlbnRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFVwbG9hZFJlc3BvbnNlPFQ+Pih7XG4gICAgcHJvZ3Jlc3M6IDAsXG4gICAgYnl0ZXNUcmFuc2ZlcnJlZDogMCxcbiAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUsXG4gICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5TdGFydGluZ1VwbG9hZCxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVxdWVzdDogSHR0cFJlcXVlc3Q8VD4sXG4gICAgcHJpdmF0ZSB0b3RhbEZpbGVTaXplOiBudW1iZXIsXG4gICkge31cblxuICBwcml2YXRlIGhhbmRsZUV2ZW50KGV2ZW50OiBIdHRwRXZlbnQ8YW55PiwgZmFpbGVkTWVzc2FnZT86IHN0cmluZyk6IEFYVXBsb2FkUmVzcG9uc2U8VD4ge1xuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2VIZWFkZXI6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZ3Jlc3M6IDAsXG4gICAgICAgICAgYnl0ZXNUcmFuc2ZlcnJlZDogMCxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUsXG4gICAgICAgICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5TdGFydGluZ1VwbG9hZCxcbiAgICAgICAgfTtcblxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6IHtcbiAgICAgICAgY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gKHRoaXMudG90YWxGaWxlU2l6ZSB8fCBldmVudC50b3RhbCkpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZ3Jlc3M6IHBlcmNlbnREb25lLFxuICAgICAgICAgIGJ5dGVzVHJhbnNmZXJyZWQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUgfHwgZXZlbnQudG90YWwsXG4gICAgICAgICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5VcGxvYWRpbmcsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9ncmVzczogMTAwLFxuICAgICAgICAgIGJ5dGVzVHJhbnNmZXJyZWQ6IHRoaXMudG90YWxGaWxlU2l6ZSxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUsXG4gICAgICAgICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5VcGxvYWRDb21wbGV0ZSxcbiAgICAgICAgICByZXN1bHQ6IGV2ZW50LmJvZHksXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5Vc2VyOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2dyZXNzOiAwLFxuICAgICAgICAgIGJ5dGVzVHJhbnNmZXJyZWQ6IHRoaXMudG90YWxGaWxlU2l6ZSxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUsXG4gICAgICAgICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5VcGxvYWRDYW5jZWxlZCxcbiAgICAgICAgfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZ3Jlc3M6IDAsXG4gICAgICAgICAgYnl0ZXNUcmFuc2ZlcnJlZDogMCxcbiAgICAgICAgICB0b3RhbEJ5dGVzOiB0aGlzLnRvdGFsRmlsZVNpemUsXG4gICAgICAgICAgc3RhdHVzOiBBWFVwbG9hZFN0YXR1cy5VcGxvYWRGYWlsZWQsXG4gICAgICAgICAgbWVzc2FnZTogZmFpbGVkTWVzc2FnZSxcbiAgICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWxTaWduYWwubmV4dCgpO1xuICAgIHRoaXMuY2FuY2VsU2lnbmFsLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLmh0dHBcbiAgICAgIC5yZXF1ZXN0KHRoaXMucmVxdWVzdClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbmNlbFNpZ25hbCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnRzLm5leHQodGhpcy5oYW5kbGVFdmVudCh7IHR5cGU6IC0xIH0gYXMgYW55LCBlcnJvci5zdGF0dXNUZXh0KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnRzLm5leHQodGhpcy5oYW5kbGVFdmVudChldmVudCkpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { isBrowser } from '@acorex/core/platform';\nimport { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { fromEvent, map, merge, startWith } from 'rxjs';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\nimport * as i0 from \"@angular/core\";\nexport class AXNetworkService {\n constructor() {\n this.http = inject(HttpClient);\n this._status = signal(true, ...(ngDevMode ? [{ debugName: \"_status\" }] : []));\n this.status = this._status.asReadonly();\n if (isBrowser()) {\n // Only subscribe to these events if on the browser platform\n const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));\n const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));\n merge(onlineEvent, offlineEvent)\n .pipe(startWith(navigator.onLine))\n .subscribe((c) => {\n this._status.set(c);\n });\n }\n }\n // Unified method handling both types of inputs\n upload(arg1, arg2) {\n let request;\n let totalFilesSize = 0;\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json',\n });\n }\n else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json',\n });\n }\n else {\n throw new Error('Invalid arguments for upload method.');\n }\n return new AXUploadTask(this.http, request, totalFilesSize);\n }\n // Unified method handling both types of inputs\n download(arg) {\n let request;\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n }\n else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n const events = this.http.request(request);\n return new AXDownloadTask(events);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXNetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXNetworkService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXNetworkService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9uZXR3b3JrL3NyYy9saWIvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCO1FBTlEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQixZQUFPLEdBQUcsTUFBTSxDQUFVLElBQUksbURBQUMsQ0FBQztRQUV4QixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUdqRCxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsNERBQTREO1lBQzVELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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LEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgbWVyZ2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhEb3dubG9hZFRhc2sgfSBmcm9tICcuL2Rvd25sb2FkLXRhc2snO1xuaW1wb3J0IHsgQVhVcGxvYWRUYXNrIH0gZnJvbSAnLi91cGxvYWQtdGFzayc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhOZXR3b3JrU2VydmljZSB7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBwcml2YXRlIF9zdGF0dXMgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXR1cyA9IHRoaXMuX3N0YXR1cy5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICAvLyBPbmx5IHN1YnNjcmliZSB0byB0aGVzZSBldmVudHMgaWYgb24gdGhlIGJyb3dzZXIgcGxhdGZvcm1cbiAgICAgIGNvbnN0IG9ubGluZUV2ZW50ID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICAgIGNvbnN0IG9mZmxpbmVFdmVudCA9IGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcblxuICAgICAgbWVyZ2Uob25saW5lRXZlbnQsIG9mZmxpbmVFdmVudClcbiAgICAgICAgLnBpcGUoc3RhcnRXaXRoKG5hdmlnYXRvci5vbkxpbmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RhdHVzLnNldChjKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxvYWQgc2lnbmF0dXJlc1xuICB1cGxvYWQ8VD4odXJsOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSk6IEFYVXBsb2FkVGFzazxUPjtcbiAgdXBsb2FkPFQ+KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBBWFVwbG9hZFRhc2s8VD47XG5cbiAgLy8gVW5pZmllZCBtZXRob2QgaGFuZGxpbmcgYm90aCB0eXBlcyBvZiBpbnB1dHNcbiAgdXBsb2FkPFQ+KGFyZzE6IHN0cmluZyB8IEh0dHBSZXF1ZXN0PGFueT4sIGFyZzI/OiBGb3JtRGF0YSk6IEFYVXBsb2FkVGFzazxUPiB7XG4gICAgbGV0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT47XG4gICAgbGV0IHRvdGFsRmlsZXNTaXplID0gMDtcblxuICAgIGlmICh0eXBlb2YgYXJnMSA9PT0gJ3N0cmluZycgJiYgYXJnMiBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdG90YWwgZmlsZSBzaXplXG4gICAgICBhcmcyLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICB0b3RhbEZpbGVzU2l6ZSArPSB2YWx1ZS5zaXplO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCBhcmcxLCBhcmcyLCB7XG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoYXJnMSBpbnN0YW5jZW9mIEh0dHBSZXF1ZXN0KSB7XG4gICAgICBpZiAoYXJnMS5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRvdGFsIGZpbGUgc2l6ZVxuICAgICAgICBhcmcxLmJvZHkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICB0b3RhbEZpbGVzU2l6ZSArPSB2YWx1ZS5zaXplO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXF1ZXN0ID0gYXJnMS5jbG9uZSh7XG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICByZXNwb25zZVR5cGU6IGFyZzEucmVzcG9uc2VUeXBlIHx8ICdqc29uJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnRzIGZvciB1cGxvYWQgbWV0aG9kLicpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgQVhVcGxvYWRUYXNrPFQ+KHRoaXMuaHR0cCwgcmVxdWVzdCwgdG90YWxGaWxlc1NpemUpO1xuICB9XG5cbiAgLy8gT3ZlcmxvYWQgc2lnbmF0dXJlc1xuICBkb3dubG9hZCh1cmw6IHN0cmluZyk6IEFYRG93bmxvYWRUYXNrO1xuICBkb3dubG9hZChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxCbG9iPik6IEFYRG93bmxvYWRUYXNrO1xuXG4gIC8vIFVuaWZpZWQgbWV0aG9kIGhhbmRsaW5nIGJvdGggdHlwZXMgb2YgaW5wdXRzXG4gIGRvd25sb2FkKGFyZzogc3RyaW5nIHwgSHR0cFJlcXVlc3Q8QmxvYj4pOiBBWERvd25sb2FkVGFzayB7XG4gICAgbGV0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PEJsb2I+O1xuXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KCdHRVQnLCBhcmcsIHtcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoYXJnLm1ldGhvZCwgYXJnLnVybCwgYXJnLmJvZHksIHtcbiAgICAgICAgLi4uYXJnLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudHMgPSB0aGlzLmh0dHAucmVxdWVzdDxCbG9iPihyZXF1ZXN0KTtcbiAgICByZXR1cm4gbmV3IEFYRG93bmxvYWRUYXNrKGV2ZW50cyk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtbmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbmV0d29yay9zcmMvYWNvcmV4LWNvcmUtbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["map"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-network.mjs","sources":["../../../../packages/core/network/src/lib/network.types.ts","../../../../packages/core/network/src/lib/download-task.ts","../../../../packages/core/network/src/lib/upload-task.ts","../../../../packages/core/network/src/lib/network.service.ts","../../../../packages/core/network/src/acorex-core-network.ts"],"sourcesContent":["export enum AXUploadStatus {\n Uploading = 'Uploading...',\n UploadComplete = 'Upload complete',\n StartingUpload = 'Starting upload',\n UploadFailed = 'Upload failed',\n UploadCanceled = 'Upload Canceled',\n}\n\nexport type AXUploadResponse<T> = {\n progress: number;\n bytesTransferred: number;\n totalBytes: number;\n status: AXUploadStatus;\n result?: T;\n message?: string;\n};\n\nexport enum AXDownloadStatus {\n Downloading = 'Downloading...',\n DownloadComplete = 'Download complete',\n StartingDownload = 'Starting download',\n DownloadFailed = 'Download failed',\n}\n\nexport type AXDownloadResponse = {\n progress: number;\n bytesReceived: number;\n totalBytes: number;\n status: AXDownloadStatus;\n data?: Blob; // or any appropriate type based on your specific use case\n};\n","import { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { AXDownloadResponse, AXDownloadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXDownloadTask {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<any>>) {}\n\n get events(): Observable<AXDownloadResponse> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map((event) => this.handleEvent(event)),\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXDownloadResponse {\n switch (event.type) {\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body,\n };\n\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AXUploadResponse, AXUploadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXUploadTask<T> {\n private cancelSignal = new Subject<void>();\n public events = new BehaviorSubject<AXUploadResponse<T>>({\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n });\n\n constructor(\n private http: HttpClient,\n private request: HttpRequest<T>,\n private totalFileSize: number,\n ) {}\n\n private handleEvent(event: HttpEvent<any>, failedMessage?: string): AXUploadResponse<T> {\n switch (event.type) {\n case HttpEventType.Sent:\n case HttpEventType.ResponseHeader:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n };\n\n case HttpEventType.UploadProgress:\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (this.totalFileSize || event.total));\n\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize || event.total,\n status: AXUploadStatus.Uploading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body,\n };\n\n case HttpEventType.User:\n return {\n progress: 0,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadCanceled,\n };\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadFailed,\n message: failedMessage,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n\n start() {\n this.http\n .request(this.request)\n .pipe(takeUntil(this.cancelSignal))\n .subscribe({\n error: (error) => {\n this.events.next(this.handleEvent({ type: -1 } as any, error.statusText));\n },\n next: (event) => {\n this.events.next(this.handleEvent(event));\n },\n });\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { fromEvent, map, merge, startWith } from 'rxjs';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\n\n@Injectable({ providedIn: 'root' })\nexport class AXNetworkService {\n private http = inject(HttpClient);\n\n private _status = signal<boolean>(true);\n\n public readonly status = this._status.asReadonly();\n\n constructor() {\n if (isBrowser()) {\n // Only subscribe to these events if on the browser platform\n const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));\n const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));\n\n merge(onlineEvent, offlineEvent)\n .pipe(startWith(navigator.onLine))\n .subscribe((c) => {\n this._status.set(c);\n });\n }\n }\n\n // Overload signatures\n upload<T>(url: string, formData: FormData): AXUploadTask<T>;\n upload<T>(request: HttpRequest<any>): AXUploadTask<T>;\n\n // Unified method handling both types of inputs\n upload<T>(arg1: string | HttpRequest<any>, arg2?: FormData): AXUploadTask<T> {\n let request: HttpRequest<any>;\n let totalFilesSize = 0;\n\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json',\n });\n } else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json',\n });\n } else {\n throw new Error('Invalid arguments for upload method.');\n }\n\n return new AXUploadTask<T>(this.http, request, totalFilesSize);\n }\n\n // Overload signatures\n download(url: string): AXDownloadTask;\n download(request: HttpRequest<Blob>): AXDownloadTask;\n\n // Unified method handling both types of inputs\n download(arg: string | HttpRequest<Blob>): AXDownloadTask {\n let request: HttpRequest<Blob>;\n\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n } else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n\n const events = this.http.request<Blob>(request);\n return new AXDownloadTask(events);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":";;;;;;;IAAY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,cAA0B;AAC1B,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AAClC,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AAClC,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;AAC9B,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AACpC,CAAC,EANW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;IAiBd;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,aAAA,CAAA,GAAA,gBAA8B;AAC9B,IAAA,gBAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,gBAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,gBAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AACpC,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;MCZf,cAAc,CAAA;AAGzB,IAAA,WAAA,CAAoB,UAAsC,EAAA;QAAtC,IAAA,CAAA,UAAU,GAAV,UAAU;AAFtB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;IAEmB;AAE7D,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5B,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACxC;IACH;AAEQ,IAAA,WAAW,CAAC,KAAqB,EAAA;AACvC,QAAA,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,aAAa,CAAC,gBAAgB,EAAE;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpF,OAAO;AACL,oBAAA,QAAQ,EAAE,WAAW;oBACrB,aAAa,EAAE,KAAK,CAAC,MAAM;AAC3B,oBAAA,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;oBAC5B,MAAM,EAAE,gBAAgB,CAAC,WAAW;iBACrC;YACH;YAEA,KAAK,aAAa,CAAC,QAAQ;gBACzB,OAAO;AACL,oBAAA,QAAQ,EAAE,GAAG;AACb,oBAAA,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;AAC9B,oBAAA,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oBAC3B,MAAM,EAAE,gBAAgB,CAAC,gBAAgB;oBACzC,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;AAEH,YAAA;gBACE,OAAO;AACL,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,gBAAgB,CAAC,gBAAgB;iBAC1C;;IAEP;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC9B;AACD;;MC/CY,YAAY,CAAA;AASvB,IAAA,WAAA,CACU,IAAgB,EAChB,OAAuB,EACvB,aAAqB,EAAA;QAFrB,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,aAAa,GAAb,aAAa;AAXf,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;QACnC,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAsB;AACvD,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,aAAa;YAC9B,MAAM,EAAE,cAAc,CAAC,cAAc;AACtC,SAAA,CAAC;IAMC;IAEK,WAAW,CAAC,KAAqB,EAAE,aAAsB,EAAA;AAC/D,QAAA,QAAQ,KAAK,CAAC,IAAI;YAChB,KAAK,aAAa,CAAC,IAAI;YACvB,KAAK,aAAa,CAAC,cAAc;gBAC/B,OAAO;AACL,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,gBAAgB,EAAE,CAAC;oBACnB,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,MAAM,EAAE,cAAc,CAAC,cAAc;iBACtC;YAEH,KAAK,aAAa,CAAC,cAAc;AACjC,YAAA,KAAK,aAAa,CAAC,gBAAgB,EAAE;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE1F,OAAO;AACL,oBAAA,QAAQ,EAAE,WAAW;oBACrB,gBAAgB,EAAE,KAAK,CAAC,MAAM;AAC9B,oBAAA,UAAU,EAAE,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK;oBAC7C,MAAM,EAAE,cAAc,CAAC,SAAS;iBACjC;YACH;YAEA,KAAK,aAAa,CAAC,QAAQ;gBACzB,OAAO;AACL,oBAAA,QAAQ,EAAE,GAAG;oBACb,gBAAgB,EAAE,IAAI,CAAC,aAAa;oBACpC,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,MAAM,EAAE,cAAc,CAAC,cAAc;oBACrC,MAAM,EAAE,KAAK,CAAC,IAAI;iBACnB;YAEH,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO;AACL,oBAAA,QAAQ,EAAE,CAAC;oBACX,gBAAgB,EAAE,IAAI,CAAC,aAAa;oBACpC,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,MAAM,EAAE,cAAc,CAAC,cAAc;iBACtC;AACH,YAAA;gBACE,OAAO;AACL,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,gBAAgB,EAAE,CAAC;oBACnB,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,MAAM,EAAE,cAAc,CAAC,YAAY;AACnC,oBAAA,OAAO,EAAE,aAAa;iBACvB;;IAEP;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC9B;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC,IAAI,CAAC,OAAO;AACpB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;AACjC,aAAA,SAAS,CAAC;AACT,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3E,CAAC;AACD,YAAA,IAAI,EAAE,CAAC,KAAK,KAAI;AACd,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;AACF,SAAA,CAAC;IACN;AACD;;MChFY,gBAAgB,CAAA;AAO3B,IAAA,WAAA,GAAA;AANQ,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAU,IAAI,mDAAC;AAEvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QAGhD,IAAI,SAAS,EAAE,EAAE;;AAEf,YAAA,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AACrE,YAAA,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAACA,KAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAExE,YAAA,KAAK,CAAC,WAAW,EAAE,YAAY;AAC5B,iBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;AAChC,iBAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACf,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,YAAA,CAAC,CAAC;QACN;IACF;;IAOA,MAAM,CAAI,IAA+B,EAAE,IAAe,EAAA;AACxD,QAAA,IAAI,OAAyB;QAC7B,IAAI,cAAc,GAAG,CAAC;QAEtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,QAAQ,EAAE;;AAExD,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACrB,gBAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,oBAAA,cAAc,IAAI,KAAK,CAAC,IAAI;gBAC9B;AACF,YAAA,CAAC,CAAC;YACF,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5C,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA,CAAC;QACJ;AAAO,aAAA,IAAI,IAAI,YAAY,WAAW,EAAE;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAE;;gBAEjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC1B,oBAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,wBAAA,cAAc,IAAI,KAAK,CAAC,IAAI;oBAC9B;AACF,gBAAA,CAAC,CAAC;YACJ;AACA,YAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AACnB,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,MAAM;AAC1C,aAAA,CAAC;QACJ;aAAO;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;QACzD;QAEA,OAAO,IAAI,YAAY,CAAI,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC;IAChE;;AAOA,IAAA,QAAQ,CAAC,GAA+B,EAAA;AACtC,QAAA,IAAI,OAA0B;AAE9B,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,YAAA,OAAO,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;AACpC,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA,CAAC;QACJ;aAAO;AACL,YAAA,OAAO,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;AACvD,gBAAA,GAAG,GAAG;AACN,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA,CAAC;QACJ;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO,OAAO,CAAC;AAC/C,QAAA,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC;IACnC;+GApFW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;;4FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACPlC;;AAEG;;;;"}
@@ -30,10 +30,10 @@ class AXSafePipe {
30
30
  throw new Error(`Invalid safe type specified: ${type}`);
31
31
  }
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXSafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXSafePipe, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSafePipe, decorators: [{
37
37
  type: Pipe,
38
38
  args: [{
39
39
  name: 'safe',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-pipes.mjs","sources":["../tmp-esm2022/pipes/lib/safe/safe.pipe.js","../tmp-esm2022/pipes/acorex-core-pipes.js"],"sourcesContent":["import { Pipe, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport * as i0 from \"@angular/core\";\nexport class AXSafePipe {\n constructor() {\n this.sanitizer = inject(DomSanitizer);\n }\n /**\n * Marks values as safe for Angular binding via DomSanitizer.\n * @param value The value to sanitize.\n * @param type One of 'html' | 'style' | 'script' | 'url' | 'resourceUrl'.\n * @throws Error when type is invalid.\n */\n transform(value, type) {\n if (value == null || value == undefined || value == '')\n return '';\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(`Invalid safe type specified: ${type}`);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXSafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: AXSafePipe, isStandalone: true, name: \"safe\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXSafePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'safe',\n pure: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9waXBlcy9zcmMvbGliL3NhZmUvc2FmZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUE2RCxNQUFNLDJCQUEyQixDQUFDOztBQU1wSCxNQUFNLE9BQU8sVUFBVTtJQUp2QjtRQUtZLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0EwQjVDO0lBeEJDOzs7OztPQUtHO0lBRUksU0FBUyxDQUFDLEtBQVUsRUFBRSxJQUFZO1FBQ3ZDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pELEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsS0FBSyxhQUFhO2dCQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQ7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQzs4R0ExQlUsVUFBVTs0R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVTY3JpcHQsIFNhZmVTdHlsZSwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlJyxcbiAgcHVyZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTYWZlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcm90ZWN0ZWQgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgLyoqXG4gICAqIE1hcmtzIHZhbHVlcyBhcyBzYWZlIGZvciBBbmd1bGFyIGJpbmRpbmcgdmlhIERvbVNhbml0aXplci5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzYW5pdGl6ZS5cbiAgICogQHBhcmFtIHR5cGUgT25lIG9mICdodG1sJyB8ICdzdHlsZScgfCAnc2NyaXB0JyB8ICd1cmwnIHwgJ3Jlc291cmNlVXJsJy5cbiAgICogQHRocm93cyBFcnJvciB3aGVuIHR5cGUgaXMgaW52YWxpZC5cbiAgICovXG5cbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogYW55LCB0eXBlOiBzdHJpbmcpOiBTYWZlSHRtbCB8IFNhZmVTdHlsZSB8IFNhZmVTY3JpcHQgfCBTYWZlVXJsIHwgU2FmZVJlc291cmNlVXJsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSB1bmRlZmluZWQgfHwgdmFsdWUgPT0gJycpIHJldHVybiAnJztcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xuICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U2NyaXB0KHZhbHVlKTtcbiAgICAgIGNhc2UgJ3VybCc6XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHZhbHVlKTtcbiAgICAgIGNhc2UgJ3Jlc291cmNlVXJsJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FmZSB0eXBlIHNwZWNpZmllZDogJHt0eXBlfWApO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtcGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3BpcGVzL3NyYy9hY29yZXgtY29yZS1waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;AAGO,MAAM,UAAU,CAAC;AACxB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;AAC3B,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE;AAC9D,YAAY,OAAO,EAAE;AACrB,QAAQ,QAAQ,IAAI;AACpB,YAAY,KAAK,MAAM;AACvB,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACpE,YAAY,KAAK,OAAO;AACxB,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACrE,YAAY,KAAK,QAAQ;AACzB,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACtE,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACnE,YAAY,KAAK,aAAa;AAC9B,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC;AAC3E,YAAY;AACZ,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC;AACvE;AACA,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;AACvK,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,IAAI;AAC9B,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACxCb;AACA;AACA;;;;"}
1
+ {"version":3,"file":"acorex-core-pipes.mjs","sources":["../../../../packages/core/pipes/src/lib/safe/safe.pipe.ts","../../../../packages/core/pipes/src/acorex-core-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe',\n pure: true,\n})\nexport class AXSafePipe implements PipeTransform {\n protected sanitizer = inject(DomSanitizer);\n\n /**\n * Marks values as safe for Angular binding via DomSanitizer.\n * @param value The value to sanitize.\n * @param type One of 'html' | 'style' | 'script' | 'url' | 'resourceUrl'.\n * @throws Error when type is invalid.\n */\n\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n if (value == null || value == undefined || value == '') return '';\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(`Invalid safe type specified: ${type}`);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,UAAU,CAAA;AAJvB,IAAA,WAAA,GAAA;AAKY,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AA0B3C,IAAA;AAxBC;;;;;AAKG;IAEI,SAAS,CAAC,KAAU,EAAE,IAAY,EAAA;QACvC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE;AAAE,YAAA,OAAO,EAAE;QACjE,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACtD,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACvD,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACxD,YAAA,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACrD,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC;AAC7D,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC;;IAE7D;+GA1BW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACND;;AAEG;;;;"}
@@ -93,7 +93,7 @@ class AXPlatformEvent {
93
93
  class AXPlatform {
94
94
  isDark() {
95
95
  if (isPlatformBrowser(this.platformID)) {
96
- return this.document.documentElement.classList.contains('ax-dark');
96
+ return this.document.documentElement.classList.contains('dark');
97
97
  }
98
98
  return false;
99
99
  }
@@ -136,7 +136,7 @@ class AXPlatform {
136
136
  switchLightMode() {
137
137
  if (isPlatformBrowser(this.platformID)) {
138
138
  const _html = this.document.getElementsByTagName('html')[0];
139
- _html.classList.remove('ax-dark');
139
+ _html.classList.remove('dark');
140
140
  }
141
141
  this.#setSystemTheme('light');
142
142
  return 'light';
@@ -148,7 +148,7 @@ class AXPlatform {
148
148
  switchDarkMode() {
149
149
  if (isPlatformBrowser(this.platformID)) {
150
150
  const _html = this.document.getElementsByTagName('html')[0];
151
- _html.classList.add('ax-dark');
151
+ _html.classList.add('dark');
152
152
  }
153
153
  this.#setSystemTheme('dark');
154
154
  return 'dark';
@@ -157,12 +157,12 @@ class AXPlatform {
157
157
  if (isPlatformBrowser(this.platformID)) {
158
158
  if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
159
159
  const _html = this.document.getElementsByTagName('html')[0];
160
- _html.classList.add('ax-dark');
160
+ _html.classList.add('dark');
161
161
  this.#setSystemTheme('system-dark');
162
162
  }
163
163
  else {
164
164
  const _html = this.document.getElementsByTagName('html')[0];
165
- _html.classList.remove('ax-dark');
165
+ _html.classList.remove('dark');
166
166
  this.#setSystemTheme('system-light');
167
167
  }
168
168
  }
@@ -225,11 +225,11 @@ class AXPlatform {
225
225
  if (isPlatformBrowser(this.platformID)) {
226
226
  if (themeMode === 'dark') {
227
227
  const _html = this.document.getElementsByTagName('html')[0];
228
- _html.classList.add('ax-dark');
228
+ _html.classList.add('dark');
229
229
  }
230
230
  else {
231
231
  const _html = this.document.getElementsByTagName('html')[0];
232
- _html.classList.remove('ax-dark');
232
+ _html.classList.remove('dark');
233
233
  }
234
234
  }
235
235
  }
@@ -316,10 +316,10 @@ class AXPlatform {
316
316
  });
317
317
  }
318
318
  }
319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
320
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
320
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
321
321
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXPlatform, decorators: [{
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPlatform, decorators: [{
323
323
  type: Injectable,
324
324
  args: [{
325
325
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../tmp-esm2022/platform/lib/platform.service.js","../tmp-esm2022/platform/acorex-core-platform.js"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport const isChrome = (win) => testUserAgent(win, /Chrome/i);\nexport const isFirefox = (win) => testUserAgent(win, /Firefox/i);\nexport const isEdge = (win) => testUserAgent(win, /Edge/i);\nexport const isSafari = (win) => testUserAgent(win, /Safari/i);\nexport const isOpera = (win) => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\nexport const isMSIE = (win) => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\nexport const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nexport const isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nexport const isIphone = (win) => testUserAgent(win, /iPhone/i);\nexport const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nexport const isAndroid = (win) => testUserAgent(win, /android|sink/i);\nexport const isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nexport const isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\nexport const isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\nexport const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nexport const isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');\nexport const isDesktop = (win) => !isMobile(win);\nexport const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nexport const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nexport const isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\nexport const isElectron = (win) => testUserAgent(win, /electron/i);\nexport const isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);\nexport const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nexport const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');\nexport const isServer = new Function('try {return this===global;}catch(e){return false;}');\nexport const matchMedia = (win, query) => {\n return win.matchMedia(query).matches;\n};\nexport const isSMScreen = (win) => matchMedia(win, '(max-width: 640px)');\nexport const isMDScreen = (win) => matchMedia(win, '(max-width: 768px)');\nexport const isLGScreen = (win) => matchMedia(win, '(max-width: 1024px)');\nexport const isXLScreen = (win) => matchMedia(win, '(max-width: 1280px)');\nexport const is2XLScreen = (win) => matchMedia(win, '(max-width: 1536px)');\nexport const is3XLScreen = (win) => matchMedia(win, '(max-width: 1920px)');\nexport const is4XLScreen = (win) => matchMedia(win, '(max-width: 2560px)');\nexport const PLATFORMS_MAP = {\n Android: isAndroid,\n iOS: isIOS,\n Desktop: isDesktop,\n Mobile: isMobile,\n Touch: isTouch,\n Chrome: isChrome,\n Firefox: isFirefox,\n Safari: isSafari,\n Edge: isEdge,\n Opera: isOpera,\n Hybrid: isHybrid,\n PWA: isPWA,\n Electron: isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n '2XL': is2XLScreen,\n '3XL': is3XLScreen,\n '4XL': is4XLScreen,\n};\nexport class AXPlatformEvent {\n}\nexport class AXPlatform {\n isDark() {\n if (isPlatformBrowser(this.platformID)) {\n return this.document.documentElement.classList.contains('ax-dark');\n }\n return false;\n }\n isRtl() {\n if (isPlatformBrowser(this.platformID)) {\n return (this.document.dir == 'rtl' || this.document.body.dir == 'rtl' || this.document.body.style.direction == 'rtl');\n }\n return false;\n }\n isLandscape() {\n if (isPlatformBrowser(this.platformID)) {\n return window.innerHeight < window.innerWidth;\n }\n return true;\n }\n isPortrate() {\n return !this.isLandscape();\n }\n /**\n * Checks whether the current environment matches the given platform/browser/technology/screen size keyword.\n *\n * @param name - One of AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes.\n */\n is(name) {\n if (isPlatformBrowser(this.platformID)) {\n return PLATFORMS_MAP[name](window) || false;\n }\n else {\n return false;\n }\n }\n get screenSize() {\n return (['SM', 'MD', 'LG', 'XL', '2XL', '3XL', '4XL'].find((name) => PLATFORMS_MAP[name](window) == true) ||\n '5XL');\n }\n /**\n * Switches to light mode and persists it.\n * @returns 'light'\n */\n switchLightMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n this.#setSystemTheme('light');\n return 'light';\n }\n /**\n * Switches to dark mode and persists it.\n * @returns 'dark'\n */\n switchDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n }\n this.#setSystemTheme('dark');\n return 'dark';\n }\n switchSystemMode() {\n if (isPlatformBrowser(this.platformID)) {\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n this.#setSystemTheme('system-dark');\n }\n else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n this.#setSystemTheme('system-light');\n }\n }\n }\n #setSystemTheme(themeMode) {\n this.themeMode$.next(themeMode);\n localStorage.setItem('AX_THEME_MODE', themeMode);\n this.themeMode.set(themeMode);\n }\n /**\n * Reads persisted theme preference and applies it (returns the effective mode).\n * @returns AXThemeMode\n */\n autoDetectThemeMode() {\n const mode = localStorage.getItem('AX_THEME_MODE') || 'system';\n switch (mode) {\n case 'light':\n this.switchLightMode();\n return 'light';\n case 'dark':\n this.switchDarkMode();\n return 'dark';\n default:\n this.switchSystemMode();\n return 'system';\n }\n }\n /**\n * Sets theme mode explicitly and persists it.\n * @param mode - Desired theme mode.\n */\n setThemeMode(mode) {\n switch (mode) {\n case 'light':\n this.switchLightMode();\n break;\n case 'dark':\n this.switchDarkMode();\n break;\n default:\n this.switchSystemMode();\n break;\n }\n }\n setFullHeightRatio() {\n if (isPlatformBrowser(this.platformID)) {\n try {\n this.document\n .querySelector(':root')\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n }\n catch (error) {\n console.error(error);\n }\n }\n }\n autoSystemModeDetection(event) {\n if (this.themeMode() === 'system') {\n const themeMode = event.matches ? 'dark' : 'light';\n if (isPlatformBrowser(this.platformID)) {\n if (themeMode === 'dark') {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n }\n else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n }\n }\n }\n constructor() {\n this.resize = new Subject();\n this.directionChange = new Subject();\n this.click = new Subject();\n this.scroll = new Subject();\n this.themeMode$ = new BehaviorSubject('system');\n this.themeMode = signal('system', ...(ngDevMode ? [{ debugName: \"themeMode\" }] : []));\n this.document = inject(DOCUMENT);\n this.platformID = inject(PLATFORM_ID);\n if (isPlatformBrowser(this.platformID)) {\n this.detectDarkMode();\n this.detectOnResize();\n this.detectClickEvent();\n this.detectScrollEvent();\n this.setFullHeightRatio();\n this.detectDocumentDirectionChange();\n }\n }\n detectDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n // fromEvent(UIEvent)(window,'')\n if (window?.matchMedia('(prefers-color-scheme: dark)').matches) {\n window?.matchMedia('(prefers-color-scheme: dark)')?.addEventListener('change', (event) => {\n // Detect System color mode\n this.autoSystemModeDetection(event);\n });\n }\n }\n }\n detectOnResize() {\n if (isPlatformBrowser(this.platformID)) {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this,\n });\n //\n this.setFullHeightRatio();\n });\n }\n }\n detectClickEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener('click', (e) => {\n this.click.next({\n nativeEvent: e,\n source: this,\n });\n }, true);\n }\n }\n detectScrollEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener('scroll', (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this,\n });\n }, true);\n }\n }\n detectDocumentDirectionChange() {\n if (isPlatformBrowser(this.platformID)) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n // Detect Direction Change\n if (mutation.attributeName === 'dir') {\n const dir = this.document.documentElement.getAttribute('dir');\n this.directionChange.next({ source: this, nativeEvent: null, data: dir });\n }\n });\n });\n observer.observe(document.documentElement, {\n attributes: true,\n childList: false,\n characterData: false,\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXPlatform, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvcGxhdGZvcm0vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBU3BFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU1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IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBBWFRoZW1lTW9kZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnc3lzdGVtJyB8ICdzeXN0ZW0tZGFyaycgfCAnc3lzdGVtLWxpZ2h0JztcbmV4cG9ydCB0eXBlIEFYUGxhdGZvcm1zID0gJ0FuZHJvaWQnIHwgJ0Rlc2t0b3AnIHwgJ2lPUycgfCAnTW9iaWxlJztcbmV4cG9ydCB0eXBlIEFYQnJvd3NlcnMgPSAnQ2hyb21lJyB8ICdTYWZhcmknIHwgJ0VkZ2UnIHwgJ0ZpcmVmb3gnIHwgJ09wZXJhJyB8ICdNU0lFJztcbmV4cG9ydCB0eXBlIEFYVGVjaG5vbG9naWVzID0gJ1BXQScgfCAnSHlicmlkJyB8ICdFbGVjdHJvbic7XG5cbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCcgfCAnM1hMJyB8ICc0WEwnIHwgJzVYTCc7XG5cbmV4cG9ydCBjb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XG5cbmV4cG9ydCBjb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcblxuZXhwb3J0IGNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xuXG5leHBvcnQgY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xuXG5leHBvcnQgY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9PcGVyYS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL09QUi9pKTtcblxuZXhwb3J0IGNvbnN0IGlzTVNJRSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9NU0lFL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvVHJpZGVudC9pKTtcblxuZXhwb3J0IGNvbnN0IGlzTW9iaWxlV2ViID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiBpc01vYmlsZSh3aW4pICYmICFpc0h5YnJpZCh3aW4pO1xuXG5leHBvcnQgY29uc3QgaXNJcGFkID0gKHdpbjogV2luZG93KSA9PiB7XG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcbiAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvaVBhZC9pKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gaU9TIDEzK1xuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNNb2JpbGUod2luKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzSXBob25lID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZS9pKTtcblxuZXhwb3J0IGNvbnN0IGlzSU9TID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xuXG5leHBvcnQgY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcblxuZXhwb3J0IGNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICByZXR1cm4gaXNBbmRyb2lkKHdpbikgJiYgIXRlc3RVc2VyQWdlbnQod2luLCAvbW9iaWxlL2kpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGhhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XG4gIGNvbnN0IHNtYWxsZXN0ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7XG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICByZXR1cm4gc21hbGxlc3QgPiAzOTAgJiYgc21hbGxlc3QgPCA1MjAgJiYgbGFyZ2VzdCA+IDYyMCAmJiBsYXJnZXN0IDwgODAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XG4gIGNvbnN0IHdpZHRoID0gd2luLmlubmVyV2lkdGg7XG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcbiAgY29uc3QgbGFyZ2VzdCA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpO1xuXG4gIHJldHVybiBpc0lwYWQod2luKSB8fCBpc0FuZHJvaWRUYWJsZXQod2luKSB8fCAoc21hbGxlc3QgPiA0NjAgJiYgc21hbGxlc3QgPCA4MjAgJiYgbGFyZ2VzdCA+IDc4MCAmJiBsYXJnZXN0IDwgMTQwMCk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNNb2JpbGUgPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcbmV4cG9ydCBjb25zdCBpc1RvdWNoID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhhbnktcG9pbnRlcjpjb2Fyc2UpJyk7XG5cbmV4cG9ydCBjb25zdCBpc0Rlc2t0b3AgPSAod2luOiBXaW5kb3cpID0+ICFpc01vYmlsZSh3aW4pO1xuXG5leHBvcnQgY29uc3QgaXNIeWJyaWQgPSAod2luOiBXaW5kb3cpID0+IGlzQ29yZG92YSh3aW4pIHx8IGlzQ2FwYWNpdG9yTmF0aXZlKHdpbik7XG5cbmV4cG9ydCBjb25zdCBpc0NvcmRvdmEgPSAod2luOiBhbnkpOiBib29sZWFuID0+ICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xuXG5leHBvcnQgY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgY2FwYWNpdG9yID0gd2luWydDYXBhY2l0b3InXTtcbiAgcmV0dXJuICEhKGNhcGFjaXRvciAmJiBjYXBhY2l0b3IuaXNOYXRpdmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XG5cbmV4cG9ydCBjb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cbiAgISEod2luLm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyB8fCAod2luLm5hdmlnYXRvciBhcyBhbnkpLnN0YW5kYWxvbmUpO1xuXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PiBleHByLnRlc3Qod2luLm5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG5leHBvcnQgY29uc3QgaXNCcm93c2VyID0gbmV3IEZ1bmN0aW9uKCd0cnkge3JldHVybiB0aGlzPT09d2luZG93O31jYXRjaChlKXsgcmV0dXJuIGZhbHNlO30nKTtcbmV4cG9ydCBjb25zdCBpc1NlcnZlciA9IG5ldyBGdW5jdGlvbigndHJ5IHtyZXR1cm4gdGhpcz09PWdsb2JhbDt9Y2F0Y2goZSl7cmV0dXJuIGZhbHNlO30nKTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoTWVkaWEgPSAod2luOiBXaW5kb3csIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XG5leHBvcnQgY29uc3QgaXNNRFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiA3NjhweCknKTtcbmV4cG9ydCBjb25zdCBpc0xHU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEwMjRweCknKTtcbmV4cG9ydCBjb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcbmV4cG9ydCBjb25zdCBpczJYTFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxNTM2cHgpJyk7XG5leHBvcnQgY29uc3QgaXMzWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTkyMHB4KScpO1xuZXhwb3J0IGNvbnN0IGlzNFhMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDI1NjBweCknKTtcblxuZXhwb3J0IGNvbnN0IFBMQVRGT1JNU19NQVA6IGFueSA9IHtcbiAgQW5kcm9pZDogaXNBbmRyb2lkLFxuICBpT1M6IGlzSU9TLFxuICBEZXNrdG9wOiBpc0Rlc2t0b3AsXG4gIE1vYmlsZTogaXNNb2JpbGUsXG4gIFRvdWNoOiBpc1RvdWNoLFxuICBDaHJvbWU6IGlzQ2hyb21lLFxuICBGaXJlZm94OiBpc0ZpcmVmb3gsXG4gIFNhZmFyaTogaXNTYWZhcmksXG4gIEVkZ2U6IGlzRWRnZSxcbiAgT3BlcmE6IGlzT3BlcmEsXG4gIEh5YnJpZDogaXNIeWJyaWQsXG4gIFBXQTogaXNQV0EsXG4gIEVsZWN0cm9uOiBpc0VsZWN0cm9uLFxuICBTTTogaXNTTVNjcmVlbixcbiAgTUQ6IGlzTURTY3JlZW4sXG4gIExHOiBpc0xHU2NyZWVuLFxuICBYTDogaXNYTFNjcmVlbixcbiAgJzJYTCc6IGlzMlhMU2NyZWVuLFxuICAnM1hMJzogaXMzWExTY3JlZW4sXG4gICc0WEwnOiBpczRYTFNjcmVlbixcbn07XG5cbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQ8VCBleHRlbmRzIEV2ZW50ID0gRXZlbnQ+IHtcbiAgbmF0aXZlRXZlbnQhOiBUO1xuICBzb3VyY2UhOiBBWFBsYXRmb3JtO1xuICBkYXRhPzogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQbGF0Zm9ybSB7XG4gIHJlc2l6ZTogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xuICBkaXJlY3Rpb25DaGFuZ2U6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcbiAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKTtcbiAgc2Nyb2xsOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XG4gIHRoZW1lTW9kZSQ6IEJlaGF2aW9yU3ViamVjdDxBWFRoZW1lTW9kZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYVGhlbWVNb2RlPignc3lzdGVtJyk7XG4gIHRoZW1lTW9kZSA9IHNpZ25hbDxBWFRoZW1lTW9kZT4oJ3N5c3RlbScpO1xuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICBpc0RhcmsoKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWRhcmsnKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNSdGwoKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZGlyID09ICdydGwnIHx8IHRoaXMuZG9jdW1lbnQuYm9keS5kaXIgPT0gJ3J0bCcgfHwgdGhpcy5kb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9PSAncnRsJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNMYW5kc2NhcGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgPCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpc1BvcnRyYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0xhbmRzY2FwZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IGVudmlyb25tZW50IG1hdGNoZXMgdGhlIGdpdmVuIHBsYXRmb3JtL2Jyb3dzZXIvdGVjaG5vbG9neS9zY3JlZW4gc2l6ZSBrZXl3b3JkLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIE9uZSBvZiBBWFBsYXRmb3JtcyB8IEFYQnJvd3NlcnMgfCBBWFRlY2hub2xvZ2llcyB8IEFYU2NyZWVuU2l6ZXMuXG4gICAqL1xuXG4gIGlzKG5hbWU6IEFYUGxhdGZvcm1zIHwgQVhCcm93c2VycyB8IEFYVGVjaG5vbG9naWVzIHwgQVhTY3JlZW5TaXplcyk6IGJvb2xlYW4ge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICByZXR1cm4gUExBVEZPUk1TX01BUFtuYW1lXSh3aW5kb3cpIHx8IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNjcmVlblNpemUoKTogQVhTY3JlZW5TaXplcyB7XG4gICAgcmV0dXJuIChbJ1NNJywgJ01EJywgJ0xHJywgJ1hMJywgJzJYTCcsICczWEwnLCAnNFhMJ10uZmluZCgobmFtZSkgPT4gUExBVEZPUk1TX01BUFtuYW1lXSh3aW5kb3cpID09IHRydWUpIHx8XG4gICAgICAnNVhMJykgYXMgQVhTY3JlZW5TaXplcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTd2l0Y2hlcyB0byBsaWdodCBtb2RlIGFuZCBwZXJzaXN0cyBpdC5cbiAgICogQHJldHVybnMgJ2xpZ2h0J1xuICAgKi9cblxuICBzd2l0Y2hMaWdodE1vZGUoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IF9odG1sID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgICAgX2h0bWwuY2xhc3NMaXN0LnJlbW92ZSgnYXgtZGFyaycpO1xuICAgIH1cbiAgICB0aGlzLiNzZXRTeXN0ZW1UaGVtZSgnbGlnaHQnKTtcbiAgICByZXR1cm4gJ2xpZ2h0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTd2l0Y2hlcyB0byBkYXJrIG1vZGUgYW5kIHBlcnNpc3RzIGl0LlxuICAgKiBAcmV0dXJucyAnZGFyaydcbiAgICovXG5cbiAgc3dpdGNoRGFya01vZGUoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGNvbnN0IF9odG1sID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgICAgX2h0bWwuY2xhc3NMaXN0LmFkZCgnYXgtZGFyaycpO1xuICAgIH1cbiAgICB0aGlzLiNzZXRTeXN0ZW1UaGVtZSgnZGFyaycpO1xuICAgIHJldHVybiAnZGFyayc7XG4gIH1cblxuICBzd2l0Y2hTeXN0ZW1Nb2RlKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IF9odG1sID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgICAgICBfaHRtbC5jbGFzc0xpc3QuYWRkKCdheC1kYXJrJyk7XG4gICAgICAgIHRoaXMuI3NldFN5c3RlbVRoZW1lKCdzeXN0ZW0tZGFyaycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgX2h0bWwgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07XG4gICAgICAgIF9odG1sLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWRhcmsnKTtcbiAgICAgICAgdGhpcy4jc2V0U3lzdGVtVGhlbWUoJ3N5c3RlbS1saWdodCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZXRTeXN0ZW1UaGVtZSh0aGVtZU1vZGU6IEFYVGhlbWVNb2RlKSB7XG4gICAgdGhpcy50aGVtZU1vZGUkLm5leHQodGhlbWVNb2RlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnQVhfVEhFTUVfTU9ERScsIHRoZW1lTW9kZSk7XG4gICAgdGhpcy50aGVtZU1vZGUuc2V0KHRoZW1lTW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgcGVyc2lzdGVkIHRoZW1lIHByZWZlcmVuY2UgYW5kIGFwcGxpZXMgaXQgKHJldHVybnMgdGhlIGVmZmVjdGl2ZSBtb2RlKS5cbiAgICogQHJldHVybnMgQVhUaGVtZU1vZGVcbiAgICovXG5cbiAgYXV0b0RldGVjdFRoZW1lTW9kZSgpIHtcbiAgICBjb25zdCBtb2RlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FYX1RIRU1FX01PREUnKSB8fCAnc3lzdGVtJztcbiAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgIGNhc2UgJ2xpZ2h0JzpcbiAgICAgICAgdGhpcy5zd2l0Y2hMaWdodE1vZGUoKTtcbiAgICAgICAgcmV0dXJuICdsaWdodCc7XG5cbiAgICAgIGNhc2UgJ2RhcmsnOlxuICAgICAgICB0aGlzLnN3aXRjaERhcmtNb2RlKCk7XG4gICAgICAgIHJldHVybiAnZGFyayc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuc3dpdGNoU3lzdGVtTW9kZSgpO1xuICAgICAgICByZXR1cm4gJ3N5c3RlbSc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlbWUgbW9kZSBleHBsaWNpdGx5IGFuZCBwZXJzaXN0cyBpdC5cbiAgICogQHBhcmFtIG1vZGUgLSBEZXNpcmVkIHRoZW1lIG1vZGUuXG4gICAqL1xuXG4gIHNldFRoZW1lTW9kZShtb2RlOiBBWFRoZW1lTW9kZSkge1xuICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgY2FzZSAnbGlnaHQnOlxuICAgICAgICB0aGlzLnN3aXRjaExpZ2h0TW9kZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2RhcmsnOlxuICAgICAgICB0aGlzLnN3aXRjaERhcmtNb2RlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5zd2l0Y2hTeXN0ZW1Nb2RlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RnVsbEhlaWdodFJhdGlvKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmRvY3VtZW50XG4gICAgICAgICAgLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCc6cm9vdCcpXG4gICAgICAgICAgPy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC12aCcsIHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCArICdweCcpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhdXRvU3lzdGVtTW9kZURldGVjdGlvbihldmVudCkge1xuICAgIGlmICh0aGlzLnRoZW1lTW9kZSgpID09PSAnc3lzdGVtJykge1xuICAgICAgY29uc3QgdGhlbWVNb2RlID0gZXZlbnQubWF0Y2hlcyA/ICdkYXJrJyA6ICdsaWdodCc7XG5cbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGlmICh0aGVtZU1vZGUgPT09ICdkYXJrJykge1xuICAgICAgICAgIGNvbnN0IF9odG1sID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgICAgICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBfaHRtbCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcbiAgICAgICAgICBfaHRtbC5jbGFzc0xpc3QucmVtb3ZlKCdheC1kYXJrJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5kZXRlY3REYXJrTW9kZSgpO1xuICAgICAgdGhpcy5kZXRlY3RPblJlc2l6ZSgpO1xuICAgICAgdGhpcy5kZXRlY3RDbGlja0V2ZW50KCk7XG4gICAgICB0aGlzLmRldGVjdFNjcm9sbEV2ZW50KCk7XG4gICAgICB0aGlzLnNldEZ1bGxIZWlnaHRSYXRpbygpO1xuICAgICAgdGhpcy5kZXRlY3REb2N1bWVudERpcmVjdGlvbkNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0RGFya01vZGUoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIC8vIGZyb21FdmVudChVSUV2ZW50KSh3aW5kb3csJycpXG4gICAgICBpZiAod2luZG93Py5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlcykge1xuICAgICAgICB3aW5kb3c/Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKT8uYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gRGV0ZWN0IFN5c3RlbSBjb2xvciBtb2RlXG4gICAgICAgICAgdGhpcy5hdXRvU3lzdGVtTW9kZURldGVjdGlvbihldmVudCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0T25SZXNpemUoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICB0aGlzLnNldEZ1bGxIZWlnaHRSYXRpbygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGVjdENsaWNrRXZlbnQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmNsaWNrLm5leHQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0U2Nyb2xsRXZlbnQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ3Njcm9sbCcsXG4gICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zY3JvbGwubmV4dCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3REb2N1bWVudERpcmVjdGlvbkNoYW5nZSgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgICAgIC8vIERldGVjdCBEaXJlY3Rpb24gQ2hhbmdlXG4gICAgICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdkaXInKSB7XG4gICAgICAgICAgICBjb25zdCBkaXIgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RpcicpO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2UubmV4dCh7IHNvdXJjZTogdGhpcywgbmF0aXZlRXZlbnQ6IG51bGwsIGRhdGE6IGRpciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBjaGlsZExpc3Q6IGZhbHNlLFxuICAgICAgICBjaGFyYWN0ZXJEYXRhOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtcGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3BsYXRmb3JtL3NyYy9hY29yZXgtY29yZS1wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../packages/core/platform/src/lib/platform.service.ts","../../../../packages/core/platform/src/acorex-core-platform.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nexport type AXThemeMode = 'light' | 'dark' | 'system' | 'system-dark' | 'system-light';\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\nexport type AXBrowsers = 'Chrome' | 'Safari' | 'Edge' | 'Firefox' | 'Opera' | 'MSIE';\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\n\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL' | '3XL' | '4XL' | '5XL';\n\nexport const isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\n\nexport const isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\n\nexport const isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\n\nexport const isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\n\nexport const isOpera = (win: Window): boolean => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\n\nexport const isMSIE = (win: Window): boolean => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\n\nexport const isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\n\nexport const isIpad = (win: Window) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n\n return false;\n};\n\nexport const isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\n\nexport const isIOS = (win: Window) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\n\nexport const isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\n\nexport const isAndroidTablet = (win: Window) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\n\nexport const isPhablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\n\nexport const isTablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\n\nexport const isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\nexport const isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\n\nexport const isDesktop = (win: Window) => !isMobile(win);\n\nexport const isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\n\nexport const isCordova = (win: any): boolean => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\n\nexport const isCapacitorNative = (win: any): boolean => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\n\nexport const isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\n\nexport const isPWA = (win: Window): boolean =>\n !!(win.matchMedia('(display-mode: standalone)').matches || (win.navigator as any).standalone);\n\nexport const testUserAgent = (win: Window, expr: RegExp) => expr.test(win.navigator.userAgent);\n\nexport const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');\nexport const isServer = new Function('try {return this===global;}catch(e){return false;}');\n\nexport const matchMedia = (win: Window, query: string): boolean => {\n return win.matchMedia(query).matches;\n};\n\nexport const isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\nexport const isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\nexport const isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\nexport const isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\nexport const is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\nexport const is3XLScreen = (win: Window) => matchMedia(win, '(max-width: 1920px)');\nexport const is4XLScreen = (win: Window) => matchMedia(win, '(max-width: 2560px)');\n\nexport const PLATFORMS_MAP: any = {\n Android: isAndroid,\n iOS: isIOS,\n Desktop: isDesktop,\n Mobile: isMobile,\n Touch: isTouch,\n Chrome: isChrome,\n Firefox: isFirefox,\n Safari: isSafari,\n Edge: isEdge,\n Opera: isOpera,\n Hybrid: isHybrid,\n PWA: isPWA,\n Electron: isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n '2XL': is2XLScreen,\n '3XL': is3XLScreen,\n '4XL': is4XLScreen,\n};\n\nexport class AXPlatformEvent<T extends Event = Event> {\n nativeEvent!: T;\n source!: AXPlatform;\n data?: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPlatform {\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n directionChange: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n themeMode$: BehaviorSubject<AXThemeMode> = new BehaviorSubject<AXThemeMode>('system');\n themeMode = signal<AXThemeMode>('system');\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n isDark(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return this.document.documentElement.classList.contains('dark');\n }\n return false;\n }\n\n isRtl(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return (\n this.document.dir == 'rtl' || this.document.body.dir == 'rtl' || this.document.body.style.direction == 'rtl'\n );\n }\n return false;\n }\n\n isLandscape(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return window.innerHeight < window.innerWidth;\n }\n return true;\n }\n\n isPortrate(): boolean {\n return !this.isLandscape();\n }\n\n /**\n * Checks whether the current environment matches the given platform/browser/technology/screen size keyword.\n *\n * @param name - One of AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes.\n */\n\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return PLATFORMS_MAP[name](window) || false;\n } else {\n return false;\n }\n }\n\n get screenSize(): AXScreenSizes {\n return (['SM', 'MD', 'LG', 'XL', '2XL', '3XL', '4XL'].find((name) => PLATFORMS_MAP[name](window) == true) ||\n '5XL') as AXScreenSizes;\n }\n\n /**\n * Switches to light mode and persists it.\n * @returns 'light'\n */\n\n switchLightMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('dark');\n }\n this.#setSystemTheme('light');\n return 'light';\n }\n\n /**\n * Switches to dark mode and persists it.\n * @returns 'dark'\n */\n\n switchDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('dark');\n }\n this.#setSystemTheme('dark');\n return 'dark';\n }\n\n switchSystemMode() {\n if (isPlatformBrowser(this.platformID)) {\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('dark');\n this.#setSystemTheme('system-dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('dark');\n this.#setSystemTheme('system-light');\n }\n }\n }\n\n #setSystemTheme(themeMode: AXThemeMode) {\n this.themeMode$.next(themeMode);\n localStorage.setItem('AX_THEME_MODE', themeMode);\n this.themeMode.set(themeMode);\n }\n\n /**\n * Reads persisted theme preference and applies it (returns the effective mode).\n * @returns AXThemeMode\n */\n\n autoDetectThemeMode() {\n const mode = localStorage.getItem('AX_THEME_MODE') || 'system';\n switch (mode) {\n case 'light':\n this.switchLightMode();\n return 'light';\n\n case 'dark':\n this.switchDarkMode();\n return 'dark';\n\n default:\n this.switchSystemMode();\n return 'system';\n }\n }\n\n /**\n * Sets theme mode explicitly and persists it.\n * @param mode - Desired theme mode.\n */\n\n setThemeMode(mode: AXThemeMode) {\n switch (mode) {\n case 'light':\n this.switchLightMode();\n break;\n case 'dark':\n this.switchDarkMode();\n break;\n default:\n this.switchSystemMode();\n break;\n }\n }\n\n private setFullHeightRatio() {\n if (isPlatformBrowser(this.platformID)) {\n try {\n this.document\n .querySelector<HTMLElement>(':root')\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n private autoSystemModeDetection(event) {\n if (this.themeMode() === 'system') {\n const themeMode = event.matches ? 'dark' : 'light';\n\n if (isPlatformBrowser(this.platformID)) {\n if (themeMode === 'dark') {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('dark');\n }\n }\n }\n }\n\n constructor() {\n if (isPlatformBrowser(this.platformID)) {\n this.detectDarkMode();\n this.detectOnResize();\n this.detectClickEvent();\n this.detectScrollEvent();\n this.setFullHeightRatio();\n this.detectDocumentDirectionChange();\n }\n }\n\n private detectDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n // fromEvent(UIEvent)(window,'')\n if (window?.matchMedia('(prefers-color-scheme: dark)').matches) {\n window?.matchMedia('(prefers-color-scheme: dark)')?.addEventListener('change', (event) => {\n // Detect System color mode\n this.autoSystemModeDetection(event);\n });\n }\n }\n }\n\n private detectOnResize() {\n if (isPlatformBrowser(this.platformID)) {\n fromEvent<UIEvent>(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this,\n });\n //\n this.setFullHeightRatio();\n });\n }\n }\n\n private detectClickEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'click',\n (e) => {\n this.click.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectScrollEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'scroll',\n (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectDocumentDirectionChange() {\n if (isPlatformBrowser(this.platformID)) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n // Detect Direction Change\n if (mutation.attributeName === 'dir') {\n const dir = this.document.documentElement.getAttribute('dir');\n this.directionChange.next({ source: this, nativeEvent: null, data: dir });\n }\n });\n });\n observer.observe(document.documentElement, {\n attributes: true,\n childList: false,\n characterData: false,\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -188,10 +188,10 @@ class AXCookieStorageService {
188
188
  }
189
189
  }
190
190
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCookieStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
192
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCookieStorageService }); }
191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCookieStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
192
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCookieStorageService }); }
193
193
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCookieStorageService, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCookieStorageService, decorators: [{
195
195
  type: Injectable
196
196
  }], ctorParameters: () => [] });
197
197
 
@@ -271,10 +271,10 @@ class AXLocalStorageService {
271
271
  return null;
272
272
  }
273
273
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXLocalStorageService }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocalStorageService }); }
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXLocalStorageService, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLocalStorageService, decorators: [{
278
278
  type: Injectable
279
279
  }] });
280
280
 
@@ -303,10 +303,10 @@ class AXSessionStorageService {
303
303
  return sessionStorage.removeItem(key);
304
304
  }
305
305
  }
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
307
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXSessionStorageService }); }
306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
307
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSessionStorageService }); }
308
308
  }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXSessionStorageService, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXSessionStorageService, decorators: [{
310
310
  type: Injectable
311
311
  }] });
312
312