@kaspernj/api-maker 1.0.2169 → 1.0.2170
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/build/bootstrap/invalid-feedback.d.ts +1 -4
- package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
- package/build/event-connection.d.ts +1 -7
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-model-class.d.ts +1 -6
- package/build/event-model-class.d.ts.map +1 -1
- package/build/utils/checkbox.d.ts +6 -1
- package/build/utils/checkbox.d.ts.map +1 -1
- package/build/utils/checkbox.js +64 -21
- package/package.json +1 -1
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
export default class ApiMakerBootstrapInvalidFeedback extends React.PureComponent<any, any, any> {
|
|
2
|
-
static propTypes:
|
|
3
|
-
errors: any[];
|
|
4
|
-
}>;
|
|
2
|
+
static propTypes: ValidationMap<T>;
|
|
5
3
|
constructor(props: any);
|
|
6
4
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
7
5
|
errorMessages(): any[];
|
|
8
6
|
}
|
|
9
7
|
import React from "react";
|
|
10
|
-
import PropTypes from "prop-types";
|
|
11
8
|
//# sourceMappingURL=invalid-feedback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalid-feedback.d.ts","sourceRoot":"/src/","sources":["bootstrap/invalid-feedback.jsx"],"names":[],"mappings":"AAMA;IACE;;
|
|
1
|
+
{"version":3,"file":"invalid-feedback.d.ts","sourceRoot":"/src/","sources":["bootstrap/invalid-feedback.jsx"],"names":[],"mappings":"AAMA;IACE,mCAEE;;IAEF,kDAMC;IAED,uBAWC;CACF;kBA3BiB,OAAO"}
|
|
@@ -2,12 +2,7 @@ export default class ApiMakerEventConnection extends React.PureComponent<any, an
|
|
|
2
2
|
static defaultProps: {
|
|
3
3
|
active: boolean;
|
|
4
4
|
};
|
|
5
|
-
static propTypes:
|
|
6
|
-
active: boolean;
|
|
7
|
-
model: object;
|
|
8
|
-
event: string;
|
|
9
|
-
onCall: (...args: any[]) => any;
|
|
10
|
-
}>;
|
|
5
|
+
static propTypes: ValidationMap<T>;
|
|
11
6
|
constructor(props: any);
|
|
12
7
|
componentDidMount(): void;
|
|
13
8
|
subscription: import("./cable-subscription.js").default;
|
|
@@ -16,5 +11,4 @@ export default class ApiMakerEventConnection extends React.PureComponent<any, an
|
|
|
16
11
|
onCall(...args: any[]): void;
|
|
17
12
|
}
|
|
18
13
|
import React from "react";
|
|
19
|
-
import PropTypes from "prop-types";
|
|
20
14
|
//# sourceMappingURL=event-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-connection.d.ts","sourceRoot":"/src/","sources":["event-connection.jsx"],"names":[],"mappings":"AAMA;IACE;;MAEC;IAED
|
|
1
|
+
{"version":3,"file":"event-connection.d.ts","sourceRoot":"/src/","sources":["event-connection.jsx"],"names":[],"mappings":"AAMA;IACE;;MAEC;IAED,mCAKE;;IAEF,0BAEC;IADC,wDAA8G;IAGhH,6BAIC;IAED,cAEC;IAED,6BAIC;CACF;kBAlCiB,OAAO"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export default class ApiMakerEventModelClass extends React.PureComponent<any, any, any> {
|
|
2
|
-
static propTypes:
|
|
3
|
-
event: string;
|
|
4
|
-
modelClass: (...args: any[]) => any;
|
|
5
|
-
onCall: (...args: any[]) => any;
|
|
6
|
-
}>;
|
|
2
|
+
static propTypes: ValidationMap<T>;
|
|
7
3
|
constructor(props: any);
|
|
8
4
|
componentDidMount(): void;
|
|
9
5
|
componentWillUnmount(): void;
|
|
@@ -12,5 +8,4 @@ export default class ApiMakerEventModelClass extends React.PureComponent<any, an
|
|
|
12
8
|
render(): any;
|
|
13
9
|
}
|
|
14
10
|
import React from "react";
|
|
15
|
-
import PropTypes from "prop-types";
|
|
16
11
|
//# sourceMappingURL=event-model-class.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-model-class.d.ts","sourceRoot":"/src/","sources":["event-model-class.jsx"],"names":[],"mappings":"AAMA;IACE
|
|
1
|
+
{"version":3,"file":"event-model-class.d.ts","sourceRoot":"/src/","sources":["event-model-class.jsx"],"names":[],"mappings":"AAMA;IACE,mCAIE;;IAEF,0BAEC;IAED,6BAIC;IAED,gBAEC;IADC,sDAA2G;IAG7G,cAEC;CACF;kBA3BiB,OAAO"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
declare const _default: React.NamedExoticComponent<Record<string, any>>;
|
|
2
2
|
export default _default;
|
|
3
3
|
export type Props = {
|
|
4
|
+
attribute?: string;
|
|
4
5
|
checked?: boolean;
|
|
5
6
|
dataSet?: object;
|
|
6
7
|
defaultChecked?: boolean;
|
|
8
|
+
id?: string;
|
|
9
|
+
inputRef?: object;
|
|
7
10
|
label?: string;
|
|
11
|
+
model?: object;
|
|
12
|
+
name?: string;
|
|
8
13
|
onCheckedChange?: Function;
|
|
9
14
|
style?: object;
|
|
10
15
|
testID?: string;
|
|
11
16
|
};
|
|
12
17
|
export type State = {
|
|
13
|
-
checked: boolean
|
|
18
|
+
checked: boolean;
|
|
14
19
|
};
|
|
15
20
|
import React from "react";
|
|
16
21
|
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"/src/","sources":["utils/checkbox.jsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"/src/","sources":["utils/checkbox.jsx"],"names":[],"mappings":";;;gBAec,MAAM;cACN,OAAO;cACP,MAAM;qBACN,OAAO;SACP,MAAM;eACN,MAAM;YACN,MAAM;YACN,MAAM;WACN,MAAM;;YAEN,MAAM;aACN,MAAM;;;aAIN,OAAO;;kBA1BmB,OAAO"}
|
package/build/utils/checkbox.js
CHANGED
|
@@ -3,78 +3,121 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
/* eslint-disable prefer-object-spread, sort-imports */
|
|
4
4
|
// @ts-expect-error CheckBox removed from react-native core in newer versions
|
|
5
5
|
import { CheckBox, Pressable, View } from "react-native";
|
|
6
|
-
import React, { useMemo } from "react";
|
|
6
|
+
import React, { useEffect, useMemo } from "react";
|
|
7
7
|
import memo from "set-state-compare/build/memo.js";
|
|
8
8
|
import PropTypes from "prop-types";
|
|
9
9
|
import propTypesExact from "prop-types-exact";
|
|
10
10
|
import { ShapeComponent, shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
11
11
|
import Text from "./text";
|
|
12
|
+
import { useForm } from "../form";
|
|
13
|
+
import useInput from "../use-input.js";
|
|
12
14
|
/**
|
|
13
15
|
* @typedef {object} Props
|
|
16
|
+
* @property {string} [attribute]
|
|
14
17
|
* @property {boolean} [checked]
|
|
15
18
|
* @property {object} [dataSet]
|
|
16
19
|
* @property {boolean} [defaultChecked]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
* @property {string} [id]
|
|
21
|
+
* @property {object} [inputRef]
|
|
22
|
+
* @property {string} [label]
|
|
23
|
+
* @property {object} [model]
|
|
24
|
+
* @property {string} [name]
|
|
25
|
+
* @property {Function} [onCheckedChange]
|
|
26
|
+
* @property {object} [style]
|
|
27
|
+
* @property {string} [testID]
|
|
21
28
|
*/
|
|
22
29
|
/**
|
|
23
30
|
* @typedef {object} State
|
|
24
|
-
* @property {boolean
|
|
31
|
+
* @property {boolean} checked
|
|
25
32
|
*/
|
|
26
33
|
export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class ApiMakerUtilsCheckbox extends ShapeComponent {
|
|
27
34
|
static defaultProps = {
|
|
28
35
|
dataSet: null,
|
|
29
|
-
label: undefined,
|
|
30
36
|
style: null,
|
|
31
37
|
testID: undefined
|
|
32
38
|
};
|
|
33
39
|
static propTypes = propTypesExact({
|
|
40
|
+
attribute: PropTypes.string,
|
|
34
41
|
checked: PropTypes.bool,
|
|
35
42
|
dataSet: PropTypes.object,
|
|
36
43
|
defaultChecked: PropTypes.bool,
|
|
44
|
+
id: PropTypes.string,
|
|
45
|
+
inputRef: PropTypes.object,
|
|
37
46
|
label: PropTypes.string,
|
|
47
|
+
model: PropTypes.object,
|
|
48
|
+
name: PropTypes.string,
|
|
38
49
|
onCheckedChange: PropTypes.func,
|
|
39
50
|
style: PropTypes.object,
|
|
40
51
|
testID: PropTypes.string
|
|
41
52
|
});
|
|
42
53
|
state = {
|
|
43
|
-
checked: this.
|
|
54
|
+
checked: this.defaultChecked()
|
|
44
55
|
};
|
|
45
|
-
setup() {
|
|
56
|
+
setup() {
|
|
57
|
+
const { inputProps, restProps: useInputRestProps, wrapperOpts } = useInput({ props: this.props, wrapperOptions: { type: "checkbox" } });
|
|
58
|
+
const form = useForm();
|
|
59
|
+
const inputName = inputProps.name;
|
|
60
|
+
const initialChecked = this.calculateChecked();
|
|
61
|
+
this.form = form;
|
|
62
|
+
this.inputProps = inputProps;
|
|
63
|
+
this.useInputRestProps = useInputRestProps;
|
|
64
|
+
this.wrapperOpts = wrapperOpts;
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
if (form && inputName) {
|
|
67
|
+
form.setValue(inputName, initialChecked);
|
|
68
|
+
}
|
|
69
|
+
}, [form, inputName]);
|
|
70
|
+
}
|
|
46
71
|
calculateChecked() {
|
|
47
72
|
if ("checked" in this.props) {
|
|
48
|
-
return this.p.checked;
|
|
73
|
+
return Boolean(this.p.checked);
|
|
49
74
|
}
|
|
50
75
|
else {
|
|
51
76
|
return this.s.checked;
|
|
52
77
|
}
|
|
53
78
|
}
|
|
54
79
|
render() {
|
|
55
|
-
const {
|
|
80
|
+
const { inputProps, useInputRestProps, wrapperOpts } = this.tt;
|
|
81
|
+
const { attribute, checked, dataSet, defaultChecked, id, inputRef, label, model, name, onCheckedChange, style, testID, ...restProps } = useInputRestProps;
|
|
56
82
|
const isChecked = this.calculateChecked();
|
|
83
|
+
const actualLabel = typeof label == "undefined" ? wrapperOpts.label : label;
|
|
57
84
|
const actualStyle = useMemo(() => Object.assign({ flexDirection: "row", alignItems: "center" }, style), [style]);
|
|
58
85
|
const actualDataSet = useMemo(() => Object.assign({ checked: isChecked }, dataSet), [dataSet, isChecked]);
|
|
59
|
-
return (_jsxs(View, { dataSet: this.cache("viewContainerDataSet", { component: "api-maker/utils/checkbox" }), style: actualStyle, children: [_jsx(CheckBox, { dataSet: actualDataSet, onValueChange: this.tt.onValueChange, testID: testID, value: isChecked }),
|
|
60
|
-
_jsx(Pressable, { onPress: this.tt.onLabelPressed, children: _jsx(Text, { style: this.cache("textStyle", { marginLeft: 3 }), children:
|
|
86
|
+
return (_jsxs(View, { dataSet: this.cache("viewContainerDataSet", { component: "api-maker/utils/checkbox" }), style: actualStyle, children: [_jsx(CheckBox, { ...restProps, dataSet: actualDataSet, onValueChange: this.tt.onValueChange, ref: inputProps.ref, testID: testID, value: isChecked }), actualLabel &&
|
|
87
|
+
_jsx(Pressable, { onPress: this.tt.onLabelPressed, children: _jsx(Text, { style: this.cache("textStyle", { marginLeft: 3 }), children: actualLabel }) })] }));
|
|
61
88
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.p.onCheckedChange(newChecked);
|
|
89
|
+
defaultChecked() {
|
|
90
|
+
if ("defaultChecked" in this.props) {
|
|
91
|
+
return Boolean(this.props.defaultChecked);
|
|
66
92
|
}
|
|
67
|
-
if (
|
|
68
|
-
this.
|
|
93
|
+
else if (this.props.attribute && this.props.model) {
|
|
94
|
+
if (!this.props.model[this.props.attribute]) {
|
|
95
|
+
throw new Error(`No such attribute: ${this.props.attribute}`);
|
|
96
|
+
}
|
|
97
|
+
return Boolean(this.props.model[this.props.attribute]());
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
return false;
|
|
69
101
|
}
|
|
102
|
+
}
|
|
103
|
+
onLabelPressed = () => {
|
|
104
|
+
const newChecked = !this.calculateChecked();
|
|
105
|
+
this.setChecked(newChecked);
|
|
70
106
|
};
|
|
71
107
|
onValueChange = (newChecked) => {
|
|
108
|
+
this.setChecked(newChecked);
|
|
109
|
+
};
|
|
110
|
+
setChecked(newChecked) {
|
|
111
|
+
const { form, inputProps } = this.tt;
|
|
112
|
+
if (form && inputProps.name) {
|
|
113
|
+
form.setValue(inputProps.name, newChecked);
|
|
114
|
+
}
|
|
72
115
|
if (this.props.onCheckedChange) {
|
|
73
116
|
this.p.onCheckedChange(newChecked);
|
|
74
117
|
}
|
|
75
118
|
if (!("checked" in this.props)) {
|
|
76
119
|
this.s.checked = newChecked;
|
|
77
120
|
}
|
|
78
|
-
}
|
|
121
|
+
}
|
|
79
122
|
}));
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInV0aWxzL2NoZWNrYm94LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLHVEQUF1RDtBQUN2RCw2RUFBNkU7QUFDN0UsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3RELE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sSUFBSSxNQUFNLFFBQVEsQ0FBQTtBQUV6Qjs7Ozs7Ozs7O0dBU0c7QUFDSDs7O0dBR0c7QUFDSCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxxQkFBc0IsU0FBUSxjQUFjO0lBQ25JLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsT0FBTyxFQUFFLElBQUk7UUFDYixLQUFLLEVBQUUsU0FBUztRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxTQUFTO0tBQ2xCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3pCLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUM5QixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDdkIsZUFBZSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQy9CLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN2QixNQUFNLEVBQUUsU0FBUyxDQUFD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c0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItb2JqZWN0LXNwcmVhZCwgc29ydC1pbXBvcnRzICovXG4vLyBAdHMtZXhwZWN0LWVycm9yIENoZWNrQm94IHJlbW92ZWQgZnJvbSByZWFjdC1uYXRpdmUgY29yZSBpbiBuZXdlciB2ZXJzaW9uc1xuaW1wb3J0IHtDaGVja0JveCwgUHJlc3NhYmxlLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge1NoYXBlQ29tcG9uZW50LCBzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi90ZXh0XCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtib29sZWFufSBbY2hlY2tlZF1cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbZGF0YVNldF1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2RlZmF1bHRDaGVja2VkXVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGFiZWxdXG4gICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uQ2hlY2tlZENoYW5nZV1cbiAgKiBAcHJvcGVydHkge29iamVjdH0gW3N0eWxlXVxuICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdGVzdElEXVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN0YXRlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCB1bmRlZmluZWR9IGNoZWNrZWRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudCgvKiogQGF1Z21lbnRzIHtTaGFwZUNvbXBvbmVudDxQcm9wcywgU3RhdGU+fSAqLyBjbGFzcyBBcGlNYWtlclV0aWxzQ2hlY2tib3ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGF0YVNldDogbnVsbCxcbiAgICBsYWJlbDogdW5kZWZpbmVkLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIHRlc3RJRDogdW5kZWZpbmVkXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNoZWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRhdGFTZXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGVmYXVsdENoZWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hlY2tlZENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdGVzdElEOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG4gIHN0YXRlID0ge1xuICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgfVxuXG4gIHNldHVwKCkge31cblxuICBjYWxjdWxhdGVDaGVja2VkKCkge1xuICAgIGlmIChcImNoZWNrZWRcIiBpbiB0aGlzLnByb3BzKSB7XG4gICAgICByZXR1cm4gdGhpcy5wLmNoZWNrZWRcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucy5jaGVja2VkXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCBsYWJlbCwgc3R5bGUsIHRlc3RJRH0gPSB0aGlzLnBcbiAgICBjb25zdCBpc0NoZWNrZWQgPSB0aGlzLmNhbGN1bGF0ZUNoZWNrZWQoKVxuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gdXNlTWVtbygoKSA9PiBPYmplY3QuYXNzaWduKHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwifSwgc3R5bGUpLCBbc3R5bGVdKVxuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+IE9iamVjdC5hc3NpZ24oe2NoZWNrZWQ6IGlzQ2hlY2tlZH0sIGRhdGFTZXQpLCBbZGF0YVNldCwgaXNDaGVja2VkXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1xuICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwidmlld0NvbnRhaW5lckRhdGFTZXRcIiwge2NvbXBvbmVudDogXCJhcGktbWFrZXIvdXRpbHMvY2hlY2tib3hcIn0pfVxuICAgICAgICBzdHlsZT17YWN0dWFsU3R5bGV9XG4gICAgICA+XG4gICAgICAgIDxDaGVja0JveCBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fSBvblZhbHVlQ2hhbmdlPXt0aGlzLnR0Lm9uVmFsdWVDaGFuZ2V9IHRlc3RJRD17dGVzdElEfSB2YWx1ZT17aXNDaGVja2VkfSAvPlxuICAgICAgICB7bGFiZWwgJiZcbiAgICAgICAgICA8UHJlc3NhYmxlIG9uUHJlc3M9e3RoaXMudHQub25MYWJlbFByZXNzZWR9PlxuICAgICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJ0ZXh0U3R5bGVcIiwge21hcmdpbkxlZnQ6IDN9KX0+XG4gICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uTGFiZWxQcmVzc2VkID0gKCkgPT4ge1xuICAgIGNvbnN0IG5ld0NoZWNrZWQgPSAhdGhpcy5jYWxjdWxhdGVDaGVja2VkKClcblxuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hlY2tlZENoYW5nZSkge1xuICAgICAgdGhpcy5wLm9uQ2hlY2tlZENoYW5nZShuZXdDaGVja2VkKVxuICAgIH1cblxuICAgIGlmICghKFwiY2hlY2tlZFwiIGluIHRoaXMucHJvcHMpKSB7XG4gICAgICB0aGlzLnMuY2hlY2tlZCA9IG5ld0NoZWNrZWRcbiAgICB9XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlID0gKG5ld0NoZWNrZWQpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoZWNrZWRDaGFuZ2UpIHtcbiAgICAgIHRoaXMucC5vbkNoZWNrZWRDaGFuZ2UobmV3Q2hlY2tlZClcbiAgICB9XG5cbiAgICBpZiAoIShcImNoZWNrZWRcIiBpbiB0aGlzLnByb3BzKSkge1xuICAgICAgdGhpcy5zLmNoZWNrZWQgPSBuZXdDaGVja2VkXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInV0aWxzL2NoZWNrYm94LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLHVEQUF1RDtBQUN2RCw2RUFBNkU7QUFDN0UsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3RELE9BQU8sS0FBSyxFQUFFLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMvQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLElBQUksTUFBTSxRQUFRLENBQUE7QUFDekIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNIOzs7R0FHRztBQUNILGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxNQUFNLHFCQUFzQixTQUFRLGNBQWM7SUFDbkksTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixPQUFPLEVBQUUsSUFBSTtRQUNiLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLFNBQVM7S0FDbEIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDdkIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3pCLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUM5QixFQUFFLEVBQUUsU0FB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LENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRTtRQUNwQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBRTNDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM3QixDQUFDLENBQUE7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixNQUFNLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFFbEMsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFBO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1vYmplY3Qtc3ByZWFkLCBzb3J0LWltcG9ydHMgKi9cbi8vIEB0cy1leHBlY3QtZXJyb3IgQ2hlY2tCb3ggcmVtb3ZlZCBmcm9tIHJlYWN0LW5hdGl2ZSBjb3JlIGluIG5ld2VyIHZlcnNpb25zXG5pbXBvcnQge0NoZWNrQm94LCBQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4vdGV4dFwiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCB1c2VJbnB1dCBmcm9tIFwiLi4vdXNlLWlucHV0LmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFthdHRyaWJ1dGVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtjaGVja2VkXVxuICogQHByb3BlcnR5IHtvYmplY3R9IFtkYXRhU2V0XVxuICogQHByb3BlcnR5IHtib29sZWFufSBbZGVmYXVsdENoZWNrZWRdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2lkXVxuICogQHByb3BlcnR5IHtvYmplY3R9IFtpbnB1dFJlZl1cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGFiZWxdXG4gKiBAcHJvcGVydHkge29iamVjdH0gW21vZGVsXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtuYW1lXVxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gW29uQ2hlY2tlZENoYW5nZV1cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBbc3R5bGVdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Rlc3RJRF1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTdGF0ZVxuICogQHByb3BlcnR5IHtib29sZWFufSBjaGVja2VkXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoLyoqIEBhdWdtZW50cyB7U2hhcGVDb21wb25lbnQ8UHJvcHMsIFN0YXRlPn0gKi8gY2xhc3MgQXBpTWFrZXJVdGlsc0NoZWNrYm94IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRhdGFTZXQ6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgdGVzdElEOiB1bmRlZmluZWRcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoZWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRhdGFTZXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGVmYXVsdENoZWNrZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGVja2VkQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB0ZXN0SUQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSlcblxuICBzdGF0ZSA9IHtcbiAgICBjaGVja2VkOiB0aGlzLmRlZmF1bHRDaGVja2VkKClcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCByZXN0UHJvcHM6IHVzZUlucHV0UmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHMsIHdyYXBwZXJPcHRpb25zOiB7dHlwZTogXCJjaGVja2JveFwifX0pXG4gICAgY29uc3QgZm9ybSA9IHVzZUZvcm0oKVxuICAgIGNvbnN0IGlucHV0TmFtZSA9IGlucHV0UHJvcHMubmFtZVxuICAgIGNvbnN0IGluaXRpYWxDaGVja2VkID0gdGhpcy5jYWxjdWxhdGVDaGVja2VkKClcblxuICAgIHRoaXMuZm9ybSA9IGZvcm1cbiAgICB0aGlzLmlucHV0UHJvcHMgPSBpbnB1dFByb3BzXG4gICAgdGhpcy51c2VJbnB1dFJlc3RQcm9wcyA9IHVzZUlucHV0UmVzdFByb3BzXG4gICAgdGhpcy53cmFwcGVyT3B0cyA9IHdyYXBwZXJPcHRzXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGZvcm0gJiYgaW5wdXROYW1lKSB7XG4gICAgICAgIGZvcm0uc2V0VmFsdWUoaW5wdXROYW1lLCBpbml0aWFsQ2hlY2tlZClcbiAgICAgIH1cbiAgICB9LCBbZm9ybSwgaW5wdXROYW1lXSlcbiAgfVxuXG4gIGNhbGN1bGF0ZUNoZWNrZWQoKSB7XG4gICAgaWYgKFwiY2hlY2tlZFwiIGluIHRoaXMucHJvcHMpIHtcbiAgICAgIHJldHVybiBCb29sZWFuKHRoaXMucC5jaGVja2VkKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zLmNoZWNrZWRcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHVzZUlucHV0UmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgY2hlY2tlZCxcbiAgICAgIGRhdGFTZXQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBsYWJlbCxcbiAgICAgIG1vZGVsLFxuICAgICAgbmFtZSxcbiAgICAgIG9uQ2hlY2tlZENoYW5nZSxcbiAgICAgIHN0eWxlLFxuICAgICAgdGVzdElELFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHVzZUlucHV0UmVzdFByb3BzXG4gICAgY29uc3QgaXNDaGVja2VkID0gdGhpcy5jYWxjdWxhdGVDaGVja2VkKClcbiAgICBjb25zdCBhY3R1YWxMYWJlbCA9IHR5cGVvZiBsYWJlbCA9PSBcInVuZGVmaW5lZFwiID8gd3JhcHBlck9wdHMubGFiZWwgOiBsYWJlbFxuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gdXNlTWVtbygoKSA9PiBPYmplY3QuYXNzaWduKHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwifSwgc3R5bGUpLCBbc3R5bGVdKVxuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+IE9iamVjdC5hc3NpZ24oe2NoZWNrZWQ6IGlzQ2hlY2tlZH0sIGRhdGFTZXQpLCBbZGF0YVNldCwgaXNDaGVja2VkXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1xuICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwidmlld0NvbnRhaW5lckRhdGFTZXRcIiwge2NvbXBvbmVudDogXCJhcGktbWFrZXIvdXRpbHMvY2hlY2tib3hcIn0pfVxuICAgICAgICBzdHlsZT17YWN0dWFsU3R5bGV9XG4gICAgICA+XG4gICAgICAgIDxDaGVja0JveFxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgZGF0YVNldD17YWN0dWFsRGF0YVNldH1cbiAgICAgICAgICBvblZhbHVlQ2hhbmdlPXt0aGlzLnR0Lm9uVmFsdWVDaGFuZ2V9XG4gICAgICAgICAgcmVmPXtpbnB1dFByb3BzLnJlZn1cbiAgICAgICAgICB0ZXN0SUQ9e3Rlc3RJRH1cbiAgICAgICAgICB2YWx1ZT17aXNDaGVja2VkfVxuICAgICAgICAvPlxuICAgICAgICB7YWN0dWFsTGFiZWwgJiZcbiAgICAgICAgICA8UHJlc3NhYmxlIG9uUHJlc3M9e3RoaXMudHQub25MYWJlbFByZXNzZWR9PlxuICAgICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJ0ZXh0U3R5bGVcIiwge21hcmdpbkxlZnQ6IDN9KX0+XG4gICAgICAgICAgICAgIHthY3R1YWxMYWJlbH1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIGRlZmF1bHRDaGVja2VkKCkge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gdGhpcy5wcm9wcykge1xuICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wcm9wcy5kZWZhdWx0Q2hlY2tlZClcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuYXR0cmlidXRlICYmIHRoaXMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghdGhpcy5wcm9wcy5tb2RlbFt0aGlzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZTogJHt0aGlzLnByb3BzLmF0dHJpYnV0ZX1gKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLm1vZGVsW3RoaXMucHJvcHMuYXR0cmlidXRlXSgpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICBvbkxhYmVsUHJlc3NlZCA9ICgpID0+IHtcbiAgICBjb25zdCBuZXdDaGVja2VkID0gIXRoaXMuY2FsY3VsYXRlQ2hlY2tlZCgpXG5cbiAgICB0aGlzLnNldENoZWNrZWQobmV3Q2hlY2tlZClcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UgPSAobmV3Q2hlY2tlZCkgPT4ge1xuICAgIHRoaXMuc2V0Q2hlY2tlZChuZXdDaGVja2VkKVxuICB9XG5cbiAgc2V0Q2hlY2tlZChuZXdDaGVja2VkKSB7XG4gICAgY29uc3Qge2Zvcm0sIGlucHV0UHJvcHN9ID0gdGhpcy50dFxuXG4gICAgaWYgKGZvcm0gJiYgaW5wdXRQcm9wcy5uYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKGlucHV0UHJvcHMubmFtZSwgbmV3Q2hlY2tlZClcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkNoZWNrZWRDaGFuZ2UpIHtcbiAgICAgIHRoaXMucC5vbkNoZWNrZWRDaGFuZ2UobmV3Q2hlY2tlZClcbiAgICB9XG5cbiAgICBpZiAoIShcImNoZWNrZWRcIiBpbiB0aGlzLnByb3BzKSkge1xuICAgICAgdGhpcy5zLmNoZWNrZWQgPSBuZXdDaGVja2VkXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
|