@acorex/core 7.17.14 → 7.17.16

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 (58) hide show
  1. package/dateTime/lib/datetime-formatter.d.ts +15 -0
  2. package/dateTime/lib/datetime.module.d.ts +4 -1
  3. package/esm2022/config/lib/configs.service.mjs +3 -3
  4. package/esm2022/dateTime/lib/calendar.service.mjs +3 -3
  5. package/esm2022/dateTime/lib/datetime-formatter.mjs +109 -0
  6. package/esm2022/dateTime/lib/datetime.module.mjs +13 -27
  7. package/esm2022/dateTime/lib/datetime.pipe.mjs +3 -3
  8. package/esm2022/events/lib/event.service.mjs +3 -3
  9. package/esm2022/file/index.mjs +3 -1
  10. package/esm2022/file/lib/file-size-formatter.mjs +24 -0
  11. package/esm2022/file/lib/file.module.mjs +22 -0
  12. package/esm2022/file/lib/file.service.mjs +8 -5
  13. package/esm2022/format/index.mjs +2 -2
  14. package/esm2022/format/lib/format.config.mjs +2 -3
  15. package/esm2022/format/lib/format.module.mjs +30 -33
  16. package/esm2022/format/lib/format.pipe.mjs +3 -3
  17. package/esm2022/format/lib/format.service.mjs +30 -14
  18. package/esm2022/format/lib/number-formatter.mjs +16 -0
  19. package/esm2022/format/lib/string-formatter.mjs +26 -0
  20. package/esm2022/image/lib/image.service.mjs +3 -3
  21. package/esm2022/pipes/lib/safe/safe.pipe.mjs +3 -3
  22. package/esm2022/platform/lib/platform.service.mjs +3 -3
  23. package/esm2022/storage/cookie-storage.service.mjs +3 -3
  24. package/esm2022/storage/local-storage.service.mjs +3 -3
  25. package/esm2022/storage/session-storage.service.mjs +3 -3
  26. package/esm2022/translation/lib/translation.module.mjs +4 -4
  27. package/esm2022/translation/lib/translator.pipe.mjs +3 -3
  28. package/esm2022/utils/lib/auto-unsubscribe.mjs +3 -3
  29. package/fesm2022/acorex-core-config.mjs +3 -3
  30. package/fesm2022/acorex-core-dateTime.mjs +109 -35
  31. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  32. package/fesm2022/acorex-core-events.mjs +3 -3
  33. package/fesm2022/acorex-core-file.mjs +50 -7
  34. package/fesm2022/acorex-core-file.mjs.map +1 -1
  35. package/fesm2022/acorex-core-format.mjs +59 -48
  36. package/fesm2022/acorex-core-format.mjs.map +1 -1
  37. package/fesm2022/acorex-core-image.mjs +3 -3
  38. package/fesm2022/acorex-core-pipes.mjs +3 -3
  39. package/fesm2022/acorex-core-platform.mjs +3 -3
  40. package/fesm2022/acorex-core-storage.mjs +9 -9
  41. package/fesm2022/acorex-core-translation.mjs +7 -7
  42. package/fesm2022/acorex-core-utils.mjs +3 -3
  43. package/file/index.d.ts +2 -0
  44. package/file/lib/file-size-formatter.d.ts +8 -0
  45. package/file/lib/file.module.d.ts +8 -0
  46. package/format/index.d.ts +1 -1
  47. package/format/lib/format.config.d.ts +1 -3
  48. package/format/lib/format.module.d.ts +7 -0
  49. package/format/lib/format.service.d.ts +10 -3
  50. package/format/lib/number-formatter.d.ts +5 -0
  51. package/format/lib/string-formatter.d.ts +5 -0
  52. package/package.json +3 -3
  53. package/dateTime/lib/datetime-format.plugin.d.ts +0 -9
  54. package/esm2022/dateTime/lib/datetime-format.plugin.mjs +0 -21
  55. package/esm2022/format/lib/number-format.plugin.mjs +0 -16
  56. package/esm2022/format/lib/string-format.plugin.mjs +0 -26
  57. package/format/lib/number-format.plugin.d.ts +0 -5
  58. package/format/lib/string-format.plugin.d.ts +0 -5
@@ -0,0 +1,16 @@
1
+ export class AXNumberFormatter {
2
+ get name() {
3
+ return 'number';
4
+ }
5
+ format(value, ...args) {
6
+ const formatStr = (args.length ? args[0] : null);
7
+ if (formatStr?.match(/^.{2}-.{2}$/)) {
8
+ return Number(value).toLocaleString(formatStr);
9
+ }
10
+ if (formatStr?.match(/^D\d+$/)) {
11
+ return String(value).padStart(Number(formatStr.slice(1)), '0');
12
+ }
13
+ return String(value);
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9udW1iZXItZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsSUFBSSxJQUFJO1FBQ04sT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFjLEVBQUUsR0FBRyxJQUFlO1FBQ3ZDLE1BQU0sU0FBUyxHQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQVcsQ0FBQztRQUNuRSxJQUFJLFNBQVMsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdC5jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgQVhOdW1iZXJGb3JtYXR0ZXIgaW1wbGVtZW50cyBBWEZvcm1hdHRlciB7XG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdudW1iZXInO1xuICB9XG5cbiAgZm9ybWF0KHZhbHVlOiB1bmtub3duLCAuLi5hcmdzOiB1bmtub3duW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvcm1hdFN0cjogc3RyaW5nID0gKGFyZ3MubGVuZ3RoID8gYXJnc1swXSA6IG51bGwpIGFzIHN0cmluZztcbiAgICBpZiAoZm9ybWF0U3RyPy5tYXRjaCgvXi57Mn0tLnsyfSQvKSkge1xuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkudG9Mb2NhbGVTdHJpbmcoZm9ybWF0U3RyKTtcbiAgICB9XG4gICAgaWYgKGZvcm1hdFN0cj8ubWF0Y2goL15EXFxkKyQvKSkge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkucGFkU3RhcnQoTnVtYmVyKGZvcm1hdFN0ci5zbGljZSgxKSksICcwJyk7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ export class AXStringFormatter {
2
+ get name() {
3
+ return 'string';
4
+ }
5
+ format(value, ...args) {
6
+ if (typeof value != 'string')
7
+ return String(value);
8
+ const data = (args.length ? args[0] : null);
9
+ const result = value.replace(/{{\s*([^}]+)\s*}}/g, (match, variable) => {
10
+ // if (variable?.match(/^\w+:\w+:\w+$/g)) {
11
+ //
12
+ // const formatData = data[variable[0]];
13
+ // const formatType = data[variable[1]];
14
+ // const formatArg = data[variable[2]];
15
+ // const value = this.formatService.format(formatData, formatType, formatArg);
16
+ // return value ?? match;
17
+ // }
18
+ // else {
19
+ const value = data[variable];
20
+ return value ?? match;
21
+ // }
22
+ });
23
+ return result;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZvcm1hdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9mb3JtYXQvc3JjL2xpYi9zdHJpbmctZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsSUFBSSxJQUFJO1FBQ04sT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFjLEVBQUUsR0FBRyxJQUFlO1FBQ3ZDLElBQUksT0FBTyxLQUFLLElBQUksUUFBUTtZQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sSUFBSSxHQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQVcsQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3JFLDJDQUEyQztZQUMzQyxFQUFFO1lBQ0YsNENBQTRDO1lBQzVDLDRDQUE0QztZQUM1QywyQ0FBMkM7WUFDM0Msa0ZBQWtGO1lBQ2xGLDZCQUE2QjtZQUM3QixJQUFJO1lBQ0osU0FBUztZQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQVcsQ0FBQztZQUN2QyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUM7WUFDdEIsSUFBSTtRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQVFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdC5jb25maWcnO1xuXG5leHBvcnQgY2xhc3MgQVhTdHJpbmdGb3JtYXR0ZXIgaW1wbGVtZW50cyBBWEZvcm1hdHRlciB7XG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdzdHJpbmcnO1xuICB9XG5cbiAgZm9ybWF0KHZhbHVlOiB1bmtub3duLCAuLi5hcmdzOiB1bmtub3duW10pOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgIGNvbnN0IGRhdGE6IHN0cmluZyA9IChhcmdzLmxlbmd0aCA/IGFyZ3NbMF0gOiBudWxsKSBhcyBzdHJpbmc7XG4gICAgY29uc3QgcmVzdWx0ID0gdmFsdWUucmVwbGFjZSgve3tcXHMqKFtefV0rKVxccyp9fS9nLCAobWF0Y2gsIHZhcmlhYmxlKSA9PiB7XG4gICAgICAvLyBpZiAodmFyaWFibGU/Lm1hdGNoKC9eXFx3KzpcXHcrOlxcdyskL2cpKSB7XG4gICAgICAvL1xuICAgICAgLy8gICAgIGNvbnN0IGZvcm1hdERhdGEgPSBkYXRhW3ZhcmlhYmxlWzBdXTtcbiAgICAgIC8vICAgICBjb25zdCBmb3JtYXRUeXBlID0gZGF0YVt2YXJpYWJsZVsxXV07XG4gICAgICAvLyAgICAgY29uc3QgZm9ybWF0QXJnID0gZGF0YVt2YXJpYWJsZVsyXV07XG4gICAgICAvLyAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGZvcm1hdERhdGEsIGZvcm1hdFR5cGUsIGZvcm1hdEFyZyk7XG4gICAgICAvLyAgICAgcmV0dXJuIHZhbHVlID8/IG1hdGNoO1xuICAgICAgLy8gfVxuICAgICAgLy8gZWxzZSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGRhdGFbdmFyaWFibGVdIGFzIHN0cmluZztcbiAgICAgIHJldHVybiB2YWx1ZSA/PyBtYXRjaDtcbiAgICAgIC8vIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBmb3JtYXQoaW5wdXRTdHJpbmc6IHN0cmluZywgZGF0YTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gIC8vICAgICByZXR1cm4gaW5wdXRTdHJpbmcucmVwbGFjZSgve3tcXHMqKFtefV0rKVxccyp9fS9nLCAobWF0Y2gsIHZhcmlhYmxlKSA9PiB7XG4gIC8vICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YVt2YXJpYWJsZV07XG4gIC8vICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBtYXRjaDtcbiAgLy8gICAgIH0pO1xuICAvLyAgIH1cbn1cbiJdfQ==
@@ -34,10 +34,10 @@ export class AXImageService {
34
34
  canvas.getContext('2d').drawImage(image, 0, 0, width, height);
35
35
  return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXImageService }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXImageService }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXImageService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXImageService, decorators: [{
41
41
  type: Injectable
42
42
  }] });
43
43
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9pbWFnZS9zcmMvbGliL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGNBQWM7SUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUtaO1FBQ0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxPQUFPLENBQUMsTUFBTSxZQUFZLElBQUksRUFBRTtZQUNsQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxJQUFJLE9BQU8sQ0FBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEQsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUNYO2FBQU07WUFDTCxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN4QjtRQUVELG1CQUFtQjtRQUNuQixNQUFNLE1BQU0sR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEtBQUssR0FBRyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDM0IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNsQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUN6QjtTQUNGO2FBQU07WUFDTCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUM1QixLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQzFCO1NBQ0Y7UUFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDOzhHQXRDVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEltYWdlU2VydmljZSB7XG4gIGFzeW5jIHJlc2l6ZShvcHRpb25zOiB7XG4gICAgbWF4U2l6ZTogbnVtYmVyO1xuICAgIHNvdXJjZTogSFRNTEltYWdlRWxlbWVudCB8IEZpbGU7XG4gICAgdHlwZT86ICdpbWFnZS9wbmcnIHwgJ2ltYWdlL2pwZWcnIHwgJ2ltYWdlL3dlYnAnO1xuICAgIHF1YWxpdHk/OiBudW1iZXI7XG4gIH0pOiBQcm9taXNlPEJsb2I+IHtcbiAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7IHR5cGU6ICdpbWFnZS9wbmcnLCBxdWFsaXR5OiAxIH0sIG9wdGlvbnMpO1xuXG4gICAgbGV0IGltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xuICAgIGlmIChvcHRpb25zLnNvdXJjZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIGNvbnN0IGEgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGEuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChvcHRpb25zLnNvdXJjZSk7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZTxFdmVudD4oKHJlcykgPT4gKGEub25sb2FkID0gcmVzKSk7XG4gICAgICBpbWFnZSA9IGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGltYWdlID0gb3B0aW9ucy5zb3VyY2U7XG4gICAgfVxuXG4gICAgLy8gUmVzaXplIHRoZSBpbWFnZVxuICAgIGNvbnN0IGNhbnZhczogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgbGV0IHdpZHRoID0gaW1hZ2Uud2lkdGg7XG4gICAgbGV0IGhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICBpZiAod2lkdGggPiBoZWlnaHQpIHtcbiAgICAgIGlmICh3aWR0aCA+IG9wdGlvbnMubWF4U2l6ZSkge1xuICAgICAgICBoZWlnaHQgKj0gb3B0aW9ucy5tYXhTaXplIC8gd2lkdGg7XG4gICAgICAgIHdpZHRoID0gb3B0aW9ucy5tYXhTaXplO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaGVpZ2h0ID4gb3B0aW9ucy5tYXhTaXplKSB7XG4gICAgICAgIHdpZHRoICo9IG9wdGlvbnMubWF4U2l6ZSAvIGhlaWdodDtcbiAgICAgICAgaGVpZ2h0ID0gb3B0aW9ucy5tYXhTaXplO1xuICAgICAgfVxuICAgIH1cbiAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcbiAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgIGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgd2lkdGgsIGhlaWdodCk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBjYW52YXMudG9CbG9iKHJlc29sdmUsIG9wdGlvbnMudHlwZSwgb3B0aW9ucy5xdWFsaXR5KSk7XG4gIH1cbn1cbiJdfQ==
@@ -24,10 +24,10 @@ export class AXSafePipe {
24
24
  throw new Error(`Invalid safe type specified: ${type}`);
25
25
  }
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXSafePipe, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXSafePipe, decorators: [{
31
31
  type: Pipe,
32
32
  args: [{
33
33
  name: 'safe',
@@ -208,10 +208,10 @@ export class AXPlatform {
208
208
  // init functions
209
209
  this._setFullHeightRatio();
210
210
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
212
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
212
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
213
213
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXPlatform, decorators: [{
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXPlatform, decorators: [{
215
215
  type: Injectable,
216
216
  args: [{
217
217
  providedIn: 'root',
@@ -180,10 +180,10 @@ export class AXCookieStorageService {
180
180
  }
181
181
  }
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
184
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCookieStorageService }); }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCookieStorageService }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCookieStorageService, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCookieStorageService, decorators: [{
187
187
  type: Injectable
188
188
  }], ctorParameters: () => [{ type: Document, decorators: [{
189
189
  type: Inject,
@@ -13,10 +13,10 @@ export class AXLocalStorageService {
13
13
  removeItem(key) {
14
14
  return localStorage.removeItem(key);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXLocalStorageService }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXLocalStorageService }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXLocalStorageService, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXLocalStorageService, decorators: [{
20
20
  type: Injectable
21
21
  }] });
22
22
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3N0b3JhZ2Uvc3JjL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLEdBQUcsQ0FBYyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxHQUFHLENBQWMsR0FBVyxFQUFFLEtBQVE7UUFDcEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBZlUscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFN0b3JhZ2UgfSBmcm9tICcuL3N0b3JhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTG9jYWxTdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIEFYU3RvcmFnZSB7XG4gIGdldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpIHx8ICcnKTtcbiAgfVxuXG4gIHNldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxufVxuIl19
@@ -13,10 +13,10 @@ export class AXSessionStorageService {
13
13
  removeItem(key) {
14
14
  return sessionStorage.removeItem(key);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXSessionStorageService }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXSessionStorageService }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXSessionStorageService, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXSessionStorageService, decorators: [{
20
20
  type: Injectable
21
21
  }] });
22
22
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3RvcmFnZS9zcmMvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxHQUFHLENBQWMsR0FBVztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsR0FBRyxDQUFjLEdBQVcsRUFBRSxLQUFRO1FBQ3BDLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQWZVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhTdG9yYWdlIH0gZnJvbSAnLi9zdG9yYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFNlc3Npb25TdG9yYWdlU2VydmljZSBpbXBsZW1lbnRzIEFYU3RvcmFnZSB7XG4gIGdldDxUID0gdW5rbm93bj4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGtleSkgfHwgJycpO1xuICB9XG5cbiAgc2V0PFQgPSB1bmtub3duPihrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG59XG4iXX0=
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { AXTranslatorPipe } from './translator.pipe';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AXTranslationModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXTranslationModule }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTranslationModule }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXTranslationModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTranslationModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [],
@@ -5,10 +5,10 @@ export class AXTranslatorPipe {
5
5
  transform(value, arg1, arg2) {
6
6
  return AXTranslator.get(value, arg1, arg2);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTranslatorPipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{ name: 'trans', pure: true }]
14
14
  }] });
@@ -27,10 +27,10 @@ export class AXUnsubscriber {
27
27
  ngOnDestroy() {
28
28
  this.unsubscribe();
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUnsubscriber, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUnsubscriber }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUnsubscriber, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUnsubscriber }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUnsubscriber, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUnsubscriber, decorators: [{
34
34
  type: Injectable
35
35
  }] });
36
36
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by11bnN1YnNjcmliZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91dGlscy9zcmMvbGliL2F1dG8tdW5zdWJzY3JpYmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdEQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLFVBQVUsV0FBVztRQUMxQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUMvQyxXQUFXLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRztZQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QixJQUFJLE9BQU8sUUFBUSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7b0JBQzVDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDeEI7YUFDRjtZQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFHRCxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVtQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVqQyxxQkFBZ0IsR0FBRyxDQUFJLE1BQXFCLEVBQWlCLEVBQUUsQ0FDN0UsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7S0FVMUM7SUFSUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FiVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gQVhBdXRvVW5zdWJzY3JpYmVyKCkge1xuICByZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yKSB7XG4gICAgY29uc3Qgb3JpZyA9IGNvbnN0cnVjdG9yLnByb3RvdHlwZS5uZ09uRGVzdHJveTtcbiAgICBjb25zdHJ1Y3Rvci5wcm90b3R5cGUubmdPbkRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcykge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXNbcHJvcF07XG4gICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHkuc3Vic2NyaWJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcHJvcGVydHkudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3JpZy5hcHBseSgpO1xuICAgIH07XG4gIH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFVuc3Vic2NyaWJlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveSA9IDxUPihvcmlnaW46IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+XG4gICAgb3JpZ2luLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSk7XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
@@ -23,10 +23,10 @@ class AXConfigService {
23
23
  const v2 = this.injector.get(providerToken);
24
24
  return get(v2, parts[parts.length - 1], defaultValue);
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXConfigService, providedIn: 'root' }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXConfigService, providedIn: 'root' }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXConfigService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXConfigService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{ providedIn: 'root' }]
32
32
  }], ctorParameters: () => [{ type: i0.Injector }] });
@@ -2,8 +2,9 @@ import * as i0 from '@angular/core';
2
2
  import { inject, InjectionToken, Injectable, Pipe, NgModule } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
5
- import { orderBy, set } from 'lodash-es';
6
- import { AX_FORMAT_PLUGING } from '@acorex/core/format';
5
+ import { orderBy, set, isNil } from 'lodash-es';
6
+ import * as i1 from '@acorex/core/format';
7
+ import { AXFormatModule } from '@acorex/core/format';
7
8
 
8
9
  class AXCalendar {
9
10
  /**
@@ -1002,15 +1003,15 @@ class AXCalendarService {
1002
1003
  const date = value instanceof AXDateTime ? value.date : value;
1003
1004
  return new AXDateTime(date, calendar);
1004
1005
  }
1005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1006
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCalendarService, providedIn: 'root' }); }
1006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1007
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCalendarService, providedIn: 'root' }); }
1007
1008
  }
1008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXCalendarService, decorators: [{
1009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXCalendarService, decorators: [{
1009
1010
  type: Injectable,
1010
1011
  args: [{ providedIn: 'root' }]
1011
1012
  }], ctorParameters: () => [] });
1012
1013
 
1013
- class AXDateTimeFormatPlugin {
1014
+ class AXDateTimeFormatter {
1014
1015
  constructor() {
1015
1016
  this.calendarService = inject(AXCalendarService);
1016
1017
  }
@@ -1021,10 +1022,97 @@ class AXDateTimeFormatPlugin {
1021
1022
  const formatStr = (args.length ? args[0] : null);
1022
1023
  return this.calendarService.create(value).format(formatStr);
1023
1024
  }
1024
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeFormatPlugin, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1025
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeFormatPlugin }); }
1025
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1026
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeFormatter }); }
1026
1027
  }
1027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeFormatPlugin, decorators: [{
1028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeFormatter, decorators: [{
1029
+ type: Injectable
1030
+ }] });
1031
+ class AXTimeLeftFormatter {
1032
+ get name() {
1033
+ return 'timeleft';
1034
+ }
1035
+ format(value, ...args) {
1036
+ const milliseconds = Number(value);
1037
+ if (milliseconds === null || isNaN(milliseconds)) {
1038
+ return "Calculating...";
1039
+ }
1040
+ const durationInSeconds = Math.round(milliseconds / 1000);
1041
+ let format = args[0];
1042
+ // Determine the best format if format is null
1043
+ if (isNil(format)) {
1044
+ if (durationInSeconds < 45)
1045
+ format = 's';
1046
+ else if (durationInSeconds < 60 * 45)
1047
+ format = 'm';
1048
+ else if (durationInSeconds < 60 * 60 * 22)
1049
+ format = 'h';
1050
+ else if (durationInSeconds < 60 * 60 * 24 * 26)
1051
+ format = 'd';
1052
+ else if (durationInSeconds < 60 * 60 * 24 * 320)
1053
+ format = 'M';
1054
+ else
1055
+ format = 'y';
1056
+ }
1057
+ // Helper function for zero-padding
1058
+ const pad = (num) => num.toString().padStart(2, '0');
1059
+ switch (format) {
1060
+ case 's':
1061
+ return `${durationInSeconds} seconds left`;
1062
+ case 'ss':
1063
+ return `${pad(durationInSeconds)} seconds left`;
1064
+ case 'm':
1065
+ return `${Math.round(durationInSeconds / 60)} minute${durationInSeconds >= 120 ? 's' : ''} left`;
1066
+ case 'mm':
1067
+ return `${pad(Math.round(durationInSeconds / 60))} minutes left`;
1068
+ case 'h':
1069
+ case 'H':
1070
+ if (durationInSeconds < 60 * 89)
1071
+ return 'an hour left';
1072
+ return `${Math.round(durationInSeconds / 3600)} hour${durationInSeconds >= 60 * 180 ? 's' : ''} left`;
1073
+ case 'hh':
1074
+ case 'HH':
1075
+ if (durationInSeconds < 60 * 89)
1076
+ return '01 hour left';
1077
+ return `${pad(Math.round(durationInSeconds / 3600))} hours left`;
1078
+ case 'd':
1079
+ case 'D':
1080
+ if (durationInSeconds < 60 * 60 * 35)
1081
+ return 'a day left';
1082
+ return `${Math.round(durationInSeconds / (3600 * 24))} day${durationInSeconds >= 60 * 60 * 70 ? 's' : ''} left`;
1083
+ case 'dd':
1084
+ case 'DD':
1085
+ if (durationInSeconds < 60 * 60 * 35)
1086
+ return '01 day left';
1087
+ return `${pad(Math.round(durationInSeconds / (3600 * 24)))} days left`;
1088
+ case 'M':
1089
+ if (durationInSeconds < 60 * 60 * 24 * 45)
1090
+ return 'a month left';
1091
+ return `${Math.round(durationInSeconds / (3600 * 24 * 30))} month${durationInSeconds >= 60 * 60 * 24 * 90 ? 's' : ''} left`;
1092
+ case 'MM':
1093
+ if (durationInSeconds < 60 * 60 * 24 * 45)
1094
+ return '01 month left';
1095
+ return `${pad(Math.round(durationInSeconds / (3600 * 24 * 30)))} months left`;
1096
+ case 'y':
1097
+ case 'Y':
1098
+ if (durationInSeconds < 60 * 60 * 24 * 547)
1099
+ return 'a year left';
1100
+ return `${Math.round(durationInSeconds / (3600 * 24 * 365))} year${durationInSeconds >= 60 * 60 * 24 * 730 ? 's' : ''} left`;
1101
+ case 'yy':
1102
+ case 'YY':
1103
+ case 'yyyy':
1104
+ case 'YYYY':
1105
+ if (durationInSeconds < 60 * 60 * 24 * 547)
1106
+ return '01 year left';
1107
+ return `${pad(Math.round(durationInSeconds / (3600 * 24 * 365)))} years left`;
1108
+ default:
1109
+ return 'Invalid format';
1110
+ }
1111
+ }
1112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTimeLeftFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1113
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTimeLeftFormatter }); }
1114
+ }
1115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXTimeLeftFormatter, decorators: [{
1028
1116
  type: Injectable
1029
1117
  }] });
1030
1118
 
@@ -1048,44 +1136,30 @@ class AXDateTimePipe {
1048
1136
  return val.format(format);
1049
1137
  }
1050
1138
  }
1051
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1052
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" }); }
1139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1140
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimePipe, name: "axDate" }); }
1053
1141
  }
1054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
1142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimePipe, decorators: [{
1055
1143
  type: Pipe,
1056
1144
  args: [{ name: 'axDate' }]
1057
1145
  }] });
1058
1146
 
1059
1147
  class AXDateTimeModule {
1060
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1061
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] }); }
1062
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeModule, providers: [
1063
- AXCalendarService,
1064
- AXDateTimeFormatPlugin,
1065
- {
1066
- provide: AX_FORMAT_PLUGING,
1067
- multi: true,
1068
- useClass: AXDateTimeFormatPlugin,
1069
- },
1070
- ] }); }
1148
+ constructor(service) {
1149
+ service.register(new AXDateTimeFormatter(), new AXTimeLeftFormatter());
1150
+ }
1151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeModule, deps: [{ token: i1.AXFormatterRegistryService }], target: i0.ɵɵFactoryTarget.NgModule }); }
1152
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], imports: [AXFormatModule], exports: [AXDateTimePipe] }); }
1153
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeModule, imports: [AXFormatModule] }); }
1071
1154
  }
1072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
1155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXDateTimeModule, decorators: [{
1073
1156
  type: NgModule,
1074
1157
  args: [{
1075
- imports: [],
1158
+ imports: [AXFormatModule],
1076
1159
  exports: [AXDateTimePipe],
1077
1160
  declarations: [AXDateTimePipe],
1078
- providers: [
1079
- AXCalendarService,
1080
- AXDateTimeFormatPlugin,
1081
- {
1082
- provide: AX_FORMAT_PLUGING,
1083
- multi: true,
1084
- useClass: AXDateTimeFormatPlugin,
1085
- },
1086
- ],
1087
1161
  }]
1088
- }] });
1162
+ }], ctorParameters: () => [{ type: i1.AXFormatterRegistryService }] });
1089
1163
 
1090
1164
  /**
1091
1165
  * Generated bundle index. Do not edit.