@luftborn/custom-elements 1.1.42 → 1.1.44

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 (166) hide show
  1. package/dist/custom-form.d.ts +20 -0
  2. package/dist/custom-form.js +147 -0
  3. package/dist/custom-form.js.map +1 -0
  4. package/dist/elements/Address/AddressElement.d.ts +28 -0
  5. package/dist/elements/Address/AddressElement.js +207 -0
  6. package/dist/elements/Address/AddressElement.js.map +1 -0
  7. package/dist/elements/BankField/BankFieldElement.d.ts +22 -0
  8. package/dist/elements/BankField/BankFieldElement.js +128 -0
  9. package/dist/elements/BankField/BankFieldElement.js.map +1 -0
  10. package/dist/elements/CPRElement/CPRElement.d.ts +14 -0
  11. package/dist/elements/CPRElement/CPRElement.js +83 -0
  12. package/dist/elements/CPRElement/CPRElement.js.map +1 -0
  13. package/dist/elements/CVRElement/CVRElement.d.ts +14 -0
  14. package/dist/elements/CVRElement/CVRElement.js +83 -0
  15. package/dist/elements/CVRElement/CVRElement.js.map +1 -0
  16. package/dist/elements/CheckBoxElement/CheckBoxElement.d.ts +14 -0
  17. package/dist/elements/CheckBoxElement/CheckBoxElement.js +97 -0
  18. package/dist/elements/CheckBoxElement/CheckBoxElement.js.map +1 -0
  19. package/dist/elements/CustomRegularExpression/CustomRegularExpressionElement.d.ts +12 -0
  20. package/dist/elements/CustomRegularExpression/CustomRegularExpressionElement.js +83 -0
  21. package/dist/elements/CustomRegularExpression/CustomRegularExpressionElement.js.map +1 -0
  22. package/dist/elements/DateField/DateFieldElement.d.ts +12 -0
  23. package/dist/elements/DateField/DateFieldElement.js +86 -0
  24. package/dist/elements/DateField/DateFieldElement.js.map +1 -0
  25. package/dist/elements/DropDownList/DropDownListElement.d.ts +14 -0
  26. package/dist/elements/DropDownList/DropDownListElement.js +94 -0
  27. package/dist/elements/DropDownList/DropDownListElement.js.map +1 -0
  28. package/dist/elements/Elements.d.ts +18 -0
  29. package/dist/elements/Elements.js +38 -0
  30. package/dist/elements/Elements.js.map +1 -0
  31. package/dist/elements/EmailField/EmailFieldElement.d.ts +13 -0
  32. package/dist/elements/EmailField/EmailFieldElement.js +84 -0
  33. package/dist/elements/EmailField/EmailFieldElement.js.map +1 -0
  34. package/dist/elements/FileField/FileFieldElement.d.ts +12 -0
  35. package/dist/elements/FileField/FileFieldElement.js +84 -0
  36. package/dist/elements/FileField/FileFieldElement.js.map +1 -0
  37. package/dist/elements/IdentificationElement/IdentificationElement.d.ts +18 -0
  38. package/dist/elements/IdentificationElement/IdentificationElement.js +95 -0
  39. package/dist/elements/IdentificationElement/IdentificationElement.js.map +1 -0
  40. package/dist/elements/InternationaPhoneNumber/InternationaPhoneNumberElement.d.ts +16 -0
  41. package/dist/elements/InternationaPhoneNumber/InternationaPhoneNumberElement.js +109 -0
  42. package/dist/elements/InternationaPhoneNumber/InternationaPhoneNumberElement.js.map +1 -0
  43. package/dist/elements/NumericField/NumericFieldElement.d.ts +12 -0
  44. package/dist/elements/NumericField/NumericFieldElement.js +92 -0
  45. package/dist/elements/NumericField/NumericFieldElement.js.map +1 -0
  46. package/dist/elements/RadioButtonGroup/RadioButtonGroupElement.d.ts +14 -0
  47. package/dist/elements/RadioButtonGroup/RadioButtonGroupElement.js +100 -0
  48. package/dist/elements/RadioButtonGroup/RadioButtonGroupElement.js.map +1 -0
  49. package/dist/elements/TextAreaElement/TextAreaElement.d.ts +12 -0
  50. package/dist/elements/TextAreaElement/TextAreaElement.js +80 -0
  51. package/dist/elements/TextAreaElement/TextAreaElement.js.map +1 -0
  52. package/dist/elements/TextField/TextFieldElement.d.ts +12 -0
  53. package/dist/elements/TextField/TextFieldElement.js +80 -0
  54. package/dist/elements/TextField/TextFieldElement.js.map +1 -0
  55. package/dist/elements/TypeAhead/TypeAheadElement.d.ts +24 -0
  56. package/dist/elements/TypeAhead/TypeAheadElement.js +210 -0
  57. package/dist/elements/TypeAhead/TypeAheadElement.js.map +1 -0
  58. package/dist/framework/CustomEvents.d.ts +21 -0
  59. package/dist/framework/CustomEvents.js +48 -0
  60. package/dist/framework/CustomEvents.js.map +1 -0
  61. package/dist/framework/CustomInputElement.d.ts +50 -0
  62. package/dist/framework/CustomInputElement.js +258 -0
  63. package/dist/framework/CustomInputElement.js.map +1 -0
  64. package/dist/framework/Language/Languages/Base/BaseDictionary.d.ts +4 -0
  65. package/dist/framework/Language/Languages/Base/BaseDictionary.js +21 -0
  66. package/dist/framework/Language/Languages/Base/BaseDictionary.js.map +1 -0
  67. package/dist/framework/Language/Languages/DanishDictionary.d.ts +4 -0
  68. package/dist/framework/Language/Languages/DanishDictionary.js +40 -0
  69. package/dist/framework/Language/Languages/DanishDictionary.js.map +1 -0
  70. package/dist/framework/Language/Languages/EnglishDictionary.d.ts +4 -0
  71. package/dist/framework/Language/Languages/EnglishDictionary.js +40 -0
  72. package/dist/framework/Language/Languages/EnglishDictionary.js.map +1 -0
  73. package/dist/framework/Language/Translator.d.ts +6 -0
  74. package/dist/framework/Language/Translator.js +33 -0
  75. package/dist/framework/Language/Translator.js.map +1 -0
  76. package/dist/framework/Models/OptionWithDescription.d.ts +6 -0
  77. package/dist/framework/Models/OptionWithDescription.js +10 -0
  78. package/dist/framework/Models/OptionWithDescription.js.map +1 -0
  79. package/dist/framework/Polyfills/getAttributeNamesPolyfill.d.ts +1 -0
  80. package/dist/framework/Polyfills/getAttributeNamesPolyfill.js +18 -0
  81. package/dist/framework/Polyfills/getAttributeNamesPolyfill.js.map +1 -0
  82. package/dist/framework/Translations/CaseConverter.d.ts +5 -0
  83. package/dist/framework/Translations/CaseConverter.js +51 -0
  84. package/dist/framework/Translations/CaseConverter.js.map +1 -0
  85. package/dist/framework/Utilities/DomUtility.d.ts +3 -0
  86. package/dist/framework/Utilities/DomUtility.js +13 -0
  87. package/dist/framework/Utilities/DomUtility.js.map +1 -0
  88. package/dist/framework/Utilities/debouncer.d.ts +8 -0
  89. package/dist/framework/Utilities/debouncer.js +52 -0
  90. package/dist/framework/Utilities/debouncer.js.map +1 -0
  91. package/dist/framework/Validation/IValidator.interface.d.ts +3 -0
  92. package/dist/framework/Validation/IValidator.interface.js +3 -0
  93. package/dist/framework/Validation/IValidator.interface.js.map +1 -0
  94. package/dist/framework/Validation/Validators/BankAccount.d.ts +4 -0
  95. package/dist/framework/Validation/Validators/BankAccount.js +13 -0
  96. package/dist/framework/Validation/Validators/BankAccount.js.map +1 -0
  97. package/dist/framework/Validation/Validators/BankAccountRegistrationNumber.d.ts +4 -0
  98. package/dist/framework/Validation/Validators/BankAccountRegistrationNumber.js +13 -0
  99. package/dist/framework/Validation/Validators/BankAccountRegistrationNumber.js.map +1 -0
  100. package/dist/framework/Validation/Validators/BankIdNorway.d.ts +5 -0
  101. package/dist/framework/Validation/Validators/BankIdNorway.js +22 -0
  102. package/dist/framework/Validation/Validators/BankIdNorway.js.map +1 -0
  103. package/dist/framework/Validation/Validators/BankIdSweden.d.ts +5 -0
  104. package/dist/framework/Validation/Validators/BankIdSweden.js +22 -0
  105. package/dist/framework/Validation/Validators/BankIdSweden.js.map +1 -0
  106. package/dist/framework/Validation/Validators/CPR.d.ts +9 -0
  107. package/dist/framework/Validation/Validators/CPR.js +76 -0
  108. package/dist/framework/Validation/Validators/CPR.js.map +1 -0
  109. package/dist/framework/Validation/Validators/CVR.d.ts +5 -0
  110. package/dist/framework/Validation/Validators/CVR.js +31 -0
  111. package/dist/framework/Validation/Validators/CVR.js.map +1 -0
  112. package/dist/framework/custom-element.decorator.d.ts +9 -0
  113. package/dist/framework/custom-element.decorator.js +52 -0
  114. package/dist/framework/custom-element.decorator.js.map +1 -0
  115. package/dist/index.d.ts +7 -0
  116. package/dist/index.js +15 -0
  117. package/dist/index.js.map +1 -0
  118. package/node_modules/@webcomponents/webcomponentsjs/CHANGELOG.md +61 -0
  119. package/node_modules/@webcomponents/webcomponentsjs/LICENSE.md +19 -0
  120. package/node_modules/@webcomponents/webcomponentsjs/README.md +246 -0
  121. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js +63 -0
  122. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -0
  123. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  124. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  125. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  126. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  127. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +360 -0
  128. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -0
  129. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js +228 -0
  130. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -0
  131. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js +185 -0
  132. package/node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -0
  133. package/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js +15 -0
  134. package/node_modules/@webcomponents/webcomponentsjs/package.json +84 -0
  135. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +16 -0
  136. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +55 -0
  137. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +17 -0
  138. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-pf_dom-index.js +17 -0
  139. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-pf_js-index.js +13 -0
  140. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +19 -0
  141. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +25 -0
  142. package/node_modules/@webcomponents/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +18 -0
  143. package/node_modules/@webcomponents/webcomponentsjs/src/flag-parser.js +69 -0
  144. package/node_modules/@webcomponents/webcomponentsjs/src/platform/baseuri.js +28 -0
  145. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/after.js +47 -0
  146. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/before.js +40 -0
  147. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/index.js +14 -0
  148. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/remove.js +37 -0
  149. package/node_modules/@webcomponents/webcomponentsjs/src/platform/child-node/replace-with.js +42 -0
  150. package/node_modules/@webcomponents/webcomponentsjs/src/platform/custom-event.js +79 -0
  151. package/node_modules/@webcomponents/webcomponentsjs/src/platform/es6-misc.js +38 -0
  152. package/node_modules/@webcomponents/webcomponentsjs/src/platform/get-attribute-names.js +27 -0
  153. package/node_modules/@webcomponents/webcomponentsjs/src/platform/matches.js +21 -0
  154. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/append.js +31 -0
  155. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/index.js +13 -0
  156. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/prepend.js +42 -0
  157. package/node_modules/@webcomponents/webcomponentsjs/src/platform/parent-node/replace-children.js +45 -0
  158. package/node_modules/@webcomponents/webcomponentsjs/src/platform/promise.js +50 -0
  159. package/node_modules/@webcomponents/webcomponentsjs/src/platform/svg-element-class-list.js +28 -0
  160. package/node_modules/@webcomponents/webcomponentsjs/src/platform/symbol.js +64 -0
  161. package/node_modules/@webcomponents/webcomponentsjs/src/unresolved.js +32 -0
  162. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.d.ts +174 -0
  163. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js +370 -0
  164. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js.map +1 -0
  165. package/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js +206 -0
  166. package/package.json +3 -3
@@ -0,0 +1,20 @@
1
+ import { CustomInputElement } from './framework/CustomInputElement';
2
+ export declare class CustomForm {
3
+ private form;
4
+ action: string;
5
+ method: string;
6
+ _nativeInputs: HTMLInputElement[];
7
+ onsubmit: ((this: CustomForm, promise: Promise<any>) => any) | null;
8
+ constructor(form: HTMLFormElement);
9
+ get inputs(): CustomInputElement[];
10
+ get nativeInputs(): HTMLInputElement[];
11
+ get hasFiles(): boolean;
12
+ attachForm(): void;
13
+ validate(): boolean;
14
+ submit(): Promise<any>;
15
+ private extractData;
16
+ private binGroupsToDependency;
17
+ private hideGroupAndItsDependencies;
18
+ private showGroupAndItsDependencies;
19
+ private isDescendant;
20
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomForm = void 0;
4
+ var FileFieldElement_1 = require("./elements/FileField/FileFieldElement");
5
+ var utilities_1 = require("@luftborn/utilities");
6
+ var CustomForm = /** @class */ (function () {
7
+ function CustomForm(form) {
8
+ this.form = form;
9
+ this.action = form.action || '';
10
+ this.method = form.method || 'get';
11
+ this.attachForm();
12
+ this.binGroupsToDependency();
13
+ }
14
+ Object.defineProperty(CustomForm.prototype, "inputs", {
15
+ get: function () {
16
+ return utilities_1.ArrayUtil.FromNodeList(this.form.querySelectorAll('.group-container:not([hidden]) [custom-input]:not([hidden])'));
17
+ },
18
+ enumerable: false,
19
+ configurable: true
20
+ });
21
+ Object.defineProperty(CustomForm.prototype, "nativeInputs", {
22
+ get: function () {
23
+ this._nativeInputs =
24
+ this._nativeInputs ||
25
+ utilities_1.ArrayUtil.FromNodeList(this.form.querySelectorAll('input'));
26
+ return this._nativeInputs;
27
+ },
28
+ enumerable: false,
29
+ configurable: true
30
+ });
31
+ Object.defineProperty(CustomForm.prototype, "hasFiles", {
32
+ get: function () {
33
+ return this.inputs.some(function (input) { return input instanceof FileFieldElement_1.FileFieldElement; });
34
+ },
35
+ enumerable: false,
36
+ configurable: true
37
+ });
38
+ CustomForm.prototype.attachForm = function () {
39
+ var _this = this;
40
+ this.form.onsubmit = function (event) {
41
+ event.preventDefault();
42
+ var valid = _this.validate();
43
+ if (valid) {
44
+ if (_this.onsubmit) {
45
+ _this.onsubmit(_this.submit());
46
+ }
47
+ }
48
+ };
49
+ };
50
+ CustomForm.prototype.validate = function () {
51
+ this.inputs.forEach(function (input) { return input.validate(); });
52
+ return this.inputs.every(function (input) { return input.valid; });
53
+ };
54
+ CustomForm.prototype.submit = function () {
55
+ var formData = {};
56
+ var headers = {};
57
+ this.inputs.map(function (i) { return (formData[i.name] = i.value); });
58
+ formData = this.extractData();
59
+ return new utilities_1.MakeRequest(this.action, this.method, headers).send(formData);
60
+ };
61
+ CustomForm.prototype.extractData = function () {
62
+ var formData = new FormData();
63
+ for (var _i = 0, _a = this.inputs; _i < _a.length; _i++) {
64
+ var input = _a[_i];
65
+ if (input instanceof FileFieldElement_1.FileFieldElement) {
66
+ for (var index = 0; index < input.value.length; index++) {
67
+ var file = input.value[index];
68
+ formData.append(input.name, file, file.name);
69
+ }
70
+ }
71
+ else {
72
+ formData.append("Values[" + input.name + "]", input.value);
73
+ }
74
+ }
75
+ for (var _b = 0, _c = this.nativeInputs; _b < _c.length; _b++) {
76
+ var input = _c[_b];
77
+ if (input.name) {
78
+ formData.append(input.name, input.value);
79
+ }
80
+ }
81
+ return formData;
82
+ };
83
+ CustomForm.prototype.binGroupsToDependency = function () {
84
+ var _this = this;
85
+ var groupContainers = this.form.querySelectorAll('div.group-container:not([data-depends-on=""])');
86
+ groupContainers.forEach(function (element) {
87
+ var dependentField = element.getAttribute('data-depends-on');
88
+ var dependentValue = element.getAttribute('data-dependent-value');
89
+ var customElement = document.forms[0].querySelector("[name=\"" + dependentField + "\"]");
90
+ element.setAttribute("hidden", "");
91
+ customElement.onChange.on(function (event) {
92
+ if (event.value === dependentValue || event.value.indexOf(dependentValue) >= 0) {
93
+ _this.showGroupAndItsDependencies(element);
94
+ }
95
+ else {
96
+ _this.hideGroupAndItsDependencies(element);
97
+ }
98
+ });
99
+ });
100
+ };
101
+ CustomForm.prototype.hideGroupAndItsDependencies = function (group) {
102
+ var _this = this;
103
+ var inputElementsInsideGroup = this.inputs.filter(function (input) { return _this.isDescendant(group, input); });
104
+ group.setAttribute("hidden", "");
105
+ var groupContainers = this.form.querySelectorAll('div.group-container:not([data-depends-on=""])');
106
+ groupContainers.forEach(function (otherGroup) {
107
+ if (otherGroup !== group) {
108
+ var groupDependsOnField_1 = otherGroup.getAttribute('data-depends-on');
109
+ inputElementsInsideGroup.forEach(function (input) {
110
+ if (input.name === groupDependsOnField_1) {
111
+ _this.hideGroupAndItsDependencies(otherGroup);
112
+ }
113
+ });
114
+ }
115
+ });
116
+ };
117
+ CustomForm.prototype.showGroupAndItsDependencies = function (group) {
118
+ var _this = this;
119
+ group.removeAttribute("hidden");
120
+ var inputElementsInsideGroup = this.inputs.filter(function (input) { return _this.isDescendant(group, input); });
121
+ var groupContainers = this.form.querySelectorAll('div.group-container:not([data-depends-on=""])');
122
+ groupContainers.forEach(function (otherGroup) {
123
+ if (otherGroup !== group) {
124
+ var groupDependsOnField_2 = otherGroup.getAttribute('data-depends-on');
125
+ var dependentValue_1 = otherGroup.getAttribute('data-dependent-value');
126
+ inputElementsInsideGroup.forEach(function (input) {
127
+ if (input.name === groupDependsOnField_2 && (input.value === dependentValue_1 || input.value.indexOf(dependentValue_1) >= 0)) {
128
+ _this.showGroupAndItsDependencies(otherGroup);
129
+ }
130
+ });
131
+ }
132
+ });
133
+ };
134
+ CustomForm.prototype.isDescendant = function (parent, child) {
135
+ var node = child.parentNode;
136
+ while (node != null) {
137
+ if (node === parent) {
138
+ return true;
139
+ }
140
+ node = node.parentElement;
141
+ }
142
+ return false;
143
+ };
144
+ return CustomForm;
145
+ }());
146
+ exports.CustomForm = CustomForm;
147
+ //# sourceMappingURL=custom-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-form.js","sourceRoot":"","sources":["../src/custom-form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { CustomInputElement } from '../../framework/CustomInputElement';
2
+ export declare class AddressElement extends CustomInputElement {
3
+ private autoCompleteEnabled;
4
+ private addressAutoComplete;
5
+ private googlePlacesLibraryElement;
6
+ private googlePlacesApiKey;
7
+ address: HTMLInputElement;
8
+ city: HTMLInputElement;
9
+ country: HTMLInputElement;
10
+ zip: HTMLInputElement;
11
+ constructor();
12
+ get value(): string;
13
+ set value(value: string);
14
+ get valid(): boolean;
15
+ connectedCallback(): void;
16
+ componentDidMount(): void;
17
+ initChildInputs(): void;
18
+ change($event: any): void;
19
+ validate(): void;
20
+ changeLanguage(language: string): void;
21
+ enableAutoComplete(): void;
22
+ private googlePlacesLibraryElementBindLoad;
23
+ bindAutoComplete(): void;
24
+ onAddressChangedHandler(): void;
25
+ static get observedAttributes(): string[];
26
+ attributeChangedCallback(name: string, oldVal: string, newVal: string): void;
27
+ private attributeChanged;
28
+ }
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.AddressElement = void 0;
25
+ var custom_element_decorator_1 = require("../../framework/custom-element.decorator");
26
+ var CustomInputElement_1 = require("../../framework/CustomInputElement");
27
+ var CustomEvents_1 = require("../../framework/CustomEvents");
28
+ var Translator_1 = require("../../framework/Language/Translator");
29
+ var getAttributeNamesPolyfill_1 = require("../../framework/Polyfills/getAttributeNamesPolyfill");
30
+ var debouncer_1 = require("../../framework/Utilities/debouncer");
31
+ var AddressElement = /** @class */ (function (_super) {
32
+ __extends(AddressElement, _super);
33
+ function AddressElement() {
34
+ var _this = _super.call(this) || this;
35
+ _this.autoCompleteEnabled = false;
36
+ (0, getAttributeNamesPolyfill_1.default)();
37
+ return _this;
38
+ }
39
+ Object.defineProperty(AddressElement.prototype, "value", {
40
+ get: function () {
41
+ var address = this.address.value || '';
42
+ var city = this.city.value ? "," + this.city.value : '';
43
+ var zip = this.zip.value ? "," + this.zip.value : '';
44
+ var country = this.country.value ? "," + this.country.value : '';
45
+ return "" + address + city + zip + country;
46
+ },
47
+ set: function (value) {
48
+ var values = value.split(',');
49
+ this.address.value = values[0];
50
+ this.city.value = values[1];
51
+ this.country.value = values[2];
52
+ this.zip.value = values[3];
53
+ },
54
+ enumerable: false,
55
+ configurable: true
56
+ });
57
+ Object.defineProperty(AddressElement.prototype, "valid", {
58
+ get: function () {
59
+ return (this.address.validity.valid &&
60
+ this.city.validity.valid &&
61
+ this.country.validity.valid &&
62
+ this.zip.validity.valid);
63
+ },
64
+ enumerable: false,
65
+ configurable: true
66
+ });
67
+ AddressElement.prototype.connectedCallback = function () {
68
+ _super.prototype.connectedCallback.call(this);
69
+ };
70
+ AddressElement.prototype.componentDidMount = function () {
71
+ var _this = this;
72
+ this.initChildInputs();
73
+ this.getAttributeNames().forEach(function (attributeName) {
74
+ var attributeValue = _this.getAttribute(attributeName);
75
+ _this.attributeChanged(attributeName, null, attributeValue);
76
+ });
77
+ };
78
+ AddressElement.prototype.initChildInputs = function () {
79
+ this.address = _super.prototype.getChildInput.call(this, '#address');
80
+ this.city = _super.prototype.getChildInput.call(this, '#city');
81
+ this.country = _super.prototype.getChildInput.call(this, '#country');
82
+ this.zip = _super.prototype.getChildInput.call(this, '#zip');
83
+ var addressChaneDebounce = (0, debouncer_1.default)(this.change.bind(this), 400, false);
84
+ this.address.addEventListener('change', function () {
85
+ addressChaneDebounce();
86
+ });
87
+ this.city.addEventListener('change', this.change.bind(this));
88
+ this.country.addEventListener('change', this.change.bind(this));
89
+ this.zip.addEventListener('change', this.change.bind(this));
90
+ if (this.required) {
91
+ this.address.setAttribute('required', '');
92
+ this.city.setAttribute('required', '');
93
+ this.country.setAttribute('required', '');
94
+ this.zip.setAttribute('required', '');
95
+ }
96
+ };
97
+ // events
98
+ AddressElement.prototype.change = function ($event) {
99
+ this.touched = true;
100
+ this.onChange.emit(new CustomEvents_1.CustomElementEventArgs(this.value, 'change'));
101
+ };
102
+ AddressElement.prototype.validate = function () {
103
+ this.valid;
104
+ this.onValidate.emit(new CustomEvents_1.CustomElementEventArgs(this.value, 'validate'));
105
+ };
106
+ AddressElement.prototype.changeLanguage = function (language) {
107
+ if (!this.address || !this.city || !this.country || !this.zip) {
108
+ return;
109
+ }
110
+ this.address.placeholder = Translator_1.default.Translate('AddressElement.Address', language);
111
+ this.city.placeholder = Translator_1.default.Translate('AddressElement.City', language);
112
+ this.country.placeholder = Translator_1.default.Translate('AddressElement.Country', language);
113
+ this.zip.placeholder = Translator_1.default.Translate('AddressElement.Zip', language);
114
+ };
115
+ AddressElement.prototype.enableAutoComplete = function () {
116
+ if (!this.googlePlacesApiKey || this.googlePlacesApiKey.trim() === '' || !this.autoCompleteEnabled) {
117
+ return;
118
+ }
119
+ this.googlePlacesLibraryElement = document.querySelector("[src=\"https://maps.googleapis.com/maps/api/js?key=" + this.googlePlacesApiKey + "&libraries=places\"]");
120
+ if (this.googlePlacesLibraryElement) {
121
+ this.googlePlacesLibraryElementBindLoad();
122
+ return;
123
+ }
124
+ this.googlePlacesLibraryElement = document.createElement('script');
125
+ this.googlePlacesLibraryElement.type = 'text/javascript';
126
+ this.googlePlacesLibraryElement.src = "https://maps.googleapis.com/maps/api/js?key=" + this.googlePlacesApiKey + "&libraries=places";
127
+ window.document.head.appendChild(this.googlePlacesLibraryElement);
128
+ this.googlePlacesLibraryElementBindLoad();
129
+ };
130
+ AddressElement.prototype.googlePlacesLibraryElementBindLoad = function () {
131
+ var _this = this;
132
+ this.googlePlacesLibraryElement.addEventListener('load', function () {
133
+ _this.bindAutoComplete();
134
+ });
135
+ };
136
+ AddressElement.prototype.bindAutoComplete = function () {
137
+ this.addressAutoComplete = new google.maps.places.Autocomplete(this.address);
138
+ this.addressAutoComplete.addListener("place_changed", this.onAddressChangedHandler.bind(this));
139
+ };
140
+ AddressElement.prototype.onAddressChangedHandler = function () {
141
+ this.city.value = '';
142
+ this.country.value = '';
143
+ this.zip.value = '';
144
+ var place = this.addressAutoComplete.getPlace();
145
+ console.log(place);
146
+ if (!place.address_components) {
147
+ return;
148
+ }
149
+ this.address.value = place.name;
150
+ var cityComponents = place.address_components.filter(function (component) {
151
+ var citySynonyms = ['administrative_area_level_1', 'locality'];
152
+ var isCityComponent = citySynonyms.some(function (citySynonym) { return component.types.indexOf(citySynonym) != -1; });
153
+ return isCityComponent;
154
+ });
155
+ if (cityComponents && cityComponents[0]) {
156
+ this.city.value = cityComponents[cityComponents.length - 1].long_name;
157
+ }
158
+ var countryComponents = place.address_components.filter(function (component) { return component.types.indexOf('country') != -1; });
159
+ if (countryComponents && countryComponents[0]) {
160
+ this.country.value = countryComponents[countryComponents.length - 1].long_name;
161
+ }
162
+ var zipComponents = place.address_components.filter(function (component) { return component.types.indexOf('postal_code') != -1; });
163
+ if (zipComponents && zipComponents[0]) {
164
+ this.zip.value = zipComponents[0].long_name;
165
+ }
166
+ this.change(null);
167
+ };
168
+ Object.defineProperty(AddressElement, "observedAttributes", {
169
+ get: function () {
170
+ return ['language', 'google-places-key', 'enable-auto-complete'];
171
+ },
172
+ enumerable: false,
173
+ configurable: true
174
+ });
175
+ AddressElement.prototype.attributeChangedCallback = function (name, oldVal, newVal) {
176
+ this.attributeChanged(name, oldVal, newVal);
177
+ };
178
+ AddressElement.prototype.attributeChanged = function (name, oldVal, newVal) {
179
+ switch (name) {
180
+ case 'language':
181
+ this.changeLanguage(newVal);
182
+ break;
183
+ case 'google-places-key':
184
+ this.googlePlacesApiKey = newVal;
185
+ this.enableAutoComplete();
186
+ break;
187
+ case 'enable-auto-complete':
188
+ if (newVal && newVal != 'false') {
189
+ this.autoCompleteEnabled = true;
190
+ this.enableAutoComplete();
191
+ }
192
+ break;
193
+ }
194
+ };
195
+ AddressElement = __decorate([
196
+ (0, custom_element_decorator_1.default)({
197
+ selector: 'address-element',
198
+ template: "\n\t\t\t<div class=\"address-wrapper\">\n\t\t\t\t<input class='address-part' id='address' type=\"text\" placeholder='Address'/>\n\t\t\t\t<input class='address-part' id='zip' type=\"text\" placeholder='Zip'/>\n\t\t\t\t<input class='address-part' id='city' type=\"text\" placeholder='City'/>\n\t\t\t\t<input class='address-part' id='country' type=\"text\" placeholder='Country'/>\n\t\t\t</div>",
199
+ style: ".address-wrapper{\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t\tinput.address-part{\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\tborder: none;\n\t\t\t\tbackground-color: #f1f4ff;\n\t\t\t\tmargin: 2px;\n\t\t\t\tresize: none;\n\t\t\t\twidth:33% !important;\n\t\t\t}\n\t\t",
200
+ templatePath: './html.html',
201
+ useShadow: true,
202
+ })
203
+ ], AddressElement);
204
+ return AddressElement;
205
+ }(CustomInputElement_1.CustomInputElement));
206
+ exports.AddressElement = AddressElement;
207
+ //# sourceMappingURL=AddressElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressElement.js","sourceRoot":"","sources":["../../../src/elements/Address/AddressElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { CustomInputElement } from '../../framework/CustomInputElement';
2
+ import BankAccountValidator from '../../framework/Validation/Validators/BankAccount';
3
+ import BankAccountRegistrationNumberValidator from '../../framework/Validation/Validators/BankAccountRegistrationNumber';
4
+ export declare class BankFieldElement extends CustomInputElement {
5
+ account: HTMLInputElement;
6
+ regNumber: HTMLInputElement;
7
+ bankAccountValidator: BankAccountValidator;
8
+ regNumberValidator: BankAccountRegistrationNumberValidator;
9
+ constructor();
10
+ get value(): string;
11
+ set value(value: string);
12
+ get valid(): boolean;
13
+ connectedCallback(): void;
14
+ componentDidMount(): void;
15
+ changeLanguage(language: string): void;
16
+ initChildInputs(): void;
17
+ change($event: any): void;
18
+ validate(): void;
19
+ static get observedAttributes(): string[];
20
+ attributeChangedCallback(name: string, oldVal: string, newVal: string): void;
21
+ private attributeChanged;
22
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.BankFieldElement = void 0;
25
+ var custom_element_decorator_1 = require("../../framework/custom-element.decorator");
26
+ var CustomInputElement_1 = require("../../framework/CustomInputElement");
27
+ var CustomEvents_1 = require("../../framework/CustomEvents");
28
+ var BankAccount_1 = require("../../framework/Validation/Validators/BankAccount");
29
+ var BankAccountRegistrationNumber_1 = require("../../framework/Validation/Validators/BankAccountRegistrationNumber");
30
+ var Translator_1 = require("../../framework/Language/Translator");
31
+ var BankFieldElement = /** @class */ (function (_super) {
32
+ __extends(BankFieldElement, _super);
33
+ function BankFieldElement() {
34
+ var _this = _super.call(this) || this;
35
+ _this.bankAccountValidator = new BankAccount_1.default();
36
+ _this.regNumberValidator = new BankAccountRegistrationNumber_1.default();
37
+ return _this;
38
+ }
39
+ Object.defineProperty(BankFieldElement.prototype, "value", {
40
+ get: function () {
41
+ var account = this.account.value || '';
42
+ var regNumber = this.regNumber.value ? "," + this.regNumber.value : '';
43
+ return "" + account + regNumber;
44
+ },
45
+ set: function (value) {
46
+ var values = value.split(',');
47
+ this.account.value = values[0];
48
+ this.regNumber.value = values[1];
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ Object.defineProperty(BankFieldElement.prototype, "valid", {
54
+ get: function () {
55
+ return (this.bankAccountValidator.isSatisfiedBy(this.account.value, !this.required) &&
56
+ this.regNumberValidator.isSatisfiedBy(this.regNumber.value, !this.required) &&
57
+ this.account.validity.valid &&
58
+ this.regNumber.validity.valid);
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ BankFieldElement.prototype.connectedCallback = function () {
64
+ _super.prototype.connectedCallback.call(this);
65
+ };
66
+ BankFieldElement.prototype.componentDidMount = function () {
67
+ var _this = this;
68
+ this.initChildInputs();
69
+ this.getAttributeNames().forEach(function (attributeName) {
70
+ var attributeValue = _this.getAttribute(attributeName);
71
+ _this.attributeChanged(attributeName, null, attributeValue);
72
+ });
73
+ };
74
+ BankFieldElement.prototype.changeLanguage = function (language) {
75
+ if (!this.account || !this.regNumber) {
76
+ return;
77
+ }
78
+ this.account.placeholder = Translator_1.default.Translate('BankElement.Account', language);
79
+ this.regNumber.placeholder = Translator_1.default.Translate('BankElement.RegistrationNumber', language);
80
+ };
81
+ BankFieldElement.prototype.initChildInputs = function () {
82
+ this.account = _super.prototype.getChildInput.call(this, '#account-field');
83
+ this.regNumber = _super.prototype.getChildInput.call(this, '#reg-number-field');
84
+ this.account.addEventListener('change', this.change.bind(this));
85
+ this.regNumber.addEventListener('change', this.change.bind(this));
86
+ if (this.required) {
87
+ this.account.setAttribute('required', '');
88
+ this.regNumber.setAttribute('required', '');
89
+ }
90
+ };
91
+ // events
92
+ BankFieldElement.prototype.change = function ($event) {
93
+ this.touched = true;
94
+ this.onChange.emit(new CustomEvents_1.CustomElementEventArgs(this.value, 'change'));
95
+ };
96
+ BankFieldElement.prototype.validate = function () {
97
+ this.valid;
98
+ this.onValidate.emit(new CustomEvents_1.CustomElementEventArgs(this.value, 'validate'));
99
+ };
100
+ Object.defineProperty(BankFieldElement, "observedAttributes", {
101
+ get: function () {
102
+ return ['language'];
103
+ },
104
+ enumerable: false,
105
+ configurable: true
106
+ });
107
+ BankFieldElement.prototype.attributeChangedCallback = function (name, oldVal, newVal) {
108
+ this.attributeChanged(name, oldVal, newVal);
109
+ };
110
+ BankFieldElement.prototype.attributeChanged = function (name, oldVal, newVal) {
111
+ switch (name) {
112
+ case 'language':
113
+ this.changeLanguage(newVal);
114
+ break;
115
+ }
116
+ };
117
+ BankFieldElement = __decorate([
118
+ (0, custom_element_decorator_1.default)({
119
+ selector: 'bank-element',
120
+ template: "\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<input type=\"text\" id='reg-number-field' placeholder='Bank Account Registration Number'/>\n\t\t\t\t<input type=\"text\" id='account-field' placeholder='Bank Account'/>\n\t\t\t</div>",
121
+ style: "\n :host{\n width:100%;\n }\n .wrapper{\n display:flex;\n }\n input{\n box-sizing: border-box;\n width: 100% !important;\n border: none;\n background-color: #f1f4ff;\n margin: 2px;\n resize: none;\n }\n ",
122
+ useShadow: true,
123
+ })
124
+ ], BankFieldElement);
125
+ return BankFieldElement;
126
+ }(CustomInputElement_1.CustomInputElement));
127
+ exports.BankFieldElement = BankFieldElement;
128
+ //# sourceMappingURL=BankFieldElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankFieldElement.js","sourceRoot":"","sources":["../../../src/elements/BankField/BankFieldElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAAqE;AACrE,yEAAwE;AACxE,6DAAsE;AACtE,iFAAqF;AACrF,qHAAyH;AACzH,kEAA6D;AA2B7D;IAAsC,oCAAkB;IAMvD;QAAA,YACC,iBAAO,SACP;QALD,0BAAoB,GAAyB,IAAI,qBAAoB,EAAE,CAAC;QACxE,wBAAkB,GAA2C,IAAI,uCAAsC,EAAE,CAAC;;IAI1G,CAAC;IAED,sBAAI,mCAAK;aAAT;YACC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAI,IAAI,CAAC,SAAS,CAAC,KAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,OAAO,KAAG,OAAO,GAAG,SAAW,CAAC;QACjC,CAAC;aAED,UAAU,KAAa;YACtB,IAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;;;OANA;IAQD,sBAAI,mCAAK;aAAT;YACC,OAAO,CACN,IAAI,CAAC,oBAAoB,CAAC,aAAa,CACtC,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,CAAC,IAAI,CAAC,QAAQ,CACd;gBACD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CACpC,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,CAAC,IAAI,CAAC,QAAQ,CACd;gBACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAC7B,CAAC;QACH,CAAC;;;OAAA;IAED,4CAAiB,GAAjB;QACC,iBAAM,iBAAiB,WAAE,CAAC;IAC3B,CAAC;IAED,4CAAiB,GAAjB;QAAA,iBAMC;QALA,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,UAAA,aAAa;YAC7C,IAAI,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACtD,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,yCAAc,GAAd,UAAe,QAAgB;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAU,CAAC,SAAS,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,oBAAU,CAAC,SAAS,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,0CAAe,GAAf;QACC,IAAI,CAAC,OAAO,GAAG,iBAAM,aAAa,YAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,iBAAM,aAAa,YAAC,mBAAmB,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SAC5C;IACF,CAAC;IAED,SAAS;IACF,iCAAM,GAAb,UAAc,MAAM;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,qCAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,mCAAQ,GAAf;QACC,IAAI,CAAC,KAAK,CAAC;QACX,IAAI,CAAC,UAAU,CAAC,IAAI,CACnB,IAAI,qCAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAClD,CAAC;IACH,CAAC;IAED,sBAAW,sCAAkB;aAA7B;YACC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrB,CAAC;;;OAAA;IACD,mDAAwB,GAAxB,UAAyB,IAAY,EAAE,MAAc,EAAE,MAAc;QACpE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACO,2CAAgB,GAAxB,UAAyB,IAAY,EAAE,MAAc,EAAE,MAAc;QACpE,QAAQ,IAAI,EAAE;YACb,KAAK,UAAU;gBACd,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3B,MAAM;SACP;IACF,CAAC;IA7FW,gBAAgB;QAzB5B,IAAA,kCAAa,EAAC;YACd,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,kOAID;YACT,KAAK,EAAE,iUAeI;YACX,SAAS,EAAE,IAAI;SACf,CAAC;OACW,gBAAgB,CA8F5B;IAAD,uBAAC;CAAA,AA9FD,CAAsC,uCAAkB,GA8FvD;AA9FY,4CAAgB"}
@@ -0,0 +1,14 @@
1
+ import { CustomInputElement } from '../../framework/CustomInputElement';
2
+ import CprValidator from '../../framework/Validation/Validators/CPR';
3
+ export declare class CPRElement extends CustomInputElement {
4
+ text: HTMLInputElement;
5
+ validator: CprValidator;
6
+ constructor();
7
+ get value(): string;
8
+ set value(value: string);
9
+ get valid(): boolean;
10
+ connectedCallback(): void;
11
+ initChildInputs(): void;
12
+ change($event: any): void;
13
+ validate(): void;
14
+ }