@form-eng/mantine 1.1.1

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/index.js ADDED
@@ -0,0 +1,570 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/index.ts
30
+ var index_exports = {};
31
+ __export(index_exports, {
32
+ CheckboxGroup: () => CheckboxGroup_default,
33
+ DateControl: () => DateControl_default,
34
+ DocumentLinksStrings: () => import_core.DocumentLinksStrings,
35
+ Dropdown: () => Dropdown_default,
36
+ DynamicFragment: () => DynamicFragment_default,
37
+ FieldClassName: () => import_core.FieldClassName,
38
+ FormLoading: () => FormLoading,
39
+ GetFieldDataTestId: () => import_core.GetFieldDataTestId,
40
+ MultiSelect: () => MultiSelect_default,
41
+ Number: () => Number_default,
42
+ RadioGroup: () => RadioGroup_default,
43
+ ReadOnly: () => ReadOnly_default,
44
+ ReadOnlyText: () => ReadOnlyText,
45
+ SimpleDropdown: () => SimpleDropdown_default,
46
+ Slider: () => Slider_default,
47
+ StatusMessage: () => StatusMessage,
48
+ Textarea: () => Textarea_default,
49
+ Textbox: () => Textbox_default,
50
+ Toggle: () => Toggle_default,
51
+ createMantineFieldRegistry: () => createMantineFieldRegistry,
52
+ formatDateTime: () => import_core.formatDateTime
53
+ });
54
+ module.exports = __toCommonJS(index_exports);
55
+
56
+ // src/fields/Textbox.tsx
57
+ var import_core2 = require("@mantine/core");
58
+
59
+ // src/components/ReadOnlyText.tsx
60
+ var import_jsx_runtime = require("react/jsx-runtime");
61
+ var ReadOnlyText = (props) => {
62
+ const { value, fieldName, ellipsifyTextCharacters } = props;
63
+ const cutoff = (ellipsifyTextCharacters || 0) - 3;
64
+ const displayValue = value ? ellipsifyTextCharacters && value.length > ellipsifyTextCharacters ? `${value.substring(0, cutoff)}...` : value : "-";
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
66
+ "span",
67
+ {
68
+ id: `${fieldName}-read-only`,
69
+ className: "fe-read-only-text",
70
+ title: value,
71
+ children: displayValue
72
+ }
73
+ );
74
+ };
75
+
76
+ // src/helpers.ts
77
+ var import_core = require("@form-eng/core");
78
+
79
+ // src/fields/Textbox.tsx
80
+ var import_jsx_runtime2 = require("react/jsx-runtime");
81
+ var Textbox = (props) => {
82
+ const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;
83
+ const onChange = (event) => {
84
+ setFieldValue(fieldName, event.target.value, false, 3e3);
85
+ };
86
+ if (readOnly) {
87
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
88
+ ReadOnlyText,
89
+ {
90
+ fieldName,
91
+ value,
92
+ ellipsifyTextCharacters: config?.ellipsifyTextCharacters
93
+ }
94
+ );
95
+ }
96
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
97
+ import_core2.TextInput,
98
+ {
99
+ className: (0, import_core.FieldClassName)("fe-textbox", error),
100
+ autoComplete: "off",
101
+ value: value ?? "",
102
+ onChange,
103
+ placeholder: placeholder ?? config?.placeHolder,
104
+ required,
105
+ "aria-invalid": !!error,
106
+ "aria-required": required,
107
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
108
+ }
109
+ );
110
+ };
111
+ var Textbox_default = Textbox;
112
+
113
+ // src/fields/Number.tsx
114
+ var import_core3 = require("@form-eng/core");
115
+ var import_core4 = require("@mantine/core");
116
+ var import_jsx_runtime3 = require("react/jsx-runtime");
117
+ var NumberField = (props) => {
118
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
119
+ const onChange = (val) => {
120
+ if (typeof val === "number") {
121
+ setFieldValue(fieldName, val, false, 1500);
122
+ } else if (val === "") {
123
+ setFieldValue(fieldName, null, false, 1500);
124
+ }
125
+ };
126
+ if (readOnly) {
127
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReadOnlyText, { fieldName, value: !(0, import_core3.isNull)(value) ? String(value) : "" });
128
+ }
129
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
130
+ import_core4.NumberInput,
131
+ {
132
+ className: (0, import_core.FieldClassName)("fe-number", error),
133
+ autoComplete: "off",
134
+ value: !(0, import_core3.isNull)(value) ? value : "",
135
+ onChange,
136
+ required,
137
+ "aria-invalid": !!error,
138
+ "aria-required": required,
139
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
140
+ }
141
+ );
142
+ };
143
+ var Number_default = NumberField;
144
+
145
+ // src/fields/Toggle.tsx
146
+ var import_core5 = require("@form-eng/core");
147
+ var import_core6 = require("@mantine/core");
148
+ var import_jsx_runtime4 = require("react/jsx-runtime");
149
+ var Toggle = (props) => {
150
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
151
+ const onChange = (event) => {
152
+ setFieldValue(fieldName, event.currentTarget.checked);
153
+ };
154
+ if (readOnly) {
155
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ReadOnlyText, { fieldName, value: (0, import_core5.convertBooleanToYesOrNoText)(value) });
156
+ }
157
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
158
+ import_core6.Switch,
159
+ {
160
+ className: "fe-toggle",
161
+ checked: !!value,
162
+ onChange,
163
+ required,
164
+ "aria-invalid": !!error,
165
+ "aria-required": required,
166
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
167
+ }
168
+ );
169
+ };
170
+ var Toggle_default = Toggle;
171
+
172
+ // src/fields/Dropdown.tsx
173
+ var import_core7 = require("@mantine/core");
174
+ var import_react = __toESM(require("react"));
175
+ var import_jsx_runtime5 = require("react/jsx-runtime");
176
+ var Dropdown = (props) => {
177
+ const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, options, placeholder, setFieldValue } = props;
178
+ const onChange = (val) => {
179
+ setFieldValue(fieldName, val ?? "");
180
+ };
181
+ import_react.default.useEffect(() => {
182
+ if (!value && !readOnly && config?.setDefaultKeyIfOnlyOneOption && options?.length === 1) {
183
+ setFieldValue(fieldName, String(options[0].value));
184
+ }
185
+ }, [options]);
186
+ if (readOnly) {
187
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ReadOnlyText, { fieldName, value });
188
+ }
189
+ const data = options?.map((option) => ({
190
+ value: String(option.value),
191
+ label: option.label,
192
+ disabled: option.disabled
193
+ })) ?? [];
194
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
195
+ import_core7.Select,
196
+ {
197
+ className: (0, import_core.FieldClassName)("fe-dropdown", error),
198
+ value: value ? String(value) : null,
199
+ onChange,
200
+ data,
201
+ placeholder: placeholder ?? config?.placeHolder,
202
+ clearable: true,
203
+ required,
204
+ "aria-invalid": !!error,
205
+ "aria-required": required,
206
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
207
+ }
208
+ );
209
+ };
210
+ var Dropdown_default = Dropdown;
211
+
212
+ // src/fields/SimpleDropdown.tsx
213
+ var import_core8 = require("@mantine/core");
214
+ var import_jsx_runtime6 = require("react/jsx-runtime");
215
+ var SimpleDropdown = (props) => {
216
+ const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;
217
+ const simpleOptions = config?.dropdownOptions ?? [];
218
+ const onChange = (event) => {
219
+ setFieldValue(fieldName, event.currentTarget.value);
220
+ };
221
+ if (readOnly) {
222
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ReadOnlyText, { fieldName, value });
223
+ }
224
+ const data = [
225
+ { value: "", label: placeholder ?? config?.placeHolder ?? "" },
226
+ ...simpleOptions.map((option) => ({ value: option, label: option }))
227
+ ];
228
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
229
+ import_core8.NativeSelect,
230
+ {
231
+ className: (0, import_core.FieldClassName)("fe-simple-dropdown", error),
232
+ value: value ?? "",
233
+ onChange,
234
+ data,
235
+ required,
236
+ "aria-invalid": !!error,
237
+ "aria-required": required,
238
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
239
+ }
240
+ );
241
+ };
242
+ var SimpleDropdown_default = SimpleDropdown;
243
+
244
+ // src/fields/MultiSelect.tsx
245
+ var import_core9 = require("@mantine/core");
246
+ var import_jsx_runtime7 = require("react/jsx-runtime");
247
+ var MultiSelect = (props) => {
248
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
249
+ const selectedValues = value ?? [];
250
+ const onChange = (val) => {
251
+ setFieldValue(fieldName, val, false, 1500);
252
+ };
253
+ if (readOnly) {
254
+ return selectedValues.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { className: "fe-multiselect-readonly", children: selectedValues.map((v, i) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("li", { children: v }, i)) }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "fe-read-only-text", children: "-" });
255
+ }
256
+ const data = options?.map((option) => ({
257
+ value: String(option.value),
258
+ label: option.label,
259
+ disabled: option.disabled
260
+ })) ?? [];
261
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
262
+ import_core9.MultiSelect,
263
+ {
264
+ className: (0, import_core.FieldClassName)("fe-multi-select", error),
265
+ value: selectedValues,
266
+ onChange,
267
+ data,
268
+ clearable: true,
269
+ required,
270
+ "aria-invalid": !!error,
271
+ "aria-required": required,
272
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
273
+ }
274
+ );
275
+ };
276
+ var MultiSelect_default = MultiSelect;
277
+
278
+ // src/fields/DateControl.tsx
279
+ var import_core10 = require("@form-eng/core");
280
+ var import_jsx_runtime8 = require("react/jsx-runtime");
281
+ var DateControl = (props) => {
282
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
283
+ const onChange = (event) => {
284
+ const date = new Date(event.target.value);
285
+ if (!isNaN(date.getTime())) {
286
+ setFieldValue(fieldName, date.toISOString());
287
+ }
288
+ };
289
+ const onClear = () => {
290
+ setFieldValue(fieldName, null);
291
+ };
292
+ const dateInputValue = value ? new Date(value).toISOString().split("T")[0] : "";
293
+ if (readOnly) {
294
+ return value ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
295
+ "time",
296
+ {
297
+ className: "fe-read-only-date",
298
+ dateTime: value,
299
+ children: (0, import_core.formatDateTime)(value, { hideTimestamp: true })
300
+ }
301
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "fe-read-only-text", children: "-" });
302
+ }
303
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "fe-date-control", children: [
304
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
305
+ "input",
306
+ {
307
+ type: "date",
308
+ className: "fe-date-control__input",
309
+ value: dateInputValue,
310
+ onChange,
311
+ "aria-invalid": !!error,
312
+ "aria-required": required,
313
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
314
+ }
315
+ ),
316
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
317
+ "button",
318
+ {
319
+ type: "button",
320
+ className: "fe-date-control__clear",
321
+ onClick: onClear,
322
+ title: import_core10.FormStrings.clickToClear,
323
+ "aria-label": `${fieldName} ${import_core10.FormStrings.clear}`,
324
+ children: "\xD7"
325
+ }
326
+ )
327
+ ] });
328
+ };
329
+ var DateControl_default = DateControl;
330
+
331
+ // src/fields/Slider.tsx
332
+ var import_core11 = require("@mantine/core");
333
+ var import_jsx_runtime9 = require("react/jsx-runtime");
334
+ var Slider = (props) => {
335
+ const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;
336
+ const onChange = (val) => {
337
+ setFieldValue(fieldName, val);
338
+ };
339
+ if (readOnly) {
340
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(ReadOnlyText, { fieldName, value: String(value) });
341
+ }
342
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
343
+ "div",
344
+ {
345
+ className: (0, import_core.FieldClassName)("fe-slider", error),
346
+ "aria-invalid": !!error,
347
+ "aria-required": required,
348
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
349
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
350
+ import_core11.Slider,
351
+ {
352
+ value: value ?? 0,
353
+ onChange,
354
+ max: config?.max,
355
+ min: config?.min,
356
+ step: config?.step,
357
+ label: (val) => String(val)
358
+ }
359
+ )
360
+ }
361
+ );
362
+ };
363
+ var Slider_default = Slider;
364
+
365
+ // src/fields/RadioGroup.tsx
366
+ var import_core12 = require("@mantine/core");
367
+ var import_jsx_runtime10 = require("react/jsx-runtime");
368
+ var RadioGroup = (props) => {
369
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
370
+ const onChange = (val) => {
371
+ setFieldValue(fieldName, val);
372
+ };
373
+ if (readOnly) {
374
+ const label = options?.find((o) => String(o.value) === String(value))?.label ?? value;
375
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ReadOnlyText, { fieldName, value: label });
376
+ }
377
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
378
+ import_core12.Radio.Group,
379
+ {
380
+ className: "fe-radio-group",
381
+ value: value ? String(value) : "",
382
+ onChange,
383
+ required,
384
+ "aria-invalid": !!error,
385
+ "aria-required": required,
386
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
387
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core12.Group, { mt: "xs", children: options?.map((option) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
388
+ import_core12.Radio,
389
+ {
390
+ value: String(option.value),
391
+ label: option.label,
392
+ disabled: option.disabled
393
+ },
394
+ String(option.value)
395
+ )) })
396
+ }
397
+ );
398
+ };
399
+ var RadioGroup_default = RadioGroup;
400
+
401
+ // src/fields/CheckboxGroup.tsx
402
+ var import_core13 = require("@mantine/core");
403
+ var import_jsx_runtime11 = require("react/jsx-runtime");
404
+ var CheckboxGroup = (props) => {
405
+ const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
406
+ const selected = Array.isArray(value) ? value : [];
407
+ const onChange = (val) => {
408
+ setFieldValue(fieldName, val);
409
+ };
410
+ if (readOnly) {
411
+ const labels = options?.filter((o) => selected.includes(String(o.value))).map((o) => o.label).join(", ");
412
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ReadOnlyText, { fieldName, value: labels ?? "" });
413
+ }
414
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
415
+ import_core13.Checkbox.Group,
416
+ {
417
+ className: "fe-checkbox-group",
418
+ value: selected,
419
+ onChange,
420
+ "aria-invalid": !!error,
421
+ "aria-required": required,
422
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
423
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_core13.Group, { mt: "xs", children: options?.map((option) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
424
+ import_core13.Checkbox,
425
+ {
426
+ value: String(option.value),
427
+ label: option.label,
428
+ disabled: option.disabled
429
+ },
430
+ String(option.value)
431
+ )) })
432
+ }
433
+ );
434
+ };
435
+ var CheckboxGroup_default = CheckboxGroup;
436
+
437
+ // src/fields/Textarea.tsx
438
+ var import_core14 = require("@mantine/core");
439
+ var import_jsx_runtime12 = require("react/jsx-runtime");
440
+ var Textarea = (props) => {
441
+ const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;
442
+ const onChange = (event) => {
443
+ setFieldValue(fieldName, event.target.value, false, 3e3);
444
+ };
445
+ if (readOnly) {
446
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
447
+ ReadOnlyText,
448
+ {
449
+ fieldName,
450
+ value: value ? `${value}` : "",
451
+ ellipsifyTextCharacters: config?.ellipsifyTextCharacters
452
+ }
453
+ );
454
+ }
455
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
456
+ import_core14.Textarea,
457
+ {
458
+ className: (0, import_core.FieldClassName)("fe-textarea", error),
459
+ autoComplete: "off",
460
+ value: value ? `${value}` : "",
461
+ onChange,
462
+ rows: config?.numberOfRows ?? 4,
463
+ autosize: config?.autoAdjustHeight,
464
+ maxLength: config?.maxLimit,
465
+ required,
466
+ "aria-invalid": !!error,
467
+ "aria-required": required,
468
+ "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
469
+ }
470
+ );
471
+ };
472
+ var Textarea_default = Textarea;
473
+
474
+ // src/fields/DynamicFragment.tsx
475
+ var import_jsx_runtime13 = require("react/jsx-runtime");
476
+ var DynamicFragment = (props) => {
477
+ const { value } = props;
478
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("input", { type: "hidden", value });
479
+ };
480
+ var DynamicFragment_default = DynamicFragment;
481
+
482
+ // src/fields/readonly/ReadOnly.tsx
483
+ var import_jsx_runtime14 = require("react/jsx-runtime");
484
+ var ReadOnly = (props) => {
485
+ const { fieldName, value, config } = props;
486
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ReadOnlyText, { fieldName, value, ...config });
487
+ };
488
+ var ReadOnly_default = ReadOnly;
489
+
490
+ // src/components/StatusMessage.tsx
491
+ var import_core15 = require("@form-eng/core");
492
+ var import_jsx_runtime15 = require("react/jsx-runtime");
493
+ var StatusMessage = (props) => {
494
+ const { id, error, errorCount, savePending, saving } = props;
495
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "fe-status-message", children: error ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { id, role: "alert", style: { color: "var(--mantine-color-red-6, #fa5252)" }, children: error.message || "Error" }) : savePending ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { id, role: "alert", style: { color: "var(--mantine-color-orange-6, #fd7e14)" }, children: [
496
+ import_core15.FormStrings.autoSavePending,
497
+ " (",
498
+ errorCount,
499
+ " ",
500
+ import_core15.FormStrings.remaining,
501
+ ")"
502
+ ] }) : saving ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { id, role: "status", style: { color: "var(--mantine-color-gray-6, #868e96)" }, children: import_core15.FormStrings.saving }) : null });
503
+ };
504
+
505
+ // src/components/FormLoading.tsx
506
+ var import_core16 = require("@form-eng/core");
507
+ var import_jsx_runtime16 = require("react/jsx-runtime");
508
+ var FormLoading = (props) => {
509
+ const { loadingShimmerCount, loadingFieldShimmerHeight, inPanel, hideTitleShimmer } = props;
510
+ const count = loadingShimmerCount || import_core16.FormConstants.loadingShimmerCount;
511
+ const height = loadingFieldShimmerHeight || import_core16.FormConstants.loadingFieldShimmerHeight;
512
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
513
+ "div",
514
+ {
515
+ className: `fe-form-loading ${inPanel ? "fe-form-loading--panel" : ""}`,
516
+ role: "status",
517
+ "aria-label": "Loading form",
518
+ children: [...Array(count)].map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { marginBottom: 16 }, children: [
519
+ !hideTitleShimmer && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "fe-skeleton", style: { width: "33%", height: 16, marginBottom: 8, background: "var(--mantine-color-gray-2, #e9ecef)", borderRadius: 4 } }),
520
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "fe-skeleton", style: { width: "100%", height, background: "var(--mantine-color-gray-2, #e9ecef)", borderRadius: 4 } })
521
+ ] }, `fe-loading-${i}`))
522
+ }
523
+ );
524
+ };
525
+
526
+ // src/registry.ts
527
+ var import_core17 = require("@form-eng/core");
528
+ var import_react2 = __toESM(require("react"));
529
+ function createMantineFieldRegistry() {
530
+ return {
531
+ [import_core17.ComponentTypes.Textbox]: import_react2.default.createElement(Textbox_default),
532
+ [import_core17.ComponentTypes.Number]: import_react2.default.createElement(Number_default),
533
+ [import_core17.ComponentTypes.Toggle]: import_react2.default.createElement(Toggle_default),
534
+ [import_core17.ComponentTypes.Dropdown]: import_react2.default.createElement(Dropdown_default),
535
+ [import_core17.ComponentTypes.SimpleDropdown]: import_react2.default.createElement(SimpleDropdown_default),
536
+ [import_core17.ComponentTypes.MultiSelect]: import_react2.default.createElement(MultiSelect_default),
537
+ [import_core17.ComponentTypes.DateControl]: import_react2.default.createElement(DateControl_default),
538
+ [import_core17.ComponentTypes.Slider]: import_react2.default.createElement(Slider_default),
539
+ [import_core17.ComponentTypes.RadioGroup]: import_react2.default.createElement(RadioGroup_default),
540
+ [import_core17.ComponentTypes.CheckboxGroup]: import_react2.default.createElement(CheckboxGroup_default),
541
+ [import_core17.ComponentTypes.Textarea]: import_react2.default.createElement(Textarea_default),
542
+ [import_core17.ComponentTypes.Fragment]: import_react2.default.createElement(DynamicFragment_default),
543
+ [import_core17.ComponentTypes.ReadOnly]: import_react2.default.createElement(ReadOnly_default)
544
+ };
545
+ }
546
+ // Annotate the CommonJS export names for ESM import in node:
547
+ 0 && (module.exports = {
548
+ CheckboxGroup,
549
+ DateControl,
550
+ DocumentLinksStrings,
551
+ Dropdown,
552
+ DynamicFragment,
553
+ FieldClassName,
554
+ FormLoading,
555
+ GetFieldDataTestId,
556
+ MultiSelect,
557
+ Number,
558
+ RadioGroup,
559
+ ReadOnly,
560
+ ReadOnlyText,
561
+ SimpleDropdown,
562
+ Slider,
563
+ StatusMessage,
564
+ Textarea,
565
+ Textbox,
566
+ Toggle,
567
+ createMantineFieldRegistry,
568
+ formatDateTime
569
+ });
570
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/fields/Textbox.tsx","../src/components/ReadOnlyText.tsx","../src/helpers.ts","../src/fields/Number.tsx","../src/fields/Toggle.tsx","../src/fields/Dropdown.tsx","../src/fields/SimpleDropdown.tsx","../src/fields/MultiSelect.tsx","../src/fields/DateControl.tsx","../src/fields/Slider.tsx","../src/fields/RadioGroup.tsx","../src/fields/CheckboxGroup.tsx","../src/fields/Textarea.tsx","../src/fields/DynamicFragment.tsx","../src/fields/readonly/ReadOnly.tsx","../src/components/StatusMessage.tsx","../src/components/FormLoading.tsx","../src/registry.ts"],"sourcesContent":["// Field components\nexport { default as Textbox } from \"./fields/Textbox\";\nexport { default as Number } from \"./fields/Number\";\nexport { default as Toggle } from \"./fields/Toggle\";\nexport { default as Dropdown } from \"./fields/Dropdown\";\nexport { default as SimpleDropdown } from \"./fields/SimpleDropdown\";\nexport { default as MultiSelect } from \"./fields/MultiSelect\";\nexport { default as DateControl } from \"./fields/DateControl\";\nexport { default as Slider } from \"./fields/Slider\";\nexport { default as RadioGroup } from \"./fields/RadioGroup\";\nexport { default as CheckboxGroup } from \"./fields/CheckboxGroup\";\nexport { default as Textarea } from \"./fields/Textarea\";\nexport { default as DynamicFragment } from \"./fields/DynamicFragment\";\n\n// Read-only fields\nexport { default as ReadOnly } from \"./fields/readonly/ReadOnly\";\n\n// Supporting components\nexport { ReadOnlyText } from \"./components/ReadOnlyText\";\nexport type { IReadOnlyFieldProps } from \"./components/ReadOnlyText\";\nexport { StatusMessage } from \"./components/StatusMessage\";\nexport { FormLoading } from \"./components/FormLoading\";\n\n// Registry\nexport { createMantineFieldRegistry } from \"./registry\";\n\n// Helpers\nexport { FieldClassName, GetFieldDataTestId, formatDateTime, DocumentLinksStrings } from \"./helpers\";\n","import { IFieldProps } from \"@form-eng/core\";\nimport { TextInput } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ITextboxProps {\n ellipsifyTextCharacters?: number;\n placeHolder?: string;\n multiline?: boolean;\n}\n\nconst Textbox = (props: IFieldProps<ITextboxProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, event.target.value, false, 3000);\n };\n\n if (readOnly) {\n return (\n <ReadOnlyText\n fieldName={fieldName}\n value={value as string}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n );\n }\n\n return (\n <TextInput\n className={FieldClassName(\"fe-textbox\", error)}\n autoComplete=\"off\"\n value={(value as string) ?? \"\"}\n onChange={onChange}\n placeholder={placeholder ?? config?.placeHolder}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default Textbox;\n","import React from \"react\";\n\nexport interface IReadOnlyFieldProps {\n readonly value?: string;\n readonly fieldName?: string;\n readonly labelClassName?: string;\n readonly valueClassName?: string;\n readonly showControlOnSide?: boolean;\n readonly containerClassName?: string;\n readonly ellipsifyTextCharacters?: number;\n}\n\nexport const ReadOnlyText: React.FunctionComponent<IReadOnlyFieldProps> = (props) => {\n const { value, fieldName, ellipsifyTextCharacters } = props;\n const cutoff = (ellipsifyTextCharacters || 0) - 3;\n\n const displayValue = value\n ? ellipsifyTextCharacters && value.length > ellipsifyTextCharacters\n ? `${value.substring(0, cutoff)}...`\n : value\n : \"-\";\n\n return (\n <span\n id={`${fieldName}-read-only`}\n className=\"fe-read-only-text\"\n title={value}\n >\n {displayValue}\n </span>\n );\n};\n\nexport default ReadOnlyText;\n","// Re-export shared field utilities from core\nexport {\n FieldClassName,\n GetFieldDataTestId,\n formatDateTime,\n DocumentLinksStrings,\n} from \"@form-eng/core\";\n","import { IFieldProps, isNull } from \"@form-eng/core\";\nimport { NumberInput } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nconst NumberField = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n const onChange = (val: number | string) => {\n // Mantine NumberInput passes number or empty string\n if (typeof val === \"number\") {\n setFieldValue(fieldName, val, false, 1500);\n } else if (val === \"\") {\n setFieldValue(fieldName, null, false, 1500);\n }\n };\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={!isNull(value) ? String(value) : \"\"} />;\n }\n\n return (\n <NumberInput\n className={FieldClassName(\"fe-number\", error)}\n autoComplete=\"off\"\n value={!isNull(value) ? (value as number) : \"\"}\n onChange={onChange}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default NumberField;\n","import { IFieldProps, convertBooleanToYesOrNoText } from \"@form-eng/core\";\nimport { Switch } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId } from \"../helpers\";\n\nconst Toggle = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, event.currentTarget.checked);\n };\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={convertBooleanToYesOrNoText(value as boolean)} />;\n }\n\n return (\n <Switch\n className=\"fe-toggle\"\n checked={!!value}\n onChange={onChange}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default Toggle;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Select } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface IDropdownProps {\n placeHolder?: string;\n setDefaultKeyIfOnlyOneOption?: boolean;\n}\n\nconst Dropdown = (props: IFieldProps<IDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, options, placeholder, setFieldValue } = props;\n\n const onChange = (val: string | null) => {\n setFieldValue(fieldName, val ?? \"\");\n };\n\n React.useEffect(() => {\n if (!value && !readOnly && config?.setDefaultKeyIfOnlyOneOption && options?.length === 1) {\n setFieldValue(fieldName, String(options[0].value));\n }\n }, [options]);\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={value as string} />;\n }\n\n const data = options?.map(option => ({\n value: String(option.value),\n label: option.label,\n disabled: option.disabled,\n })) ?? [];\n\n return (\n <Select\n className={FieldClassName(\"fe-dropdown\", error)}\n value={value ? String(value) : null}\n onChange={onChange}\n data={data}\n placeholder={placeholder ?? config?.placeHolder}\n clearable\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default Dropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { NativeSelect } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ISimpleDropdownProps {\n dropdownOptions?: string[];\n placeHolder?: string;\n}\n\nconst SimpleDropdown = (props: IFieldProps<ISimpleDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;\n\n const simpleOptions = config?.dropdownOptions ?? [];\n\n const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n setFieldValue(fieldName, event.currentTarget.value);\n };\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={value as string} />;\n }\n\n const data = [\n { value: \"\", label: placeholder ?? config?.placeHolder ?? \"\" },\n ...simpleOptions.map(option => ({ value: option, label: option })),\n ];\n\n return (\n <NativeSelect\n className={FieldClassName(\"fe-simple-dropdown\", error)}\n value={(value as string) ?? \"\"}\n onChange={onChange}\n data={data}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default SimpleDropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { MultiSelect as MantineMultiSelect } from \"@mantine/core\";\nimport React from \"react\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nconst MultiSelect = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selectedValues = (value as string[]) ?? [];\n\n const onChange = (val: string[]) => {\n setFieldValue(fieldName, val, false, 1500);\n };\n\n if (readOnly) {\n return selectedValues.length > 0 ? (\n <ul className=\"fe-multiselect-readonly\">\n {selectedValues.map((v, i) => (\n <li key={i}>{v}</li>\n ))}\n </ul>\n ) : (\n <span className=\"fe-read-only-text\">-</span>\n );\n }\n\n const data = options?.map(option => ({\n value: String(option.value),\n label: option.label,\n disabled: option.disabled,\n })) ?? [];\n\n return (\n <MantineMultiSelect\n className={FieldClassName(\"fe-multi-select\", error)}\n value={selectedValues}\n onChange={onChange}\n data={data}\n clearable\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default MultiSelect;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport React from \"react\";\nimport { GetFieldDataTestId, formatDateTime } from \"../helpers\";\n\nconst DateControl = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const date = new Date(event.target.value);\n if (!isNaN(date.getTime())) {\n setFieldValue(fieldName, date.toISOString());\n }\n };\n\n const onClear = () => {\n setFieldValue(fieldName, null);\n };\n\n const dateInputValue = value ? new Date(value as string).toISOString().split(\"T\")[0] : \"\";\n\n if (readOnly) {\n return value ? (\n <time\n className=\"fe-read-only-date\"\n dateTime={value as string}\n >\n {formatDateTime(value as string, { hideTimestamp: true })}\n </time>\n ) : (\n <span className=\"fe-read-only-text\">-</span>\n );\n }\n\n return (\n <div className=\"fe-date-control\">\n <input\n type=\"date\"\n className=\"fe-date-control__input\"\n value={dateInputValue}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n <button\n type=\"button\"\n className=\"fe-date-control__clear\"\n onClick={onClear}\n title={FormStrings.clickToClear}\n aria-label={`${fieldName} ${FormStrings.clear}`}\n >\n &times;\n </button>\n </div>\n );\n};\n\nexport default DateControl;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Slider as MantineSlider } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ISliderProps {\n max?: number;\n min?: number;\n step?: number;\n}\n\nconst Slider = (props: IFieldProps<ISliderProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;\n\n const onChange = (val: number) => {\n setFieldValue(fieldName, val);\n };\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(value)} />;\n }\n\n return (\n <div\n className={FieldClassName(\"fe-slider\", error)}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <MantineSlider\n value={(value as number) ?? 0}\n onChange={onChange}\n max={config?.max}\n min={config?.min}\n step={config?.step}\n label={(val) => String(val)}\n />\n </div>\n );\n};\n\nexport default Slider;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Radio, Group } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId } from \"../helpers\";\n\nconst RadioGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const onChange = (val: string) => {\n setFieldValue(fieldName, val);\n };\n\n if (readOnly) {\n const label = options?.find(o => String(o.value) === String(value))?.label ?? (value as string);\n return <ReadOnlyText fieldName={fieldName} value={label} />;\n }\n\n return (\n <Radio.Group\n className=\"fe-radio-group\"\n value={value ? String(value) : \"\"}\n onChange={onChange}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <Group mt=\"xs\">\n {options?.map(option => (\n <Radio\n key={String(option.value)}\n value={String(option.value)}\n label={option.label}\n disabled={option.disabled}\n />\n ))}\n </Group>\n </Radio.Group>\n );\n};\n\nexport default RadioGroup;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Checkbox, Group } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId } from \"../helpers\";\n\nconst CheckboxGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selected = Array.isArray(value) ? (value as string[]) : [];\n\n const onChange = (val: string[]) => {\n setFieldValue(fieldName, val);\n };\n\n if (readOnly) {\n const labels = options\n ?.filter(o => selected.includes(String(o.value)))\n .map(o => o.label)\n .join(\", \");\n return <ReadOnlyText fieldName={fieldName} value={labels ?? \"\"} />;\n }\n\n return (\n <Checkbox.Group\n className=\"fe-checkbox-group\"\n value={selected}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <Group mt=\"xs\">\n {options?.map(option => (\n <Checkbox\n key={String(option.value)}\n value={String(option.value)}\n label={option.label}\n disabled={option.disabled}\n />\n ))}\n </Group>\n </Checkbox.Group>\n );\n};\n\nexport default CheckboxGroup;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Textarea as MantineTextarea } from \"@mantine/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ITextareaProps {\n autoAdjustHeight?: boolean;\n numberOfRows?: number;\n ellipsifyTextCharacters?: number;\n maxLimit?: number;\n}\n\nconst Textarea = (props: IFieldProps<ITextareaProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n setFieldValue(fieldName, event.target.value, false, 3000);\n };\n\n if (readOnly) {\n return (\n <ReadOnlyText\n fieldName={fieldName}\n value={value ? `${value}` : \"\"}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n );\n }\n\n return (\n <MantineTextarea\n className={FieldClassName(\"fe-textarea\", error)}\n autoComplete=\"off\"\n value={value ? `${value}` : \"\"}\n onChange={onChange}\n rows={config?.numberOfRows ?? 4}\n autosize={config?.autoAdjustHeight}\n maxLength={config?.maxLimit}\n required={required}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default Textarea;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\n\nconst DynamicFragment = (props: IFieldProps<{}>) => {\n const { value } = props;\n return <input type=\"hidden\" value={value as string} />;\n};\n\nexport default DynamicFragment;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\nconst ReadOnly = (props: IFieldProps<IReadOnlyFieldProps>) => {\n const { fieldName, value, config } = props;\n return <ReadOnlyText fieldName={fieldName} value={value as string} {...config} />;\n};\n\nexport default ReadOnly;\n","import { FormStrings } from \"@form-eng/core\";\nimport React from \"react\";\nimport { FieldError } from \"react-hook-form\";\n\ninterface IStatusMessageProps {\n id?: string;\n readonly error?: FieldError;\n readonly errorCount?: number;\n readonly savePending?: boolean;\n readonly saving?: boolean;\n}\n\nexport const StatusMessage: React.FunctionComponent<IStatusMessageProps> = (props) => {\n const { id, error, errorCount, savePending, saving } = props;\n return (\n <div className=\"fe-status-message\">\n {error ? (\n <span id={id} role=\"alert\" style={{ color: \"var(--mantine-color-red-6, #fa5252)\" }}>\n {error.message || \"Error\"}\n </span>\n ) : savePending ? (\n <span id={id} role=\"alert\" style={{ color: \"var(--mantine-color-orange-6, #fd7e14)\" }}>\n {FormStrings.autoSavePending} ({errorCount} {FormStrings.remaining})\n </span>\n ) : saving ? (\n <span id={id} role=\"status\" style={{ color: \"var(--mantine-color-gray-6, #868e96)\" }}>\n {FormStrings.saving}\n </span>\n ) : null}\n </div>\n );\n};\n","import { FormConstants } from \"@form-eng/core\";\nimport React from \"react\";\n\ninterface IFormLoadingProps {\n loadingShimmerCount?: number;\n loadingFieldShimmerHeight?: number;\n inPanel?: boolean;\n hideTitleShimmer?: boolean;\n}\n\nexport const FormLoading = (props: IFormLoadingProps) => {\n const { loadingShimmerCount, loadingFieldShimmerHeight, inPanel, hideTitleShimmer } = props;\n const count = loadingShimmerCount || FormConstants.loadingShimmerCount;\n const height = loadingFieldShimmerHeight || FormConstants.loadingFieldShimmerHeight;\n\n return (\n <div\n className={`fe-form-loading ${inPanel ? \"fe-form-loading--panel\" : \"\"}`}\n role=\"status\"\n aria-label=\"Loading form\"\n >\n {[...Array(count)].map((_, i) => (\n <div key={`fe-loading-${i}`} style={{ marginBottom: 16 }}>\n {!hideTitleShimmer && (\n <div className=\"fe-skeleton\" style={{ width: \"33%\", height: 16, marginBottom: 8, background: \"var(--mantine-color-gray-2, #e9ecef)\", borderRadius: 4 }} />\n )}\n <div className=\"fe-skeleton\" style={{ width: \"100%\", height, background: \"var(--mantine-color-gray-2, #e9ecef)\", borderRadius: 4 }} />\n </div>\n ))}\n </div>\n );\n};\n\nexport default FormLoading;\n","import { ComponentTypes, Dictionary } from \"@form-eng/core\";\nimport Textbox from \"./fields/Textbox\";\nimport NumberField from \"./fields/Number\";\nimport Toggle from \"./fields/Toggle\";\nimport Dropdown from \"./fields/Dropdown\";\nimport SimpleDropdown from \"./fields/SimpleDropdown\";\nimport MultiSelect from \"./fields/MultiSelect\";\nimport DateControl from \"./fields/DateControl\";\nimport Slider from \"./fields/Slider\";\nimport RadioGroup from \"./fields/RadioGroup\";\nimport CheckboxGroup from \"./fields/CheckboxGroup\";\nimport Textarea from \"./fields/Textarea\";\nimport DynamicFragment from \"./fields/DynamicFragment\";\nimport ReadOnly from \"./fields/readonly/ReadOnly\";\nimport React from \"react\";\n\n/** Creates the default Mantine v7 field registry for use with InjectedFieldProvider */\nexport function createMantineFieldRegistry(): Dictionary<React.JSX.Element> {\n return {\n [ComponentTypes.Textbox]: React.createElement(Textbox),\n [ComponentTypes.Number]: React.createElement(NumberField),\n [ComponentTypes.Toggle]: React.createElement(Toggle),\n [ComponentTypes.Dropdown]: React.createElement(Dropdown),\n [ComponentTypes.SimpleDropdown]: React.createElement(SimpleDropdown),\n [ComponentTypes.MultiSelect]: React.createElement(MultiSelect),\n [ComponentTypes.DateControl]: React.createElement(DateControl),\n [ComponentTypes.Slider]: React.createElement(Slider),\n [ComponentTypes.RadioGroup]: React.createElement(RadioGroup),\n [ComponentTypes.CheckboxGroup]: React.createElement(CheckboxGroup),\n [ComponentTypes.Textarea]: React.createElement(Textarea),\n [ComponentTypes.Fragment]: React.createElement(DynamicFragment),\n [ComponentTypes.ReadOnly]: React.createElement(ReadOnly),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAAA,eAA0B;;;ACsBtB;AAXG,IAAM,eAA6D,CAAC,UAAU;AACnF,QAAM,EAAE,OAAO,WAAW,wBAAwB,IAAI;AACtD,QAAM,UAAU,2BAA2B,KAAK;AAEhD,QAAM,eAAe,QACjB,2BAA2B,MAAM,SAAS,0BACxC,GAAG,MAAM,UAAU,GAAG,MAAM,CAAC,QAC7B,QACF;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,GAAG,SAAS;AAAA,MAChB,WAAU;AAAA,MACV,OAAO;AAAA,MAEN;AAAA;AAAA,EACH;AAEJ;;;AC9BA,kBAKO;;;AFeD,IAAAC,sBAAA;AATN,IAAM,UAAU,CAAC,UAAsC;AACrD,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,QAAQ,OAAO,UAAU,aAAa,cAAc,IAAI;AAE/H,QAAM,WAAW,CAAC,UAA+C;AAC/D,kBAAc,WAAW,MAAM,OAAO,OAAO,OAAO,GAAI;AAAA,EAC1D;AAEA,MAAI,UAAU;AACZ,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,yBAAyB,QAAQ;AAAA;AAAA,IACnC;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,4BAAe,cAAc,KAAK;AAAA,MAC7C,cAAa;AAAA,MACb,OAAQ,SAAoB;AAAA,MAC5B;AAAA,MACA,aAAa,eAAe,QAAQ;AAAA,MACpC;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,kBAAQ;;;AG5Cf,IAAAC,eAAoC;AACpC,IAAAA,eAA4B;AAkBjB,IAAAC,sBAAA;AAbX,IAAM,cAAc,CAAC,UAA2B;AAC9C,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,cAAc,IAAI;AAE1G,QAAM,WAAW,CAAC,QAAyB;AAEzC,QAAI,OAAO,QAAQ,UAAU;AAC3B,oBAAc,WAAW,KAAK,OAAO,IAAI;AAAA,IAC3C,WAAW,QAAQ,IAAI;AACrB,oBAAc,WAAW,MAAM,OAAO,IAAI;AAAA,IAC5C;AAAA,EACF;AAEA,MAAI,UAAU;AACZ,WAAO,6CAAC,gBAAa,WAAsB,OAAO,KAAC,qBAAO,KAAK,IAAI,OAAO,KAAK,IAAI,IAAI;AAAA,EACzF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,4BAAe,aAAa,KAAK;AAAA,MAC5C,cAAa;AAAA,MACb,OAAO,KAAC,qBAAO,KAAK,IAAK,QAAmB;AAAA,MAC5C;AAAA,MACA;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,iBAAQ;;;ACpCf,IAAAC,eAAyD;AACzD,IAAAA,eAAuB;AAaZ,IAAAC,sBAAA;AARX,IAAM,SAAS,CAAC,UAA2B;AACzC,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,cAAc,IAAI;AAE1G,QAAM,WAAW,CAAC,UAA+C;AAC/D,kBAAc,WAAW,MAAM,cAAc,OAAO;AAAA,EACtD;AAEA,MAAI,UAAU;AACZ,WAAO,6CAAC,gBAAa,WAAsB,WAAO,0CAA4B,KAAgB,GAAG;AAAA,EACnG;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAS,CAAC,CAAC;AAAA,MACX;AAAA,MACA;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,iBAAQ;;;AC7Bf,IAAAC,eAAuB;AACvB,mBAAkB;AAuBP,IAAAC,sBAAA;AAdX,IAAM,WAAW,CAAC,UAAuC;AACvD,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,QAAQ,OAAO,UAAU,SAAS,aAAa,cAAc,IAAI;AAExI,QAAM,WAAW,CAAC,QAAuB;AACvC,kBAAc,WAAW,OAAO,EAAE;AAAA,EACpC;AAEA,eAAAC,QAAM,UAAU,MAAM;AACpB,QAAI,CAAC,SAAS,CAAC,YAAY,QAAQ,gCAAgC,SAAS,WAAW,GAAG;AACxF,oBAAc,WAAW,OAAO,QAAQ,CAAC,EAAE,KAAK,CAAC;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,UAAU;AACZ,WAAO,6CAAC,gBAAa,WAAsB,OAAwB;AAAA,EACrE;AAEA,QAAM,OAAO,SAAS,IAAI,aAAW;AAAA,IACnC,OAAO,OAAO,OAAO,KAAK;AAAA,IAC1B,OAAO,OAAO;AAAA,IACd,UAAU,OAAO;AAAA,EACnB,EAAE,KAAK,CAAC;AAER,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,4BAAe,eAAe,KAAK;AAAA,MAC9C,OAAO,QAAQ,OAAO,KAAK,IAAI;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,aAAa,eAAe,QAAQ;AAAA,MACpC,WAAS;AAAA,MACT;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,mBAAQ;;;ACjDf,IAAAC,eAA6B;AAoBlB,IAAAC,sBAAA;AAVX,IAAM,iBAAiB,CAAC,UAA6C;AACnE,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,QAAQ,OAAO,UAAU,aAAa,cAAc,IAAI;AAE/H,QAAM,gBAAgB,QAAQ,mBAAmB,CAAC;AAElD,QAAM,WAAW,CAAC,UAAgD;AAChE,kBAAc,WAAW,MAAM,cAAc,KAAK;AAAA,EACpD;AAEA,MAAI,UAAU;AACZ,WAAO,6CAAC,gBAAa,WAAsB,OAAwB;AAAA,EACrE;AAEA,QAAM,OAAO;AAAA,IACX,EAAE,OAAO,IAAI,OAAO,eAAe,QAAQ,eAAe,GAAG;AAAA,IAC7D,GAAG,cAAc,IAAI,aAAW,EAAE,OAAO,QAAQ,OAAO,OAAO,EAAE;AAAA,EACnE;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,4BAAe,sBAAsB,KAAK;AAAA,MACrD,OAAQ,SAAoB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,yBAAQ;;;AC1Cf,IAAAC,eAAkD;AAiBxC,IAAAC,sBAAA;AAbV,IAAM,cAAc,CAAC,UAA2B;AAC9C,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,cAAc,IAAI;AAEnH,QAAM,iBAAkB,SAAsB,CAAC;AAE/C,QAAM,WAAW,CAAC,QAAkB;AAClC,kBAAc,WAAW,KAAK,OAAO,IAAI;AAAA,EAC3C;AAEA,MAAI,UAAU;AACZ,WAAO,eAAe,SAAS,IAC7B,6CAAC,QAAG,WAAU,2BACX,yBAAe,IAAI,CAAC,GAAG,MACtB,6CAAC,QAAY,eAAJ,CAAM,CAChB,GACH,IAEA,6CAAC,UAAK,WAAU,qBAAoB,eAAC;AAAA,EAEzC;AAEA,QAAM,OAAO,SAAS,IAAI,aAAW;AAAA,IACnC,OAAO,OAAO,OAAO,KAAK;AAAA,IAC1B,OAAO,OAAO;AAAA,IACd,UAAU,OAAO;AAAA,EACnB,EAAE,KAAK,CAAC;AAER,SACE;AAAA,IAAC,aAAAC;AAAA,IAAA;AAAA,MACC,eAAW,4BAAe,mBAAmB,KAAK;AAAA,MAClD,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,WAAS;AAAA,MACT;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,sBAAQ;;;AC/Cf,IAAAC,gBAAyC;AAsBnC,IAAAC,sBAAA;AAlBN,IAAM,cAAc,CAAC,UAA2B;AAC9C,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,cAAc,IAAI;AAE1G,QAAM,WAAW,CAAC,UAA+C;AAC/D,UAAM,OAAO,IAAI,KAAK,MAAM,OAAO,KAAK;AACxC,QAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,GAAG;AAC1B,oBAAc,WAAW,KAAK,YAAY,CAAC;AAAA,IAC7C;AAAA,EACF;AAEA,QAAM,UAAU,MAAM;AACpB,kBAAc,WAAW,IAAI;AAAA,EAC/B;AAEA,QAAM,iBAAiB,QAAQ,IAAI,KAAK,KAAe,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,IAAI;AAEvF,MAAI,UAAU;AACZ,WAAO,QACL;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,UAAU;AAAA,QAET,0CAAe,OAAiB,EAAE,eAAe,KAAK,CAAC;AAAA;AAAA,IAC1D,IAEA,6CAAC,UAAK,WAAU,qBAAoB,eAAC;AAAA,EAEzC;AAEA,SACE,8CAAC,SAAI,WAAU,mBACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,OAAO;AAAA,QACP;AAAA,QACA,gBAAc,CAAC,CAAC;AAAA,QAChB,iBAAe;AAAA,QACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,IAC9E;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO,0BAAY;AAAA,QACnB,cAAY,GAAG,SAAS,IAAI,0BAAY,KAAK;AAAA,QAC9C;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,IAAO,sBAAQ;;;ACxDf,IAAAC,gBAAwC;AAmB7B,IAAAC,sBAAA;AARX,IAAM,SAAS,CAAC,UAAqC;AACnD,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,QAAQ,OAAO,UAAU,cAAc,IAAI;AAElH,QAAM,WAAW,CAAC,QAAgB;AAChC,kBAAc,WAAW,GAAG;AAAA,EAC9B;AAEA,MAAI,UAAU;AACZ,WAAO,6CAAC,gBAAa,WAAsB,OAAO,OAAO,KAAK,GAAG;AAAA,EACnE;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW,4BAAe,aAAa,KAAK;AAAA,MAC5C,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA,MAE5E;AAAA,QAAC,cAAAC;AAAA,QAAA;AAAA,UACC,OAAQ,SAAoB;AAAA,UAC5B;AAAA,UACA,KAAK,QAAQ;AAAA,UACb,KAAK,QAAQ;AAAA,UACb,MAAM,QAAQ;AAAA,UACd,OAAO,CAAC,QAAQ,OAAO,GAAG;AAAA;AAAA,MAC5B;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,iBAAQ;;;ACzCf,IAAAC,gBAA6B;AAclB,IAAAC,uBAAA;AATX,IAAM,aAAa,CAAC,UAA2B;AAC7C,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,cAAc,IAAI;AAEnH,QAAM,WAAW,CAAC,QAAgB;AAChC,kBAAc,WAAW,GAAG;AAAA,EAC9B;AAEA,MAAI,UAAU;AACZ,UAAM,QAAQ,SAAS,KAAK,OAAK,OAAO,EAAE,KAAK,MAAM,OAAO,KAAK,CAAC,GAAG,SAAU;AAC/E,WAAO,8CAAC,gBAAa,WAAsB,OAAO,OAAO;AAAA,EAC3D;AAEA,SACE;AAAA,IAAC,oBAAM;AAAA,IAAN;AAAA,MACC,WAAU;AAAA,MACV,OAAO,QAAQ,OAAO,KAAK,IAAI;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA,MAE5E,wDAAC,uBAAM,IAAG,MACP,mBAAS,IAAI,YACZ;AAAA,QAAC;AAAA;AAAA,UAEC,OAAO,OAAO,OAAO,KAAK;AAAA,UAC1B,OAAO,OAAO;AAAA,UACd,UAAU,OAAO;AAAA;AAAA,QAHZ,OAAO,OAAO,KAAK;AAAA,MAI1B,CACD,GACH;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;;;ACzCf,IAAAC,gBAAgC;AAmBrB,IAAAC,uBAAA;AAdX,IAAM,gBAAgB,CAAC,UAA2B;AAChD,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,OAAO,UAAU,SAAS,cAAc,IAAI;AAEnH,QAAM,WAAW,MAAM,QAAQ,KAAK,IAAK,QAAqB,CAAC;AAE/D,QAAM,WAAW,CAAC,QAAkB;AAClC,kBAAc,WAAW,GAAG;AAAA,EAC9B;AAEA,MAAI,UAAU;AACZ,UAAM,SAAS,SACX,OAAO,OAAK,SAAS,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,EAC/C,IAAI,OAAK,EAAE,KAAK,EAChB,KAAK,IAAI;AACZ,WAAO,8CAAC,gBAAa,WAAsB,OAAO,UAAU,IAAI;AAAA,EAClE;AAEA,SACE;AAAA,IAAC,uBAAS;AAAA,IAAT;AAAA,MACC,WAAU;AAAA,MACV,OAAO;AAAA,MACP;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA,MAE5E,wDAAC,uBAAM,IAAG,MACP,mBAAS,IAAI,YACZ;AAAA,QAAC;AAAA;AAAA,UAEC,OAAO,OAAO,OAAO,KAAK;AAAA,UAC1B,OAAO,OAAO;AAAA,UACd,UAAU,OAAO;AAAA;AAAA,QAHZ,OAAO,OAAO,KAAK;AAAA,MAI1B,CACD,GACH;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,wBAAQ;;;AC7Cf,IAAAC,gBAA4C;AAqBtC,IAAAC,uBAAA;AATN,IAAM,WAAW,CAAC,UAAuC;AACvD,QAAM,EAAE,WAAW,aAAa,YAAY,UAAU,OAAO,UAAU,QAAQ,OAAO,UAAU,cAAc,IAAI;AAElH,QAAM,WAAW,CAAC,UAAkD;AAClE,kBAAc,WAAW,MAAM,OAAO,OAAO,OAAO,GAAI;AAAA,EAC1D;AAEA,MAAI,UAAU;AACZ,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,QAAQ,GAAG,KAAK,KAAK;AAAA,QAC5B,yBAAyB,QAAQ;AAAA;AAAA,IACnC;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC,cAAAC;AAAA,IAAA;AAAA,MACC,eAAW,4BAAe,eAAe,KAAK;AAAA,MAC9C,cAAa;AAAA,MACb,OAAO,QAAQ,GAAG,KAAK,KAAK;AAAA,MAC5B;AAAA,MACA,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAChB,iBAAe;AAAA,MACf,mBAAa,gCAAmB,WAAW,aAAa,YAAY,QAAQ;AAAA;AAAA,EAC9E;AAEJ;AAEA,IAAO,mBAAQ;;;AC1CN,IAAAC,uBAAA;AAFT,IAAM,kBAAkB,CAAC,UAA2B;AAClD,QAAM,EAAE,MAAM,IAAI;AAClB,SAAO,8CAAC,WAAM,MAAK,UAAS,OAAwB;AACtD;AAEA,IAAO,0BAAQ;;;ACFN,IAAAC,uBAAA;AAFT,IAAM,WAAW,CAAC,UAA4C;AAC5D,QAAM,EAAE,WAAW,OAAO,OAAO,IAAI;AACrC,SAAO,8CAAC,gBAAa,WAAsB,OAAyB,GAAG,QAAQ;AACjF;AAEA,IAAO,mBAAQ;;;ACTf,IAAAC,gBAA4B;AAiBpB,IAAAC,uBAAA;AALD,IAAM,gBAA8D,CAAC,UAAU;AACpF,QAAM,EAAE,IAAI,OAAO,YAAY,aAAa,OAAO,IAAI;AACvD,SACE,8CAAC,SAAI,WAAU,qBACZ,kBACC,8CAAC,UAAK,IAAQ,MAAK,SAAQ,OAAO,EAAE,OAAO,sCAAsC,GAC9E,gBAAM,WAAW,SACpB,IACE,cACF,+CAAC,UAAK,IAAQ,MAAK,SAAQ,OAAO,EAAE,OAAO,yCAAyC,GACjF;AAAA,8BAAY;AAAA,IAAgB;AAAA,IAAG;AAAA,IAAW;AAAA,IAAE,0BAAY;AAAA,IAAU;AAAA,KACrE,IACE,SACF,8CAAC,UAAK,IAAQ,MAAK,UAAS,OAAO,EAAE,OAAO,uCAAuC,GAChF,oCAAY,QACf,IACE,MACN;AAEJ;;;AC/BA,IAAAC,gBAA8B;AAsBtB,IAAAC,uBAAA;AAZD,IAAM,cAAc,CAAC,UAA6B;AACvD,QAAM,EAAE,qBAAqB,2BAA2B,SAAS,iBAAiB,IAAI;AACtF,QAAM,QAAQ,uBAAuB,4BAAc;AACnD,QAAM,SAAS,6BAA6B,4BAAc;AAE1D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,mBAAmB,UAAU,2BAA2B,EAAE;AAAA,MACrE,MAAK;AAAA,MACL,cAAW;AAAA,MAEV,WAAC,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,MACzB,+CAAC,SAA4B,OAAO,EAAE,cAAc,GAAG,GACpD;AAAA,SAAC,oBACA,8CAAC,SAAI,WAAU,eAAc,OAAO,EAAE,OAAO,OAAO,QAAQ,IAAI,cAAc,GAAG,YAAY,wCAAwC,cAAc,EAAE,GAAG;AAAA,QAE1J,8CAAC,SAAI,WAAU,eAAc,OAAO,EAAE,OAAO,QAAQ,QAAQ,YAAY,wCAAwC,cAAc,EAAE,GAAG;AAAA,WAJ5H,cAAc,CAAC,EAKzB,CACD;AAAA;AAAA,EACH;AAEJ;;;AC/BA,IAAAC,gBAA2C;AAc3C,IAAAC,gBAAkB;AAGX,SAAS,6BAA4D;AAC1E,SAAO;AAAA,IACL,CAAC,6BAAe,OAAO,GAAG,cAAAC,QAAM,cAAc,eAAO;AAAA,IACrD,CAAC,6BAAe,MAAM,GAAG,cAAAA,QAAM,cAAc,cAAW;AAAA,IACxD,CAAC,6BAAe,MAAM,GAAG,cAAAA,QAAM,cAAc,cAAM;AAAA,IACnD,CAAC,6BAAe,QAAQ,GAAG,cAAAA,QAAM,cAAc,gBAAQ;AAAA,IACvD,CAAC,6BAAe,cAAc,GAAG,cAAAA,QAAM,cAAc,sBAAc;AAAA,IACnE,CAAC,6BAAe,WAAW,GAAG,cAAAA,QAAM,cAAc,mBAAW;AAAA,IAC7D,CAAC,6BAAe,WAAW,GAAG,cAAAA,QAAM,cAAc,mBAAW;AAAA,IAC7D,CAAC,6BAAe,MAAM,GAAG,cAAAA,QAAM,cAAc,cAAM;AAAA,IACnD,CAAC,6BAAe,UAAU,GAAG,cAAAA,QAAM,cAAc,kBAAU;AAAA,IAC3D,CAAC,6BAAe,aAAa,GAAG,cAAAA,QAAM,cAAc,qBAAa;AAAA,IACjE,CAAC,6BAAe,QAAQ,GAAG,cAAAA,QAAM,cAAc,gBAAQ;AAAA,IACvD,CAAC,6BAAe,QAAQ,GAAG,cAAAA,QAAM,cAAc,uBAAe;AAAA,IAC9D,CAAC,6BAAe,QAAQ,GAAG,cAAAA,QAAM,cAAc,gBAAQ;AAAA,EACzD;AACF;","names":["import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","React","import_core","import_jsx_runtime","import_core","import_jsx_runtime","MantineMultiSelect","import_core","import_jsx_runtime","import_core","import_jsx_runtime","MantineSlider","import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","MantineTextarea","import_jsx_runtime","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_react","React"]}