@form-eng/mantine 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { IFieldProps, Dictionary } from '@form-eng/core';
3
- export { DocumentLinksStrings, FieldClassName, GetFieldDataTestId, formatDateTime } from '@form-eng/core';
4
3
  import React from 'react';
5
4
  import { FieldError } from 'react-hook-form';
5
+ export { DocumentLinksStrings, FieldClassName, GetFieldDataTestId, formatDateTime } from '@form-eng/core/adapter-utils';
6
6
 
7
7
  interface ITextboxProps {
8
8
  ellipsifyTextCharacters?: number;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { IFieldProps, Dictionary } from '@form-eng/core';
3
- export { DocumentLinksStrings, FieldClassName, GetFieldDataTestId, formatDateTime } from '@form-eng/core';
4
3
  import React from 'react';
5
4
  import { FieldError } from 'react-hook-form';
5
+ export { DocumentLinksStrings, FieldClassName, GetFieldDataTestId, formatDateTime } from '@form-eng/core/adapter-utils';
6
6
 
7
7
  interface ITextboxProps {
8
8
  ellipsifyTextCharacters?: number;
package/dist/index.js CHANGED
@@ -31,12 +31,12 @@ var index_exports = {};
31
31
  __export(index_exports, {
32
32
  CheckboxGroup: () => CheckboxGroup_default,
33
33
  DateControl: () => DateControl_default,
34
- DocumentLinksStrings: () => import_core.DocumentLinksStrings,
34
+ DocumentLinksStrings: () => import_adapter_utils.DocumentLinksStrings,
35
35
  Dropdown: () => Dropdown_default,
36
36
  DynamicFragment: () => DynamicFragment_default,
37
- FieldClassName: () => import_core.FieldClassName,
37
+ FieldClassName: () => import_adapter_utils.FieldClassName,
38
38
  FormLoading: () => FormLoading,
39
- GetFieldDataTestId: () => import_core.GetFieldDataTestId,
39
+ GetFieldDataTestId: () => import_adapter_utils.GetFieldDataTestId,
40
40
  MultiSelect: () => MultiSelect_default,
41
41
  Number: () => Number_default,
42
42
  RadioGroup: () => RadioGroup_default,
@@ -49,12 +49,12 @@ __export(index_exports, {
49
49
  Textbox: () => Textbox_default,
50
50
  Toggle: () => Toggle_default,
51
51
  createMantineFieldRegistry: () => createMantineFieldRegistry,
52
- formatDateTime: () => import_core.formatDateTime
52
+ formatDateTime: () => import_adapter_utils.formatDateTime
53
53
  });
54
54
  module.exports = __toCommonJS(index_exports);
55
55
 
56
56
  // src/fields/Textbox.tsx
57
- var import_core2 = require("@mantine/core");
57
+ var import_core = require("@mantine/core");
58
58
 
59
59
  // src/components/ReadOnlyText.tsx
60
60
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -74,7 +74,7 @@ var ReadOnlyText = (props) => {
74
74
  };
75
75
 
76
76
  // src/helpers.ts
77
- var import_core = require("@form-eng/core");
77
+ var import_adapter_utils = require("@form-eng/core/adapter-utils");
78
78
 
79
79
  // src/fields/Textbox.tsx
80
80
  var import_jsx_runtime2 = require("react/jsx-runtime");
@@ -94,9 +94,9 @@ var Textbox = (props) => {
94
94
  );
95
95
  }
96
96
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
97
- import_core2.TextInput,
97
+ import_core.TextInput,
98
98
  {
99
- className: (0, import_core.FieldClassName)("fe-textbox", error),
99
+ className: (0, import_adapter_utils.FieldClassName)("fe-textbox", error),
100
100
  autoComplete: "off",
101
101
  value: value ?? "",
102
102
  onChange,
@@ -104,15 +104,14 @@ var Textbox = (props) => {
104
104
  required,
105
105
  "aria-invalid": !!error,
106
106
  "aria-required": required,
107
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
107
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
108
108
  }
109
109
  );
110
110
  };
111
111
  var Textbox_default = Textbox;
112
112
 
113
113
  // src/fields/Number.tsx
114
- var import_core3 = require("@form-eng/core");
115
- var import_core4 = require("@mantine/core");
114
+ var import_core2 = require("@mantine/core");
116
115
  var import_jsx_runtime3 = require("react/jsx-runtime");
117
116
  var NumberField = (props) => {
118
117
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
@@ -124,27 +123,26 @@ var NumberField = (props) => {
124
123
  }
125
124
  };
126
125
  if (readOnly) {
127
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReadOnlyText, { fieldName, value: !(0, import_core3.isNull)(value) ? String(value) : "" });
126
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ReadOnlyText, { fieldName, value: !(0, import_adapter_utils.isNull)(value) ? String(value) : "" });
128
127
  }
129
128
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
130
- import_core4.NumberInput,
129
+ import_core2.NumberInput,
131
130
  {
132
- className: (0, import_core.FieldClassName)("fe-number", error),
131
+ className: (0, import_adapter_utils.FieldClassName)("fe-number", error),
133
132
  autoComplete: "off",
134
- value: !(0, import_core3.isNull)(value) ? value : "",
133
+ value: !(0, import_adapter_utils.isNull)(value) ? value : "",
135
134
  onChange,
136
135
  required,
137
136
  "aria-invalid": !!error,
138
137
  "aria-required": required,
139
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
138
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
140
139
  }
141
140
  );
142
141
  };
143
142
  var Number_default = NumberField;
144
143
 
145
144
  // src/fields/Toggle.tsx
146
- var import_core5 = require("@form-eng/core");
147
- var import_core6 = require("@mantine/core");
145
+ var import_core3 = require("@mantine/core");
148
146
  var import_jsx_runtime4 = require("react/jsx-runtime");
149
147
  var Toggle = (props) => {
150
148
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
@@ -152,10 +150,10 @@ var Toggle = (props) => {
152
150
  setFieldValue(fieldName, event.currentTarget.checked);
153
151
  };
154
152
  if (readOnly) {
155
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ReadOnlyText, { fieldName, value: (0, import_core5.convertBooleanToYesOrNoText)(value) });
153
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ReadOnlyText, { fieldName, value: (0, import_adapter_utils.convertBooleanToYesOrNoText)(value) });
156
154
  }
157
155
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
158
- import_core6.Switch,
156
+ import_core3.Switch,
159
157
  {
160
158
  className: "fe-toggle",
161
159
  checked: !!value,
@@ -163,14 +161,14 @@ var Toggle = (props) => {
163
161
  required,
164
162
  "aria-invalid": !!error,
165
163
  "aria-required": required,
166
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
164
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
167
165
  }
168
166
  );
169
167
  };
170
168
  var Toggle_default = Toggle;
171
169
 
172
170
  // src/fields/Dropdown.tsx
173
- var import_core7 = require("@mantine/core");
171
+ var import_core4 = require("@mantine/core");
174
172
  var import_react = __toESM(require("react"));
175
173
  var import_jsx_runtime5 = require("react/jsx-runtime");
176
174
  var Dropdown = (props) => {
@@ -192,9 +190,9 @@ var Dropdown = (props) => {
192
190
  disabled: option.disabled
193
191
  })) ?? [];
194
192
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
195
- import_core7.Select,
193
+ import_core4.Select,
196
194
  {
197
- className: (0, import_core.FieldClassName)("fe-dropdown", error),
195
+ className: (0, import_adapter_utils.FieldClassName)("fe-dropdown", error),
198
196
  value: value ? String(value) : null,
199
197
  onChange,
200
198
  data,
@@ -203,14 +201,14 @@ var Dropdown = (props) => {
203
201
  required,
204
202
  "aria-invalid": !!error,
205
203
  "aria-required": required,
206
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
204
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
207
205
  }
208
206
  );
209
207
  };
210
208
  var Dropdown_default = Dropdown;
211
209
 
212
210
  // src/fields/SimpleDropdown.tsx
213
- var import_core8 = require("@mantine/core");
211
+ var import_core5 = require("@mantine/core");
214
212
  var import_jsx_runtime6 = require("react/jsx-runtime");
215
213
  var SimpleDropdown = (props) => {
216
214
  const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;
@@ -226,23 +224,23 @@ var SimpleDropdown = (props) => {
226
224
  ...simpleOptions.map((option) => ({ value: option, label: option }))
227
225
  ];
228
226
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
229
- import_core8.NativeSelect,
227
+ import_core5.NativeSelect,
230
228
  {
231
- className: (0, import_core.FieldClassName)("fe-simple-dropdown", error),
229
+ className: (0, import_adapter_utils.FieldClassName)("fe-simple-dropdown", error),
232
230
  value: value ?? "",
233
231
  onChange,
234
232
  data,
235
233
  required,
236
234
  "aria-invalid": !!error,
237
235
  "aria-required": required,
238
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
236
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
239
237
  }
240
238
  );
241
239
  };
242
240
  var SimpleDropdown_default = SimpleDropdown;
243
241
 
244
242
  // src/fields/MultiSelect.tsx
245
- var import_core9 = require("@mantine/core");
243
+ var import_core6 = require("@mantine/core");
246
244
  var import_jsx_runtime7 = require("react/jsx-runtime");
247
245
  var MultiSelect = (props) => {
248
246
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
@@ -259,9 +257,9 @@ var MultiSelect = (props) => {
259
257
  disabled: option.disabled
260
258
  })) ?? [];
261
259
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
262
- import_core9.MultiSelect,
260
+ import_core6.MultiSelect,
263
261
  {
264
- className: (0, import_core.FieldClassName)("fe-multi-select", error),
262
+ className: (0, import_adapter_utils.FieldClassName)("fe-multi-select", error),
265
263
  value: selectedValues,
266
264
  onChange,
267
265
  data,
@@ -269,14 +267,14 @@ var MultiSelect = (props) => {
269
267
  required,
270
268
  "aria-invalid": !!error,
271
269
  "aria-required": required,
272
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
270
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
273
271
  }
274
272
  );
275
273
  };
276
274
  var MultiSelect_default = MultiSelect;
277
275
 
278
276
  // src/fields/DateControl.tsx
279
- var import_core10 = require("@form-eng/core");
277
+ var import_core7 = require("@form-eng/core");
280
278
  var import_jsx_runtime8 = require("react/jsx-runtime");
281
279
  var DateControl = (props) => {
282
280
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;
@@ -296,7 +294,7 @@ var DateControl = (props) => {
296
294
  {
297
295
  className: "fe-read-only-date",
298
296
  dateTime: value,
299
- children: (0, import_core.formatDateTime)(value, { hideTimestamp: true })
297
+ children: (0, import_adapter_utils.formatDateTime)(value, { hideTimestamp: true })
300
298
  }
301
299
  ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "fe-read-only-text", children: "-" });
302
300
  }
@@ -310,7 +308,7 @@ var DateControl = (props) => {
310
308
  onChange,
311
309
  "aria-invalid": !!error,
312
310
  "aria-required": required,
313
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
311
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
314
312
  }
315
313
  ),
316
314
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
@@ -319,8 +317,8 @@ var DateControl = (props) => {
319
317
  type: "button",
320
318
  className: "fe-date-control__clear",
321
319
  onClick: onClear,
322
- title: import_core10.FormStrings.clickToClear,
323
- "aria-label": `${fieldName} ${import_core10.FormStrings.clear}`,
320
+ title: import_core7.FormStrings.clickToClear,
321
+ "aria-label": `${fieldName} ${import_core7.FormStrings.clear}`,
324
322
  children: "\xD7"
325
323
  }
326
324
  )
@@ -329,7 +327,7 @@ var DateControl = (props) => {
329
327
  var DateControl_default = DateControl;
330
328
 
331
329
  // src/fields/Slider.tsx
332
- var import_core11 = require("@mantine/core");
330
+ var import_core8 = require("@mantine/core");
333
331
  var import_jsx_runtime9 = require("react/jsx-runtime");
334
332
  var Slider = (props) => {
335
333
  const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;
@@ -342,12 +340,12 @@ var Slider = (props) => {
342
340
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
343
341
  "div",
344
342
  {
345
- className: (0, import_core.FieldClassName)("fe-slider", error),
343
+ className: (0, import_adapter_utils.FieldClassName)("fe-slider", error),
346
344
  "aria-invalid": !!error,
347
345
  "aria-required": required,
348
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
346
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
349
347
  children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
350
- import_core11.Slider,
348
+ import_core8.Slider,
351
349
  {
352
350
  value: value ?? 0,
353
351
  onChange,
@@ -363,7 +361,7 @@ var Slider = (props) => {
363
361
  var Slider_default = Slider;
364
362
 
365
363
  // src/fields/RadioGroup.tsx
366
- var import_core12 = require("@mantine/core");
364
+ var import_core9 = require("@mantine/core");
367
365
  var import_jsx_runtime10 = require("react/jsx-runtime");
368
366
  var RadioGroup = (props) => {
369
367
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
@@ -375,7 +373,7 @@ var RadioGroup = (props) => {
375
373
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ReadOnlyText, { fieldName, value: label });
376
374
  }
377
375
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
378
- import_core12.Radio.Group,
376
+ import_core9.Radio.Group,
379
377
  {
380
378
  className: "fe-radio-group",
381
379
  value: value ? String(value) : "",
@@ -383,9 +381,9 @@ var RadioGroup = (props) => {
383
381
  required,
384
382
  "aria-invalid": !!error,
385
383
  "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,
384
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
385
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Group, { mt: "xs", children: options?.map((option) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
386
+ import_core9.Radio,
389
387
  {
390
388
  value: String(option.value),
391
389
  label: option.label,
@@ -399,7 +397,7 @@ var RadioGroup = (props) => {
399
397
  var RadioGroup_default = RadioGroup;
400
398
 
401
399
  // src/fields/CheckboxGroup.tsx
402
- var import_core13 = require("@mantine/core");
400
+ var import_core10 = require("@mantine/core");
403
401
  var import_jsx_runtime11 = require("react/jsx-runtime");
404
402
  var CheckboxGroup = (props) => {
405
403
  const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;
@@ -412,16 +410,16 @@ var CheckboxGroup = (props) => {
412
410
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ReadOnlyText, { fieldName, value: labels ?? "" });
413
411
  }
414
412
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
415
- import_core13.Checkbox.Group,
413
+ import_core10.Checkbox.Group,
416
414
  {
417
415
  className: "fe-checkbox-group",
418
416
  value: selected,
419
417
  onChange,
420
418
  "aria-invalid": !!error,
421
419
  "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,
420
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
421
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_core10.Group, { mt: "xs", children: options?.map((option) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
422
+ import_core10.Checkbox,
425
423
  {
426
424
  value: String(option.value),
427
425
  label: option.label,
@@ -435,7 +433,7 @@ var CheckboxGroup = (props) => {
435
433
  var CheckboxGroup_default = CheckboxGroup;
436
434
 
437
435
  // src/fields/Textarea.tsx
438
- var import_core14 = require("@mantine/core");
436
+ var import_core11 = require("@mantine/core");
439
437
  var import_jsx_runtime12 = require("react/jsx-runtime");
440
438
  var Textarea = (props) => {
441
439
  const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;
@@ -453,9 +451,9 @@ var Textarea = (props) => {
453
451
  );
454
452
  }
455
453
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
456
- import_core14.Textarea,
454
+ import_core11.Textarea,
457
455
  {
458
- className: (0, import_core.FieldClassName)("fe-textarea", error),
456
+ className: (0, import_adapter_utils.FieldClassName)("fe-textarea", error),
459
457
  autoComplete: "off",
460
458
  value: value ? `${value}` : "",
461
459
  onChange,
@@ -465,7 +463,7 @@ var Textarea = (props) => {
465
463
  required,
466
464
  "aria-invalid": !!error,
467
465
  "aria-required": required,
468
- "data-testid": (0, import_core.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
466
+ "data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId)
469
467
  }
470
468
  );
471
469
  };
@@ -488,27 +486,27 @@ var ReadOnly = (props) => {
488
486
  var ReadOnly_default = ReadOnly;
489
487
 
490
488
  // src/components/StatusMessage.tsx
491
- var import_core15 = require("@form-eng/core");
489
+ var import_core12 = require("@form-eng/core");
492
490
  var import_jsx_runtime15 = require("react/jsx-runtime");
493
491
  var StatusMessage = (props) => {
494
492
  const { id, error, errorCount, savePending, saving } = props;
495
493
  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,
494
+ import_core12.FormStrings.autoSavePending,
497
495
  " (",
498
496
  errorCount,
499
497
  " ",
500
- import_core15.FormStrings.remaining,
498
+ import_core12.FormStrings.remaining,
501
499
  ")"
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 });
500
+ ] }) : saving ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { id, role: "status", style: { color: "var(--mantine-color-gray-6, #868e96)" }, children: import_core12.FormStrings.saving }) : null });
503
501
  };
504
502
 
505
503
  // src/components/FormLoading.tsx
506
- var import_core16 = require("@form-eng/core");
504
+ var import_core13 = require("@form-eng/core");
507
505
  var import_jsx_runtime16 = require("react/jsx-runtime");
508
506
  var FormLoading = (props) => {
509
507
  const { loadingShimmerCount, loadingFieldShimmerHeight, inPanel, hideTitleShimmer } = props;
510
- const count = loadingShimmerCount || import_core16.FormConstants.loadingShimmerCount;
511
- const height = loadingFieldShimmerHeight || import_core16.FormConstants.loadingFieldShimmerHeight;
508
+ const count = loadingShimmerCount || import_core13.FormConstants.loadingShimmerCount;
509
+ const height = loadingFieldShimmerHeight || import_core13.FormConstants.loadingFieldShimmerHeight;
512
510
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
513
511
  "div",
514
512
  {
@@ -524,23 +522,23 @@ var FormLoading = (props) => {
524
522
  };
525
523
 
526
524
  // src/registry.ts
527
- var import_core17 = require("@form-eng/core");
525
+ var import_core14 = require("@form-eng/core");
528
526
  var import_react2 = __toESM(require("react"));
529
527
  function createMantineFieldRegistry() {
530
528
  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)
529
+ [import_core14.ComponentTypes.Textbox]: import_react2.default.createElement(Textbox_default),
530
+ [import_core14.ComponentTypes.Number]: import_react2.default.createElement(Number_default),
531
+ [import_core14.ComponentTypes.Toggle]: import_react2.default.createElement(Toggle_default),
532
+ [import_core14.ComponentTypes.Dropdown]: import_react2.default.createElement(Dropdown_default),
533
+ [import_core14.ComponentTypes.SimpleDropdown]: import_react2.default.createElement(SimpleDropdown_default),
534
+ [import_core14.ComponentTypes.MultiSelect]: import_react2.default.createElement(MultiSelect_default),
535
+ [import_core14.ComponentTypes.DateControl]: import_react2.default.createElement(DateControl_default),
536
+ [import_core14.ComponentTypes.Slider]: import_react2.default.createElement(Slider_default),
537
+ [import_core14.ComponentTypes.RadioGroup]: import_react2.default.createElement(RadioGroup_default),
538
+ [import_core14.ComponentTypes.CheckboxGroup]: import_react2.default.createElement(CheckboxGroup_default),
539
+ [import_core14.ComponentTypes.Textarea]: import_react2.default.createElement(Textarea_default),
540
+ [import_core14.ComponentTypes.Fragment]: import_react2.default.createElement(DynamicFragment_default),
541
+ [import_core14.ComponentTypes.ReadOnly]: import_react2.default.createElement(ReadOnly_default)
544
542
  };
545
543
  }
546
544
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.js.map CHANGED
@@ -1 +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"]}
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 convertBooleanToYesOrNoText,\n isNull,\n} from \"@form-eng/core/adapter-utils\";\n","import { IFieldProps } from \"@form-eng/core\";\nimport { isNull } from \"../helpers\";\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 } from \"@form-eng/core\";\nimport { convertBooleanToYesOrNoText } from \"../helpers\";\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":"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","names":["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"]}
package/dist/index.mjs CHANGED
@@ -23,8 +23,10 @@ import {
23
23
  FieldClassName,
24
24
  GetFieldDataTestId,
25
25
  formatDateTime,
26
- DocumentLinksStrings
27
- } from "@form-eng/core";
26
+ DocumentLinksStrings,
27
+ convertBooleanToYesOrNoText,
28
+ isNull
29
+ } from "@form-eng/core/adapter-utils";
28
30
 
29
31
  // src/fields/Textbox.tsx
30
32
  import { jsx as jsx2 } from "react/jsx-runtime";
@@ -61,7 +63,6 @@ var Textbox = (props) => {
61
63
  var Textbox_default = Textbox;
62
64
 
63
65
  // src/fields/Number.tsx
64
- import { isNull } from "@form-eng/core";
65
66
  import { NumberInput } from "@mantine/core";
66
67
  import { jsx as jsx3 } from "react/jsx-runtime";
67
68
  var NumberField = (props) => {
@@ -93,7 +94,6 @@ var NumberField = (props) => {
93
94
  var Number_default = NumberField;
94
95
 
95
96
  // src/fields/Toggle.tsx
96
- import { convertBooleanToYesOrNoText } from "@form-eng/core";
97
97
  import { Switch } from "@mantine/core";
98
98
  import { jsx as jsx4 } from "react/jsx-runtime";
99
99
  var Toggle = (props) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../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":["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":"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","names":["jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","Group","jsx","Group","jsx","jsx","jsx","FormStrings","jsx","jsxs","jsx","jsxs","React"]}
1
+ {"version":3,"sources":["../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":["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 convertBooleanToYesOrNoText,\n isNull,\n} from \"@form-eng/core/adapter-utils\";\n","import { IFieldProps } from \"@form-eng/core\";\nimport { isNull } from \"../helpers\";\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 } from \"@form-eng/core\";\nimport { convertBooleanToYesOrNoText } from \"../helpers\";\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":"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","names":["jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","Group","jsx","Group","jsx","jsx","jsx","FormStrings","jsx","jsxs","jsx","jsxs","React"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@form-eng/mantine",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Mantine v7 field components for @form-eng/core",
5
5
  "repository": {
6
6
  "type": "git",