@gnwebsoft/ui 3.0.7 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AsyncSelectPayload-B9-6l33R.d.cts +10 -0
- package/dist/AsyncSelectPayload-B9-6l33R.d.ts +10 -0
- package/dist/chunk-3OPVOWQK.js +140 -0
- package/dist/chunk-AEOF2TUF.cjs +2273 -0
- package/dist/chunk-ALHC7RLK.js +575 -0
- package/dist/chunk-BRRLB22L.js +72 -0
- package/dist/chunk-CHZU4PZB.js +2273 -0
- package/dist/chunk-EBRUE2WR.cjs +1 -1
- package/dist/chunk-HEHPKM4B.cjs +140 -0
- package/dist/chunk-K2EJ4YKO.cjs +72 -0
- package/dist/chunk-MVPLBJRK.cjs +1 -1
- package/dist/chunk-XY4U6A77.cjs +575 -0
- package/dist/components/index.cjs +1 -1
- package/dist/{enhanced-z-I7EHVS.d.cts → enhanced-CDTkKUlj.d.ts} +5 -5
- package/dist/{enhanced-z-I7EHVS.d.ts → enhanced-ZQoS03Cd.d.cts} +5 -5
- package/dist/events-BcHVCLBz.d.cts +77 -0
- package/dist/events-BcHVCLBz.d.ts +77 -0
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.d.cts +3 -2
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +67 -6
- package/dist/index.d.cts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +65 -4
- package/dist/types/index.cjs +31 -2
- package/dist/types/index.d.cts +589 -10
- package/dist/types/index.d.ts +589 -10
- package/dist/types/index.js +30 -1
- package/dist/utils/index.cjs +37 -3
- package/dist/utils/index.d.cts +330 -13
- package/dist/utils/index.d.ts +330 -13
- package/dist/utils/index.js +35 -1
- package/dist/wrappers/index.cjs +4 -4
- package/dist/wrappers/index.d.cts +41 -19
- package/dist/wrappers/index.d.ts +41 -19
- package/dist/wrappers/index.js +2 -2
- package/package.json +15 -14
- package/dist/chunk-4H3AFH7A.js +0 -505
- package/dist/chunk-55VNGODF.cjs +0 -2265
- package/dist/chunk-BWC3LJIB.js +0 -2265
- package/dist/chunk-DE62KYFK.js +0 -122
- package/dist/chunk-DEPJRTVT.js +0 -1
- package/dist/chunk-FD57PCAC.cjs +0 -1
- package/dist/chunk-R2YK4LTT.cjs +0 -122
- package/dist/chunk-ZC7FGYL2.cjs +0 -505
package/dist/chunk-DE62KYFK.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
// src/hooks/useTransform/index.ts
|
|
2
|
-
function useTransform(options) {
|
|
3
|
-
const value = typeof options.transform?.input === "function" ? options.transform.input(options.value) : options.value;
|
|
4
|
-
const onChange = (...event) => {
|
|
5
|
-
if (typeof options.transform?.output === "function") {
|
|
6
|
-
options.onChange(options.transform.output(...event));
|
|
7
|
-
} else {
|
|
8
|
-
options.onChange(...event);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
return {
|
|
12
|
-
value,
|
|
13
|
-
onChange
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// src/hooks/useTransform/enhanced.ts
|
|
18
|
-
import { useCallback, useMemo } from "react";
|
|
19
|
-
var transformFactories = {
|
|
20
|
-
number: () => ({
|
|
21
|
-
input: (value) => {
|
|
22
|
-
if (value == null) return "";
|
|
23
|
-
return String(value);
|
|
24
|
-
},
|
|
25
|
-
output: (event) => {
|
|
26
|
-
const rawValue = event.target.value;
|
|
27
|
-
if (rawValue === "") return null;
|
|
28
|
-
const numValue = Number(rawValue);
|
|
29
|
-
return isNaN(numValue) ? null : numValue;
|
|
30
|
-
}
|
|
31
|
-
}),
|
|
32
|
-
text: () => ({
|
|
33
|
-
input: (value) => {
|
|
34
|
-
return value ?? "";
|
|
35
|
-
},
|
|
36
|
-
output: (event) => {
|
|
37
|
-
return event.target.value;
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
select: () => ({
|
|
41
|
-
input: (value) => {
|
|
42
|
-
return value ?? "";
|
|
43
|
-
},
|
|
44
|
-
output: (event, value) => {
|
|
45
|
-
return value ?? event?.target?.value ?? event;
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
};
|
|
49
|
-
function getBuiltInTransform(fieldType) {
|
|
50
|
-
switch (fieldType) {
|
|
51
|
-
case "number":
|
|
52
|
-
return transformFactories.number();
|
|
53
|
-
case "text":
|
|
54
|
-
return transformFactories.text();
|
|
55
|
-
case "select":
|
|
56
|
-
case "radio":
|
|
57
|
-
return transformFactories.select();
|
|
58
|
-
default:
|
|
59
|
-
return void 0;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function useEnhancedTransform(options) {
|
|
63
|
-
const {
|
|
64
|
-
value: fieldValue,
|
|
65
|
-
onChange: fieldOnChange,
|
|
66
|
-
transform,
|
|
67
|
-
fieldType,
|
|
68
|
-
defaultValue,
|
|
69
|
-
enableWarnings
|
|
70
|
-
} = options;
|
|
71
|
-
const builtInTransform = useMemo(
|
|
72
|
-
() => fieldType ? getBuiltInTransform(fieldType) : void 0,
|
|
73
|
-
[fieldType]
|
|
74
|
-
);
|
|
75
|
-
if (enableWarnings && process.env.NODE_ENV === "development") {
|
|
76
|
-
if (transform && fieldType) {
|
|
77
|
-
console.warn(
|
|
78
|
-
"useEnhancedTransform: Both custom transform and fieldType provided. Custom transform will take precedence."
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const transformedValue = useMemo(() => {
|
|
83
|
-
const inputTransform = transform?.input || builtInTransform?.input;
|
|
84
|
-
if (typeof inputTransform === "function") {
|
|
85
|
-
return inputTransform(fieldValue);
|
|
86
|
-
}
|
|
87
|
-
if (fieldValue == null && defaultValue !== void 0) {
|
|
88
|
-
return defaultValue;
|
|
89
|
-
}
|
|
90
|
-
return fieldValue;
|
|
91
|
-
}, [fieldValue, transform?.input, builtInTransform?.input, defaultValue]);
|
|
92
|
-
const enhancedOnChange = useCallback(
|
|
93
|
-
(...args) => {
|
|
94
|
-
const outputTransform = transform?.output || builtInTransform?.output;
|
|
95
|
-
if (typeof outputTransform === "function") {
|
|
96
|
-
try {
|
|
97
|
-
const transformedValue2 = outputTransform(...args);
|
|
98
|
-
fieldOnChange(transformedValue2);
|
|
99
|
-
} catch (error) {
|
|
100
|
-
if (enableWarnings && process.env.NODE_ENV === "development") {
|
|
101
|
-
console.error("useEnhancedTransform: Error in output transformation:", error);
|
|
102
|
-
}
|
|
103
|
-
fieldOnChange(args[0]);
|
|
104
|
-
}
|
|
105
|
-
} else {
|
|
106
|
-
fieldOnChange(...args);
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
[fieldOnChange, transform?.output, builtInTransform?.output, enableWarnings]
|
|
110
|
-
);
|
|
111
|
-
return {
|
|
112
|
-
value: transformedValue,
|
|
113
|
-
onChange: enhancedOnChange
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export {
|
|
118
|
-
useTransform,
|
|
119
|
-
transformFactories,
|
|
120
|
-
useEnhancedTransform
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2hvb2tzL3VzZVRyYW5zZm9ybS9pbmRleC50cyIsICIuLi9zcmMvaG9va3MvdXNlVHJhbnNmb3JtL2VuaGFuY2VkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7XG4gIEZpZWxkUGF0aCxcbiAgRmllbGRWYWx1ZXMsXG4gIFBhdGhWYWx1ZSxcbiAgVXNlQ29udHJvbGxlclJldHVybixcbn0gZnJvbSBcInJlYWN0LWhvb2stZm9ybVwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSB1c2VUcmFuc2Zvcm0gaG9vay5cbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIGZvcm0gdmFsdWVzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUTmFtZSAtIFRoZSBmaWVsZCBuYW1lIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUVmFsdWUgLSBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdHlwZVxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VUcmFuc2Zvcm1PcHRpb25zPFxuICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxuICBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+ID0gRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sXG4gIFRWYWx1ZSA9IHVua25vd24sXG4+IHtcbiAgLyoqIFRoZSBjdXJyZW50IGZpZWxkIHZhbHVlIGZyb20gcmVhY3QtaG9vay1mb3JtICovXG4gIHZhbHVlOiBVc2VDb250cm9sbGVyUmV0dXJuPFRGaWVsZFZhbHVlcywgVE5hbWU+W1wiZmllbGRcIl1bXCJ2YWx1ZVwiXTtcbiAgLyoqIFRoZSBvbkNoYW5nZSBoYW5kbGVyIGZyb20gcmVhY3QtaG9vay1mb3JtICovXG4gIG9uQ2hhbmdlOiBVc2VDb250cm9sbGVyUmV0dXJuPFRGaWVsZFZhbHVlcywgVE5hbWU+W1wiZmllbGRcIl1bXCJvbkNoYW5nZVwiXTtcbiAgLyoqIE9wdGlvbmFsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9ucyAqL1xuICB0cmFuc2Zvcm0/OiB7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtIHRoZSBmaWVsZCB2YWx1ZSBmb3IgZGlzcGxheSBpbiB0aGUgaW5wdXRcbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgY3VycmVudCBmaWVsZCB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0byBkaXNwbGF5XG4gICAgICovXG4gICAgaW5wdXQ/OiAodmFsdWU6IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPikgPT4gVFZhbHVlO1xuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybSB0aGUgaW5wdXQgZXZlbnQgYmFjayB0byB0aGUgZmllbGQgdmFsdWVcbiAgICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgaW5wdXQgZXZlbnQgcGFyYW1ldGVyc1xuICAgICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0byBzdG9yZSBpbiB0aGUgZm9ybVxuICAgICAqL1xuICAgIG91dHB1dD86ICguLi5ldmVudDogYW55W10pID0+IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPjtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHlwZSBmb3IgdGhlIHVzZVRyYW5zZm9ybSBob29rLlxuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZVxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIG5hbWUgdHlwZVxuICogQHRlbXBsYXRlIFRWYWx1ZSAtIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0eXBlXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZVRyYW5zZm9ybVJldHVybjxcbiAgVEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXMgPSBGaWVsZFZhbHVlcyxcbiAgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPiA9IEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LFxuICBUVmFsdWUgPSB1bmtub3duLFxuPiB7XG4gIC8qKiBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgaW5wdXQgKi9cbiAgdmFsdWU6IFRWYWx1ZTtcbiAgLyoqIFRoZSBlbmhhbmNlZCBvbkNoYW5nZSBoYW5kbGVyIHdpdGggdHJhbnNmb3JtYXRpb24gYXBwbGllZCAqL1xuICBvbkNoYW5nZTogVXNlQ29udHJvbGxlclJldHVybjxURmllbGRWYWx1ZXMsIFROYW1lPltcImZpZWxkXCJdW1wib25DaGFuZ2VcIl07XG59XG5cbi8qKlxuICogQSBob29rIGZvciB0cmFuc2Zvcm1pbmcgZm9ybSBmaWVsZCB2YWx1ZXMgYmV0d2VlbiBkaXNwbGF5IGFuZCBzdG9yYWdlIGZvcm1hdHMuXG4gKlxuICogVGhpcyBob29rIHByb3ZpZGVzIGEgd2F5IHRvIHRyYW5zZm9ybSB2YWx1ZXMgYXMgdGhleSBmbG93IGJldHdlZW4gdGhlIGZvcm0gZmllbGRcbiAqIGFuZCB0aGUgZGlzcGxheSBjb21wb25lbnQuIEl0J3MgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgZm9ybWF0dGluZyBkYXRhIGZvciBkaXNwbGF5XG4gKiAobGlrZSBkYXRlcywgbnVtYmVycywgb3IgY29tcGxleCBvYmplY3RzKSB3aGlsZSBtYWludGFpbmluZyBhIGRpZmZlcmVudCBpbnRlcm5hbFxuICogcmVwcmVzZW50YXRpb24gaW4gdGhlIGZvcm0gc3RhdGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIFRyYW5zZm9ybSBhIGRhdGUgZm9yIGRpc3BsYXk6XG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB1c2VUcmFuc2Zvcm0oe1xuICogICB2YWx1ZTogZmllbGQudmFsdWUsXG4gKiAgIG9uQ2hhbmdlOiBmaWVsZC5vbkNoYW5nZSxcbiAqICAgdHJhbnNmb3JtOiB7XG4gKiAgICAgaW5wdXQ6IChkYXRlKSA9PiBkYXRlID8gZm9ybWF0KGRhdGUsICd5eXl5LU1NLWRkJykgOiAnJyxcbiAqICAgICBvdXRwdXQ6IChldmVudCkgPT4gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKVxuICogICB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBUcmFuc2Zvcm0gbnVtYmVycyB3aXRoIGZvcm1hdHRpbmc6XG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB1c2VUcmFuc2Zvcm0oe1xuICogICB2YWx1ZTogZmllbGQudmFsdWUsXG4gKiAgIG9uQ2hhbmdlOiBmaWVsZC5vbkNoYW5nZSxcbiAqICAgdHJhbnNmb3JtOiB7XG4gKiAgICAgaW5wdXQ6IChudW0pID0+IG51bSA/IG51bS50b0xvY2FsZVN0cmluZygpIDogJycsXG4gKiAgICAgb3V0cHV0OiAoZXZlbnQpID0+IHBhcnNlRmxvYXQoZXZlbnQudGFyZ2V0LnZhbHVlLnJlcGxhY2UoLywvZywgJycpKVxuICogICB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZVxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIG5hbWUgdHlwZVxuICogQHRlbXBsYXRlIFRWYWx1ZSAtIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0eXBlXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBDb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkaW5nIHZhbHVlLCBvbkNoYW5nZSwgYW5kIHRyYW5zZm9ybSBmdW5jdGlvbnNcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHRyYW5zZm9ybWVkIHZhbHVlIGFuZCBlbmhhbmNlZCBvbkNoYW5nZSBoYW5kbGVyXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVHJhbnNmb3JtPFxuICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxuICBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+ID0gRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sXG4gIFRWYWx1ZSA9IHVua25vd24sXG4+KFxuICBvcHRpb25zOiBVc2VUcmFuc2Zvcm1PcHRpb25zPFRGaWVsZFZhbHVlcywgVE5hbWUsIFRWYWx1ZT5cbik6IFVzZVRyYW5zZm9ybVJldHVybjxURmllbGRWYWx1ZXMsIFROYW1lLCBUVmFsdWU+IHtcbiAgY29uc3QgdmFsdWUgPVxuICAgIHR5cGVvZiBvcHRpb25zLnRyYW5zZm9ybT8uaW5wdXQgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgPyBvcHRpb25zLnRyYW5zZm9ybS5pbnB1dChvcHRpb25zLnZhbHVlKVxuICAgICAgOiBvcHRpb25zLnZhbHVlO1xuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKC4uLmV2ZW50OiBhbnkpOiB2b2lkID0+IHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtPy5vdXRwdXQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgb3B0aW9ucy5vbkNoYW5nZShvcHRpb25zLnRyYW5zZm9ybS5vdXRwdXQoLi4uZXZlbnQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5vbkNoYW5nZSguLi5ldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdmFsdWUsXG4gICAgb25DaGFuZ2UsXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVRyYW5zZm9ybTtcbiIsICJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUge1xuICBGaWVsZFBhdGgsXG4gIEZpZWxkVmFsdWVzLFxuICBQYXRoVmFsdWUsXG4gIFVzZUNvbnRyb2xsZXJSZXR1cm4sXG59IGZyb20gXCJyZWFjdC1ob29rLWZvcm1cIjtcblxuLyoqXG4gKiBGaWVsZCB0eXBlcyBmb3IgYnVpbHQtaW4gdHJhbnNmb3JtYXRpb24gcGF0dGVybnNcbiAqL1xuZXhwb3J0IHR5cGUgRmllbGRUeXBlID0gJ3RleHQnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAndGltZScgfCAnc2VsZWN0JyB8ICdyYWRpbyc7XG5cbi8qKlxuICogRW5oYW5jZWQgb3B0aW9ucyBmb3IgdGhlIHVzZVRyYW5zZm9ybSBob29rIHdpdGggcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uc1xuICogYW5kIGJ1aWx0LWluIGZpZWxkIHR5cGUgaGFuZGxpbmcuXG4gKlxuICogQHRlbXBsYXRlIFRGaWVsZFZhbHVlcyAtIFRoZSBmb3JtIHZhbHVlcyB0eXBlXG4gKiBAdGVtcGxhdGUgVE5hbWUgLSBUaGUgZmllbGQgbmFtZSB0eXBlXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHR5cGVcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5oYW5jZWRVc2VUcmFuc2Zvcm1PcHRpb25zPFxuICBURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcyA9IEZpZWxkVmFsdWVzLFxuICBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+ID0gRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sXG4gIFRWYWx1ZSA9IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPixcbj4ge1xuICAvKiogVGhlIGN1cnJlbnQgZmllbGQgdmFsdWUgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgdmFsdWU6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcInZhbHVlXCJdO1xuICAvKiogVGhlIG9uQ2hhbmdlIGhhbmRsZXIgZnJvbSByZWFjdC1ob29rLWZvcm0gKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xuICAvKiogT3B0aW9uYWwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25zICovXG4gIHRyYW5zZm9ybT86IHtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gdGhlIGZpZWxkIHZhbHVlIGZvciBkaXNwbGF5IGluIHRoZSBpbnB1dFxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjdXJyZW50IGZpZWxkIHZhbHVlXG4gICAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBpbnB1dD86ICh2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiBUVmFsdWU7XG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtIHRoZSBpbnB1dCBldmVudCBiYWNrIHRvIHRoZSBmaWVsZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBldmVudCAtIFRoZSBpbnB1dCBldmVudCBvciB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lZCB2YWx1ZSB0byBzdG9yZSBpbiB0aGUgZm9ybVxuICAgICAqL1xuICAgIG91dHB1dD86ICguLi5hcmdzOiBhbnlbXSkgPT4gUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+O1xuICB9O1xuICAvKiogQnVpbHQtaW4gZmllbGQgdHlwZSBmb3IgYXV0b21hdGljIHRyYW5zZm9ybWF0aW9uICovXG4gIGZpZWxkVHlwZT86IEZpZWxkVHlwZTtcbiAgLyoqIERlZmF1bHQgdmFsdWUgdG8gdXNlIHdoZW4gZmllbGQgdmFsdWUgaXMgbnVsbC91bmRlZmluZWQgKi9cbiAgZGVmYXVsdFZhbHVlPzogVFZhbHVlO1xuICAvKiogRW5hYmxlIGRldmVsb3BtZW50IHdhcm5pbmdzIGZvciBkZWJ1Z2dpbmcgKi9cbiAgZW5hYmxlV2FybmluZ3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVuaGFuY2VkIHJldHVybiB0eXBlIGZvciB0aGUgdXNlVHJhbnNmb3JtIGhvb2sgd2l0aCBzdGFibGUgcmVmZXJlbmNlc1xuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZVxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIG5hbWUgdHlwZSAgXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHR5cGVcbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5oYW5jZWRVc2VUcmFuc2Zvcm1SZXR1cm48XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzID0gRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPixcbiAgVFZhbHVlID0gUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+LFxuPiB7XG4gIC8qKiBUaGUgdHJhbnNmb3JtZWQgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgaW5wdXQgKG1lbW9pemVkKSAqL1xuICB2YWx1ZTogVFZhbHVlO1xuICAvKiogVGhlIGVuaGFuY2VkIG9uQ2hhbmdlIGhhbmRsZXIgd2l0aCB0cmFuc2Zvcm1hdGlvbiBhcHBsaWVkIChtZW1vaXplZCkgKi9cbiAgb25DaGFuZ2U6IFVzZUNvbnRyb2xsZXJSZXR1cm48VEZpZWxkVmFsdWVzLCBUTmFtZT5bXCJmaWVsZFwiXVtcIm9uQ2hhbmdlXCJdO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybSBmYWN0b3JpZXMgZm9yIGNvbW1vbiBmaWVsZCB0eXBlc1xuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtRmFjdG9yaWVzID0ge1xuICBudW1iZXI6IDxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcywgVE5hbWUgZXh0ZW5kcyBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPj4oKSA9PiAoe1xuICAgIGlucHV0OiAodmFsdWU6IFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFROYW1lPikgPT4ge1xuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHJldHVybiBcIlwiIGFzIHN0cmluZztcblxuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfSxcbiAgICBvdXRwdXQ6IChldmVudDogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICBjb25zdCByYXdWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcblxuICAgICAgaWYgKHJhd1ZhbHVlID09PSBcIlwiKSByZXR1cm4gbnVsbCBhcyBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT47XG4gICAgICBjb25zdCBudW1WYWx1ZSA9IE51bWJlcihyYXdWYWx1ZSk7XG5cbiAgICAgIHJldHVybiAoaXNOYU4obnVtVmFsdWUpID8gbnVsbCA6IG51bVZhbHVlKSBhcyBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT47XG4gICAgfSxcbiAgfSksXG5cbiAgdGV4dDogPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzLCBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+PigpID0+ICh7XG4gICAgaW5wdXQ6ICh2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XG4gICAgICByZXR1cm4gKHZhbHVlID8/IFwiXCIpIGFzIHN0cmluZztcbiAgICB9LFxuICAgIG91dHB1dDogKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+IHtcbiAgICAgIHJldHVybiBldmVudC50YXJnZXQudmFsdWUgYXMgUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+O1xuICAgIH0sXG4gIH0pLFxuXG4gIHNlbGVjdDogPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzLCBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+PigpID0+ICh7XG4gICAgaW5wdXQ6ICh2YWx1ZTogUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPz8gKFwiXCIgYXMgc3RyaW5nKTtcbiAgICB9LFxuICAgIG91dHB1dDogKGV2ZW50OiBhbnksIHZhbHVlPzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gKHZhbHVlID8/IGV2ZW50Py50YXJnZXQ/LnZhbHVlID8/IGV2ZW50KSBhcyBQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBUTmFtZT47XG4gICAgfSxcbiAgfSksXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEdldCBidWlsdC1pbiB0cmFuc2Zvcm1hdGlvbiBmb3IgYSBmaWVsZCB0eXBlXG4gKi9cbmZ1bmN0aW9uIGdldEJ1aWx0SW5UcmFuc2Zvcm08XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzLFxuICBUTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LFxuPihmaWVsZFR5cGU/OiBGaWVsZFR5cGUpIHtcbiAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICBjYXNlICdudW1iZXInOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZhY3Rvcmllcy5udW1iZXI8VEZpZWxkVmFsdWVzLCBUTmFtZT4oKTtcbiAgICBjYXNlICd0ZXh0JzpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GYWN0b3JpZXMudGV4dDxURmllbGRWYWx1ZXMsIFROYW1lPigpO1xuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAncmFkaW8nOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZhY3Rvcmllcy5zZWxlY3Q8VEZpZWxkVmFsdWVzLCBUTmFtZT4oKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGVuaGFuY2VkIGhvb2sgZm9yIHRyYW5zZm9ybWluZyBmb3JtIGZpZWxkIHZhbHVlcyB3aXRoIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbnNcbiAqIGFuZCBidWlsdC1pbiBmaWVsZCB0eXBlIGhhbmRsaW5nLlxuICpcbiAqIFRoaXMgZW5oYW5jZWQgdmVyc2lvbiBwcm92aWRlczpcbiAqIC0gUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucyB3aXRoIHVzZU1lbW8gYW5kIHVzZUNhbGxiYWNrXG4gKiAtIEJ1aWx0LWluIHRyYW5zZm9ybWF0aW9ucyBmb3IgY29tbW9uIGZpZWxkIHR5cGVzXG4gKiAtIEJldHRlciBUeXBlU2NyaXB0IGluZmVyZW5jZVxuICogLSBEZXZlbG9wbWVudCB3YXJuaW5nc1xuICogLSBTdGFibGUgcmVmZXJlbmNlcyB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IHJlLXJlbmRlcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogQmFzaWMgdXNhZ2Ugd2l0aCBidWlsdC1pbiBudW1iZXIgaGFuZGxpbmc6XG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB1c2VFbmhhbmNlZFRyYW5zZm9ybSh7XG4gKiAgIHZhbHVlOiBmaWVsZC52YWx1ZSxcbiAqICAgb25DaGFuZ2U6IGZpZWxkLm9uQ2hhbmdlLFxuICogICBmaWVsZFR5cGU6ICdudW1iZXInXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBDdXN0b20gdHJhbnNmb3JtYXRpb25zIChzYW1lIGFzIG9yaWdpbmFsKTpcbiAqIGBgYHRzeFxuICogY29uc3QgeyB2YWx1ZSwgb25DaGFuZ2UgfSA9IHVzZUVuaGFuY2VkVHJhbnNmb3JtKHtcbiAqICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICogICBvbkNoYW5nZTogZmllbGQub25DaGFuZ2UsXG4gKiAgIHRyYW5zZm9ybToge1xuICogICAgIGlucHV0OiAodmFsdWUpID0+IHZhbHVlPy50b1N0cmluZygpIHx8ICcnLFxuICogICAgIG91dHB1dDogKGV2ZW50KSA9PiBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpIHx8IG51bGxcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogV2l0aCBkZWZhdWx0IHZhbHVlIGFuZCB3YXJuaW5nczpcbiAqIGBgYHRzeFxuICogY29uc3QgeyB2YWx1ZSwgb25DaGFuZ2UgfSA9IHVzZUVuaGFuY2VkVHJhbnNmb3JtKHtcbiAqICAgdmFsdWU6IGZpZWxkLnZhbHVlLFxuICogICBvbkNoYW5nZTogZmllbGQub25DaGFuZ2UsXG4gKiAgIGZpZWxkVHlwZTogJ3RleHQnLFxuICogICBkZWZhdWx0VmFsdWU6ICcnLFxuICogICBlbmFibGVXYXJuaW5nczogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCdcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHRlbXBsYXRlIFRGaWVsZFZhbHVlcyAtIFRoZSBmb3JtIHZhbHVlcyB0eXBlXG4gKiBAdGVtcGxhdGUgVE5hbWUgLSBUaGUgZmllbGQgbmFtZSB0eXBlXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHRyYW5zZm9ybWVkIHZhbHVlIHR5cGVcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBpbmNsdWRpbmcgdmFsdWUsIG9uQ2hhbmdlLCBhbmQgdHJhbnNmb3JtIGZ1bmN0aW9uc1xuICogQHJldHVybnMgT2JqZWN0IHdpdGggdHJhbnNmb3JtZWQgdmFsdWUgYW5kIGVuaGFuY2VkIG9uQ2hhbmdlIGhhbmRsZXIgKGJvdGggbWVtb2l6ZWQpXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRW5oYW5jZWRUcmFuc2Zvcm08XG4gIFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzID0gRmllbGRWYWx1ZXMsXG4gIFROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4gPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPixcbiAgVFZhbHVlID0gUGF0aFZhbHVlPFRGaWVsZFZhbHVlcywgVE5hbWU+LFxuPihcbiAgb3B0aW9uczogRW5oYW5jZWRVc2VUcmFuc2Zvcm1PcHRpb25zPFRGaWVsZFZhbHVlcywgVE5hbWUsIFRWYWx1ZT5cbik6IEVuaGFuY2VkVXNlVHJhbnNmb3JtUmV0dXJuPFRGaWVsZFZhbHVlcywgVE5hbWUsIFRWYWx1ZT4ge1xuICBjb25zdCB7IFxuICAgIHZhbHVlOiBmaWVsZFZhbHVlLCBcbiAgICBvbkNoYW5nZTogZmllbGRPbkNoYW5nZSwgXG4gICAgdHJhbnNmb3JtLCBcbiAgICBmaWVsZFR5cGUsIFxuICAgIGRlZmF1bHRWYWx1ZSxcbiAgICBlbmFibGVXYXJuaW5ncyBcbiAgfSA9IG9wdGlvbnM7XG5cbiAgLy8gR2V0IGJ1aWx0LWluIHRyYW5zZm9ybSBpZiBmaWVsZFR5cGUgaXMgc3BlY2lmaWVkXG4gIGNvbnN0IGJ1aWx0SW5UcmFuc2Zvcm0gPSB1c2VNZW1vKCgpID0+IFxuICAgIGZpZWxkVHlwZSA/IGdldEJ1aWx0SW5UcmFuc2Zvcm08VEZpZWxkVmFsdWVzLCBUTmFtZT4oZmllbGRUeXBlKSA6IHVuZGVmaW5lZCwgXG4gICAgW2ZpZWxkVHlwZV1cbiAgKTtcblxuICAvLyBEZXZlbG9wbWVudCB3YXJuaW5nc1xuICBpZiAoZW5hYmxlV2FybmluZ3MgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICBpZiAodHJhbnNmb3JtICYmIGZpZWxkVHlwZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAndXNlRW5oYW5jZWRUcmFuc2Zvcm06IEJvdGggY3VzdG9tIHRyYW5zZm9ybSBhbmQgZmllbGRUeXBlIHByb3ZpZGVkLiBDdXN0b20gdHJhbnNmb3JtIHdpbGwgdGFrZSBwcmVjZWRlbmNlLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWVtb2l6ZSB0aGUgdHJhbnNmb3JtZWQgZGlzcGxheSB2YWx1ZVxuICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlID0gdXNlTWVtbygoKTogVFZhbHVlID0+IHtcbiAgICBjb25zdCBpbnB1dFRyYW5zZm9ybSA9IHRyYW5zZm9ybT8uaW5wdXQgfHwgYnVpbHRJblRyYW5zZm9ybT8uaW5wdXQ7XG4gICAgXG4gICAgaWYgKHR5cGVvZiBpbnB1dFRyYW5zZm9ybSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gaW5wdXRUcmFuc2Zvcm0oZmllbGRWYWx1ZSkgYXMgVFZhbHVlO1xuICAgIH1cbiAgICBcbiAgICAvLyBGYWxsYmFjayB3aXRoIGRlZmF1bHQgdmFsdWUgc3VwcG9ydFxuICAgIGlmIChmaWVsZFZhbHVlID09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBmaWVsZFZhbHVlIGFzIFRWYWx1ZTtcbiAgfSwgW2ZpZWxkVmFsdWUsIHRyYW5zZm9ybT8uaW5wdXQsIGJ1aWx0SW5UcmFuc2Zvcm0/LmlucHV0LCBkZWZhdWx0VmFsdWVdKTtcblxuICAvLyBNZW1vaXplIHRoZSBlbmhhbmNlZCBvbkNoYW5nZSBoYW5kbGVyXG4gIGNvbnN0IGVuaGFuY2VkT25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIGNvbnN0IG91dHB1dFRyYW5zZm9ybSA9IHRyYW5zZm9ybT8ub3V0cHV0IHx8IGJ1aWx0SW5UcmFuc2Zvcm0/Lm91dHB1dDtcbiAgICAgIFxuICAgICAgaWYgKHR5cGVvZiBvdXRwdXRUcmFuc2Zvcm0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkVmFsdWUgPSAob3V0cHV0VHJhbnNmb3JtIGFzIGFueSkoLi4uYXJncyk7XG5cbiAgICAgICAgICBmaWVsZE9uQ2hhbmdlKHRyYW5zZm9ybWVkVmFsdWUpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGlmIChlbmFibGVXYXJuaW5ncyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndXNlRW5oYW5jZWRUcmFuc2Zvcm06IEVycm9yIGluIG91dHB1dCB0cmFuc2Zvcm1hdGlvbjonLCBlcnJvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRmFsbGJhY2sgdG8gcGFzc2luZyB0aHJvdWdoIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAgICAgIGZpZWxkT25DaGFuZ2UoYXJnc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChmaWVsZE9uQ2hhbmdlIGFzIGFueSkoLi4uYXJncyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZmllbGRPbkNoYW5nZSwgdHJhbnNmb3JtPy5vdXRwdXQsIGJ1aWx0SW5UcmFuc2Zvcm0/Lm91dHB1dCwgZW5hYmxlV2FybmluZ3NdXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdHJhbnNmb3JtZWRWYWx1ZSxcbiAgICBvbkNoYW5nZTogZW5oYW5jZWRPbkNoYW5nZSxcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlRW5oYW5jZWRUcmFuc2Zvcm07Il0sCiAgIm1hcHBpbmdzIjogIjtBQXlHTyxTQUFTLGFBS2QsU0FDaUQ7QUFDakQsUUFBTSxRQUNKLE9BQU8sUUFBUSxXQUFXLFVBQVUsYUFDaEMsUUFBUSxVQUFVLE1BQU0sUUFBUSxLQUFLLElBQ3JDLFFBQVE7QUFFZCxRQUFNLFdBQVcsSUFBSSxVQUFxQjtBQUN4QyxRQUFJLE9BQU8sUUFBUSxXQUFXLFdBQVcsWUFBWTtBQUNuRCxjQUFRLFNBQVMsUUFBUSxVQUFVLE9BQU8sR0FBRyxLQUFLLENBQUM7QUFBQSxJQUNyRCxPQUFPO0FBQ0wsY0FBUSxTQUFTLEdBQUcsS0FBSztBQUFBLElBQzNCO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFBQSxJQUNMO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFDRjs7O0FDaklBLFNBQVMsYUFBYSxlQUFlO0FBK0U5QixJQUFNLHFCQUFxQjtBQUFBLEVBQ2hDLFFBQVEsT0FBZ0Y7QUFBQSxJQUN0RixPQUFPLENBQUMsVUFBMEM7QUFDaEQsVUFBSSxTQUFTLEtBQU0sUUFBTztBQUUxQixhQUFPLE9BQU8sS0FBSztBQUFBLElBQ3JCO0FBQUEs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
|
package/dist/chunk-DEPJRTVT.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
|
package/dist/chunk-FD57PCAC.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstRkQ1N1BDQUMuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IkQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstRkQ1N1BDQUMuY2pzIn0=
|
package/dist/chunk-R2YK4LTT.cjs
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/hooks/useTransform/index.ts
|
|
2
|
-
function useTransform(options) {
|
|
3
|
-
const value = typeof _optionalChain([options, 'access', _ => _.transform, 'optionalAccess', _2 => _2.input]) === "function" ? options.transform.input(options.value) : options.value;
|
|
4
|
-
const onChange = (...event) => {
|
|
5
|
-
if (typeof _optionalChain([options, 'access', _3 => _3.transform, 'optionalAccess', _4 => _4.output]) === "function") {
|
|
6
|
-
options.onChange(options.transform.output(...event));
|
|
7
|
-
} else {
|
|
8
|
-
options.onChange(...event);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
return {
|
|
12
|
-
value,
|
|
13
|
-
onChange
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// src/hooks/useTransform/enhanced.ts
|
|
18
|
-
var _react = require('react');
|
|
19
|
-
var transformFactories = {
|
|
20
|
-
number: () => ({
|
|
21
|
-
input: (value) => {
|
|
22
|
-
if (value == null) return "";
|
|
23
|
-
return String(value);
|
|
24
|
-
},
|
|
25
|
-
output: (event) => {
|
|
26
|
-
const rawValue = event.target.value;
|
|
27
|
-
if (rawValue === "") return null;
|
|
28
|
-
const numValue = Number(rawValue);
|
|
29
|
-
return isNaN(numValue) ? null : numValue;
|
|
30
|
-
}
|
|
31
|
-
}),
|
|
32
|
-
text: () => ({
|
|
33
|
-
input: (value) => {
|
|
34
|
-
return _nullishCoalesce(value, () => ( ""));
|
|
35
|
-
},
|
|
36
|
-
output: (event) => {
|
|
37
|
-
return event.target.value;
|
|
38
|
-
}
|
|
39
|
-
}),
|
|
40
|
-
select: () => ({
|
|
41
|
-
input: (value) => {
|
|
42
|
-
return _nullishCoalesce(value, () => ( ""));
|
|
43
|
-
},
|
|
44
|
-
output: (event, value) => {
|
|
45
|
-
return _nullishCoalesce(_nullishCoalesce(value, () => ( _optionalChain([event, 'optionalAccess', _5 => _5.target, 'optionalAccess', _6 => _6.value]))), () => ( event));
|
|
46
|
-
}
|
|
47
|
-
})
|
|
48
|
-
};
|
|
49
|
-
function getBuiltInTransform(fieldType) {
|
|
50
|
-
switch (fieldType) {
|
|
51
|
-
case "number":
|
|
52
|
-
return transformFactories.number();
|
|
53
|
-
case "text":
|
|
54
|
-
return transformFactories.text();
|
|
55
|
-
case "select":
|
|
56
|
-
case "radio":
|
|
57
|
-
return transformFactories.select();
|
|
58
|
-
default:
|
|
59
|
-
return void 0;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function useEnhancedTransform(options) {
|
|
63
|
-
const {
|
|
64
|
-
value: fieldValue,
|
|
65
|
-
onChange: fieldOnChange,
|
|
66
|
-
transform,
|
|
67
|
-
fieldType,
|
|
68
|
-
defaultValue,
|
|
69
|
-
enableWarnings
|
|
70
|
-
} = options;
|
|
71
|
-
const builtInTransform = _react.useMemo.call(void 0,
|
|
72
|
-
() => fieldType ? getBuiltInTransform(fieldType) : void 0,
|
|
73
|
-
[fieldType]
|
|
74
|
-
);
|
|
75
|
-
if (enableWarnings && process.env.NODE_ENV === "development") {
|
|
76
|
-
if (transform && fieldType) {
|
|
77
|
-
console.warn(
|
|
78
|
-
"useEnhancedTransform: Both custom transform and fieldType provided. Custom transform will take precedence."
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const transformedValue = _react.useMemo.call(void 0, () => {
|
|
83
|
-
const inputTransform = _optionalChain([transform, 'optionalAccess', _7 => _7.input]) || _optionalChain([builtInTransform, 'optionalAccess', _8 => _8.input]);
|
|
84
|
-
if (typeof inputTransform === "function") {
|
|
85
|
-
return inputTransform(fieldValue);
|
|
86
|
-
}
|
|
87
|
-
if (fieldValue == null && defaultValue !== void 0) {
|
|
88
|
-
return defaultValue;
|
|
89
|
-
}
|
|
90
|
-
return fieldValue;
|
|
91
|
-
}, [fieldValue, _optionalChain([transform, 'optionalAccess', _9 => _9.input]), _optionalChain([builtInTransform, 'optionalAccess', _10 => _10.input]), defaultValue]);
|
|
92
|
-
const enhancedOnChange = _react.useCallback.call(void 0,
|
|
93
|
-
(...args) => {
|
|
94
|
-
const outputTransform = _optionalChain([transform, 'optionalAccess', _11 => _11.output]) || _optionalChain([builtInTransform, 'optionalAccess', _12 => _12.output]);
|
|
95
|
-
if (typeof outputTransform === "function") {
|
|
96
|
-
try {
|
|
97
|
-
const transformedValue2 = outputTransform(...args);
|
|
98
|
-
fieldOnChange(transformedValue2);
|
|
99
|
-
} catch (error) {
|
|
100
|
-
if (enableWarnings && process.env.NODE_ENV === "development") {
|
|
101
|
-
console.error("useEnhancedTransform: Error in output transformation:", error);
|
|
102
|
-
}
|
|
103
|
-
fieldOnChange(args[0]);
|
|
104
|
-
}
|
|
105
|
-
} else {
|
|
106
|
-
fieldOnChange(...args);
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
[fieldOnChange, _optionalChain([transform, 'optionalAccess', _13 => _13.output]), _optionalChain([builtInTransform, 'optionalAccess', _14 => _14.output]), enableWarnings]
|
|
110
|
-
);
|
|
111
|
-
return {
|
|
112
|
-
value: transformedValue,
|
|
113
|
-
onChange: enhancedOnChange
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
exports.useTransform = useTransform; exports.transformFactories = transformFactories; exports.useEnhancedTransform = useEnhancedTransform;
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstUjJZSzRMVFQuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsU0FBUyxZQUFZLENBQUMsT0FBTyxFQUFFO0FBQy9CLEVBQUUsTUFBTSxNQUFNLEVBQUUsdUJBQU8sT0FBTyxtQkFBQyxTQUFTLDZCQUFFLFFBQU0sSUFBSSxXQUFXLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLO0FBQ3ZILEVBQUUsTUFBTSxTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHO0FBQ2pDLElBQUksR0FBRyxDQUFDLHVCQUFPLE9BQU8scUJBQUMsU0FBUyw2QkFBRSxTQUFPLElBQUksVUFBVSxFQUFFO0FBQ3pELE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQzFELElBQUksRUFBRSxLQUFLO0FBQ1gsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ2hDLElBQUk7QUFDSixFQUFFLENBQUM7QUFDSCxFQUFFLE9BQU87QUFDVCxJQUFJLEtBQUs7QUFDVCxJQUFJO0FBQ0osRUFBRSxDQUFDO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsOEJBQTRDO0FBQzVDLElBQUksbUJBQW1CLEVBQUU7QUFDekIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztBQUNqQixJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHO0FBQ3RCLE1BQU0sR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQzFCLElBQUksQ0FBQztBQUNMLElBQUksTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUc7QUFDdkIsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDekMsTUFBTSxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxPQUFPLElBQUk7QUFDdEMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO0FBQ3ZDLE1BQU0sT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVE7QUFDOUMsSUFBSTtBQUNKLEVBQUUsQ0FBQyxDQUFDO0FBQ0osRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztBQUNmLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUc7QUFDdEIsTUFBTSx3QkFBTyxLQUFNLFVBQUcsSUFBRTtBQUN4QixJQUFJLENBQUM7QUFDTCxJQUFJLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHO0FBQ3ZCLE1BQU0sT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDL0IsSUFBSTtBQUNKLEVBQUUsQ0FBQyxDQUFDO0FBQ0osRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztBQUNqQixJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHO0FBQ3RCLE1BQU0sd0JBQU8sS0FBTSxVQUFHLElBQUU7QUFDeEIsSUFBSSxDQUFDO0FBQ0wsSUFBSSxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUc7QUFDOUIsTUFBTSx5Q0FBTyxLQUFNLDBCQUFHLEtBQUssNkJBQUUsTUFBTSw2QkFBRSxTQUFNLFVBQUcsT0FBSztBQUNuRCxJQUFJO0FBQ0osRUFBRSxDQUFDO0FBQ0gsQ0FBQztBQUNELFNBQVMsbUJBQW1CLENBQUMsU0FBUyxFQUFFO0FBQ3hDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRTtBQUNyQixJQUFJLEtBQUssUUFBUTtBQUNqQixNQUFNLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsSUFBSSxLQUFLLE1BQU07QUFDZixNQUFNLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsSUFBSSxLQUFLLFFBQVE7QUFDakIsSUFBSSxLQUFLLE9BQU87QUFDaEIsTUFBTSxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLElBQUksT0FBTztBQUNYLE1BQU0sT0FBTyxLQUFLLENBQUM7QUFDbkIsRUFBRTtBQUNGO0FBQ0EsU0FBUyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7QUFDdkMsRUFBRSxNQUFNO0FBQ1IsSUFBSSxLQUFLLEVBQUUsVUFBVTtBQUNyQixJQUFJLFFBQVEsRUFBRSxhQUFhO0FBQzNCLElBQUksU0FBUztBQUNiLElBQUksU0FBUztBQUNiLElBQUksWUFBWTtBQUNoQixJQUFJO0FBQ0osRUFBRSxFQUFFLEVBQUUsT0FBTztBQUNiLEVBQUUsTUFBTSxpQkFBaUIsRUFBRSw0QkFBTztBQUNsQyxJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLENBQUM7QUFDN0QsSUFBSSxDQUFDLFNBQVM7QUFDZCxFQUFFLENBQUM7QUFDSCxFQUFFLEdBQUcsQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksYUFBYSxFQUFFO0FBQ2hFLElBQUksR0FBRyxDQUFDLFVBQVUsR0FBRyxTQUFTLEVBQUU7QUFDaEMsTUFBTSxPQUFPLENBQUMsSUFBSTtBQUNsQixRQUFRO0FBQ1IsTUFBTSxDQUFDO0FBQ1AsSUFBSTtBQUNKLEVBQUU7QUFDRixFQUFFLE1BQU0saUJBQWlCLEVBQUUsNEJBQU8sQ0FBRSxFQUFFLEdBQUc7QUFDekMsSUFBSSxNQUFNLGVBQWUsa0JBQUUsU0FBUyw2QkFBRSxRQUFNLG1CQUFHLGdCQUFnQiw2QkFBRSxPQUFLO0FBQ3RFLElBQUksR0FBRyxDQUFDLE9BQU8sZUFBZSxJQUFJLFVBQVUsRUFBRTtBQUM5QyxNQUFNLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQztBQUN2QyxJQUFJO0FBQ0osSUFBSSxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDdkQsTUFBTSxPQUFPLFlBQVk7QUFDekIsSUFBSTtBQUNKLElBQUksT0FBTyxVQUFVO0FBQ3JCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxrQkFBRSxTQUFTLDZCQUFFLE9BQUssa0JBQUUsZ0JBQWdCLCtCQUFFLE9BQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUMzRSxFQUFFLE1BQU0saUJBQWlCLEVBQUUsZ0NBQVc7QUFDdEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUc7QUFDakIsTUFBTSxNQUFNLGdCQUFnQixrQkFBRSxTQUFTLCtCQUFFLFNBQU8sbUJBQUcsZ0JBQWdCLCtCQUFFLFFBQU07QUFDM0UsTUFBTSxHQUFHLENBQUMsT0FBTyxnQkFBZ0IsSUFBSSxVQUFVLEVBQUU7QUFDakQsUUFBUSxJQUFJO0FBQ1osVUFBVSxNQUFNLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM1RCxVQUFVLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztBQUMxQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUN4QixVQUFVLEdBQUcsQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksYUFBYSxFQUFFO0FBQ3hFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsRUFBRSxLQUFLLENBQUM7QUFDekYsVUFBVTtBQUNWLFVBQVUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxRQUFRO0FBQ1IsTUFBTSxFQUFFLEtBQUs7QUFDYixRQUFRLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM5QixNQUFNO0FBQ04sSUFBSSxDQUFDO0FBQ0wsSUFBSSxDQUFDLGFBQWEsa0JBQUUsU0FBUywrQkFBRSxRQUFNLGtCQUFFLGdCQUFnQiwrQkFBRSxRQUFNLEVBQUUsY0FBYztBQUMvRSxFQUFFLENBQUM7QUFDSCxFQUFFLE9BQU87QUFDVCxJQUFJLEtBQUssRUFBRSxnQkFBZ0I7QUFDM0IsSUFBSSxRQUFRLEVBQUU7QUFDZCxFQUFFLENBQUM7QUFDSDtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDRiwwSUFBQyIsImZpbGUiOiJEOlxcUHJvamVjdHNcXGdud2ViLW1vbm9yZXBvXFxwYWNrYWdlc1xcdWlcXGRpc3RcXGNodW5rLVIyWUs0TFRULmNqcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF19
|