@onepercentio/one-ui 0.29.8 → 1.0.0
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.
- package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +1 -1
- package/dist/components/Button/Button.d.ts +3 -2
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/EmailInput/EmailInput.d.ts +0 -1
- package/dist/components/Form/Form.d.ts +15 -49
- package/dist/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
- package/dist/components/Form/Form.hook.js +233 -0
- package/dist/components/Form/Form.js +67 -123
- package/{dist-ts/components/Form/v2 → dist/components/Form}/Form.types.d.ts +1 -0
- package/dist/components/Form/Form.types.js +40 -0
- package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +71 -0
- package/dist/components/Form/FormField/Extensions/DateField/index.js +26 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +90 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/index.js +26 -0
- package/dist/components/Form/FormField/FormField.js +276 -0
- package/{dist-ts/components/Form/v2 → dist/components/Form}/FormField/FormField.types.d.ts +8 -6
- package/dist/components/Form/FormField/FormField.types.js +12 -0
- package/dist/components/Form/FormField/index.js +26 -0
- package/dist/components/Form/index.js +1 -1
- package/dist/components/Input/Input.d.ts +0 -6
- package/dist/components/Input/Input.js +9 -20
- package/dist/components/Input/Input.module.scss +0 -32
- package/dist/components/LinkToId/LinkToId.d.ts +3 -2
- package/dist/components/LinkToId/LinkToId.js +1 -1
- package/dist/components/PasswordInput/PasswordInput.d.ts +0 -1
- package/dist/components/Radio/Radio.d.ts +1 -0
- package/dist/components/Radio/Radio.js +2 -1
- package/dist/components/SectionContainer/SectionContainer.js +1 -1
- package/dist/components/Select/Select.js +1 -2
- package/dist/components/Spacing/Spacing.d.ts +2 -1
- package/dist/components/Spacing/Spacing.js +1 -1
- package/dist/components/Tabs/Tabs.js +5 -3
- package/dist/components/Text/Text.d.ts +5 -4
- package/dist/components/Text/Text.js +2 -2
- package/dist/components/Text/Text.module.scss +3 -71
- package/dist/context/AsyncProcess.d.ts +5 -4
- package/dist/context/AsyncProcess.js +1 -1
- package/dist/context/OneUIProvider.d.ts +37 -22
- package/dist/context/OneUIProvider.js +1 -1
- package/dist/hooks/useShortIntl.d.ts +2 -1
- package/dist/hooks/useShortIntl.js +1 -1
- package/dist/index.d.ts +6 -10
- package/dist/index.js +143 -181
- package/dist/type-utils.d.ts +12 -2
- package/dist/type-utils.js +1 -1
- package/dist/utility.d.js +1 -17
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.d.ts +2 -1
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js.map +1 -1
- package/dist-ts/components/Button/Button.d.ts +3 -2
- package/dist-ts/components/Button/Button.js.map +1 -1
- package/dist-ts/components/EmailInput/EmailInput.d.ts +0 -1
- package/dist-ts/components/Form/Form.d.ts +15 -49
- package/dist-ts/components/Form/{v2/Form.hook.d.ts → Form.hook.d.ts} +1 -1
- package/dist-ts/components/Form/{v2/Form.hook.js → Form.hook.js} +9 -5
- package/dist-ts/components/Form/Form.hook.js.map +1 -0
- package/dist-ts/components/Form/Form.js +37 -66
- package/dist-ts/components/Form/Form.js.map +1 -1
- package/{dist/components/Form/v2 → dist-ts/components/Form}/Form.types.d.ts +1 -0
- package/dist-ts/components/Form/Form.types.js.map +1 -0
- package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/Extensions/DateField/DateField.d.ts +3 -1
- package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.js +6 -6
- package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.js.map +1 -0
- package/dist-ts/components/Form/FormField/Extensions/DateField/index.js.map +1 -0
- package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.js +4 -4
- package/dist-ts/components/Form/FormField/Extensions/PhoneField/PhoneField.js.map +1 -0
- package/dist-ts/components/Form/FormField/Extensions/PhoneField/index.js.map +1 -0
- package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.js +15 -16
- package/dist-ts/components/Form/FormField/FormField.js.map +1 -0
- package/{dist/components/Form/v2 → dist-ts/components/Form}/FormField/FormField.types.d.ts +8 -6
- package/dist-ts/components/Form/FormField/FormField.types.js.map +1 -0
- package/dist-ts/components/Form/FormField/index.js.map +1 -0
- package/dist-ts/components/Form/index.js.map +1 -1
- package/dist-ts/components/Input/Input.d.ts +0 -6
- package/dist-ts/components/Input/Input.js +4 -15
- package/dist-ts/components/Input/Input.js.map +1 -1
- package/dist-ts/components/Input/Input.module.scss +0 -32
- package/dist-ts/components/LinkToId/LinkToId.d.ts +3 -2
- package/dist-ts/components/LinkToId/LinkToId.js.map +1 -1
- package/dist-ts/components/PasswordInput/PasswordInput.d.ts +0 -1
- package/dist-ts/components/Radio/Radio.d.ts +1 -0
- package/dist-ts/components/Radio/Radio.js +1 -1
- package/dist-ts/components/Radio/Radio.js.map +1 -1
- package/dist-ts/components/SectionContainer/SectionContainer.js.map +1 -1
- package/dist-ts/components/Select/Select.js +1 -1
- package/dist-ts/components/Select/Select.js.map +1 -1
- package/dist-ts/components/Spacing/Spacing.d.ts +2 -1
- package/dist-ts/components/Spacing/Spacing.js.map +1 -1
- package/dist-ts/components/Tabs/Tabs.js +4 -2
- package/dist-ts/components/Tabs/Tabs.js.map +1 -1
- package/dist-ts/components/Text/Text.d.ts +5 -4
- package/dist-ts/components/Text/Text.js +1 -1
- package/dist-ts/components/Text/Text.js.map +1 -1
- package/dist-ts/components/Text/Text.module.scss +3 -71
- package/dist-ts/context/AsyncProcess.d.ts +5 -4
- package/dist-ts/context/AsyncProcess.js.map +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +37 -22
- package/dist-ts/context/OneUIProvider.js.map +1 -1
- package/dist-ts/hooks/useShortIntl.d.ts +2 -1
- package/dist-ts/hooks/useShortIntl.js.map +1 -1
- package/dist-ts/index.d.ts +6 -10
- package/dist-ts/index.js +6 -10
- package/dist-ts/index.js.map +1 -1
- package/dist-ts/type-utils.d.ts +12 -2
- package/package.json +8 -5
- package/tsconfig.prod.json +1 -0
- package/dist/components/Form/v2/Form.d.ts +0 -18
- package/dist/components/Form/v2/Form.hook.js +0 -230
- package/dist/components/Form/v2/Form.js +0 -63
- package/dist/components/Form/v2/Form.types.js +0 -40
- package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.js +0 -68
- package/dist/components/Form/v2/FormField/Extensions/DateField/index.js +0 -26
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js +0 -90
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.js +0 -26
- package/dist/components/Form/v2/FormField/FormField.js +0 -281
- package/dist/components/Form/v2/FormField/FormField.module.scss +0 -0
- package/dist/components/Form/v2/FormField/FormField.types.js +0 -12
- package/dist/components/Form/v2/FormField/index.js +0 -26
- package/dist/components/Form/v2/index.d.ts +0 -2
- package/dist/components/Form/v2/index.js +0 -26
- package/dist/hooks/useForm.d.ts +0 -16
- package/dist/hooks/useForm.js +0 -38
- package/dist-ts/components/Form/v2/Form.d.ts +0 -18
- package/dist-ts/components/Form/v2/Form.hook.js.map +0 -1
- package/dist-ts/components/Form/v2/Form.js +0 -31
- package/dist-ts/components/Form/v2/Form.js.map +0 -1
- package/dist-ts/components/Form/v2/Form.types.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/Extensions/DateField/DateField.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/Extensions/DateField/index.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/Extensions/PhoneField/index.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/FormField.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/FormField.module.scss +0 -0
- package/dist-ts/components/Form/v2/FormField/FormField.types.js.map +0 -1
- package/dist-ts/components/Form/v2/FormField/index.js.map +0 -1
- package/dist-ts/components/Form/v2/index.d.ts +0 -2
- package/dist-ts/components/Form/v2/index.js +0 -3
- package/dist-ts/components/Form/v2/index.js.map +0 -1
- package/dist-ts/hooks/useForm.d.ts +0 -16
- package/dist-ts/hooks/useForm.js +0 -27
- package/dist-ts/hooks/useForm.js.map +0 -1
- /package/dist/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
- /package/dist/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
- /package/dist-ts/components/Form/{v2/Form.module.scss → Form.module.scss} +0 -0
- /package/dist-ts/components/Form/{v2/Form.types.js → Form.types.js} +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/DateField.module.scss +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.d.ts +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/DateField/index.js +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.d.ts +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/PhoneField.module.scss +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.d.ts +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/Extensions/PhoneField/index.js +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.d.ts +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/FormField.types.js +0 -0
- /package/dist-ts/components/Form/{v2/FormField → FormField}/index.d.ts +0 -0
- /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 "
|
|
2
|
+
import { SelectItem } from "../../Select/Select";
|
|
3
3
|
import { UploadTask } from "firebase/storage";
|
|
4
|
-
import { UnresolvableOr } from "
|
|
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<
|
|
87
|
-
export type FormFieldTypes = FormField[
|
|
88
|
-
type ExternalQuestionFields = UnresolvableOr<
|
|
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 ?
|
|
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,
|
|
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 =
|
|
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", "
|
|
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
|
-
})),
|
|
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
|
-
|
|
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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
|