@theseam/ui-common 0.4.13 → 0.4.15

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 (139) hide show
  1. package/buttons/public-api.d.ts +1 -0
  2. package/buttons/testing/anchor-badge-button.harness.d.ts +16 -0
  3. package/buttons/testing/anchor-button.harness.d.ts +16 -0
  4. package/buttons/testing/badge-button.harness.d.ts +15 -0
  5. package/buttons/testing/base-badge-button.harness.d.ts +15 -0
  6. package/buttons/testing/base-button.harness.d.ts +19 -0
  7. package/buttons/testing/button.harness.d.ts +15 -0
  8. package/buttons/testing/index.d.ts +5 -0
  9. package/buttons/testing/toggle-button.harness.d.ts +21 -0
  10. package/checkbox/checkbox.component.d.ts +1 -1
  11. package/checkbox/checkbox.module.d.ts +2 -3
  12. package/datatable/datatable.module.d.ts +1 -1
  13. package/esm2020/buttons/button/button.component.mjs +2 -1
  14. package/esm2020/buttons/public-api.mjs +2 -1
  15. package/esm2020/buttons/testing/anchor-badge-button.harness.mjs +18 -0
  16. package/esm2020/buttons/testing/anchor-button.harness.mjs +18 -0
  17. package/esm2020/buttons/testing/badge-button.harness.mjs +14 -0
  18. package/esm2020/buttons/testing/base-badge-button.harness.mjs +29 -0
  19. package/esm2020/buttons/testing/base-button.harness.mjs +41 -0
  20. package/esm2020/buttons/testing/button.harness.mjs +16 -0
  21. package/esm2020/buttons/testing/index.mjs +6 -0
  22. package/esm2020/buttons/testing/toggle-button.harness.mjs +25 -0
  23. package/esm2020/checkbox/checkbox.component.mjs +8 -3
  24. package/esm2020/checkbox/checkbox.module.mjs +5 -12
  25. package/esm2020/datatable/datatable.module.mjs +5 -5
  26. package/esm2020/form-field/form-field.component.mjs +4 -4
  27. package/esm2020/framework/schema-form/index.mjs +2 -1
  28. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +6 -3
  29. package/esm2020/framework/schema-form/schema-form-framework.mjs +62 -7
  30. package/esm2020/framework/schema-form/schema-form-widget.mjs +2 -0
  31. package/esm2020/framework/schema-form/schema-form.module.mjs +1 -8
  32. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +21 -11
  33. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +20 -0
  34. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +17 -8
  35. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +14 -5
  36. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +19 -9
  37. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +21 -13
  38. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +30 -18
  39. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +48 -0
  40. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +57 -0
  41. package/esm2020/google-maps/google-maps/google-maps.component.mjs +9 -2
  42. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +2 -1
  43. package/esm2020/menu/public-api.mjs +5 -1
  44. package/esm2020/menu/testing/menu-footer.harness.mjs +28 -0
  45. package/esm2020/menu/testing/menu-header.harness.mjs +23 -0
  46. package/esm2020/menu/testing/menu-item.harness.mjs +59 -0
  47. package/esm2020/menu/testing/menu.harness.mjs +163 -0
  48. package/esm2020/menu/testing/utils.mjs +13 -0
  49. package/esm2020/story-helpers/args-to-tpl.mjs +83 -0
  50. package/esm2020/story-helpers/public-api.mjs +2 -2
  51. package/esm2020/tel-input/public-api.mjs +2 -1
  52. package/esm2020/tel-input/tel-input/tel-input.component.mjs +22 -10
  53. package/esm2020/tel-input/tel-input.directive.mjs +12 -13
  54. package/esm2020/tel-input/tel-input.module.mjs +10 -9
  55. package/esm2020/tel-input/testing/tel-input.harness.mjs +49 -0
  56. package/esm2020/testing/harnesses/ng-select-dropdown.harness.mjs +39 -0
  57. package/esm2020/testing/harnesses/ng-select-option.harness.mjs +26 -0
  58. package/esm2020/testing/harnesses/ng-select.harness.mjs +104 -0
  59. package/esm2020/testing/public-api.mjs +4 -1
  60. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +1 -1
  61. package/fesm2015/theseam-ui-common-buttons.mjs +181 -3
  62. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  63. package/fesm2015/theseam-ui-common-checkbox.mjs +12 -14
  64. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  65. package/fesm2015/theseam-ui-common-datatable.mjs +4 -4
  66. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  67. package/fesm2015/theseam-ui-common-form-field.mjs +3 -3
  68. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  69. package/fesm2015/theseam-ui-common-framework.mjs +248 -164
  70. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  71. package/fesm2015/theseam-ui-common-google-maps.mjs +10 -1
  72. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  73. package/fesm2015/theseam-ui-common-menu.mjs +329 -3
  74. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  75. package/fesm2015/theseam-ui-common-story-helpers.mjs +86 -1
  76. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2015/theseam-ui-common-tel-input.mjs +105 -29
  78. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  79. package/fesm2015/theseam-ui-common-testing.mjs +197 -1
  80. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  81. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  82. package/fesm2020/theseam-ui-common-buttons.mjs +154 -2
  83. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  84. package/fesm2020/theseam-ui-common-checkbox.mjs +12 -14
  85. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  86. package/fesm2020/theseam-ui-common-datatable.mjs +4 -4
  87. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  88. package/fesm2020/theseam-ui-common-form-field.mjs +3 -3
  89. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  90. package/fesm2020/theseam-ui-common-framework.mjs +236 -162
  91. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  92. package/fesm2020/theseam-ui-common-google-maps.mjs +9 -1
  93. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  94. package/fesm2020/theseam-ui-common-menu.mjs +275 -2
  95. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  96. package/fesm2020/theseam-ui-common-story-helpers.mjs +84 -1
  97. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  98. package/fesm2020/theseam-ui-common-tel-input.mjs +89 -29
  99. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  100. package/fesm2020/theseam-ui-common-testing.mjs +165 -1
  101. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  102. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  103. package/framework/schema-form/index.d.ts +1 -0
  104. package/framework/schema-form/schema-form-framework.d.ts +12 -1
  105. package/framework/schema-form/schema-form-widget.d.ts +61 -0
  106. package/framework/schema-form/schema-form.module.d.ts +1 -2
  107. package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +12 -11
  108. package/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.d.ts +12 -0
  109. package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +10 -9
  110. package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +8 -7
  111. package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +10 -9
  112. package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +10 -9
  113. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +10 -9
  114. package/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.d.ts +23 -0
  115. package/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.d.ts +32 -0
  116. package/google-maps/google-maps/google-maps.component.d.ts +2 -1
  117. package/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.d.ts +1 -0
  118. package/menu/menu-footer-action/menu-footer-action.component.d.ts +1 -1
  119. package/menu/public-api.d.ts +4 -0
  120. package/menu/testing/menu-footer.harness.d.ts +22 -0
  121. package/menu/testing/menu-header.harness.d.ts +18 -0
  122. package/menu/testing/menu-item.harness.d.ts +37 -0
  123. package/menu/testing/menu.harness.d.ts +74 -0
  124. package/menu/testing/utils.d.ts +5 -0
  125. package/package.json +1 -1
  126. package/story-helpers/args-to-tpl.d.ts +25 -0
  127. package/story-helpers/public-api.d.ts +1 -0
  128. package/tel-input/public-api.d.ts +1 -0
  129. package/tel-input/tel-input/tel-input.component.d.ts +2 -2
  130. package/tel-input/tel-input.directive.d.ts +1 -1
  131. package/tel-input/tel-input.module.d.ts +7 -7
  132. package/tel-input/testing/tel-input.harness.d.ts +19 -0
  133. package/testing/harnesses/ng-select-dropdown.harness.d.ts +23 -0
  134. package/testing/harnesses/ng-select-option.harness.d.ts +18 -0
  135. package/testing/harnesses/ng-select.harness.d.ts +50 -0
  136. package/testing/public-api.d.ts +3 -0
  137. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +10 -10
  138. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +0 -79
  139. package/framework/schema-form-controls/schema-form-controls.module.d.ts +0 -20
@@ -0,0 +1,83 @@
1
+ import { useStoryContext } from '@storybook/preview-api';
2
+ /**
3
+ * This is an attempt at simplifying the use of auto-generated args in stories
4
+ * defined with `template`, since Angular doesn't have a way to simply use a
5
+ * spread operator syntax.
6
+ *
7
+ * @experimental
8
+ */
9
+ // export function argsToTplParts(args: any, argTypes: ArgTypes): ArgsTplParts {
10
+ // // console.log({ args, argTypes })
11
+ // const parts: ArgsTplParts = {
12
+ // actions: {},
13
+ // tplfragment: ''
14
+ // }
15
+ // Object.keys(argTypes).forEach(k => {
16
+ // // Inputs
17
+ // if (
18
+ // // Is in the inputs category
19
+ // argTypes[k].table.category === 'inputs' &&
20
+ // // Needs a control to be able to change from auto-generated args.
21
+ // argTypes[k]?.hasOwnProperty('control') &&
22
+ // // Assuming the arg might not be in props if there isn't an arg value.
23
+ // args.hasOwnProperty(k)
24
+ // ) {
25
+ // parts.tplfragment += `[${k}]="${k}" `
26
+ // }
27
+ // // Outputs
28
+ // if (
29
+ // // Is in the outputs category
30
+ // argTypes[k]?.table?.category === 'outputs'
31
+ // ) {
32
+ // // Without access to props, I don't know if I can get an action into the
33
+ // // template context like this.
34
+ // parts.tplfragment += `(${k})="${k}($event)" `
35
+ // parts.actions[k] = action(k)
36
+ // }
37
+ // })
38
+ // return parts
39
+ // }
40
+ function removeDuplicates(arr) {
41
+ const seen = {};
42
+ return arr.filter(item => {
43
+ if (!seen[item]) {
44
+ seen[item] = true;
45
+ return true;
46
+ }
47
+ return false;
48
+ });
49
+ }
50
+ /**
51
+ * This is an attempt at simplifying the use of auto-generated args in stories
52
+ * defined with `template`, since Angular doesn't have a way to simply use a
53
+ * spread operator syntax.
54
+ *
55
+ * @experimental
56
+ */
57
+ export function argsToTpl(options) {
58
+ const context = useStoryContext();
59
+ const exclude = [
60
+ ...(context?.parameters?.argsToTplOptions?.exclude || []),
61
+ ...(options?.exclude || []),
62
+ ];
63
+ const alwaysBind = context?.parameters?.argsToTplOptions?.alwaysBind || [];
64
+ const props = removeDuplicates([
65
+ ...alwaysBind,
66
+ ...Object.keys(context.args),
67
+ ]);
68
+ const parts = props
69
+ .filter(k => exclude.indexOf(k) === -1)
70
+ .map(k => {
71
+ // Outputs
72
+ if (context.argTypes[k]?.hasOwnProperty('action') &&
73
+ (context.args.hasOwnProperty(k) || alwaysBind.indexOf(k) !== -1)) {
74
+ return `(${k})="${k}($event)"`;
75
+ }
76
+ // Inputs
77
+ if ((context.args.hasOwnProperty(k) || alwaysBind.indexOf(k) !== -1)) {
78
+ return `[${k}]="${k}"`;
79
+ }
80
+ });
81
+ return parts.length > 0 ? parts.join(' ') : '';
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy10by10cGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vc3RvcnktaGVscGVycy9hcmdzLXRvLXRwbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFPeEQ7Ozs7OztHQU1HO0FBQ0gsZ0ZBQWdGO0FBQ2hGLHVDQUF1QztBQUN2QyxrQ0FBa0M7QUFDbEMsbUJBQW1CO0FBQ25CLHNCQUFzQjtBQUN0QixNQUFNO0FBRU4seUNBQXlDO0FBQ3pDLGdCQUFnQjtBQUNoQixXQUFXO0FBQ1gscUNBQXFDO0FBQ3JDLG1EQUFtRDtBQUNuRCwwRUFBMEU7QUFDMUUsa0RBQWtEO0FBQ2xELCtFQUErRTtBQUMvRSwrQkFBK0I7QUFDL0IsVUFBVTtBQUNWLDhDQUE4QztBQUM5QyxRQUFRO0FBRVIsaUJBQWlCO0FBQ2pCLFdBQVc7QUFDWCxzQ0FBc0M7QUFDdEMsbURBQW1EO0FBQ25ELFVBQVU7QUFDVixpRkFBaUY7QUFDakYsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxxQ0FBcUM7QUFDckMsUUFBUTtBQUNSLE9BQU87QUFFUCxpQkFBaUI7QUFDakIsSUFBSTtBQUVKLFNBQVMsZ0JBQWdCLENBQUMsR0FBYTtJQUNyQyxNQUFNLElBQUksR0FBNkIsRUFBRSxDQUFBO0lBQ3pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQTtZQUNqQixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFhRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQXdCO0lBQ2hELE1BQU0sT0FBTyxHQUFHLGVBQWUsRUFBbUIsQ0FBQTtJQUVsRCxNQUFNLE9BQU8sR0FBRztRQUNkLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDekQsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0tBQzVCLENBQUE7SUFFRCxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUE7SUFFMUUsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsR0FBRyxVQUFVO1FBQ2IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDN0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNQLFVBQVU7UUFDVixJQUNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQztZQUM3QyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDaEU7WUFDQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFBO1NBQy9CO1FBRUQsU0FBUztRQUNULElBQ0UsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ2hFO1lBQ0EsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQTtTQUN2QjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cbmltcG9ydCB7IGFjdGlvbiwgSGFuZGxlckZ1bmN0aW9uIH0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1hY3Rpb25zJ1xuaW1wb3J0IHsgQW5ndWxhclJlbmRlcmVyLCBBcmdUeXBlcyB9IGZyb20gJ0BzdG9yeWJvb2svYW5ndWxhcidcbmltcG9ydCB7IHVzZVN0b3J5Q29udGV4dCB9IGZyb20gJ0BzdG9yeWJvb2svcHJldmlldy1hcGknXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJnc1RwbFBhcnRzIHtcbiAgYWN0aW9uczogeyBbcHJvcDogc3RyaW5nXTogSGFuZGxlckZ1bmN0aW9uIH1cbiAgdHBsZnJhZ21lbnQ6IHN0cmluZ1xufVxuXG4vKipcbiAqIFRoaXMgaXMgYW4gYXR0ZW1wdCBhdCBzaW1wbGlmeWluZyB0aGUgdXNlIG9mIGF1dG8tZ2VuZXJhdGVkIGFyZ3MgaW4gc3Rvcmllc1xuICogZGVmaW5lZCB3aXRoIGB0ZW1wbGF0ZWAsIHNpbmNlIEFuZ3VsYXIgZG9lc24ndCBoYXZlIGEgd2F5IHRvIHNpbXBseSB1c2UgYVxuICogc3ByZWFkIG9wZXJhdG9yIHN5bnRheC5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbi8vIGV4cG9ydCBmdW5jdGlvbiBhcmdzVG9UcGxQYXJ0cyhhcmdzOiBhbnksIGFyZ1R5cGVzOiBBcmdUeXBlcyk6IEFyZ3NUcGxQYXJ0cyB7XG4vLyAgIC8vIGNvbnNvbGUubG9nKHsgYXJncywgYXJnVHlwZXMgfSlcbi8vICAgY29uc3QgcGFydHM6IEFyZ3NUcGxQYXJ0cyA9IHtcbi8vICAgICBhY3Rpb25zOiB7fSxcbi8vICAgICB0cGxmcmFnbWVudDogJydcbi8vICAgfVxuXG4vLyAgIE9iamVjdC5rZXlzKGFyZ1R5cGVzKS5mb3JFYWNoKGsgPT4ge1xuLy8gICAgIC8vIElucHV0c1xuLy8gICAgIGlmIChcbi8vICAgICAgIC8vIElzIGluIHRoZSBpbnB1dHMgY2F0ZWdvcnlcbi8vICAgICAgIGFyZ1R5cGVzW2tdLnRhYmxlLmNhdGVnb3J5ID09PSAnaW5wdXRzJyAmJlxuLy8gICAgICAgLy8gTmVlZHMgYSBjb250cm9sIHRvIGJlIGFibGUgdG8gY2hhbmdlIGZyb20gYXV0by1nZW5lcmF0ZWQgYXJncy5cbi8vICAgICAgIGFyZ1R5cGVzW2tdPy5oYXNPd25Qcm9wZXJ0eSgnY29udHJvbCcpICYmXG4vLyAgICAgICAvLyBBc3N1bWluZyB0aGUgYXJnIG1pZ2h0IG5vdCBiZSBpbiBwcm9wcyBpZiB0aGVyZSBpc24ndCBhbiBhcmcgdmFsdWUuXG4vLyAgICAgICBhcmdzLmhhc093blByb3BlcnR5KGspXG4vLyAgICAgKSB7XG4vLyAgICAgICBwYXJ0cy50cGxmcmFnbWVudCArPSBgWyR7a31dPVwiJHtrfVwiIGBcbi8vICAgICB9XG5cbi8vICAgICAvLyBPdXRwdXRzXG4vLyAgICAgaWYgKFxuLy8gICAgICAgLy8gSXMgaW4gdGhlIG91dHB1dHMgY2F0ZWdvcnlcbi8vICAgICAgIGFyZ1R5cGVzW2tdPy50YWJsZT8uY2F0ZWdvcnkgPT09ICdvdXRwdXRzJ1xuLy8gICAgICkge1xuLy8gICAgICAgLy8gV2l0aG91dCBhY2Nlc3MgdG8gcHJvcHMsIEkgZG9uJ3Qga25vdyBpZiBJIGNhbiBnZXQgYW4gYWN0aW9uIGludG8gdGhlXG4vLyAgICAgICAvLyB0ZW1wbGF0ZSBjb250ZXh0IGxpa2UgdGhpcy5cbi8vICAgICAgIHBhcnRzLnRwbGZyYWdtZW50ICs9IGAoJHtrfSk9XCIke2t9KCRldmVudClcIiBgXG4vLyAgICAgICBwYXJ0cy5hY3Rpb25zW2tdID0gYWN0aW9uKGspXG4vLyAgICAgfVxuLy8gICB9KVxuXG4vLyAgIHJldHVybiBwYXJ0c1xuLy8gfVxuXG5mdW5jdGlvbiByZW1vdmVEdXBsaWNhdGVzKGFycjogc3RyaW5nW10pIHtcbiAgY29uc3Qgc2VlbjogeyBbazogc3RyaW5nXTogYm9vbGVhbiB9ID0ge31cbiAgcmV0dXJuIGFyci5maWx0ZXIoaXRlbSA9PiB7XG4gICAgaWYgKCFzZWVuW2l0ZW1dKSB7XG4gICAgICBzZWVuW2l0ZW1dID0gdHJ1ZVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH0pXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJnc1RwbE9wdGlvbnMge1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBhbHdheXMgYmluZCB0byB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBhbHdheXNCaW5kPzogc3RyaW5nW11cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gZXhjbHVkZSBmcm9tIGJpZG5pbmcgdG8gdGhlIHRlbXBsYXRlLlxuICAgKi9cbiAgZXhjbHVkZT86IHN0cmluZ1tdXG59XG5cbi8qKlxuICogVGhpcyBpcyBhbiBhdHRlbXB0IGF0IHNpbXBsaWZ5aW5nIHRoZSB1c2Ugb2YgYXV0by1nZW5lcmF0ZWQgYXJncyBpbiBzdG9yaWVzXG4gKiBkZWZpbmVkIHdpdGggYHRlbXBsYXRlYCwgc2luY2UgQW5ndWxhciBkb2Vzbid0IGhhdmUgYSB3YXkgdG8gc2ltcGx5IHVzZSBhXG4gKiBzcHJlYWQgb3BlcmF0b3Igc3ludGF4LlxuICpcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ3NUb1RwbChvcHRpb25zPzogQXJnc1RwbE9wdGlvbnMpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZVN0b3J5Q29udGV4dDxBbmd1bGFyUmVuZGVyZXI+KClcblxuICBjb25zdCBleGNsdWRlID0gW1xuICAgIC4uLihjb250ZXh0Py5wYXJhbWV0ZXJzPy5hcmdzVG9UcGxPcHRpb25zPy5leGNsdWRlIHx8IFtdKSxcbiAgICAuLi4ob3B0aW9ucz8uZXhjbHVkZSB8fCBbXSksXG4gIF1cblxuICBjb25zdCBhbHdheXNCaW5kID0gY29udGV4dD8ucGFyYW1ldGVycz8uYXJnc1RvVHBsT3B0aW9ucz8uYWx3YXlzQmluZCB8fCBbXVxuXG4gIGNvbnN0IHByb3BzID0gcmVtb3ZlRHVwbGljYXRlcyhbXG4gICAgLi4uYWx3YXlzQmluZCxcbiAgICAuLi5PYmplY3Qua2V5cyhjb250ZXh0LmFyZ3MpLFxuICBdKVxuXG4gIGNvbnN0IHBhcnRzID0gcHJvcHNcbiAgICAuZmlsdGVyKGsgPT4gZXhjbHVkZS5pbmRleE9mKGspID09PSAtMSlcbiAgICAubWFwKGsgPT4ge1xuICAgICAgLy8gT3V0cHV0c1xuICAgICAgaWYgKFxuICAgICAgICBjb250ZXh0LmFyZ1R5cGVzW2tdPy5oYXNPd25Qcm9wZXJ0eSgnYWN0aW9uJykgJiZcbiAgICAgICAgKGNvbnRleHQuYXJncy5oYXNPd25Qcm9wZXJ0eShrKSB8fCBhbHdheXNCaW5kLmluZGV4T2YoaykgIT09IC0xKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBgKCR7a30pPVwiJHtrfSgkZXZlbnQpXCJgXG4gICAgICB9XG5cbiAgICAgIC8vIElucHV0c1xuICAgICAgaWYgKFxuICAgICAgICAoY29udGV4dC5hcmdzLmhhc093blByb3BlcnR5KGspIHx8IGFsd2F5c0JpbmQuaW5kZXhPZihrKSAhPT0gLTEpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGBbJHtrfV09XCIke2t9XCJgXG4gICAgICB9XG4gICAgfSlcblxuICByZXR1cm4gcGFydHMubGVuZ3RoID4gMCA/IHBhcnRzLmpvaW4oJyAnKSA6ICcnXG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  export * from './arg-type-helpers';
2
- // export * from './args-to-tpl'
2
+ export * from './args-to-tpl';
3
3
  export * from './story-empty.component';
4
4
  export * from './story-initial-route';
5
5
  export * from './route-button';
@@ -13,4 +13,4 @@ export * from './story-toastr.service';
13
13
  export * from './on-story-bootstrapped-exec';
14
14
  export * from './on-story-bootstrapped-trigger';
15
15
  export * from './story-preferences-accessor.service';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9zdG9yeS1oZWxwZXJzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxnQ0FBZ0M7QUFDaEMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJnLXR5cGUtaGVscGVycydcbi8vIGV4cG9ydCAqIGZyb20gJy4vYXJncy10by10cGwnXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LWVtcHR5LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vc3RvcnktaW5pdGlhbC1yb3V0ZSdcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUtYnV0dG9uJ1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXMtYXJnLXR5cGUnXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LWhlbHBlci1jb21wb25lbnRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vaW5pdGlhbC1yb3V0ZS5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9pbml0aWFsLXJvdXRlLWZhY3RvcnknXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LWVtcHR5LXdpdGgtcm91dGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yeS1tb2RhbC1jb250YWluZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yeS10b2FzdHIuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vb24tc3RvcnktYm9vdHN0cmFwcGVkLWV4ZWMnXG5leHBvcnQgKiBmcm9tICcuL29uLXN0b3J5LWJvb3RzdHJhcHBlZC10cmlnZ2VyJ1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yeS1wcmVmZXJlbmNlcy1hY2Nlc3Nvci5zZXJ2aWNlJ1xuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9zdG9yeS1oZWxwZXJzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLGVBQWUsQ0FBQTtBQUM3QixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLHNDQUFzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmctdHlwZS1oZWxwZXJzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcmdzLXRvLXRwbCdcbmV4cG9ydCAqIGZyb20gJy4vc3RvcnktZW1wdHkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yeS1pbml0aWFsLXJvdXRlJ1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1idXR0b24nXG5leHBvcnQgKiBmcm9tICcuL3JvdXRlcy1hcmctdHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vc3RvcnktaGVscGVyLWNvbXBvbmVudHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9pbml0aWFsLXJvdXRlLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWwtcm91dGUtZmFjdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vc3RvcnktZW1wdHktd2l0aC1yb3V0ZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LW1vZGFsLWNvbnRhaW5lci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LXRvYXN0ci5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9vbi1zdG9yeS1ib290c3RyYXBwZWQtZXhlYydcbmV4cG9ydCAqIGZyb20gJy4vb24tc3RvcnktYm9vdHN0cmFwcGVkLXRyaWdnZXInXG5leHBvcnQgKiBmcm9tICcuL3N0b3J5LXByZWZlcmVuY2VzLWFjY2Vzc29yLnNlcnZpY2UnXG4iXX0=
@@ -7,4 +7,5 @@ export * from './tel-input.directive';
7
7
  export * from './tel-input-validator';
8
8
  export * from './tel-input.module';
9
9
  export * from './phone-number.pipe';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZWwtaW5wdXQvdGVsLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJ1xuZXhwb3J0ICogZnJvbSAnLi91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vaW50bC10ZWwtaW5wdXQnXG5leHBvcnQgKiBmcm9tICcuL3RlbC1pbnB1dC1jb25zdGFudHMnXG5leHBvcnQgKiBmcm9tICcuL3RlbC1pbnB1dC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL3RlbC1pbnB1dC12YWxpZGF0b3InXG5leHBvcnQgKiBmcm9tICcuL3RlbC1pbnB1dC5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL3Bob25lLW51bWJlci5waXBlJ1xuIl19
10
+ export * from './testing/tel-input.harness';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLHFCQUFxQixDQUFBO0FBRW5DLGNBQWMsNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RlbC1pbnB1dC90ZWwtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnRsLXRlbC1pbnB1dCdcbmV4cG9ydCAqIGZyb20gJy4vdGVsLWlucHV0LWNvbnN0YW50cydcbmV4cG9ydCAqIGZyb20gJy4vdGVsLWlucHV0LmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vdGVsLWlucHV0LXZhbGlkYXRvcidcbmV4cG9ydCAqIGZyb20gJy4vdGVsLWlucHV0Lm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtbnVtYmVyLnBpcGUnXG5cbmV4cG9ydCAqIGZyb20gJy4vdGVzdGluZy90ZWwtaW5wdXQuaGFybmVzcydcbiJdfQ==
@@ -1,18 +1,18 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
3
  import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, HostBinding, HostListener, InjectFlags, Input, Output, ViewChild } from '@angular/core';
4
- import { UntypedFormControl, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { UntypedFormControl, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
5
5
  import { defer, fromEvent, merge, of, Subject } from 'rxjs';
6
6
  import { auditTime, map, switchMap, takeUntil } from 'rxjs/operators';
7
7
  import { InputBoolean } from '@theseam/ui-common/core';
8
- import { InputDirective } from '@theseam/ui-common/form-field';
8
+ import { InputDirective, TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
9
9
  import { TheSeamTelInputDirective } from '../tel-input.directive';
10
+ import { CommonModule } from '@angular/common';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/cdk/a11y";
12
- import * as i2 from "@angular/forms";
13
- import * as i3 from "@theseam/ui-common/form-field";
14
- import * as i4 from "../tel-input.directive";
15
- import * as i5 from "@angular/common";
13
+ import * as i2 from "@angular/common";
14
+ import * as i3 from "@angular/forms";
15
+ import * as i4 from "@theseam/ui-common/form-field";
16
16
  // TODO: Fix focus
17
17
  // TODO: Fix disabled
18
18
  export class TheSeamTelInputComponent {
@@ -88,11 +88,14 @@ export class TheSeamTelInputComponent {
88
88
  this._focusMonitor.monitor(this._elementRef, true).pipe(takeUntil(this._ngUnsubscribe)).subscribe(origin => this._focusOrigin = origin);
89
89
  this._control.valueChanges.pipe(takeUntil(this._ngUnsubscribe)).subscribe(v => {
90
90
  const value = this._telInputDirective?.getFullNumber();
91
+ // console.log('valueChanges', v, value)
91
92
  this.value = value;
92
93
  if (this._controlValueAccessorChangeFn) {
93
94
  this._controlValueAccessorChangeFn(value);
95
+ this.change.emit(value);
94
96
  }
95
97
  });
98
+ this._control.setValue(this.value ?? '');
96
99
  }
97
100
  /** @ignore */
98
101
  ngOnDestroy() {
@@ -103,7 +106,11 @@ export class TheSeamTelInputComponent {
103
106
  // Implemented as part of ControlValueAccessor.
104
107
  /** @ignore */
105
108
  writeValue(value) {
109
+ // console.log('writeValue', value, this._telInputDirective?.getFullNumber(), this._control.value)
106
110
  this.value = value;
111
+ if (this._control.value !== value) {
112
+ this._control.setValue(value);
113
+ }
107
114
  if (this._telInputDirective) {
108
115
  this._telInputDirective.value = value;
109
116
  this._telInputDirective.updateValue();
@@ -137,11 +144,11 @@ export class TheSeamTelInputComponent {
137
144
  }
138
145
  }
139
146
  TheSeamTelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
140
- TheSeamTelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamTelInputComponent, selector: "seam-tel-input", inputs: { required: "required", disabled: "disabled", tabIndex: "tabIndex", name: "name", value: "value" }, outputs: { change: "change" }, host: { listeners: { "focus": "_onFocus($event)" }, properties: { "attr.disabled": "this._attrDisabled", "attr.tabindex": "this._attrTabIndex" } }, providers: [{
147
+ TheSeamTelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamTelInputComponent, isStandalone: true, selector: "seam-tel-input", inputs: { required: "required", disabled: "disabled", tabIndex: "tabIndex", name: "name", value: "value" }, outputs: { change: "change" }, host: { listeners: { "focus": "_onFocus($event)" }, properties: { "attr.disabled": "this._attrDisabled", "attr.tabindex": "this._attrTabIndex" } }, providers: [{
141
148
  provide: NG_VALUE_ACCESSOR,
142
149
  useExisting: forwardRef(() => TheSeamTelInputComponent),
143
150
  multi: true
144
- }], viewQueries: [{ propertyName: "_telInputDirective", first: true, predicate: TheSeamTelInputDirective, descendants: true, static: true }, { propertyName: "_inputDirective", first: true, predicate: InputDirective, descendants: true, static: true }, { propertyName: "_inputElementRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\" />\n", styles: [":host{display:block}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover{cursor:default}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:transparent}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__arrow{display:none}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: i4.TheSeamTelInputDirective, selector: "input[seamTelInput]", inputs: ["value"], exportAs: ["seamTelInput"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
+ }], viewQueries: [{ propertyName: "_telInputDirective", first: true, predicate: TheSeamTelInputDirective, descendants: true, static: true }, { propertyName: "_inputDirective", first: true, predicate: InputDirective, descendants: true, static: true }, { propertyName: "_inputElementRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\"\n [required]=\"required\"/>\n", styles: [":host{display:block}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover{cursor:default}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:transparent}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__arrow{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TheSeamFormFieldModule }, { kind: "directive", type: i4.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-checkbox[seamInput] [ngbRadioGroup], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "directive", type: TheSeamTelInputDirective, selector: "input[seamTelInput]", inputs: ["value"], exportAs: ["seamTelInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
145
152
  __decorate([
146
153
  InputBoolean()
147
154
  ], TheSeamTelInputComponent.prototype, "required", void 0);
@@ -151,7 +158,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
151
158
  provide: NG_VALUE_ACCESSOR,
152
159
  useExisting: forwardRef(() => TheSeamTelInputComponent),
153
160
  multi: true
154
- }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\" />\n", styles: [":host{display:block}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover{cursor:default}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:transparent}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__arrow{display:none}\n"] }]
161
+ }], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
162
+ CommonModule,
163
+ ReactiveFormsModule,
164
+ TheSeamFormFieldModule,
165
+ TheSeamTelInputDirective,
166
+ ], template: "<input seamTelInput seamInput\n [formControl]=\"_control\"\n [class.is-invalid]=\"_hasInvalidCss$ | async\"\n [required]=\"required\"/>\n", styles: [":host{display:block}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover{cursor:default}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{background-color:transparent}:host[disabled] ::ng-deep .iti--allow-dropdown .iti__arrow{display:none}\n"] }]
155
167
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { required: [{
156
168
  type: Input
157
169
  }], disabled: [{
@@ -183,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
183
195
  type: HostListener,
184
196
  args: ['focus', ['$event']]
185
197
  }] } });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0L3RlbC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vdGVsLWlucHV0L3RlbC1pbnB1dC90ZWwtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRyxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osV0FBVyxFQUVYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkcsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUE7Ozs7Ozs7QUFFakUsa0JBQWtCO0FBQ2xCLHFCQUFxQjtBQWFyQixNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxJQUNJLFFBQVEsS0FBYyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFDO0lBQ2pELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFN0MsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdkMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFBO2FBQ3ZCO1NBQ0Y7UUFFRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFBO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtTQUN2QztJQUNILENBQUM7SUFJRDs7OztPQUlHO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBYSxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzVFLElBQUksUUFBUSxLQUFhLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFHaEQsSUFDSSxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQSxDQUFDLENBQUM7SUFFcEQsSUFDSSxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQStCeEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBV0QsWUFDbUIsa0JBQXFDLEVBQ3JDLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGFBQTJCO1FBSDNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQS9GOUMsY0FBYztRQUNHLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUVyRCxjQUFjO1FBQ0wsYUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtRQUVwQyxpQkFBWSxHQUFnQixJQUFJLENBQUE7UUFJZixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBb0J6QyxjQUFjO1FBQ04sY0FBUyxHQUFHLEtBQUssQ0FBQTtRQVVqQixjQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFRdEIsaUVBQWlFO1FBQ3hELFNBQUksR0FBOEIsSUFBSSxDQUFBO1FBSy9DLHdEQUF3RDtRQUN4RCw0REFBNEQ7UUFDekMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUF5QnREOzs7V0FHRztRQUNILGVBQVUsR0FBYyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7UUFFaEMsY0FBYztRQUNOLGtDQUE2QixHQUF5QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7UUFRcEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCO1lBQ2hELENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQztZQUM3RCxDQUFDLENBQUMsRUFBRSxFQUFTLENBQUE7UUFFZixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEgsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xCLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLGtCQUFrQixDQUNuQixDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDUCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQTtvQkFDcEQsT0FBTyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQWdCLElBQUksWUFBWSxFQUFFLE9BQWtCLENBQUMsQ0FBQTtnQkFDaEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQTthQUNGO1lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNyRCxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUE7UUFFakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUMvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsQ0FBQTtZQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUNsQixJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQzFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGNBQWM7SUFDZCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUE7U0FDdEM7SUFDSCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxFQUF3QjtRQUN2QyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFBO0lBQ3pDLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsY0FBYztJQUNkLGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELCtDQUErQztJQUMvQyxjQUFjO0lBQ2QsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUE7SUFDNUIsQ0FBQztJQUVELHlCQUF5QjtJQUNsQixLQUFLO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ2xDLENBQUM7SUFFRCwyQkFBMkI7SUFDcEIsSUFBSTtRQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUE7SUFDdEUsQ0FBQzs7cUhBOUxVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHdVQVB4QixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyw4RUFzRVMsd0JBQXdCLGdHQU14QixjQUFjLHdLQ25IM0Isb0hBR0E7QURxRDJCO0lBQWYsWUFBWSxFQUFFOzBEQUFpQjsyRkFkOUIsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUMsbUJBQ2UsdUJBQXVCLENBQUMsTUFBTTttTEFnQnRCLFFBQVE7c0JBQWhDLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQTJCRixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxlQUFlO2dCQUl4QixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGVBQWU7Z0JBSW5CLElBQUk7c0JBQVosS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFNZ0Qsa0JBQWtCO3NCQUF4RSxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNUixlQUFlO3NCQUEzRCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTUwsZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBRSxRQUFRLENBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RGbGFncyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IGRlZmVyLCBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBhdWRpdFRpbWUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9mb3JtLWZpZWxkJ1xuXG5pbXBvcnQgeyBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi90ZWwtaW5wdXQuZGlyZWN0aXZlJ1xuXG4vLyBUT0RPOiBGaXggZm9jdXNcbi8vIFRPRE86IEZpeCBkaXNhYmxlZFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXRlbC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWwtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZVNlYW1UZWxJbnB1dENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1UZWxJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZXF1aXJlZDogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBfY29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxuXG4gIHByaXZhdGUgX2ZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGxcblxuICBfaGFzSW52YWxpZENzcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcmVxdWlyZWQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpXG5cbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICB0aGlzLl9jb250cm9sLmRpc2FibGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fY29udHJvbC5lbmFibGUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZVxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRhYiBpbmRleCB0byBgLTFgIHRvIGFsbG93IHRoZSByb290IGVsZW1lbnQgb2YgdGhlXG4gICAqIGNvbXBvbmVudCB0byByZWNlaXZlIGBmb2N1c2AgZXZlbnQgZnJvbSBqYXZhc2NyaXB0LCBidXQgbm90IGdldCBmb2N1c2VkIGJ5XG4gICAqIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikgeyB0aGlzLl90YWJJbmRleCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSB9XG4gIGdldCB0YWJJbmRleCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fdGFiSW5kZXggfVxuICBwcml2YXRlIF90YWJJbmRleCA9IC0xXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgZ2V0IF9hdHRyRGlzYWJsZWQoKSB7IHJldHVybiB0aGlzLmRpc2FibGVkIHx8IG51bGwgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCBfYXR0clRhYkluZGV4KCkgeyByZXR1cm4gdGhpcy5kaXNhYmxlZCA/IC0xIDogKHRoaXMudGFiSW5kZXggfHwgMCkgfVxuXG4gIC8qKiBOYW1lIHZhbHVlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudCBpZiBwcmVzZW50ICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsXG5cbiAgLyoqIFRoZSB2YWx1ZSBhdHRyaWJ1dGUgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50ICovXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgXCJ0ZWxcIiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG5cbiAgLyoqXG4gICAqIFRoZSB0ZWxJbnB1dCBkaXJlY3RpdmVcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZChUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIF90ZWxJbnB1dERpcmVjdGl2ZT86IFRoZVNlYW1UZWxJbnB1dERpcmVjdGl2ZVxuXG4gIC8qKlxuICAgKiBUaGUgdGVsSW5wdXQgZGlyZWN0aXZlXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoSW5wdXREaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dERpcmVjdGl2ZT86IElucHV0RGlyZWN0aXZlXG5cbiAgLyoqXG4gICAqIFRoZSBuYXRpdmUgYDxpbnB1dCB0eXBlPVwidGVsXCI+YCBlbGVtZW50XG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0RWxlbWVudFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsgJyRldmVudCcgXSlcbiAgX29uRm9jdXMoKSB7XG4gICAgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmU/LmZvY3VzKClcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC4gTmVlZGVkIHRvIHByb3Blcmx5IGltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX29uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4ge31cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICkge1xuICAgIGNvbnN0IHRlbElucHV0Qmx1ckV2ZW50JCA9IHRoaXMuX3RlbElucHV0RGlyZWN0aXZlXG4gICAgICA/IGZyb21FdmVudCh0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZS5nZXRIb3N0RWxlbWVudCgpLCAnYmx1cicpXG4gICAgICA6IG9mPEV2ZW50PigpXG5cbiAgICB0aGlzLl9oYXNJbnZhbGlkQ3NzJCA9IGRlZmVyKCgpID0+IG9mKCh0aGlzLl9pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsLCBJbmplY3RGbGFncy5TZWxmKT8uY29udHJvbCkgfHwgdW5kZWZpbmVkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcChjb250cm9sID0+IHtcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcyxcbiAgICAgICAgICAgIHRlbElucHV0Qmx1ckV2ZW50JFxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGF1ZGl0VGltZSgwKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlucHV0Q29udHJvbCA9IHRoaXMuX2lucHV0RGlyZWN0aXZlPy5uZ0NvbnRyb2xcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2wuaW52YWxpZCAmJiAoaW5wdXRDb250cm9sPy5kaXJ0eSBhcyBib29sZWFuIHx8IGlucHV0Q29udHJvbD8udG91Y2hlZCBhcyBib29sZWFuKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpXG4gICAgKS5zdWJzY3JpYmUob3JpZ2luID0+IHRoaXMuX2ZvY3VzT3JpZ2luID0gb3JpZ2luKVxuXG4gICAgdGhpcy5fY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZT8uZ2V0RnVsbE51bWJlcigpXG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICAgIGlmICh0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKSB7XG4gICAgICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odmFsdWUpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKVxuXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gIC8qKiBAaWdub3JlICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIGlmICh0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZSkge1xuICAgICAgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmUudmFsdWUgPSB2YWx1ZVxuICAgICAgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmUudXBkYXRlVmFsdWUoKVxuICAgIH1cbiAgfVxuXG4gIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuXG4gIH1cblxuICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAvKiogQGlnbm9yZSAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gIC8qKiBAaWdub3JlICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgaW5wdXQuICovXG4gIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZT8uZm9jdXMoKVxuICB9XG5cbiAgLyoqIFVuZm9jdXNlcyB0aGUgaW5wdXQuICovXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX3RlbElucHV0RGlyZWN0aXZlPy5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyBoYXNGb2N1cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPcmlnaW4gIT09IG51bGwgJiYgdGhpcy5fZm9jdXNPcmlnaW4gIT09IHVuZGVmaW5lZFxuICB9XG5cbn1cbiIsIjxpbnB1dCBzZWFtVGVsSW5wdXQgc2VhbUlucHV0XG4gIFtmb3JtQ29udHJvbF09XCJfY29udHJvbFwiXG4gIFtjbGFzcy5pcy1pbnZhbGlkXT1cIl9oYXNJbnZhbGlkQ3NzJCB8IGFzeW5jXCIgLz5cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0L3RlbC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vdGVsLWlucHV0L3RlbC1pbnB1dC90ZWwtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqRyxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osV0FBVyxFQUVYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUgsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7Ozs7QUFFOUMsa0JBQWtCO0FBQ2xCLHFCQUFxQjtB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QUFLO2dCQTJCRixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxlQUFlO2dCQUl4QixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGVBQWU7Z0JBSW5CLElBQUk7c0JBQVosS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFNZ0Qsa0JBQWtCO3NCQUF4RSxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFNUixlQUFlO3NCQUEzRCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBTUwsZ0JBQWdCO3NCQUFyRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBRSxRQUFRLENBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RGbGFncyxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IGRlZmVyLCBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBhdWRpdFRpbWUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSwgVGhlU2VhbUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9mb3JtLWZpZWxkJ1xuXG5pbXBvcnQgeyBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi90ZWwtaW5wdXQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG4vLyBUT0RPOiBGaXggZm9jdXNcbi8vIFRPRE86IEZpeCBkaXNhYmxlZFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXRlbC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWwtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZWwtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZVNlYW1UZWxJbnB1dENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGhlU2VhbUZvcm1GaWVsZE1vZHVsZSxcbiAgICBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1UZWxJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZXF1aXJlZDogQm9vbGVhbklucHV0XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBfY29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKVxuXG4gIHByaXZhdGUgX2ZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGxcblxuICBfaGFzSW52YWxpZENzcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgcmVxdWlyZWQgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpXG5cbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgICB0aGlzLl9jb250cm9sLmRpc2FibGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fY29udHJvbC5lbmFibGUoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZVxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRhYiBpbmRleCB0byBgLTFgIHRvIGFsbG93IHRoZSByb290IGVsZW1lbnQgb2YgdGhlXG4gICAqIGNvbXBvbmVudCB0byByZWNlaXZlIGBmb2N1c2AgZXZlbnQgZnJvbSBqYXZhc2NyaXB0LCBidXQgbm90IGdldCBmb2N1c2VkIGJ5XG4gICAqIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikgeyB0aGlzLl90YWJJbmRleCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSB9XG4gIGdldCB0YWJJbmRleCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fdGFiSW5kZXggfVxuICBwcml2YXRlIF90YWJJbmRleCA9IC0xXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgZ2V0IF9hdHRyRGlzYWJsZWQoKSB7IHJldHVybiB0aGlzLmRpc2FibGVkIHx8IG51bGwgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCBfYXR0clRhYkluZGV4KCkgeyByZXR1cm4gdGhpcy5kaXNhYmxlZCA/IC0xIDogKHRoaXMudGFiSW5kZXggfHwgMCkgfVxuXG4gIC8qKiBOYW1lIHZhbHVlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudCBpZiBwcmVzZW50ICovXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsXG5cbiAgLyoqIFRoZSB2YWx1ZSBhdHRyaWJ1dGUgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50ICovXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgXCJ0ZWxcIiBpbnB1dCB2YWx1ZSBjaGFuZ2VzLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbD4oKVxuXG4gIC8qKlxuICAgKiBUaGUgdGVsSW5wdXQgZGlyZWN0aXZlXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoVGhlU2VhbVRlbElucHV0RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBfdGVsSW5wdXREaXJlY3RpdmU/OiBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmVcblxuICAvKipcbiAgICogVGhlIHRlbElucHV0IGRpcmVjdGl2ZVxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKElucHV0RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW5wdXREaXJlY3RpdmU/OiBJbnB1dERpcmVjdGl2ZVxuXG4gIC8qKlxuICAgKiBUaGUgbmF0aXZlIGA8aW5wdXQgdHlwZT1cInRlbFwiPmAgZWxlbWVudFxuICAgKiBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dEVsZW1lbnRSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbICckZXZlbnQnIF0pXG4gIF9vbkZvY3VzKCkge1xuICAgIHRoaXMuX3RlbElucHV0RGlyZWN0aXZlPy5mb2N1cygpXG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGlzIGJsdXJyZWQuIE5lZWRlZCB0byBwcm9wZXJseSBpbXBsZW1lbnQgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICApIHtcbiAgICBjb25zdCB0ZWxJbnB1dEJsdXJFdmVudCQgPSB0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZVxuICAgICAgPyBmcm9tRXZlbnQodGhpcy5fdGVsSW5wdXREaXJlY3RpdmUuZ2V0SG9zdEVsZW1lbnQoKSwgJ2JsdXInKVxuICAgICAgOiBvZjxFdmVudD4oKVxuXG4gICAgdGhpcy5faGFzSW52YWxpZENzcyQgPSBkZWZlcigoKSA9PiBvZigodGhpcy5faW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCwgSW5qZWN0RmxhZ3MuU2VsZik/LmNvbnRyb2wpIHx8IHVuZGVmaW5lZCkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY29udHJvbCA9PiB7XG4gICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXMsXG4gICAgICAgICAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICAgICAgICB0ZWxJbnB1dEJsdXJFdmVudCRcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBhdWRpdFRpbWUoMCksXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpbnB1dENvbnRyb2wgPSB0aGlzLl9pbnB1dERpcmVjdGl2ZT8ubmdDb250cm9sXG4gICAgICAgICAgICAgIHJldHVybiBjb250cm9sLmludmFsaWQgJiYgKGlucHV0Q29udHJvbD8uZGlydHkgYXMgYm9vbGVhbiB8fCBpbnB1dENvbnRyb2w/LnRvdWNoZWQgYXMgYm9vbGVhbilcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZihmYWxzZSlcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwgdHJ1ZSkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKG9yaWdpbiA9PiB0aGlzLl9mb2N1c09yaWdpbiA9IG9yaWdpbilcblxuICAgIHRoaXMuX2NvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSlcbiAgICApLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fdGVsSW5wdXREaXJlY3RpdmU/LmdldEZ1bGxOdW1iZXIoKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3ZhbHVlQ2hhbmdlcycsIHYsIHZhbHVlKVxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgICBpZiAodGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbikge1xuICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHZhbHVlKVxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKVxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5fY29udHJvbC5zZXRWYWx1ZSh0aGlzLnZhbHVlID8/ICcnKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpXG5cbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgLy8gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2coJ3dyaXRlVmFsdWUnLCB2YWx1ZSwgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmU/LmdldEZ1bGxOdW1iZXIoKSwgdGhpcy5fY29udHJvbC52YWx1ZSlcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICBpZiAodGhpcy5fY29udHJvbC52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsdWUodmFsdWUpXG4gICAgfVxuICAgIGlmICh0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZSkge1xuICAgICAgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmUudmFsdWUgPSB2YWx1ZVxuICAgICAgdGhpcy5fdGVsSW5wdXREaXJlY3RpdmUudXBkYXRlVmFsdWUoKVxuICAgIH1cbiAgfVxuXG4gIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuXG4gIH1cblxuICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAvKiogQGlnbm9yZSAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gIC8qKiBAaWdub3JlICovXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgaW5wdXQuICovXG4gIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl90ZWxJbnB1dERpcmVjdGl2ZT8uZm9jdXMoKVxuICB9XG5cbiAgLyoqIFVuZm9jdXNlcyB0aGUgaW5wdXQuICovXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX3RlbElucHV0RGlyZWN0aXZlPy5ibHVyKClcbiAgfVxuXG4gIHB1YmxpYyBoYXNGb2N1cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPcmlnaW4gIT09IG51bGwgJiYgdGhpcy5fZm9jdXNPcmlnaW4gIT09IHVuZGVmaW5lZFxuICB9XG5cbn1cbiIsIjxpbnB1dCBzZWFtVGVsSW5wdXQgc2VhbUlucHV0XG4gIFtmb3JtQ29udHJvbF09XCJfY29udHJvbFwiXG4gIFtjbGFzcy5pcy1pbnZhbGlkXT1cIl9oYXNJbnZhbGlkQ3NzJCB8IGFzeW5jXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIvPlxuIl19
@@ -11,7 +11,6 @@ import * as i1 from "@theseam/ui-common/services";
11
11
  import * as i2 from "@angular/forms";
12
12
  export class TheSeamTelInputDirective {
13
13
  set value(v) {
14
- // console.log('set value', v, this._instance)
15
14
  this._value = v;
16
15
  if (this._instance) {
17
16
  this._instance.setNumber(notNullOrUndefined(v) ? v : '');
@@ -46,11 +45,9 @@ export class TheSeamTelInputDirective {
46
45
  };
47
46
  }
48
47
  ngOnInit() {
49
- merge(this._assetLoader.loadStyleSheet(TEL_INPUT_STYLESHEET_PATH), this._assetLoader.loadStyle(TEL_INPUT_STYLES)).pipe(
50
- // tap(v => console.log('loaded', v)),
51
- tap(v => this._loadedAssetRefs.push(v)), last(),
52
- // tap(v => console.log('StyleLoadingDone', v)),
53
- switchMap(() => {
48
+ this._elementRef.nativeElement.value = this._ngControl ? this._ngControl.value : this.value ?? '';
49
+ this._elementRef.nativeElement.setAttribute('instance-loading', '');
50
+ merge(this._assetLoader.loadStyleSheet(TEL_INPUT_STYLESHEET_PATH), this._assetLoader.loadStyle(TEL_INPUT_STYLES)).pipe(tap(v => this._loadedAssetRefs.push(v)), last(), switchMap(() => {
54
51
  this._instance = IntlTelInputFn(this._elementRef.nativeElement, {
55
52
  utilsScript: TEL_INPUT_UTILS_PATH,
56
53
  preferredCountries: ['US'],
@@ -63,10 +60,11 @@ export class TheSeamTelInputDirective {
63
60
  // initialCountry: 'auto'
64
61
  });
65
62
  this._tryUpdateDropdownAttributes();
66
- return this._instance.promise;
67
- }),
68
- // tap(() => console.log('%c_instance ready', 'color:green', this._instance, this._elementRef.nativeElement.value)),
69
- tap(() => this._initDropdownListener()), tap(() => this.value = this._value), tap(this._formatIntlTelInput), switchMap(() => merge(fromEvent(this._elementRef.nativeElement, 'keyup'), fromEvent(this._elementRef.nativeElement, 'change'))), tap(this._formatIntlTelInput), takeUntil(this._ngUnsubscribe)).subscribe();
63
+ return this._instance.promise.then(v => {
64
+ this._elementRef.nativeElement.removeAttribute('instance-loading');
65
+ return v;
66
+ });
67
+ }), tap(() => this._initDropdownListener()), tap(() => this.value = this._value), tap(this._formatIntlTelInput), switchMap(() => merge(fromEvent(this._elementRef.nativeElement, 'keyup'), fromEvent(this._elementRef.nativeElement, 'change'))), tap(this._formatIntlTelInput), takeUntil(this._ngUnsubscribe)).subscribe();
70
68
  }
71
69
  ngOnDestroy() {
72
70
  this._instance?.destroy();
@@ -185,12 +183,13 @@ export class TheSeamTelInputDirective {
185
183
  }
186
184
  }
187
185
  TheSeamTelInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.AssetLoaderService }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
188
- TheSeamTelInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamTelInputDirective, selector: "input[seamTelInput]", inputs: { value: "value" }, host: { properties: { "attr.type": "this._attrType" } }, exportAs: ["seamTelInput"], ngImport: i0 });
186
+ TheSeamTelInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamTelInputDirective, isStandalone: true, selector: "input[seamTelInput]", inputs: { value: "value" }, host: { properties: { "attr.type": "this._attrType" } }, exportAs: ["seamTelInput"], ngImport: i0 });
189
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputDirective, decorators: [{
190
188
  type: Directive,
191
189
  args: [{
192
190
  selector: 'input[seamTelInput]',
193
- exportAs: 'seamTelInput'
191
+ exportAs: 'seamTelInput',
192
+ standalone: true,
194
193
  }]
195
194
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AssetLoaderService }, { type: i0.NgZone }, { type: undefined, decorators: [{
196
195
  type: Optional
@@ -207,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
207
206
  }], value: [{
208
207
  type: Input
209
208
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBNkIsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQTZCLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDM0ksT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQU12RCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLElBQ0ksS0FBSyxDQUFDLENBQTRCO1FBQ3BDLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUNmLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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SUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQTtJQUN2QyxDQUFDOztxSEFyT1Usd0JBQXdCLG9HQTZCYixRQUFRO3lHQTdCbkIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzswQkE4QkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzswQkFDM0IsUUFBUTs7MEJBQUksSUFBSTs0Q0F4Qk8sU0FBUztzQkFBbEMsV0FBVzt1QkFBQyxXQUFXO2dCQUdwQixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IERpcmVjdGl2ZSwgRG9DaGVjaywgRWxlbWVudFJlZiwgSG9zdCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBsYXN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEFzc2V0TG9hZGVyU2VydmljZSwgTG9hZGVkQXNzZXRSZWYgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2VydmljZXMnXG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGUsIGhhc0F0dHJpYnV0ZSwgbm90TnVsbE9yVW5kZWZpbmVkLCB0b2dnbGVBdHRyaWJ1dGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgSW50bFRlbElucHV0Rm4sIGludGxUZWxJbnB1dFV0aWxzIH0gZnJvbSAnLi9pbnRsLXRlbC1pbnB1dCdcbmltcG9ydCB0eXBlIHsgSW50bFRlbElucHV0IH0gZnJvbSAnLi9pbnRsLXRlbC1pbnB1dCdcbmltcG9ydCB7IFRFTF9JTlBVVF9TVFlMRVMsIFRFTF9JTlBVVF9TVFlMRVNIRUVUX1BBVEgsIFRFTF9JTlBVVF9VVElMU19QQVRIIH0gZnJvbSAnLi90ZWwtaW5wdXQtY29uc3RhbnRzJ1xuaW1wb3J0IHsgZ2xvYmFsSW50bFRlbElucHV0VXRpbHMgfSBmcm9tICcuL3V0aWxzL2luZGV4J1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFtzZWFtVGVsSW5wdXRdJyxcbiAgZXhwb3J0QXM6ICdzZWFtVGVsSW5wdXQnXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1UZWxJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBwcml2YXRlIF9pbnN0YW5jZTogSW50bFRlbElucHV0LlBsdWdpbiB8IHVuZGVmaW5lZFxuICBwcml2YXRlIF9sb2FkZWRBc3NldFJlZnM6IExvYWRlZEFzc2V0UmVmPEhUTUxMaW5rRWxlbWVudCB8IEhUTUxTdHlsZUVsZW1lbnQ+W10gPSBbXVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50eXBlJykgX2F0dHJUeXBlID0gJ3RlbCdcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodjogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIC8vIGNvbnNvbGUubG9nKCdzZXQgdmFsdWUnLCB2LCB0aGlzLl9pbnN0YW5jZSlcbiAgICB0aGlzLl92YWx1ZSA9IHZcbiAgICBpZiAodGhpcy5faW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuX2luc3RhbmNlLnNldE51bWJlcihub3ROdWxsT3JVbmRlZmluZWQodikgPyB2IDogJycpXG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKClcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIGlmICh0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlPy5nZXROdW1iZXIoKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdmFsdWVcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXNzZXRMb2FkZXI6IEFzc2V0TG9hZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudD86IGFueSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgcmVhZG9ubHkgX25nQ29udHJvbD86IE5nQ29udHJvbCxcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBtZXJnZShcbiAgICAgIHRoaXMuX2Fzc2V0TG9hZGVyLmxvYWRTdHlsZVNoZWV0KFRFTF9JTlBVVF9TVFlMRVNIRUVUX1BBVEgpLFxuICAgICAgdGhpcy5fYXNzZXRMb2FkZXIubG9hZFN0eWxlKFRFTF9JTlBVVF9TVFlMRVMpXG4gICAgKS5waXBlKFxuICAgICAgLy8gdGFwKHYgPT4gY29uc29sZS5sb2coJ2xvYWRlZCcsIHYpKSxcbiAgICAgIHRhcCh2ID0+IHRoaXMuX2xvYWRlZEFzc2V0UmVmcy5wdXNoKHYpKSxcbiAgICAgIGxhc3QoKSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdTdHlsZUxvYWRpbmdEb25lJywgdikpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBJbnRsVGVsSW5wdXRGbih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICB1dGlsc1NjcmlwdDogVEVMX0lOUFVUX1VUSUxTX1BBVEgsXG4gICAgICAgICAgcHJlZmVycmVkQ291bnRyaWVzOiBbICdVUycgXSxcbiAgICAgICAgICBuYXRpb25hbE1vZGU6IGZhbHNlLFxuICAgICAgICAgIGZvcm1hdE9uRGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICBhdXRvUGxhY2Vob2xkZXI6ICdvZmYnLFxuICAgICAgICAgIHNlcGFyYXRlRGlhbENvZGU6IGZhbHNlLFxuICAgICAgICAgIGF1dG9IaWRlRGlhbENvZGU6IGZhbHNlLFxuICAgICAgICAgIC8vIFRPRE86IEFkZCBpbml0aWFsQ291bnRyeSBzdXBwb3J0LlxuICAgICAgICAgIC8vIGluaXRpYWxDb3VudHJ5OiAnYXV0bydcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLl90cnlVcGRhdGVEcm9wZG93bkF0dHJpYnV0ZXMoKVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZS5wcm9taXNlXG4gICAgICB9KSxcbiAgICAgIC8vIHRhcCgoKSA9PiBjb25zb2xlLmxvZygnJWNfaW5zdGFuY2UgcmVhZHknLCAnY29sb3I6Z3JlZW4nLCB0aGlzLl9pbnN0YW5jZSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5faW5pdERyb3Bkb3duTGlzdGVuZXIoKSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy52YWx1ZSA9IHRoaXMuX3ZhbHVlKSxcbiAgICAgIHRhcCh0aGlzLl9mb3JtYXRJbnRsVGVsSW5wdXQpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnKSxcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NoYW5nZScpXG4gICAgICApKSxcbiAgICAgIHRhcCh0aGlzLl9mb3JtYXRJbnRsVGVsSW5wdXQpLFxuICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpXG4gICAgKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faW5zdGFuY2U/LmRlc3Ryb3koKVxuICAgIGZvciAoY29uc3QgcmVmIG9mIHRoaXMuX2xvYWRlZEFzc2V0UmVmcykge1xuICAgICAgcmVmLmRlc3Ryb3koKVxuICAgIH1cblxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy5fdHJ5VXBkYXRlRHJvcGRvd25BdHRyaWJ1dGVzKClcbiAgfVxuXG4gIHByaXZhdGUgX3RyeVVwZGF0ZURyb3Bkb3duQXR0cmlidXRlcygpIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5fbmdDb250cm9sXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IGZsYWdzQ29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQgPSAodGhpcy5faW5zdGFuY2UgYXMgYW55KT8uc2VsZWN0ZWRGbGFnXG4gICAgICBpZiAoZmxhZ3NDb250YWluZXIpIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKGZsYWdzQ29udGFpbmVyLCAnYXJpYS1kaXNhYmxlZCcsIGNvbnRyb2wuZGlzYWJsZWQgPz8gZmFsc2UpXG5cbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBjb250cm9sLmRpc2FibGVkID8/IGZhbHNlXG4gICAgICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgICBpZiAoZ2V0QXR0cmlidXRlKGZsYWdzQ29udGFpbmVyLCAndGFiaW5kZXgnKSAhPT0gJzAnKSB7XG4gICAgICAgICAgICBmbGFnc0NvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaGFzQXR0cmlidXRlKGZsYWdzQ29udGFpbmVyLCAndGFiaW5kZXgnKSkge1xuICAgICAgICAgICAgZmxhZ3NDb250YWluZXIucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0SW50bFRlbElucHV0ID0gKCkgPT4ge1xuICAgIC8vIGlmICh0eXBlb2YgaW50bFRlbElucHV0VXRpbHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gICBjb25zdCBjdXJyZW50VGV4dCA9IHRoaXMuX2luc3RhbmNlPy5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpXG4gICAgLy8gICBjb25zb2xlLmxvZygnY3VycmVudFRleHQnLCBjdXJyZW50VGV4dCwgdGhpcy5faW5zdGFuY2U/LmdldFNlbGVjdGVkQ291bnRyeURhdGEoKSlcbiAgICAvLyAgIGNvbnNvbGUubG9nKHRoaXMuX2luc3RhbmNlPy5nZXRWYWxpZGF0aW9uRXJyb3IoKSlcbiAgICAvLyAgIGlmICh0eXBlb2YgY3VycmVudFRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gICAgIHRoaXMuX2luc3RhbmNlPy5zZXROdW1iZXIoY3VycmVudFRleHQpXG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgdGhpcy51cGRhdGVWYWx1ZSgpXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmFsdWUoKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2coJyVjdXBkYXRlVmFsdWUgU1RBUlQnLCAnY29sb3I6Y3lhbicsIHR5cGVvZiBpbnRsVGVsSW5wdXRVdGlscyAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgaWYgKHR5cGVvZiBnbG9iYWxJbnRsVGVsSW5wdXRVdGlscygpICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgY3VycmVudFRleHQgPSB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5FMTY0KVxuICAgICAgLy8gY29uc29sZS5sb2coJ2N1cnJlbnRUZXh0JywgY3VycmVudFRleHQsIHRoaXMuX2luc3RhbmNlPy5nZXRTZWxlY3RlZENvdW50cnlEYXRhKCkpXG4gICAgICAvLyBjb25zb2xlLmxvZygnZnVsbE51bWJlcicsICh0aGlzLl9pbnN0YW5jZSBhcyBhbnkpLl9nZXRGdWxsTnVtYmVyKCkpXG4gICAgICAvLyBjb25zb2xlLmxvZygnRTE2NCcsIHRoaXMuX2luc3RhbmNlPy5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LkUxNjQpKVxuICAgICAgLy8gY29uc29sZS5sb2coJ0lOVEVSTkFUSU9OQUwnLCB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMKSlcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdOQVRJT05BTCcsIHRoaXMuX2luc3RhbmNlPy5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0Lk5BVElPTkFMKSlcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdSRkMzOTY2JywgdGhpcy5faW5zdGFuY2U/LmdldE51bWJlcihpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQuUkZDMzk2NikpXG4gICAgICAvLyBjb25zb2xlLmxvZygnZ2V0VmFsaWRhdGlvbkVycm9yJywgdGhpcy5faW5zdGFuY2U/LmdldFZhbGlkYXRpb25FcnJvcigpKVxuICAgICAgaWYgKHR5cGVvZiBjdXJyZW50VGV4dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5faW5zdGFuY2U/LnNldE51bWJlcihjdXJyZW50VGV4dClcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gY29uc29sZS5sb2coJyVjdXBkYXRlVmFsdWUgRU5EJywgJ2NvbG9yOmN5YW4nKVxuICB9XG5cbiAgcHVibGljIGdldEZ1bGxOdW1iZXIoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgaWYgKHR5cGVvZiBnbG9iYWxJbnRsVGVsSW5wdXRVdGlscygpICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgLy8gcmV0dXJuICh0aGlzLl9pbnN0YW5jZSBhcyBhbnkpLl9nZXRGdWxsTnVtYmVyKClcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZS5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LkUxNjQpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnZhbHVlXG4gIH1cblxuICBwcml2YXRlIF9pbml0RHJvcGRvd25MaXN0ZW5lcigpIHtcbiAgICBjb25zdCBkb2MgPSB0aGlzLl9kb2N1bWVudFxuICAgIGlmICghZG9jKSB7XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCBvcGVuRHJvcGRvd24kID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ29wZW46Y291bnRyeWRyb3Bkb3duJylcbiAgICAgIGNvbnN0IGNsb3NlRHJvcGRvd24kID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Nsb3NlOmNvdW50cnlkcm9wZG93bicpXG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuX2luc3RhbmNlIGFzIGFueVxuICAgICAgb3BlbkRyb3Bkb3duJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByZXNzRG93biQgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudChkb2MsICd0b3VjaHN0YXJ0JywgeyBjYXB0dXJlOiB0cnVlIH0pLFxuICAgICAgICAgICAgZnJvbUV2ZW50KGRvYywgJ21vdXNlZG93bicsIHsgY2FwdHVyZTogdHJ1ZSB9KVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGF1ZGl0VGltZSgwKSxcbiAgICAgICAgICAgIHRhcCgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UuY291bnRyeUxpc3QuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fCBpbnN0YW5jZS5zZWxlY3RlZEZsYWcuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGluc3RhbmNlLl9jbG9zZURyb3Bkb3duKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgY29uc3QgZmxhZ0J0bkNsaWNrJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50PihpbnN0YW5jZS5zZWxlY3RlZEZsYWcsICdjbGljaycpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgIGluc3RhbmNlLl9jbG9zZURyb3Bkb3duKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgcmV0dXJuIG1lcmdlKHByZXNzRG93biQsIGZsYWdCdG5DbGljayQpLnBpcGUodGFrZVVudGlsKGNsb3NlRHJvcGRvd24kKSlcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICAgKS5zdWJzY3JpYmUoKVxuXG4gICAgICBjb25zdCBmbGFnc0NvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gKHRoaXMuX2luc3RhbmNlIGFzIGFueSk/LnNlbGVjdGVkRmxhZ1xuICAgICAgaWYgKGZsYWdzQ29udGFpbmVyKSB7XG4gICAgICAgIGZyb21FdmVudChmbGFnc0NvbnRhaW5lciwgJ2tleWRvd24nLCB7IGNhcHR1cmU6IHRydWUgfSkucGlwZShcbiAgICAgICAgICB0YXAoKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuX25nQ29udHJvbFxuICAgICAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBjb250cm9sLmRpc2FibGVkID8/IGZhbHNlXG4gICAgICAgICAgICAgIGlmIChkaXNhYmxlZCAmJiBbJ0Fycm93VXAnLCAnVXAnLCAnQXJyb3dEb3duJywgJ0Rvd24nLCAnICcsICdFbnRlciddLmluZGV4T2YoZS5rZXkpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgZm9ybSBmcm9tIGJlaW5nIHN1Ym1pdHRlZCBpZiBcIkVOVEVSXCIgd2FzIHByZXNzZWRcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGV2ZW50IGZyb20gYmVpbmcgaGFuZGxlZCBhZ2FpbiBieSBkb2N1bWVudFxuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICAgICApLnN1YnNjcmliZSgpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBpc0Ryb3Bkb3duVmlzaWJsZSgpIHtcbiAgICBpZiAoIXRoaXMuX2luc3RhbmNlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuX2luc3RhbmNlIGFzIGFueVxuICAgIHJldHVybiAhaW5zdGFuY2UuY291bnRyeUxpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKCdpdGlfX2hpZGUnKVxuICB9XG5cbiAgLyoqIEZvY3VzZXMgdGhlIGlucHV0LiAqL1xuICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgfVxuXG4gIC8qKiBVbmZvY3VzZXMgdGhlIGlucHV0LiAqL1xuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpXG4gIH1cblxuICBwdWJsaWMgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICB9XG59XG4iXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBdUIsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQTZCLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDckksT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQU92RCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLElBQ0ksS0FBSyxDQUFDLENBQTRCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUs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UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFnQixDQUFBO1FBQ3RDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELHlCQUF5QjtJQUNsQixLQUFLO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDeEMsQ0FBQztJQUVELDJCQUEyQjtJQUNwQixJQUFJO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQTtJQUN2QyxDQUFDOztxSEF0T1Usd0JBQXdCLG9HQTRCYixRQUFRO3lHQTVCbkIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBNkJJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsUUFBUTs7MEJBQzNCLFFBQVE7OzBCQUFJLElBQUk7NENBdkJPLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsV0FBVztnQkFHcEIsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBEaXJlY3RpdmUsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGF1ZGl0VGltZSwgbGFzdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBBc3NldExvYWRlclNlcnZpY2UsIExvYWRlZEFzc2V0UmVmIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3NlcnZpY2VzJ1xuaW1wb3J0IHsgZ2V0QXR0cmlidXRlLCBoYXNBdHRyaWJ1dGUsIG5vdE51bGxPclVuZGVmaW5lZCwgdG9nZ2xlQXR0cmlidXRlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEludGxUZWxJbnB1dEZuLCBpbnRsVGVsSW5wdXRVdGlscyB9IGZyb20gJy4vaW50bC10ZWwtaW5wdXQnXG5pbXBvcnQgdHlwZSB7IEludGxUZWxJbnB1dCB9IGZyb20gJy4vaW50bC10ZWwtaW5wdXQnXG5pbXBvcnQgeyBURUxfSU5QVVRfU1RZTEVTLCBURUxfSU5QVVRfU1RZTEVTSEVFVF9QQVRILCBURUxfSU5QVVRfVVRJTFNfUEFUSCB9IGZyb20gJy4vdGVsLWlucHV0LWNvbnN0YW50cydcbmltcG9ydCB7IGdsb2JhbEludGxUZWxJbnB1dFV0aWxzIH0gZnJvbSAnLi91dGlscy9pbmRleCdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2VhbVRlbElucHV0XScsXG4gIGV4cG9ydEFzOiAnc2VhbVRlbElucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVRlbElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERvQ2hlY2sge1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHByaXZhdGUgX2luc3RhbmNlOiBJbnRsVGVsSW5wdXQuUGx1Z2luIHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX2xvYWRlZEFzc2V0UmVmczogTG9hZGVkQXNzZXRSZWY8SFRNTExpbmtFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudD5bXSA9IFtdXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSBfYXR0clR5cGUgPSAndGVsJ1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2XG4gICAgaWYgKHRoaXMuX2luc3RhbmNlKSB7XG4gICAgICB0aGlzLl9pbnN0YW5jZS5zZXROdW1iZXIobm90TnVsbE9yVW5kZWZpbmVkKHYpID8gdiA6ICcnKVxuICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpXG4gICAgfVxuICB9XG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICBpZiAodGhpcy5faW5zdGFuY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Fzc2V0TG9hZGVyOiBBc3NldExvYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmdab25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQ/OiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IF9uZ0NvbnRyb2w/OiBOZ0NvbnRyb2wsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5fbmdDb250cm9sID8gdGhpcy5fbmdDb250cm9sLnZhbHVlIDogdGhpcy52YWx1ZSA/PyAnJ1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2luc3RhbmNlLWxvYWRpbmcnLCAnJylcbiAgICBtZXJnZShcbiAgICAgIHRoaXMuX2Fzc2V0TG9hZGVyLmxvYWRTdHlsZVNoZWV0KFRFTF9JTlBVVF9TVFlMRVNIRUVUX1BBVEgpLFxuICAgICAgdGhpcy5fYXNzZXRMb2FkZXIubG9hZFN0eWxlKFRFTF9JTlBVVF9TVFlMRVMpXG4gICAgKS5waXBlKFxuICAgICAgdGFwKHYgPT4gdGhpcy5fbG9hZGVkQXNzZXRSZWZzLnB1c2godikpLFxuICAgICAgbGFzdCgpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBJbnRsVGVsSW5wdXRGbih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgICB1dGlsc1NjcmlwdDogVEVMX0lOUFVUX1VUSUxTX1BBVEgsXG4gICAgICAgICAgcHJlZmVycmVkQ291bnRyaWVzOiBbICdVUycgXSxcbiAgICAgICAgICBuYXRpb25hbE1vZGU6IGZhbHNlLFxuICAgICAgICAgIGZvcm1hdE9uRGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICBhdXRvUGxhY2Vob2xkZXI6ICdvZmYnLFxuICAgICAgICAgIHNlcGFyYXRlRGlhbENvZGU6IGZhbHNlLFxuICAgICAgICAgIGF1dG9IaWRlRGlhbENvZGU6IGZhbHNlLFxuICAgICAgICAgIC8vIFRPRE86IEFkZCBpbml0aWFsQ291bnRyeSBzdXBwb3J0LlxuICAgICAgICAgIC8vIGluaXRpYWxDb3VudHJ5OiAnYXV0bydcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLl90cnlVcGRhdGVEcm9wZG93bkF0dHJpYnV0ZXMoKVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZS5wcm9taXNlLnRoZW4odiA9PiB7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnaW5zdGFuY2UtbG9hZGluZycpXG4gICAgICAgICAgcmV0dXJuIHZcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHRoaXMuX2luaXREcm9wZG93bkxpc3RlbmVyKCkpLFxuICAgICAgdGFwKCgpID0+IHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZSksXG4gICAgICB0YXAodGhpcy5fZm9ybWF0SW50bFRlbElucHV0KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleXVwJyksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjaGFuZ2UnKVxuICAgICAgKSksXG4gICAgICB0YXAodGhpcy5fZm9ybWF0SW50bFRlbElucHV0KSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgICkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2luc3RhbmNlPy5kZXN0cm95KClcbiAgICBmb3IgKGNvbnN0IHJlZiBvZiB0aGlzLl9sb2FkZWRBc3NldFJlZnMpIHtcbiAgICAgIHJlZi5kZXN0cm95KClcbiAgICB9XG5cbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuX3RyeVVwZGF0ZURyb3Bkb3duQXR0cmlidXRlcygpXG4gIH1cblxuICBwcml2YXRlIF90cnlVcGRhdGVEcm9wZG93bkF0dHJpYnV0ZXMoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuX25nQ29udHJvbFxuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb25zdCBmbGFnc0NvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gKHRoaXMuX2luc3RhbmNlIGFzIGFueSk/LnNlbGVjdGVkRmxhZ1xuICAgICAgaWYgKGZsYWdzQ29udGFpbmVyKSB7XG4gICAgICAgIHRvZ2dsZUF0dHJpYnV0ZShmbGFnc0NvbnRhaW5lciwgJ2FyaWEtZGlzYWJsZWQnLCBjb250cm9sLmRpc2FibGVkID8/IGZhbHNlKVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVkID0gY29udHJvbC5kaXNhYmxlZCA/PyBmYWxzZVxuICAgICAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgICAgaWYgKGdldEF0dHJpYnV0ZShmbGFnc0NvbnRhaW5lciwgJ3RhYmluZGV4JykgIT09ICcwJykge1xuICAgICAgICAgICAgZmxhZ3NDb250YWluZXIuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJylcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGhhc0F0dHJpYnV0ZShmbGFnc0NvbnRhaW5lciwgJ3RhYmluZGV4JykpIHtcbiAgICAgICAgICAgIGZsYWdzQ29udGFpbmVyLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdEludGxUZWxJbnB1dCA9ICgpID0+IHtcbiAgICAvLyBpZiAodHlwZW9mIGludGxUZWxJbnB1dFV0aWxzICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vICAgY29uc3QgY3VycmVudFRleHQgPSB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMKVxuICAgIC8vICAgY29uc29sZS5sb2coJ2N1cnJlbnRUZXh0JywgY3VycmVudFRleHQsIHRoaXMuX2luc3RhbmNlPy5nZXRTZWxlY3RlZENvdW50cnlEYXRhKCkpXG4gICAgLy8gICBjb25zb2xlLmxvZyh0aGlzLl9pbnN0YW5jZT8uZ2V0VmFsaWRhdGlvbkVycm9yKCkpXG4gICAgLy8gICBpZiAodHlwZW9mIGN1cnJlbnRUZXh0ID09PSAnc3RyaW5nJykge1xuICAgIC8vICAgICB0aGlzLl9pbnN0YW5jZT8uc2V0TnVtYmVyKGN1cnJlbnRUZXh0KVxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIHRoaXMudXBkYXRlVmFsdWUoKVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVZhbHVlKCk6IHZvaWQge1xuICAgIC8vIGNvbnNvbGUubG9nKCclY3VwZGF0ZVZhbHVlIFNUQVJUJywgJ2NvbG9yOmN5YW4nLCB0eXBlb2YgaW50bFRlbElucHV0VXRpbHMgIT09ICd1bmRlZmluZWQnKVxuICAgIGlmICh0eXBlb2YgZ2xvYmFsSW50bFRlbElucHV0VXRpbHMoKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRUZXh0ID0gdGhpcy5faW5zdGFuY2U/LmdldE51bWJlcihpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQuRTE2NClcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdjdXJyZW50VGV4dCcsIGN1cnJlbnRUZXh0LCB0aGlzLl9pbnN0YW5jZT8uZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpKVxuICAgICAgLy8gY29uc29sZS5sb2coJ2Z1bGxOdW1iZXInLCAodGhpcy5faW5zdGFuY2UgYXMgYW55KS5fZ2V0RnVsbE51bWJlcigpKVxuICAgICAgLy8gY29uc29sZS5sb2coJ0UxNjQnLCB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5FMTY0KSlcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdJTlRFUk5BVElPTkFMJywgdGhpcy5faW5zdGFuY2U/LmdldE51bWJlcihpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTCkpXG4gICAgICAvLyBjb25zb2xlLmxvZygnTkFUSU9OQUwnLCB0aGlzLl9pbnN0YW5jZT8uZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5OQVRJT05BTCkpXG4gICAgICAvLyBjb25zb2xlLmxvZygnUkZDMzk2NicsIHRoaXMuX2luc3RhbmNlPy5nZXROdW1iZXIoaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LlJGQzM5NjYpKVxuICAgICAgLy8gY29uc29sZS5sb2coJ2dldFZhbGlkYXRpb25FcnJvcicsIHRoaXMuX2luc3RhbmNlPy5nZXRWYWxpZGF0aW9uRXJyb3IoKSlcbiAgICAgIGlmICh0eXBlb2YgY3VycmVudFRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX2luc3RhbmNlPy5zZXROdW1iZXIoY3VycmVudFRleHQpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIGNvbnNvbGUubG9nKCclY3VwZGF0ZVZhbHVlIEVORCcsICdjb2xvcjpjeWFuJylcbiAgfVxuXG4gIHB1YmxpYyBnZXRGdWxsTnVtYmVyKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsSW50bFRlbElucHV0VXRpbHMoKSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5faW5zdGFuY2UpIHtcbiAgICAgIC8vIHJldHVybiAodGhpcy5faW5zdGFuY2UgYXMgYW55KS5fZ2V0RnVsbE51bWJlcigpXG4gICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2UuZ2V0TnVtYmVyKGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdC5FMTY0KVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy52YWx1ZVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERyb3Bkb3duTGlzdGVuZXIoKSB7XG4gICAgY29uc3QgZG9jID0gdGhpcy5fZG9jdW1lbnRcbiAgICBpZiAoIWRvYykge1xuICAgICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgY29uc3Qgb3BlbkRyb3Bkb3duJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdvcGVuOmNvdW50cnlkcm9wZG93bicpXG4gICAgICBjb25zdCBjbG9zZURyb3Bkb3duJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbG9zZTpjb3VudHJ5ZHJvcGRvd24nKVxuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9pbnN0YW5jZSBhcyBhbnlcbiAgICAgIG9wZW5Ecm9wZG93biQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBwcmVzc0Rvd24kID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQoZG9jLCAndG91Y2hzdGFydCcsIHsgY2FwdHVyZTogdHJ1ZSB9KSxcbiAgICAgICAgICAgIGZyb21FdmVudChkb2MsICdtb3VzZWRvd24nLCB7IGNhcHR1cmU6IHRydWUgfSlcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBhdWRpdFRpbWUoMCksXG4gICAgICAgICAgICB0YXAoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLmNvdW50cnlMaXN0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHwgaW5zdGFuY2Uuc2VsZWN0ZWRGbGFnLmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbnN0YW5jZS5fY2xvc2VEcm9wZG93bigpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcblxuICAgICAgICAgIGNvbnN0IGZsYWdCdG5DbGljayQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oaW5zdGFuY2Uuc2VsZWN0ZWRGbGFnLCAnY2xpY2snKS5waXBlKFxuICAgICAgICAgICAgdGFwKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNEcm9wZG93blZpc2libGUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICBpbnN0YW5jZS5fY2xvc2VEcm9wZG93bigpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcblxuICAgICAgICAgIHJldHVybiBtZXJnZShwcmVzc0Rvd24kLCBmbGFnQnRuQ2xpY2skKS5waXBlKHRha2VVbnRpbChjbG9zZURyb3Bkb3duJCkpXG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSlcbiAgICAgICkuc3Vic2NyaWJlKClcblxuICAgICAgY29uc3QgZmxhZ3NDb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCA9ICh0aGlzLl9pbnN0YW5jZSBhcyBhbnkpPy5zZWxlY3RlZEZsYWdcbiAgICAgIGlmIChmbGFnc0NvbnRhaW5lcikge1xuICAgICAgICBmcm9tRXZlbnQoZmxhZ3NDb250YWluZXIsICdrZXlkb3duJywgeyBjYXB0dXJlOiB0cnVlIH0pLnBpcGUoXG4gICAgICAgICAgdGFwKChlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9uZ0NvbnRyb2xcbiAgICAgICAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkID0gY29udHJvbC5kaXNhYmxlZCA/PyBmYWxzZVxuICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgJiYgWydBcnJvd1VwJywgJ1VwJywgJ0Fycm93RG93bicsICdEb3duJywgJyAnLCAnRW50ZXInXS5pbmRleE9mKGUua2V5KSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGZvcm0gZnJvbSBiZWluZyBzdWJtaXR0ZWQgaWYgXCJFTlRFUlwiIHdhcyBwcmVzc2VkXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgLy8gcHJldmVudCBldmVudCBmcm9tIGJlaW5nIGhhbmRsZWQgYWdhaW4gYnkgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgaXNEcm9wZG93blZpc2libGUoKSB7XG4gICAgaWYgKCF0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9pbnN0YW5jZSBhcyBhbnlcbiAgICByZXR1cm4gIWluc3RhbmNlLmNvdW50cnlMaXN0LmNsYXNzTGlzdC5jb250YWlucygnaXRpX19oaWRlJylcbiAgfVxuXG4gIC8qKiBGb2N1c2VzIHRoZSBpbnB1dC4gKi9cbiAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICAvKiogVW5mb2N1c2VzIHRoZSBpbnB1dC4gKi9cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJsdXIoKVxuICB9XG5cbiAgcHVibGljIGdldEhvc3RFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgfVxufVxuIl19
@@ -9,28 +9,29 @@ import * as i0 from "@angular/core";
9
9
  export class TheSeamTelInputModule {
10
10
  }
11
11
  TheSeamTelInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- TheSeamTelInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputModule, declarations: [TheSeamTelInputDirective,
13
- TheSeamTelInputComponent,
14
- TheSeamPhoneNumberPipe], imports: [CommonModule,
12
+ TheSeamTelInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputModule, declarations: [TheSeamPhoneNumberPipe], imports: [CommonModule,
15
13
  ReactiveFormsModule,
16
- TheSeamFormFieldModule], exports: [TheSeamTelInputDirective,
14
+ TheSeamFormFieldModule,
15
+ TheSeamTelInputDirective,
16
+ TheSeamTelInputComponent], exports: [TheSeamTelInputDirective,
17
17
  TheSeamTelInputComponent,
18
18
  TheSeamPhoneNumberPipe] });
19
19
  TheSeamTelInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputModule, imports: [CommonModule,
20
20
  ReactiveFormsModule,
21
- TheSeamFormFieldModule] });
21
+ TheSeamFormFieldModule,
22
+ TheSeamTelInputComponent] });
22
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamTelInputModule, decorators: [{
23
24
  type: NgModule,
24
25
  args: [{
25
26
  declarations: [
26
- TheSeamTelInputDirective,
27
- TheSeamTelInputComponent,
28
27
  TheSeamPhoneNumberPipe
29
28
  ],
30
29
  imports: [
31
30
  CommonModule,
32
31
  ReactiveFormsModule,
33
- TheSeamFormFieldModule
32
+ TheSeamFormFieldModule,
33
+ TheSeamTelInputDirective,
34
+ TheSeamTelInputComponent,
34
35
  ],
35
36
  exports: [
36
37
  TheSeamTelInputDirective,
@@ -39,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
39
40
  ]
40
41
  }]
41
42
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUV0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7QUFtQjFFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFmOUIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixzQkFBc0IsYUFHdEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixzQkFBc0I7bUhBR2IscUJBQXFCLFlBVjlCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsc0JBQXNCOzJGQVFiLHFCQUFxQjtrQkFqQmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5cbmltcG9ydCB7IFRoZVNlYW1Gb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZm9ybS1maWVsZCdcblxuaW1wb3J0IHsgVGhlU2VhbVBob25lTnVtYmVyUGlwZSB9IGZyb20gJy4vcGhvbmUtbnVtYmVyLnBpcGUnXG5pbXBvcnQgeyBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL3RlbC1pbnB1dC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBUaGVTZWFtVGVsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3RlbC1pbnB1dC90ZWwtaW5wdXQuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUsXG4gICAgVGhlU2VhbVRlbElucHV0Q29tcG9uZW50LFxuICAgIFRoZVNlYW1QaG9uZU51bWJlclBpcGVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRoZVNlYW1Gb3JtRmllbGRNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRoZVNlYW1UZWxJbnB1dERpcmVjdGl2ZSxcbiAgICBUaGVTZWFtVGVsSW5wdXRDb21wb25lbnQsXG4gICAgVGhlU2VhbVBob25lTnVtYmVyUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1UZWxJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90ZWwtaW5wdXQvdGVsLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUV0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7QUFtQjFFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFmOUIsc0JBQXNCLGFBR3RCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4Qix3QkFBd0IsYUFHeEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixzQkFBc0I7bUhBR2IscUJBQXFCLFlBWjlCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBRXRCLHdCQUF3QjsyRkFRZixxQkFBcUI7a0JBakJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4QixzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5pbXBvcnQgeyBUaGVTZWFtRm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2Zvcm0tZmllbGQnXG5cbmltcG9ydCB7IFRoZVNlYW1QaG9uZU51bWJlclBpcGUgfSBmcm9tICcuL3Bob25lLW51bWJlci5waXBlJ1xuaW1wb3J0IHsgVGhlU2VhbVRlbElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi90ZWwtaW5wdXQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgVGhlU2VhbVRlbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90ZWwtaW5wdXQvdGVsLWlucHV0LmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGhlU2VhbVBob25lTnVtYmVyUGlwZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGhlU2VhbUZvcm1GaWVsZE1vZHVsZSxcbiAgICBUaGVTZWFtVGVsSW5wdXREaXJlY3RpdmUsXG4gICAgVGhlU2VhbVRlbElucHV0Q29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGhlU2VhbVRlbElucHV0RGlyZWN0aXZlLFxuICAgIFRoZVNlYW1UZWxJbnB1dENvbXBvbmVudCxcbiAgICBUaGVTZWFtUGhvbmVOdW1iZXJQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbVRlbElucHV0TW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,49 @@
1
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
+ import { waitOnConditionAsync } from '@theseam/ui-common/utils';
3
+ export class TheSeamTelInputHarness extends ComponentHarness {
4
+ constructor() {
5
+ super(...arguments);
6
+ this._input = this.locatorFor('input');
7
+ }
8
+ /** Creates a `HarnessPredicate` used to locate a particular `TheSeamTelInputHarness`. */
9
+ static with(options) {
10
+ return new HarnessPredicate(TheSeamTelInputHarness, options)
11
+ .addOption('field name', options.name, (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name));
12
+ }
13
+ async getName() {
14
+ return (await this._input()).getAttribute('name');
15
+ }
16
+ async getValue() {
17
+ return (await this._input()).getProperty('value');
18
+ }
19
+ async isDisabled() {
20
+ return (await this._input()).getProperty('disabled');
21
+ }
22
+ async isRequired() {
23
+ return (await this._input()).getProperty('required');
24
+ }
25
+ async click() {
26
+ return (await this._input()).click();
27
+ }
28
+ async setValue(value) {
29
+ await this._waitOnInstance();
30
+ // TODO: Find out why setInputValue() doesn't update the FormControl.
31
+ // return (await this._input()).setInputValue(value)
32
+ await (await this._input()).click();
33
+ await this._input().then(x => x.setInputValue(''));
34
+ return (await this._input()).sendKeys(value);
35
+ }
36
+ async _waitOnInstance() {
37
+ const input = document.querySelector('input');
38
+ const isInstanceReady = () => {
39
+ const instLoading = input?.getAttribute('instance-loading');
40
+ return instLoading === null;
41
+ };
42
+ if (isInstanceReady()) {
43
+ return true;
44
+ }
45
+ await waitOnConditionAsync(isInstanceReady, 10000);
46
+ }
47
+ }
48
+ TheSeamTelInputHarness.hostSelector = 'seam-tel-input';
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsLWlucHV0Lmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vdGVsLWlucHV0L3Rlc3RpbmcvdGVsLWlucHV0Lmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBTy9ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFBNUQ7O1FBR21CLFdBQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBbURwRCxDQUFDO0lBakRDLHlGQUF5RjtJQUN6RixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXNDO1FBQ2hELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUM7YUFDdkQsU0FBUyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUNqQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNyRixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQzlCLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzVCLHFFQUFxRTtRQUNyRSxvREFBb0Q7UUFDcEQsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDbkMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2xELE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7WUFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQzNELE9BQU8sV0FBVyxLQUFLLElBQUksQ0FBQTtRQUM3QixDQUFDLENBQUE7UUFDRCxJQUFJLGVBQWUsRUFBRSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFDRCxNQUFNLG9CQUFvQixDQUN4QixlQUFlLEVBQUUsS0FBSyxDQUN2QixDQUFBO0lBQ0gsQ0FBQzs7QUFwRE0sbUNBQVksR0FBRyxnQkFBZ0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuXG5pbXBvcnQgeyB3YWl0T25Db25kaXRpb25Bc3luYyB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW50ZXJmYWNlIFRoZVNlYW1UZWxJbnB1dEhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgQmFzZUhhcm5lc3NGaWx0ZXJzIHtcbiAgLyoqIEZpbHRlcnMgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIGZpZWxkLiAqL1xuICBuYW1lPzogc3RyaW5nIHwgUmVnRXhwXG59XG5cbmV4cG9ydCBjbGFzcyBUaGVTZWFtVGVsSW5wdXRIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2VhbS10ZWwtaW5wdXQnXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoJ2lucHV0JylcblxuICAvKiogQ3JlYXRlcyBhIGBIYXJuZXNzUHJlZGljYXRlYCB1c2VkIHRvIGxvY2F0ZSBhIHBhcnRpY3VsYXIgYFRoZVNlYW1UZWxJbnB1dEhhcm5lc3NgLiAqL1xuICBzdGF0aWMgd2l0aChvcHRpb25zOiBUaGVTZWFtVGVsSW5wdXRIYXJuZXNzRmlsdGVycyk6IEhhcm5lc3NQcmVkaWNhdGU8VGhlU2VhbVRlbElucHV0SGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShUaGVTZWFtVGVsSW5wdXRIYXJuZXNzLCBvcHRpb25zKVxuICAgICAgICAuYWRkT3B0aW9uKCdmaWVsZCBuYW1lJywgb3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgKGhhcm5lc3MsIG5hbWUpID0+IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldE5hbWUoKSwgbmFtZSkpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0TmFtZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuX2lucHV0KCkpLmdldEF0dHJpYnV0ZSgnbmFtZScpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuX2lucHV0KCkpLmdldFByb3BlcnR5KCd2YWx1ZScpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuX2lucHV0KCkpLmdldFByb3BlcnR5KCdkaXNhYmxlZCcpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaXNSZXF1aXJlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuX2lucHV0KCkpLmdldFByb3BlcnR5KCdyZXF1aXJlZCcpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLl9pbnB1dCgpKS5jbGljaygpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2V0VmFsdWUodmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3dhaXRPbkluc3RhbmNlKClcbiAgICAvLyBUT0RPOiBGaW5kIG91dCB3aHkgc2V0SW5wdXRWYWx1ZSgpIGRvZXNuJ3QgdXBkYXRlIHRoZSBGb3JtQ29udHJvbC5cbiAgICAvLyByZXR1cm4gKGF3YWl0IHRoaXMuX2lucHV0KCkpLnNldElucHV0VmFsdWUodmFsdWUpXG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuX2lucHV0KCkpLmNsaWNrKClcbiAgICBhd2FpdCB0aGlzLl9pbnB1dCgpLnRoZW4oeCA9PiB4LnNldElucHV0VmFsdWUoJycpKVxuICAgIHJldHVybiAoYXdhaXQgdGhpcy5faW5wdXQoKSkuc2VuZEtleXModmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF93YWl0T25JbnN0YW5jZSgpIHtcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JylcbiAgICBjb25zdCBpc0luc3RhbmNlUmVhZHkgPSAoKSA9PiB7XG4gICAgICBjb25zdCBpbnN0TG9hZGluZyA9IGlucHV0Py5nZXRBdHRyaWJ1dGUoJ2luc3RhbmNlLWxvYWRpbmcnKVxuICAgICAgcmV0dXJuIGluc3RMb2FkaW5nID09PSBudWxsXG4gICAgfVxuICAgIGlmIChpc0luc3RhbmNlUmVhZHkoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgYXdhaXQgd2FpdE9uQ29uZGl0aW9uQXN5bmMoXG4gICAgICBpc0luc3RhbmNlUmVhZHksIDEwMDAwXG4gICAgKVxuICB9XG59XG4iXX0=