@wemake4u/form-player-se 1.0.35 → 1.0.37

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 (41) hide show
  1. package/README.md +17 -0
  2. package/THIRD_PARTY_LICENSES.txt +73 -0
  3. package/esm2022/lib/directives/date.directive.mjs +3 -3
  4. package/esm2022/lib/directives/datetime.directive.mjs +199 -0
  5. package/esm2022/lib/directives/tabcontrol.directive.mjs +2 -2
  6. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +26 -12
  7. package/esm2022/lib/dynamic-host/dynamic-host.component.mjs +14 -3
  8. package/esm2022/lib/locale/locale-de.mjs +3 -2
  9. package/esm2022/lib/locale/locale-en.mjs +3 -2
  10. package/esm2022/lib/locale/locale-es.mjs +3 -2
  11. package/esm2022/lib/locale/locale-fr.mjs +3 -2
  12. package/esm2022/lib/locale/locale-it.mjs +3 -2
  13. package/esm2022/lib/locale/locale-pt.mjs +3 -2
  14. package/esm2022/lib/services/autofocus.service.mjs +22 -0
  15. package/esm2022/lib/services/grid.service.mjs +2 -2
  16. package/esm2022/lib/services/validation.service.mjs +30 -3
  17. package/esm2022/lib/utils/date.mjs +59 -0
  18. package/esm2022/lib/utils/focusable.mjs +6 -5
  19. package/fesm2022/wemake4u-form-player-se.mjs +356 -31
  20. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  21. package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +1 -0
  22. package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +1 -0
  23. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  24. package/lib/dialog/dialog.component.d.ts +7 -0
  25. package/lib/directives/date.directive.d.ts +2 -0
  26. package/lib/directives/datetime.directive.d.ts +42 -0
  27. package/lib/dynamic-fields/dynamic-fields.component.d.ts +12 -1
  28. package/lib/dynamic-form/dynamic-form.component.d.ts +7 -0
  29. package/lib/dynamic-host/dynamic-host.component.d.ts +1 -0
  30. package/lib/locale/locale-de.d.ts +1 -0
  31. package/lib/locale/locale-en.d.ts +1 -0
  32. package/lib/locale/locale-es.d.ts +1 -0
  33. package/lib/locale/locale-fr.d.ts +1 -0
  34. package/lib/locale/locale-it.d.ts +1 -0
  35. package/lib/locale/locale-pt.d.ts +1 -0
  36. package/lib/locale/locale.d.ts +7 -0
  37. package/lib/services/autofocus.service.d.ts +8 -0
  38. package/lib/services/validation.service.d.ts +5 -0
  39. package/lib/utils/date.d.ts +6 -0
  40. package/lib/utils/focusable.d.ts +1 -1
  41. package/package.json +2 -1
package/README.md CHANGED
@@ -15,3 +15,20 @@ This library provides a robust implementation of forms using the Sirio Angular L
15
15
  ## Installation
16
16
 
17
17
  Run `npm install @wemake4u/form-player-se` to install package.
18
+
19
+
20
+ ## Third-Party Licenses
21
+
22
+ This project includes the following third-party components:
23
+
24
+ Runtime dependencies (MIT License)
25
+
26
+ tslib — MIT
27
+ feelers — MIT
28
+ feelin — MIT
29
+ marked — MIT
30
+ mime-db — MIT
31
+ sanitize-html — MIT
32
+ vanillajs-datepicker — MIT
33
+
34
+ All listed packages are licensed under MIT License and impose no additional restrictions.
@@ -0,0 +1,73 @@
1
+ Third-Party Licenses for @wemake4u/form-player-se
2
+ =================================================
3
+
4
+ This project includes third-party software components licensed under the
5
+ terms described below.
6
+
7
+ All dependencies listed here are used at runtime and are required by the
8
+ functionality of this package. Unless otherwise stated, each component is
9
+ licensed under the MIT License, which permits use, modification,
10
+ distribution and private/commercial usage.
11
+
12
+ -------------------------------------------------------
13
+ tslib — MIT License
14
+ © Microsoft
15
+ https://github.com/Microsoft/tslib/blob/master/LICENSE.txt
16
+ -------------------------------------------------------
17
+
18
+ -------------------------------------------------------
19
+ @types/mime-db — MIT License
20
+ © DefinitelyTyped contributors
21
+ https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/LICENSE
22
+ -------------------------------------------------------
23
+
24
+ -------------------------------------------------------
25
+ @types/sanitize-html — MIT License
26
+ © DefinitelyTyped contributors
27
+ https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/LICENSE
28
+ -------------------------------------------------------
29
+
30
+ -------------------------------------------------------
31
+ @types/vanillajs-datepicker — MIT License
32
+ © DefinitelyTyped contributors
33
+ https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/LICENSE
34
+ -------------------------------------------------------
35
+
36
+ -------------------------------------------------------
37
+ feelers — MIT License
38
+ © Contributors
39
+ https://github.com/bpmn-io/feelers/blob/master/LICENSE
40
+ -------------------------------------------------------
41
+
42
+ -------------------------------------------------------
43
+ feelin — MIT License
44
+ © Camunda Services GmbH
45
+ https://github.com/camunda/feelin/blob/master/LICENSE
46
+ -------------------------------------------------------
47
+
48
+ -------------------------------------------------------
49
+ marked — MIT License
50
+ © MarkedJS and contributors
51
+ https://github.com/markedjs/marked/blob/master/LICENSE.md
52
+ -------------------------------------------------------
53
+
54
+ -------------------------------------------------------
55
+ mime-db — MIT License
56
+ © Jonathan Ong and Contributors
57
+ https://github.com/jshttp/mime-db/blob/master/LICENSE
58
+ -------------------------------------------------------
59
+
60
+ -------------------------------------------------------
61
+ sanitize-html — MIT License
62
+ © Apostrophe Technologies, Inc.
63
+ https://github.com/apostrophecms/sanitize-html/blob/main/LICENSE
64
+ -------------------------------------------------------
65
+
66
+ -------------------------------------------------------
67
+ vanillajs-datepicker — MIT License
68
+ © mdb
69
+ https://github.com/mymth/vanillajs-datepicker/blob/master/LICENSE
70
+ -------------------------------------------------------
71
+
72
+ End of Third-Party License Report
73
+ =================================================
@@ -31,7 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
31
31
  }] }] });
32
32
  const dislayFormat = 'dd/mm/yyyy';
33
33
  const storeFormat = 'yyyy-mm-dd';
34
- function dateToDisplay(value) {
34
+ export function dateToDisplay(value) {
35
35
  if (typeof value === "string") {
36
36
  const date = parseStore(value) ?? parseDisplay(value);
37
37
  return (date == null)
@@ -42,7 +42,7 @@ function dateToDisplay(value) {
42
42
  return null;
43
43
  }
44
44
  }
45
- function dateToStore(value) {
45
+ export function dateToStore(value) {
46
46
  if (typeof value === "string") {
47
47
  const date = parseStore(value) ?? parseDisplay(value);
48
48
  return (date == null)
@@ -90,4 +90,4 @@ function parseStore(value) {
90
90
  return null;
91
91
  }
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxELE1BQU0sT0FBTyxhQUFhO0lBRUk7SUFBNUIsWUFBNEIsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRW5FLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxFQUFvQjtZQUNwRSxnQkFBZ0IsQ0FBQyxVQUFVLEtBQVU7Z0JBQ25DLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxLQUFVLEVBQUUsS0FBZSxFQUFFLGNBQXdCO1lBQy9GLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQztJQUNKLENBQUM7d0dBakJVLGFBQWE7NEZBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztv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Q0FBQztJQUVuQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QyxJQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJO1FBQzNCLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUN0QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO1NBQ0ksQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9EYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IERhdGVwaWNrZXIgfSBmcm9tICd2YW5pbGxhanMtZGF0ZXBpY2tlcic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpc29EYXRlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZURpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBzaXJpb0RhdGVwaWNrZXI6IFNpcmlvRGF0ZXBpY2tlckNvbXBvbmVudCkge1xyXG5cclxuICAgIGNvbnN0IHJlZ2lzdGVyT25DaGFuZ2UgPSB0aGlzLnNpcmlvRGF0ZXBpY2tlci5yZWdpc3Rlck9uQ2hhbmdlLmJpbmQodGhpcy5zaXJpb0RhdGVwaWNrZXIpO1xyXG5cclxuICAgIHRoaXMuc2lyaW9EYXRlcGlja2VyLnJlZ2lzdGVyT25DaGFuZ2UgPSBmdW5jdGlvbiAoZm46IChfOiBhbnkpID0+IHZvaWQpIHtcclxuICAgICAgcmVnaXN0ZXJPbkNoYW5nZShmdW5jdGlvbiAodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGZuKGRhdGVUb1N0b3JlKHZhbHVlKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB3cml0ZVZhbHVlID0gdGhpcy5zaXJpb0RhdGVwaWNrZXIud3JpdGVWYWx1ZS5iaW5kKHRoaXMuc2lyaW9EYXRlcGlja2VyKTtcclxuXHJcbiAgICB0aGlzLnNpcmlvRGF0ZXBpY2tlci53cml0ZVZhbHVlID0gZnVuY3Rpb24gKHZhbHVlOiBhbnksIGV2ZW50PzogYm9vbGVhbiwgdXBkYXRlQ2FsZW5kYXI/OiBib29sZWFuKSB7XHJcbiAgICAgIHdyaXRlVmFsdWUoZGF0ZVRvRGlzcGxheSh2YWx1ZSksIGV2ZW50LCB1cGRhdGVDYWxlbmRhcik7XHJcbiAgICB9O1xyXG4gIH0gIFxyXG59XHJcblxyXG5jb25zdCBkaXNsYXlGb3JtYXQgPSAnZGQvbW0veXl5eSc7XHJcbmNvbnN0IHN0b3JlRm9ybWF0ID0gJ3l5eXktbW0tZGQnO1xyXG5cclxuZnVuY3Rpb24gZGF0ZVRvRGlzcGxheSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgY29uc3QgZGF0ZSA9IHBhcnNlU3RvcmUodmFsdWUpID8/IHBhcnNlRGlzcGxheSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gKGRhdGUgPT0gbnVsbClcclxuICAgICAgPyB2YWx1ZVxyXG4gICAgICA6IERhdGVwaWNrZXIuZm9ybWF0RGF0ZShkYXRlLCBkaXNsYXlGb3JtYXQsICdpdCcpO1xyXG4gIH1cclxuICBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gIFxyXG59XHJcblxyXG5mdW5jdGlvbiBkYXRlVG9TdG9yZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgY29uc3QgZGF0ZSA9IHBhcnNlU3RvcmUodmFsdWUpID8/IHBhcnNlRGlzcGxheSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gKGRhdGUgPT0gbnVsbClcclxuICAgICAgPyBudWxsXHJcbiAgICAgIDogRGF0ZXBpY2tlci5mb3JtYXREYXRlKGRhdGUsIHN0b3JlRm9ybWF0LCAnaXQnKTtcclxuICB9XHJcbiAgZWxzZSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IFxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZURpc3BsYXkodmFsdWU6IHN0cmluZyk6IERhdGUgfCBudWxsIHtcclxuICBjb25zdCByZWdleCA9IC9eKFxcZHsyfSlcXC8oXFxkezJ9KVxcLyhcXGR7NH0pJC87XHJcbiAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChyZWdleCk7XHJcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XHJcblxyXG4gIGNvbnN0IGRheSA9IHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XHJcbiAgY29uc3QgbW9udGggPSBwYXJzZUludChtYXRjaFsyXSwgMTApO1xyXG4gIGNvbnN0IHllYXIgPSBwYXJzZUludChtYXRjaFszXSwgMTApO1xyXG5cclxuICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xyXG5cclxuICBpZiAoXHJcbiAgICBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcclxuICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXHJcbiAgICBkYXRlLmdldERhdGUoKSA9PT0gZGF5XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgZWxzZSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlU3RvcmUodmFsdWU6IHN0cmluZyk6IERhdGUgfCBudWxsIHtcclxuICBjb25zdCByZWdleCA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkoVFxcZHsyfTpcXGR7Mn06XFxkezJ9KFxcLlxcZCspPyhafFsrLV1cXGR7Mn06XFxkezJ9KT8pPyQvO1xyXG4gIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXgpO1xyXG4gIGlmICghbWF0Y2gpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeWVhciA9IHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XHJcbiAgY29uc3QgbW9udGggPSBwYXJzZUludChtYXRjaFsyXSwgMTApO1xyXG4gIGNvbnN0IGRheSA9IHBhcnNlSW50KG1hdGNoWzNdLCAxMCk7XHJcblxyXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRheSk7XHJcblxyXG4gIGlmIChcclxuICAgIGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhciAmJlxyXG4gICAgZGF0ZS5nZXRNb250aCgpID09PSBtb250aCAtIDEgJiZcclxuICAgIGRhdGUuZ2V0RGF0ZSgpID09PSBkYXlcclxuICApIHtcclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuICBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxELE1BQU0sT0FBTyxhQUFhO0lBRUk7SUFBNUIsWUFBNEIsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRW5FLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxFQUFvQjtZQUNwRSxnQkFBZ0IsQ0FBQyxVQUFVLEtBQVU7Z0JBQ25DLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxLQUFVLEVBQUUsS0FBZSxFQUFFLGNBQXdCO1lBQy9GLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQztJQUVKLENBQUM7d0dBbEJVLGFBQWE7NEZBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztv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RUFBRSxDQUFDLENBQUM7SUFFbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFNUMsSUFDRSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSTtRQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFDdEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztTQUNJLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5pbXBvcnQgeyBEYXRlcGlja2VyIH0gZnJvbSAndmFuaWxsYWpzLWRhdGVwaWNrZXInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaXNvRGF0ZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVEaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHByaXZhdGUgc2lyaW9EYXRlcGlja2VyOiBTaXJpb0RhdGVwaWNrZXJDb21wb25lbnQpIHtcclxuXHJcbiAgICBjb25zdCByZWdpc3Rlck9uQ2hhbmdlID0gdGhpcy5zaXJpb0RhdGVwaWNrZXIucmVnaXN0ZXJPbkNoYW5nZS5iaW5kKHRoaXMuc2lyaW9EYXRlcGlja2VyKTtcclxuXHJcbiAgICB0aGlzLnNpcmlvRGF0ZXBpY2tlci5yZWdpc3Rlck9uQ2hhbmdlID0gZnVuY3Rpb24gKGZuOiAoXzogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgIHJlZ2lzdGVyT25DaGFuZ2UoZnVuY3Rpb24gKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBmbihkYXRlVG9TdG9yZSh2YWx1ZSkpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgd3JpdGVWYWx1ZSA9IHRoaXMuc2lyaW9EYXRlcGlja2VyLndyaXRlVmFsdWUuYmluZCh0aGlzLnNpcmlvRGF0ZXBpY2tlcik7XHJcblxyXG4gICAgdGhpcy5zaXJpb0RhdGVwaWNrZXIud3JpdGVWYWx1ZSA9IGZ1bmN0aW9uICh2YWx1ZTogYW55LCBldmVudD86IGJvb2xlYW4sIHVwZGF0ZUNhbGVuZGFyPzogYm9vbGVhbikge1xyXG4gICAgICB3cml0ZVZhbHVlKGRhdGVUb0Rpc3BsYXkodmFsdWUpLCBldmVudCwgdXBkYXRlQ2FsZW5kYXIpO1xyXG4gICAgfTtcclxuXHJcbiAgfSAgXHJcbn1cclxuXHJcbmNvbnN0IGRpc2xheUZvcm1hdCA9ICdkZC9tbS95eXl5JztcclxuY29uc3Qgc3RvcmVGb3JtYXQgPSAneXl5eS1tbS1kZCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRvRGlzcGxheSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgY29uc3QgZGF0ZSA9IHBhcnNlU3RvcmUodmFsdWUpID8/IHBhcnNlRGlzcGxheSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gKGRhdGUgPT0gbnVsbClcclxuICAgICAgPyB2YWx1ZVxyXG4gICAgICA6IERhdGVwaWNrZXIuZm9ybWF0RGF0ZShkYXRlLCBkaXNsYXlGb3JtYXQsICdpdCcpO1xyXG4gIH1cclxuICBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gIFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRvU3RvcmUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcclxuICAgIGNvbnN0IGRhdGUgPSBwYXJzZVN0b3JlKHZhbHVlKSA/PyBwYXJzZURpc3BsYXkodmFsdWUpO1xyXG4gICAgcmV0dXJuIChkYXRlID09IG51bGwpXHJcbiAgICAgID8gbnVsbFxyXG4gICAgICA6IERhdGVwaWNrZXIuZm9ybWF0RGF0ZShkYXRlLCBzdG9yZUZvcm1hdCwgJ2l0Jyk7XHJcbiAgfVxyXG4gIGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VEaXNwbGF5KHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XHJcbiAgY29uc3QgcmVnZXggPSAvXihcXGR7Mn0pXFwvKFxcZHsyfSlcXC8oXFxkezR9KSQvO1xyXG4gIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmVnZXgpO1xyXG4gIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xyXG5cclxuICBjb25zdCBkYXkgPSBwYXJzZUludChtYXRjaFsxXSwgMTApO1xyXG4gIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcclxuICBjb25zdCB5ZWFyID0gcGFyc2VJbnQobWF0Y2hbM10sIDEwKTtcclxuXHJcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcclxuXHJcbiAgaWYgKFxyXG4gICAgZGF0ZS5nZXRGdWxsWWVhcigpID09PSB5ZWFyICYmXHJcbiAgICBkYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoIC0gMSAmJlxyXG4gICAgZGF0ZS5nZXREYXRlKCkgPT09IGRheVxyXG4gICkge1xyXG4gICAgcmV0dXJuIGRhdGU7XHJcbiAgfVxyXG4gIGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZVN0b3JlKHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XHJcbiAgY29uc3QgcmVnZXggPSAvXihcXGR7NH0pLShcXGR7Mn0pLShcXGR7Mn0pKFRcXGR7Mn06XFxkezJ9OlxcZHsyfShcXC5cXGQrKT8oWnxbKy1dXFxkezJ9OlxcZHsyfSk/KT8kLztcclxuICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4KTtcclxuICBpZiAoIW1hdGNoKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHllYXIgPSBwYXJzZUludChtYXRjaFsxXSwgMTApO1xyXG4gIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcclxuICBjb25zdCBkYXkgPSBwYXJzZUludChtYXRjaFszXSwgMTApO1xyXG5cclxuICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xyXG5cclxuICBpZiAoXHJcbiAgICBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcclxuICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXHJcbiAgICBkYXRlLmdldERhdGUoKSA9PT0gZGF5XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgZWxzZSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,199 @@
1
+ import { Directive, Input, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { toLocalString, toLocalDateString, isValidTime, isValidDate } from '../utils/date';
4
+ import { dateToStore } from '../directives/date.directive';
5
+ import { Subject } from 'rxjs';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ export class DateTimeCoordinatorDirective {
10
+ datePicker;
11
+ timePicker;
12
+ onChange = (_) => { };
13
+ onTouched = () => { };
14
+ dateValue = null;
15
+ timeValue = null;
16
+ destroy$ = new Subject();
17
+ ngOnDestroy() {
18
+ this.destroy$.next();
19
+ this.destroy$.complete();
20
+ }
21
+ ngAfterViewInit() {
22
+ this.datePicker?.blurEvent
23
+ .pipe(takeUntil(this.destroy$))
24
+ .subscribe((event) => {
25
+ const value = dateToStore(event.component.value);
26
+ this.dateValue = isValidDate(value ?? "") ? value : null;
27
+ this.recalculate("date");
28
+ });
29
+ this.timePicker?.blurEvent
30
+ .pipe(takeUntil(this.destroy$))
31
+ .subscribe((event) => {
32
+ this.timeValue = isValidTime(event.component.value)
33
+ ? event.component.value : null;
34
+ this.recalculate("time");
35
+ });
36
+ }
37
+ writeValue(value) {
38
+ if (!value) {
39
+ this.dateValue = null;
40
+ this.timeValue = null;
41
+ this.datePicker?.writeValue(null);
42
+ this.timePicker?.writeValue(null);
43
+ return;
44
+ }
45
+ const date = value instanceof Date ? value : new Date(value);
46
+ const local = toLocalString(date);
47
+ this.dateValue = local ? local.substring(0, 10) : null;
48
+ this.timeValue = local ? local.substring(11, 16) : null;
49
+ this.datePicker?.writeValue(this.dateValue);
50
+ this.timePicker?.writeValue(this.timeValue);
51
+ }
52
+ setDisabledState(isDisabled) {
53
+ this.datePicker?.setDisabledState(isDisabled);
54
+ this.timePicker?.setDisabledState(isDisabled);
55
+ }
56
+ registerOnChange(fn) { this.onChange = fn; }
57
+ registerOnTouched(fn) { this.onTouched = fn; }
58
+ recalculate(part) {
59
+ // Case: both fields cleared
60
+ if (!this.dateValue && !this.timeValue) {
61
+ this.onChange(null);
62
+ return;
63
+ }
64
+ // Case: date is set but time is empty → apply default time
65
+ if (this.dateValue && !this.timeValue) {
66
+ this.timeValue = '00:00';
67
+ this.timePicker?.writeValue(this.timeValue);
68
+ }
69
+ // Case: time is set but date is empty → apply default date
70
+ if (part === "time" && !this.dateValue && this.timeValue) {
71
+ const today = new Date();
72
+ this.dateValue = toLocalDateString(today);
73
+ this.datePicker?.writeValue(this.dateValue);
74
+ }
75
+ // If after applying the rules one of the values is still missing → null
76
+ if (!this.dateValue || !this.timeValue) {
77
+ this.onChange(null);
78
+ return;
79
+ }
80
+ let combined = `${this.dateValue}T${this.timeValue}:00`;
81
+ this.onChange(combined);
82
+ }
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeCoordinatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
84
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DateTimeCoordinatorDirective, isStandalone: true, selector: "[dateTimeCoordinator]", inputs: { datePicker: "datePicker", timePicker: "timePicker" }, providers: [
85
+ {
86
+ provide: NG_VALUE_ACCESSOR,
87
+ useExisting: forwardRef(() => DateTimeCoordinatorDirective),
88
+ multi: true
89
+ }
90
+ ], ngImport: i0 });
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeCoordinatorDirective, decorators: [{
93
+ type: Directive,
94
+ args: [{
95
+ selector: '[dateTimeCoordinator]',
96
+ standalone: true,
97
+ providers: [
98
+ {
99
+ provide: NG_VALUE_ACCESSOR,
100
+ useExisting: forwardRef(() => DateTimeCoordinatorDirective),
101
+ multi: true
102
+ }
103
+ ]
104
+ }]
105
+ }], propDecorators: { datePicker: [{
106
+ type: Input
107
+ }], timePicker: [{
108
+ type: Input
109
+ }] } });
110
+ const classNames = ['sirio-is-invalid', 'sirio-is-valid', 'sirio-is-warning', 'sirio-is-pending'];
111
+ export class DateTimeValidationDirective {
112
+ ngControl;
113
+ renderer;
114
+ isWarning = false;
115
+ showWhenValid = false;
116
+ sub;
117
+ constructor(ngControl, renderer) {
118
+ this.ngControl = ngControl;
119
+ this.renderer = renderer;
120
+ }
121
+ ngOnDestroy() {
122
+ this.sub?.unsubscribe();
123
+ }
124
+ ngAfterViewInit() {
125
+ if (!this.ngControl?.statusChanges) {
126
+ return;
127
+ }
128
+ this.sub = this.ngControl.statusChanges.subscribe(status => {
129
+ const coordinator = this.getCoordinator();
130
+ if (coordinator) {
131
+ this.checkValidation(coordinator.datePicker.validationTarget);
132
+ this.checkValidation(coordinator.timePicker.validationTarget);
133
+ }
134
+ });
135
+ }
136
+ getCoordinator() {
137
+ return this.ngControl?.valueAccessor ?? null;
138
+ }
139
+ checkValidation(validationTarget) {
140
+ if (this.ngControl?.status === "PENDING") {
141
+ this.setPending(validationTarget);
142
+ return;
143
+ }
144
+ const isDisabled = this.ngControl?.disabled;
145
+ if (isDisabled) {
146
+ this.cleanupValidation(validationTarget);
147
+ return;
148
+ }
149
+ const isValid = this.ngControl?.valid;
150
+ if (isValid) {
151
+ if (this.showWhenValid) {
152
+ this.setValid(validationTarget);
153
+ }
154
+ else {
155
+ this.cleanupValidation(validationTarget);
156
+ }
157
+ }
158
+ if (!isValid && this.isWarning) {
159
+ this.setWarning(validationTarget);
160
+ }
161
+ if (!isValid && !this.isWarning) {
162
+ this.setInvalid(validationTarget);
163
+ }
164
+ //this.cd.detectChanges();
165
+ }
166
+ cleanupValidation(validationTarget) {
167
+ classNames.forEach(c => this.renderer.removeClass(validationTarget, c));
168
+ }
169
+ setValid(validationTarget) {
170
+ this.applyClass(validationTarget, 'sirio-is-valid');
171
+ }
172
+ setInvalid(validationTarget) {
173
+ this.applyClass(validationTarget, 'sirio-is-invalid');
174
+ }
175
+ setWarning(validationTarget) {
176
+ this.applyClass(validationTarget, 'sirio-is-warning');
177
+ }
178
+ setPending(validationTarget) {
179
+ this.applyClass(validationTarget, 'sirio-is-pending');
180
+ }
181
+ applyClass(validationTarget, className) {
182
+ this.cleanupValidation(validationTarget);
183
+ this.renderer.addClass(validationTarget, className);
184
+ }
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeValidationDirective, deps: [{ token: i1.NgControl }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
186
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DateTimeValidationDirective, isStandalone: true, selector: "[dateTimeValidator]", inputs: { isWarning: "isWarning", showWhenValid: "showWhenValid" }, ngImport: i0 });
187
+ }
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeValidationDirective, decorators: [{
189
+ type: Directive,
190
+ args: [{
191
+ selector: '[dateTimeValidator]',
192
+ standalone: true
193
+ }]
194
+ }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.Renderer2 }], propDecorators: { isWarning: [{
195
+ type: Input
196
+ }], showWhenValid: [{
197
+ type: Input
198
+ }] } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9kYXRldGltZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBYTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFFOUIsVUFBVSxDQUE0QjtJQUN0QyxVQUFVLENBQTRCO0lBRXZDLFFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFdEIsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDaEMsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFFaEMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdkMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUViLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUzthQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FB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LFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxRQUFRLENBQUMsZ0JBQXFCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sVUFBVSxDQUFDLGdCQUFxQjtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxnQkFBcUI7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxVQUFVLENBQUMsZ0JBQXFCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sVUFBVSxDQUFDLGdCQUFxQixFQUFFLFNBQWlCO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7d0dBckZVLDJCQUEyQjs0RkFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtzR0FFVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEFmdGVyVmlld0luaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4U2lyaW9FdmVudCwgU2lyaW9EYXRlcGlja2VyQ29tcG9uZW50LCBTaXJpb1RpbWVwaWNrZXJDb21wb25lbnQsIH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IHRvTG9jYWxTdHJpbmcsIHRvTG9jYWxEYXRlU3RyaW5nLCBpc1ZhbGlkVGltZSwgaXNWYWxpZERhdGUsIGlzVmFsaWREYXRlT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XHJcbmltcG9ydCB7IGRhdGVUb1N0b3JlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkYXRlVGltZUNvb3JkaW5hdG9yXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lQ29vcmRpbmF0b3JEaXJlY3RpdmUpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29vcmRpbmF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZGF0ZVBpY2tlciE6IFNpcmlvRGF0ZXBpY2tlckNvbXBvbmVudDtcclxuICBASW5wdXQoKSB0aW1lUGlja2VyITogU2lyaW9UaW1lcGlja2VyQ29tcG9uZW50O1xyXG4gIFxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIHByaXZhdGUgZGF0ZVZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHRpbWVWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuZGF0ZVBpY2tlcj8uYmx1ckV2ZW50XHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5neFNpcmlvRXZlbnQ8U2lyaW9EYXRlcGlja2VyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0ZVRvU3RvcmUoZXZlbnQuY29tcG9uZW50LnZhbHVlKTtcclxuICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IGlzVmFsaWREYXRlKHZhbHVlID8/IFwiXCIpID8gdmFsdWUgOiBudWxsO1xyXG4gICAgICAgIHRoaXMucmVjYWxjdWxhdGUoXCJkYXRlXCIpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRpbWVQaWNrZXI/LmJsdXJFdmVudFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOZ3hTaXJpb0V2ZW50PFNpcmlvVGltZXBpY2tlckNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnRpbWVWYWx1ZSA9IGlzVmFsaWRUaW1lKGV2ZW50LmNvbXBvbmVudC52YWx1ZSlcclxuICAgICAgICAgID8gZXZlbnQuY29tcG9uZW50LnZhbHVlIDogbnVsbDtcclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlKFwidGltZVwiKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5kYXRlVmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnRpbWVWYWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlcj8ud3JpdGVWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy50aW1lUGlja2VyPy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IHZhbHVlIDogbmV3IERhdGUodmFsdWUpO1xyXG4gICAgY29uc3QgbG9jYWwgPSB0b0xvY2FsU3RyaW5nKGRhdGUpO1xyXG4gICAgdGhpcy5kYXRlVmFsdWUgPSBsb2NhbCA/IGxvY2FsLnN1YnN0cmluZygwLCAxMCkgOiBudWxsO1xyXG4gICAgdGhpcy50aW1lVmFsdWUgPSBsb2NhbCA/IGxvY2FsLnN1YnN0cmluZygxMSwgMTYpIDogbnVsbDtcclxuICAgIHRoaXMuZGF0ZVBpY2tlcj8ud3JpdGVWYWx1ZSh0aGlzLmRhdGVWYWx1ZSk7XHJcbiAgICB0aGlzLnRpbWVQaWNrZXI/LndyaXRlVmFsdWUodGhpcy50aW1lVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXI/LnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XHJcbiAgICB0aGlzLnRpbWVQaWNrZXI/LnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XHJcblxyXG4gIHByaXZhdGUgcmVjYWxjdWxhdGUocGFydDogXCJkYXRlXCIgfCBcInRpbWVcIikge1xyXG4gICAgLy8gQ2FzZTogYm90aCBmaWVsZHMgY2xlYXJlZFxyXG4gICAgaWYgKCF0aGlzLmRhdGVWYWx1ZSAmJiAhdGhpcy50aW1lVmFsdWUpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhc2U6IGRhdGUgaXMgc2V0IGJ1dCB0aW1lIGlzIGVtcHR5IOKGkiBhcHBseSBkZWZhdWx0IHRpbWVcclxuICAgIGlmICh0aGlzLmRhdGVWYWx1ZSAmJiAhdGhpcy50aW1lVmFsdWUpIHtcclxuICAgICAgdGhpcy50aW1lVmFsdWUgPSAnMDA6MDAnO1xyXG4gICAgICB0aGlzLnRpbWVQaWNrZXI/LndyaXRlVmFsdWUodGhpcy50aW1lVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENhc2U6IHRpbWUgaXMgc2V0IGJ1dCBkYXRlIGlzIGVtcHR5IOKGkiBhcHBseSBkZWZhdWx0IGRhdGVcclxuICAgIGlmIChwYXJ0ID09PSBcInRpbWVcIiAmJiAhdGhpcy5kYXRlVmFsdWUgJiYgdGhpcy50aW1lVmFsdWUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICB0aGlzLmRhdGVWYWx1ZSA9IHRvTG9jYWxEYXRlU3RyaW5nKHRvZGF5KTtcclxuICAgICAgdGhpcy5kYXRlUGlja2VyPy53cml0ZVZhbHVlKHRoaXMuZGF0ZVZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBhZnRlciBhcHBseWluZyB0aGUgcnVsZXMgb25lIG9mIHRoZSB2YWx1ZXMgaXMgc3RpbGwgbWlzc2luZyDihpIgbnVsbFxyXG4gICAgaWYgKCF0aGlzLmRhdGVWYWx1ZSB8fCAhdGhpcy50aW1lVmFsdWUpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb21iaW5lZCA9IGAke3RoaXMuZGF0ZVZhbHVlfVQke3RoaXMudGltZVZhbHVlfTowMGA7XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZShjb21iaW5lZCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuY29uc3QgY2xhc3NOYW1lcyA9IFsnc2lyaW8taXMtaW52YWxpZCcsICdzaXJpby1pcy12YWxpZCcsICdzaXJpby1pcy13YXJuaW5nJywgJ3NpcmlvLWlzLXBlbmRpbmcnXTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2RhdGVUaW1lVmFsaWRhdG9yXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSAgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGlzV2FybmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dXaGVuVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpXHJcbiAgeyAgICBcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubmdDb250cm9sPy5zdGF0dXNDaGFuZ2VzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1YiA9IHRoaXMubmdDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XHJcbiAgICAgIGNvbnN0IGNvb3JkaW5hdG9yID0gdGhpcy5nZXRDb29yZGluYXRvcigpO1xyXG4gICAgICBpZiAoY29vcmRpbmF0b3IpIHtcclxuICAgICAgICB0aGlzLmNoZWNrVmFsaWRhdGlvbihjb29yZGluYXRvci5kYXRlUGlja2VyLnZhbGlkYXRpb25UYXJnZXQpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tWYWxpZGF0aW9uKGNvb3JkaW5hdG9yLnRpbWVQaWNrZXIudmFsaWRhdGlvblRhcmdldCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb29yZGluYXRvcigpOiBEYXRlVGltZUNvb3JkaW5hdG9yRGlyZWN0aXZlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LnZhbHVlQWNjZXNzb3IgYXMgRGF0ZVRpbWVDb29yZGluYXRvckRpcmVjdGl2ZSA/PyBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1ZhbGlkYXRpb24odmFsaWRhdGlvblRhcmdldDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LnN0YXR1cyA9PT0gXCJQRU5ESU5HXCIpIHtcclxuICAgICAgdGhpcy5zZXRQZW5kaW5nKHZhbGlkYXRpb25UYXJnZXQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMubmdDb250cm9sPy5kaXNhYmxlZDtcclxuICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuY2xlYW51cFZhbGlkYXRpb24odmFsaWRhdGlvblRhcmdldCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLm5nQ29udHJvbD8udmFsaWQ7XHJcbiAgICBpZiAoaXNWYWxpZCkge1xyXG4gICAgICBpZiAodGhpcy5zaG93V2hlblZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5zZXRWYWxpZCh2YWxpZGF0aW9uVGFyZ2V0KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNsZWFudXBWYWxpZGF0aW9uKHZhbGlkYXRpb25UYXJnZXQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzVmFsaWQgJiYgdGhpcy5pc1dhcm5pbmcpIHtcclxuICAgICAgdGhpcy5zZXRXYXJuaW5nKHZhbGlkYXRpb25UYXJnZXQpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc1ZhbGlkICYmICF0aGlzLmlzV2FybmluZykge1xyXG4gICAgICB0aGlzLnNldEludmFsaWQodmFsaWRhdGlvblRhcmdldCk7XHJcbiAgICB9XHJcbiAgICAvL3RoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhbnVwVmFsaWRhdGlvbih2YWxpZGF0aW9uVGFyZ2V0OiBhbnkpIHtcclxuICAgIGNsYXNzTmFtZXMuZm9yRWFjaChjID0+IHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModmFsaWRhdGlvblRhcmdldCwgYykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWxpZCh2YWxpZGF0aW9uVGFyZ2V0OiBhbnkpIHtcclxuICAgIHRoaXMuYXBwbHlDbGFzcyh2YWxpZGF0aW9uVGFyZ2V0LCAnc2lyaW8taXMtdmFsaWQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SW52YWxpZCh2YWxpZGF0aW9uVGFyZ2V0OiBhbnkpIHtcclxuICAgIHRoaXMuYXBwbHlDbGFzcyh2YWxpZGF0aW9uVGFyZ2V0LCAnc2lyaW8taXMtaW52YWxpZCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRXYXJuaW5nKHZhbGlkYXRpb25UYXJnZXQ6IGFueSkge1xyXG4gICAgdGhpcy5hcHBseUNsYXNzKHZhbGlkYXRpb25UYXJnZXQsICdzaXJpby1pcy13YXJuaW5nJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBlbmRpbmcodmFsaWRhdGlvblRhcmdldDogYW55KSB7XHJcbiAgICB0aGlzLmFwcGx5Q2xhc3ModmFsaWRhdGlvblRhcmdldCwgJ3NpcmlvLWlzLXBlbmRpbmcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlDbGFzcyh2YWxpZGF0aW9uVGFyZ2V0OiBhbnksIGNsYXNzTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsZWFudXBWYWxpZGF0aW9uKHZhbGlkYXRpb25UYXJnZXQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh2YWxpZGF0aW9uVGFyZ2V0LCBjbGFzc05hbWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -36,7 +36,7 @@ export class TabControlDirective {
36
36
  setFocus() {
37
37
  setTimeout(() => {
38
38
  const tabItem = this.sirioTab.activeTabItem;
39
- const containerRef = tabItem.viewContainerRef;
39
+ const containerRef = tabItem?.viewContainerRef;
40
40
  if (containerRef)
41
41
  setFocus(containerRef.element.nativeElement);
42
42
  }, 100);
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
53
53
  }], ctorParameters: () => [{ type: i1.SirioTabComponent, decorators: [{
54
54
  type: Host
55
55
  }] }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmNvbnRyb2wuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU05QyxNQUFNLE9BQU8sbUJBQW1CO0lBR1o7SUFEbEIsWUFDa0IsUUFBMkI7UUFBM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7SUFDekMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxZQUFZLENBQWdCO0lBRTVCLGlCQUFpQixDQUFDLEtBQXVDO1FBQy9ELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFnQixDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQ0ksQ0FBQztZQUNKLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFFBQVE7UUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGdCQUFvQyxDQUFDO1lBQ2xFLElBQUksWUFBWTtnQkFDZCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDLENBQUM7UUFDaEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzt3R0E3Q1UsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBSUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9UYWJDb21wb25lbnQsIE5neFNpcmlvRXZlbnQgfSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNldEZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZm9jdXNhYmxlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkNvbnRyb2xdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvVGFiOiBTaXJpb1RhYkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWIgPSB0aGlzLnNpcmlvVGFiLnRhYkNoYW5nZS5zdWJzY3JpYmUodGhpcy5IYW5kbGVJbmRleENoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRhYkNoYW5nZVN1YiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVJbmRleENoYW5nZShldmVudDogTmd4U2lyaW9FdmVudDxTaXJpb1RhYkNvbXBvbmVudD4pIHtcclxuICAgIGNvbnN0IHRhYiA9IGV2ZW50LmNvbXBvbmVudCBhcyBhbnk7XHJcbiAgICBpZiAoZXZlbnQuZGF0YS5uZXdJbmRleCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRhYi5zZXRBY3RpdmVJbmRleCh0aGlzLnZhbGlkYXRlSW5kZXgodGFiLl9zYXZlZEluZGV4KSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGFiLl9zYXZlZEluZGV4ID0gZXZlbnQuZGF0YS5uZXdJbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Rm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChpbmRleCA+PSB0aGlzLnNpcmlvVGFiLnRhYkl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB2YXIgZmlyc3RUYWIgPSB0aGlzLnNpcmlvVGFiLmZpcnN0VGFiRW5hYmxlZDtcclxuICAgICAgaWYgKGZpcnN0VGFiKSB7XHJcbiAgICAgICAgaW5kZXggPSBmaXJzdFRhYi5pbmRleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb2N1cygpXHJcbiAge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhYkl0ZW06IGFueSA9IHRoaXMuc2lyaW9UYWIuYWN0aXZlVGFiSXRlbTtcclxuICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gdGFiSXRlbS52aWV3Q29udGFpbmVyUmVmIGFzIFZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgIGlmIChjb250YWluZXJSZWYpXHJcbiAgICAgICAgc2V0Rm9jdXMoY29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxufVxyXG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmNvbnRyb2wuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU05QyxNQUFNLE9BQU8sbUJBQW1CO0lBR1o7SUFEbEIsWUFDa0IsUUFBMkI7UUFBM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7SUFDekMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxZQUFZLENBQWdCO0lBRTVCLGlCQUFpQixDQUFDLEtBQXVDO1FBQy9ELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFnQixDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQ0ksQ0FBQztZQUNKLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFFBQVE7UUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDakQsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLGdCQUFvQyxDQUFDO1lBQ25FLElBQUksWUFBWTtnQkFDZCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDLENBQUM7UUFDaEUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzt3R0E3Q1UsbUJBQW1COzRGQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBSUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2lyaW9UYWJDb21wb25lbnQsIE5neFNpcmlvRXZlbnQgfSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNldEZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZm9jdXNhYmxlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RhYkNvbnRyb2xdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwcml2YXRlIHNpcmlvVGFiOiBTaXJpb1RhYkNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWIgPSB0aGlzLnNpcmlvVGFiLnRhYkNoYW5nZS5zdWJzY3JpYmUodGhpcy5IYW5kbGVJbmRleENoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50YWJDaGFuZ2VTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRhYkNoYW5nZVN1YiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVJbmRleENoYW5nZShldmVudDogTmd4U2lyaW9FdmVudDxTaXJpb1RhYkNvbXBvbmVudD4pIHtcclxuICAgIGNvbnN0IHRhYiA9IGV2ZW50LmNvbXBvbmVudCBhcyBhbnk7XHJcbiAgICBpZiAoZXZlbnQuZGF0YS5uZXdJbmRleCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRhYi5zZXRBY3RpdmVJbmRleCh0aGlzLnZhbGlkYXRlSW5kZXgodGFiLl9zYXZlZEluZGV4KSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGFiLl9zYXZlZEluZGV4ID0gZXZlbnQuZGF0YS5uZXdJbmRleDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Rm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChpbmRleCA+PSB0aGlzLnNpcmlvVGFiLnRhYkl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB2YXIgZmlyc3RUYWIgPSB0aGlzLnNpcmlvVGFiLmZpcnN0VGFiRW5hYmxlZDtcclxuICAgICAgaWYgKGZpcnN0VGFiKSB7XHJcbiAgICAgICAgaW5kZXggPSBmaXJzdFRhYi5pbmRleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGb2N1cygpXHJcbiAge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhYkl0ZW06IGFueSA9IHRoaXMuc2lyaW9UYWIuYWN0aXZlVGFiSXRlbTtcclxuICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gdGFiSXRlbT8udmlld0NvbnRhaW5lclJlZiBhcyBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgICBpZiAoY29udGFpbmVyUmVmKVxyXG4gICAgICAgIHNldEZvY3VzKGNvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIl19