@onepercentio/one-ui 0.29.9 → 1.0.1

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 (174) hide show
  1. package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
  2. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +1 -1
  3. package/dist/components/Button/Button.d.ts +3 -2
  4. package/dist/components/Button/Button.js +1 -1
  5. package/dist/components/EmailInput/EmailInput.d.ts +0 -1
  6. package/dist/components/Form/Form.d.ts +15 -49
  7. package/dist/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
  8. package/dist/components/Form/Form.hook.js +233 -0
  9. package/dist/components/Form/Form.js +67 -123
  10. package/{dist-ts/components/Form/v2 → dist/components/Form}/Form.types.d.ts +1 -0
  11. package/dist/components/Form/Form.types.js +40 -0
  12. package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
  13. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +71 -0
  14. package/dist/components/Form/FormField/Extensions/DateField/index.js +26 -0
  15. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +90 -0
  16. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +26 -0
  17. package/dist/components/Form/FormField/FormField.js +276 -0
  18. package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/FormField.types.d.ts +8 -6
  19. package/dist/components/Form/FormField/FormField.types.js +12 -0
  20. package/dist/components/Form/FormField/index.js +26 -0
  21. package/dist/components/Form/index.js +1 -1
  22. package/dist/components/Input/Input.d.ts +0 -6
  23. package/dist/components/Input/Input.js +9 -20
  24. package/dist/components/Input/Input.module.scss +0 -32
  25. package/dist/components/LinkToId/LinkToId.d.ts +3 -2
  26. package/dist/components/LinkToId/LinkToId.js +1 -1
  27. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -1
  28. package/dist/components/Radio/Radio.d.ts +1 -0
  29. package/dist/components/Radio/Radio.js +2 -1
  30. package/dist/components/SectionContainer/SectionContainer.js +1 -1
  31. package/dist/components/Select/Select.js +1 -2
  32. package/dist/components/Spacing/Spacing.d.ts +2 -1
  33. package/dist/components/Spacing/Spacing.js +1 -1
  34. package/dist/components/Tabs/Tabs.js +5 -3
  35. package/dist/components/Text/Text.d.ts +5 -4
  36. package/dist/components/Text/Text.js +2 -2
  37. package/dist/components/Text/Text.module.scss +3 -71
  38. package/dist/context/AsyncProcess.d.ts +5 -4
  39. package/dist/context/AsyncProcess.js +1 -1
  40. package/dist/context/OneUIProvider.d.ts +37 -22
  41. package/dist/context/OneUIProvider.js +1 -1
  42. package/dist/hooks/useHero.js +6 -2
  43. package/dist/hooks/useShortIntl.d.ts +2 -1
  44. package/dist/hooks/useShortIntl.js +1 -1
  45. package/dist/index.d.ts +7 -10
  46. package/dist/index.js +154 -180
  47. package/dist/index.preprocess.js +4 -3
  48. package/dist/type-utils.d.ts +11 -1
  49. package/dist/type-utils.js +1 -1
  50. package/dist/utility.d.js +1 -17
  51. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
  52. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js.map +1 -1
  53. package/dist-ts/components/Button/Button.d.ts +3 -2
  54. package/dist-ts/components/Button/Button.js.map +1 -1
  55. package/dist-ts/components/EmailInput/EmailInput.d.ts +0 -1
  56. package/dist-ts/components/Form/Form.d.ts +15 -49
  57. package/dist-ts/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
  58. package/dist-ts/components/Form/{v2/Form.hook.js → Form.hook.js} +9 -5
  59. package/dist-ts/components/Form/Form.hook.js.map +1 -0
  60. package/dist-ts/components/Form/Form.js +37 -66
  61. package/dist-ts/components/Form/Form.js.map +1 -1
  62. package/{dist/components/Form/v2 → dist-ts/components/Form}/Form.types.d.ts +1 -0
  63. package/dist-ts/components/Form/Form.types.js.map +1 -0
  64. package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
  65. package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.js +6 -6
  66. package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.js.map +1 -0
  67. package/dist-ts/components/Form/FormField/Extensions/DateField/index.js.map +1 -0
  68. package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.js +4 -4
  69. package/dist-ts/components/Form/FormField/Extensions/PhoneField/PhoneField.js.map +1 -0
  70. package/dist-ts/components/Form/FormField/Extensions/PhoneField/index.js.map +1 -0
  71. package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.js +15 -16
  72. package/dist-ts/components/Form/FormField/FormField.js.map +1 -0
  73. package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/FormField.types.d.ts +8 -6
  74. package/dist-ts/components/Form/FormField/FormField.types.js.map +1 -0
  75. package/dist-ts/components/Form/FormField/index.js.map +1 -0
  76. package/dist-ts/components/Form/index.js.map +1 -1
  77. package/dist-ts/components/Input/Input.d.ts +0 -6
  78. package/dist-ts/components/Input/Input.js +4 -15
  79. package/dist-ts/components/Input/Input.js.map +1 -1
  80. package/dist-ts/components/Input/Input.module.scss +0 -32
  81. package/dist-ts/components/LinkToId/LinkToId.d.ts +3 -2
  82. package/dist-ts/components/LinkToId/LinkToId.js.map +1 -1
  83. package/dist-ts/components/PasswordInput/PasswordInput.d.ts +0 -1
  84. package/dist-ts/components/Radio/Radio.d.ts +1 -0
  85. package/dist-ts/components/Radio/Radio.js +1 -1
  86. package/dist-ts/components/Radio/Radio.js.map +1 -1
  87. package/dist-ts/components/SectionContainer/SectionContainer.js.map +1 -1
  88. package/dist-ts/components/Select/Select.js +1 -1
  89. package/dist-ts/components/Select/Select.js.map +1 -1
  90. package/dist-ts/components/Spacing/Spacing.d.ts +2 -1
  91. package/dist-ts/components/Spacing/Spacing.js.map +1 -1
  92. package/dist-ts/components/Tabs/Tabs.js +4 -2
  93. package/dist-ts/components/Tabs/Tabs.js.map +1 -1
  94. package/dist-ts/components/Text/Text.d.ts +5 -4
  95. package/dist-ts/components/Text/Text.js +1 -1
  96. package/dist-ts/components/Text/Text.js.map +1 -1
  97. package/dist-ts/components/Text/Text.module.scss +3 -71
  98. package/dist-ts/context/AsyncProcess.d.ts +5 -4
  99. package/dist-ts/context/AsyncProcess.js.map +1 -1
  100. package/dist-ts/context/OneUIProvider.d.ts +37 -22
  101. package/dist-ts/context/OneUIProvider.js.map +1 -1
  102. package/dist-ts/hooks/useHero.js +3 -1
  103. package/dist-ts/hooks/useHero.js.map +1 -1
  104. package/dist-ts/hooks/useShortIntl.d.ts +2 -1
  105. package/dist-ts/hooks/useShortIntl.js.map +1 -1
  106. package/dist-ts/index.d.ts +7 -10
  107. package/dist-ts/index.js +7 -10
  108. package/dist-ts/index.js.map +1 -1
  109. package/dist-ts/index.preprocess.js +16 -12
  110. package/dist-ts/index.preprocess.js.map +1 -1
  111. package/dist-ts/type-utils.d.ts +11 -1
  112. package/package.json +9 -6
  113. package/tsconfig.prod.json +1 -0
  114. package/dist/components/Form/v2/Form.d.ts +0 -18
  115. package/dist/components/Form/v2/Form.hook.js +0 -230
  116. package/dist/components/Form/v2/Form.js +0 -63
  117. package/dist/components/Form/v2/Form.types.js +0 -40
  118. package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.js +0 -68
  119. package/dist/components/Form/v2/FormField/Extensions/DateField/index.js +0 -26
  120. package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js +0 -90
  121. package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.js +0 -26
  122. package/dist/components/Form/v2/FormField/FormField.js +0 -281
  123. package/dist/components/Form/v2/FormField/FormField.module.scss +0 -0
  124. package/dist/components/Form/v2/FormField/FormField.types.js +0 -12
  125. package/dist/components/Form/v2/FormField/index.js +0 -26
  126. package/dist/components/Form/v2/index.d.ts +0 -2
  127. package/dist/components/Form/v2/index.js +0 -26
  128. package/dist/hooks/useForm.d.ts +0 -16
  129. package/dist/hooks/useForm.js +0 -38
  130. package/dist/test.d.ts +0 -0
  131. package/dist/test.js +0 -2
  132. package/dist-ts/components/Form/v2/Form.d.ts +0 -18
  133. package/dist-ts/components/Form/v2/Form.hook.js.map +0 -1
  134. package/dist-ts/components/Form/v2/Form.js +0 -31
  135. package/dist-ts/components/Form/v2/Form.js.map +0 -1
  136. package/dist-ts/components/Form/v2/Form.types.js.map +0 -1
  137. package/dist-ts/components/Form/v2/FormField/Extensions/DateField/DateField.js.map +0 -1
  138. package/dist-ts/components/Form/v2/FormField/Extensions/DateField/index.js.map +0 -1
  139. package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js.map +0 -1
  140. package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/index.js.map +0 -1
  141. package/dist-ts/components/Form/v2/FormField/FormField.js.map +0 -1
  142. package/dist-ts/components/Form/v2/FormField/FormField.module.scss +0 -0
  143. package/dist-ts/components/Form/v2/FormField/FormField.types.js.map +0 -1
  144. package/dist-ts/components/Form/v2/FormField/index.js.map +0 -1
  145. package/dist-ts/components/Form/v2/index.d.ts +0 -2
  146. package/dist-ts/components/Form/v2/index.js +0 -3
  147. package/dist-ts/components/Form/v2/index.js.map +0 -1
  148. package/dist-ts/hooks/useForm.d.ts +0 -16
  149. package/dist-ts/hooks/useForm.js +0 -27
  150. package/dist-ts/hooks/useForm.js.map +0 -1
  151. package/dist-ts/test.d.ts +0 -0
  152. package/dist-ts/test.js +0 -2
  153. package/dist-ts/test.js.map +0 -1
  154. /package/dist/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
  155. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
  156. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
  157. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
  158. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
  159. /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
  160. /package/dist/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
  161. /package/dist/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
  162. /package/dist-ts/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
  163. /package/dist-ts/components/Form/{v2/Form.types.js → Form.types.js} +0 -0
  164. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
  165. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
  166. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.js +0 -0
  167. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
  168. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
  169. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
  170. /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.js +0 -0
  171. /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
  172. /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.types.js +0 -0
  173. /package/dist-ts/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
  174. /package/dist-ts/components/Form/{v2/FormField → FormField}/index.js +0 -0
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = FormField;
7
+ var _react = require("react");
8
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
9
+ var _FormField = require("./FormField.types");
10
+ var _Select = _interopRequireDefault(require("../../Select/Select"));
11
+ var _Input = _interopRequireDefault(require("../../Input"));
12
+ var _Text = _interopRequireDefault(require("../../Text"));
13
+ var _Button = _interopRequireDefault(require("../../Button"));
14
+ var _Radio = _interopRequireDefault(require("../../Radio"));
15
+ var _AnchoredTooltip = require("../../AnchoredTooltip/AnchoredTooltip");
16
+ var _FileInput = _interopRequireDefault(require("../../FileInput/FileInput"));
17
+ var _CheckBox = _interopRequireDefault(require("../../CheckBox/CheckBox"));
18
+ var _Spacing = _interopRequireDefault(require("../../Spacing"));
19
+ var _OneUIProvider = require("../../../context/OneUIProvider");
20
+ const _excluded = ["config", "value"];
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
23
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
24
+ // import InputMask from "react-input-mask";
25
+
26
+ /**
27
+ * The logic for a field of the form
28
+ **/
29
+ function FormField(_ref) {
30
+ let {
31
+ config: c,
32
+ value
33
+ } = _ref,
34
+ props = _objectWithoutProperties(_ref, _excluded);
35
+ const val = () => value;
36
+ const ans = answer => answer;
37
+ const type = c.type;
38
+ const {
39
+ titleVariant,
40
+ labelVariant,
41
+ optionalLabel,
42
+ extensions
43
+ } = (0, _OneUIProvider.useOneUIConfig)("component.form");
44
+ if (props.mode === _FormField.FormMode.READ_ONLY) {
45
+ switch (type) {
46
+ case "check":
47
+ const checks = val() || [];
48
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
49
+ type: titleVariant
50
+ }, c.title), checks.includes(true) ? checks.map((checked, i) => checked ? /*#__PURE__*/React.createElement(_Text.default, {
51
+ type: labelVariant
52
+ }, c.options[i].value) : null) : /*#__PURE__*/React.createElement(_Text.default, {
53
+ type: labelVariant
54
+ }, "-"), /*#__PURE__*/React.createElement(_Spacing.default, {
55
+ size: "small"
56
+ }));
57
+ case "file":
58
+ const file = val();
59
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_FileInput.default, {
60
+ states: {
61
+ fileProvided: {
62
+ title: c.title,
63
+ description: c.fileUsageDescription
64
+ },
65
+ waitingFile: {
66
+ title: c.title,
67
+ description: c.fileUsageDescription
68
+ }
69
+ },
70
+ footer: c.footer,
71
+ onFile: () => {},
72
+ file: file === true ? {} : undefined,
73
+ progress: file === true ? 100 : undefined,
74
+ disabled: true
75
+ }), /*#__PURE__*/React.createElement(_Spacing.default, {
76
+ size: "small"
77
+ }), file === true && /*#__PURE__*/React.createElement(_Button.default, {
78
+ variant: "link",
79
+ color: "primary",
80
+ onClick: c.openFile.action
81
+ }, c.openFile.label), /*#__PURE__*/React.createElement(_Spacing.default, {
82
+ size: "large"
83
+ }));
84
+ default:
85
+ const answer = val();
86
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
87
+ type: titleVariant
88
+ }, c.title), /*#__PURE__*/React.createElement(_Text.default, {
89
+ type: labelVariant
90
+ }, answer || "-"));
91
+ }
92
+ }
93
+ const {
94
+ onAnswer,
95
+ error
96
+ } = props;
97
+ switch (type) {
98
+ case "accept":
99
+ const checks = val() || [];
100
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Text.default, {
101
+ type: titleVariant
102
+ }, c.title), /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(_Button.default, {
103
+ variant: "link",
104
+ color: "primary",
105
+ onClick: c.contract.action
106
+ }, c.contract.label)), error && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Text.default, {
107
+ type: "caption",
108
+ color: "error"
109
+ }, error), /*#__PURE__*/React.createElement("br", null)), /*#__PURE__*/React.createElement("div", null, c.accept.map((a, i) => /*#__PURE__*/React.createElement(_Text.default, {
110
+ type: labelVariant
111
+ }, /*#__PURE__*/React.createElement(_CheckBox.default, {
112
+ label: /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(React.Fragment, null, a.label, a.optional ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(_Text.default, {
113
+ type: "caption"
114
+ }, optionalLabel)) : "")),
115
+ checked: checks[i],
116
+ onToggle: checked => {
117
+ const clone = [...checks];
118
+ clone[i] = checked;
119
+ onAnswer(type, c.id, ans(clone));
120
+ },
121
+ groupId: c.id,
122
+ value: a.label
123
+ }))))), /*#__PURE__*/React.createElement(_Spacing.default, {
124
+ size: "small"
125
+ }));
126
+ case "file":
127
+ const upload = val();
128
+ const [progress, setProgress] = (0, _react.useState)(() => {
129
+ if (!upload) return undefined;
130
+ if (upload === true) return 100;
131
+ const s = upload.snapshot;
132
+ return s.bytesTransferred * 100 / s.totalBytes;
133
+ });
134
+ (0, _react.useEffect)(() => {
135
+ if (!upload) return setProgress(undefined);
136
+ if (upload === true) {
137
+ setProgress(100);
138
+ return;
139
+ }
140
+ const throttleSetProgress = (0, _debounce.default)(setProgress, 250);
141
+ const unsubscribe = upload.on("state_changed", s => {
142
+ const progress = s.bytesTransferred * 100 / s.totalBytes;
143
+ throttleSetProgress(progress);
144
+ });
145
+ return () => {
146
+ unsubscribe();
147
+ };
148
+ }, [upload]);
149
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_FileInput.default, {
150
+ states: {
151
+ fileProvided: {
152
+ title: c.title,
153
+ description: c.fileUsageDescription
154
+ },
155
+ waitingFile: {
156
+ title: c.title,
157
+ description: c.fileUsageDescription
158
+ }
159
+ },
160
+ footer: c.footer,
161
+ onFile: file => {
162
+ onAnswer(type, c.id, ans(file));
163
+ },
164
+ file: upload,
165
+ progress: upload ? progress || 0 : undefined,
166
+ accept: c.extensions.map(x => ".".concat(x)).join(",")
167
+ }), error ? /*#__PURE__*/React.createElement(_Text.default, {
168
+ type: "caption",
169
+ color: "error"
170
+ }, error) : null, /*#__PURE__*/React.createElement(_Spacing.default, {
171
+ size: "large"
172
+ }));
173
+ case "radio":
174
+ const selected = val();
175
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
176
+ type: titleVariant
177
+ }, c.title), error && /*#__PURE__*/React.createElement(_Text.default, {
178
+ type: "caption",
179
+ color: "error"
180
+ }, error), /*#__PURE__*/React.createElement("br", null), c.options.map(el => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
181
+ type: labelVariant
182
+ }, /*#__PURE__*/React.createElement(_Radio.default, {
183
+ checked: selected === el.value,
184
+ label: el.label,
185
+ onToggle: () => onAnswer(type, c.id, el.value),
186
+ groupId: c.id,
187
+ value: el.value
188
+ })), /*#__PURE__*/React.createElement("br", null))));
189
+ case "check":
190
+ const checkError = typeof error === "string" ? c.options.map(() => error) : error;
191
+ const checkmarks = val() || [];
192
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
193
+ type: titleVariant
194
+ }, c.title), /*#__PURE__*/React.createElement("br", null), c.options.map((el, i) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
195
+ type: labelVariant
196
+ }, /*#__PURE__*/React.createElement(_CheckBox.default, {
197
+ checked: checkmarks[i],
198
+ label: /*#__PURE__*/React.createElement(React.Fragment, null, el.label, checkError !== null && checkError !== void 0 && checkError[i] ? /*#__PURE__*/React.createElement(_Text.default, {
199
+ type: "caption",
200
+ color: "error"
201
+ }, checkError[i]) : null),
202
+ onToggle: checked => {
203
+ const clone = [...checkmarks];
204
+ clone[i] = checked;
205
+ onAnswer(type, c.id, clone);
206
+ },
207
+ groupId: c.id,
208
+ value: el.value
209
+ })), /*#__PURE__*/React.createElement("br", null))));
210
+ case "rawcheck":
211
+ const rawCheckmarks = val() || [];
212
+ return /*#__PURE__*/React.createElement(React.Fragment, null, error && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
213
+ type: "caption",
214
+ color: "error"
215
+ }, error), /*#__PURE__*/React.createElement("br", null)), c.options.map((el, i) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
216
+ type: labelVariant
217
+ }, /*#__PURE__*/React.createElement(_CheckBox.default, {
218
+ checked: rawCheckmarks[i],
219
+ label: el.label,
220
+ onToggle: checked => {
221
+ const clone = [...rawCheckmarks];
222
+ clone[i] = checked;
223
+ onAnswer(type, c.id, clone);
224
+ },
225
+ groupId: c.id,
226
+ value: el.value
227
+ })), /*#__PURE__*/React.createElement("br", null))));
228
+ case "select":
229
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
230
+ type: titleVariant
231
+ }, c.title), /*#__PURE__*/React.createElement(_Select.default, {
232
+ alignTo: _AnchoredTooltip.AnchoredTooltipAlignment.LEFT,
233
+ items: c.options,
234
+ selected: val(),
235
+ onClick: i => {
236
+ onAnswer(type, c.id, i.value);
237
+ },
238
+ filter: c.filter,
239
+ error: error
240
+ }));
241
+ case "text":
242
+ case "number":
243
+ const filter = type === "number" ? val => val.replace(/[^0-9]+/g, "") : val => val;
244
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
245
+ type: titleVariant
246
+ }, c.title), /*#__PURE__*/React.createElement(_Input.default, {
247
+ multiline: "multiline" in c ? c.multiline : undefined,
248
+ placeholder: c.title,
249
+ value: val(),
250
+ error: error,
251
+ onChange: _ref2 => {
252
+ let {
253
+ target: {
254
+ value
255
+ }
256
+ } = _ref2;
257
+ onAnswer(type, c.id, filter(value));
258
+ }
259
+ }));
260
+ default:
261
+ const registeredExtension = extensions === null || extensions === void 0 ? void 0 : extensions[type];
262
+ if (registeredExtension) {
263
+ const {
264
+ Input
265
+ } = registeredExtension;
266
+ return /*#__PURE__*/React.createElement(Input, {
267
+ onAnswer: onAnswer,
268
+ question: c,
269
+ value: value,
270
+ error: error
271
+ });
272
+ }
273
+ throw new Error("The form field \"".concat(type, "\" is not implemented yet. Please provide it using OneUIProvider config options for form extensions"));
274
+ }
275
+ }
276
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2RlYm91bmNlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtRmllbGQiLCJfU2VsZWN0IiwiX0lucHV0IiwiX1RleHQiLCJfQnV0dG9uIiwiX1JhZGlvIiwiX0FuY2hvcmVkVG9vbHRpcCIsIl9GaWxlSW5wdXQiLCJfQ2hlY2tCb3giLCJfU3BhY2luZyIsIl9PbmVVSVByb3ZpZGVyIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwidCIsIm8iLCJyIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibiIsImxlbmd0aCIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNhbGwiLCJoYXNPd25Qcm9wZXJ0eSIsIkZvcm1GaWVsZCIsIl9yZWYiLCJjb25maWciLCJjIiwidmFsdWUiLCJwcm9wcyIsInZhbCIsImFucyIsImFuc3dlciIsInR5cGUiLCJ0aXRsZVZhcmlhbnQiLCJsYWJlbFZhcmlhbnQiLCJvcHRpb25hbExhYmVsIiwiZXh0ZW5zaW9ucyIsInVzZU9uZVVJQ29uZmlnIiwibW9kZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwiY2hlY2tzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJ0aXRsZSIsImluY2x1ZGVzIiwibWFwIiwiY2hlY2tlZCIsIm9wdGlvbnMiLCJzaXplIiwiZmlsZSIsInN0YXRlcyIsImZpbGVQcm92aWRlZCIsImRlc2NyaXB0aW9uIiwiZmlsZVVzYWdlRGVzY3JpcHRpb24iLCJ3YWl0aW5nRmlsZSIsImZvb3RlciIsIm9uRmlsZSIsInVuZGVmaW5lZCIsInByb2dyZXNzIiwiZGlzYWJsZWQiLCJ2YXJpYW50IiwiY29sb3IiLCJvbkNsaWNrIiwib3BlbkZpbGUiLCJhY3Rpb24iLCJsYWJlbCIsIm9uQW5zd2VyIiwiZXJyb3IiLCJjb250cmFjdCIsImFjY2VwdCIsImEiLCJvcHRpb25hbCIsIm9uVG9nZ2xlIiwiY2xvbmUiLCJpZCIsImdyb3VwSWQiLCJ1cGxvYWQiLCJzZXRQcm9ncmVzcyIsInVzZVN0YXRlIiwicyIsInNuYXBzaG90IiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInRvdGFsQnl0ZXMiLCJ1c2VFZmZlY3QiLCJ0aHJvdHRsZVNldFByb2dyZXNzIiwiZGVib3VuY2UiLCJ1bnN1YnNjcmliZSIsIm9uIiwieCIsImNvbmNhdCIsImpvaW4iLCJzZWxlY3RlZCIsImVsIiwiY2hlY2tFcnJvciIsImNoZWNrbWFya3MiLCJyYXdDaGVja21hcmtzIiwiYWxpZ25UbyIsIkFuY2hvcmVkVG9vbHRpcEFsaWdubWVudCIsIkxFRlQiLCJpdGVtcyIsImZpbHRlciIsInJlcGxhY2UiLCJtdWx0aWxpbmUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX3JlZjIiLCJ0YXJnZXQiLCJyZWdpc3RlcmVkRXh0ZW5zaW9uIiwiSW5wdXQiLCJxdWVzdGlvbiIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtRmllbGQvRm9ybUZpZWxkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQge1xuICBBbnN3ZXJBY3Rpb24sXG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZFByb3BzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkLnR5cGVzXCI7XG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9TZWxlY3QvU2VsZWN0XCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL0lucHV0XCI7XG5pbXBvcnQgT25lVGV4dCBmcm9tIFwiLi4vLi4vVGV4dFwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vQnV0dG9uXCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uLy4uL1JhZGlvXCI7XG5pbXBvcnQgeyBBbmNob3JlZFRvb2x0aXBBbGlnbm1lbnQgfSBmcm9tIFwiLi4vLi4vQW5jaG9yZWRUb29sdGlwL0FuY2hvcmVkVG9vbHRpcFwiO1xuaW1wb3J0IEZpbGVJbnB1dCBmcm9tIFwiLi4vLi4vRmlsZUlucHV0L0ZpbGVJbnB1dFwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi8uLi9DaGVja0JveC9DaGVja0JveFwiO1xuaW1wb3J0IFNwYWNpbmcgZnJvbSBcIi4uLy4uL1NwYWNpbmdcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuLy8gaW1wb3J0IElucHV0TWFzayBmcm9tIFwicmVhY3QtaW5wdXQtbWFza1wiO1xuXG4vKipcbiAqIFRoZSBsb2dpYyBmb3IgYSBmaWVsZCBvZiB0aGUgZm9ybVxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRm9ybUZpZWxkPFEgZXh0ZW5kcyBGb3JtRmllbGRWaWV3Pih7XG4gIGNvbmZpZzogYyxcbiAgdmFsdWUsXG4gIC4uLnByb3BzXG59OiBGb3JtRmllbGRQcm9wczxRPikge1xuICBjb25zdCB2YWwgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPigpID0+XG4gICAgdmFsdWUgYXMgdW5rbm93biBhc1xuICAgIHwgQW5zd2VyQnlGaWVsZDx7XG4gICAgICB0eXBlOiBUO1xuICAgIH0+XG4gICAgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGFucyA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVmlld1tcInR5cGVcIl0+KFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+XG4gICAgICB8IHVuZGVmaW5lZFxuICApID0+XG4gICAgYW5zd2VyIGFzIHVua25vd24gYXMgQW5zd2VyQWN0aW9uPHtcbiAgICAgIHR5cGU6IFQ7XG4gICAgfT47XG4gIGNvbnN0IHR5cGUgPSBjLnR5cGU7XG4gIGNvbnN0IHsgdGl0bGVWYXJpYW50LCBsYWJlbFZhcmlhbnQsIG9wdGlvbmFsTGFiZWwsIGV4dGVuc2lvbnMgfSA9XG4gICAgdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgaWYgKHByb3BzLm1vZGUgPT09IEZvcm1Nb2RlLlJFQURfT05MWSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImNoZWNrXCI6XG4gICAgICAgIGNvbnN0IGNoZWNrcyA9IHZhbDx0eXBlb2YgdHlwZT4oKSEgfHwgW107XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgICAge2NoZWNrcy5pbmNsdWRlcyh0cnVlKSA/IChcbiAgICAgICAgICAgICAgY2hlY2tzLm1hcCgoY2hlY2tlZCwgaSkgPT5cbiAgICAgICAgICAgICAgICBjaGVja2VkID8gKFxuICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT57Yy5vcHRpb25zW2ldLnZhbHVlfTwvT25lVGV4dD5cbiAgICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8T25lVGV4dCB0eXBlPXtsYWJlbFZhcmlhbnR9Pi08L09uZVRleHQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNvbnN0IGZpbGUgPSB2YWw8dHlwZW9mIHR5cGU+KCkhO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RmlsZUlucHV0XG4gICAgICAgICAgICAgIHN0YXRlcz17e1xuICAgICAgICAgICAgICAgIGZpbGVQcm92aWRlZDoge1xuICAgICAgICAgICAgICAgICAgdGl0bGU6IGMudGl0bGUsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHdhaXRpbmdGaWxlOiB7XG4gICAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjLmZpbGVVc2FnZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGZvb3Rlcj17Yy5mb290ZXJ9XG4gICAgICAgICAgICAgIG9uRmlsZT17KCkgPT4geyB9fVxuICAgICAgICAgICAgICBmaWxlPXtmaWxlID09PSB0cnVlID8gKHt9IGFzIEZpbGUpIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICBwcm9ncmVzcz17ZmlsZSA9PT0gdHJ1ZSA/IDEwMCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgIHtmaWxlID09PSB0cnVlICYmIChcbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Mub3BlbkZpbGUhLmFjdGlvbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjLm9wZW5GaWxlIS5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFNwYWNpbmcgc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnN0IGFuc3dlciA9IHZhbDx0eXBlb2YgdHlwZT4oKSBhcyBSZWFjdE5vZGU7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e3RpdGxlVmFyaWFudH0+e2MudGl0bGV9PC9PbmVUZXh0PlxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fSBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX0+e2Fuc3dlciB8fCBcIi1cIn08L09uZVRleHQ+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHsgb25BbnN3ZXIsIGVycm9yIH0gPSBwcm9wcztcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBcImFjY2VwdFwiOlxuICAgICAgY29uc3QgY2hlY2tzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImxpbmtcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17Yy5jb250cmFjdC5hY3Rpb259XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Yy5jb250cmFjdC5sYWJlbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICB7Yy5hY2NlcHQubWFwKChhLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICAgIDxDaGVja0JveFxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2Eub3B0aW9uYWwgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIj57b3B0aW9uYWxMYWJlbH08L09uZVRleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NoZWNrc1tpXX1cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGU9eyhjaGVja2VkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4uY2hlY2tzXTtcbiAgICAgICAgICAgICAgICAgICAgICBjbG9uZVtpXSA9IGNoZWNrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgYW5zPHR5cGVvZiB0eXBlPihjbG9uZSkpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBncm91cElkPXtjLmlkfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YS5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxTcGFjaW5nIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgY29uc3QgdXBsb2FkID0gdmFsPHR5cGVvZiB0eXBlPigpO1xuICAgICAgY29uc3QgW3Byb2dyZXNzLCBzZXRQcm9ncmVzc10gPSB1c2VTdGF0ZTxudW1iZXIgfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh1cGxvYWQgPT09IHRydWUpIHJldHVybiAxMDA7XG4gICAgICAgIGNvbnN0IHMgPSB1cGxvYWQuc25hcHNob3Q7XG4gICAgICAgIHJldHVybiAocy5ieXRlc1RyYW5zZmVycmVkICogMTAwKSAvIHMudG90YWxCeXRlcztcbiAgICAgIH0pO1xuICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCF1cGxvYWQpIHJldHVybiBzZXRQcm9ncmVzcyh1bmRlZmluZWQpO1xuICAgICAgICBpZiAodXBsb2FkID09PSB0cnVlKSB7XG4gICAgICAgICAgc2V0UHJvZ3Jlc3MoMTAwKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGhyb3R0bGVTZXRQcm9ncmVzcyA9IGRlYm91bmNlKHNldFByb2dyZXNzLCAyNTApO1xuICAgICAgICBjb25zdCB1bnN1YnNjcmliZSA9IHVwbG9hZC5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHMpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IChzLmJ5dGVzVHJhbnNmZXJyZWQgKiAxMDApIC8gcy50b3RhbEJ5dGVzO1xuICAgICAgICAgIHRocm90dGxlU2V0UHJvZ3Jlc3MocHJvZ3Jlc3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH07XG4gICAgICB9LCBbdXBsb2FkXSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlSW5wdXRcbiAgICAgICAgICAgIHN0YXRlcz17e1xuICAgICAgICAgICAgICBmaWxlUHJvdmlkZWQ6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgd2FpdGluZ0ZpbGU6IHtcbiAgICAgICAgICAgICAgICB0aXRsZTogYy50aXRsZSxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYy5maWxlVXNhZ2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmb290ZXI9e2MuZm9vdGVyfVxuICAgICAgICAgICAgb25GaWxlPXsoZmlsZSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBhbnM8dHlwZW9mIHR5cGU+KGZpbGUpKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmaWxlPXt1cGxvYWQgYXMgdW5rbm93biBhcyBGaWxlfVxuICAgICAgICAgICAgcHJvZ3Jlc3M9e3VwbG9hZCA/IHByb2dyZXNzIHx8IDAgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhY2NlcHQ9e2MuZXh0ZW5zaW9ucy5tYXAoKHgpID0+IGAuJHt4fWApLmpvaW4oXCIsXCIpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2Vycm9yID8gKFxuICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8U3BhY2luZyBzaXplPVwibGFyZ2VcIiAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInJhZGlvXCI6XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHZhbDx0eXBlb2YgdHlwZT4oKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAge2Vycm9yICYmIChcbiAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9XCJjYXB0aW9uXCIgY29sb3I9XCJlcnJvclwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPFJhZGlvXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZCA9PT0gZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KCkgPT4gb25BbnN3ZXIodHlwZSwgYy5pZCwgZWwudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgY29uc3QgY2hlY2tFcnJvciA9XG4gICAgICAgIHR5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIiA/IGMub3B0aW9ucy5tYXAoKCkgPT4gZXJyb3IpIDogZXJyb3I7XG4gICAgICBjb25zdCBjaGVja21hcmtzID0gdmFsPHR5cGVvZiB0eXBlPigpIHx8IFtdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7Yy5vcHRpb25zLm1hcCgoZWwsIGkpID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxPbmVUZXh0IHR5cGU9e2xhYmVsVmFyaWFudH0+XG4gICAgICAgICAgICAgICAgPENoZWNrQm94XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtjaGVja21hcmtzW2ldfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIHtlbC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICB7Y2hlY2tFcnJvcj8uW2ldID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT1cImNhcHRpb25cIiBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtjaGVja0Vycm9yW2ldfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlPXsoY2hlY2tlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZSA9IFsuLi5jaGVja21hcmtzXTtcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVbaV0gPSBjaGVja2VkO1xuICAgICAgICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBjbG9uZSk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgZ3JvdXBJZD17Yy5pZH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtlbC52YWx1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L09uZVRleHQ+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBjYXNlIFwicmF3Y2hlY2tcIjpcbiAgICAgIGNvbnN0IHJhd0NoZWNrbWFya3MgPSB2YWw8dHlwZW9mIHR5cGU+KCkgfHwgW107XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8T25lVGV4dCB0eXBlPVwiY2FwdGlvblwiIGNvbG9yPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICAgIDwvT25lVGV4dD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtjLm9wdGlvbnMubWFwKChlbCwgaSkgPT4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPE9uZVRleHQgdHlwZT17bGFiZWxWYXJpYW50fT5cbiAgICAgICAgICAgICAgICA8Q2hlY2tCb3hcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3Jhd0NoZWNrbWFya3NbaV19XG4gICAgICAgICAgICAgICAgICBsYWJlbD17ZWwubGFiZWx9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZT17KGNoZWNrZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSBbLi4ucmF3Q2hlY2ttYXJrc107XG4gICAgICAgICAgICAgICAgICAgIGNsb25lW2ldID0gY2hlY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgb25BbnN3ZXIodHlwZSwgYy5pZCwgY2xvbmUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGdyb3VwSWQ9e2MuaWR9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZWwudmFsdWV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9PbmVUZXh0PlxuICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInNlbGVjdFwiOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8T25lVGV4dCB0eXBlPXt0aXRsZVZhcmlhbnR9PntjLnRpdGxlfTwvT25lVGV4dD5cbiAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17YGN2bTg4LSR7Yy5pZH1gfVxuICAgICAgICAgICAgYWxpZ25Ubz17QW5jaG9yZWRUb29sdGlwQWxpZ25tZW50LkxFRlR9XG4gICAgICAgICAgICBpdGVtcz17Yy5vcHRpb25zfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3ZhbDx0eXBlb2YgdHlwZT4oKSF9XG4gICAgICAgICAgICBvbkNsaWNrPXsoaSkgPT4ge1xuICAgICAgICAgICAgICBvbkFuc3dlcih0eXBlLCBjLmlkLCBpLnZhbHVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBmaWx0ZXI9e2MuZmlsdGVyfVxuICAgICAgICAgICAgZXJyb3I9e2Vycm9yIGFzIHN0cmluZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgY2FzZSBcInRleHRcIjpcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICBjb25zdCBmaWx0ZXIgPVxuICAgICAgICB0eXBlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgPyAodmFsOiBzdHJpbmcpID0+IHZhbC5yZXBsYWNlKC9bXjAtOV0rL2csIFwiXCIpXG4gICAgICAgICAgOiAodmFsOiBzdHJpbmcpID0+IHZhbDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPE9uZVRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57Yy50aXRsZX08L09uZVRleHQ+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBtdWx0aWxpbmU9e1wibXVsdGlsaW5lXCIgaW4gYyA/IGMubXVsdGlsaW5lIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2MudGl0bGV9XG4gICAgICAgICAgICB2YWx1ZT17dmFsPHR5cGVvZiB0eXBlPigpfVxuICAgICAgICAgICAgZXJyb3I9e2Vycm9yIGFzIHN0cmluZ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyB0YXJnZXQ6IHsgdmFsdWUgfSB9KSA9PiB7XG4gICAgICAgICAgICAgIG9uQW5zd2VyKHR5cGUsIGMuaWQsIGZpbHRlcih2YWx1ZSkpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICBkZWZhdWx0OlxuICAgICAgY29uc3QgcmVnaXN0ZXJlZEV4dGVuc2lvbiA9IGV4dGVuc2lvbnM/Llt0eXBlXSBhcyBhbnk7XG4gICAgICBpZiAocmVnaXN0ZXJlZEV4dGVuc2lvbikge1xuICAgICAgICBjb25zdCB7IElucHV0IH0gPSByZWdpc3RlcmVkRXh0ZW5zaW9uO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgb25BbnN3ZXI9e29uQW5zd2VyfVxuICAgICAgICAgICAgcXVlc3Rpb249e2MgYXMgYW55fVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlIGFzIGFueX1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvciBhcyBhbnl9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGZvcm0gZmllbGQgXCIke3R5cGV9XCIgaXMgbm90IGltcGxlbWVudGVkIHlldC4gUGxlYXNlIHByb3ZpZGUgaXQgdXNpbmcgT25lVUlQcm92aWRlciBjb25maWcgb3B0aW9ucyBmb3IgZm9ybSBleHRlbnNpb25zYFxuICAgICAgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFPQSxJQUFBSSxPQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFKLHNCQUFB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
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from "react";
2
- import { SelectItem } from "../../../Select/Select";
2
+ import { SelectItem } from "../../Select/Select";
3
3
  import { UploadTask } from "firebase/storage";
4
- import { UnresolvableOr } from "../../../../type-utils";
4
+ import { FromOnePercentUtility, UnresolvableOr } from "../../../type-utils";
5
5
  export type GenericFormFieldProps<T extends FormField["type"]> = {
6
6
  value: AnswerByField<{
7
7
  type: T;
@@ -19,6 +19,7 @@ export type GenericFormFieldProps<T extends FormField["type"]> = {
19
19
  export type FormFieldProps<Q extends Pick<FormFieldView, "type">> = {
20
20
  config: Q;
21
21
  value: AnswerByField<Q>;
22
+ "data-testid"?: string;
22
23
  } & ({
23
24
  mode: FormMode.READ_ONLY;
24
25
  } | {
@@ -54,6 +55,7 @@ type DistributeValidatorOverUnion<FormFieldTypes extends {
54
55
  export type FormField = {
55
56
  optional?: boolean;
56
57
  id: string;
58
+ readOnly?: boolean;
57
59
  } & DistributeValidatorOverUnion<BasicFormFields | {
58
60
  type: "radio";
59
61
  options: SelectItem[];
@@ -83,8 +85,8 @@ export type FormField = {
83
85
  label: string;
84
86
  optional?: true;
85
87
  }[];
86
- } | UnresolvableOr<OnepercentUtility.UIElements.FormExtension["fields"], BasicFormFields>>;
87
- export type FormFieldTypes = FormField['type'] | 'accept';
88
- type ExternalQuestionFields = UnresolvableOr<OnepercentUtility.UIElements.FormExtension["fieldAnswer"], {}>;
89
- export type AnswerByField<F extends Pick<FormField, "type">> = F["type"] extends "file" ? UploadTask | true : F["type"] extends "accept" | "check" | "rawcheck" ? boolean[] : F["type"] extends "radio" | "text" | "select" | "number" ? string : F["type"] extends keyof ExternalQuestionFields ? OnepercentUtility.UIElements.FormExtension["fieldAnswer"][F["type"]] : unknown;
88
+ } | UnresolvableOr<FromOnePercentUtility<"UIElements.FormExtension">["fields"], BasicFormFields>>;
89
+ export type FormFieldTypes = FormField["type"] | "accept";
90
+ type ExternalQuestionFields = UnresolvableOr<FromOnePercentUtility<"UIElements.FormExtension">["fieldAnswer"], {}>;
91
+ export type AnswerByField<F extends Pick<FormField, "type">> = F["type"] extends "file" ? UploadTask | true : F["type"] extends "accept" | "check" | "rawcheck" ? boolean[] : F["type"] extends "radio" | "text" | "select" | "number" ? string : F["type"] extends keyof ExternalQuestionFields ? FromOnePercentUtility<"UIElements.FormExtension">["fieldAnswer"][F["type"]] : unknown;
90
92
  export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FormMode = void 0;
7
+ let FormMode = exports.FormMode = /*#__PURE__*/function (FormMode) {
8
+ FormMode[FormMode["READ_ONLY"] = 0] = "READ_ONLY";
9
+ FormMode[FormMode["WRITE"] = 1] = "WRITE";
10
+ return FormMode;
11
+ }({});
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGb3JtTW9kZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tIFwiLi4vLi4vU2VsZWN0L1NlbGVjdFwiO1xuaW1wb3J0IHsgVXBsb2FkVGFzayB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHksIFVucmVzb2x2YWJsZU9yIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGUtdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgR2VuZXJpY0Zvcm1GaWVsZFByb3BzPFQgZXh0ZW5kcyBGb3JtRmllbGRbXCJ0eXBlXCJdPiA9IHtcbiAgdmFsdWU6IEFuc3dlckJ5RmllbGQ8eyB0eXBlOiBUIH0+O1xuICBvbkFuc3dlcjogKEZvcm1GaWVsZFByb3BzPHsgdHlwZTogVCB9PiAmIHtcbiAgICBtb2RlOiBGb3JtTW9kZS5XUklURTtcbiAgfSlbXCJvbkFuc3dlclwiXTtcbiAgcXVlc3Rpb246IEZvcm1GaWVsZFZpZXcgJiB7IHR5cGU6IFQgfTtcbiAgZXJyb3I/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGb3JtRmllbGRQcm9wczxRIGV4dGVuZHMgUGljazxGb3JtRmllbGRWaWV3LCBcInR5cGVcIj4+ID0ge1xuICBjb25maWc6IFE7XG4gIHZhbHVlOiBBbnN3ZXJCeUZpZWxkPFE+O1xuICBcImRhdGEtdGVzdGlkXCI/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgbW9kZTogRm9ybU1vZGUuUkVBRF9PTkxZO1xuICAgIH1cbiAgfCB7XG4gICAgICBtb2RlPzogRm9ybU1vZGUuV1JJVEU7XG4gICAgICBvbkFuc3dlcjogPFQgZXh0ZW5kcyBRW1widHlwZVwiXT4oXG4gICAgICAgIHF1ZXN0aW9uVHlwZTogVCxcbiAgICAgICAgcXVlc3Rpb25JZDogc3RyaW5nLFxuICAgICAgICBhbnN3ZXI6XG4gICAgICAgICAgfCBBbnN3ZXJBY3Rpb248e1xuICAgICAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICAgICAgfT5cbiAgICAgICAgICB8IHVuZGVmaW5lZFxuICAgICAgKSA9PiB2b2lkO1xuICAgICAgZXJyb3I/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9XG4pO1xuXG5leHBvcnQgZW51bSBGb3JtTW9kZSB7XG4gIFJFQURfT05MWSxcbiAgV1JJVEUsXG59XG5leHBvcnQgdHlwZSBGb3JtRmllbGRWaWV3ID0gRm9ybUZpZWxkICYge1xuICB0aXRsZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQW5zd2VyQWN0aW9uPEYgZXh0ZW5kcyBQaWNrPEZvcm1GaWVsZCwgXCJ0eXBlXCI+PiA9XG4gIEZbXCJ0eXBlXCJdIGV4dGVuZHMgXCJmaWxlXCIgPyBGaWxlIDogQW5zd2VyQnlGaWVsZDxGPjtcblxuZXhwb3J0IHR5cGUgQmFzaWNGb3JtRmllbGRzID1cbiAgfCB7XG4gICAgICB0eXBlOiBcInNlbGVjdFwiO1xuICAgICAgZmlsdGVyPzogKGl0ZW06IFNlbGVjdEl0ZW0sIHRlcm06IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICAgIG9wdGlvbnM6IFNlbGVjdEl0ZW1bXTtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJ0ZXh0XCI7XG4gICAgICBtdWx0aWxpbmU/OiBudW1iZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwibnVtYmVyXCI7XG4gICAgfTtcblxudHlwZSBEaXN0cmlidXRlVmFsaWRhdG9yT3ZlclVuaW9uPEZvcm1GaWVsZFR5cGVzIGV4dGVuZHMgeyB0eXBlOiBhbnkgfT4gPVxuICBGb3JtRmllbGRUeXBlcyBleHRlbmRzIGFueVxuICAgID8gRm9ybUZpZWxkVHlwZXMgJiB7XG4gICAgICAgIHZhbGlkYXRvcj86IChcbiAgICAgICAgICB2YWw6IEFuc3dlckFjdGlvbjxGb3JtRmllbGRUeXBlcz4gfCB1bmRlZmluZWRcbiAgICAgICAgKSA9PiBib29sZWFuIHwgc3RyaW5nO1xuICAgICAgfVxuICAgIDogbmV2ZXI7XG5leHBvcnQgdHlwZSBGb3JtRmllbGQgPSB7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xufSAmIERpc3RyaWJ1dGVWYWxpZGF0b3JPdmVyVW5pb248XG4gIHwgQmFzaWNGb3JtRmllbGRzXG4gIHwge1xuICAgICAgdHlwZTogXCJyYWRpb1wiO1xuICAgICAgb3B0aW9uczogU2VsZWN0SXRlbVtdO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImNoZWNrXCIgfCBcInJhd2NoZWNrXCI7XG4gICAgICBvcHRpb25zOiBTZWxlY3RJdGVtW107XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZmlsZVwiO1xuICAgICAgZmlsZVVzYWdlRGVzY3JpcHRpb246IHN0cmluZztcbiAgICAgIGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xuICAgICAgZm9vdGVyOiBzdHJpbmc7XG4gICAgICBvcGVuRmlsZT86IHtcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB2b2lkO1xuICAgICAgICBsYWJlbDogc3RyaW5nIHwgUmVhY3ROb2RlO1xuICAgICAgfTtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJhY2NlcHRcIjtcbiAgICAgIGxpbms6IHtcbiAgICAgICAgdHlwZTogXCJmaWxlXCIgfCBcInJvdXRlXCI7XG4gICAgICAgIHRvOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgY29udHJhY3Q6IHtcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB2b2lkO1xuICAgICAgICBsYWJlbDogc3RyaW5nIHwgUmVhY3ROb2RlO1xuICAgICAgfTtcbiAgICAgIGFjY2VwdDoge1xuICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICBvcHRpb25hbD86IHRydWU7XG4gICAgICB9W107XG4gICAgfVxuICB8IFVucmVzb2x2YWJsZU9yPFxuICAgICAgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdLFxuICAgICAgQmFzaWNGb3JtRmllbGRzXG4gICAgPlxuPjtcblxuZXhwb3J0IHR5cGUgRm9ybUZpZWxkVHlwZXMgPSBGb3JtRmllbGRbXCJ0eXBlXCJdIHwgXCJhY2NlcHRcIjtcblxudHlwZSBFeHRlcm5hbFF1ZXN0aW9uRmllbGRzID0gVW5yZXNvbHZhYmxlT3I8XG4gIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkQW5zd2VyXCJdLFxuICB7fVxuPjtcblxuZXhwb3J0IHR5cGUgQW5zd2VyQnlGaWVsZDxGIGV4dGVuZHMgUGljazxGb3JtRmllbGQsIFwidHlwZVwiPj4gPVxuICBGW1widHlwZVwiXSBleHRlbmRzIFwiZmlsZVwiXG4gICAgPyBVcGxvYWRUYXNrIHwgdHJ1ZVxuICAgIDogRltcInR5cGVcIl0gZXh0ZW5kcyBcImFjY2VwdFwiIHwgXCJjaGVja1wiIHwgXCJyYXdjaGVja1wiXG4gICAgPyBib29sZWFuW11cbiAgICA6IEZbXCJ0eXBlXCJdIGV4dGVuZHMgXCJyYWRpb1wiIHwgXCJ0ZXh0XCIgfCBcInNlbGVjdFwiIHwgXCJudW1iZXJcIlxuICAgID8gc3RyaW5nXG4gICAgOiBGW1widHlwZVwiXSBleHRlbmRzIGtleW9mIEV4dGVybmFsUXVlc3Rpb25GaWVsZHNcbiAgICA/IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkQW5zd2VyXCJdW0ZbXCJ0eXBlXCJdXVxuICAgIDogdW5rbm93bjtcblxudHlwZSBPID0gRm9ybUZpZWxkW1widHlwZVwiXTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBcUNZQSxRQUFRLEdBQUFDLE9BQUEsQ0FBQUQsUUFBQSwwQkFBUkEsUUFBUTtFQUFSQSxRQUFRLENBQVJBLFFBQVE7RUFBUkEsUUFBUSxDQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _FormField.default;
11
+ }
12
+ });
13
+ var _FormField = _interopRequireWildcard(require("./FormField"));
14
+ Object.keys(_FormField).forEach(function (key) {
15
+ if (key === "default" || key === "__esModule") return;
16
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
+ if (key in exports && exports[key] === _FormField[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _FormField[key];
22
+ }
23
+ });
24
+ });
25
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRm9ybUZpZWxkIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsInNldCIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm0vRm9ybUZpZWxkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vRm9ybUZpZWxkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Gb3JtRmllbGRcIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosVUFBQSxFQUFBSyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFOLFVBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsVUFBQSxDQUFBTSxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQTRCLFNBQUFMLHdCQUFBYyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBaEIsdUJBQUEsWUFBQUEsQ0FBQWMsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBUCxHQUFBLENBQUFDLENBQUEsR0FBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFSLGNBQUEsQ0FBQUMsSUFBQSxDQUFBTSxDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxJQUFBRCxDQUFBLEdBQUFsQixNQUFBLENBQUFTLGNBQUEsS0FBQVQsTUFBQSxDQUFBeUIsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBQyxDQUFBLE9BQUFNLENBQUEsQ0FBQVIsR0FBQSxJQUFBUSxDQUFBLENBQUFLLEdBQUEsSUFBQU4sQ0FBQSxDQUFBRSxDQUFBLEVBQUFQLENBQUEsRUFBQU0sQ0FBQSxJQUFBQyxDQUFBLENBQUFQLENBQUEsSUFBQUQsQ0FBQSxDQUFBQyxDQUFBLFdBQUFPLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -23,4 +23,4 @@ Object.keys(_Form).forEach(function (key) {
23
23
  });
24
24
  });
25
25
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRm9ybSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJzZXQiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi9Gb3JtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Gb3JtXCI7Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLEtBQUEsRUFBQUssT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBTixLQUFBLENBQUFNLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BQUFkLEtBQUEsQ0FBQU0sR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUF1QixTQUFBTCx3QkFBQWMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQWhCLHVCQUFBLFlBQUFBLENBQUFjLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBQyxPQUFBLEVBQUFWLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQVAsR0FBQSxDQUFBQyxDQUFBLEdBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEVBQUFRLENBQUEsZ0JBQUFQLENBQUEsSUFBQUQsQ0FBQSxnQkFBQUMsQ0FBQSxPQUFBUixjQUFBLENBQUFDLElBQUEsQ0FBQU0sQ0FBQSxFQUFBQyxDQUFBLE9BQUFNLENBQUEsSUFBQUQsQ0FBQSxHQUFBbEIsTUFBQSxDQUFBUyxjQUFBLEtBQUFULE1BQUEsQ0FBQXlCLHdCQUFBLENBQUFiLENBQUEsRUFBQUMsQ0FBQSxPQUFBTSxDQUFBLENBQUFSLEdBQUEsSUFBQVEsQ0FBQSxDQUFBSyxHQUFBLElBQUFOLENBQUEsQ0FBQUUsQ0FBQSxFQUFBUCxDQUFBLEVBQUFNLENBQUEsSUFBQUMsQ0FBQSxDQUFBUCxDQUFBLElBQUFELENBQUEsQ0FBQUMsQ0FBQSxXQUFBTyxDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRm9ybSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJzZXQiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vRm9ybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRm9ybVwiOyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixLQUFBLEVBQUFLLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQU4sS0FBQSxDQUFBTSxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLENBQUE7TUFBQSxPQUFBZCxLQUFBLENBQUFNLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFBdUIsU0FBQUwsd0JBQUFjLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFoQix1QkFBQSxZQUFBQSxDQUFBYyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQUMsT0FBQSxFQUFBVixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFQLEdBQUEsQ0FBQUMsQ0FBQSxHQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxFQUFBUSxDQUFBLGdCQUFBUCxDQUFBLElBQUFELENBQUEsZ0JBQUFDLENBQUEsT0FBQVIsY0FBQSxDQUFBQyxJQUFBLENBQUFNLENBQUEsRUFBQUMsQ0FBQSxPQUFBTSxDQUFBLElBQUFELENBQUEsR0FBQWxCLE1BQUEsQ0FBQVMsY0FBQSxLQUFBVCxNQUFBLENBQUF5Qix3QkFBQSxDQUFBYixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxDQUFBUixHQUFBLElBQUFRLENBQUEsQ0FBQUssR0FBQSxJQUFBTixDQUFBLENBQUFFLENBQUEsRUFBQVAsQ0FBQSxFQUFBTSxDQUFBLElBQUFDLENBQUEsQ0FBQVAsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsV0FBQU8sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -6,7 +6,6 @@ export type InputProps = {
6
6
  placeholder?: string;
7
7
  disclaimer?: string | ReactElement;
8
8
  multiline?: number;
9
- border?: boolean;
10
9
  icon?: {
11
10
  onClick?: () => void;
12
11
  } & DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, any>;
@@ -16,10 +15,6 @@ export type InputProps = {
16
15
  value?: string;
17
16
  'data-testid'?: string;
18
17
  } & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "onChange" | 'value'>;
19
- export declare enum InputTestIds {
20
- DISCLAIMER = "disclaimer",
21
- ERROR = "error"
22
- }
23
18
  /**
24
19
  * A transparent input with some prebuilt states common to the application
25
20
  **/
@@ -30,7 +25,6 @@ declare const Input: React.ForwardRefExoticComponent<{
30
25
  placeholder?: string | undefined;
31
26
  disclaimer?: string | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined;
32
27
  multiline?: number | undefined;
33
- border?: boolean | undefined;
34
28
  icon?: ({
35
29
  onClick?: (() => void) | undefined;
36
30
  } & React.ClassAttributes<any> & React.ImgHTMLAttributes<HTMLImageElement>) | undefined;
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.InputTestIds = void 0;
6
+ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _OneUIProvider = require("../../context/OneUIProvider");
9
9
  var _Text = _interopRequireDefault(require("../Text"));
10
10
  var _InputModule = _interopRequireDefault(require("./Input.module.scss"));
11
- const _excluded = ["error", "placeholder", "hideError", "icon", "Icon", "autoFocus", "disclaimer", "multiline", "decoration", "border", "containerProps", "className"];
11
+ const _excluded = ["error", "placeholder", "hideError", "icon", "Icon", "autoFocus", "disclaimer", "multiline", "decoration", "containerProps", "className"];
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -25,13 +25,11 @@ function _Input(_ref, ref) {
25
25
  disclaimer,
26
26
  multiline,
27
27
  decoration = null,
28
- border: propBorder,
29
28
  containerProps,
30
29
  className: localClassName
31
30
  } = _ref,
32
31
  otherProps = _objectWithoutProperties(_ref, _excluded);
33
- const className = (0, _OneUIProvider.useOneUIConfig)("component.input.className");
34
- const globalBorder = (0, _OneUIProvider.useOneUIConfig)("component.input.border");
32
+ const className = (0, _OneUIProvider.useOneUIConfig)("component.input.className", {});
35
33
  const [focused, setFocused] = (0, _react.useState)(false);
36
34
  const inputRef = (0, _react.useRef)(null);
37
35
  (0, _react.useImperativeHandle)(ref, () => inputRef.current, []);
@@ -48,16 +46,13 @@ function _Input(_ref, ref) {
48
46
  }
49
47
  }, [autoFocus]);
50
48
  const Component = multiline ? "textarea" : "input";
51
- const withBorder = (0, _react.useMemo)(() => {
52
- if (propBorder !== undefined) return propBorder;
53
- return globalBorder;
54
- }, [propBorder, globalBorder]);
55
49
  return /*#__PURE__*/_react.default.createElement("div", _extends({
56
- className: "".concat(_InputModule.default.inputContainer, " ").concat(false ? _InputModule.default.withIcon : "", " ").concat(className, " ").concat(localClassName)
50
+ className: "".concat(_InputModule.default.inputContainer, " ").concat(false ? _InputModule.default.withIcon : "", " ").concat(className.container, " ").concat(localClassName)
57
51
  }, containerProps), decoration, /*#__PURE__*/_react.default.createElement(Component, _extends({
58
52
  ref: inputRef,
59
53
  placeholder: placeholder,
60
- rows: multiline
54
+ rows: multiline,
55
+ className: className.input
61
56
  }, otherProps, {
62
57
  onFocus: e => {
63
58
  setFocused(true);
@@ -67,9 +62,7 @@ function _Input(_ref, ref) {
67
62
  setFocused(false);
68
63
  if (otherProps.onBlur) otherProps.onBlur(e);
69
64
  }
70
- })), withBorder && /*#__PURE__*/_react.default.createElement("div", {
71
- className: _InputModule.default.border
72
- }), error && shouldShowError ? /*#__PURE__*/_react.default.createElement(_Text.default, {
65
+ })), error && shouldShowError ? /*#__PURE__*/_react.default.createElement(_Text.default, {
73
66
  title: typeof error === "string" ? error : "",
74
67
  className: _InputModule.default.caption,
75
68
  type: "error"
@@ -83,14 +76,10 @@ function _Input(_ref, ref) {
83
76
  className: _InputModule.default.icon
84
77
  }, icon)));
85
78
  }
86
- let InputTestIds = exports.InputTestIds = /*#__PURE__*/function (InputTestIds) {
87
- InputTestIds["DISCLAIMER"] = "disclaimer";
88
- InputTestIds["ERROR"] = "error";
89
- return InputTestIds;
90
- }({});
79
+
91
80
  /**
92
81
  * A transparent input with some prebuilt states common to the application
93
82
  **/
94
83
  const Input = /*#__PURE__*/(0, _react.forwardRef)(_Input);
95
84
  var _default = exports.default = Input;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9UZXh0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JbnB1dE1vZHVsZSIsIl9leGNsdWRlZCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFwcGx5IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJfSW5wdXQiLCJfcmVmIiwicmVmIiwiZXJyb3IiLCJwbGFjZWhvbGRlciIsImhpZGVFcnJvciIsImljb24iLCJJY29uIiwiYXV0b0ZvY3VzIiwiZGlzY2xhaW1lciIsIm11bHRpbGluZSIsImRlY29yYXRpb24iLCJib3JkZXIiLCJwcm9wQm9yZGVyIiwiY29udGFpbmVyUHJvcHMiLCJjbGFzc05hbWUiLCJsb2NhbENsYXNzTmFtZSIsIm90aGVyUHJvcHMiLCJ1c2VPbmVVSUNvbmZpZyIsImdsb2JhbEJvcmRlciIsImZvY3VzZWQiLCJzZXRGb2N1c2VkIiwidXNlU3RhdGUiLCJpbnB1dFJlZiIsInVzZVJlZiIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJjdXJyZW50Iiwic2hvdWxkU2hvd0Vycm9yIiwidXNlTWVtbyIsInVzZUVmZmVjdCIsInNldFRpbWVvdXQiLCJmb2N1cyIsImNsZWFyVGltZW91dCIsIkNvbXBvbmVudCIsIndpdGhCb3JkZXIiLCJ1bmRlZmluZWQiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiU3R5bGVzIiwiaW5wdXRDb250YWluZXIiLCJ3aXRoSWNvbiIsInJvd3MiLCJvbkZvY3VzIiwib25CbHVyIiwidGl0bGUiLCJjYXB0aW9uIiwidHlwZSIsIklucHV0VGVzdElkcyIsImV4cG9ydHMiLCJJbnB1dCIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBEZXRhaWxlZEhUTUxQcm9wcyxcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VPbmVVSUNvbmZpZyB9IGZyb20gXCIuLi8uLi9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcbmltcG9ydCBUZXh0IGZyb20gXCIuLi9UZXh0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0lucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIElucHV0UHJvcHMgPSB7XG4gIGRlY29yYXRpb24/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsO1xuICBlcnJvcj86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgaGlkZUVycm9yPzogXCJvbmZvY3VzXCI7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBkaXNjbGFpbWVyPzogc3RyaW5nIHwgUmVhY3RFbGVtZW50O1xuICBtdWx0aWxpbmU/OiBudW1iZXI7XG4gIGJvcmRlcj86IGJvb2xlYW47XG4gIGljb24/OiB7XG4gICAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIH0gJiBEZXRhaWxlZEhUTUxQcm9wczxSZWFjdC5JbWdIVE1MQXR0cmlidXRlczxIVE1MSW1hZ2VFbGVtZW50PiwgYW55PjtcbiAgSWNvbj86IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgb25DaGFuZ2U/OiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuICBjb250YWluZXJQcm9wcz86IE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50PiwgXCJyZWZcIj47XG4gIHZhbHVlPzogc3RyaW5nO1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nO1xufSAmIE9taXQ8XG4gIFJlYWN0LkhUTUxQcm9wczxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4sXG4gIFwicmVmXCIgfCBcIm9uQ2hhbmdlXCIgfCAndmFsdWUnXG4+O1xuZnVuY3Rpb24gX0lucHV0KFxuICB7XG4gICAgZXJyb3IsXG4gICAgcGxhY2Vob2xkZXIgPSBcIiBcIixcbiAgICBoaWRlRXJyb3IsXG4gICAgaWNvbixcbiAgICBJY29uLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBkaXNjbGFpbWVyLFxuICAgIG11bHRpbGluZSxcbiAgICBkZWNvcmF0aW9uID0gbnVsbCxcbiAgICBib3JkZXI6IHByb3BCb3JkZXIsXG4gICAgY29udGFpbmVyUHJvcHMsXG4gICAgY2xhc3NOYW1lOiBsb2NhbENsYXNzTmFtZSxcbiAgICAuLi5vdGhlclByb3BzXG4gIH06IElucHV0UHJvcHMsXG4gIHJlZjogRm9yd2FyZGVkUmVmPGFueT5cbikge1xuICBjb25zdCBjbGFzc05hbWUgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5pbnB1dC5jbGFzc05hbWVcIik7XG4gIGNvbnN0IGdsb2JhbEJvcmRlciA9IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmlucHV0LmJvcmRlclwiKTtcbiAgY29uc3QgW2ZvY3VzZWQsIHNldEZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbnB1dFJlZi5jdXJyZW50LCBbXSk7XG4gIGNvbnN0IHNob3VsZFNob3dFcnJvciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoaWRlRXJyb3IgPT09IFwib25mb2N1c1wiKSByZXR1cm4gIWZvY3VzZWQ7XG4gICAgcmV0dXJuICEhZXJyb3I7XG4gIH0sIFtmb2N1c2VkLCBlcnJvciwgaGlkZUVycm9yXSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGF1dG9Gb2N1cykge1xuICAgICAgY29uc3QgdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbnB1dFJlZi5jdXJyZW50IS5mb2N1cygpO1xuICAgICAgfSwgNTAwKTtcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodCk7XG4gICAgfVxuICB9LCBbYXV0b0ZvY3VzXSk7XG4gIGNvbnN0IENvbXBvbmVudCA9IG11bHRpbGluZSA/IFwidGV4dGFyZWFcIiA6IFwiaW5wdXRcIjtcbiAgY29uc3Qgd2l0aEJvcmRlciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwcm9wQm9yZGVyICE9PSB1bmRlZmluZWQpIHJldHVybiBwcm9wQm9yZGVyO1xuICAgIHJldHVybiBnbG9iYWxCb3JkZXI7XG4gIH0sIFtwcm9wQm9yZGVyLCBnbG9iYWxCb3JkZXJdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5pbnB1dENvbnRhaW5lcn0gJHtcbiAgICAgICAgZmFsc2UgPyBTdHlsZXMud2l0aEljb24gOiBcIlwiXG4gICAgICB9ICR7Y2xhc3NOYW1lfSAke2xvY2FsQ2xhc3NOYW1lfWB9XG4gICAgICB7Li4uY29udGFpbmVyUHJvcHN9XG4gICAgPlxuICAgICAge2RlY29yYXRpb259XG4gICAgICA8Q29tcG9uZW50XG4gICAgICAgIHJlZj17aW5wdXRSZWYgYXMgYW55fVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHJvd3M9e211bHRpbGluZX1cbiAgICAgICAgey4uLm90aGVyUHJvcHN9XG4gICAgICAgIG9uRm9jdXM9eyhlKSA9PiB7XG4gICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgICBpZiAob3RoZXJQcm9wcy5vbkZvY3VzKSBvdGhlclByb3BzLm9uRm9jdXMoZSk7XG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17KGUpID0+IHtcbiAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgICBpZiAob3RoZXJQcm9wcy5vbkJsdXIpIG90aGVyUHJvcHMub25CbHVyKGUpO1xuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHt3aXRoQm9yZGVyICYmIDxkaXYgY2xhc3NOYW1lPXtTdHlsZXMuYm9yZGVyfSAvPn1cbiAgICAgIHtlcnJvciAmJiBzaG91bGRTaG93RXJyb3IgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgdGl0bGU9e3R5cGVvZiBlcnJvciA9PT0gXCJzdHJpbmdcIiA/IGVycm9yIDogXCJcIn1cbiAgICAgICAgICBkYXRhLXRlc3RpZD17SW5wdXRUZXN0SWRzLkVSUk9SfVxuICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGVzLmNhcHRpb259XG4gICAgICAgICAgdHlwZT1cImVycm9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IGRpc2NsYWltZXIgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgdGl0bGU9e3R5cGVvZiBkaXNjbGFpbWVyID09PSBcInN0cmluZ1wiID8gZGlzY2xhaW1lciA6IFwiXCJ9XG4gICAgICAgICAgdHlwZT1cImNhcHRpb25cIlxuICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGVzLmNhcHRpb259XG4gICAgICAgICAgZGF0YS10ZXN0aWQ9e0lucHV0VGVzdElkcy5ESVNDTEFJTUVSfVxuICAgICAgICA+XG4gICAgICAgICAge2Rpc2NsYWltZXJ9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge0ljb24gJiYgPGRpdiBjbGFzc05hbWU9e1N0eWxlcy5pY29ufT57SWNvbn08L2Rpdj59XG4gICAgICB7aWNvbiAmJiA8aW1nIGNsYXNzTmFtZT17U3R5bGVzLmljb259IHsuLi5pY29ufSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGVudW0gSW5wdXRUZXN0SWRzIHtcbiAgRElTQ0xBSU1FUiA9IFwiZGlzY2xhaW1lclwiLFxuICBFUlJPUiA9IFwiZXJyb3JcIixcbn1cblxuLyoqXG4gKiBBIHRyYW5zcGFyZW50IGlucHV0IHdpdGggc29tZSBwcmVidWlsdCBzdGF0ZXMgY29tbW9uIHRvIHRoZSBhcHBsaWNhdGlvblxuICoqL1xuY29uc3QgSW5wdXQgPSBmb3J3YXJkUmVmKF9JbnB1dCk7XG5leHBvcnQgZGVmYXVsdCBJbnB1dDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBWUEsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQXlDLE1BQUFLLFNBQUE7QUFBQSxTQUFBRix1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUFBLFNBQUFQLHdCQUFBTyxDQUFBLEVBQUFHLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBWCx1QkFBQSxZQUFBQSxDQUFBTyxDQUFBLEVBQUFHLENBQUEsU0FBQUEsQ0FBQSxJQUFBSCxD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
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9UZXh0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JbnB1dE1vZHVsZSIsIl9leGNsdWRlZCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFwcGx5IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJfSW5wdXQiLCJfcmVmIiwicmVmIiwiZXJyb3IiLCJwbGFjZWhvbGRlciIsImhpZGVFcnJvciIsImljb24iLCJJY29uIiwiYXV0b0ZvY3VzIiwiZGlzY2xhaW1lciIsIm11bHRpbGluZSIsImRlY29yYXRpb24iLCJjb250YWluZXJQcm9wcyIsImNsYXNzTmFtZSIsImxvY2FsQ2xhc3NOYW1lIiwib3RoZXJQcm9wcyIsInVzZU9uZVVJQ29uZmlnIiwiZm9jdXNlZCIsInNldEZvY3VzZWQiLCJ1c2VTdGF0ZSIsImlucHV0UmVmIiwidXNlUmVmIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImN1cnJlbnQiLCJzaG91bGRTaG93RXJyb3IiLCJ1c2VNZW1vIiwidXNlRWZmZWN0Iiwic2V0VGltZW91dCIsImZvY3VzIiwiY2xlYXJUaW1lb3V0IiwiQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsImNvbmNhdCIsIlN0eWxlcyIsImlucHV0Q29udGFpbmVyIiwid2l0aEljb24iLCJjb250YWluZXIiLCJyb3dzIiwiaW5wdXQiLCJvbkZvY3VzIiwib25CbHVyIiwidGl0bGUiLCJjYXB0aW9uIiwidHlwZSIsIklucHV0IiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBEZXRhaWxlZEhUTUxQcm9wcyxcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBSZWFjdEVsZW1lbnQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VPbmVVSUNvbmZpZyB9IGZyb20gXCIuLi8uLi9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcbmltcG9ydCBUZXh0IGZyb20gXCIuLi9UZXh0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0lucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIElucHV0UHJvcHMgPSB7XG4gIGRlY29yYXRpb24/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsO1xuICBlcnJvcj86IHN0cmluZyB8IFJlYWN0RWxlbWVudDtcbiAgaGlkZUVycm9yPzogXCJvbmZvY3VzXCI7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBkaXNjbGFpbWVyPzogc3RyaW5nIHwgUmVhY3RFbGVtZW50O1xuICBtdWx0aWxpbmU/OiBudW1iZXI7XG4gIGljb24/OiB7XG4gICAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIH0gJiBEZXRhaWxlZEhUTUxQcm9wczxSZWFjdC5JbWdIVE1MQXR0cmlidXRlczxIVE1MSW1hZ2VFbGVtZW50PiwgYW55PjtcbiAgSWNvbj86IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgb25DaGFuZ2U/OiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuICBjb250YWluZXJQcm9wcz86IE9taXQ8UmVhY3QuSFRNTFByb3BzPEhUTUxEaXZFbGVtZW50PiwgXCJyZWZcIj47XG4gIHZhbHVlPzogc3RyaW5nO1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nO1xufSAmIE9taXQ8XG4gIFJlYWN0LkhUTUxQcm9wczxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4sXG4gIFwicmVmXCIgfCBcIm9uQ2hhbmdlXCIgfCAndmFsdWUnXG4+O1xuZnVuY3Rpb24gX0lucHV0KFxuICB7XG4gICAgZXJyb3IsXG4gICAgcGxhY2Vob2xkZXIgPSBcIiBcIixcbiAgICBoaWRlRXJyb3IsXG4gICAgaWNvbixcbiAgICBJY29uLFxuICAgIGF1dG9Gb2N1cyxcbiAgICBkaXNjbGFpbWVyLFxuICAgIG11bHRpbGluZSxcbiAgICBkZWNvcmF0aW9uID0gbnVsbCxcbiAgICBjb250YWluZXJQcm9wcyxcbiAgICBjbGFzc05hbWU6IGxvY2FsQ2xhc3NOYW1lLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogSW5wdXRQcm9wcyxcbiAgcmVmOiBGb3J3YXJkZWRSZWY8YW55PlxuKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IHVzZU9uZVVJQ29uZmlnKFwiY29tcG9uZW50LmlucHV0LmNsYXNzTmFtZVwiLCB7fSk7XG4gIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+KG51bGwpO1xuICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gaW5wdXRSZWYuY3VycmVudCwgW10pO1xuICBjb25zdCBzaG91bGRTaG93RXJyb3IgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUVycm9yID09PSBcIm9uZm9jdXNcIikgcmV0dXJuICFmb2N1c2VkO1xuICAgIHJldHVybiAhIWVycm9yO1xuICB9LCBbZm9jdXNlZCwgZXJyb3IsIGhpZGVFcnJvcl0pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhdXRvRm9jdXMpIHtcbiAgICAgIGNvbnN0IHQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudCEuZm9jdXMoKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHQpO1xuICAgIH1cbiAgfSwgW2F1dG9Gb2N1c10pO1xuICBjb25zdCBDb21wb25lbnQgPSBtdWx0aWxpbmUgPyBcInRleHRhcmVhXCIgOiBcImlucHV0XCI7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMuaW5wdXRDb250YWluZXJ9ICR7ZmFsc2UgPyBTdHlsZXMud2l0aEljb24gOiBcIlwiXG4gICAgICAgIH0gJHtjbGFzc05hbWUuY29udGFpbmVyfSAke2xvY2FsQ2xhc3NOYW1lfWB9XG4gICAgICB7Li4uY29udGFpbmVyUHJvcHN9XG4gICAgPlxuICAgICAge2RlY29yYXRpb259XG4gICAgICA8Q29tcG9uZW50XG4gICAgICAgIHJlZj17aW5wdXRSZWYgYXMgYW55fVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHJvd3M9e211bHRpbGluZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUuaW5wdXR9XG4gICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICBvbkZvY3VzPXsoZSkgPT4ge1xuICAgICAgICAgIHNldEZvY3VzZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKG90aGVyUHJvcHMub25Gb2N1cykgb3RoZXJQcm9wcy5vbkZvY3VzKGUpO1xuICAgICAgICB9fVxuICAgICAgICBvbkJsdXI9eyhlKSA9PiB7XG4gICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgICAgaWYgKG90aGVyUHJvcHMub25CbHVyKSBvdGhlclByb3BzLm9uQmx1cihlKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7ZXJyb3IgJiYgc2hvdWxkU2hvd0Vycm9yID8gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIHRpdGxlPXt0eXBlb2YgZXJyb3IgPT09IFwic3RyaW5nXCIgPyBlcnJvciA6IFwiXCJ9XG4gICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZXMuY2FwdGlvbn1cbiAgICAgICAgICB0eXBlPVwiZXJyb3JcIlxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApIDogZGlzY2xhaW1lciA/IChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICB0aXRsZT17dHlwZW9mIGRpc2NsYWltZXIgPT09IFwic3RyaW5nXCIgPyBkaXNjbGFpbWVyIDogXCJcIn1cbiAgICAgICAgICB0eXBlPVwiY2FwdGlvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZXMuY2FwdGlvbn1cbiAgICAgICAgPlxuICAgICAgICAgIHtkaXNjbGFpbWVyfVxuICAgICAgICA8L1RleHQ+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtJY29uICYmIDxkaXYgY2xhc3NOYW1lPXtTdHlsZXMuaWNvbn0+e0ljb259PC9kaXY+fVxuICAgICAge2ljb24gJiYgPGltZyBjbGFzc05hbWU9e1N0eWxlcy5pY29ufSB7Li4uaWNvbn0gLz59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbi8qKlxuICogQSB0cmFuc3BhcmVudCBpbnB1dCB3aXRoIHNvbWUgcHJlYnVpbHQgc3RhdGVzIGNvbW1vbiB0byB0aGUgYXBwbGljYXRpb25cbiAqKi9cbmNvbnN0IElucHV0ID0gZm9yd2FyZFJlZihfSW5wdXQpO1xuZXhwb3J0IGRlZmF1bHQgSW5wdXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEs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