@axdspub/axiom-ui-forms 0.3.4 → 0.3.6
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/library/axiom-ui-forms.d.ts +31 -18
- package/library/esm/_virtual/index10.js +2 -2
- package/library/esm/_virtual/index11.js +2 -2
- package/library/esm/_virtual/index12.js +2 -2
- package/library/esm/_virtual/index13.js +2 -2
- package/library/esm/_virtual/index14.js +2 -2
- package/library/esm/_virtual/index3.js +2 -2
- package/library/esm/_virtual/index4.js +2 -2
- package/library/esm/_virtual/index5.js +2 -2
- package/library/esm/_virtual/index6.js +4 -4
- package/library/esm/_virtual/index7.js +4 -4
- package/library/esm/_virtual/index9.js +2 -2
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +2 -2
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
- package/library/esm/node_modules/ajv/dist/compile/codegen/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/compile/validate/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
- package/library/esm/node_modules/fast-uri/index.js +1 -1
- package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
- package/library/esm/node_modules/json-schema-traverse/index.js +1 -1
- package/library/esm/node_modules/unified/lib/index.js +1 -1
- package/library/esm/src/Form/Components/FieldCreator.js +76 -31
- package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
- package/library/esm/src/Form/Components/FieldLabel.js +81 -23
- package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Boolean.js +5 -2
- package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Constant.js +2 -2
- package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Number.js +1 -2
- package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/Object.js +32 -7
- package/library/esm/src/Form/Components/Inputs/Object.js.map +1 -1
- package/library/esm/src/Form/Creator/FormCreator.js +4 -4
- package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
- package/library/esm/src/Form/Creator/FormFields.js +1 -1
- package/library/esm/src/Form/Creator/FormFields.js.map +1 -1
- package/library/esm/src/Form/Creator/FormHeader.js +2 -1
- package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
- package/library/esm/src/Form/Creator/FormSection.js +1 -1
- package/library/esm/src/Form/Creator/FormSection.js.map +1 -1
- package/library/esm/src/Form/Creator/Wizard.js +3 -3
- package/library/esm/src/Form/Creator/Wizard.js.map +1 -1
- package/library/esm/src/utils/getters.js +36 -6
- package/library/esm/src/utils/getters.js.map +1 -1
- package/library/esm/src/utils/manipulators.js +28 -12
- package/library/esm/src/utils/manipulators.js.map +1 -1
- package/library/esm/src/utils/validators.js +21 -9
- package/library/esm/src/utils/validators.js.map +1 -1
- package/package.json +4 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
import { __exports as validate } from '../../../../../_virtual/
|
1
|
+
import { __exports as validate } from '../../../../../_virtual/index3.js';
|
2
2
|
import { __require as requireBoolSchema } from './boolSchema.js';
|
3
3
|
import { __require as requireDataType } from './dataType.js';
|
4
4
|
import { __require as requireApplicability } from './applicability.js';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { __exports as applicator } from '../../../../../_virtual/
|
1
|
+
import { __exports as applicator } from '../../../../../_virtual/index9.js';
|
2
2
|
import { __require as requireAdditionalItems } from './additionalItems.js';
|
3
3
|
import { __require as requirePrefixItems } from './prefixItems.js';
|
4
4
|
import { __require as requireItems } from './items.js';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { __exports as discriminator } from '../../../../../_virtual/
|
1
|
+
import { __exports as discriminator } from '../../../../../_virtual/index4.js';
|
2
2
|
import { __require as requireCodegen } from '../../compile/codegen/index.js';
|
3
3
|
import { __require as requireTypes } from './types.js';
|
4
4
|
import { __require as requireCompile } from '../../compile/index.js';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { __exports as validation } from '../../../../../_virtual/
|
1
|
+
import { __exports as validation } from '../../../../../_virtual/index12.js';
|
2
2
|
import { __require as requireLimitNumber } from './limitNumber.js';
|
3
3
|
import { __require as requireMultipleOf } from './multipleOf.js';
|
4
4
|
import { __require as requireLimitLength } from './limitLength.js';
|
@@ -2,7 +2,7 @@ import { stringify } from '../../comma-separated-tokens/index.js';
|
|
2
2
|
import { ok } from '../../devlop/lib/default.js';
|
3
3
|
import { svg, html } from '../../property-information/index.js';
|
4
4
|
import { stringify as stringify$1 } from '../../space-separated-tokens/index.js';
|
5
|
-
import styleToJs from '../../../_virtual/
|
5
|
+
import styleToJs from '../../../_virtual/index7.js';
|
6
6
|
import { whitespace } from '../../hast-util-whitespace/lib/index.js';
|
7
7
|
import { name } from '../../estree-util-is-identifier-name/lib/index.js';
|
8
8
|
import { VFileMessage } from '../../vfile-message/lib/index.js';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { bail } from '../../bail/index.js';
|
2
|
-
import extend from '../../../_virtual/
|
2
|
+
import extend from '../../../_virtual/index6.js';
|
3
3
|
import isPlainObject from '../node_modules/is-plain-obj/index.js';
|
4
4
|
import { CallableInstance } from './callable-instance.js';
|
5
5
|
import { trough } from '../../trough/lib/index.js';
|
@@ -2,13 +2,15 @@ import { __assign, __spreadArray } from '../../../node_modules/tslib/tslib.es6.j
|
|
2
2
|
import FieldLabel from './FieldLabel.js';
|
3
3
|
import inputMap from './Inputs/inputMap.js';
|
4
4
|
import { useFormContext } from '../Creator/FormContextProvider.js';
|
5
|
-
import { getFieldValue } from '../../utils/getters.js';
|
6
|
-
import { createOneOfMultipleField, cleanAndUpdateFormValuesWithFieldValue
|
5
|
+
import { getFieldValue, makeJsonPath } from '../../utils/getters.js';
|
6
|
+
import { createOneOfMultipleField, cleanAndUpdateFormValuesWithFieldValue } from '../../utils/manipulators.js';
|
7
7
|
import { checkCondition } from '../../utils/validators.js';
|
8
8
|
import { utils as index$1, Button } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
9
9
|
import { ExclamationTriangleIcon, PlusIcon, CopyIcon, CheckIcon, Cross1Icon, TrashIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
10
10
|
import React__default, { useState } from 'react';
|
11
11
|
|
12
|
+
var _a, _b;
|
13
|
+
var SHOW_DEBUG = ((_b = (_a = import.meta) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.VITE_SHOW_DEBUG) === 'true';
|
12
14
|
var disabledClassName = ''; // 'opacity-50 pointer-events-none cursor-not-allowed'
|
13
15
|
var toolButtonClass = 'border-white hover:border-single hover:border-1 hover:border-slate-400';
|
14
16
|
var DeleteMultiple = function (_a) {
|
@@ -33,6 +35,20 @@ var DeleteMultiple = function (_a) {
|
|
33
35
|
"Delete ",
|
34
36
|
React__default.createElement(TrashIcon, { className: 'inline ml-2 fill-white' }))));
|
35
37
|
};
|
38
|
+
var getFieldWrapperClass = function (field) {
|
39
|
+
var _a, _b;
|
40
|
+
var cl = [];
|
41
|
+
var level = (_a = field.level) !== null && _a !== void 0 ? _a : 0;
|
42
|
+
var type = field.type;
|
43
|
+
var multiple = (_b = field.multiple) !== null && _b !== void 0 ? _b : false;
|
44
|
+
if ((type === 'object' && level > 1) || multiple) {
|
45
|
+
cl.push('p-4');
|
46
|
+
if (level > 0) {
|
47
|
+
cl.push(level % 2 ? 'bg-slate-200' : 'bg-slate-100');
|
48
|
+
}
|
49
|
+
}
|
50
|
+
return cl.join(' ');
|
51
|
+
};
|
36
52
|
var OneOfMultiple = function (_a) {
|
37
53
|
var InputComponent = _a.InputComponent, field = _a.field, value = _a.value, index = _a.index, onChange = _a.onChange, values = _a.values, _b = _a.disabled, disabled = _b === void 0 ? false : _b;
|
38
54
|
var addValue = function (v) {
|
@@ -40,18 +56,13 @@ var OneOfMultiple = function (_a) {
|
|
40
56
|
newValues.splice(index + 1, 0, v);
|
41
57
|
onChange(newValues);
|
42
58
|
};
|
43
|
-
return (React__default.createElement("div", { className: "flex flex-col gap-2".concat(disabled ? " ".concat(disabledClassName) : '') },
|
59
|
+
return (React__default.createElement("div", { className: "flex flex-col gap-2".concat(disabled ? " ".concat(disabledClassName) : '', " py-2 ").concat(getFieldWrapperClass(field)), "data-testid": "field-".concat(field.id, "-").concat(index) },
|
44
60
|
React__default.createElement(InputComponent, { field: field, value: value, disabled: disabled, onChange: function (v) {
|
45
61
|
var newValues = __spreadArray([], values, true);
|
46
62
|
newValues[index] = v;
|
47
63
|
onChange(newValues);
|
48
64
|
} }),
|
49
|
-
React__default.createElement("div", { className: 'flex flex-row
|
50
|
-
index > 0 && (React__default.createElement(DeleteMultiple, { doDelete: function () {
|
51
|
-
var newValues = __spreadArray([], values, true);
|
52
|
-
newValues.splice(index, 1);
|
53
|
-
onChange(newValues);
|
54
|
-
} })),
|
65
|
+
React__default.createElement("div", { className: 'flex flex-row w-full p-2 gap-4' },
|
55
66
|
React__default.createElement("div", { className: 'flex gap-2' },
|
56
67
|
React__default.createElement(Button, { size: 'xs', className: toolButtonClass, onClick: function () {
|
57
68
|
addValue(null);
|
@@ -62,14 +73,24 @@ var OneOfMultiple = function (_a) {
|
|
62
73
|
addValue(structuredClone(value));
|
63
74
|
} },
|
64
75
|
"Duplicate ",
|
65
|
-
React__default.createElement(CopyIcon, { className: 'inline ml-2' })))
|
76
|
+
React__default.createElement(CopyIcon, { className: 'inline ml-2' }))),
|
77
|
+
index > 0 && (React__default.createElement(DeleteMultiple, { doDelete: function () {
|
78
|
+
var newValues = __spreadArray([], values, true);
|
79
|
+
newValues.splice(index, 1);
|
80
|
+
onChange(newValues);
|
81
|
+
} })))));
|
66
82
|
};
|
67
83
|
var MultipleFieldCreator = function (_a) {
|
68
84
|
var field = _a.field, onChange = _a.onChange, _b = _a.disabled, disabled = _b === void 0 ? false : _b, value = _a.value;
|
69
|
-
var _c = useFormContext(), formValues = _c.formValues, setFormValues = _c.setFormValues, inputOverrides = _c.inputOverrides;
|
85
|
+
var _c = useFormContext(), formValues = _c.formValues, setFormValues = _c.setFormValues, inputOverrides = _c.inputOverrides, form = _c.form;
|
70
86
|
var defaultOnChange = function (v) {
|
71
|
-
var
|
72
|
-
|
87
|
+
var formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({
|
88
|
+
form: form,
|
89
|
+
field: field,
|
90
|
+
value: v,
|
91
|
+
formValues: formValues
|
92
|
+
});
|
93
|
+
setFormValues(formValuesCopyClean);
|
73
94
|
};
|
74
95
|
var initialVal = value !== undefined ? value : getFieldValue(field, formValues);
|
75
96
|
var initialValues = Array.isArray(initialVal) ? initialVal : [initialVal];
|
@@ -83,16 +104,41 @@ var MultipleFieldCreator = function (_a) {
|
|
83
104
|
" Object fields with multiple true and skip_path true are not supported."));
|
84
105
|
}
|
85
106
|
var InputComponent = __assign(__assign({}, inputMap), (inputOverrides !== null && inputOverrides !== void 0 ? inputOverrides : {}))[field.type];
|
86
|
-
return React__default.createElement("div",
|
87
|
-
return React__default.createElement(
|
107
|
+
return React__default.createElement("div", { className: 'flex flex-col divide-y-2 divide-opacity-50 divide-slate-400 divide-dashed' }, initialValues === null || initialValues === void 0 ? void 0 : initialValues.map(function (va, index) {
|
108
|
+
return React__default.createElement("div", { key: "".concat(field.id, "-").concat(index) },
|
109
|
+
SHOW_DEBUG && React__default.createElement(React__default.Fragment, null,
|
110
|
+
React__default.createElement("span", { className: 'text-red-500' }, makeJsonPath(field)),
|
111
|
+
React__default.createElement("span", { className: 'text-green-500' }, makeJsonPath(createOneOfMultipleField(field, index)))),
|
112
|
+
React__default.createElement(OneOfMultiple, { key: "".concat(field.id, "-").concat(index), InputComponent: InputComponent, field: createOneOfMultipleField(field, index), value: va, index: index, onChange: onChange !== null && onChange !== void 0 ? onChange : defaultOnChange, values: initialValues, disabled: disabled }));
|
88
113
|
}));
|
89
114
|
};
|
90
115
|
var FieldCreator = function (_a) {
|
91
116
|
var _b;
|
92
|
-
var field = _a.field, value = _a.value, onChange = _a.onChange, className = _a.className, disabled = _a.disabled, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? '
|
117
|
+
var field = _a.field, value = _a.value, onChange = _a.onChange, className = _a.className, disabled = _a.disabled, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? 'flex flex-col gap-8 flex-grow h-full' : _c, conditionResult = _a.conditionResult;
|
93
118
|
var _d = useFormContext(), form = _d.form, inputOverrides = _d.inputOverrides, setFormValues = _d.setFormValues, formValues = _d.formValues;
|
94
119
|
var InputComponent = __assign(__assign({}, inputMap), (inputOverrides !== null && inputOverrides !== void 0 ? inputOverrides : {}))[field.type];
|
95
|
-
var
|
120
|
+
var defaultOnChange = function (v) {
|
121
|
+
var formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({
|
122
|
+
form: form,
|
123
|
+
field: field,
|
124
|
+
value: v,
|
125
|
+
formValues: formValues
|
126
|
+
});
|
127
|
+
setFormValues(formValuesCopyClean);
|
128
|
+
};
|
129
|
+
var onChangeFn = onChange !== null && onChange !== void 0 ? onChange : defaultOnChange;
|
130
|
+
/* useEffect(() => {
|
131
|
+
const fieldValue = getFieldValue(field, formValues)
|
132
|
+
if (
|
133
|
+
!(
|
134
|
+
(value === undefined || value === null) && (fieldValue === undefined || fieldValue === null)
|
135
|
+
) &&
|
136
|
+
value !== fieldValue
|
137
|
+
) {
|
138
|
+
onChangeFn(value)
|
139
|
+
}
|
140
|
+
}, [value]) */
|
141
|
+
conditionResult = conditionResult !== null && conditionResult !== void 0 ? conditionResult : checkCondition(field, formValues);
|
96
142
|
if ((conditionResult.pass && conditionResult.result === 'exclude') ||
|
97
143
|
(!conditionResult.pass && conditionResult.result === 'include')) {
|
98
144
|
return null;
|
@@ -104,22 +150,21 @@ var FieldCreator = function (_a) {
|
|
104
150
|
else if (conditionResult.result === 'enable' && conditionResult.pass) {
|
105
151
|
disabled = false;
|
106
152
|
}
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
field: field,
|
111
|
-
|
112
|
-
|
113
|
-
});
|
114
|
-
setFormValues(formValuesCopyClean);
|
115
|
-
};
|
116
|
-
var onChangeFn = onChange !== null && onChange !== void 0 ? onChange : defaultOnChange;
|
153
|
+
if (conditionResult.newDefaultValue !== undefined) {
|
154
|
+
if (value !== conditionResult.newDefaultValue) {
|
155
|
+
value = conditionResult.newDefaultValue;
|
156
|
+
return React__default.createElement(FieldCreator, { field: field, value: value, onChange: onChange, className: className, defaultClassName: defaultClassName, disabled: disabled, conditionResult: __assign(__assign({}, conditionResult), { newDefaultValue: undefined }) });
|
157
|
+
}
|
158
|
+
}
|
117
159
|
var initialValue = value !== undefined ? value : getFieldValue(field, formValues);
|
118
|
-
return InputComponent !== undefined
|
160
|
+
return React__default.createElement(React__default.Fragment, null, InputComponent !== undefined
|
119
161
|
? React__default.createElement("div", { className: index$1.makeClassName({
|
120
162
|
className: className,
|
121
163
|
defaultClassName: defaultClassName,
|
122
|
-
extras:
|
164
|
+
extras: [
|
165
|
+
disabled ? disabledClassName : undefined,
|
166
|
+
getFieldWrapperClass(field)
|
167
|
+
]
|
123
168
|
}) }, field.multiple === true
|
124
169
|
? React__default.createElement(MultipleFieldCreator, { field: field, disabled: disabled, onChange: onChange })
|
125
170
|
: React__default.createElement(InputComponent, { field: field, disabled: disabled, onChange: onChangeFn, value: Array.isArray(initialValue) ? initialValue[0] : initialValue }))
|
@@ -133,8 +178,8 @@ var FieldCreator = function (_a) {
|
|
133
178
|
React__default.createElement("span", { className: 'p-2 bg-slate-700 text-white font-mono text-xs' }, field.type),
|
134
179
|
" at ",
|
135
180
|
React__default.createElement("span", { className: 'text-rose-800 font-mono text-xs bg-slate-300 p-2' }, "id"),
|
136
|
-
React__default.createElement("span", { className: 'p-2 bg-slate-700 text-white font-mono text-xs' }, field.id)));
|
181
|
+
React__default.createElement("span", { className: 'p-2 bg-slate-700 text-white font-mono text-xs' }, field.id))));
|
137
182
|
};
|
138
183
|
|
139
|
-
export { FieldCreator as default };
|
184
|
+
export { MultipleFieldCreator, FieldCreator as default };
|
140
185
|
//# sourceMappingURL=FieldCreator.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FieldCreator.js","sources":["../../../../../src/Form/Components/FieldCreator.tsx"],"sourcesContent":["import FieldLabel from '@/Form/Components/FieldLabel'\r\nimport inputMap from '@/Form/Components/Inputs/inputMap'\r\nimport { useFormContext } from '@/Form/Creator/FormContextProvider'\r\nimport { type IFieldInputProps, type IFormField, type IValueChangeFn, type IValueType } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldValue } from '@/utils/getters'\r\nimport { cleanAndUpdateFormValuesWithFieldValue, createOneOfMultipleField, updateFormValuesWithFieldValue } from '@/utils/manipulators'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { Button, utils } from '@axdspub/axiom-ui-utilities'\r\nimport { CheckIcon, CopyIcon, Cross1Icon, ExclamationTriangleIcon, PlusIcon, TrashIcon } from '@radix-ui/react-icons'\r\nimport React, { useState, type ReactElement } from 'react'\r\n\r\nconst disabledClassName = '' // 'opacity-50 pointer-events-none cursor-not-allowed'\r\n\r\ninterface IFieldCreator {\r\n field: IFormField\r\n onChange?: IValueChangeFn\r\n className?: string\r\n defaultClassName?: string\r\n value?: IValueType | IValueType[]\r\n disabled?: boolean\r\n}\r\n\r\nconst toolButtonClass = 'border-white hover:border-single hover:border-1 hover:border-slate-400'\r\n\r\nconst DeleteMultiple = ({\r\n doDelete\r\n}: {\r\n doDelete: () => void\r\n}): ReactElement => {\r\n const [confirm, setConfirm] = useState(false)\r\n\r\n return (\r\n <>\r\n {\r\n confirm\r\n ? <p className='flex flex-row gap-2 text-sm'><span className='text-slate-600'>Deleting: </span> Are you sure?\r\n <Button size='xs' type='submit'\r\n onClick={() => {\r\n doDelete()\r\n setConfirm(false)\r\n }}>Yes <CheckIcon className='inline ml-2' />\r\n </Button>\r\n <Button size='xs' type='alert'\r\n onClick={() => {\r\n setConfirm(false)\r\n }}>Cancel <Cross1Icon className='inline ml-2' />\r\n </Button>\r\n </p>\r\n : <Button size='xs' className={toolButtonClass} onClick={() => { setConfirm(true) }}>\r\n Delete <TrashIcon className='inline ml-2 fill-white' />\r\n </Button>\r\n }\r\n </>\r\n )\r\n}\r\n\r\nconst OneOfMultiple = ({\r\n InputComponent,\r\n field,\r\n value,\r\n index,\r\n onChange,\r\n values,\r\n disabled = false\r\n\r\n}: {\r\n InputComponent: React.FC<IFieldInputProps>\r\n field: IFormField\r\n value: IValueType\r\n index: number\r\n onChange: (v: IValueType[] | undefined) => void\r\n values: IValueType[]\r\n disabled?: boolean\r\n}): ReactElement => {\r\n const addValue = (v: IValueType | null): void => {\r\n const newValues = [...values]\r\n newValues.splice(index + 1, 0, v)\r\n onChange(newValues)\r\n }\r\n\r\n return (\r\n <div className={`flex flex-col gap-2${disabled ? ` ${disabledClassName}` : ''}`}>\r\n <InputComponent\r\n field={field}\r\n value={value}\r\n disabled={disabled}\r\n onChange={(v) => {\r\n const newValues = [...values]\r\n newValues[index] = v as IValueType\r\n onChange(newValues)\r\n }}\r\n />\r\n\r\n <div className='flex flex-row justify-between w-full p-2'>\r\n {index > 0 && (\r\n <DeleteMultiple doDelete={() => {\r\n const newValues = [...values]\r\n newValues.splice(index, 1)\r\n onChange(newValues)\r\n }} />\r\n )}\r\n <div className='flex gap-2'>\r\n <Button\r\n size='xs'\r\n className={toolButtonClass}\r\n onClick={() => {\r\n addValue(null)\r\n }}>Add <PlusIcon className='inline ml-2' /></Button>\r\n <Button\r\n size='xs'\r\n className={toolButtonClass}\r\n onClick={() => {\r\n addValue(structuredClone(value))\r\n }}>Duplicate <CopyIcon className='inline ml-2' />\r\n </Button>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nconst MultipleFieldCreator = ({\r\n field,\r\n onChange,\r\n disabled = false,\r\n value\r\n}: IFieldCreator): ReactElement => {\r\n const { formValues, setFormValues, inputOverrides } = useFormContext()\r\n const defaultOnChange = (v: IValueType[] | undefined): void => {\r\n const formValuesCopy = updateFormValuesWithFieldValue(field, v, formValues)\r\n setFormValues(formValuesCopy)\r\n }\r\n\r\n const initialVal = value !== undefined ? value : getFieldValue(field, formValues)\r\n const initialValues = Array.isArray(initialVal) ? initialVal : [initialVal]\r\n\r\n if (field.type === 'object' && field.skip_path === true && field.multiple === true) {\r\n return <div className={`p-4 bg-slate-100${disabled ? ` ${disabledClassName}` : ''}`}>\r\n <FieldLabel field={field} disabled={disabled} />\r\n <p className='text-rose-700'><ExclamationTriangleIcon className='inline w-4 h-4 mr-2' /> Error with field <span className='font-sans p-2 text-xs bg-slate-200'>{field.id}</span> Object fields with multiple true and skip_path true are not supported.</p>\r\n </div>\r\n }\r\n\r\n const InputComponent = {\r\n ...inputMap,\r\n ...(inputOverrides ?? {})\r\n }[field.type]\r\n\r\n return <div>\r\n {\r\n initialValues?.map((value, index) => {\r\n return <OneOfMultiple\r\n key={`${field.id}-${index}`}\r\n InputComponent={InputComponent}\r\n field={createOneOfMultipleField(field, index)}\r\n value={value}\r\n index={index}\r\n onChange={onChange ?? defaultOnChange}\r\n values={initialValues}\r\n disabled={disabled}\r\n />\r\n })\r\n }\r\n </div>\r\n}\r\n\r\nconst FieldCreator = ({\r\n field,\r\n value,\r\n onChange,\r\n className,\r\n disabled,\r\n defaultClassName = 'py-2 flex flex-col gap-8 flex-grow h-full'\r\n}: IFieldCreator): ReactElement | null => {\r\n const { form, inputOverrides, setFormValues, formValues } = useFormContext()\r\n const InputComponent = {\r\n ...inputMap,\r\n ...(inputOverrides ?? {})\r\n }[field.type]\r\n\r\n const conditionResult = checkCondition(field, formValues)\r\n\r\n if (\r\n (conditionResult.pass && conditionResult.result === 'exclude') ||\r\n (!conditionResult.pass && conditionResult.result === 'include')\r\n ) {\r\n return null\r\n } else if (\r\n (conditionResult.result === 'disable' && conditionResult.pass) ||\r\n (conditionResult.result === 'enable' && !conditionResult.pass)\r\n ) {\r\n disabled = true\r\n } else if (conditionResult.result === 'enable' && conditionResult.pass) {\r\n disabled = false\r\n }\r\n\r\n const defaultOnChange = (v: IValueType | IValueType[] | undefined): void => {\r\n const formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({\r\n form,\r\n field,\r\n value: v,\r\n formValues\r\n })\r\n setFormValues(formValuesCopyClean)\r\n }\r\n const onChangeFn = onChange ?? defaultOnChange\r\n\r\n const initialValue = value !== undefined ? value : getFieldValue(field, formValues)\r\n\r\n return InputComponent !== undefined\r\n ? <div className={utils.makeClassName({\r\n className,\r\n defaultClassName,\r\n extras: disabled ? [disabledClassName] : undefined\r\n })}>{\r\n field.multiple === true\r\n ? <MultipleFieldCreator\r\n field={field}\r\n disabled={disabled}\r\n onChange={onChange}\r\n />\r\n : <InputComponent\r\n field={field}\r\n disabled={disabled}\r\n onChange={onChangeFn}\r\n value={Array.isArray(initialValue) ? initialValue[0] : initialValue}\r\n />\r\n\r\n }</div>\r\n : <div>\r\n <p className='font-bold mb-2'><ExclamationTriangleIcon className='inline' /> {field.label ?? ''}</p>\r\n <p className='p-4 text-sm bg-slate-100'>No component definition for <span className='text-rose-800 font-mono text-xs bg-slate-300 p-2'>type</span><span className='p-2 bg-slate-700 text-white font-mono text-xs'>{field.type}</span> at <span className='text-rose-800 font-mono text-xs bg-slate-300 p-2'>id</span><span className='p-2 bg-slate-700 text-white font-mono text-xs'>{field.id}</span></p>\r\n </div>\r\n}\r\n\r\nexport default FieldCreator\r\n"],"names":["React","utils"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"FieldCreator.js","sources":["../../../../../src/Form/Components/FieldCreator.tsx"],"sourcesContent":["import FieldLabel from '@/Form/Components/FieldLabel'\r\nimport inputMap from '@/Form/Components/Inputs/inputMap'\r\nimport { useFormContext } from '@/Form/Creator/FormContextProvider'\r\nimport { type ICheckConditionResult, type IFieldInputProps, type IFormField, type IValueChangeFn, type IValueType } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldValue, makeJsonPath } from '@/utils/getters'\r\nimport { cleanAndUpdateFormValuesWithFieldValue, createOneOfMultipleField } from '@/utils/manipulators'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { Button, utils } from '@axdspub/axiom-ui-utilities'\r\nimport { CheckIcon, CopyIcon, Cross1Icon, ExclamationTriangleIcon, PlusIcon, TrashIcon } from '@radix-ui/react-icons'\r\nimport React, { useState, type ReactElement } from 'react'\r\n\r\nconst SHOW_DEBUG = import.meta?.env?.VITE_SHOW_DEBUG === 'true'\r\nconst disabledClassName = '' // 'opacity-50 pointer-events-none cursor-not-allowed'\r\n\r\ninterface IFieldCreator {\r\n field: IFormField\r\n onChange?: IValueChangeFn\r\n className?: string\r\n defaultClassName?: string\r\n value?: IValueType | IValueType[]\r\n disabled?: boolean\r\n conditionResult?: ICheckConditionResult\r\n}\r\n\r\nconst toolButtonClass = 'border-white hover:border-single hover:border-1 hover:border-slate-400'\r\n\r\nconst DeleteMultiple = ({\r\n doDelete\r\n}: {\r\n doDelete: () => void\r\n}): ReactElement => {\r\n const [confirm, setConfirm] = useState(false)\r\n\r\n return (\r\n <>\r\n {\r\n confirm\r\n ? <p className='flex flex-row gap-2 text-sm'><span className='text-slate-600'>Deleting: </span> Are you sure?\r\n <Button size='xs' type='submit'\r\n onClick={() => {\r\n doDelete()\r\n setConfirm(false)\r\n }}>Yes <CheckIcon className='inline ml-2' />\r\n </Button>\r\n <Button size='xs' type='alert'\r\n onClick={() => {\r\n setConfirm(false)\r\n }}>Cancel <Cross1Icon className='inline ml-2' />\r\n </Button>\r\n </p>\r\n : <Button size='xs' className={toolButtonClass} onClick={() => { setConfirm(true) }}>\r\n Delete <TrashIcon className='inline ml-2 fill-white' />\r\n </Button>\r\n }\r\n </>\r\n )\r\n}\r\n\r\nconst getFieldWrapperClass = (field: IFormField): string => {\r\n const cl = []\r\n const level = field.level ?? 0\r\n const type = field.type\r\n const multiple = field.multiple ?? false\r\n if ((type === 'object' && level > 1) || multiple) {\r\n cl.push('p-4')\r\n if (level > 0) {\r\n cl.push(level % 2 ? 'bg-slate-200' : 'bg-slate-100')\r\n }\r\n }\r\n return cl.join(' ')\r\n}\r\n\r\nconst OneOfMultiple = ({\r\n InputComponent,\r\n field,\r\n value,\r\n index,\r\n onChange,\r\n values,\r\n disabled = false\r\n\r\n}: {\r\n InputComponent: React.FC<IFieldInputProps>\r\n field: IFormField\r\n value: IValueType\r\n index: number\r\n onChange: (v: IValueType[] | undefined) => void\r\n values: IValueType[]\r\n disabled?: boolean\r\n}): ReactElement => {\r\n const addValue = (v: IValueType | null): void => {\r\n const newValues = [...values]\r\n newValues.splice(index + 1, 0, v)\r\n onChange(newValues)\r\n }\r\n\r\n return (\r\n <div className={`flex flex-col gap-2${disabled ? ` ${disabledClassName}` : ''} py-2 ${getFieldWrapperClass(field)}`} data-testid={`field-${field.id}-${index}`}>\r\n <InputComponent\r\n field={field}\r\n value={value}\r\n disabled={disabled}\r\n onChange={(v) => {\r\n const newValues = [...values]\r\n newValues[index] = v as IValueType\r\n onChange(newValues)\r\n }}\r\n />\r\n <div className='flex flex-row w-full p-2 gap-4'>\r\n\r\n <div className='flex gap-2'>\r\n <Button\r\n size='xs'\r\n className={toolButtonClass}\r\n onClick={() => {\r\n addValue(null)\r\n }}>Add <PlusIcon className='inline ml-2' /></Button>\r\n <Button\r\n size='xs'\r\n className={toolButtonClass}\r\n onClick={() => {\r\n addValue(structuredClone(value))\r\n }}>Duplicate <CopyIcon className='inline ml-2' />\r\n </Button>\r\n </div>\r\n {index > 0 && (\r\n <DeleteMultiple doDelete={() => {\r\n const newValues = [...values]\r\n newValues.splice(index, 1)\r\n onChange(newValues)\r\n }} />\r\n )}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport const MultipleFieldCreator = ({\r\n field,\r\n onChange,\r\n disabled = false,\r\n value\r\n}: IFieldCreator): ReactElement => {\r\n const { formValues, setFormValues, inputOverrides, form } = useFormContext()\r\n const defaultOnChange = (v: IValueType[] | undefined): void => {\r\n const formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({\r\n form,\r\n field,\r\n value: v,\r\n formValues\r\n })\r\n setFormValues(formValuesCopyClean)\r\n }\r\n\r\n const initialVal = value !== undefined ? value : getFieldValue(field, formValues)\r\n const initialValues = Array.isArray(initialVal) ? initialVal : [initialVal]\r\n\r\n if (field.type === 'object' && field.skip_path === true && field.multiple === true) {\r\n return <div className={`p-4 bg-slate-100${disabled ? ` ${disabledClassName}` : ''}`}>\r\n <FieldLabel field={field} disabled={disabled} />\r\n <p className='text-rose-700'><ExclamationTriangleIcon className='inline w-4 h-4 mr-2' /> Error with field <span className='font-sans p-2 text-xs bg-slate-200'>{field.id}</span> Object fields with multiple true and skip_path true are not supported.</p>\r\n </div>\r\n }\r\n\r\n const InputComponent = {\r\n ...inputMap,\r\n ...(inputOverrides ?? {})\r\n }[field.type]\r\n\r\n return <div className='flex flex-col divide-y-2 divide-opacity-50 divide-slate-400 divide-dashed'>\r\n {\r\n initialValues?.map((va, index) => {\r\n return <div key={`${field.id}-${index}`}>{\r\n SHOW_DEBUG && <><span className='text-red-500'>{makeJsonPath(field)}</span><span className='text-green-500'>{makeJsonPath(createOneOfMultipleField(field, index))}</span></>\r\n }<OneOfMultiple\r\n key={`${field.id}-${index}`}\r\n InputComponent={InputComponent}\r\n field={createOneOfMultipleField(field, index)}\r\n value={va}\r\n index={index}\r\n onChange={onChange ?? defaultOnChange}\r\n values={initialValues}\r\n disabled={disabled}\r\n /></div>\r\n })\r\n }\r\n </div>\r\n}\r\n\r\nconst FieldCreator = ({\r\n field,\r\n value,\r\n onChange,\r\n className,\r\n disabled,\r\n defaultClassName = 'flex flex-col gap-8 flex-grow h-full',\r\n conditionResult\r\n}: IFieldCreator): ReactElement | null => {\r\n const { form, inputOverrides, setFormValues, formValues } = useFormContext()\r\n const InputComponent = {\r\n ...inputMap,\r\n ...(inputOverrides ?? {})\r\n }[field.type]\r\n\r\n const defaultOnChange = (v: IValueType | IValueType[] | undefined): void => {\r\n const formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({\r\n form,\r\n field,\r\n value: v,\r\n formValues\r\n })\r\n setFormValues(formValuesCopyClean)\r\n }\r\n const onChangeFn = onChange ?? defaultOnChange\r\n\r\n /* useEffect(() => {\r\n const fieldValue = getFieldValue(field, formValues)\r\n if (\r\n !(\r\n (value === undefined || value === null) && (fieldValue === undefined || fieldValue === null)\r\n ) &&\r\n value !== fieldValue\r\n ) {\r\n onChangeFn(value)\r\n }\r\n }, [value]) */\r\n\r\n conditionResult = conditionResult ?? checkCondition(field, formValues)\r\n\r\n if (\r\n (conditionResult.pass && conditionResult.result === 'exclude') ||\r\n (!conditionResult.pass && conditionResult.result === 'include')\r\n ) {\r\n return null\r\n } else if (\r\n (conditionResult.result === 'disable' && conditionResult.pass) ||\r\n (conditionResult.result === 'enable' && !conditionResult.pass)\r\n ) {\r\n disabled = true\r\n } else if (conditionResult.result === 'enable' && conditionResult.pass) {\r\n disabled = false\r\n }\r\n if (conditionResult.newDefaultValue !== undefined) {\r\n if (value !== conditionResult.newDefaultValue) {\r\n value = conditionResult.newDefaultValue\r\n return <FieldCreator\r\n field={field}\r\n value={value}\r\n onChange={onChange}\r\n className={className}\r\n defaultClassName={defaultClassName}\r\n disabled={disabled}\r\n conditionResult={{ ...conditionResult, newDefaultValue: undefined }}\r\n />\r\n }\r\n }\r\n\r\n const initialValue = value !== undefined ? value : getFieldValue(field, formValues)\r\n\r\n return <>\r\n {\r\n InputComponent !== undefined\r\n ? <div className={utils.makeClassName({\r\n className,\r\n defaultClassName,\r\n extras: [\r\n disabled ? disabledClassName : undefined,\r\n getFieldWrapperClass(field)\r\n ]\r\n })}>{\r\n field.multiple === true\r\n ? <MultipleFieldCreator\r\n field={field}\r\n disabled={disabled}\r\n onChange={onChange}\r\n />\r\n : <InputComponent\r\n field={field}\r\n disabled={disabled}\r\n onChange={onChangeFn}\r\n value={Array.isArray(initialValue) ? initialValue[0] : initialValue}\r\n />\r\n\r\n }</div>\r\n : <div>\r\n <p className='font-bold mb-2'><ExclamationTriangleIcon className='inline' /> {field.label ?? ''}</p>\r\n <p className='p-4 text-sm bg-slate-100'>No component definition for <span className='text-rose-800 font-mono text-xs bg-slate-300 p-2'>type</span><span className='p-2 bg-slate-700 text-white font-mono text-xs'>{field.type}</span> at <span className='text-rose-800 font-mono text-xs bg-slate-300 p-2'>id</span><span className='p-2 bg-slate-700 text-white font-mono text-xs'>{field.id}</span></p>\r\n </div>\r\n }\r\n </>\r\n}\r\n\r\nexport default FieldCreator\r\n"],"names":["React","utils"],"mappings":"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"}
|
@@ -1,47 +1,105 @@
|
|
1
1
|
import InlineMarkdown from './InlineMarkdown.js';
|
2
|
-
import {
|
3
|
-
import {
|
2
|
+
import { makeJsonPath } from '../../utils/getters.js';
|
3
|
+
import { utils as index$1, Tooltip as RadixTooltip } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
4
|
+
import { PlusIcon, InfoCircledIcon, ReloadIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
4
5
|
import React__default from 'react';
|
5
6
|
import isEqual from '../../../node_modules/lodash-es/isEqual.js';
|
6
7
|
|
8
|
+
var _a, _b;
|
9
|
+
var SHOW_DEBUG = ((_b = (_a = import.meta) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.VITE_SHOW_DEBUG) === 'true';
|
10
|
+
var FieldRevertToDefault = function (_a) {
|
11
|
+
var _b;
|
12
|
+
var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
|
13
|
+
var isDifferent = onChange !== undefined && !field.multiple && field.defaultValue !== undefined && !isEqual(value, field.defaultValue);
|
14
|
+
return (isDifferent
|
15
|
+
? React__default.createElement("span", { "data-testid": "revert-to-default", className: disabled ? 'cursor-not-allowed' : 'cursor-pointer', onClick: function () {
|
16
|
+
if (disabled !== true) {
|
17
|
+
onChange(field.defaultValue);
|
18
|
+
}
|
19
|
+
} },
|
20
|
+
React__default.createElement(RadixTooltip, { content: "Reset to default value".concat(String(field.defaultValue) !== String({}) ? " (".concat(String((_b = field.defaultValue) !== null && _b !== void 0 ? _b : 'NA'), ")") : '') },
|
21
|
+
React__default.createElement(ReloadIcon, { className: 'inline-block ml-2 cursor-pointer hover:text-slate-500' })))
|
22
|
+
: React__default.createElement(React__default.Fragment, null));
|
23
|
+
};
|
7
24
|
var FieldDescriptionTooltip = function (_a) {
|
25
|
+
var _b;
|
8
26
|
var field = _a.field; _a.disabled;
|
27
|
+
var hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== '';
|
28
|
+
var longDescription = (_b = field.long_description) !== null && _b !== void 0 ? _b : '';
|
9
29
|
return (field.description !== undefined
|
10
|
-
? React__default.createElement(
|
11
|
-
|
30
|
+
? React__default.createElement("span", { onClick: function () {
|
31
|
+
if (hasLongDescription) {
|
32
|
+
window.open(longDescription, '_blank');
|
33
|
+
}
|
34
|
+
} },
|
35
|
+
React__default.createElement(RadixTooltip, { tooltipWrapperClassName: '!z-50', content: React__default.createElement("span", { className: 'leading-6' },
|
36
|
+
React__default.createElement(InlineMarkdown, null, field.description),
|
37
|
+
hasLongDescription && React__default.createElement("span", { className: 'text-xs text-slate-400' },
|
38
|
+
React__default.createElement(PlusIcon, { className: 'inline w-4 h-4 mt-0' }),
|
39
|
+
" Click for more information")), contentClassName: 'max-w-[400px]' },
|
40
|
+
React__default.createElement(InfoCircledIcon, null)))
|
12
41
|
: React__default.createElement(React__default.Fragment, null));
|
13
42
|
};
|
14
43
|
var FieldLabelText = function (_a) {
|
15
44
|
var _b;
|
16
|
-
var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
|
17
|
-
|
18
|
-
|
19
|
-
|
45
|
+
var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange, className = _a.className;
|
46
|
+
if (field.label === undefined || field.label === null || field.label === '') {
|
47
|
+
return React__default.createElement(React__default.Fragment, null);
|
48
|
+
}
|
49
|
+
return (React__default.createElement("span", { className: index$1.makeClassName({
|
50
|
+
className: className,
|
51
|
+
defaultClassName: 'font-semibold',
|
52
|
+
extras: [
|
53
|
+
disabled ? 'cursor-not-allowed opacity-70' : '',
|
54
|
+
field.level !== undefined && field.type !== 'object' && field.multiple !== true
|
55
|
+
? 'font-normal'
|
56
|
+
: undefined,
|
57
|
+
field.level !== undefined && field.level > 1
|
58
|
+
? 'text-sm'
|
59
|
+
: undefined
|
60
|
+
]
|
61
|
+
}) },
|
20
62
|
React__default.createElement(InlineMarkdown, null, field.label),
|
21
|
-
|
63
|
+
SHOW_DEBUG && React__default.createElement("span", { className: 'text-xs text-slate-400' }, field.id),
|
22
64
|
field.required === true ? React__default.createElement("span", { className: 'text-red-500' }, "*") : '',
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
} },
|
28
|
-
React__default.createElement(RadixTooltip, { content: tooltipContent },
|
29
|
-
React__default.createElement(ReloadIcon, { className: 'inline-block ml-2 cursor-pointer hover:text-slate-500' })))));
|
65
|
+
field.label !== '' && React__default.createElement(FieldRevertToDefault, { field: field, disabled: disabled, value: value, onChange: onChange }),
|
66
|
+
SHOW_DEBUG && React__default.createElement("span", { className: SHOW_DEBUG ? '' : 'hidden' },
|
67
|
+
React__default.createElement("br", null),
|
68
|
+
React__default.createElement("span", { className: 'text-xs text-slate-400' }, (_b = makeJsonPath(field)) !== null && _b !== void 0 ? _b : 'NA'))));
|
30
69
|
};
|
31
70
|
var FieldDescriptionText = function (_a) {
|
71
|
+
var _b;
|
32
72
|
var field = _a.field; _a.disabled;
|
73
|
+
var hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== '';
|
74
|
+
var longDescription = (_b = field.long_description) !== null && _b !== void 0 ? _b : '';
|
75
|
+
var longDescriptionButton = hasLongDescription
|
76
|
+
? React__default.createElement("span", { className: 'ml-2 text-xs text-white bg-slate-400 p-1 px-2 rounded-md cursor-pointer hover:bg-slate-500', onClick: function () {
|
77
|
+
window.open(longDescription, '_blank');
|
78
|
+
} },
|
79
|
+
React__default.createElement(PlusIcon, { className: 'inline w-3 h-3 -mt-1 mr-0' }),
|
80
|
+
" More")
|
81
|
+
: null;
|
33
82
|
return (React__default.createElement(React__default.Fragment, null, field.description !== undefined
|
34
83
|
? React__default.createElement("p", { className: 'text-xs pb-2' },
|
35
|
-
React__default.createElement(InlineMarkdown, null, field.description)
|
36
|
-
|
84
|
+
React__default.createElement(InlineMarkdown, null, field.description),
|
85
|
+
longDescriptionButton)
|
86
|
+
: longDescriptionButton));
|
37
87
|
};
|
38
88
|
var FieldLabel = function (_a) {
|
39
|
-
var
|
89
|
+
var _b, _c, _d;
|
90
|
+
var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange; _a.className;
|
40
91
|
return React__default.createElement(React__default.Fragment, null,
|
41
|
-
React__default.createElement("p", { className: 'pb-2' },
|
42
|
-
React__default.createElement(FieldLabelText, { field: field, disabled: disabled, value: value, onChange: onChange })
|
43
|
-
|
92
|
+
field.label !== undefined && field.label !== null && React__default.createElement("p", { className: 'pb-2' },
|
93
|
+
React__default.createElement(FieldLabelText, { field: field, disabled: disabled, value: value, onChange: onChange }),
|
94
|
+
((_b = field.settings) === null || _b === void 0 ? void 0 : _b.descriptionPresentation) === 'tooltip'
|
95
|
+
? React__default.createElement(React__default.Fragment, null,
|
96
|
+
" ",
|
97
|
+
React__default.createElement(FieldDescriptionTooltip, { field: field, disabled: disabled }))
|
98
|
+
: React__default.createElement(React__default.Fragment, null)),
|
99
|
+
((_c = field.settings) === null || _c === void 0 ? void 0 : _c.descriptionPresentation) === 'inline' || ((_d = field.settings) === null || _d === void 0 ? void 0 : _d.descriptionPresentation) === undefined
|
100
|
+
? React__default.createElement(FieldDescriptionText, { field: field, disabled: disabled })
|
101
|
+
: React__default.createElement(React__default.Fragment, null));
|
44
102
|
};
|
45
103
|
|
46
|
-
export { FieldDescriptionText, FieldDescriptionTooltip, FieldLabelText, FieldLabel as default };
|
104
|
+
export { FieldDescriptionText, FieldDescriptionTooltip, FieldLabelText, FieldRevertToDefault, FieldLabel as default };
|
47
105
|
//# sourceMappingURL=FieldLabel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FieldLabel.js","sources":["../../../../../src/Form/Components/FieldLabel.tsx"],"sourcesContent":["import InlineMarkdown from '@/Form/Components/InlineMarkdown'\r\nimport { type IValueType, type IFormField, type IValueChangeFn } from '@/Form/Creator/FormCreatorTypes'\r\nimport { Tooltip } from '@axdspub/axiom-ui-utilities'\r\nimport { InfoCircledIcon, ReloadIcon } from '@radix-ui/react-icons'\r\nimport { isEqual } from 'lodash-es'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nexport const FieldDescriptionTooltip = ({ field, disabled }: { field: IFormField, disabled?: boolean }): ReactElement => {\r\n return (\r\n field.description !== undefined\r\n ? <Tooltip tooltipWrapperClassName='!z-50' content={<span className='leading-6'>{field.description}</span>} contentClassName='max-w-[400px]'><InfoCircledIcon /></Tooltip>\r\n : <></>\r\n )\r\n}\r\n\r\nexport const FieldLabelText = ({ field, disabled, value, onChange }: { field: IFormField, disabled?: boolean, value?: IValueType, onChange?: IValueChangeFn }): ReactElement => {\r\n const isDifferent = onChange !== undefined && field.defaultValue !== undefined && !isEqual(value, field.defaultValue)\r\n const tooltipContent = `Reset to default value${String(field.defaultValue) !== String({}) ? ` (${String(field.defaultValue ?? 'NA')})` : ''}`\r\n return (\r\n <strong className={disabled ? 'text-slate-400' : ''}><InlineMarkdown>{field.label}</InlineMarkdown> { field.required === true ? <span className='text-red-500'>*</span> : ''}{\r\n isDifferent && <span data-testid=\"revert-to-default\" className={disabled ? 'cursor-not-allowed' : 'cursor-pointer'} onClick={() => {\r\n if (disabled !== true) {\r\n onChange(field.defaultValue)\r\n }\r\n }}><Tooltip content={tooltipContent}><ReloadIcon className='inline-block ml-2 cursor-pointer hover:text-slate-500' /></Tooltip></span>\r\n }</strong>\r\n )\r\n}\r\n\r\nexport const FieldDescriptionText = ({ field, disabled }: { field: IFormField, disabled?: boolean }): ReactElement => {\r\n return (\r\n <>{\r\n field.description !== undefined\r\n ? <p className='text-xs pb-2'><InlineMarkdown>{field.description}</InlineMarkdown></p>\r\n : ''\r\n }</>\r\n )\r\n}\r\n\r\nconst FieldLabel = ({ field, disabled, value, onChange }: { field: IFormField, disabled?: boolean, value?: IValueType, onChange?: IValueChangeFn }): ReactElement => {\r\n return <>\r\n <p className='pb-2'><FieldLabelText field={field} disabled={disabled} value={value} onChange={onChange} /></p>\r\n <FieldDescriptionText field={field} disabled={disabled} />\r\n\r\n </>\r\n}\r\n\r\nexport default FieldLabel\r\n"],"names":["React","Tooltip"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"FieldLabel.js","sources":["../../../../../src/Form/Components/FieldLabel.tsx"],"sourcesContent":["import InlineMarkdown from '@/Form/Components/InlineMarkdown'\r\nimport { type IValueType, type IFormField, type IValueChangeFn } from '@/Form/Creator/FormCreatorTypes'\r\nimport { makeJsonPath } from '@/utils/getters'\r\nimport { Tooltip, utils } from '@axdspub/axiom-ui-utilities'\r\nimport { InfoCircledIcon, PlusIcon, ReloadIcon } from '@radix-ui/react-icons'\r\nimport { isEqual } from 'lodash-es'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nconst SHOW_DEBUG = import.meta?.env?.VITE_SHOW_DEBUG === 'true'\r\nexport const FieldRevertToDefault = ({ field, disabled, value, onChange }: { field: IFormField, disabled?: boolean, value?: IValueType, onChange?: IValueChangeFn }): ReactElement => {\r\n const isDifferent = onChange !== undefined && !field.multiple && field.defaultValue !== undefined && !isEqual(value, field.defaultValue)\r\n return (\r\n isDifferent\r\n ? <span data-testid=\"revert-to-default\" className={disabled ? 'cursor-not-allowed' : 'cursor-pointer'} onClick={() => {\r\n if (disabled !== true) {\r\n onChange(field.defaultValue)\r\n }\r\n }}><Tooltip content={`Reset to default value${String(field.defaultValue) !== String({}) ? ` (${String(field.defaultValue ?? 'NA')})` : ''}`}><ReloadIcon className='inline-block ml-2 cursor-pointer hover:text-slate-500' /></Tooltip></span>\r\n : <></>\r\n )\r\n}\r\n\r\nexport const FieldDescriptionTooltip = ({ field, disabled }: { field: IFormField, disabled?: boolean }): ReactElement => {\r\n const hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== ''\r\n const longDescription = field.long_description ?? ''\r\n return (\r\n field.description !== undefined\r\n ? <span onClick={() => {\r\n if (hasLongDescription) {\r\n window.open(longDescription, '_blank')\r\n }\r\n }}>\r\n <Tooltip\r\n tooltipWrapperClassName='!z-50'\r\n content={<span className='leading-6'><InlineMarkdown>{field.description}</InlineMarkdown>{hasLongDescription && <span className='text-xs text-slate-400'><PlusIcon className='inline w-4 h-4 mt-0' /> Click for more information</span>}</span>}\r\n contentClassName='max-w-[400px]'\r\n\r\n ><InfoCircledIcon /></Tooltip>\r\n </span>\r\n : <></>\r\n )\r\n}\r\n\r\nexport const FieldLabelText = ({ field, disabled, value, onChange, className }: { field: IFormField, disabled?: boolean, value?: IValueType, onChange?: IValueChangeFn, className?: string }): ReactElement => {\r\n if (field.label === undefined || field.label === null || field.label === '') {\r\n return <></>\r\n }\r\n return (\r\n <span className={utils.makeClassName({\r\n className,\r\n defaultClassName: 'font-semibold',\r\n extras: [\r\n disabled ? 'cursor-not-allowed opacity-70' : '',\r\n field.level !== undefined && field.type !== 'object' && field.multiple !== true\r\n ? 'font-normal'\r\n : undefined,\r\n field.level !== undefined && field.level > 1\r\n ? 'text-sm'\r\n : undefined\r\n\r\n ]\r\n })}>\r\n <InlineMarkdown>{field.label}</InlineMarkdown>\r\n { SHOW_DEBUG && <span className='text-xs text-slate-400'>{field.id}</span> }\r\n { field.required === true ? <span className='text-red-500'>*</span> : ''}\r\n { field.label !== '' && <FieldRevertToDefault field={field} disabled={disabled} value={value} onChange={onChange} /> }\r\n { SHOW_DEBUG && <span className={SHOW_DEBUG ? '' : 'hidden'}><br /><span className='text-xs text-slate-400'>{makeJsonPath(field) ?? 'NA'}</span></span>}\r\n </span>\r\n )\r\n}\r\n\r\nexport const FieldDescriptionText = ({ field, disabled }: { field: IFormField, disabled?: boolean }): ReactElement => {\r\n const hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== ''\r\n const longDescription = field.long_description ?? ''\r\n const longDescriptionButton = hasLongDescription\r\n ? <span className='ml-2 text-xs text-white bg-slate-400 p-1 px-2 rounded-md cursor-pointer hover:bg-slate-500' onClick={() => {\r\n window.open(longDescription, '_blank')\r\n }}><PlusIcon className='inline w-3 h-3 -mt-1 mr-0' /> More</span>\r\n : null\r\n return (\r\n <>{\r\n field.description !== undefined\r\n ? <p className='text-xs pb-2'><InlineMarkdown>{field.description}</InlineMarkdown>{longDescriptionButton}</p>\r\n : longDescriptionButton\r\n }</>\r\n )\r\n}\r\n\r\nconst FieldLabel = ({ field, disabled, value, onChange, className }: { field: IFormField, disabled?: boolean, value?: IValueType, onChange?: IValueChangeFn, className?: string }): ReactElement => {\r\n return <>{\r\n field.label !== undefined && field.label !== null && <p className='pb-2'><FieldLabelText field={field} disabled={disabled} value={value} onChange={onChange} />{\r\n field.settings?.descriptionPresentation === 'tooltip'\r\n ? <> <FieldDescriptionTooltip field={field} disabled={disabled} /></>\r\n : <></>\r\n }</p>\r\n }\r\n {\r\n field.settings?.descriptionPresentation === 'inline' || field.settings?.descriptionPresentation === undefined\r\n ? <FieldDescriptionText field={field} disabled={disabled} />\r\n : <></>\r\n }\r\n </>\r\n}\r\n\r\nexport default FieldLabel\r\n"],"names":["React","Tooltip","utils"],"mappings":"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"}
|
@@ -1,14 +1,17 @@
|
|
1
|
-
import { FieldLabelText, FieldDescriptionTooltip } from '../FieldLabel.js';
|
1
|
+
import { FieldLabelText, FieldDescriptionTooltip, FieldDescriptionText } from '../FieldLabel.js';
|
2
2
|
import { Checkbox } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
3
3
|
import React__default from 'react';
|
4
4
|
|
5
5
|
var BooleanInput = function (_a) {
|
6
|
+
var _b, _c;
|
6
7
|
var field = _a.field, onChange = _a.onChange, value = _a.value, disabled = _a.disabled;
|
7
8
|
var initialValue = value !== undefined ? value : false;
|
8
9
|
return React__default.createElement(Checkbox, { id: field.id, testId: field.id, disabled: disabled, label: React__default.createElement(React__default.Fragment, null,
|
9
10
|
React__default.createElement(FieldLabelText, { field: field, disabled: disabled, value: value, onChange: onChange }),
|
10
11
|
" ",
|
11
|
-
|
12
|
+
(((_b = field.settings) === null || _b === void 0 ? void 0 : _b.descriptionPresentation) === 'inline' || ((_c = field.settings) === null || _c === void 0 ? void 0 : _c.descriptionPresentation) === undefined)
|
13
|
+
? React__default.createElement(FieldDescriptionTooltip, { field: field, disabled: disabled })
|
14
|
+
: React__default.createElement(FieldDescriptionText, { field: field, disabled: disabled })), value: Boolean(initialValue), onChange: function (e) {
|
12
15
|
onChange(e);
|
13
16
|
} });
|
14
17
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Boolean.js","sources":["../../../../../../src/Form/Components/Inputs/Boolean.tsx"],"sourcesContent":["import { FieldDescriptionTooltip, FieldLabelText } from '@/Form/Components/FieldLabel'\r\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\r\nimport { Checkbox } from '@axdspub/axiom-ui-utilities'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nconst BooleanInput = ({ field, onChange, value, disabled }: IFieldInputProps): ReactElement => {\r\n const initialValue = value !== undefined ? value : false\r\n return <Checkbox id={field.id} testId={field.id} disabled={disabled} label={<><FieldLabelText field={field} disabled={disabled} value={value} onChange={onChange} /> <FieldDescriptionTooltip field={field} disabled={disabled}
|
1
|
+
{"version":3,"file":"Boolean.js","sources":["../../../../../../src/Form/Components/Inputs/Boolean.tsx"],"sourcesContent":["import { FieldDescriptionText, FieldDescriptionTooltip, FieldLabelText } from '@/Form/Components/FieldLabel'\r\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\r\nimport { Checkbox } from '@axdspub/axiom-ui-utilities'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nconst BooleanInput = ({ field, onChange, value, disabled }: IFieldInputProps): ReactElement => {\r\n const initialValue = value !== undefined ? value : false\r\n return <Checkbox id={field.id} testId={field.id} disabled={disabled} label={<><FieldLabelText field={field} disabled={disabled} value={value} onChange={onChange} /> {\r\n (field.settings?.descriptionPresentation === 'inline' || field.settings?.descriptionPresentation === undefined)\r\n ? <FieldDescriptionTooltip field={field} disabled={disabled} />\r\n : <FieldDescriptionText field={field} disabled={disabled} />\r\n }</>} value={Boolean(initialValue)} onChange={(e) => {\r\n onChange(e)\r\n }}\r\n />\r\n}\r\n\r\nexport default BooleanInput\r\n"],"names":["React"],"mappings":";;;;AAKM,IAAA,YAAY,GAAG,UAAC,EAAsD,EAAA;;QAApD,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA;AACtD,IAAA,IAAM,YAAY,GAAG,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;IACxD,OAAOA,cAAA,CAAA,aAAA,CAAC,QAAQ,EAAC,EAAA,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;AAAE,YAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAC,EAAA,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAI,CAAA;;AAClK,YAAA,CAAC,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,uBAAuB,MAAK,QAAQ,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,uBAAuB,MAAK,SAAS;kBAC1GA,cAAC,CAAA,aAAA,CAAA,uBAAuB,EAAC,EAAA,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAI;kBAC7DA,cAAC,CAAA,aAAA,CAAA,oBAAoB,EAAC,EAAA,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAA,CAAI,CAC5D,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAC,CAAC,EAAA;YAC9C,QAAQ,CAAC,CAAC,CAAC;AACb,SAAC,GACC;AACJ;;;;"}
|
@@ -7,9 +7,9 @@ var notify = memoize(function (k, v, onChange) {
|
|
7
7
|
}, 50);
|
8
8
|
});
|
9
9
|
var ConstantInput = function (_a) {
|
10
|
-
_a.value
|
10
|
+
var value = _a.value, field = _a.field, onChange = _a.onChange;
|
11
11
|
var constantField = field;
|
12
|
-
var val = constantField.defaultValue;
|
12
|
+
var val = value !== null && value !== void 0 ? value : constantField.defaultValue;
|
13
13
|
notify("".concat(field.path ? field.path.map(function (f) { return f.id; }).join('.') : field.id, ".").concat(JSON.stringify(val)), val, onChange);
|
14
14
|
return (React__default.createElement(React__default.Fragment, null));
|
15
15
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Constant.js","sources":["../../../../../../src/Form/Components/Inputs/Constant.tsx"],"sourcesContent":["import { type IConstantField, type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\r\nimport { memoize } from 'lodash-es'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nconst notify = memoize((k, v, onChange) => {\r\n setTimeout(() => {\r\n onChange(v)\r\n }, 50)\r\n})\r\n\r\nconst ConstantInput = ({ value, field, onChange }: IFieldInputProps): ReactElement => {\r\n const constantField = field as IConstantField\r\n const val = constantField.defaultValue\r\n notify(`${field.path ? field.path.map(f => f.id).join('.') : field.id}.${JSON.stringify(val)}`, val, onChange)\r\n return (\r\n <></>\r\n )\r\n}\r\n\r\nexport default ConstantInput\r\n"],"names":["React"],"mappings":";;;AAIA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAA;AACpC,IAAA,UAAU,CAAC,YAAA;QACT,QAAQ,CAAC,CAAC,CAAC;KACZ,EAAE,EAAE,CAAC;AACR,CAAC,CAAC;AAEI,IAAA,aAAa,GAAG,UAAC,EAA4C,EAAA;AAA1C,
|
1
|
+
{"version":3,"file":"Constant.js","sources":["../../../../../../src/Form/Components/Inputs/Constant.tsx"],"sourcesContent":["import { type IConstantField, type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\r\nimport { memoize } from 'lodash-es'\r\nimport React, { type ReactElement } from 'react'\r\n\r\nconst notify = memoize((k, v, onChange) => {\r\n setTimeout(() => {\r\n onChange(v)\r\n }, 50)\r\n})\r\n\r\nconst ConstantInput = ({ value, field, onChange }: IFieldInputProps): ReactElement => {\r\n const constantField = field as IConstantField\r\n const val = value ?? constantField.defaultValue\r\n notify(`${field.path ? field.path.map(f => f.id).join('.') : field.id}.${JSON.stringify(val)}`, val, onChange)\r\n return (\r\n <></>\r\n )\r\n}\r\n\r\nexport default ConstantInput\r\n"],"names":["React"],"mappings":";;;AAIA,IAAM,MAAM,GAAG,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAA;AACpC,IAAA,UAAU,CAAC,YAAA;QACT,QAAQ,CAAC,CAAC,CAAC;KACZ,EAAE,EAAE,CAAC;AACR,CAAC,CAAC;AAEI,IAAA,aAAa,GAAG,UAAC,EAA4C,EAAA;AAA1C,IAAA,IAAA,KAAK,WAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA;IAC7C,IAAM,aAAa,GAAG,KAAuB;IAC7C,IAAM,GAAG,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,KAAK,GAAI,aAAa,CAAC,YAAY;IAC/C,MAAM,CAAC,UAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,EAAE,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC;IAC9G,QACEA,cAAK,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA;AAET;;;;"}
|