@gnwebsoft/ui 3.0.8 → 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.
Files changed (44) hide show
  1. package/dist/chunk-3OPVOWQK.js +140 -0
  2. package/dist/chunk-AEOF2TUF.cjs +2273 -0
  3. package/dist/chunk-ALHC7RLK.js +575 -0
  4. package/dist/chunk-BRRLB22L.js +72 -0
  5. package/dist/chunk-CHZU4PZB.js +2273 -0
  6. package/dist/chunk-EBRUE2WR.cjs +1 -1
  7. package/dist/chunk-HEHPKM4B.cjs +140 -0
  8. package/dist/chunk-K2EJ4YKO.cjs +72 -0
  9. package/dist/chunk-MVPLBJRK.cjs +1 -1
  10. package/dist/chunk-XY4U6A77.cjs +575 -0
  11. package/dist/components/index.cjs +1 -1
  12. package/dist/{enhanced-z-I7EHVS.d.cts → enhanced-CDTkKUlj.d.ts} +5 -5
  13. package/dist/{enhanced-z-I7EHVS.d.ts → enhanced-ZQoS03Cd.d.cts} +5 -5
  14. package/dist/events-BcHVCLBz.d.cts +77 -0
  15. package/dist/events-BcHVCLBz.d.ts +77 -0
  16. package/dist/hooks/index.cjs +3 -3
  17. package/dist/hooks/index.d.cts +3 -2
  18. package/dist/hooks/index.d.ts +3 -2
  19. package/dist/hooks/index.js +1 -1
  20. package/dist/index.cjs +67 -6
  21. package/dist/index.d.cts +4 -3
  22. package/dist/index.d.ts +4 -3
  23. package/dist/index.js +65 -4
  24. package/dist/types/index.cjs +31 -2
  25. package/dist/types/index.d.cts +588 -1
  26. package/dist/types/index.d.ts +588 -1
  27. package/dist/types/index.js +30 -1
  28. package/dist/utils/index.cjs +37 -3
  29. package/dist/utils/index.d.cts +329 -13
  30. package/dist/utils/index.d.ts +329 -13
  31. package/dist/utils/index.js +35 -1
  32. package/dist/wrappers/index.cjs +4 -4
  33. package/dist/wrappers/index.d.cts +11 -9
  34. package/dist/wrappers/index.d.ts +11 -9
  35. package/dist/wrappers/index.js +2 -2
  36. package/package.json +2 -2
  37. package/dist/chunk-4H3AFH7A.js +0 -505
  38. package/dist/chunk-DE62KYFK.js +0 -122
  39. package/dist/chunk-DEPJRTVT.js +0 -1
  40. package/dist/chunk-FD57PCAC.cjs +0 -1
  41. package/dist/chunk-JCXHX2PZ.js +0 -2265
  42. package/dist/chunk-MW2UCDTI.cjs +0 -2265
  43. package/dist/chunk-R2YK4LTT.cjs +0 -122
  44. package/dist/chunk-ZC7FGYL2.cjs +0 -505
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstUjJZSzRMVFQuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsU0FBUyxZQUFZLENBQUMsT0FBTyxFQUFFO0FBQy9CLEVBQUUsTUFBTSxNQUFNLEVBQUUsdUJBQU8sT0FBTyxtQkFBQyxTQUFTLDZCQUFFLFFBQU0sSUFBSSxXQUFXLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxLQUFLO0FBQ3ZILEVBQUUsTUFBTSxTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHO0FBQ2pDLElBQUksR0FBRyxDQUFDLHVCQUFPLE9BQU8scUJBQUMsU0FBUyw2QkFBRSxTQUFPLElBQUksVUFBVSxFQUFFO0FBQ3pELE1BQU0sT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQzFELElBQUksRUFBRSxLQUFLO0FBQ1gsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ2hDLElBQUk7QUFDSixFQUFFLENBQUM7QUFDSCxFQUFFLE9BQU87QUFDVCxJQUFJLEtBQUs7QUFDVCxJQUFJO0FBQ0osRUFBRSxDQUFDO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsOEJBQTRDO0FBQzVDLElBQUksbUJBQW1CLEVBQUU7QUFDekIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztBQUNqQixJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHO0FBQ3RCLE1BQU0sR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFO0FBQ2xDLE1BQU0sT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0FBQzFCLElBQUksQ0FBQztBQUNMLElBQUksTUFBTSxFQUFF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LFVBQVUsQ0FBQztBQUN2QyxJQUFJO0FBQ0osSUFBSSxHQUFHLENBQUMsV0FBVyxHQUFHLEtBQUssR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDdkQsTUFBTSxPQUFPLFlBQVk7QUFDekIsSUFBSTtBQUNKLElBQUksT0FBTyxVQUFVO0FBQ3JCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxrQkFBRSxTQUFTLDZCQUFFLE9BQUssa0JBQUUsZ0JBQWdCLCtCQUFFLE9BQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUMzRSxFQUFFLE1BQU0saUJBQWlCLEVBQUUsZ0NBQVc7QUFDdEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUc7QUFDakIsTUFBTSxNQUFNLGdCQUFnQixrQkFBRSxTQUFTLCtCQUFFLFNBQU8sbUJBQUcsZ0JBQWdCLCtCQUFFLFFBQU07QUFDM0UsTUFBTSxHQUFHLENBQUMsT0FBTyxnQkFBZ0IsSUFBSSxVQUFVLEVBQUU7QUFDakQsUUFBUSxJQUFJO0FBQ1osVUFBVSxNQUFNLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM1RCxVQUFVLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztBQUMxQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUN4QixVQUFVLEdBQUcsQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksYUFBYSxFQUFFO0FBQ3hFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsRUFBRSxLQUFLLENBQUM7QUFDekYsVUFBVTtBQUNWLFVBQVUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQyxRQUFRO0FBQ1IsTUFBTSxFQUFFLEtBQUs7QUFDYixRQUFRLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUM5QixNQUFNO0FBQ04sSUFBSSxDQUFDO0FBQ0wsSUFBSSxDQUFDLGFBQWEsa0JBQUUsU0FBUywrQkFBRSxRQUFNLGtCQUFFLGdCQUFnQiwrQkFBRSxRQUFNLEVBQUUsY0FBYztBQUMvRSxFQUFFLENBQUM7QUFDSCxFQUFFLE9BQU87QUFDVCxJQUFJLEtBQUssRUFBRSxnQkFBZ0I7QUFDM0IsSUFBSSxRQUFRLEVBQUU7QUFDZCxFQUFFLENBQUM7QUFDSDtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDRiwwSUFBQyIsImZpbGUiOiJEOlxcUHJvamVjdHNcXGdud2ViLW1vbm9yZXBvXFxwYWNrYWdlc1xcdWlcXGRpc3RcXGNodW5rLVIyWUs0TFRULmNqcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF19
@@ -1,505 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/utils/api.ts
2
- var makeRequest = async (url, options = {}) => {
3
- const response = await fetch(url, options);
4
- if (response.ok) {
5
- const apiData = await response.json();
6
- return {
7
- apiData,
8
- status: response.status
9
- };
10
- } else if (response.status === 404) {
11
- const apiData = await response.json();
12
- const data = {
13
- status: response.status,
14
- title: apiData.title
15
- };
16
- return data;
17
- }
18
- const apiResponse = await response.json();
19
- return apiResponse;
20
- };
21
- var api = class {
22
- static async filter(url, postModel) {
23
- const alteredOptions = {
24
- headers: {
25
- "Content-Type": "application/json",
26
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
27
- },
28
- body: JSON.stringify({ ...postModel, ...postModel.filterModel }),
29
- method: "POST"
30
- };
31
- const apiResponse = await makeRequest(url, alteredOptions);
32
- return apiResponse;
33
- }
34
- static async post(url, body = {}) {
35
- const alteredOptions = {
36
- headers: {
37
- "Content-Type": "application/json",
38
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
39
- },
40
- body: JSON.stringify(body),
41
- method: "POST"
42
- };
43
- const apiResponse = await makeRequest(url, alteredOptions);
44
- return apiResponse;
45
- }
46
- static async get(url) {
47
- const alteredOptions = {
48
- headers: {
49
- "Content-Type": "application/json",
50
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
51
- },
52
- method: "GET"
53
- };
54
- const data = await makeRequest(url, alteredOptions);
55
- return data;
56
- }
57
- static async delete(url) {
58
- const alteredOptions = {
59
- headers: {
60
- "Content-Type": "application/json",
61
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
62
- },
63
- method: "DELETE"
64
- };
65
- const data = await makeRequest(url, alteredOptions);
66
- return data;
67
- }
68
- static async put(url, body = {}) {
69
- const alteredOptions = {
70
- headers: {
71
- "Content-Type": "application/json",
72
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
73
- },
74
- body: JSON.stringify(body),
75
- method: "PUT"
76
- };
77
- const apiResponse = await makeRequest(url, alteredOptions);
78
- return apiResponse;
79
- }
80
- static async fetch(url, options = {}) {
81
- const alteredOptions = {
82
- headers: {
83
- "Content-Type": "application/json",
84
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
85
- },
86
- ...options
87
- };
88
- const result = await fetch(url, alteredOptions);
89
- return result;
90
- }
91
- static async tempFetch(url, options = {}) {
92
- const alteredOptions = {
93
- headers: {
94
- "Content-Type": "application/json"
95
- },
96
- ...options
97
- };
98
- const apiResponse = await makeRequest(url, alteredOptions);
99
- return apiResponse;
100
- }
101
- static async upload(url, formData) {
102
- const alteredOptions = {
103
- headers: {
104
- Authorization: `Bearer ${localStorage.getItem("serviceToken")}`
105
- },
106
- body: formData,
107
- method: "POST"
108
- };
109
- const apiResponse = await makeRequest(url, alteredOptions);
110
- return apiResponse;
111
- }
112
- };
113
-
114
- // src/utils/api2.ts
115
- var makeRequest2 = async (url, options = {}) => {
116
- const response = await fetch(url, options);
117
- if (response.ok) {
118
- const apiData = await response.json();
119
- return {
120
- apiData,
121
- status: response.status
122
- };
123
- } else if (response.status === 404) {
124
- const apiData = await response.json();
125
- const data = {
126
- status: response.status,
127
- title: apiData.title
128
- };
129
- return data;
130
- }
131
- const apiResponse = await response.json();
132
- return apiResponse;
133
- };
134
- var api2 = class {
135
- static async filter(url, postModel) {
136
- const alteredOptions = {
137
- headers: {
138
- "Content-Type": "application/json",
139
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
140
- },
141
- body: JSON.stringify({ ...postModel, ...postModel.filterModel }),
142
- method: "POST"
143
- };
144
- const apiResponse = await makeRequest2(url, alteredOptions);
145
- return apiResponse;
146
- }
147
- static async post(url, body = {}) {
148
- const alteredOptions = {
149
- headers: {
150
- "Content-Type": "application/json",
151
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
152
- },
153
- body: JSON.stringify(body),
154
- method: "POST"
155
- };
156
- const apiResponse = await makeRequest2(url, alteredOptions);
157
- return apiResponse;
158
- }
159
- static async get(url) {
160
- const alteredOptions = {
161
- headers: {
162
- "Content-Type": "application/json",
163
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
164
- },
165
- method: "GET"
166
- };
167
- const data = await makeRequest2(url, alteredOptions);
168
- return data;
169
- }
170
- static async delete(url) {
171
- const alteredOptions = {
172
- headers: {
173
- "Content-Type": "application/json",
174
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
175
- },
176
- method: "DELETE"
177
- };
178
- const data = await makeRequest2(url, alteredOptions);
179
- return data;
180
- }
181
- static async put(url, body = {}) {
182
- const alteredOptions = {
183
- headers: {
184
- "Content-Type": "application/json",
185
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
186
- },
187
- body: JSON.stringify(body),
188
- method: "PUT"
189
- };
190
- const apiResponse = await makeRequest2(url, alteredOptions);
191
- return apiResponse;
192
- }
193
- static async fetch(url, options = {}) {
194
- const alteredOptions = {
195
- headers: {
196
- "Content-Type": "application/json",
197
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
198
- },
199
- ...options
200
- };
201
- const result = await fetch(url, alteredOptions);
202
- return result;
203
- }
204
- static async tempFetch(url, options = {}) {
205
- const alteredOptions = {
206
- headers: {
207
- "Content-Type": "application/json"
208
- },
209
- ...options
210
- };
211
- const apiResponse = await makeRequest2(url, alteredOptions);
212
- return apiResponse;
213
- }
214
- static async upload(url, formData) {
215
- const alteredOptions = {
216
- headers: {
217
- Authorization: `Bearer ${sessionStorage.getItem("serviceToken")}`
218
- },
219
- body: formData,
220
- method: "POST"
221
- };
222
- const apiResponse = await makeRequest2(url, alteredOptions);
223
- return apiResponse;
224
- }
225
- };
226
-
227
- // src/utils/flattenObjectKeys.ts
228
- var isNested = (obj) => typeof obj === "object" && obj !== null;
229
- var isArray = (obj) => Array.isArray(obj);
230
- var flattenObjectKeys = (obj, prefix = "") => {
231
- if (!isNested(obj)) {
232
- return {
233
- [prefix]: obj
234
- };
235
- }
236
- return Object.keys(obj).reduce((acc, key) => {
237
- const currentPrefix = prefix.length ? `${prefix}.` : "";
238
- if (isNested(obj[key]) && Object.keys(obj[key]).length) {
239
- if (isArray(obj[key]) && obj[key].length) {
240
- obj[key].forEach((item, index) => {
241
- Object.assign(
242
- acc,
243
- flattenObjectKeys(item, `${currentPrefix + key}.${index}`)
244
- );
245
- });
246
- } else {
247
- Object.assign(acc, flattenObjectKeys(obj[key], currentPrefix + key));
248
- }
249
- acc[currentPrefix + key] = obj[key];
250
- } else {
251
- acc[currentPrefix + key] = obj[key];
252
- }
253
- return acc;
254
- }, {});
255
- };
256
-
257
- // src/utils/getTimezone.ts
258
- function getTimezone(adapter, value) {
259
- return value == null || !adapter.utils.isValid(value) ? null : adapter.utils.getTimezone(value);
260
- }
261
-
262
- // src/utils/handleServerErrors.ts
263
- var handleServerErrors = function handleServerErrors2(args) {
264
- const { errors, setError } = args;
265
- for (const key in errors) {
266
- const isKeyInVariables = Object.keys(flattenObjectKeys(errors)).includes(
267
- key
268
- );
269
- if (!isKeyInVariables) {
270
- continue;
271
- }
272
- const fieldError = errors[key];
273
- let errorMessage = "";
274
- if (Array.isArray(fieldError)) {
275
- errorMessage = fieldError.join(" ");
276
- }
277
- if (typeof fieldError === "string") {
278
- errorMessage = fieldError;
279
- }
280
- if (typeof fieldError === "boolean" && fieldError) {
281
- errorMessage = "Field is not valid.";
282
- }
283
- setError(key, {
284
- message: errorMessage
285
- });
286
- }
287
- };
288
-
289
- // src/utils/propertyExists.ts
290
- function propertyExists(obj, prop) {
291
- return typeof obj === "object" && obj !== null && Object.prototype.hasOwnProperty.call(obj, prop);
292
- }
293
-
294
- // src/utils/readValueAsDate.ts
295
- function readValueAsDate(adapter, value) {
296
- if (typeof value === "string") {
297
- if (value === "") {
298
- return null;
299
- }
300
- return adapter.utils.date(value);
301
- }
302
- return value;
303
- }
304
-
305
- // src/utils/removeLeadingTrailingSlashes.ts
306
- var removeLeadingTrailingSlashes = (route) => {
307
- return route.replace(/^\/|\/$/g, "");
308
- };
309
-
310
- // src/utils/schemaTools.ts
311
- var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);
312
- var _zod = require('zod');
313
- var schemaTools = {
314
- // Date validations
315
- date: ({ message } = {}) => _zod.z.coerce.string().transform((c) => c === "null" || c === "undefined" ? null : c).refine((c) => !!c, { message: message || "Date is required" }).refine((c) => c ? _dayjs2.default.call(void 0, c).isValid() : true, {
316
- message: message || "Invalid date"
317
- }),
318
- nullableDate: ({ message } = {}) => _zod.z.coerce.string().transform((c) => c === "null" ? null : c).transform((c) => c === "undefined" ? null : c).refine((c) => !c && c !== null ? _dayjs2.default.call(void 0, c).isValid() : true, {
319
- message: message || "Invalid date"
320
- }),
321
- dateRange: ({ message } = {}) => _zod.z.object({
322
- start: _zod.z.coerce.date(),
323
- end: _zod.z.coerce.date()
324
- }).refine((data) => data.start <= data.end, {
325
- message: message || "Start date must be before or equal to end date"
326
- }),
327
- // String validations
328
- requiredString: ({ message, min, max } = {}) => _zod.z.string().trim().min(min || 1, message || `String must be at least ${min || 1} characters`).max(max || 255, message || `String must be at most ${max || 255} characters`),
329
- email: ({ message } = {}) => _zod.z.string().email(message || "Invalid email address").max(254, "Email must be at most 254 characters"),
330
- url: ({ message } = {}) => _zod.z.string().url(message || "Invalid URL format"),
331
- phone: ({ message } = {}) => _zod.z.string().regex(/^[\+]?[1-9][\d]{0,15}$/, message || "Invalid phone number format"),
332
- alphanumeric: ({ message } = {}) => _zod.z.string().regex(/^[a-zA-Z0-9]+$/, message || "Only letters and numbers are allowed"),
333
- slug: ({ message } = {}) => _zod.z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, message || "Invalid slug format"),
334
- // Number validations
335
- positiveNumber: ({ message, min, max } = {}) => _zod.z.number().positive(message || "Number must be positive").min(min || 0.01, `Number must be at least ${min || 0.01}`).max(max || Number.MAX_SAFE_INTEGER, `Number must be at most ${max || Number.MAX_SAFE_INTEGER}`),
336
- nonNegativeNumber: ({ message, max } = {}) => _zod.z.number().min(0, message || "Number must be non-negative").max(max || Number.MAX_SAFE_INTEGER, `Number must be at most ${max || Number.MAX_SAFE_INTEGER}`),
337
- integer: ({ message, min, max } = {}) => _zod.z.number().int(message || "Must be an integer").min(min || Number.MIN_SAFE_INTEGER, `Number must be at least ${min || Number.MIN_SAFE_INTEGER}`).max(max || Number.MAX_SAFE_INTEGER, `Number must be at most ${max || Number.MAX_SAFE_INTEGER}`),
338
- percentage: ({ message } = {}) => _zod.z.number().min(0, message || "Percentage must be between 0 and 100").max(100, message || "Percentage must be between 0 and 100"),
339
- // Array validations
340
- nonEmptyArray: (schema, { message } = {}) => _zod.z.array(schema).min(1, message || "At least one item is required"),
341
- uniqueArray: (schema, { message } = {}) => _zod.z.array(schema).refine((items) => new Set(items).size === items.length, {
342
- message: message || "All items must be unique"
343
- }),
344
- // Boolean validations
345
- requiredBoolean: ({ message } = {}) => _zod.z.boolean({
346
- message: message || "This field is required"
347
- }),
348
- // Object validations
349
- nonEmptyObject: (schema, { message } = {}) => schema.refine((obj) => Object.keys(obj).length > 0, {
350
- message: message || "Object cannot be empty"
351
- }),
352
- // File validations
353
- fileSize: ({ maxSize, message }) => _zod.z.instanceof(File).refine((file) => file.size <= maxSize, {
354
- message: message || `File size must be less than ${Math.round(maxSize / 1024 / 1024)}MB`
355
- }),
356
- fileType: ({ allowedTypes, message }) => _zod.z.instanceof(File).refine((file) => allowedTypes.includes(file.type), {
357
- message: message || `File type must be one of: ${allowedTypes.join(", ")}`
358
- }),
359
- // Custom validators
360
- conditional: (condition, trueSchema, falseSchema) => _zod.z.union([trueSchema, falseSchema]).superRefine((data, ctx) => {
361
- const shouldUseTrue = condition(data);
362
- const schema = shouldUseTrue ? trueSchema : falseSchema;
363
- const result = schema.safeParse(data);
364
- if (!result.success) {
365
- ctx.addIssue({
366
- code: _zod.z.ZodIssueCode.custom,
367
- message: result.error.message
368
- });
369
- }
370
- }),
371
- transform: {
372
- toLowerCase: _zod.z.string().transform((val) => val.toLowerCase()),
373
- toUpperCase: _zod.z.string().transform((val) => val.toUpperCase()),
374
- trim: _zod.z.string().transform((val) => val.trim()),
375
- toNumber: _zod.z.string().transform((val) => Number(val)),
376
- toBoolean: _zod.z.string().transform((val) => val === "true"),
377
- parseJson: (schema) => _zod.z.string().transform((val, ctx) => {
378
- try {
379
- const parsed = JSON.parse(val);
380
- const result = schema.safeParse(parsed);
381
- if (result.success) return result.data;
382
- ctx.addIssue({
383
- code: _zod.z.ZodIssueCode.custom,
384
- message: result.error.message
385
- });
386
- return _zod.z.NEVER;
387
- } catch (e) {
388
- ctx.addIssue({
389
- code: _zod.z.ZodIssueCode.custom,
390
- message: "Invalid JSON"
391
- });
392
- return _zod.z.NEVER;
393
- }
394
- })
395
- }
396
- };
397
-
398
- // src/utils/watch/core.ts
399
- var _reacthookform = require('react-hook-form');
400
- var useWatchForm = (control) => _reacthookform.useWatch.call(void 0, { control });
401
- var useWatchField = (control, name) => _reacthookform.useWatch.call(void 0, { control, name });
402
- var useWatchFields = (control, names) => _reacthookform.useWatch.call(void 0, { control, name: names });
403
-
404
- // src/utils/watch/utilities.ts
405
- var _react = require('react');
406
-
407
- var useWatchTransform = (control, name, transform) => {
408
- const value = _reacthookform.useWatch.call(void 0, { control, name });
409
- return _react.useMemo.call(void 0, () => transform(value), [value, transform]);
410
- };
411
- var useWatchDefault = (control, name, defaultValue) => {
412
- const value = _reacthookform.useWatch.call(void 0, { control, name });
413
- return _nullishCoalesce(value, () => ( defaultValue));
414
- };
415
- var useWatchBoolean = (control, name, defaultValue = false) => {
416
- const value = _reacthookform.useWatch.call(void 0, { control, name });
417
- return Boolean(_nullishCoalesce(value, () => ( defaultValue)));
418
- };
419
- var useWatchBatch = (control, fields) => {
420
- const values = _reacthookform.useWatch.call(void 0, { control, name: fields });
421
- return _react.useMemo.call(void 0, () => {
422
- const result = {};
423
- fields.forEach((field, index) => {
424
- result[field] = values[index];
425
- });
426
- return result;
427
- }, [values, fields]);
428
- };
429
- var useWatchConditional = (control, name, shouldWatch, fallback) => {
430
- const activeValue = _reacthookform.useWatch.call(void 0, {
431
- control,
432
- name,
433
- disabled: !shouldWatch
434
- });
435
- return shouldWatch ? activeValue : fallback;
436
- };
437
- var useWatchDebounced = (control, name, delay = 300) => {
438
- const value = _reacthookform.useWatch.call(void 0, { control, name });
439
- const [debouncedValue, setDebouncedValue] = _react.useState.call(void 0, value);
440
- _react.useEffect.call(void 0, () => {
441
- const timer = setTimeout(() => {
442
- setDebouncedValue(value);
443
- }, delay);
444
- return () => clearTimeout(timer);
445
- }, [value, delay]);
446
- return debouncedValue;
447
- };
448
- var useWatchSelector = (control, name, selector, deps = []) => {
449
- const value = _reacthookform.useWatch.call(void 0, { control, name });
450
- return _react.useMemo.call(void 0,
451
- () => selector(value),
452
- [value, selector, ...deps]
453
- // eslint-disable-line react-hooks/exhaustive-deps
454
- );
455
- };
456
-
457
- // src/utils/watch/index.ts
458
- var typedWatch = {
459
- // === CORE FUNCTIONS ===
460
- /** Watch entire form */
461
- form: useWatchForm,
462
- /** Watch single field */
463
- field: useWatchField,
464
- /** Watch multiple fields */
465
- fields: useWatchFields,
466
- // === UTILITY FUNCTIONS ===
467
- /** Watch with transformation */
468
- transform: useWatchTransform,
469
- /** Watch with default value */
470
- withDefault: useWatchDefault,
471
- /** Watch as boolean */
472
- boolean: useWatchBoolean,
473
- /** Watch multiple with custom keys */
474
- batch: useWatchBatch,
475
- /** Watch conditionally */
476
- conditional: useWatchConditional,
477
- /** Watch with debouncing */
478
- debounced: useWatchDebounced,
479
- /** Watch with selector */
480
- selector: useWatchSelector
481
- };
482
-
483
-
484
-
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
- exports.api = api; exports.api2 = api2; exports.flattenObjectKeys = flattenObjectKeys; exports.getTimezone = getTimezone; exports.handleServerErrors = handleServerErrors; exports.propertyExists = propertyExists; exports.readValueAsDate = readValueAsDate; exports.removeLeadingTrailingSlashes = removeLeadingTrailingSlashes; exports.schemaTools = schemaTools; exports.useWatchForm = useWatchForm; exports.useWatchField = useWatchField; exports.useWatchFields = useWatchFields; exports.useWatchTransform = useWatchTransform; exports.useWatchDefault = useWatchDefault; exports.useWatchBoolean = useWatchBoolean; exports.useWatchBatch = useWatchBatch; exports.useWatchConditional = useWatchConditional; exports.useWatchDebounced = useWatchDebounced; exports.useWatchSelector = useWatchSelector; exports.typedWatch = typedWatch;
505
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstWkM3RkdZTDIuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsSUFBSSxZQUFZLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRztBQUMvQyxFQUFFLE1BQU0sU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7QUFDNUMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtBQUNuQixJQUFJLE1BQU0sUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLElBQUksT0FBTztBQUNYLE1BQU0sT0FBTztBQUNiLE1BQU0sTUFBTSxFQUFFLFFBQVEsQ0FBQztBQUN2QixJQUFJLENBQUM7QUFDTCxFQUFFLEVBQUUsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxHQUFHLEVBQUU7QUFDdEMsSUFBSSxNQUFNLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxJQUFJLE1BQU0sS0FBSyxFQUFFO0FBQ2pCLE1BQU0sTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQzdCLE1BQU0sS0FBSyxFQUFFLE9BQU8sQ0FBQztBQUNyQixJQUFJLENBQUM7QUFDTCxJQUFJLE9BQU8sSUFBSTtBQUNmLEVBQUU7QUFDRixFQUFFLE1BQU0sWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNDLEVBQUUsT0FBTyxXQUFXO0FBQ3BCLENBQUM7QUFDRCxJQUFJLElBQUksRUFBRSxNQUFNO0FBQ2hCLEVBQUUsT0FBTyxNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFO0FBQ3RDLElBQUksTUFBTSxlQUFlLEVBQUU7QUFDM0IsTUFBTSxPQUFPLEVBQUU7QUFDZixRQUFRLGNBQWMsRUFBRSxrQkFBa0I7QUFDMUMsUUFBUSxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN0RSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IkQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstWkM3RkdZTDIuY2pzIiwic291cmNlc0NvbnRlbnQiOltudWxsXX0=