@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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +75 -77
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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: () =>
|
|
34
|
+
DocumentLinksStrings: () => import_adapter_utils.DocumentLinksStrings,
|
|
35
35
|
Dropdown: () => Dropdown_default,
|
|
36
36
|
DynamicFragment: () => DynamicFragment_default,
|
|
37
|
-
FieldClassName: () =>
|
|
37
|
+
FieldClassName: () => import_adapter_utils.FieldClassName,
|
|
38
38
|
FormLoading: () => FormLoading,
|
|
39
|
-
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: () =>
|
|
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
|
|
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
|
|
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
|
-
|
|
97
|
+
import_core.TextInput,
|
|
98
98
|
{
|
|
99
|
-
className: (0,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
|
|
129
|
+
import_core2.NumberInput,
|
|
131
130
|
{
|
|
132
|
-
className: (0,
|
|
131
|
+
className: (0, import_adapter_utils.FieldClassName)("fe-number", error),
|
|
133
132
|
autoComplete: "off",
|
|
134
|
-
value: !(0,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
193
|
+
import_core4.Select,
|
|
196
194
|
{
|
|
197
|
-
className: (0,
|
|
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,
|
|
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
|
|
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
|
-
|
|
227
|
+
import_core5.NativeSelect,
|
|
230
228
|
{
|
|
231
|
-
className: (0,
|
|
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,
|
|
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
|
|
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
|
-
|
|
260
|
+
import_core6.MultiSelect,
|
|
263
261
|
{
|
|
264
|
-
className: (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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:
|
|
323
|
-
"aria-label": `${fieldName} ${
|
|
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
|
|
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,
|
|
343
|
+
className: (0, import_adapter_utils.FieldClassName)("fe-slider", error),
|
|
346
344
|
"aria-invalid": !!error,
|
|
347
345
|
"aria-required": required,
|
|
348
|
-
"data-testid": (0,
|
|
346
|
+
"data-testid": (0, import_adapter_utils.GetFieldDataTestId)(fieldName, programName, entityType, entityId),
|
|
349
347
|
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
350
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
387
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
388
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
423
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
424
|
-
|
|
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
|
|
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
|
-
|
|
454
|
+
import_core11.Textarea,
|
|
457
455
|
{
|
|
458
|
-
className: (0,
|
|
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,
|
|
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
|
|
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
|
-
|
|
494
|
+
import_core12.FormStrings.autoSavePending,
|
|
497
495
|
" (",
|
|
498
496
|
errorCount,
|
|
499
497
|
" ",
|
|
500
|
-
|
|
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:
|
|
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
|
|
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 ||
|
|
511
|
-
const height = 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
|
|
525
|
+
var import_core14 = require("@form-eng/core");
|
|
528
526
|
var import_react2 = __toESM(require("react"));
|
|
529
527
|
function createMantineFieldRegistry() {
|
|
530
528
|
return {
|
|
531
|
-
[
|
|
532
|
-
[
|
|
533
|
-
[
|
|
534
|
-
[
|
|
535
|
-
[
|
|
536
|
-
[
|
|
537
|
-
[
|
|
538
|
-
[
|
|
539
|
-
[
|
|
540
|
-
[
|
|
541
|
-
[
|
|
542
|
-
[
|
|
543
|
-
[
|
|
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 ×\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_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 ×\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
|
-
|
|
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) => {
|
package/dist/index.mjs.map
CHANGED
|
@@ -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 ×\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 ×\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"]}
|