@axdspub/axiom-ui-forms 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/library/axiom-ui-forms.d.ts +31 -18
  2. package/library/esm/_virtual/index10.js +2 -2
  3. package/library/esm/_virtual/index11.js +2 -2
  4. package/library/esm/_virtual/index12.js +2 -2
  5. package/library/esm/_virtual/index3.js +2 -2
  6. package/library/esm/_virtual/index4.js +2 -2
  7. package/library/esm/_virtual/index5.js +2 -2
  8. package/library/esm/_virtual/index9.js +2 -2
  9. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +2 -2
  10. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
  11. package/library/esm/node_modules/ajv/dist/compile/codegen/index.js +1 -1
  12. package/library/esm/node_modules/ajv/dist/compile/validate/index.js +1 -1
  13. package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
  14. package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
  15. package/library/esm/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
  16. package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
  17. package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
  18. package/library/esm/src/Form/Components/FieldCreator.js +75 -31
  19. package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
  20. package/library/esm/src/Form/Components/FieldLabel.js +80 -23
  21. package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
  22. package/library/esm/src/Form/Components/Inputs/Boolean.js +5 -2
  23. package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
  24. package/library/esm/src/Form/Components/Inputs/Constant.js +2 -2
  25. package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -1
  26. package/library/esm/src/Form/Components/Inputs/Number.js +1 -2
  27. package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
  28. package/library/esm/src/Form/Components/Inputs/Object.js +32 -7
  29. package/library/esm/src/Form/Components/Inputs/Object.js.map +1 -1
  30. package/library/esm/src/Form/Creator/FormCreator.js +4 -4
  31. package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
  32. package/library/esm/src/Form/Creator/FormFields.js +1 -1
  33. package/library/esm/src/Form/Creator/FormFields.js.map +1 -1
  34. package/library/esm/src/Form/Creator/FormHeader.js +2 -1
  35. package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
  36. package/library/esm/src/Form/Creator/FormSection.js +1 -1
  37. package/library/esm/src/Form/Creator/FormSection.js.map +1 -1
  38. package/library/esm/src/Form/Creator/Wizard.js +3 -3
  39. package/library/esm/src/Form/Creator/Wizard.js.map +1 -1
  40. package/library/esm/src/utils/getters.js +36 -6
  41. package/library/esm/src/utils/getters.js.map +1 -1
  42. package/library/esm/src/utils/manipulators.js +28 -12
  43. package/library/esm/src/utils/manipulators.js.map +1 -1
  44. package/library/esm/src/utils/validators.js +21 -9
  45. package/library/esm/src/utils/validators.js.map +1 -1
  46. package/package.json +4 -2
@@ -1,4 +1,4 @@
1
- import { __exports as codegen } from '../../../../../_virtual/index4.js';
1
+ import { __exports as codegen } from '../../../../../_virtual/index5.js';
2
2
  import { __require as requireCode } from './code.js';
3
3
  import { __require as requireScope } from './scope.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { __exports as validate } from '../../../../../_virtual/index5.js';
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/index10.js';
1
+ import { __exports as applicator } from '../../../../../_virtual/index12.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 core } from '../../../../../_virtual/index11.js';
1
+ import { __exports as core } from '../../../../../_virtual/index10.js';
2
2
  import { __require as requireId } from './id.js';
3
3
  import { __require as requireRef } from './ref.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { __exports as discriminator } from '../../../../../_virtual/index3.js';
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 format } from '../../../../../_virtual/index12.js';
1
+ import { __exports as format } from '../../../../../_virtual/index9.js';
2
2
  import { __require as requireFormat$1 } from './format.js';
3
3
 
4
4
  var hasRequiredFormat;
@@ -1,4 +1,4 @@
1
- import { __exports as validation } from '../../../../../_virtual/index9.js';
1
+ import { __exports as validation } from '../../../../../_virtual/index11.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,13 +2,14 @@ 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, updateFormValuesWithFieldValue } from '../../utils/manipulators.js';
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 SHOW_DEBUG = import.meta.env.VITE_SHOW_DEBUG === 'true';
12
13
  var disabledClassName = ''; // 'opacity-50 pointer-events-none cursor-not-allowed'
13
14
  var toolButtonClass = 'border-white hover:border-single hover:border-1 hover:border-slate-400';
14
15
  var DeleteMultiple = function (_a) {
@@ -33,6 +34,20 @@ var DeleteMultiple = function (_a) {
33
34
  "Delete ",
34
35
  React__default.createElement(TrashIcon, { className: 'inline ml-2 fill-white' }))));
35
36
  };
37
+ var getFieldWrapperClass = function (field) {
38
+ var _a, _b;
39
+ var cl = [];
40
+ var level = (_a = field.level) !== null && _a !== void 0 ? _a : 0;
41
+ var type = field.type;
42
+ var multiple = (_b = field.multiple) !== null && _b !== void 0 ? _b : false;
43
+ if ((type === 'object' && level > 1) || multiple) {
44
+ cl.push('p-4');
45
+ if (level > 0) {
46
+ cl.push(level % 2 ? 'bg-slate-200' : 'bg-slate-100');
47
+ }
48
+ }
49
+ return cl.join(' ');
50
+ };
36
51
  var OneOfMultiple = function (_a) {
37
52
  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
53
  var addValue = function (v) {
@@ -40,18 +55,13 @@ var OneOfMultiple = function (_a) {
40
55
  newValues.splice(index + 1, 0, v);
41
56
  onChange(newValues);
42
57
  };
43
- return (React__default.createElement("div", { className: "flex flex-col gap-2".concat(disabled ? " ".concat(disabledClassName) : '') },
58
+ 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
59
  React__default.createElement(InputComponent, { field: field, value: value, disabled: disabled, onChange: function (v) {
45
60
  var newValues = __spreadArray([], values, true);
46
61
  newValues[index] = v;
47
62
  onChange(newValues);
48
63
  } }),
49
- React__default.createElement("div", { className: 'flex flex-row justify-between w-full p-2' },
50
- index > 0 && (React__default.createElement(DeleteMultiple, { doDelete: function () {
51
- var newValues = __spreadArray([], values, true);
52
- newValues.splice(index, 1);
53
- onChange(newValues);
54
- } })),
64
+ React__default.createElement("div", { className: 'flex flex-row w-full p-2 gap-4' },
55
65
  React__default.createElement("div", { className: 'flex gap-2' },
56
66
  React__default.createElement(Button, { size: 'xs', className: toolButtonClass, onClick: function () {
57
67
  addValue(null);
@@ -62,14 +72,24 @@ var OneOfMultiple = function (_a) {
62
72
  addValue(structuredClone(value));
63
73
  } },
64
74
  "Duplicate ",
65
- React__default.createElement(CopyIcon, { className: 'inline ml-2' }))))));
75
+ React__default.createElement(CopyIcon, { className: 'inline ml-2' }))),
76
+ index > 0 && (React__default.createElement(DeleteMultiple, { doDelete: function () {
77
+ var newValues = __spreadArray([], values, true);
78
+ newValues.splice(index, 1);
79
+ onChange(newValues);
80
+ } })))));
66
81
  };
67
82
  var MultipleFieldCreator = function (_a) {
68
83
  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;
84
+ var _c = useFormContext(), formValues = _c.formValues, setFormValues = _c.setFormValues, inputOverrides = _c.inputOverrides, form = _c.form;
70
85
  var defaultOnChange = function (v) {
71
- var formValuesCopy = updateFormValuesWithFieldValue(field, v, formValues);
72
- setFormValues(formValuesCopy);
86
+ var formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({
87
+ form: form,
88
+ field: field,
89
+ value: v,
90
+ formValues: formValues
91
+ });
92
+ setFormValues(formValuesCopyClean);
73
93
  };
74
94
  var initialVal = value !== undefined ? value : getFieldValue(field, formValues);
75
95
  var initialValues = Array.isArray(initialVal) ? initialVal : [initialVal];
@@ -83,16 +103,41 @@ var MultipleFieldCreator = function (_a) {
83
103
  " Object fields with multiple true and skip_path true are not supported."));
84
104
  }
85
105
  var InputComponent = __assign(__assign({}, inputMap), (inputOverrides !== null && inputOverrides !== void 0 ? inputOverrides : {}))[field.type];
86
- return React__default.createElement("div", null, initialValues === null || initialValues === void 0 ? void 0 : initialValues.map(function (value, index) {
87
- return React__default.createElement(OneOfMultiple, { key: "".concat(field.id, "-").concat(index), InputComponent: InputComponent, field: createOneOfMultipleField(field, index), value: value, index: index, onChange: onChange !== null && onChange !== void 0 ? onChange : defaultOnChange, values: initialValues, disabled: disabled });
106
+ 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) {
107
+ return React__default.createElement("div", { key: "".concat(field.id, "-").concat(index) },
108
+ SHOW_DEBUG && React__default.createElement(React__default.Fragment, null,
109
+ React__default.createElement("span", { className: 'text-red-500' }, makeJsonPath(field)),
110
+ React__default.createElement("span", { className: 'text-green-500' }, makeJsonPath(createOneOfMultipleField(field, index)))),
111
+ 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
112
  }));
89
113
  };
90
114
  var FieldCreator = function (_a) {
91
115
  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 ? 'py-2 flex flex-col gap-8 flex-grow h-full' : _c;
116
+ 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
117
  var _d = useFormContext(), form = _d.form, inputOverrides = _d.inputOverrides, setFormValues = _d.setFormValues, formValues = _d.formValues;
94
118
  var InputComponent = __assign(__assign({}, inputMap), (inputOverrides !== null && inputOverrides !== void 0 ? inputOverrides : {}))[field.type];
95
- var conditionResult = checkCondition(field, formValues);
119
+ var defaultOnChange = function (v) {
120
+ var formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({
121
+ form: form,
122
+ field: field,
123
+ value: v,
124
+ formValues: formValues
125
+ });
126
+ setFormValues(formValuesCopyClean);
127
+ };
128
+ var onChangeFn = onChange !== null && onChange !== void 0 ? onChange : defaultOnChange;
129
+ /* useEffect(() => {
130
+ const fieldValue = getFieldValue(field, formValues)
131
+ if (
132
+ !(
133
+ (value === undefined || value === null) && (fieldValue === undefined || fieldValue === null)
134
+ ) &&
135
+ value !== fieldValue
136
+ ) {
137
+ onChangeFn(value)
138
+ }
139
+ }, [value]) */
140
+ conditionResult = conditionResult !== null && conditionResult !== void 0 ? conditionResult : checkCondition(field, formValues);
96
141
  if ((conditionResult.pass && conditionResult.result === 'exclude') ||
97
142
  (!conditionResult.pass && conditionResult.result === 'include')) {
98
143
  return null;
@@ -104,22 +149,21 @@ var FieldCreator = function (_a) {
104
149
  else if (conditionResult.result === 'enable' && conditionResult.pass) {
105
150
  disabled = false;
106
151
  }
107
- var defaultOnChange = function (v) {
108
- var formValuesCopyClean = cleanAndUpdateFormValuesWithFieldValue({
109
- form: form,
110
- field: field,
111
- value: v,
112
- formValues: formValues
113
- });
114
- setFormValues(formValuesCopyClean);
115
- };
116
- var onChangeFn = onChange !== null && onChange !== void 0 ? onChange : defaultOnChange;
152
+ if (conditionResult.newDefaultValue !== undefined) {
153
+ if (value !== conditionResult.newDefaultValue) {
154
+ value = conditionResult.newDefaultValue;
155
+ return React__default.createElement(FieldCreator, { field: field, value: value, onChange: onChange, className: className, defaultClassName: defaultClassName, disabled: disabled, conditionResult: __assign(__assign({}, conditionResult), { newDefaultValue: undefined }) });
156
+ }
157
+ }
117
158
  var initialValue = value !== undefined ? value : getFieldValue(field, formValues);
118
- return InputComponent !== undefined
159
+ return React__default.createElement(React__default.Fragment, null, InputComponent !== undefined
119
160
  ? React__default.createElement("div", { className: index$1.makeClassName({
120
161
  className: className,
121
162
  defaultClassName: defaultClassName,
122
- extras: disabled ? [disabledClassName] : undefined
163
+ extras: [
164
+ disabled ? disabledClassName : undefined,
165
+ getFieldWrapperClass(field)
166
+ ]
123
167
  }) }, field.multiple === true
124
168
  ? React__default.createElement(MultipleFieldCreator, { field: field, disabled: disabled, onChange: onChange })
125
169
  : React__default.createElement(InputComponent, { field: field, disabled: disabled, onChange: onChangeFn, value: Array.isArray(initialValue) ? initialValue[0] : initialValue }))
@@ -133,8 +177,8 @@ var FieldCreator = function (_a) {
133
177
  React__default.createElement("span", { className: 'p-2 bg-slate-700 text-white font-mono text-xs' }, field.type),
134
178
  " at ",
135
179
  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)));
180
+ React__default.createElement("span", { className: 'p-2 bg-slate-700 text-white font-mono text-xs' }, field.id))));
137
181
  };
138
182
 
139
- export { FieldCreator as default };
183
+ export { MultipleFieldCreator, FieldCreator as default };
140
184
  //# 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,104 @@
1
1
  import InlineMarkdown from './InlineMarkdown.js';
2
- import { Tooltip as RadixTooltip } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
3
- import { ReloadIcon, InfoCircledIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
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 SHOW_DEBUG = import.meta.env.VITE_SHOW_DEBUG === 'true';
9
+ var FieldRevertToDefault = function (_a) {
10
+ var _b;
11
+ var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
12
+ var isDifferent = onChange !== undefined && !field.multiple && field.defaultValue !== undefined && !isEqual(value, field.defaultValue);
13
+ return (isDifferent
14
+ ? React__default.createElement("span", { "data-testid": "revert-to-default", className: disabled ? 'cursor-not-allowed' : 'cursor-pointer', onClick: function () {
15
+ if (disabled !== true) {
16
+ onChange(field.defaultValue);
17
+ }
18
+ } },
19
+ 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'), ")") : '') },
20
+ React__default.createElement(ReloadIcon, { className: 'inline-block ml-2 cursor-pointer hover:text-slate-500' })))
21
+ : React__default.createElement(React__default.Fragment, null));
22
+ };
7
23
  var FieldDescriptionTooltip = function (_a) {
24
+ var _b;
8
25
  var field = _a.field; _a.disabled;
26
+ var hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== '';
27
+ var longDescription = (_b = field.long_description) !== null && _b !== void 0 ? _b : '';
9
28
  return (field.description !== undefined
10
- ? React__default.createElement(RadixTooltip, { tooltipWrapperClassName: '!z-50', content: React__default.createElement("span", { className: 'leading-6' }, field.description), contentClassName: 'max-w-[400px]' },
11
- React__default.createElement(InfoCircledIcon, null))
29
+ ? React__default.createElement("span", { onClick: function () {
30
+ if (hasLongDescription) {
31
+ window.open(longDescription, '_blank');
32
+ }
33
+ } },
34
+ React__default.createElement(RadixTooltip, { tooltipWrapperClassName: '!z-50', content: React__default.createElement("span", { className: 'leading-6' },
35
+ React__default.createElement(InlineMarkdown, null, field.description),
36
+ hasLongDescription && React__default.createElement("span", { className: 'text-xs text-slate-400' },
37
+ React__default.createElement(PlusIcon, { className: 'inline w-4 h-4 mt-0' }),
38
+ " Click for more information")), contentClassName: 'max-w-[400px]' },
39
+ React__default.createElement(InfoCircledIcon, null)))
12
40
  : React__default.createElement(React__default.Fragment, null));
13
41
  };
14
42
  var FieldLabelText = function (_a) {
15
43
  var _b;
16
- var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
17
- var isDifferent = onChange !== undefined && field.defaultValue !== undefined && !isEqual(value, field.defaultValue);
18
- var tooltipContent = "Reset to default value".concat(String(field.defaultValue) !== String({}) ? " (".concat(String((_b = field.defaultValue) !== null && _b !== void 0 ? _b : 'NA'), ")") : '');
19
- return (React__default.createElement("strong", { className: disabled ? 'text-slate-400' : '' },
44
+ var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange, className = _a.className;
45
+ if (field.label === undefined || field.label === null || field.label === '') {
46
+ return React__default.createElement(React__default.Fragment, null);
47
+ }
48
+ return (React__default.createElement("span", { className: index$1.makeClassName({
49
+ className: className,
50
+ defaultClassName: 'font-semibold',
51
+ extras: [
52
+ disabled ? 'cursor-not-allowed opacity-70' : '',
53
+ field.level !== undefined && field.type !== 'object' && field.multiple !== true
54
+ ? 'font-normal'
55
+ : undefined,
56
+ field.level !== undefined && field.level > 1
57
+ ? 'text-sm'
58
+ : undefined
59
+ ]
60
+ }) },
20
61
  React__default.createElement(InlineMarkdown, null, field.label),
21
- " ",
62
+ SHOW_DEBUG && React__default.createElement("span", { className: 'text-xs text-slate-400' }, field.id),
22
63
  field.required === true ? React__default.createElement("span", { className: 'text-red-500' }, "*") : '',
23
- isDifferent && React__default.createElement("span", { "data-testid": "revert-to-default", className: disabled ? 'cursor-not-allowed' : 'cursor-pointer', onClick: function () {
24
- if (disabled !== true) {
25
- onChange(field.defaultValue);
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' })))));
64
+ field.label !== '' && React__default.createElement(FieldRevertToDefault, { field: field, disabled: disabled, value: value, onChange: onChange }),
65
+ SHOW_DEBUG && React__default.createElement("span", { className: SHOW_DEBUG ? '' : 'hidden' },
66
+ React__default.createElement("br", null),
67
+ React__default.createElement("span", { className: 'text-xs text-slate-400' }, (_b = makeJsonPath(field)) !== null && _b !== void 0 ? _b : 'NA'))));
30
68
  };
31
69
  var FieldDescriptionText = function (_a) {
70
+ var _b;
32
71
  var field = _a.field; _a.disabled;
72
+ var hasLongDescription = field.long_description !== undefined && field.long_description !== null && field.long_description !== '';
73
+ var longDescription = (_b = field.long_description) !== null && _b !== void 0 ? _b : '';
74
+ var longDescriptionButton = hasLongDescription
75
+ ? 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 () {
76
+ window.open(longDescription, '_blank');
77
+ } },
78
+ React__default.createElement(PlusIcon, { className: 'inline w-3 h-3 -mt-1 mr-0' }),
79
+ " More")
80
+ : null;
33
81
  return (React__default.createElement(React__default.Fragment, null, field.description !== undefined
34
82
  ? React__default.createElement("p", { className: 'text-xs pb-2' },
35
- React__default.createElement(InlineMarkdown, null, field.description))
36
- : ''));
83
+ React__default.createElement(InlineMarkdown, null, field.description),
84
+ longDescriptionButton)
85
+ : longDescriptionButton));
37
86
  };
38
87
  var FieldLabel = function (_a) {
39
- var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
88
+ var _b, _c, _d;
89
+ var field = _a.field, disabled = _a.disabled, value = _a.value, onChange = _a.onChange; _a.className;
40
90
  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
- React__default.createElement(FieldDescriptionText, { field: field, disabled: disabled }));
91
+ field.label !== undefined && field.label !== null && React__default.createElement("p", { className: 'pb-2' },
92
+ React__default.createElement(FieldLabelText, { field: field, disabled: disabled, value: value, onChange: onChange }),
93
+ ((_b = field.settings) === null || _b === void 0 ? void 0 : _b.descriptionPresentation) === 'tooltip'
94
+ ? React__default.createElement(React__default.Fragment, null,
95
+ " ",
96
+ React__default.createElement(FieldDescriptionTooltip, { field: field, disabled: disabled }))
97
+ : React__default.createElement(React__default.Fragment, null)),
98
+ ((_c = field.settings) === null || _c === void 0 ? void 0 : _c.descriptionPresentation) === 'inline' || ((_d = field.settings) === null || _d === void 0 ? void 0 : _d.descriptionPresentation) === undefined
99
+ ? React__default.createElement(FieldDescriptionText, { field: field, disabled: disabled })
100
+ : React__default.createElement(React__default.Fragment, null));
44
101
  };
45
102
 
46
- export { FieldDescriptionText, FieldDescriptionTooltip, FieldLabelText, FieldLabel as default };
103
+ export { FieldDescriptionText, FieldDescriptionTooltip, FieldLabelText, FieldRevertToDefault, FieldLabel as default };
47
104
  //# 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
- React__default.createElement(FieldDescriptionTooltip, { field: field, disabled: disabled })), value: Boolean(initialValue), onChange: function (e) {
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} /></>} value={Boolean(initialValue)} onChange={(e) => {\r\n onChange(e)\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;;YAACA,cAAC,CAAA,aAAA,CAAA,uBAAuB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAI,CAAA,CAAG,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAC,CAAC,EAAA;YAC/Q,QAAQ,CAAC,CAAC,CAAC;AACb,SAAC,GAAI;AACP;;;;"}
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; var field = _a.field, onChange = _a.onChange;
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,YAAK,CAAE,KAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA,CAAE,QAAQ,GAAA,EAAA,CAAA;IAC7C,IAAM,aAAa,GAAG,KAAuB;AAC7C,IAAA,IAAM,GAAG,GAAG,aAAa,CAAC,YAAY;IACtC,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;;;;"}
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;;;;"}
@@ -85,8 +85,7 @@ var TextInput = function (_a) {
85
85
  }
86
86
  onChange(undefined);
87
87
  }
88
- } }),
89
- error !== undefined && React__default.createElement("p", { className: 'text-red-500 text-xs py-2' }, error)));
88
+ }, after: error !== undefined && React__default.createElement("p", { className: 'text-red-500 text-xs py-2' }, error) })));
90
89
  };
91
90
  var NumberInput = function (_a) {
92
91
  var _b, _c, _d, _e;