@onepercentio/one-ui 1.0.5 → 1.0.7
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/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/dist/components/CurrencyInput/CurrencyInput.hook.d.ts +2 -1
- package/dist/components/CurrencyInput/CurrencyInput.hook.js +4 -5
- package/dist/components/CurrencyInput/CurrencyInput.js +5 -3
- package/dist/components/EmailInput/EmailInput.d.ts +1 -1
- package/dist/components/Form/Form.d.ts +10 -0
- package/dist/components/Form/Form.hook.js +3 -3
- package/dist/components/Form/Form.js +45 -18
- package/dist/components/Form/FormField/Extensions/DateField/DateField.d.ts +2 -2
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +12 -8
- package/dist/components/Form/FormField/FormField.js +7 -2
- package/dist/components/Form/FormField/FormField.types.d.ts +2 -0
- package/dist/components/Form/FormField/FormField.types.js +1 -1
- package/dist/components/Input/Input.d.ts +3 -3
- package/dist/components/Input/Input.js +5 -3
- package/dist/components/NumberInput/NumberInput.d.ts +6 -0
- package/dist/components/NumberInput/NumberInput.js +46 -0
- package/dist/components/NumberInput/index.d.ts +2 -0
- package/dist/components/NumberInput/index.js +26 -0
- package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/dist/components/Table/Table.js +2 -2
- package/dist/context/OneUIProvider.d.ts +5 -0
- package/dist/context/OneUIProvider.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +53 -34
- package/dist/utils/formatters.d.ts +4 -0
- package/dist/utils/formatters.js +19 -2
- package/dist-ts/components/CurrencyInput/CurrencyInput.d.ts +1 -1
- package/dist-ts/components/CurrencyInput/CurrencyInput.hook.d.ts +2 -1
- package/dist-ts/components/CurrencyInput/CurrencyInput.hook.js +5 -4
- package/dist-ts/components/CurrencyInput/CurrencyInput.hook.js.map +1 -1
- package/dist-ts/components/CurrencyInput/CurrencyInput.js +4 -3
- package/dist-ts/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/dist-ts/components/EmailInput/EmailInput.d.ts +1 -1
- package/dist-ts/components/Form/Form.d.ts +10 -0
- package/dist-ts/components/Form/Form.hook.js +6 -2
- package/dist-ts/components/Form/Form.hook.js.map +1 -1
- package/dist-ts/components/Form/Form.js +23 -11
- package/dist-ts/components/Form/Form.js.map +1 -1
- package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.d.ts +2 -2
- package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.js +12 -7
- package/dist-ts/components/Form/FormField/Extensions/DateField/DateField.js.map +1 -1
- package/dist-ts/components/Form/FormField/FormField.js +3 -1
- package/dist-ts/components/Form/FormField/FormField.js.map +1 -1
- package/dist-ts/components/Form/FormField/FormField.types.d.ts +2 -0
- package/dist-ts/components/Input/Input.d.ts +3 -3
- package/dist-ts/components/Input/Input.js +2 -1
- package/dist-ts/components/Input/Input.js.map +1 -1
- package/dist-ts/components/NumberInput/NumberInput.d.ts +6 -0
- package/dist-ts/components/NumberInput/NumberInput.js +13 -0
- package/dist-ts/components/NumberInput/NumberInput.js.map +1 -0
- package/dist-ts/components/NumberInput/index.d.ts +2 -0
- package/dist-ts/components/NumberInput/index.js +3 -0
- package/dist-ts/components/NumberInput/index.js.map +1 -0
- package/dist-ts/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/dist-ts/components/Table/Table.js +1 -1
- package/dist-ts/components/Table/Table.js.map +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +5 -0
- package/dist-ts/context/OneUIProvider.js.map +1 -1
- package/dist-ts/index.d.ts +2 -0
- package/dist-ts/index.js +2 -0
- package/dist-ts/index.js.map +1 -1
- package/dist-ts/utils/formatters.d.ts +4 -0
- package/dist-ts/utils/formatters.js +17 -0
- package/dist-ts/utils/formatters.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentProps } from "react";
|
|
2
2
|
import Input from "../Input";
|
|
3
|
-
export default function CurrencyInput({ locale, value: amount, currency, onChange, placeholder, error, ...props }: Omit<ComponentProps<typeof Input>,
|
|
3
|
+
export default function CurrencyInput({ locale, value: amount, currency, onChange, placeholder, error, ...props }: Omit<ComponentProps<typeof Input>, "onChange"> & {
|
|
4
4
|
currency: string;
|
|
5
5
|
onChange?: (formatted: string) => void;
|
|
6
6
|
locale: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
import { currencyFormatterFactory, decimalFormatterFactory } from "../../utils/formatters";
|
|
3
|
+
export declare function useCurrencyInput(amount: number | string | undefined, locale: string, currency: string, formatterFactory: typeof currencyFormatterFactory | typeof decimalFormatterFactory, onChange?: (formattedCurrency: string) => void): {
|
|
3
4
|
inputRef: import("react").RefObject<HTMLInputElement | null>;
|
|
4
5
|
moneyFormat: string;
|
|
5
6
|
lastPosition: import("react").RefObject<number>;
|
|
@@ -5,10 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useCurrencyInput = useCurrencyInput;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const number = (0, _react.useMemo)(() => Number((amount === null || amount === void 0 ? void 0 : amount.replace(/[^0-9]/g, "")) || 0) / 100, [amount]);
|
|
8
|
+
function useCurrencyInput(amount, locale, currency, formatterFactory, onChange) {
|
|
9
|
+
const formatter = (0, _react.useMemo)(() => formatterFactory(locale, currency), []);
|
|
10
|
+
const number = (0, _react.useMemo)(() => typeof amount === "number" ? amount : Number((amount === null || amount === void 0 ? void 0 : amount.replace(/[^0-9]/g, "")) || 0) / 100, [amount]);
|
|
12
11
|
const moneyFormat = (0, _react.useMemo)(() => {
|
|
13
12
|
return formatter.format(number);
|
|
14
13
|
}, [number, formatter]);
|
|
@@ -26,4 +25,4 @@ function useCurrencyInput(amount, locale, currency, onChange) {
|
|
|
26
25
|
lastPosition
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlQ3VycmVuY3lJbnB1dCIsImFtb3VudCIsImxvY2FsZSIsImN1cnJlbmN5IiwiZm9ybWF0dGVyRmFjdG9yeSIsIm9uQ2hhbmdlIiwiZm9ybWF0dGVyIiwidXNlTWVtbyIsIm51bWJlciIsIk51bWJlciIsInJlcGxhY2UiLCJtb25leUZvcm1hdCIsImZvcm1hdCIsImxhc3RQb3NpdGlvbiIsInVzZVJlZiIsImlucHV0UmVmIiwidXNlTGF5b3V0RWZmZWN0IiwiZWwiLCJjdXJyZW50IiwicHV0Q2FyZXRPbiIsInZhbHVlIiwibGVuZ3RoIiwic2V0U2VsZWN0aW9uUmFuZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9DdXJyZW5jeUlucHV0L0N1cnJlbmN5SW5wdXQuaG9vay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgY3VycmVuY3lGb3JtYXR0ZXJGYWN0b3J5LFxuICBkZWNpbWFsRm9ybWF0dGVyRmFjdG9yeSxcbn0gZnJvbSBcIi4uLy4uL3V0aWxzL2Zvcm1hdHRlcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUN1cnJlbmN5SW5wdXQoXG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBsb2NhbGU6IHN0cmluZyxcbiAgY3VycmVuY3k6IHN0cmluZyxcbiAgZm9ybWF0dGVyRmFjdG9yeTpcbiAgICB8IHR5cGVvZiBjdXJyZW5jeUZvcm1hdHRlckZhY3RvcnlcbiAgICB8IHR5cGVvZiBkZWNpbWFsRm9ybWF0dGVyRmFjdG9yeSxcbiAgb25DaGFuZ2U/OiAoZm9ybWF0dGVkQ3VycmVuY3k6IHN0cmluZykgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IGZvcm1hdHRlciA9IHVzZU1lbW8oKCkgPT4gZm9ybWF0dGVyRmFjdG9yeShsb2NhbGUsIGN1cnJlbmN5KSwgW10pO1xuICBjb25zdCBudW1iZXIgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICB0eXBlb2YgYW1vdW50ID09PSBcIm51bWJlclwiXG4gICAgICAgID8gYW1vdW50XG4gICAgICAgIDogTnVtYmVyKGFtb3VudD8ucmVwbGFjZSgvW14wLTldL2csIFwiXCIpIHx8IDApIC8gMTAwLFxuICAgIFthbW91bnRdXG4gICk7XG4gIGNvbnN0IG1vbmV5Rm9ybWF0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvcm1hdHRlci5mb3JtYXQobnVtYmVyKTtcbiAgfSwgW251bWJlciwgZm9ybWF0dGVyXSk7XG5cbiAgY29uc3QgbGFzdFBvc2l0aW9uID0gdXNlUmVmKDApO1xuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGlucHV0UmVmLmN1cnJlbnQhO1xuICAgIGNvbnN0IHB1dENhcmV0T24gPSBlbC52YWx1ZS5sZW5ndGggLSBsYXN0UG9zaXRpb24uY3VycmVudDtcbiAgICBlbC5zZXRTZWxlY3Rpb25SYW5nZShwdXRDYXJldE9uLCBwdXRDYXJldE9uKTtcblxuICAgIG9uQ2hhbmdlPy4obW9uZXlGb3JtYXQpO1xuICB9LCBbbW9uZXlGb3JtYXRdKTtcblxuICByZXR1cm4ge1xuICAgIGlucHV0UmVmLFxuICAgIG1vbmV5Rm9ybWF0LFxuICAgIGxhc3RQb3NpdGlvbixcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBTU8sU0FBU0MsZ0JBQWdCQSxDQUM5QkMsTUFBbUMsRUFDbkNDLE1BQWMsRUFDZEMsUUFBZ0IsRUFDaEJDLGdCQUVrQyxFQUNsQ0MsUUFBOEMsRUFDOUM7RUFDQSxNQUFNQyxTQUFTLEdBQUcsSUFBQUMsY0FBTyxFQUFDLE1BQU1ILGdCQUFnQixDQUFDRixNQUFNLEVBQUVDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUN2RSxNQUFNSyxNQUFNLEdBQUcsSUFBQUQsY0FBTyxFQUNwQixNQUNFLE9BQU9OLE1BQU0sS0FBSyxRQUFRLEdBQ3RCQSxNQUFNLEdBQ05RLE1BQU0sQ0FBQyxDQUFBUixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRVMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsS0FBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQ3ZELENBQUNULE1BQU0sQ0FDVCxDQUFDO0VBQ0QsTUFBTVUsV0FBVyxHQUFHLElBQUFKLGNBQU8sRUFBQyxNQUFNO0lBQ2hDLE9BQU9ELFNBQVMsQ0FBQ00sTUFBTSxDQUFDSixNQUFNLENBQUM7RUFDakMsQ0FBQyxFQUFFLENBQUNBLE1BQU0sRUFBRUYsU0FBUyxDQUFDLENBQUM7RUFFdkIsTUFBTU8sWUFBWSxHQUFHLElBQUFDLGFBQU0sRUFBQyxDQUFDLENBQUM7RUFDOUIsTUFBTUMsUUFBUSxHQUFHLElBQUFELGFBQU0sRUFBbUIsSUFBSSxDQUFDO0VBQy9DLElBQUFFLHNCQUFlLEVBQUMsTUFBTTtJQUNwQixNQUFNQyxFQUFFLEdBQUdGLFFBQVEsQ0FBQ0csT0FBUTtJQUM1QixNQUFNQyxVQUFVLEdBQUdGLEVBQUUsQ0FBQ0csS0FBSyxDQUFDQyxNQUFNLEdBQUdSLFlBQVksQ0FBQ0ssT0FBTztJQUN6REQsRUFBRSxDQUFDSyxpQkFBaUIsQ0FBQ0gsVUFBVSxFQUFFQSxVQUFVLENBQUM7SUFFNUNkLFFBQVEsYUFBUkEsUUFBUSxlQUFSQSxRQUFRLENBQUdNLFdBQVcsQ0FBQztFQUN6QixDQUFDLEVBQUUsQ0FBQ0EsV0FBVyxDQUFDLENBQUM7RUFFakIsT0FBTztJQUNMSSxRQUFRO0lBQ1JKLFdBQVc7SUFDWEU7RUFDRixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -7,6 +7,7 @@ exports.default = CurrencyInput;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _Input = _interopRequireDefault(require("../Input"));
|
|
9
9
|
var _CurrencyInput = require("./CurrencyInput.hook");
|
|
10
|
+
var _formatters = require("../../utils/formatters");
|
|
10
11
|
const _excluded = ["locale", "value", "currency", "onChange", "placeholder", "error"];
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
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; }
|
|
@@ -25,7 +26,7 @@ function CurrencyInput(_ref) {
|
|
|
25
26
|
inputRef,
|
|
26
27
|
moneyFormat,
|
|
27
28
|
lastPosition
|
|
28
|
-
} = (0, _CurrencyInput.useCurrencyInput)(amount, locale, currency, onChange);
|
|
29
|
+
} = (0, _CurrencyInput.useCurrencyInput)(amount, locale, currency, _formatters.currencyFormatterFactory, onChange);
|
|
29
30
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
30
31
|
ref: inputRef,
|
|
31
32
|
placeholder: placeholder,
|
|
@@ -41,7 +42,8 @@ function CurrencyInput(_ref) {
|
|
|
41
42
|
const diffFromEndToStart = value.length - selectionStart;
|
|
42
43
|
lastPosition.current = diffFromEndToStart;
|
|
43
44
|
onChange === null || onChange === void 0 || onChange(value);
|
|
44
|
-
}
|
|
45
|
+
},
|
|
46
|
+
disclaimer: props.disclaimer
|
|
45
47
|
}));
|
|
46
48
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9JbnB1dCIsIl9DdXJyZW5jeUlucHV0IiwiX2Zvcm1hdHRlcnMiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJ0IiwibyIsInIiLCJpIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJuIiwibGVuZ3RoIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY2FsbCIsImhhc093blByb3BlcnR5IiwiQ3VycmVuY3lJbnB1dCIsIl9yZWYiLCJsb2NhbGUiLCJ2YWx1ZSIsImFtb3VudCIsImN1cnJlbmN5Iiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsImVycm9yIiwicHJvcHMiLCJpbnB1dFJlZiIsIm1vbmV5Rm9ybWF0IiwibGFzdFBvc2l0aW9uIiwidXNlQ3VycmVuY3lJbnB1dCIsImN1cnJlbmN5Rm9ybWF0dGVyRmFjdG9yeSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsInJlZiIsIl9yZWYyIiwidGFyZ2V0Iiwic2VsZWN0aW9uU3RhcnQiLCJkaWZmRnJvbUVuZFRvU3RhcnQiLCJjdXJyZW50IiwiZGlzY2xhaW1lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0N1cnJlbmN5SW5wdXQvQ3VycmVuY3lJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uL0lucHV0XCI7XG5pbXBvcnQgeyB1c2VDdXJyZW5jeUlucHV0IH0gZnJvbSBcIi4vQ3VycmVuY3lJbnB1dC5ob29rXCI7XG5pbXBvcnQgeyBjdXJyZW5jeUZvcm1hdHRlckZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZm9ybWF0dGVyc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDdXJyZW5jeUlucHV0KHtcbiAgbG9jYWxlLFxuICB2YWx1ZTogYW1vdW50LFxuICBjdXJyZW5jeSxcbiAgb25DaGFuZ2UsXG4gIHBsYWNlaG9sZGVyLFxuICBlcnJvcixcbiAgLi4ucHJvcHNcbn06IE9taXQ8Q29tcG9uZW50UHJvcHM8dHlwZW9mIElucHV0PiwgXCJvbkNoYW5nZVwiPiAmIHtcbiAgY3VycmVuY3k6IHN0cmluZztcbiAgb25DaGFuZ2U/OiAoZm9ybWF0dGVkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGxvY2FsZTogc3RyaW5nO1xufSkge1xuICBjb25zdCB7IGlucHV0UmVmLCBtb25leUZvcm1hdCwgbGFzdFBvc2l0aW9uIH0gPSB1c2VDdXJyZW5jeUlucHV0KFxuICAgIGFtb3VudCxcbiAgICBsb2NhbGUsXG4gICAgY3VycmVuY3ksXG4gICAgY3VycmVuY3lGb3JtYXR0ZXJGYWN0b3J5LFxuICAgIG9uQ2hhbmdlXG4gICk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxJbnB1dFxuICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIHZhbHVlPXttb25leUZvcm1hdH1cbiAgICAgICAgZXJyb3I9e2Vycm9yIGFzIHN0cmluZ31cbiAgICAgICAgZGF0YS10ZXN0aWQ9e3Byb3BzW1wiZGF0YS10ZXN0aWRcIl19XG4gICAgICAgIG9uQ2hhbmdlPXsoeyB0YXJnZXQ6IHsgdmFsdWUsIHNlbGVjdGlvblN0YXJ0ID0gdmFsdWUubGVuZ3RoIH0gfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpZmZGcm9tRW5kVG9TdGFydCA9IHZhbHVlLmxlbmd0aCAtIHNlbGVjdGlvblN0YXJ0ITtcbiAgICAgICAgICBsYXN0UG9zaXRpb24uY3VycmVudCA9IGRpZmZGcm9tRW5kVG9TdGFydDtcbiAgICAgICAgICBvbkNoYW5nZT8uKHZhbHVlKTtcbiAgICAgICAgfX1cbiAgICAgICAgZGlzY2xhaW1lcj17cHJvcHMuZGlzY2xhaW1lcn1cbiAgICAgIC8+XG4gICAgPC8+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUFrRSxNQUFBSSxTQUFBO0FBQUEsU0FBQUwsdUJBQUFNLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBRyx5QkFBQUgsQ0FBQSxFQUFBSSxDQUFBLGdCQUFBSixDQUFBLGlCQUFBSyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxHQUFBQyw2QkFBQSxDQUFBUixDQUFBLEVBQUFJLENBQUEsT0FBQUssTUFBQSxDQUFBQyxxQkFBQSxRQUFBQyxDQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQVYsQ0FBQSxRQUFBTSxDQUFBLE1BQUFBLENBQUEsR0FBQUssQ0FBQSxDQUFBQyxNQUFBLEVBQUFOLENBQUEsSUFBQUQsQ0FBQSxHQUFBTSxDQUFBLENBQUFMLENBQUEsVUFBQUYsQ0FBQSxDQUFBUyxPQUFBLENBQUFSLENBQUEsUUFBQVMsb0JBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFLLENBQUEsTUFBQUUsQ0FBQSxDQUFBRixDQUFBLElBQUFMLENBQUEsQ0FBQUssQ0FBQSxhQUFBRSxDQUFBO0FBQUEsU0FBQUMsOEJBQUFGLENBQUEsRUFBQU4sQ0FBQSxnQkFBQU0sQ0FBQSxpQkFBQUYsQ0FBQSxnQkFBQU8sQ0FBQSxJQUFBTCxDQUFBLFNBQUFVLGNBQUEsQ0FBQUQsSUFBQSxDQUFBVCxDQUFBLEVBQUFLLENBQUEsZ0JBQUFYLENBQUEsQ0FBQWEsT0FBQSxDQUFBRixDQUFBLGFBQUFQLENBQUEsQ0FBQU8sQ0FBQSxJQUFBTCxDQUFBLENBQUFLLENBQUEsWUFBQVAsQ0FBQTtBQUVuRCxTQUFTYSxhQUFhQSxDQUFBQyxJQUFBLEVBWWxDO0VBQUEsSUFabUM7TUFDcENDLE1BQU07TUFDTkMsS0FBSyxFQUFFQyxNQUFNO01BQ2JDLFFBQVE7TUFDUkMsUUFBUTtNQUNSQyxXQUFXO01BQ1hDO0lBTUYsQ0FBQyxHQUFBUCxJQUFBO0lBTElRLEtBQUssR0FBQXZCLHdCQUFBLENBQUFlLElBQUEsRUFBQW5CLFNBQUE7RUFNUixNQUFNO0lBQUU0QixRQUFRO0lBQUVDLFdBQVc7SUFBRUM7RUFBYSxDQUFDLEdBQUcsSUFBQUMsK0JBQWdCLEVBQzlEVCxNQUFNLEVBQ05GLE1BQU0sRUFDTkcsUUFBUSxFQUNSUyxvQ0FBd0IsRUFDeEJSLFFBQ0YsQ0FBQztFQUNELG9CQUNFOUIsTUFBQSxDQUFBUyxPQUFBLENBQUE4QixhQUFBLENBQUF2QyxNQUFBLENBQUFTLE9BQUEsQ0FBQStCLFFBQUEscUJBQ0V4QyxNQUFBLENBQUFTLE9BQUEsQ0FBQThCLGFBQUEsQ0FBQ3BDLE1BQUEsQ0FBQU0sT0FBSztJQUNKZ0MsR0FBRyxFQUFFUCxRQUFTO0lBQ2RILFdBQVcsRUFBRUEsV0FBWTtJQUN6QkosS0FBSyxFQUFFUSxXQUFZO0lBQ25CSCxLQUFLLEVBQUVBLEtBQWdCO0lBRXZCRixRQUFRLEVBQUVZLEtBQUEsSUFBMEQ7TUFBQSxJQUF6RDtRQUFFQyxNQUFNLEVBQUU7VUFBRWhCLEtBQUs7VUFBRWlCLGNBQWMsR0FBR2pCLEtBQUssQ0FBQ1I7UUFBTztNQUFFLENBQUMsR0FBQXVCLEtBQUE7TUFDN0QsTUFBTUcsa0JBQWtCLEdBQUdsQixLQUFLLENBQUNSLE1BQU0sR0FBR3lCLGNBQWU7TUFDekRSLFlBQVksQ0FBQ1UsT0FBTyxHQUFHRCxrQkFBa0I7TUFDekNmLFFBQVEsYUFBUkEsUUFBUSxlQUFSQSxRQUFRLENBQUdILEtBQUssQ0FBQztJQUNuQixDQUFFO0lBQ0ZvQixVQUFVLEVBQUVkLEtBQUssQ0FBQ2M7RUFBVyxDQUM5QixDQUNELENBQUM7QUFFUCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -17,7 +17,7 @@ declare const EmailInput: React.ForwardRefExoticComponent<Omit<Omit<{
|
|
|
17
17
|
onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;
|
|
18
18
|
containerProps?: Omit<React.HTMLProps<HTMLDivElement>, "ref"> | undefined;
|
|
19
19
|
value?: string | undefined;
|
|
20
|
-
|
|
20
|
+
"data-testid"?: string | undefined;
|
|
21
21
|
} & Omit<React.HTMLProps<HTMLInputElement | HTMLTextAreaElement>, "ref" | "value" | "onChange"> & React.RefAttributes<any>, "value" | "onChange"> & {
|
|
22
22
|
onChange: (email: string, isValid: boolean) => void;
|
|
23
23
|
value: string;
|
|
@@ -13,3 +13,13 @@ export type FormRef<Q extends FormFieldView[]> = {
|
|
|
13
13
|
**/
|
|
14
14
|
declare const _default: React.ForwardRefExoticComponent<FormViewProps<FormFieldView[]> & React.RefAttributes<FormRef<FormFieldView[]>>>;
|
|
15
15
|
export default _default;
|
|
16
|
+
export declare const ControlledForm: React.ForwardRefExoticComponent<(FormViewProps<FormFieldView[]> & {
|
|
17
|
+
answers: {
|
|
18
|
+
answers: Partial<{
|
|
19
|
+
[x: string]: unknown;
|
|
20
|
+
}>;
|
|
21
|
+
setAnswers: React.Dispatch<React.SetStateAction<Partial<{
|
|
22
|
+
[x: string]: unknown;
|
|
23
|
+
}>>>;
|
|
24
|
+
};
|
|
25
|
+
}) & React.RefAttributes<FormRef<FormFieldView[]>>>;
|
|
@@ -141,7 +141,7 @@ function useFieldErrors(currentQuestions, answers, showAllErrors) {
|
|
|
141
141
|
default:
|
|
142
142
|
const extendedSupport = extensions === null || extensions === void 0 ? void 0 : extensions[question.type];
|
|
143
143
|
if (extendedSupport) {
|
|
144
|
-
const validationResultExtend = extendedSupport.validator(ans(question), question);
|
|
144
|
+
const validationResultExtend = extendedSupport.validator ? extendedSupport.validator(ans(question), question) : _isValidated();
|
|
145
145
|
if (validationResultExtend.error) errorsMap[question.id] = validationResultExtend.error;
|
|
146
146
|
} else {
|
|
147
147
|
updateDefaultError();
|
|
@@ -190,7 +190,7 @@ function areAllQuestionsAnswered(currentQuestions, answers, requiredLabel, exten
|
|
|
190
190
|
default:
|
|
191
191
|
const extendedSupport = extensions === null || extensions === void 0 ? void 0 : extensions[question.type];
|
|
192
192
|
if (extendedSupport) {
|
|
193
|
-
const validationResultExtend = extendedSupport.validator(ans(question), question);
|
|
193
|
+
const validationResultExtend = extendedSupport.validator ? extendedSupport.validator(ans(question), question) : isValidated(ans(question), !!question.optional, question.validator, requiredLabel);
|
|
194
194
|
return validationResultExtend.isValid;
|
|
195
195
|
} else return question.validator ? !!question.validator(ans(question)) : !!ans(question);
|
|
196
196
|
}
|
|
@@ -230,4 +230,4 @@ const isValidated = (_answer, isOptional, validator, requiredFieldLabel) => {
|
|
|
230
230
|
};
|
|
231
231
|
};
|
|
232
232
|
exports.isValidated = isValidated;
|
|
233
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX09uZVVJUHJvdmlkZXIiLCJfRm9ybUZpZWxkIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ1c2VGb3JtQW5zd2VycyIsImRlZmF1bHRBbnN3ZXJzIiwibW9kZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwidXNlU3RhdGUiLCJjbG9uZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwidXNlRm9ybVN0YXRlIiwiY3VycmVudFF1ZXN0aW9ucyIsIl9yZWYiLCJmb3JtQ29uZmlnIiwidXNlT25lVUlDb25maWciLCJpc1ZhbGlkIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsInVzZU1lbW8iLCJhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZCIsInJlcXVpcmVkTGFiZWwiLCJleHRlbnNpb25zIiwib25BbnN3ZXJBY3Rpb24iLCJxdWVzdGlvblR5cGUiLCJpZCIsImFuc3dlciIsIm9uRmlsZVVwbG9hZCIsInByZXYiLCJmaWxlIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRmlsZVVwbG9hZHMiLCJxdWVzdGlvbnMiLCJ1c2VGb3JtIiwiZmlsZVVwbG9hZFF1ZXN0aW9ucyIsImEiLCJ0eXBlIiwiZmlsZVVwbG9hZFN0YXR1cyIsInNldEZpbGVVcGxvYWRTdGF0dXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1bnN1YnMiLCJmaWxlUXVlc3Rpb24iLCJ1cGxvYWRUYXNrIiwib24iLCJ0b3RhbEJ5dGVzIiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInVuc3ViIiwiYXJlQWxsRmlsZVVwbG9hZGVkIiwicmVkdWNlIiwicXVlc3Rpb24iLCJ1cGxvYWRTdGF0dXMiLCJ1c2VGaWVsZEVycm9ycyIsInNob3dBbGxFcnJvcnMiLCJlcnJvck1hcCIsImFucyIsImVycm9yc01hcCIsIl9pc1ZhbGlkYXRlZCIsImlzVmFsaWRhdGVkIiwib3B0aW9uYWwiLCJ2YWxpZGF0b3IiLCJ1cGRhdGVEZWZhdWx0RXJyb3IiLCJ2YWxpZGF0aW9uIiwiZXJyb3IiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiZXh0ZW5kZWRTdXBwb3J0IiwidmFsaWRhdGlvblJlc3VsdEV4dGVuZCIsImN1cnJlbnRFcnJvcnMiLCJlbnRyaWVzIiwiX3JlZjIiLCJrIiwidiIsInVuZGVmaW5lZCIsImFuc3dlcmVkQWxsIiwicmVzdWx0IiwiY2hlY2tzIiwiYWNjZXB0IiwiX3JlZjMiLCJpZHgiLCJjaGVja21hcmtzIiwiaW5jbHVkZXMiLCJfYW5zd2VyIiwiaXNPcHRpb25hbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsIkFycmF5IiwiaXNBcnJheSIsIl8iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT25lVUlDb250ZXh0U3BlY3MsIHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQWN0aW9uLFxuICBBbnN3ZXJCeUZpZWxkLFxuICBGb3JtRmllbGQsXG4gIEZvcm1GaWVsZFR5cGVzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCB9IGZyb20gXCIuL0Zvcm0udHlwZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2ssIFVwbG9hZFRhc2tTbmFwc2hvdCB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vLi4vdHlwZS11dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUFuc3dlcnM8QSBleHRlbmRzIEFuc3dlcnNNYXA8YW55PiA9IEFuc3dlcnNNYXA+KFxuICBkZWZhdWx0QW5zd2VyczogQSxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBbYW5zd2Vycywgc2V0QW5zd2Vyc10gPSB1c2VTdGF0ZTxBPigoKSA9PiB7XG4gICAgY29uc3QgY2xvbmUgPSB7XG4gICAgICAuLi5kZWZhdWx0QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChtb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHJldHVybiBjbG9uZTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgc2V0QW5zd2VycyxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtU3RhdGU8USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIHsgYW5zd2Vycywgc2V0QW5zd2VycyB9OiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VGb3JtQW5zd2VyczxBbnN3ZXJzTWFwPFE+Pj5cbikge1xuICBjb25zdCBmb3JtQ29uZmlnID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcblxuICBjb25zdCB7IGlzVmFsaWQ6IGlzUXVlc3Rpb25zQW5zd2VyZWQgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZChcbiAgICAgIGN1cnJlbnRRdWVzdGlvbnMsXG4gICAgICBhbnN3ZXJzLFxuICAgICAgZm9ybUNvbmZpZy5yZXF1aXJlZExhYmVsLFxuICAgICAgZm9ybUNvbmZpZy5leHRlbnNpb25zXG4gICAgKTtcbiAgfSwgW2Fuc3dlcnMsIGN1cnJlbnRRdWVzdGlvbnNdKTtcblxuICBjb25zdCBvbkFuc3dlckFjdGlvbiA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVHlwZXM+KFxuICAgIHF1ZXN0aW9uVHlwZTogVCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICB9PlxuICAgICAgfCB1bmRlZmluZWRcbiAgKSA9PiB7XG4gICAgc3dpdGNoIChxdWVzdGlvblR5cGUpIHtcbiAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNvbnN0IHsgb25GaWxlVXBsb2FkIH0gPSBmb3JtQ29uZmlnO1xuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlID0gYW5zd2VyIGFzIEZpbGUgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKGZpbGUpXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbaWRdOiBvbkZpbGVVcGxvYWQoaWQsIGZpbGUpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBkZWxldGUgcHJldltpZF07XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucHJldiB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZbaWQgYXMga2V5b2YgdHlwZW9mIHByZXZdID09PSBhbnN3ZXIpIHJldHVybiBwcmV2O1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgW2lkXTogYW5zd2VyIGFzIHN0cmluZyxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaXNGaWxlc1VwbG9hZGVkID0gdXNlRmlsZVVwbG9hZHMoY3VycmVudFF1ZXN0aW9ucywgYW5zd2Vycyk7XG5cbiAgcmV0dXJuIHtcbiAgICBhbnN3ZXJzLFxuICAgIGlzUXVlc3Rpb25zQW5zd2VyZWQsXG4gICAgaXNGaWxlc1VwbG9hZGVkLFxuICAgIG9uQW5zd2VyQWN0aW9uLFxuICAgIHF1ZXN0aW9uczogY3VycmVudFF1ZXN0aW9ucyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm08USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIGRlZmF1bHRBbnN3ZXJzOiBBbnN3ZXJzTWFwLFxuICBtb2RlOiBGb3JtTW9kZVxuKSB7XG4gIGNvbnN0IGFuc3dlcnMgPSB1c2VGb3JtQW5zd2VycyhkZWZhdWx0QW5zd2VycywgbW9kZSk7XG4gIHJldHVybiB1c2VGb3JtU3RhdGUoY3VycmVudFF1ZXN0aW9ucywgYW5zd2VycyBhcyBhbnkpO1xufVxuXG5mdW5jdGlvbiB1c2VGaWxlVXBsb2FkcyhxdWVzdGlvbnM6IEZvcm1GaWVsZFtdLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwKSB7XG4gIGNvbnN0IGZpbGVVcGxvYWRRdWVzdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IHF1ZXN0aW9ucy5maWx0ZXIoKGEpID0+IGEudHlwZSA9PT0gXCJmaWxlXCIpLFxuICAgIFtxdWVzdGlvbnNdXG4gICk7XG4gIGNvbnN0IFtmaWxlVXBsb2FkU3RhdHVzLCBzZXRGaWxlVXBsb2FkU3RhdHVzXSA9IHVzZVN0YXRlPHtcbiAgICBbcXVlc3Rpb25JRDogc3RyaW5nXTogVXBsb2FkVGFza1NuYXBzaG90W1wic3RhdGVcIl07XG4gIH0+KHt9KTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1bnN1YnM6IFJldHVyblR5cGU8VXBsb2FkVGFza1tcIm9uXCJdPltdID0gW107XG4gICAgZm9yIChsZXQgZmlsZVF1ZXN0aW9uIG9mIGZpbGVVcGxvYWRRdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHVwbG9hZFRhc2sgPSBhbnN3ZXJzW2ZpbGVRdWVzdGlvbi5pZF0gYXNcbiAgICAgICAgfCBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgICAgIHR5cGU6IFwiZmlsZVwiO1xuICAgICAgICAgIH0+XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIXVwbG9hZFRhc2spXG4gICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbZmlsZVF1ZXN0aW9uLmlkXTogXCJydW5uaW5nXCIsXG4gICAgICAgIH0pKTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB1cGxvYWRUYXNrID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICBzZXRGaWxlVXBsb2FkU3RhdHVzKChwcmV2KSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2ZpbGVRdWVzdGlvbi5pZF06IFwic3VjY2Vzc1wiLFxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdW5zdWJzLnB1c2goXG4gICAgICAgICAgdXBsb2FkVGFzay5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHIpID0+IHtcbiAgICAgICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtmaWxlUXVlc3Rpb24uaWRdOlxuICAgICAgICAgICAgICAgIHIudG90YWxCeXRlcyA9PT0gci5ieXRlc1RyYW5zZmVycmVkID8gXCJzdWNjZXNzXCIgOiBcInJ1bm5pbmdcIixcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB1bnN1YnMuZm9yRWFjaCgodW5zdWIpID0+IHVuc3ViKCkpO1xuICAgIH07XG4gIH0sIFthbnN3ZXJzLCBmaWxlVXBsb2FkUXVlc3Rpb25zXSk7XG5cbiAgY29uc3QgYXJlQWxsRmlsZVVwbG9hZGVkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZpbGVVcGxvYWRRdWVzdGlvbnMucmVkdWNlKChyLCBxdWVzdGlvbikgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkU3RhdHVzID0gZmlsZVVwbG9hZFN0YXR1c1txdWVzdGlvbi5pZF07XG4gICAgICByZXR1cm4gciAmJiB1cGxvYWRTdGF0dXMgPT09IFwic3VjY2Vzc1wiO1xuICAgIH0sIHRydWUpO1xuICB9LCBbZmlsZVVwbG9hZFN0YXR1cywgZmlsZVVwbG9hZFF1ZXN0aW9uc10pO1xuXG4gIHJldHVybiBhcmVBbGxGaWxlVXBsb2FkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaWVsZEVycm9yczxcbiAgUSBleHRlbmRzIFJlYWRvbmx5PFxuICAgIFBpY2s8Rm9ybUZpZWxkLCBcInR5cGVcIiB8IFwiaWRcIiB8IFwib3B0aW9uYWxcIiB8IFwidmFsaWRhdG9yXCI+W11cbiAgPlxuPihjdXJyZW50UXVlc3Rpb25zOiBRLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwLCBzaG93QWxsRXJyb3JzOiBib29sZWFuKSB7XG4gIGNvbnN0IHsgcmVxdWlyZWRMYWJlbCwgZXh0ZW5zaW9ucyB9ID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgY29uc3QgZXJyb3JNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBQaWNrPEZvcm1GaWVsZCwgXCJpZFwiPiAmIHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICBhbnN3ZXJzW3F1ZXN0aW9uLmlkXSBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuICAgIGNvbnN0IGVycm9yc01hcDoge1xuICAgICAgW3F1ZXN0aW9uSWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9ID0ge307XG4gICAgZm9yIChsZXQgcXVlc3Rpb24gb2YgY3VycmVudFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgX2lzVmFsaWRhdGVkID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgYW5zKHF1ZXN0aW9uKSxcbiAgICAgICAgICAhIXF1ZXN0aW9uLm9wdGlvbmFsLFxuICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICByZXF1aXJlZExhYmVsXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgY29uc3QgdXBkYXRlRGVmYXVsdEVycm9yID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gX2lzVmFsaWRhdGVkKCk7XG4gICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uLmVycm9yO1xuICAgICAgfTtcbiAgICAgIHN3aXRjaCAocXVlc3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwiY2hlY2tcIjpcbiAgICAgICAgY2FzZSBcInJhd2NoZWNrXCI6XG4gICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSBxdWVzdGlvbi52YWxpZGF0b3IoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbikgYXMgYW55XG4gICAgICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICBjYXNlIFwic2VsZWN0XCI6XG4gICAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgIHVwZGF0ZURlZmF1bHRFcnJvcigpO1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uUmVzdWx0LmVycm9yO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICBleHRlbnNpb25zPy5bXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnR5cGUgYXMgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICBpZiAoZXh0ZW5kZWRTdXBwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kID0gZXh0ZW5kZWRTdXBwb3J0LnZhbGlkYXRvcihcbiAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgIHF1ZXN0aW9uIGFzIGFueVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmVycm9yKVxuICAgICAgICAgICAgICBlcnJvcnNNYXBbcXVlc3Rpb24uaWRdID0gdmFsaWRhdGlvblJlc3VsdEV4dGVuZC5lcnJvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnNNYXA7XG4gIH0sIFtjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzXSk7XG5cbiAgY29uc3QgY3VycmVudEVycm9ycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhlcnJvck1hcCkucmVkdWNlKFxuICAgICAgKHIsIFtrLCB2XSkgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiBzaG93QWxsRXJyb3JzID8gdiA6IHYgIT09IHJlcXVpcmVkTGFiZWwgPyB2IDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH0sIFtzaG93QWxsRXJyb3JzLCBlcnJvck1hcF0pO1xuXG4gIHJldHVybiBjdXJyZW50RXJyb3JzIGFzIHsgW2sgaW4gUVtudW1iZXJdW1wiaWRcIl1dOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICBjdXJyZW50UXVlc3Rpb25zOiBGb3JtRmllbGRbXSxcbiAgYW5zd2VyczogQW5zd2Vyc01hcCxcbiAgcmVxdWlyZWRMYWJlbDogc3RyaW5nLFxuICBleHRlbnNpb25zOiBPbmVVSUNvbnRleHRTcGVjc1tcImNvbXBvbmVudFwiXVtcImZvcm1cIl1bXCJleHRlbnNpb25zXCJdXG4pIHtcbiAgY29uc3QgaXNWYWxpZCA9IGN1cnJlbnRRdWVzdGlvbnMucmVkdWNlKChhbnN3ZXJlZEFsbCwgcXVlc3Rpb24pID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBGb3JtRmllbGQgJiB7XG4gICAgICAgIHR5cGU6IFQ7XG4gICAgICB9XG4gICAgKSA9PlxuICAgICAgYW5zd2Vyc1txdWVzdGlvbi5pZF0gYXMgdW5rbm93biBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuXG4gICAgY29uc3QgcmVzdWx0ID1cbiAgICAgIGFuc3dlcmVkQWxsICYmXG4gICAgICAoKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXN0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFwiYWNjZXB0XCI6XG4gICAgICAgICAgICBjb25zdCBjaGVja3MgPSBhbnMocXVlc3Rpb24pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLmFjY2VwdC5yZWR1Y2UoXG4gICAgICAgICAgICAgIChyLCB7IG9wdGlvbmFsIH0sIGlkeCkgPT4gciAmJiAob3B0aW9uYWwgPyB0cnVlIDogY2hlY2tzW2lkeF0pLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICAgIGNhc2UgXCJyYXdjaGVja1wiOlxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLm9wdGlvbmFsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi52YWxpZGF0b3IpXG4gICAgICAgICAgICAgIHJldHVybiBxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpIGFzIGJvb2xlYW47XG4gICAgICAgICAgICBjb25zdCBjaGVja21hcmtzID0gYW5zKHF1ZXN0aW9uKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBjaGVja21hcmtzLmluY2x1ZGVzKHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICBjYXNlIFwicmFkaW9cIjpcbiAgICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgICAgaWYgKCFhbnN3ZXJzW3F1ZXN0aW9uLmlkXSkgcmV0dXJuICEhcXVlc3Rpb24ub3B0aW9uYWw7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbiksXG4gICAgICAgICAgICAgICEhcXVlc3Rpb24ub3B0aW9uYWwsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICAgICAgcmVxdWlyZWRMYWJlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgYW5zd2VyZWRBbGw7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICAgIGV4dGVuc2lvbnM/LltcbiAgICAgICAgICAgICAgICBxdWVzdGlvbi50eXBlIGFzIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGlmIChleHRlbmRlZFN1cHBvcnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdEV4dGVuZCA9IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgYW5zKHF1ZXN0aW9uKSBhcyBhbnksXG4gICAgICAgICAgICAgICAgcXVlc3Rpb24gYXMgYW55XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmlzVmFsaWQ7XG4gICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbGlkYXRvclxuICAgICAgICAgICAgICAgID8gISFxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgOiAhIWFucyhxdWVzdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogISFpc1ZhbGlkIH07XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkYXRlZCA9IChcbiAgX2Fuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEZvcm1GaWVsZFR5cGVzIH0+LFxuICBpc09wdGlvbmFsOiBib29sZWFuLFxuICB2YWxpZGF0b3I6ICgodmFsOiBhbnkpID0+IHN0cmluZyB8IGJvb2xlYW4pIHwgdW5kZWZpbmVkLFxuICByZXF1aXJlZEZpZWxkTGFiZWw6IHN0cmluZ1xuKSA9PiB7XG4gIGNvbnN0IGFuc3dlciA9IEFycmF5LmlzQXJyYXkoX2Fuc3dlcikgPyBfYW5zd2VyWzBdIDogX2Fuc3dlcjtcbiAgaWYgKCFhbnN3ZXIgJiYgIWlzT3B0aW9uYWwpXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IHJlcXVpcmVkRmllbGRMYWJlbCxcbiAgICB9O1xuICBpZiAoIXZhbGlkYXRvcilcbiAgICBpZiAoQXJyYXkuaXNBcnJheShfYW5zd2VyKSkge1xuICAgICAgY29uc3QgW18sIGlzVmFsaWQsIGVycm9yXSA9IF9hbnN3ZXI7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc1ZhbGlkLFxuICAgICAgICBlcnJvcixcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBcIlwiLFxuICAgICAgfTtcbiAgICB9XG4gIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0b3IoYW5zd2VyKTtcbiAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiB2YWxpZGF0aW9uUmVzdWx0LFxuICAgIH07XG4gIHJldHVybiB7XG4gICAgaXNWYWxpZDogdmFsaWRhdGlvblJlc3VsdCxcbiAgICBlcnJvcjogXCJcIixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7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
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX09uZVVJUHJvdmlkZXIiLCJfRm9ybUZpZWxkIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJ1c2VGb3JtQW5zd2VycyIsImRlZmF1bHRBbnN3ZXJzIiwibW9kZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwidXNlU3RhdGUiLCJjbG9uZSIsIkZvcm1Nb2RlIiwiUkVBRF9PTkxZIiwidXNlRm9ybVN0YXRlIiwiY3VycmVudFF1ZXN0aW9ucyIsIl9yZWYiLCJmb3JtQ29uZmlnIiwidXNlT25lVUlDb25maWciLCJpc1ZhbGlkIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsInVzZU1lbW8iLCJhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZCIsInJlcXVpcmVkTGFiZWwiLCJleHRlbnNpb25zIiwib25BbnN3ZXJBY3Rpb24iLCJxdWVzdGlvblR5cGUiLCJpZCIsImFuc3dlciIsIm9uRmlsZVVwbG9hZCIsInByZXYiLCJmaWxlIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRmlsZVVwbG9hZHMiLCJxdWVzdGlvbnMiLCJ1c2VGb3JtIiwiZmlsZVVwbG9hZFF1ZXN0aW9ucyIsImEiLCJ0eXBlIiwiZmlsZVVwbG9hZFN0YXR1cyIsInNldEZpbGVVcGxvYWRTdGF0dXMiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1bnN1YnMiLCJmaWxlUXVlc3Rpb24iLCJ1cGxvYWRUYXNrIiwib24iLCJ0b3RhbEJ5dGVzIiwiYnl0ZXNUcmFuc2ZlcnJlZCIsInVuc3ViIiwiYXJlQWxsRmlsZVVwbG9hZGVkIiwicmVkdWNlIiwicXVlc3Rpb24iLCJ1cGxvYWRTdGF0dXMiLCJ1c2VGaWVsZEVycm9ycyIsInNob3dBbGxFcnJvcnMiLCJlcnJvck1hcCIsImFucyIsImVycm9yc01hcCIsIl9pc1ZhbGlkYXRlZCIsImlzVmFsaWRhdGVkIiwib3B0aW9uYWwiLCJ2YWxpZGF0b3IiLCJ1cGRhdGVEZWZhdWx0RXJyb3IiLCJ2YWxpZGF0aW9uIiwiZXJyb3IiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiZXh0ZW5kZWRTdXBwb3J0IiwidmFsaWRhdGlvblJlc3VsdEV4dGVuZCIsImN1cnJlbnRFcnJvcnMiLCJlbnRyaWVzIiwiX3JlZjIiLCJrIiwidiIsInVuZGVmaW5lZCIsImFuc3dlcmVkQWxsIiwicmVzdWx0IiwiY2hlY2tzIiwiYWNjZXB0IiwiX3JlZjMiLCJpZHgiLCJjaGVja21hcmtzIiwiaW5jbHVkZXMiLCJfYW5zd2VyIiwiaXNPcHRpb25hbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsIkFycmF5IiwiaXNBcnJheSIsIl8iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLmhvb2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT25lVUlDb250ZXh0U3BlY3MsIHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQWN0aW9uLFxuICBBbnN3ZXJCeUZpZWxkLFxuICBGb3JtRmllbGQsXG4gIEZvcm1GaWVsZFR5cGVzLFxuICBGb3JtRmllbGRWaWV3LFxuICBGb3JtTW9kZSxcbn0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCB9IGZyb20gXCIuL0Zvcm0udHlwZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2ssIFVwbG9hZFRhc2tTbmFwc2hvdCB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vLi4vdHlwZS11dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUFuc3dlcnM8QSBleHRlbmRzIEFuc3dlcnNNYXA8YW55PiA9IEFuc3dlcnNNYXA+KFxuICBkZWZhdWx0QW5zd2VyczogQSxcbiAgbW9kZTogRm9ybU1vZGVcbikge1xuICBjb25zdCBbYW5zd2Vycywgc2V0QW5zd2Vyc10gPSB1c2VTdGF0ZTxBPigoKSA9PiB7XG4gICAgY29uc3QgY2xvbmUgPSB7XG4gICAgICAuLi5kZWZhdWx0QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChtb2RlID09PSBGb3JtTW9kZS5SRUFEX09OTFkpIHJldHVybiBjbG9uZTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGFuc3dlcnMsXG4gICAgc2V0QW5zd2VycyxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtU3RhdGU8USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIHsgYW5zd2Vycywgc2V0QW5zd2VycyB9OiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VGb3JtQW5zd2VyczxBbnN3ZXJzTWFwPFE+Pj5cbikge1xuICBjb25zdCBmb3JtQ29uZmlnID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcblxuICBjb25zdCB7IGlzVmFsaWQ6IGlzUXVlc3Rpb25zQW5zd2VyZWQgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBhcmVBbGxRdWVzdGlvbnNBbnN3ZXJlZChcbiAgICAgIGN1cnJlbnRRdWVzdGlvbnMsXG4gICAgICBhbnN3ZXJzLFxuICAgICAgZm9ybUNvbmZpZy5yZXF1aXJlZExhYmVsLFxuICAgICAgZm9ybUNvbmZpZy5leHRlbnNpb25zXG4gICAgKTtcbiAgfSwgW2Fuc3dlcnMsIGN1cnJlbnRRdWVzdGlvbnNdKTtcblxuICBjb25zdCBvbkFuc3dlckFjdGlvbiA9IDxUIGV4dGVuZHMgRm9ybUZpZWxkVHlwZXM+KFxuICAgIHF1ZXN0aW9uVHlwZTogVCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFuc3dlcjpcbiAgICAgIHwgQW5zd2VyQWN0aW9uPHtcbiAgICAgICAgICB0eXBlOiBUO1xuICAgICAgICB9PlxuICAgICAgfCB1bmRlZmluZWRcbiAgKSA9PiB7XG4gICAgc3dpdGNoIChxdWVzdGlvblR5cGUpIHtcbiAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNvbnN0IHsgb25GaWxlVXBsb2FkIH0gPSBmb3JtQ29uZmlnO1xuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlID0gYW5zd2VyIGFzIEZpbGUgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKGZpbGUpXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBbaWRdOiBvbkZpbGVVcGxvYWQoaWQsIGZpbGUpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBkZWxldGUgcHJldltpZF07XG4gICAgICAgICAgcmV0dXJuIHsgLi4ucHJldiB9O1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzZXRBbnN3ZXJzKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZbaWQgYXMga2V5b2YgdHlwZW9mIHByZXZdID09PSBhbnN3ZXIpIHJldHVybiBwcmV2O1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgW2lkXTogYW5zd2VyIGFzIHN0cmluZyxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaXNGaWxlc1VwbG9hZGVkID0gdXNlRmlsZVVwbG9hZHMoY3VycmVudFF1ZXN0aW9ucywgYW5zd2Vycyk7XG5cbiAgcmV0dXJuIHtcbiAgICBhbnN3ZXJzLFxuICAgIGlzUXVlc3Rpb25zQW5zd2VyZWQsXG4gICAgaXNGaWxlc1VwbG9hZGVkLFxuICAgIG9uQW5zd2VyQWN0aW9uLFxuICAgIHF1ZXN0aW9uczogY3VycmVudFF1ZXN0aW9ucyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm08USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIGN1cnJlbnRRdWVzdGlvbnM6IFEsXG4gIGRlZmF1bHRBbnN3ZXJzOiBBbnN3ZXJzTWFwLFxuICBtb2RlOiBGb3JtTW9kZVxuKSB7XG4gIGNvbnN0IGFuc3dlcnMgPSB1c2VGb3JtQW5zd2VycyhkZWZhdWx0QW5zd2VycywgbW9kZSk7XG4gIHJldHVybiB1c2VGb3JtU3RhdGUoY3VycmVudFF1ZXN0aW9ucywgYW5zd2VycyBhcyBhbnkpO1xufVxuXG5mdW5jdGlvbiB1c2VGaWxlVXBsb2FkcyhxdWVzdGlvbnM6IEZvcm1GaWVsZFtdLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwKSB7XG4gIGNvbnN0IGZpbGVVcGxvYWRRdWVzdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IHF1ZXN0aW9ucy5maWx0ZXIoKGEpID0+IGEudHlwZSA9PT0gXCJmaWxlXCIpLFxuICAgIFtxdWVzdGlvbnNdXG4gICk7XG4gIGNvbnN0IFtmaWxlVXBsb2FkU3RhdHVzLCBzZXRGaWxlVXBsb2FkU3RhdHVzXSA9IHVzZVN0YXRlPHtcbiAgICBbcXVlc3Rpb25JRDogc3RyaW5nXTogVXBsb2FkVGFza1NuYXBzaG90W1wic3RhdGVcIl07XG4gIH0+KHt9KTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB1bnN1YnM6IFJldHVyblR5cGU8VXBsb2FkVGFza1tcIm9uXCJdPltdID0gW107XG4gICAgZm9yIChsZXQgZmlsZVF1ZXN0aW9uIG9mIGZpbGVVcGxvYWRRdWVzdGlvbnMpIHtcbiAgICAgIGNvbnN0IHVwbG9hZFRhc2sgPSBhbnN3ZXJzW2ZpbGVRdWVzdGlvbi5pZF0gYXNcbiAgICAgICAgfCBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgICAgIHR5cGU6IFwiZmlsZVwiO1xuICAgICAgICAgIH0+XG4gICAgICAgIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoIXVwbG9hZFRhc2spXG4gICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBbZmlsZVF1ZXN0aW9uLmlkXTogXCJydW5uaW5nXCIsXG4gICAgICAgIH0pKTtcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB1cGxvYWRUYXNrID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICBzZXRGaWxlVXBsb2FkU3RhdHVzKChwcmV2KSA9PiAoe1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgW2ZpbGVRdWVzdGlvbi5pZF06IFwic3VjY2Vzc1wiLFxuICAgICAgICB9KSk7XG4gICAgICB9IGVsc2VcbiAgICAgICAgdW5zdWJzLnB1c2goXG4gICAgICAgICAgdXBsb2FkVGFzay5vbihcInN0YXRlX2NoYW5nZWRcIiwgKHIpID0+IHtcbiAgICAgICAgICAgIHNldEZpbGVVcGxvYWRTdGF0dXMoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgIFtmaWxlUXVlc3Rpb24uaWRdOlxuICAgICAgICAgICAgICAgIHIudG90YWxCeXRlcyA9PT0gci5ieXRlc1RyYW5zZmVycmVkID8gXCJzdWNjZXNzXCIgOiBcInJ1bm5pbmdcIixcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB1bnN1YnMuZm9yRWFjaCgodW5zdWIpID0+IHVuc3ViKCkpO1xuICAgIH07XG4gIH0sIFthbnN3ZXJzLCBmaWxlVXBsb2FkUXVlc3Rpb25zXSk7XG5cbiAgY29uc3QgYXJlQWxsRmlsZVVwbG9hZGVkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZpbGVVcGxvYWRRdWVzdGlvbnMucmVkdWNlKChyLCBxdWVzdGlvbikgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkU3RhdHVzID0gZmlsZVVwbG9hZFN0YXR1c1txdWVzdGlvbi5pZF07XG4gICAgICByZXR1cm4gciAmJiB1cGxvYWRTdGF0dXMgPT09IFwic3VjY2Vzc1wiO1xuICAgIH0sIHRydWUpO1xuICB9LCBbZmlsZVVwbG9hZFN0YXR1cywgZmlsZVVwbG9hZFF1ZXN0aW9uc10pO1xuXG4gIHJldHVybiBhcmVBbGxGaWxlVXBsb2FkZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VGaWVsZEVycm9yczxcbiAgUSBleHRlbmRzIFJlYWRvbmx5PFxuICAgIFBpY2s8Rm9ybUZpZWxkLCBcInR5cGVcIiB8IFwiaWRcIiB8IFwib3B0aW9uYWxcIiB8IFwidmFsaWRhdG9yXCI+W11cbiAgPlxuPihjdXJyZW50UXVlc3Rpb25zOiBRLCBhbnN3ZXJzOiBBbnN3ZXJzTWFwLCBzaG93QWxsRXJyb3JzOiBib29sZWFuKSB7XG4gIGNvbnN0IHsgcmVxdWlyZWRMYWJlbCwgZXh0ZW5zaW9ucyB9ID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgY29uc3QgZXJyb3JNYXAgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBQaWNrPEZvcm1GaWVsZCwgXCJpZFwiPiAmIHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH1cbiAgICApID0+XG4gICAgICBhbnN3ZXJzW3F1ZXN0aW9uLmlkXSBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuICAgIGNvbnN0IGVycm9yc01hcDoge1xuICAgICAgW3F1ZXN0aW9uSWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9ID0ge307XG4gICAgZm9yIChsZXQgcXVlc3Rpb24gb2YgY3VycmVudFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgX2lzVmFsaWRhdGVkID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgYW5zKHF1ZXN0aW9uKSxcbiAgICAgICAgICAhIXF1ZXN0aW9uLm9wdGlvbmFsLFxuICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICByZXF1aXJlZExhYmVsXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgICAgY29uc3QgdXBkYXRlRGVmYXVsdEVycm9yID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gX2lzVmFsaWRhdGVkKCk7XG4gICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uLmVycm9yO1xuICAgICAgfTtcbiAgICAgIHN3aXRjaCAocXVlc3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIFwiY2hlY2tcIjpcbiAgICAgICAgY2FzZSBcInJhd2NoZWNrXCI6XG4gICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgaWYgKHF1ZXN0aW9uLnZhbGlkYXRvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSBxdWVzdGlvbi52YWxpZGF0b3IoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbikgYXMgYW55XG4gICAgICAgICAgICApIGFzIHN0cmluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICBjYXNlIFwic2VsZWN0XCI6XG4gICAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgIHVwZGF0ZURlZmF1bHRFcnJvcigpO1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcilcbiAgICAgICAgICAgIGVycm9yc01hcFtxdWVzdGlvbi5pZF0gPSB2YWxpZGF0aW9uUmVzdWx0LmVycm9yO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICBleHRlbnNpb25zPy5bXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnR5cGUgYXMgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICBpZiAoZXh0ZW5kZWRTdXBwb3J0KSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kID0gZXh0ZW5kZWRTdXBwb3J0LnZhbGlkYXRvclxuICAgICAgICAgICAgICA/IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnksIHF1ZXN0aW9uIGFzIGFueSlcbiAgICAgICAgICAgICAgOiBfaXNWYWxpZGF0ZWQoKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmVycm9yKVxuICAgICAgICAgICAgICBlcnJvcnNNYXBbcXVlc3Rpb24uaWRdID0gdmFsaWRhdGlvblJlc3VsdEV4dGVuZC5lcnJvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdXBkYXRlRGVmYXVsdEVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnNNYXA7XG4gIH0sIFtjdXJyZW50UXVlc3Rpb25zLCBhbnN3ZXJzXSk7XG5cbiAgY29uc3QgY3VycmVudEVycm9ycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhlcnJvck1hcCkucmVkdWNlKFxuICAgICAgKHIsIFtrLCB2XSkgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiBzaG93QWxsRXJyb3JzID8gdiA6IHYgIT09IHJlcXVpcmVkTGFiZWwgPyB2IDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG4gIH0sIFtzaG93QWxsRXJyb3JzLCBlcnJvck1hcF0pO1xuXG4gIHJldHVybiBjdXJyZW50RXJyb3JzIGFzIHsgW2sgaW4gUVtudW1iZXJdW1wiaWRcIl1dOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUFsbFF1ZXN0aW9uc0Fuc3dlcmVkKFxuICBjdXJyZW50UXVlc3Rpb25zOiBGb3JtRmllbGRbXSxcbiAgYW5zd2VyczogQW5zd2Vyc01hcCxcbiAgcmVxdWlyZWRMYWJlbDogc3RyaW5nLFxuICBleHRlbnNpb25zOiBPbmVVSUNvbnRleHRTcGVjc1tcImNvbXBvbmVudFwiXVtcImZvcm1cIl1bXCJleHRlbnNpb25zXCJdXG4pIHtcbiAgY29uc3QgaXNWYWxpZCA9IGN1cnJlbnRRdWVzdGlvbnMucmVkdWNlKChhbnN3ZXJlZEFsbCwgcXVlc3Rpb24pID0+IHtcbiAgICBjb25zdCBhbnMgPSA8VCBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXCJ0eXBlXCJdPihcbiAgICAgIHF1ZXN0aW9uOiBGb3JtRmllbGQgJiB7XG4gICAgICAgIHR5cGU6IFQ7XG4gICAgICB9XG4gICAgKSA9PlxuICAgICAgYW5zd2Vyc1txdWVzdGlvbi5pZF0gYXMgdW5rbm93biBhcyBBbnN3ZXJCeUZpZWxkPHtcbiAgICAgICAgdHlwZTogVDtcbiAgICAgIH0+O1xuXG4gICAgY29uc3QgcmVzdWx0ID1cbiAgICAgIGFuc3dlcmVkQWxsICYmXG4gICAgICAoKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHF1ZXN0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFwiYWNjZXB0XCI6XG4gICAgICAgICAgICBjb25zdCBjaGVja3MgPSBhbnMocXVlc3Rpb24pIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLmFjY2VwdC5yZWR1Y2UoXG4gICAgICAgICAgICAgIChyLCB7IG9wdGlvbmFsIH0sIGlkeCkgPT4gciAmJiAob3B0aW9uYWwgPyB0cnVlIDogY2hlY2tzW2lkeF0pLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgXCJjaGVja1wiOlxuICAgICAgICAgIGNhc2UgXCJyYXdjaGVja1wiOlxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLm9wdGlvbmFsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi52YWxpZGF0b3IpXG4gICAgICAgICAgICAgIHJldHVybiBxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpIGFzIGJvb2xlYW47XG4gICAgICAgICAgICBjb25zdCBjaGVja21hcmtzID0gYW5zKHF1ZXN0aW9uKSB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiBjaGVja21hcmtzLmluY2x1ZGVzKHRydWUpO1xuICAgICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgICAgICBjYXNlIFwicmFkaW9cIjpcbiAgICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICAgICAgaWYgKCFhbnN3ZXJzW3F1ZXN0aW9uLmlkXSkgcmV0dXJuICEhcXVlc3Rpb24ub3B0aW9uYWw7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gaXNWYWxpZGF0ZWQoXG4gICAgICAgICAgICAgIGFucyhxdWVzdGlvbiksXG4gICAgICAgICAgICAgICEhcXVlc3Rpb24ub3B0aW9uYWwsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uLnZhbGlkYXRvcixcbiAgICAgICAgICAgICAgcmVxdWlyZWRMYWJlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0LmlzVmFsaWQgJiYgYW5zd2VyZWRBbGw7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNvbnN0IGV4dGVuZGVkU3VwcG9ydCA9XG4gICAgICAgICAgICAgIGV4dGVuc2lvbnM/LltcbiAgICAgICAgICAgICAgICBxdWVzdGlvbi50eXBlIGFzIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGlmIChleHRlbmRlZFN1cHBvcnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdEV4dGVuZCA9IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3JcbiAgICAgICAgICAgICAgICA/IGV4dGVuZGVkU3VwcG9ydC52YWxpZGF0b3IoXG4gICAgICAgICAgICAgICAgICAgIGFucyhxdWVzdGlvbikgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbiBhcyBhbnlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IGlzVmFsaWRhdGVkKFxuICAgICAgICAgICAgICAgICAgICBhbnMocXVlc3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICAhIXF1ZXN0aW9uLm9wdGlvbmFsLFxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbi52YWxpZGF0b3IsXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkTGFiZWxcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0RXh0ZW5kLmlzVmFsaWQ7XG4gICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uLnZhbGlkYXRvclxuICAgICAgICAgICAgICAgID8gISFxdWVzdGlvbi52YWxpZGF0b3IoYW5zKHF1ZXN0aW9uKSBhcyBhbnkpXG4gICAgICAgICAgICAgICAgOiAhIWFucyhxdWVzdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pKCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHsgaXNWYWxpZDogISFpc1ZhbGlkIH07XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkYXRlZCA9IChcbiAgX2Fuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEZvcm1GaWVsZFR5cGVzIH0+LFxuICBpc09wdGlvbmFsOiBib29sZWFuLFxuICB2YWxpZGF0b3I6ICgodmFsOiBhbnkpID0+IHN0cmluZyB8IGJvb2xlYW4pIHwgdW5kZWZpbmVkLFxuICByZXF1aXJlZEZpZWxkTGFiZWw6IHN0cmluZ1xuKSA9PiB7XG4gIGNvbnN0IGFuc3dlciA9IEFycmF5LmlzQXJyYXkoX2Fuc3dlcikgPyBfYW5zd2VyWzBdIDogX2Fuc3dlcjtcbiAgaWYgKCFhbnN3ZXIgJiYgIWlzT3B0aW9uYWwpXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IHJlcXVpcmVkRmllbGRMYWJlbCxcbiAgICB9O1xuICBpZiAoIXZhbGlkYXRvcilcbiAgICBpZiAoQXJyYXkuaXNBcnJheShfYW5zd2VyKSkge1xuICAgICAgY29uc3QgW18sIGlzVmFsaWQsIGVycm9yXSA9IF9hbnN3ZXI7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc1ZhbGlkLFxuICAgICAgICBlcnJvcixcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIGVycm9yOiBcIlwiLFxuICAgICAgfTtcbiAgICB9XG4gIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0b3IoYW5zd2VyKTtcbiAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uUmVzdWx0ID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZSxcbiAgICAgIGVycm9yOiB2YWxpZGF0aW9uUmVzdWx0LFxuICAgIH07XG4gIHJldHVybiB7XG4gICAgaXNWYWxpZDogdmFsaWRhdGlvblJlc3VsdCxcbiAgICBlcnJvcjogXCJcIixcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBT3FDLFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENB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
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.ControlledForm = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _Form = require("./Form.types");
|
|
9
9
|
var _Form2 = require("./Form.hook");
|
|
10
10
|
var _FormField = _interopRequireDefault(require("./FormField"));
|
|
11
11
|
var _OneUIProvider = require("../../context/OneUIProvider");
|
|
12
|
-
const _excluded = ["questions", "initialAnswers"]
|
|
12
|
+
const _excluded = ["questions", "initialAnswers"],
|
|
13
|
+
_excluded2 = ["questions", "initialAnswers", "answers"];
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
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); }
|
|
15
16
|
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); }
|
|
@@ -21,6 +22,35 @@ function Form(_ref, ref) {
|
|
|
21
22
|
initialAnswers = {}
|
|
22
23
|
} = _ref,
|
|
23
24
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
25
|
+
const filterOutInitialAnswers = (0, _react.useMemo)(() => {
|
|
26
|
+
const questionIds = questions.map(a => a.id);
|
|
27
|
+
return Object.fromEntries(Object.entries(initialAnswers).filter(_ref2 => {
|
|
28
|
+
let [id] = _ref2;
|
|
29
|
+
return questionIds.includes(id);
|
|
30
|
+
}));
|
|
31
|
+
}, [initialAnswers]);
|
|
32
|
+
const answers = (0, _Form2.useFormAnswers)(filterOutInitialAnswers, props.mode);
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(ControlledForm, _extends({
|
|
34
|
+
ref: ref,
|
|
35
|
+
questions: questions,
|
|
36
|
+
initialAnswers: initialAnswers,
|
|
37
|
+
answers: answers
|
|
38
|
+
}, props));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A new and improved version of the one-ui design form
|
|
43
|
+
*
|
|
44
|
+
* Custom question types can be defined via @type {OnepercentUtility['UIElements']['FormExtension']['fields']}
|
|
45
|
+
**/
|
|
46
|
+
var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(Form);
|
|
47
|
+
function ControlledFormComp(_ref3, ref) {
|
|
48
|
+
let {
|
|
49
|
+
questions,
|
|
50
|
+
initialAnswers = {},
|
|
51
|
+
answers: answersControl
|
|
52
|
+
} = _ref3,
|
|
53
|
+
props = _objectWithoutProperties(_ref3, _excluded2);
|
|
24
54
|
const {
|
|
25
55
|
mode = _Form.FormMode.WRITE
|
|
26
56
|
} = props;
|
|
@@ -32,13 +62,16 @@ function Form(_ref, ref) {
|
|
|
32
62
|
onAnswerAction,
|
|
33
63
|
isQuestionsAnswered,
|
|
34
64
|
isFilesUploaded
|
|
35
|
-
} = (0, _Form2.
|
|
36
|
-
const errors = (0, _Form2.useFieldErrors)(questions, answers, showAllErrors);
|
|
65
|
+
} = (0, _Form2.useFormState)(questions, answersControl);
|
|
66
|
+
const errors = (0, _Form2.useFieldErrors)(questions, answersControl.answers, showAllErrors);
|
|
67
|
+
const answersArray = (0, _react.useMemo)(() => {
|
|
68
|
+
return questions.map(q => answersControl.answers[q.id]);
|
|
69
|
+
}, [questions.map(a => a.id), answersControl.answers]);
|
|
37
70
|
(0, _react.useEffect)(() => {
|
|
38
71
|
if (props.mode !== _Form.FormMode.READ_ONLY) {
|
|
39
72
|
props.onFormUpdate(answers, isQuestionsAnswered && isFilesUploaded);
|
|
40
73
|
}
|
|
41
|
-
}, [
|
|
74
|
+
}, [...answersArray, isQuestionsAnswered, isFilesUploaded]);
|
|
42
75
|
(0, _react.useImperativeHandle)(ref, () => ({
|
|
43
76
|
setAnswer(id, val) {
|
|
44
77
|
onAnswerAction(questions.find(q => q.id === id).type, id, val);
|
|
@@ -48,35 +81,29 @@ function Form(_ref, ref) {
|
|
|
48
81
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, questions.map(q => {
|
|
49
82
|
const targetMode = q.readOnly ? _Form.FormMode.READ_ONLY : mode;
|
|
50
83
|
const classOrComponentWrapper = wrapperClasses["".concat(_Form.FormMode[targetMode], "-").concat(q.type)];
|
|
51
|
-
const WrapperComp = (0, _react.useMemo)(() => typeof classOrComponentWrapper === "function" ? classOrComponentWrapper :
|
|
84
|
+
const WrapperComp = (0, _react.useMemo)(() => typeof classOrComponentWrapper === "function" ? classOrComponentWrapper : _ref4 => {
|
|
52
85
|
let {
|
|
53
86
|
children
|
|
54
|
-
} =
|
|
87
|
+
} = _ref4;
|
|
55
88
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
56
89
|
key: q.id,
|
|
57
90
|
className: "".concat(classOrComponentWrapper || "")
|
|
58
91
|
}, children);
|
|
59
92
|
}, [classOrComponentWrapper]);
|
|
60
93
|
return /*#__PURE__*/_react.default.createElement(WrapperComp, _extends({}, q, {
|
|
61
|
-
value: answers[q.id]
|
|
94
|
+
value: answersControl.answers[q.id]
|
|
62
95
|
}), targetMode === _Form.FormMode.WRITE ? /*#__PURE__*/_react.default.createElement(_FormField.default, {
|
|
63
96
|
config: q,
|
|
64
97
|
onAnswer: onAnswerAction,
|
|
65
|
-
value: answers[q.id],
|
|
98
|
+
value: answersControl.answers[q.id],
|
|
66
99
|
error: errors[q.id],
|
|
67
100
|
mode: targetMode
|
|
68
101
|
}) : /*#__PURE__*/_react.default.createElement(_FormField.default, {
|
|
69
102
|
config: q,
|
|
70
|
-
value: answers[q.id],
|
|
103
|
+
value: answersControl.answers[q.id],
|
|
71
104
|
mode: _Form.FormMode.READ_ONLY
|
|
72
105
|
}));
|
|
73
106
|
}));
|
|
74
107
|
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* A new and improved version of the one-ui design form
|
|
78
|
-
*
|
|
79
|
-
* Custom question types can be defined via @type {OnepercentUtility['UIElements']['FormExtension']['fields']}
|
|
80
|
-
**/
|
|
81
|
-
var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(Form);
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRm9ybSIsIl9Gb3JtMiIsIl9Gb3JtRmllbGQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09uZVVJUHJvdmlkZXIiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiRm9ybSIsIl9yZWYiLCJyZWYiLCJxdWVzdGlvbnMiLCJpbml0aWFsQW5zd2VycyIsInByb3BzIiwibW9kZSIsIkZvcm1Nb2RlIiwiV1JJVEUiLCJzaG93QWxsRXJyb3JzIiwiYW5zd2VycyIsIm9uQW5zd2VyQWN0aW9uIiwiaXNRdWVzdGlvbnNBbnN3ZXJlZCIsImlzRmlsZXNVcGxvYWRlZCIsInVzZUZvcm0iLCJlcnJvcnMiLCJ1c2VGaWVsZEVycm9ycyIsInVzZUVmZmVjdCIsIlJFQURfT05MWSIsIm9uRm9ybVVwZGF0ZSIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJzZXRBbnN3ZXIiLCJpZCIsInZhbCIsImZpbmQiLCJxIiwidHlwZSIsIndyYXBwZXJDbGFzc2VzIiwidXNlT25lVUlDb25maWciLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJtYXAiLCJ0YXJnZXRNb2RlIiwicmVhZE9ubHkiLCJjbGFzc09yQ29tcG9uZW50V3JhcHBlciIsImNvbmNhdCIsIldyYXBwZXJDb21wIiwidXNlTWVtbyIsIl9yZWYyIiwiY2hpbGRyZW4iLCJrZXkiLCJjbGFzc05hbWUiLCJ2YWx1ZSIsImNvbmZpZyIsIm9uQW5zd2VyIiwiZXJyb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJmb3J3YXJkUmVmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEZvcm1Nb2RlLCBGb3JtVmlld1Byb3BzIH0gZnJvbSBcIi4vRm9ybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmllbGRFcnJvcnMsIHVzZUZvcm0gfSBmcm9tIFwiLi9Gb3JtLmhvb2tcIjtcbmltcG9ydCBGb3JtRmllbGQgZnJvbSBcIi4vRm9ybUZpZWxkXCI7XG5pbXBvcnQgeyBBbnN3ZXJCeUZpZWxkLCBGb3JtRmllbGRWaWV3IH0gZnJvbSBcIi4vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5cbmV4cG9ydCB0eXBlIEZvcm1SZWY8USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4gPSB7XG4gIHNldEFuc3dlcjxJIGV4dGVuZHMgUVtudW1iZXJdW1wiaWRcIl0+KFxuICAgIHF1ZXN0aW9uSWQ6IEksXG4gICAgYW5zOiBBbnN3ZXJCeUZpZWxkPFFbbnVtYmVyXSAmIHsgaWQ6IEkgfT5cbiAgKTogdm9pZDtcbn07XG5cbmZ1bmN0aW9uIEZvcm08USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIHsgcXVlc3Rpb25zLCBpbml0aWFsQW5zd2VycyA9IHt9LCAuLi5wcm9wcyB9OiBGb3JtVmlld1Byb3BzPFE+LFxuICByZWY6IEZvcndhcmRlZFJlZjxGb3JtUmVmPFE+PlxuKSB7XG4gIGNvbnN0IHsgbW9kZSA9IEZvcm1Nb2RlLldSSVRFIH0gPSBwcm9wcztcbiAgY29uc3QgeyBzaG93QWxsRXJyb3JzID0gZmFsc2UgfSA9IHByb3BzIGFzIEZvcm1WaWV3UHJvcHM8UT4gJiB7XG4gICAgbW9kZTogRm9ybU1vZGUuV1JJVEU7XG4gIH07XG4gIGNvbnN0IHsgYW5zd2Vycywgb25BbnN3ZXJBY3Rpb24sIGlzUXVlc3Rpb25zQW5zd2VyZWQsIGlzRmlsZXNVcGxvYWRlZCB9ID1cbiAgICB1c2VGb3JtKHF1ZXN0aW9ucywgaW5pdGlhbEFuc3dlcnMsIG1vZGUpO1xuICBjb25zdCBlcnJvcnMgPSB1c2VGaWVsZEVycm9ycyhxdWVzdGlvbnMsIGFuc3dlcnMsIHNob3dBbGxFcnJvcnMpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb3BzLm1vZGUgIT09IEZvcm1Nb2RlLlJFQURfT05MWSkge1xuICAgICAgcHJvcHMub25Gb3JtVXBkYXRlKFxuICAgICAgICBhbnN3ZXJzIGFzIGFueSxcbiAgICAgICAgaXNRdWVzdGlvbnNBbnN3ZXJlZCAmJiBpc0ZpbGVzVXBsb2FkZWRcbiAgICAgICk7XG4gICAgfVxuICB9LCBbYW5zd2VycywgaXNRdWVzdGlvbnNBbnN3ZXJlZCwgaXNGaWxlc1VwbG9hZGVkXSk7XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICByZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIHNldEFuc3dlcihpZCwgdmFsKSB7XG4gICAgICAgIG9uQW5zd2VyQWN0aW9uKFxuICAgICAgICAgIHF1ZXN0aW9ucy5maW5kKChxKSA9PiBxLmlkID09PSBpZCkhLnR5cGUsXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdmFsIGFzIGFueVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJDbGFzc2VzID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybS5maWVsZFdyYXBwZXJcIiwge30pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtxdWVzdGlvbnMubWFwKChxKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldE1vZGUgPSBxLnJlYWRPbmx5ID8gRm9ybU1vZGUuUkVBRF9PTkxZIDogbW9kZTtcbiAgICAgICAgY29uc3QgY2xhc3NPckNvbXBvbmVudFdyYXBwZXIgPVxuICAgICAgICAgIHdyYXBwZXJDbGFzc2VzW1xuICAgICAgICAgICAgYCR7Rm9ybU1vZGVbdGFyZ2V0TW9kZV0gYXMga2V5b2YgdHlwZW9mIEZvcm1Nb2RlfS0ke3EudHlwZX1gXG4gICAgICAgICAgXTtcbiAgICAgICAgY29uc3QgV3JhcHBlckNvbXAgPSB1c2VNZW1vKFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICB0eXBlb2YgY2xhc3NPckNvbXBvbmVudFdyYXBwZXIgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgICA/IGNsYXNzT3JDb21wb25lbnRXcmFwcGVyXG4gICAgICAgICAgICAgIDogKHsgY2hpbGRyZW4gfTogUHJvcHNXaXRoQ2hpbGRyZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3EuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc09yQ29tcG9uZW50V3JhcHBlciB8fCBcIlwifWB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgIFtjbGFzc09yQ29tcG9uZW50V3JhcHBlcl1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8V3JhcHBlckNvbXAgey4uLnF9IHZhbHVlPXthbnN3ZXJzW3EuaWQgYXMga2V5b2YgdHlwZW9mIGFuc3dlcnNdfT5cbiAgICAgICAgICAgIHt0YXJnZXRNb2RlID09PSBGb3JtTW9kZS5XUklURSA/IChcbiAgICAgICAgICAgICAgPEZvcm1GaWVsZFxuICAgICAgICAgICAgICAgIGNvbmZpZz17cX1cbiAgICAgICAgICAgICAgICBvbkFuc3dlcj17b25BbnN3ZXJBY3Rpb259XG4gICAgICAgICAgICAgICAgdmFsdWU9e2Fuc3dlcnNbcS5pZCBhcyBrZXlvZiB0eXBlb2YgYW5zd2Vyc119XG4gICAgICAgICAgICAgICAgZXJyb3I9eyhlcnJvcnMgYXMgYW55KVtxLmlkXX1cbiAgICAgICAgICAgICAgICBtb2RlPXt0YXJnZXRNb2RlfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdPy4ocS5pZCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8Rm9ybUZpZWxkXG4gICAgICAgICAgICAgICAgY29uZmlnPXtxfVxuICAgICAgICAgICAgICAgIHZhbHVlPXthbnN3ZXJzW3EuaWQgYXMga2V5b2YgdHlwZW9mIGFuc3dlcnNdfVxuICAgICAgICAgICAgICAgIG1vZGU9e0Zvcm1Nb2RlLlJFQURfT05MWX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXT8uKHEuaWQpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1dyYXBwZXJDb21wPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59XG5cbi8qKlxuICogQSBuZXcgYW5kIGltcHJvdmVkIHZlcnNpb24gb2YgdGhlIG9uZS11aSBkZXNpZ24gZm9ybVxuICpcbiAqIEN1c3RvbSBxdWVzdGlvbiB0eXBlcyBjYW4gYmUgZGVmaW5lZCB2aWEgQHR5cGUge09uZXBlcmNlbnRVdGlsaXR5WydVSUVsZW1lbnRzJ11bJ0Zvcm1FeHRlbnNpb24nXVsnZmllbGRzJ119XG4gKiovXG5leHBvcnQgZGVmYXVsdCBmb3J3YXJkUmVmKEZvcm0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFRQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBSyxjQUFBLEdBQUFMLE9BQUE7QUFBNkQsTUFBQU0sU0FBQTtBQUFBLFNBQUFGLHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQVIsd0JBQUFRLENBQUEsRUFBQUcsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFaLHVCQUFBLFlBQUFBLENBQUFRLENBQUEsRUFBQUcsQ0FBQSxTQUFBQSxDQUFBLElBQUFILENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLFNBQUFELENBQUEsTUFBQU8sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBUixPQUFBLEVBQUFGLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVMsQ0FBQSxNQUFBRixDQUFBLEdBQUFKLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFFLENBQUEsQ0FBQUksR0FBQSxDQUFBWCxDQUFBLFVBQUFPLENBQUEsQ0FBQUssR0FBQSxDQUFBWixDQUFBLEdBQUFPLENBQUEsQ0FBQU0sR0FBQSxDQUFBYixDQUFBLEVBQUFTLENBQUEsZ0JBQUFOLENBQUEsSUFB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
|
|
108
|
+
const ControlledForm = exports.ControlledForm = /*#__PURE__*/(0, _react.forwardRef)(ControlledFormComp);
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRm9ybSIsIl9Gb3JtMiIsIl9Gb3JtRmllbGQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09uZVVJUHJvdmlkZXIiLCJfZXhjbHVkZWQiLCJfZXhjbHVkZWQyIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImdldE93blByb3BlcnR5U3ltYm9scyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIkZvcm0iLCJfcmVmIiwicmVmIiwicXVlc3Rpb25zIiwiaW5pdGlhbEFuc3dlcnMiLCJwcm9wcyIsImZpbHRlck91dEluaXRpYWxBbnN3ZXJzIiwidXNlTWVtbyIsInF1ZXN0aW9uSWRzIiwibWFwIiwiYSIsImlkIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiZmlsdGVyIiwiX3JlZjIiLCJpbmNsdWRlcyIsImFuc3dlcnMiLCJ1c2VGb3JtQW5zd2VycyIsIm1vZGUiLCJjcmVhdGVFbGVtZW50IiwiQ29udHJvbGxlZEZvcm0iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJmb3J3YXJkUmVmIiwiQ29udHJvbGxlZEZvcm1Db21wIiwiX3JlZjMiLCJhbnN3ZXJzQ29udHJvbCIsIkZvcm1Nb2RlIiwiV1JJVEUiLCJzaG93QWxsRXJyb3JzIiwib25BbnN3ZXJBY3Rpb24iLCJpc1F1ZXN0aW9uc0Fuc3dlcmVkIiwiaXNGaWxlc1VwbG9hZGVkIiwidXNlRm9ybVN0YXRlIiwiZXJyb3JzIiwidXNlRmllbGRFcnJvcnMiLCJhbnN3ZXJzQXJyYXkiLCJxIiwidXNlRWZmZWN0IiwiUkVBRF9PTkxZIiwib25Gb3JtVXBkYXRlIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInNldEFuc3dlciIsInZhbCIsImZpbmQiLCJ0eXBlIiwid3JhcHBlckNsYXNzZXMiLCJ1c2VPbmVVSUNvbmZpZyIsIkZyYWdtZW50IiwidGFyZ2V0TW9kZSIsInJlYWRPbmx5IiwiY2xhc3NPckNvbXBvbmVudFdyYXBwZXIiLCJjb25jYXQiLCJXcmFwcGVyQ29tcCIsIl9yZWY0IiwiY2hpbGRyZW4iLCJrZXkiLCJjbGFzc05hbWUiLCJ2YWx1ZSIsImNvbmZpZyIsIm9uQW5zd2VyIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Gb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQW5zd2Vyc01hcCwgRm9ybU1vZGUsIEZvcm1WaWV3UHJvcHMgfSBmcm9tIFwiLi9Gb3JtLnR5cGVzXCI7XG5pbXBvcnQge1xuICB1c2VGaWVsZEVycm9ycyxcbiAgdXNlRm9ybSxcbiAgdXNlRm9ybUFuc3dlcnMsXG4gIHVzZUZvcm1TdGF0ZSxcbn0gZnJvbSBcIi4vRm9ybS5ob29rXCI7XG5pbXBvcnQgRm9ybUZpZWxkIGZyb20gXCIuL0Zvcm1GaWVsZFwiO1xuaW1wb3J0IHsgQW5zd2VyQnlGaWVsZCwgRm9ybUZpZWxkVmlldyB9IGZyb20gXCIuL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuXG5leHBvcnQgdHlwZSBGb3JtUmVmPFEgZXh0ZW5kcyBGb3JtRmllbGRWaWV3W10+ID0ge1xuICBzZXRBbnN3ZXI8SSBleHRlbmRzIFFbbnVtYmVyXVtcImlkXCJdPihcbiAgICBxdWVzdGlvbklkOiBJLFxuICAgIGFuczogQW5zd2VyQnlGaWVsZDxRW251bWJlcl0gJiB7IGlkOiBJIH0+XG4gICk6IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBGb3JtPFEgZXh0ZW5kcyBGb3JtRmllbGRWaWV3W10+KFxuICB7IHF1ZXN0aW9ucywgaW5pdGlhbEFuc3dlcnMgPSB7fSwgLi4ucHJvcHMgfTogRm9ybVZpZXdQcm9wczxRPixcbiAgcmVmOiBGb3J3YXJkZWRSZWY8Rm9ybVJlZjxRPj5cbikge1xuICBjb25zdCBmaWx0ZXJPdXRJbml0aWFsQW5zd2VycyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHF1ZXN0aW9uSWRzID0gcXVlc3Rpb25zLm1hcCgoYSkgPT4gYS5pZCk7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGluaXRpYWxBbnN3ZXJzKS5maWx0ZXIoKFtpZF0pID0+IHF1ZXN0aW9uSWRzLmluY2x1ZGVzKGlkKSlcbiAgICApO1xuICB9LCBbaW5pdGlhbEFuc3dlcnNdKTtcbiAgY29uc3QgYW5zd2VycyA9IHVzZUZvcm1BbnN3ZXJzKGZpbHRlck91dEluaXRpYWxBbnN3ZXJzLCBwcm9wcy5tb2RlISk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udHJvbGxlZEZvcm1cbiAgICAgIHJlZj17cmVmfVxuICAgICAgcXVlc3Rpb25zPXtxdWVzdGlvbnN9XG4gICAgICBpbml0aWFsQW5zd2Vycz17aW5pdGlhbEFuc3dlcnN9XG4gICAgICBhbnN3ZXJzPXthbnN3ZXJzfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gICk7XG59XG5cbi8qKlxuICogQSBuZXcgYW5kIGltcHJvdmVkIHZlcnNpb24gb2YgdGhlIG9uZS11aSBkZXNpZ24gZm9ybVxuICpcbiAqIEN1c3RvbSBxdWVzdGlvbiB0eXBlcyBjYW4gYmUgZGVmaW5lZCB2aWEgQHR5cGUge09uZXBlcmNlbnRVdGlsaXR5WydVSUVsZW1lbnRzJ11bJ0Zvcm1FeHRlbnNpb24nXVsnZmllbGRzJ119XG4gKiovXG5leHBvcnQgZGVmYXVsdCBmb3J3YXJkUmVmKEZvcm0pO1xuXG5mdW5jdGlvbiBDb250cm9sbGVkRm9ybUNvbXA8USBleHRlbmRzIEZvcm1GaWVsZFZpZXdbXT4oXG4gIHtcbiAgICBxdWVzdGlvbnMsXG4gICAgaW5pdGlhbEFuc3dlcnMgPSB7fSxcbiAgICBhbnN3ZXJzOiBhbnN3ZXJzQ29udHJvbCxcbiAgICAuLi5wcm9wc1xuICB9OiBGb3JtVmlld1Byb3BzPFE+ICYge1xuICAgIGFuc3dlcnM6IFJldHVyblR5cGU8dHlwZW9mIHVzZUZvcm1BbnN3ZXJzPEFuc3dlcnNNYXA8UT4+PjtcbiAgfSxcbiAgcmVmOiBGb3J3YXJkZWRSZWY8Rm9ybVJlZjxRPj5cbikge1xuICBjb25zdCB7IG1vZGUgPSBGb3JtTW9kZS5XUklURSB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgc2hvd0FsbEVycm9ycyA9IGZhbHNlIH0gPSBwcm9wcyBhcyB1bmtub3duIGFzIEZvcm1WaWV3UHJvcHM8UT4gJiB7XG4gICAgbW9kZTogRm9ybU1vZGUuV1JJVEU7XG4gIH07XG4gIGNvbnN0IHsgYW5zd2Vycywgb25BbnN3ZXJBY3Rpb24sIGlzUXVlc3Rpb25zQW5zd2VyZWQsIGlzRmlsZXNVcGxvYWRlZCB9ID1cbiAgICB1c2VGb3JtU3RhdGUocXVlc3Rpb25zLCBhbnN3ZXJzQ29udHJvbCBhcyBhbnkpO1xuICBjb25zdCBlcnJvcnMgPSB1c2VGaWVsZEVycm9ycyhcbiAgICBxdWVzdGlvbnMsXG4gICAgYW5zd2Vyc0NvbnRyb2wuYW5zd2VycyxcbiAgICBzaG93QWxsRXJyb3JzXG4gICk7XG5cbiAgY29uc3QgYW5zd2Vyc0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXN0aW9ucy5tYXAoXG4gICAgICAocSkgPT4gYW5zd2Vyc0NvbnRyb2wuYW5zd2Vyc1txLmlkIGFzIGtleW9mIHR5cGVvZiBhbnN3ZXJzQ29udHJvbC5hbnN3ZXJzXVxuICAgICk7XG4gIH0sIFtxdWVzdGlvbnMubWFwKChhKSA9PiBhLmlkKSwgYW5zd2Vyc0NvbnRyb2wuYW5zd2Vyc10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb3BzLm1vZGUgIT09IEZvcm1Nb2RlLlJFQURfT05MWSkge1xuICAgICAgcHJvcHMub25Gb3JtVXBkYXRlKFxuICAgICAgICBhbnN3ZXJzIGFzIGFueSxcbiAgICAgICAgaXNRdWVzdGlvbnNBbnN3ZXJlZCAmJiBpc0ZpbGVzVXBsb2FkZWRcbiAgICAgICk7XG4gICAgfVxuICB9LCBbLi4uYW5zd2Vyc0FycmF5LCBpc1F1ZXN0aW9uc0Fuc3dlcmVkLCBpc0ZpbGVzVXBsb2FkZWRdKTtcblxuICB1c2VJbXBlcmF0aXZlSGFuZGxlKFxuICAgIHJlZixcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0QW5zd2VyKGlkLCB2YWwpIHtcbiAgICAgICAgb25BbnN3ZXJBY3Rpb24oXG4gICAgICAgICAgcXVlc3Rpb25zLmZpbmQoKHEpID0+IHEuaWQgPT09IGlkKSEudHlwZSxcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB2YWwgYXMgYW55XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlckNsYXNzZXMgPSB1c2VPbmVVSUNvbmZpZyhcImNvbXBvbmVudC5mb3JtLmZpZWxkV3JhcHBlclwiLCB7fSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3F1ZXN0aW9ucy5tYXAoKHEpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0TW9kZSA9IHEucmVhZE9ubHkgPyBGb3JtTW9kZS5SRUFEX09OTFkgOiBtb2RlO1xuICAgICAgICBjb25zdCBjbGFzc09yQ29tcG9uZW50V3JhcHBlciA9XG4gICAgICAgICAgd3JhcHBlckNsYXNzZXNbXG4gICAgICAgICAgICBgJHtGb3JtTW9kZVt0YXJnZXRNb2RlXSBhcyBrZXlvZiB0eXBlb2YgRm9ybU1vZGV9LSR7cS50eXBlfWBcbiAgICAgICAgICBdO1xuICAgICAgICBjb25zdCBXcmFwcGVyQ29tcCA9IHVzZU1lbW8oXG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHR5cGVvZiBjbGFzc09yQ29tcG9uZW50V3JhcHBlciA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICAgID8gY2xhc3NPckNvbXBvbmVudFdyYXBwZXJcbiAgICAgICAgICAgICAgOiAoeyBjaGlsZHJlbiB9OiBQcm9wc1dpdGhDaGlsZHJlbikgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgIGtleT17cS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2NsYXNzT3JDb21wb25lbnRXcmFwcGVyIHx8IFwiXCJ9YH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgW2NsYXNzT3JDb21wb25lbnRXcmFwcGVyXVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxXcmFwcGVyQ29tcFxuICAgICAgICAgICAgey4uLnF9XG4gICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgIGFuc3dlcnNDb250cm9sLmFuc3dlcnNbXG4gICAgICAgICAgICAgICAgcS5pZCBhcyBrZXlvZiB0eXBlb2YgYW5zd2Vyc0NvbnRyb2wuYW5zd2Vyc1xuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RhcmdldE1vZGUgPT09IEZvcm1Nb2RlLldSSVRFID8gKFxuICAgICAgICAgICAgICA8Rm9ybUZpZWxkXG4gICAgICAgICAgICAgICAgY29uZmlnPXtxfVxuICAgICAgICAgICAgICAgIG9uQW5zd2VyPXtvbkFuc3dlckFjdGlvbn1cbiAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICBhbnN3ZXJzQ29udHJvbC5hbnN3ZXJzW1xuICAgICAgICAgICAgICAgICAgICBxLmlkIGFzIGtleW9mIHR5cGVvZiBhbnN3ZXJzQ29udHJvbC5hbnN3ZXJzXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVycm9yPXsoZXJyb3JzIGFzIGFueSlbcS5pZF19XG4gICAgICAgICAgICAgICAgbW9kZT17dGFyZ2V0TW9kZX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXT8uKHEuaWQpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEZvcm1GaWVsZFxuICAgICAgICAgICAgICAgIGNvbmZpZz17cX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgICBhbnN3ZXJzQ29udHJvbC5hbnN3ZXJzW1xuICAgICAgICAgICAgICAgICAgICBxLmlkIGFzIGtleW9mIHR5cGVvZiBhbnN3ZXJzQ29udHJvbC5hbnN3ZXJzXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1vZGU9e0Zvcm1Nb2RlLlJFQURfT05MWX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXT8uKHEuaWQpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1dyYXBwZXJDb21wPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCBDb250cm9sbGVkRm9ybSA9IGZvcndhcmRSZWYoQ29udHJvbGxlZEZvcm1Db21wKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBUUEsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQTZELE1BQUFNLFNBQUE7RUFBQUMsVUFBQTtBQUFBLFNBQUFILHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQVQsd0JBQUFTLENBQUEsRUFBQUcsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFiLHVCQUFBLFlBQUFBLENBQUFTLENBQUEsRUFBQUcsQ0FBQSxTQUFBQSxDQUFBLElBQUFILENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLFNBQUFELENBQUEsTUFBQU8sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBUixPQUFBLEVBQUFGLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVMsQ0FBQSxNQUFBRixDQUFBLEdBQUFKLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFFLENBQUEsQ0FBQUksR0FBQSxDQUFBWCxDQUFBLFVBQUFPLENBQUEsQ0FBQUssR0FBQSxDQUFBWixDQUFBLEdBQUFPLENBQUEsQ0FBQU0sR0FBQSxDQUFBYixDQUFBLEVBQUFTLENBQUEsZ0JBQUFOLENBQUEsSUFBQUgsQ0FBQSxnQkFBQUcsQ0FBQSxPQUFBVyxjQUFBLENBQUFDLElB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
|
|
@@ -4,8 +4,8 @@ import Input from "../../../../Input";
|
|
|
4
4
|
/**
|
|
5
5
|
* Allows inputing a date
|
|
6
6
|
**/
|
|
7
|
-
export default function dateFieldFactory(dateFormat: string): ({ onAnswer, question, value, error, ...input }: GenericFormFieldProps<"date"> & Pick<ComponentProps<typeof Input>, "data-testid">) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare const dateFieldValidatorFactory: (invalidDateLabel: string, requiredFieldLabel: string) => (answer: AnswerByField<{
|
|
7
|
+
export default function dateFieldFactory(dateFormat: string): ({ onAnswer, question, value, error, ...input }: GenericFormFieldProps<"date"> & Pick<ComponentProps<typeof Input>, "data-testid" | "placeholder">) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const dateFieldValidatorFactory: (invalidDateLabel: string, requiredFieldLabel: string, format: string) => (answer: AnswerByField<{
|
|
9
9
|
type: "date";
|
|
10
10
|
}>) => {
|
|
11
11
|
isValid: any;
|
|
@@ -20,6 +20,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
20
20
|
**/
|
|
21
21
|
function dateFieldFactory(dateFormat) {
|
|
22
22
|
return function DateField(_ref) {
|
|
23
|
+
var _input$placeholder;
|
|
23
24
|
let {
|
|
24
25
|
onAnswer,
|
|
25
26
|
question,
|
|
@@ -44,22 +45,25 @@ function dateFieldFactory(dateFormat) {
|
|
|
44
45
|
onAnswer("date", question.id, value);
|
|
45
46
|
}
|
|
46
47
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
47
|
-
placeholder: question.title,
|
|
48
|
+
placeholder: (_input$placeholder = input.placeholder) !== null && _input$placeholder !== void 0 ? _input$placeholder : question.title,
|
|
48
49
|
error: error
|
|
49
50
|
})));
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
|
-
const parseDate = formattedDate => {
|
|
53
|
+
const parseDate = (formattedDate, format) => {
|
|
54
|
+
const howManyParts = format.split("/");
|
|
53
55
|
const providedDate = formattedDate;
|
|
54
|
-
const dateParts = providedDate.split("/").map(Number);
|
|
55
|
-
if (dateParts.length <
|
|
56
|
-
const [
|
|
56
|
+
const dateParts = providedDate.split("/").map(Number).reverse();
|
|
57
|
+
if (dateParts.length < howManyParts.length) return false;
|
|
58
|
+
const [year, month, day = 1] = dateParts;
|
|
59
|
+
if (month > 12) return false;
|
|
60
|
+
if (day > 31) return false;
|
|
57
61
|
const parsedDate = new Date(year, month - 1, day);
|
|
58
62
|
return parsedDate;
|
|
59
63
|
};
|
|
60
|
-
const dateFieldValidatorFactory = (invalidDateLabel, requiredFieldLabel) => answer => {
|
|
64
|
+
const dateFieldValidatorFactory = (invalidDateLabel, requiredFieldLabel, format) => answer => {
|
|
61
65
|
const providedDate = answer || "";
|
|
62
|
-
const parsedDate = parseDate(providedDate);
|
|
66
|
+
const parsedDate = parseDate(providedDate, format);
|
|
63
67
|
if (!parsedDate) return {
|
|
64
68
|
isValid: false,
|
|
65
69
|
error: invalidDateLabel
|
|
@@ -68,4 +72,4 @@ const dateFieldValidatorFactory = (invalidDateLabel, requiredFieldLabel) => answ
|
|
|
68
72
|
return dateValidation;
|
|
69
73
|
};
|
|
70
74
|
exports.dateFieldValidatorFactory = dateFieldValidatorFactory;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdElucHV0TWFzayIsIl9UZXh0IiwiX09uZVVJUHJvdmlkZXIiLCJfSW5wdXQiLCJfRm9ybSIsIl9leGNsdWRlZCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsInQiLCJvIiwiciIsImkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm4iLCJsZW5ndGgiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjYWxsIiwiaGFzT3duUHJvcGVydHkiLCJkYXRlRmllbGRGYWN0b3J5IiwiZGF0ZUZvcm1hdCIsIkRhdGVGaWVsZCIsIl9yZWYiLCJfaW5wdXQkcGxhY2Vob2xkZXIiLCJvbkFuc3dlciIsInF1ZXN0aW9uIiwidmFsdWUiLCJlcnJvciIsImlucHV0IiwidGl0bGVWYXJpYW50IiwidXNlT25lVUlDb25maWciLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJ0eXBlIiwidGl0bGUiLCJtYXNrIiwib25DaGFuZ2UiLCJfcmVmMiIsInRhcmdldCIsImlkIiwicGxhY2Vob2xkZXIiLCJwYXJzZURhdGUiLCJmb3JtYXR0ZWREYXRlIiwiZm9ybWF0IiwiaG93TWFueVBhcnRzIiwic3BsaXQiLCJwcm92aWRlZERhdGUiLCJkYXRlUGFydHMiLCJtYXAiLCJOdW1iZXIiLCJyZXZlcnNlIiwieWVhciIsIm1vbnRoIiwiZGF5IiwicGFyc2VkRGF0ZSIsIkRhdGUiLCJkYXRlRmllbGRWYWxpZGF0b3JGYWN0b3J5IiwiaW52YWxpZERhdGVMYWJlbCIsInJlcXVpcmVkRmllbGRMYWJlbCIsImFuc3dlciIsImlzVmFsaWQiLCJkYXRlVmFsaWRhdGlvbiIsImlzVmFsaWRhdGVkIiwidW5kZWZpbmVkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm0vRm9ybUZpZWxkL0V4dGVuc2lvbnMvRGF0ZUZpZWxkL0RhdGVGaWVsZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBJbnB1dE1hc2sgZnJvbSBcIkBtb25hLWhlYWx0aC9yZWFjdC1pbnB1dC1tYXNrXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vLi4vLi4vVGV4dFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5pbXBvcnQgeyBBbnN3ZXJCeUZpZWxkLCBHZW5lcmljRm9ybUZpZWxkUHJvcHMgfSBmcm9tIFwiLi4vLi4vRm9ybUZpZWxkLnR5cGVzXCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uLy4uLy4uL0lucHV0XCI7XG5pbXBvcnQgeyBpc1ZhbGlkYXRlZCB9IGZyb20gXCIuLi8uLi8uLi9Gb3JtLmhvb2tcIjtcblxuLyoqXG4gKiBBbGxvd3MgaW5wdXRpbmcgYSBkYXRlXG4gKiovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkYXRlRmllbGRGYWN0b3J5KGRhdGVGb3JtYXQ6IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24gRGF0ZUZpZWxkKHtcbiAgICBvbkFuc3dlcixcbiAgICBxdWVzdGlvbixcbiAgICB2YWx1ZSxcbiAgICBlcnJvcixcbiAgICAuLi5pbnB1dFxuICB9OiBHZW5lcmljRm9ybUZpZWxkUHJvcHM8XCJkYXRlXCI+ICZcbiAgICBQaWNrPENvbXBvbmVudFByb3BzPHR5cGVvZiBJbnB1dD4sIFwiZGF0YS10ZXN0aWRcIiB8IFwicGxhY2Vob2xkZXJcIj4pIHtcbiAgICBjb25zdCB7IHRpdGxlVmFyaWFudCB9ID0gdXNlT25lVUlDb25maWcoXCJjb21wb25lbnQuZm9ybVwiKTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFRleHQgdHlwZT17dGl0bGVWYXJpYW50fT57cXVlc3Rpb24udGl0bGV9PC9UZXh0PlxuICAgICAgICA8SW5wdXRNYXNrXG4gICAgICAgICAgbWFzaz17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgb25DaGFuZ2U9eyh7IHRhcmdldDogeyB2YWx1ZSB9IH06IGFueSkgPT4ge1xuICAgICAgICAgICAgb25BbnN3ZXIoXCJkYXRlXCIsIHF1ZXN0aW9uLmlkLCB2YWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbnB1dC5wbGFjZWhvbGRlciA/PyBxdWVzdGlvbi50aXRsZX1cbiAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtpbnB1dFtcImRhdGEtdGVzdGlkXCJdfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSW5wdXRNYXNrPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbn1cblxuY29uc3QgcGFyc2VEYXRlID0gKGZvcm1hdHRlZERhdGU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaG93TWFueVBhcnRzID0gZm9ybWF0LnNwbGl0KFwiL1wiKTtcbiAgY29uc3QgcHJvdmlkZWREYXRlID0gZm9ybWF0dGVkRGF0ZTtcbiAgY29uc3QgZGF0ZVBhcnRzID0gcHJvdmlkZWREYXRlLnNwbGl0KFwiL1wiKS5tYXAoTnVtYmVyKS5yZXZlcnNlKCk7XG4gIGlmIChkYXRlUGFydHMubGVuZ3RoIDwgaG93TWFueVBhcnRzLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBbeWVhciwgbW9udGgsIGRheSA9IDFdID0gZGF0ZVBhcnRzO1xuICBpZiAobW9udGggPiAxMikgcmV0dXJuIGZhbHNlO1xuICBpZiAoZGF5ID4gMzEpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcblxuICByZXR1cm4gcGFyc2VkRGF0ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYXRlRmllbGRWYWxpZGF0b3JGYWN0b3J5ID1cbiAgKGludmFsaWREYXRlTGFiZWw6IHN0cmluZywgcmVxdWlyZWRGaWVsZExhYmVsOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSA9PlxuICAoYW5zd2VyOiBBbnN3ZXJCeUZpZWxkPHsgdHlwZTogXCJkYXRlXCIgfT4pID0+IHtcbiAgICBjb25zdCBwcm92aWRlZERhdGUgPSBhbnN3ZXIgfHwgXCJcIjtcbiAgICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2VEYXRlKHByb3ZpZGVkRGF0ZSwgZm9ybWF0KTtcblxuICAgIGlmICghcGFyc2VkRGF0ZSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzVmFsaWQ6IGZhbHNlLFxuICAgICAgICBlcnJvcjogaW52YWxpZERhdGVMYWJlbCxcbiAgICAgIH07XG4gICAgY29uc3QgZGF0ZVZhbGlkYXRpb24gPSBpc1ZhbGlkYXRlZChcbiAgICAgIHByb3ZpZGVkRGF0ZSxcbiAgICAgIGZhbHNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgcmVxdWlyZWRGaWVsZExhYmVsXG4gICAgKTtcbiAgICByZXR1cm4gZGF0ZVZhbGlkYXRpb247XG4gIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFBaUQsTUFBQU0sU0FBQTtBQUFBLFNBQUFQLHVCQUFBUSxD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
|