@rjsf/daisyui 6.0.0-beta.21 → 6.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chakra-ui.esm.js +169 -355
- package/dist/chakra-ui.esm.js.map +4 -4
- package/dist/chakra-ui.umd.js +60 -237
- package/dist/index.cjs +186 -370
- package/dist/index.cjs.map +4 -4
- package/lib/templates/ArrayFieldItemButtonsTemplate/ArrayFieldItemButtonsTemplate.d.ts +2 -2
- package/lib/templates/ArrayFieldItemButtonsTemplate/ArrayFieldItemButtonsTemplate.js +2 -7
- package/lib/templates/ArrayFieldItemButtonsTemplate/ArrayFieldItemButtonsTemplate.js.map +1 -1
- package/lib/templates/ArrayFieldItemTemplate/ArrayFieldItemTemplate.d.ts +3 -3
- package/lib/templates/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js +1 -1
- package/lib/templates/ArrayFieldItemTemplate/ArrayFieldItemTemplate.js.map +1 -1
- package/lib/templates/ArrayFieldTemplate/ArrayFieldTemplate.js +1 -2
- package/lib/templates/ArrayFieldTemplate/ArrayFieldTemplate.js.map +1 -1
- package/lib/templates/BaseInputTemplate/BaseInputTemplate.js +8 -2
- package/lib/templates/BaseInputTemplate/BaseInputTemplate.js.map +1 -1
- package/lib/templates/FieldTemplate/FieldTemplate.js +3 -3
- package/lib/templates/FieldTemplate/FieldTemplate.js.map +1 -1
- package/lib/templates/ObjectFieldTemplate/ObjectFieldTemplate.js +2 -2
- package/lib/templates/ObjectFieldTemplate/ObjectFieldTemplate.js.map +1 -1
- package/lib/templates/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js +2 -9
- package/lib/templates/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/widgets/AltDateWidget/AltDateWidget.d.ts +1 -1
- package/lib/widgets/AltDateWidget/AltDateWidget.js +5 -121
- package/lib/widgets/AltDateWidget/AltDateWidget.js.map +1 -1
- package/lib/widgets/CheckboxWidget/CheckboxWidget.js +2 -2
- package/lib/widgets/CheckboxWidget/CheckboxWidget.js.map +1 -1
- package/lib/widgets/CheckboxesWidget/CheckboxesWidget.d.ts +1 -1
- package/lib/widgets/CheckboxesWidget/CheckboxesWidget.js +2 -2
- package/lib/widgets/CheckboxesWidget/CheckboxesWidget.js.map +1 -1
- package/lib/widgets/RadioWidget/RadioWidget.d.ts +1 -1
- package/lib/widgets/RadioWidget/RadioWidget.js +2 -2
- package/lib/widgets/RadioWidget/RadioWidget.js.map +1 -1
- package/lib/widgets/TextareaWidget/TextareaWidget.js +2 -2
- package/lib/widgets/TextareaWidget/TextareaWidget.js.map +1 -1
- package/lib/widgets/Widgets.d.ts +1 -2
- package/lib/widgets/Widgets.js +1 -3
- package/lib/widgets/Widgets.js.map +1 -1
- package/package.json +7 -7
- package/src/templates/ArrayFieldItemButtonsTemplate/ArrayFieldItemButtonsTemplate.tsx +10 -15
- package/src/templates/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx +3 -3
- package/src/templates/ArrayFieldTemplate/ArrayFieldTemplate.tsx +1 -8
- package/src/templates/BaseInputTemplate/BaseInputTemplate.tsx +11 -3
- package/src/templates/FieldTemplate/FieldTemplate.tsx +9 -7
- package/src/templates/ObjectFieldTemplate/ObjectFieldTemplate.tsx +2 -2
- package/src/templates/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx +5 -16
- package/src/widgets/AltDateWidget/AltDateWidget.tsx +18 -253
- package/src/widgets/CheckboxWidget/CheckboxWidget.tsx +2 -0
- package/src/widgets/CheckboxesWidget/CheckboxesWidget.tsx +2 -1
- package/src/widgets/RadioWidget/RadioWidget.tsx +2 -1
- package/src/widgets/TextareaWidget/TextareaWidget.tsx +2 -1
- package/src/widgets/Widgets.tsx +0 -3
- package/lib/widgets/FileWidget/FileWidget.d.ts +0 -12
- package/lib/widgets/FileWidget/FileWidget.js +0 -57
- package/lib/widgets/FileWidget/FileWidget.js.map +0 -1
- package/lib/widgets/FileWidget/index.d.ts +0 -2
- package/lib/widgets/FileWidget/index.js +0 -3
- package/lib/widgets/FileWidget/index.js.map +0 -1
- package/src/widgets/FileWidget/FileWidget.tsx +0 -86
- package/src/widgets/FileWidget/index.ts +0 -2
|
@@ -12,4 +12,4 @@ import { FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps } from '@rjs
|
|
|
12
12
|
*
|
|
13
13
|
* @param props - The `WidgetProps` for this component
|
|
14
14
|
*/
|
|
15
|
-
export default function AltDateWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(
|
|
15
|
+
export default function AltDateWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(props: WidgetProps<T, S, F>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,79 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { ariaDescribedByIds, TranslatableString, parseDateString, toDateString, dateRangeOptions, } from '@rjsf/utils';
|
|
4
|
-
/** Determines if the date object has all required fields to form a valid date
|
|
5
|
-
*
|
|
6
|
-
* @param state - The date object to check
|
|
7
|
-
* @param time - Whether to check time fields as well
|
|
8
|
-
* @returns True if all required fields are present
|
|
9
|
-
*/
|
|
10
|
-
function readyForChange(state, time = false) {
|
|
11
|
-
return state.year && state.month && state.day && (!time || (state.hour && state.minute && state.second));
|
|
12
|
-
}
|
|
13
|
-
/** Gets configuration for date elements based on format and ranges
|
|
14
|
-
*
|
|
15
|
-
* @param state - The current date object state
|
|
16
|
-
* @param time - Whether to include time elements
|
|
17
|
-
* @param yearsRange - Optional range of years to display
|
|
18
|
-
* @param format - Format for ordering date elements (year, month, day)
|
|
19
|
-
* @returns Array of element properties for rendering
|
|
20
|
-
*/
|
|
21
|
-
function getDateElementProps(state, time, yearsRange, format = 'YMD') {
|
|
22
|
-
const rangeOptions = yearsRange !== null && yearsRange !== void 0 ? yearsRange : [1900, new Date().getFullYear() + 2];
|
|
23
|
-
// Define the order based on the format
|
|
24
|
-
const formats = {
|
|
25
|
-
YMD: ['year', 'month', 'day'],
|
|
26
|
-
MDY: ['month', 'day', 'year'],
|
|
27
|
-
DMY: ['day', 'month', 'year'],
|
|
28
|
-
};
|
|
29
|
-
// Get the elements in the specified order
|
|
30
|
-
const dateElements = formats[format].map((key) => ({
|
|
31
|
-
type: key,
|
|
32
|
-
value: state[key],
|
|
33
|
-
range: key === 'year'
|
|
34
|
-
? rangeOptions
|
|
35
|
-
: key === 'month'
|
|
36
|
-
? [1, 12]
|
|
37
|
-
: key === 'day'
|
|
38
|
-
? [1, 31]
|
|
39
|
-
: [0, 59],
|
|
40
|
-
}));
|
|
41
|
-
// Add time elements if needed
|
|
42
|
-
if (time) {
|
|
43
|
-
dateElements.push({ type: 'hour', value: state.hour, range: [0, 23] }, { type: 'minute', value: state.minute, range: [0, 59] }, { type: 'second', value: state.second, range: [0, 59] });
|
|
44
|
-
}
|
|
45
|
-
return dateElements;
|
|
46
|
-
}
|
|
47
|
-
/** Component for rendering individual date/time elements (year, month, day, etc.)
|
|
48
|
-
*
|
|
49
|
-
* Renders a select input for each date component with appropriate options.
|
|
50
|
-
*
|
|
51
|
-
* @param props - The props for the component
|
|
52
|
-
*/
|
|
53
|
-
function DateElement({ type, range, value, select, rootId, name, disabled, readonly, autofocus, registry, onBlur, onFocus, }) {
|
|
54
|
-
const id = `${rootId}_${type}`;
|
|
55
|
-
const { SelectWidget } = registry.widgets;
|
|
56
|
-
// Memoize the onChange handler
|
|
57
|
-
const handleChange = useCallback((value) => {
|
|
58
|
-
select(type, value);
|
|
59
|
-
}, [select, type]);
|
|
60
|
-
return (_jsx(SelectWidget, { schema: { type: 'integer' }, id: id, name: name, className: 'select select-bordered select-sm w-full', options: { enumOptions: dateRangeOptions(range[0], range[1]) }, placeholder: type, value: value, disabled: disabled, readonly: readonly, autofocus: autofocus, onChange: handleChange, onBlur: onBlur, onFocus: onFocus, registry: registry, label: '', "aria-describedby": ariaDescribedByIds(rootId), required: false }));
|
|
61
|
-
}
|
|
62
|
-
/** Converts our DateObject to the expected format for toDateString
|
|
63
|
-
*
|
|
64
|
-
* @param dateObj - The internal DateObject
|
|
65
|
-
* @returns A properly formatted object for the utils toDateString function
|
|
66
|
-
*/
|
|
67
|
-
function convertToRJSFDateObject(dateObj) {
|
|
68
|
-
return {
|
|
69
|
-
year: dateObj.year ? parseInt(dateObj.year) : 0,
|
|
70
|
-
month: dateObj.month ? parseInt(dateObj.month) : 0,
|
|
71
|
-
day: dateObj.day ? parseInt(dateObj.day) : 0,
|
|
72
|
-
hour: dateObj.hour ? parseInt(dateObj.hour) : 0,
|
|
73
|
-
minute: dateObj.minute ? parseInt(dateObj.minute) : 0,
|
|
74
|
-
second: dateObj.second ? parseInt(dateObj.second) : 0,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
2
|
+
import { DateElement, TranslatableString, useAltDateWidgetProps, } from '@rjsf/utils';
|
|
77
3
|
/** The `AltDateWidget` component provides an alternative date/time input
|
|
78
4
|
* with individual fields for year, month, day, and optionally time components.
|
|
79
5
|
*
|
|
@@ -87,52 +13,10 @@ function convertToRJSFDateObject(dateObj) {
|
|
|
87
13
|
*
|
|
88
14
|
* @param props - The `WidgetProps` for this component
|
|
89
15
|
*/
|
|
90
|
-
export default function AltDateWidget(
|
|
16
|
+
export default function AltDateWidget(props) {
|
|
17
|
+
const { disabled = false, readonly = false, autofocus = false, options = {}, id, name, registry, onBlur, onFocus, } = props;
|
|
91
18
|
const { translateString } = registry;
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const initialState = parseDateString(value, time);
|
|
95
|
-
// Create a reducer for date objects
|
|
96
|
-
const dateReducer = (state, action) => {
|
|
97
|
-
return { ...state, ...action };
|
|
98
|
-
};
|
|
99
|
-
const [state, setState] = useReducer(dateReducer, initialState);
|
|
100
|
-
// Handle changes in props or state
|
|
101
|
-
useEffect(() => {
|
|
102
|
-
const rjsfDateObj = convertToRJSFDateObject(state);
|
|
103
|
-
const stateValue = toDateString(rjsfDateObj, time);
|
|
104
|
-
if (readyForChange(state, time) && stateValue !== value) {
|
|
105
|
-
// Valid date changed via the selects
|
|
106
|
-
onChange(stateValue);
|
|
107
|
-
}
|
|
108
|
-
else if (lastValue !== value) {
|
|
109
|
-
// New value from props
|
|
110
|
-
setLastValue(value);
|
|
111
|
-
setState(parseDateString(value, time));
|
|
112
|
-
}
|
|
113
|
-
}, [time, value, onChange, state, lastValue]);
|
|
114
|
-
// Handle individual field changes
|
|
115
|
-
const handleChange = useCallback((property, value) => {
|
|
116
|
-
setState({ [property]: value });
|
|
117
|
-
}, []);
|
|
118
|
-
// Set current date
|
|
119
|
-
const handleSetNow = useCallback((event) => {
|
|
120
|
-
event.preventDefault();
|
|
121
|
-
if (disabled || readonly) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const nextState = parseDateString(new Date().toJSON(), time);
|
|
125
|
-
const rjsfDateObj = convertToRJSFDateObject(nextState);
|
|
126
|
-
onChange(toDateString(rjsfDateObj, time));
|
|
127
|
-
}, [disabled, readonly, time, onChange]);
|
|
128
|
-
// Clear the date
|
|
129
|
-
const handleClear = useCallback((event) => {
|
|
130
|
-
event.preventDefault();
|
|
131
|
-
if (disabled || readonly) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
onChange(undefined);
|
|
135
|
-
}, [disabled, readonly, onChange]);
|
|
136
|
-
return (_jsxs("div", { className: 'space-y-3', children: [_jsx("div", { className: 'grid grid-cols-3 gap-2', children: getDateElementProps(state, time, options.yearsRange, options.format).map((elemProps, i) => (_jsxs("div", { className: 'form-control', children: [_jsx("label", { className: 'label', children: _jsx("span", { className: 'label-text capitalize', children: elemProps.type }) }), _jsx(DateElement, { rootId: id, name: name, select: handleChange, type: elemProps.type, range: elemProps.range, value: elemProps.value, disabled: disabled, readonly: readonly, registry: registry, onBlur: onBlur, onFocus: onFocus, autofocus: autofocus && i === 0 })] }, i))) }), _jsxs("div", { className: 'flex justify-start space-x-2', children: [(options.hideNowButton !== undefined ? !options.hideNowButton : true) && (_jsx("button", { type: 'button', className: 'btn btn-sm btn-primary', onClick: handleSetNow, disabled: disabled || readonly, children: translateString(TranslatableString.NowLabel) })), (options.hideClearButton !== undefined ? !options.hideClearButton : true) && (_jsx("button", { type: 'button', className: 'btn btn-sm btn-secondary', onClick: handleClear, disabled: disabled || readonly, children: translateString(TranslatableString.ClearLabel) }))] })] }));
|
|
19
|
+
const { elements, handleChange, handleClear, handleSetNow } = useAltDateWidgetProps(props);
|
|
20
|
+
return (_jsxs("div", { className: 'space-y-3', children: [_jsx("div", { className: 'grid grid-cols-3 gap-2', children: elements.map((elemProps, i) => (_jsxs("div", { className: 'form-control', children: [_jsx("label", { className: 'label', children: _jsx("span", { className: 'label-text capitalize', children: elemProps.type }) }), _jsx(DateElement, { rootId: id, name: name, className: 'select select-bordered select-sm', select: handleChange, type: elemProps.type, range: elemProps.range, value: elemProps.value, disabled: disabled, readonly: readonly, registry: registry, onBlur: onBlur, onFocus: onFocus, autofocus: autofocus && i === 0 })] }, i))) }), _jsxs("div", { className: 'flex justify-start space-x-2', children: [(options.hideNowButton !== undefined ? !options.hideNowButton : true) && (_jsx("button", { type: 'button', className: 'btn btn-sm btn-primary', onClick: handleSetNow, disabled: disabled || readonly, children: translateString(TranslatableString.NowLabel) })), (options.hideClearButton !== undefined ? !options.hideClearButton : true) && (_jsx("button", { type: 'button', className: 'btn btn-sm btn-secondary', onClick: handleClear, disabled: disabled || readonly, children: translateString(TranslatableString.ClearLabel) }))] })] }));
|
|
137
21
|
}
|
|
138
22
|
//# sourceMappingURL=AltDateWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AltDateWidget.js","sourceRoot":"","sources":["../../../src/widgets/AltDateWidget/AltDateWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AltDateWidget.js","sourceRoot":"","sources":["../../../src/widgets/AltDateWidget/AltDateWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EAIX,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAInC,KAA2B;IAC3B,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,EAAE,EACZ,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,OAAO,GACR,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE3F,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,wBAAwB,YACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,eAAa,SAAS,EAAC,cAAc,aACnC,gBAAO,SAAS,EAAC,OAAO,YACtB,eAAM,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,IAAI,GAAQ,GACzD,EACR,KAAC,WAAW,IACV,MAAM,EAAE,EAAE,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,kCAAkC,EAC5C,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,GAC/B,KAlBM,CAAC,CAmBL,CACP,CAAC,GACE,EACN,eAAK,SAAS,EAAC,8BAA8B,aAC1C,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CACxE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,YAE7B,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GACtC,CACV,EACA,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC5E,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,YAE7B,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,GACxC,CACV,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { getTemplate, descriptionId } from '@rjsf/utils';
|
|
|
13
13
|
* @param props - The `WidgetProps` for this component
|
|
14
14
|
*/
|
|
15
15
|
export default function CheckboxWidget(props) {
|
|
16
|
-
const { id, value, required, disabled, hideLabel, label, readonly, registry, options, schema, uiSchema, onChange, onFocus, onBlur, } = props;
|
|
16
|
+
const { id, htmlName, value, required, disabled, hideLabel, label, readonly, registry, options, schema, uiSchema, onChange, onFocus, onBlur, } = props;
|
|
17
17
|
const DescriptionFieldTemplate = getTemplate('DescriptionFieldTemplate', registry, options);
|
|
18
18
|
const description = options.description || schema.description;
|
|
19
19
|
/** Handle focus events
|
|
@@ -37,7 +37,7 @@ export default function CheckboxWidget(props) {
|
|
|
37
37
|
const handleChange = useCallback((event) => {
|
|
38
38
|
onChange(event.target.checked);
|
|
39
39
|
}, [onChange]);
|
|
40
|
-
const input = (_jsx("input", { type: 'checkbox', id: id, checked: value, required: required, disabled: disabled || readonly, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, className: 'checkbox' }));
|
|
40
|
+
const input = (_jsx("input", { type: 'checkbox', id: id, name: htmlName || id, checked: value, required: required, disabled: disabled || readonly, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, className: 'checkbox' }));
|
|
41
41
|
return (_jsxs("div", { className: 'form-control', children: [!hideLabel && description && (_jsx(DescriptionFieldTemplate, { id: descriptionId(id), description: description, schema: schema, uiSchema: uiSchema, registry: registry })), hideLabel || !label ? (input) : (_jsxs("label", { className: 'label cursor-pointer justify-start', children: [_jsx("div", { className: 'mr-2', children: input }), _jsxs("span", { className: 'label-text', children: [label, required && _jsx("span", { className: 'text-error ml-1', children: "*" })] })] }))] }));
|
|
42
42
|
}
|
|
43
43
|
//# sourceMappingURL=CheckboxWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxWidget.js","sourceRoot":"","sources":["../../../src/widgets/CheckboxWidget/CheckboxWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAA8D,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;IAC3B,MAAM,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,GAAG,KAAK,CAAC;IACV,MAAM,wBAAwB,GAAG,WAAW,CAC1C,0BAA0B,EAC1B,QAAQ,EACR,OAAO,CACR,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;IAE9D;OACG;IACH,MAAM,WAAW,GAA8C,WAAW,CAAC,GAAG,EAAE;QAC9E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB;OACG;IACH,MAAM,UAAU,GAA8C,WAAW,CAAC,GAAG,EAAE;QAC7E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB;;;OAGG;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAA0C,EAAE,EAAE;QAC7C,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,KAAK,GAAG,CACZ,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAC,UAAU,GACpB,CACH,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC1B,CAAC,SAAS,IAAI,WAAW,IAAI,CAC5B,KAAC,wBAAwB,IACvB,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,EACrB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,EACA,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACrB,KAAK,CACN,CAAC,CAAC,CAAC,CACF,iBAAO,SAAS,EAAC,oCAAoC,aACnD,cAAK,SAAS,EAAC,MAAM,YAAE,KAAK,GAAO,EACnC,gBAAM,SAAS,EAAC,YAAY,aACzB,KAAK,EACL,QAAQ,IAAI,eAAM,SAAS,EAAC,iBAAiB,kBAAS,IAClD,IACD,CACT,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"CheckboxWidget.js","sourceRoot":"","sources":["../../../src/widgets/CheckboxWidget/CheckboxWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAA8D,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAErH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;IAC3B,MAAM,EACJ,EAAE,EACF,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,GAAG,KAAK,CAAC;IACV,MAAM,wBAAwB,GAAG,WAAW,CAC1C,0BAA0B,EAC1B,QAAQ,EACR,OAAO,CACR,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;IAE9D;OACG;IACH,MAAM,WAAW,GAA8C,WAAW,CAAC,GAAG,EAAE;QAC9E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB;OACG;IACH,MAAM,UAAU,GAA8C,WAAW,CAAC,GAAG,EAAE;QAC7E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB;;;OAGG;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAA0C,EAAE,EAAE;QAC7C,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,KAAK,GAAG,CACZ,gBACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,IAAI,EAAE,EACpB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAC,UAAU,GACpB,CACH,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC1B,CAAC,SAAS,IAAI,WAAW,IAAI,CAC5B,KAAC,wBAAwB,IACvB,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,EACrB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,EACA,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACrB,KAAK,CACN,CAAC,CAAC,CAAC,CACF,iBAAO,SAAS,EAAC,oCAAoC,aACnD,cAAK,SAAS,EAAC,MAAM,YAAE,KAAK,GAAO,EACnC,gBAAM,SAAS,EAAC,YAAY,aACzB,KAAK,EACL,QAAQ,IAAI,eAAM,SAAS,EAAC,iBAAiB,kBAAS,IAClD,IACD,CACT,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -13,4 +13,4 @@ import { WidgetProps, StrictRJSFSchema, RJSFSchema, FormContextType } from '@rjs
|
|
|
13
13
|
*
|
|
14
14
|
* @param props - The `WidgetProps` for this component
|
|
15
15
|
*/
|
|
16
|
-
export default function CheckboxesWidget<T, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({ id, disabled, options, value, readonly, required, onChange, onFocus, onBlur, }: WidgetProps<T, S, F>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default function CheckboxesWidget<T, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({ id, htmlName, disabled, options, value, readonly, required, onChange, onFocus, onBlur, }: WidgetProps<T, S, F>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,7 +14,7 @@ import { useCallback } from 'react';
|
|
|
14
14
|
*
|
|
15
15
|
* @param props - The `WidgetProps` for this component
|
|
16
16
|
*/
|
|
17
|
-
export default function CheckboxesWidget({ id, disabled, options, value, readonly, required, onChange, onFocus, onBlur, }) {
|
|
17
|
+
export default function CheckboxesWidget({ id, htmlName, disabled, options, value, readonly, required, onChange, onFocus, onBlur, }) {
|
|
18
18
|
var _a;
|
|
19
19
|
const { enumOptions } = options;
|
|
20
20
|
const isEnumeratedObject = enumOptions && ((_a = enumOptions[0]) === null || _a === void 0 ? void 0 : _a.value) && typeof enumOptions[0].value === 'object';
|
|
@@ -68,6 +68,6 @@ export default function CheckboxesWidget({ id, disabled, options, value, readonl
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}, [onBlur, id, enumOptions]);
|
|
71
|
-
return (_jsx("div", { className: 'form-control', children: _jsx("div", { className: 'flex flex-col gap-2 mt-1', children: enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions.map((option, index) => (_jsxs("label", { className: 'flex items-center cursor-pointer gap-2', children: [_jsx("input", { type: 'checkbox', id: `${id}-${option.value}`, className: 'checkbox', name: id, checked: isChecked(option), required: required, disabled: disabled || readonly, "data-index": index, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur }), _jsx("span", { className: 'label-text', children: option.label })] }, option.value))) }) }));
|
|
71
|
+
return (_jsx("div", { className: 'form-control', children: _jsx("div", { className: 'flex flex-col gap-2 mt-1', children: enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions.map((option, index) => (_jsxs("label", { className: 'flex items-center cursor-pointer gap-2', children: [_jsx("input", { type: 'checkbox', id: `${id}-${option.value}`, className: 'checkbox', name: htmlName || id, checked: isChecked(option), required: required, disabled: disabled || readonly, "data-index": index, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur }), _jsx("span", { className: 'label-text', children: option.label })] }, option.value))) }) }));
|
|
72
72
|
}
|
|
73
73
|
//# sourceMappingURL=CheckboxesWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxesWidget.js","sourceRoot":"","sources":["../../../src/widgets/CheckboxesWidget/CheckboxesWidget.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CheckboxesWidget.js","sourceRoot":"","sources":["../../../src/widgets/CheckboxesWidget/CheckboxesWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,4 @@ import { WidgetProps, StrictRJSFSchema, FormContextType, RJSFSchema } from '@rjs
|
|
|
11
11
|
*
|
|
12
12
|
* @param props - The `WidgetProps` for this component
|
|
13
13
|
*/
|
|
14
|
-
export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({ id, options, value, required, disabled, readonly, onChange, onFocus, onBlur, }: WidgetProps<T, S, F>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({ id, htmlName, options, value, required, disabled, readonly, onChange, onFocus, onBlur, }: WidgetProps<T, S, F>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -12,7 +12,7 @@ import { useCallback } from 'react';
|
|
|
12
12
|
*
|
|
13
13
|
* @param props - The `WidgetProps` for this component
|
|
14
14
|
*/
|
|
15
|
-
export default function RadioWidget({ id, options, value, required, disabled, readonly, onChange, onFocus, onBlur, }) {
|
|
15
|
+
export default function RadioWidget({ id, htmlName, options, value, required, disabled, readonly, onChange, onFocus, onBlur, }) {
|
|
16
16
|
var _a;
|
|
17
17
|
const { enumOptions } = options;
|
|
18
18
|
const isEnumeratedObject = enumOptions && ((_a = enumOptions[0]) === null || _a === void 0 ? void 0 : _a.value) && typeof enumOptions[0].value === 'object';
|
|
@@ -62,6 +62,6 @@ export default function RadioWidget({ id, options, value, required, disabled, re
|
|
|
62
62
|
event.target.blur();
|
|
63
63
|
}
|
|
64
64
|
}, [onChange, isEnumeratedObject, enumOptions]);
|
|
65
|
-
return (_jsx("div", { className: 'form-control', children: _jsx("div", { className: 'flex flex-col gap-2 mt-1', children: enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions.map((option, index) => (_jsxs("label", { className: 'flex items-center cursor-pointer gap-2', children: [_jsx("input", { type: 'radio', id: `${id}-${option.value}`, className: 'radio', name: id, value: getValue(option), checked: isChecked(option), required: required, disabled: disabled || readonly, "data-index": index, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur }), _jsx("span", { className: 'label-text', children: option.label })] }, option.value))) }) }));
|
|
65
|
+
return (_jsx("div", { className: 'form-control', children: _jsx("div", { className: 'flex flex-col gap-2 mt-1', children: enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions.map((option, index) => (_jsxs("label", { className: 'flex items-center cursor-pointer gap-2', children: [_jsx("input", { type: 'radio', id: `${id}-${option.value}`, className: 'radio', name: htmlName || id, value: getValue(option), checked: isChecked(option), required: required, disabled: disabled || readonly, "data-index": index, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur }), _jsx("span", { className: 'label-text', children: option.label })] }, option.value))) }) }));
|
|
66
66
|
}
|
|
67
67
|
//# sourceMappingURL=RadioWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioWidget.js","sourceRoot":"","sources":["../../../src/widgets/RadioWidget/RadioWidget.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RadioWidget.js","sourceRoot":"","sources":["../../../src/widgets/RadioWidget/RadioWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { useCallback } from 'react';
|
|
|
11
11
|
* @param props - The `WidgetProps` for this component
|
|
12
12
|
*/
|
|
13
13
|
export default function TextareaWidget(props) {
|
|
14
|
-
const { id, value, required, disabled, readonly, onChange, onFocus, onBlur, options } = props;
|
|
14
|
+
const { id, htmlName, value, required, disabled, readonly, onChange, onFocus, onBlur, options } = props;
|
|
15
15
|
/** Handle focus events
|
|
16
16
|
*
|
|
17
17
|
* @param event - The focus event
|
|
@@ -39,6 +39,6 @@ export default function TextareaWidget(props) {
|
|
|
39
39
|
}, [onChange]);
|
|
40
40
|
// Extract rows and other textarea-specific props from options
|
|
41
41
|
const rows = (options === null || options === void 0 ? void 0 : options.rows) || 5;
|
|
42
|
-
return (_jsx("div", { className: 'form-control', children: _jsx("textarea", { id: id, value: value || '', required: required, disabled: disabled || readonly, readOnly: readonly, rows: rows, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, className: 'textarea textarea-bordered w-full' }) }));
|
|
42
|
+
return (_jsx("div", { className: 'form-control', children: _jsx("textarea", { id: id, name: htmlName || id, value: value || '', required: required, disabled: disabled || readonly, readOnly: readonly, rows: rows, onChange: handleChange, onFocus: handleFocus, onBlur: handleBlur, className: 'textarea textarea-bordered w-full' }) }));
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=TextareaWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextareaWidget.js","sourceRoot":"","sources":["../../../src/widgets/TextareaWidget/TextareaWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,OAAO,CAAC;AAGhD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;IAC3B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TextareaWidget.js","sourceRoot":"","sources":["../../../src/widgets/TextareaWidget/TextareaWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAc,WAAW,EAAE,MAAM,OAAO,CAAC;AAGhD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAIpC,KAA2B;IAC3B,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAExG;;;OAGG;IACH,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAsC,EAAE,EAAE;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,CAAC,CACd,CAAC;IAEF;;;OAGG;IACH,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAsC,EAAE,EAAE;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,CACb,CAAC;IAEF;;;OAGG;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAA6C,EAAE,EAAE;QAChD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,8DAA8D;IAC9D,MAAM,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,CAAC;IAEhC,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC3B,mBACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,IAAI,EAAE,EACpB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAC,mCAAmC,GAC7C,GACE,CACP,CAAC;AACJ,CAAC"}
|
package/lib/widgets/Widgets.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ import CheckboxWidget from './CheckboxWidget/CheckboxWidget.js';
|
|
|
5
5
|
import CheckboxesWidget from './CheckboxesWidget/CheckboxesWidget.js';
|
|
6
6
|
import DateTimeWidget from './DateTimeWidget/DateTimeWidget.js';
|
|
7
7
|
import DateWidget from './DateWidget/DateWidget.js';
|
|
8
|
-
import FileWidget from './FileWidget/FileWidget.js';
|
|
9
8
|
import RadioWidget from './RadioWidget/RadioWidget.js';
|
|
10
9
|
import RangeWidget from './RangeWidget/RangeWidget.js';
|
|
11
10
|
import RatingWidget from './RatingWidget/RatingWidget.js';
|
|
@@ -13,6 +12,6 @@ import SelectWidget from './SelectWidget/SelectWidget.js';
|
|
|
13
12
|
import TextareaWidget from './TextareaWidget/TextareaWidget.js';
|
|
14
13
|
import TimeWidget from './TimeWidget/TimeWidget.js';
|
|
15
14
|
import ToggleWidget from './ToggleWidget/ToggleWidget.js';
|
|
16
|
-
export { AltDateTimeWidget, AltDateWidget, CheckboxesWidget, CheckboxWidget, DateTimeWidget, DateWidget,
|
|
15
|
+
export { AltDateTimeWidget, AltDateWidget, CheckboxesWidget, CheckboxWidget, DateTimeWidget, DateWidget, RadioWidget, RangeWidget, RatingWidget, SelectWidget, TextareaWidget, TimeWidget, ToggleWidget, };
|
|
17
16
|
export declare function generateWidgets<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(): RegistryWidgetsType<T, S, F>;
|
|
18
17
|
export default generateWidgets;
|
package/lib/widgets/Widgets.js
CHANGED
|
@@ -4,7 +4,6 @@ import CheckboxWidget from './CheckboxWidget/CheckboxWidget.js';
|
|
|
4
4
|
import CheckboxesWidget from './CheckboxesWidget/CheckboxesWidget.js';
|
|
5
5
|
import DateTimeWidget from './DateTimeWidget/DateTimeWidget.js';
|
|
6
6
|
import DateWidget from './DateWidget/DateWidget.js';
|
|
7
|
-
import FileWidget from './FileWidget/FileWidget.js';
|
|
8
7
|
import RadioWidget from './RadioWidget/RadioWidget.js';
|
|
9
8
|
import RangeWidget from './RangeWidget/RangeWidget.js';
|
|
10
9
|
import RatingWidget from './RatingWidget/RatingWidget.js';
|
|
@@ -12,7 +11,7 @@ import SelectWidget from './SelectWidget/SelectWidget.js';
|
|
|
12
11
|
import TextareaWidget from './TextareaWidget/TextareaWidget.js';
|
|
13
12
|
import TimeWidget from './TimeWidget/TimeWidget.js';
|
|
14
13
|
import ToggleWidget from './ToggleWidget/ToggleWidget.js';
|
|
15
|
-
export { AltDateTimeWidget, AltDateWidget, CheckboxesWidget, CheckboxWidget, DateTimeWidget, DateWidget,
|
|
14
|
+
export { AltDateTimeWidget, AltDateWidget, CheckboxesWidget, CheckboxWidget, DateTimeWidget, DateWidget, RadioWidget, RangeWidget, RatingWidget, SelectWidget, TextareaWidget, TimeWidget, ToggleWidget, };
|
|
16
15
|
export function generateWidgets() {
|
|
17
16
|
return {
|
|
18
17
|
AltDateTimeWidget,
|
|
@@ -21,7 +20,6 @@ export function generateWidgets() {
|
|
|
21
20
|
CheckboxWidget,
|
|
22
21
|
DateTimeWidget,
|
|
23
22
|
DateWidget,
|
|
24
|
-
FileWidget,
|
|
25
23
|
RadioWidget,
|
|
26
24
|
RangeWidget,
|
|
27
25
|
RatingWidget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widgets.js","sourceRoot":"","sources":["../../src/widgets/Widgets.tsx"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"Widgets.js","sourceRoot":"","sources":["../../src/widgets/Widgets.tsx"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,GACb,CAAC;AAEF,MAAM,UAAU,eAAe;IAK7B,OAAO;QACL,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,UAAU;QACV,WAAW;QACX,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,UAAU;QACV,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rjsf/daisyui",
|
|
3
|
-
"version": "6.0.0-beta.
|
|
3
|
+
"version": "6.0.0-beta.23",
|
|
4
4
|
"description": "Daisy UI components for react-jsonschema-form",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -71,16 +71,16 @@
|
|
|
71
71
|
"tailwindcss": "^4.1.12"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@rjsf/core": "^6.0.0-beta.
|
|
75
|
-
"@rjsf/utils": "^6.0.0-beta.
|
|
74
|
+
"@rjsf/core": "^6.0.0-beta.23",
|
|
75
|
+
"@rjsf/utils": "^6.0.0-beta.23",
|
|
76
76
|
"daisyui": "^5.0.29",
|
|
77
77
|
"react": ">=18"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@rjsf/core": "^6.0.0-beta.
|
|
81
|
-
"@rjsf/snapshot-tests": "^6.0.0-beta.
|
|
82
|
-
"@rjsf/utils": "^6.0.0-beta.
|
|
83
|
-
"@rjsf/validator-ajv8": "^6.0.0-beta.
|
|
80
|
+
"@rjsf/core": "^6.0.0-beta.23",
|
|
81
|
+
"@rjsf/snapshot-tests": "^6.0.0-beta.23",
|
|
82
|
+
"@rjsf/utils": "^6.0.0-beta.23",
|
|
83
|
+
"@rjsf/validator-ajv8": "^6.0.0-beta.23",
|
|
84
84
|
"@testing-library/dom": "^10.4.1",
|
|
85
85
|
"@testing-library/jest-dom": "^6.9.1",
|
|
86
86
|
"@testing-library/react": "^16.3.0",
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
1
|
import {
|
|
3
2
|
FormContextType,
|
|
4
3
|
RJSFSchema,
|
|
5
4
|
StrictRJSFSchema,
|
|
6
|
-
|
|
5
|
+
ArrayFieldItemButtonsTemplateProps,
|
|
7
6
|
buttonId,
|
|
8
7
|
} from '@rjsf/utils';
|
|
9
8
|
|
|
@@ -14,7 +13,7 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
14
13
|
T = any,
|
|
15
14
|
S extends StrictRJSFSchema = RJSFSchema,
|
|
16
15
|
F extends FormContextType = any,
|
|
17
|
-
>(props:
|
|
16
|
+
>(props: ArrayFieldItemButtonsTemplateProps<T, S, F>) {
|
|
18
17
|
const {
|
|
19
18
|
disabled,
|
|
20
19
|
hasCopy,
|
|
@@ -22,19 +21,15 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
22
21
|
hasMoveUp,
|
|
23
22
|
hasRemove,
|
|
24
23
|
fieldPathId,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
onCopyItem,
|
|
25
|
+
onRemoveItem,
|
|
26
|
+
onMoveDownItem,
|
|
27
|
+
onMoveUpItem,
|
|
29
28
|
readonly,
|
|
30
29
|
registry,
|
|
31
30
|
uiSchema,
|
|
32
31
|
} = props;
|
|
33
32
|
const { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } = registry.templates.ButtonTemplates;
|
|
34
|
-
const onCopyClick = useMemo(() => onCopyIndexClick(index), [index, onCopyIndexClick]);
|
|
35
|
-
const onRemoveClick = useMemo(() => onDropIndexClick(index), [index, onDropIndexClick]);
|
|
36
|
-
const onArrowUpClick = useMemo(() => onReorderClick(index, index - 1), [index, onReorderClick]);
|
|
37
|
-
const onArrowDownClick = useMemo(() => onReorderClick(index, index + 1), [index, onReorderClick]);
|
|
38
33
|
|
|
39
34
|
const renderMany = [hasMoveUp || hasMoveDown, hasCopy, hasRemove].filter(Boolean).length > 1;
|
|
40
35
|
const btnClass = renderMany ? 'join-item btn btn-sm px-2' : 'btn btn-sm px-2 rounded-sm';
|
|
@@ -48,7 +43,7 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
48
43
|
id={buttonId(fieldPathId, 'moveUp')}
|
|
49
44
|
className={`rjsf-array-item-move-up ${btnClass}`}
|
|
50
45
|
disabled={disabled || readonly || !hasMoveUp}
|
|
51
|
-
onClick={
|
|
46
|
+
onClick={onMoveUpItem}
|
|
52
47
|
uiSchema={uiSchema}
|
|
53
48
|
registry={registry}
|
|
54
49
|
/>
|
|
@@ -56,7 +51,7 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
56
51
|
id={buttonId(fieldPathId, 'moveDown')}
|
|
57
52
|
className={`rjsf-array-item-move-down ${btnClass}`}
|
|
58
53
|
disabled={disabled || readonly || !hasMoveDown}
|
|
59
|
-
onClick={
|
|
54
|
+
onClick={onMoveDownItem}
|
|
60
55
|
uiSchema={uiSchema}
|
|
61
56
|
registry={registry}
|
|
62
57
|
/>
|
|
@@ -67,7 +62,7 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
67
62
|
id={buttonId(fieldPathId, 'copy')}
|
|
68
63
|
className={`rjsf-array-item-copy ${btnClass}`}
|
|
69
64
|
disabled={disabled || readonly}
|
|
70
|
-
onClick={
|
|
65
|
+
onClick={onCopyItem}
|
|
71
66
|
uiSchema={uiSchema}
|
|
72
67
|
registry={registry}
|
|
73
68
|
/>
|
|
@@ -77,7 +72,7 @@ export default function ArrayFieldItemButtonsTemplate<
|
|
|
77
72
|
id={buttonId(fieldPathId, 'remove')}
|
|
78
73
|
className={`rjsf-array-item-remove ${removeBtnClass}`}
|
|
79
74
|
disabled={disabled || readonly}
|
|
80
|
-
onClick={
|
|
75
|
+
onClick={onRemoveItem}
|
|
81
76
|
uiSchema={uiSchema}
|
|
82
77
|
registry={registry}
|
|
83
78
|
/>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
ArrayFieldItemTemplateProps,
|
|
3
3
|
FormContextType,
|
|
4
4
|
getTemplate,
|
|
5
5
|
getUiOptions,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
* - Positions items with z-index to create a stacked effect
|
|
16
16
|
* - Places action buttons in an easily accessible location
|
|
17
17
|
*
|
|
18
|
-
* @param props - The `
|
|
18
|
+
* @param props - The `ArrayFieldItemTemplateProps` props for the component with additional properties:
|
|
19
19
|
* @param props.index - The position of this item in the array (optional)
|
|
20
20
|
* @param props.totalItems - The total number of items in the array (optional)
|
|
21
21
|
*/
|
|
@@ -23,7 +23,7 @@ export default function ArrayFieldItemTemplate<
|
|
|
23
23
|
T = any,
|
|
24
24
|
S extends StrictRJSFSchema = RJSFSchema,
|
|
25
25
|
F extends FormContextType = any,
|
|
26
|
-
>(props:
|
|
26
|
+
>(props: ArrayFieldItemTemplateProps<T, S, F>) {
|
|
27
27
|
const { children, buttonsProps, hasToolbar, registry, uiSchema, index, totalItems } = props;
|
|
28
28
|
const uiOptions = getUiOptions<T, S, F>(uiSchema);
|
|
29
29
|
const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(
|
|
@@ -48,11 +48,6 @@ export default function ArrayFieldTemplate<T = any, S extends RJSFSchema = RJSFS
|
|
|
48
48
|
registry as Registry<T, S, F>,
|
|
49
49
|
uiOptions,
|
|
50
50
|
);
|
|
51
|
-
const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(
|
|
52
|
-
'ArrayFieldItemTemplate',
|
|
53
|
-
registry as Registry<T, S, F>,
|
|
54
|
-
uiOptions,
|
|
55
|
-
);
|
|
56
51
|
const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(
|
|
57
52
|
'ArrayFieldTitleTemplate',
|
|
58
53
|
registry as Registry<T, S, F>,
|
|
@@ -98,9 +93,7 @@ export default function ArrayFieldTemplate<T = any, S extends RJSFSchema = RJSFS
|
|
|
98
93
|
<div className='flex flex-col gap-4'>
|
|
99
94
|
{!showOptionalDataControlInTitle ? optionalDataControl : undefined}
|
|
100
95
|
<div className='rjsf-array-item-list'>
|
|
101
|
-
{items
|
|
102
|
-
<ArrayFieldItemTemplate key={key} {...itemProps} index={index} totalItems={items.length} />
|
|
103
|
-
))}
|
|
96
|
+
{items}
|
|
104
97
|
{items && items.length === 0 && canAdd && (
|
|
105
98
|
<div className='text-center italic text-base-content/70'>{TranslatableString.EmptyArray}</div>
|
|
106
99
|
)}
|
|
@@ -30,6 +30,8 @@ export default function BaseInputTemplate<
|
|
|
30
30
|
>(props: WidgetProps<T, S, F>) {
|
|
31
31
|
const {
|
|
32
32
|
id,
|
|
33
|
+
htmlName,
|
|
34
|
+
multiple,
|
|
33
35
|
value,
|
|
34
36
|
required,
|
|
35
37
|
disabled,
|
|
@@ -47,7 +49,12 @@ export default function BaseInputTemplate<
|
|
|
47
49
|
} = props;
|
|
48
50
|
|
|
49
51
|
const inputProps = getInputProps<T, S, F>(schema, type, options);
|
|
50
|
-
|
|
52
|
+
let className = 'input input-bordered';
|
|
53
|
+
let isMulti = multiple;
|
|
54
|
+
if (type === 'file') {
|
|
55
|
+
isMulti = schema.type === 'array' || Boolean(options.multiple);
|
|
56
|
+
className = 'file-input w-full';
|
|
57
|
+
}
|
|
51
58
|
// Extract step, min, max, accept from inputProps
|
|
52
59
|
const { step, min, max, accept, ...rest } = inputProps;
|
|
53
60
|
const htmlInputProps = { step, min, max, accept, ...(schema.examples ? { list: examplesId(id) } : undefined) };
|
|
@@ -75,13 +82,14 @@ export default function BaseInputTemplate<
|
|
|
75
82
|
</label>
|
|
76
83
|
<input
|
|
77
84
|
id={id}
|
|
78
|
-
name={id}
|
|
85
|
+
name={htmlName || id}
|
|
79
86
|
value={value || value === 0 ? value : ''}
|
|
80
87
|
placeholder={placeholder}
|
|
81
88
|
required={required}
|
|
82
89
|
disabled={disabled || readonly}
|
|
83
90
|
autoFocus={autofocus}
|
|
84
|
-
className=
|
|
91
|
+
className={className}
|
|
92
|
+
multiple={isMulti}
|
|
85
93
|
{...rest}
|
|
86
94
|
{...htmlInputProps}
|
|
87
95
|
onChange={onChangeOverride || _onChange}
|
|
@@ -34,21 +34,22 @@ export default function FieldTemplate<
|
|
|
34
34
|
help,
|
|
35
35
|
hideError,
|
|
36
36
|
displayLabel,
|
|
37
|
+
onKeyRename,
|
|
38
|
+
onKeyRenameBlur,
|
|
39
|
+
onRemoveProperty,
|
|
37
40
|
classNames,
|
|
38
|
-
// Destructure props we don't want to pass to div
|
|
39
|
-
description,
|
|
40
|
-
onKeyChange,
|
|
41
|
-
onDropPropertyClick,
|
|
42
41
|
uiSchema,
|
|
43
42
|
schema,
|
|
44
43
|
readonly,
|
|
45
44
|
required,
|
|
45
|
+
registry,
|
|
46
|
+
// Destructure props we don't want to pass to div
|
|
47
|
+
description,
|
|
46
48
|
rawErrors,
|
|
47
49
|
rawHelp,
|
|
48
50
|
rawDescription,
|
|
49
51
|
hidden,
|
|
50
52
|
onChange,
|
|
51
|
-
registry,
|
|
52
53
|
...divProps
|
|
53
54
|
} = props;
|
|
54
55
|
|
|
@@ -67,8 +68,9 @@ export default function FieldTemplate<
|
|
|
67
68
|
disabled={divProps.disabled}
|
|
68
69
|
id={id}
|
|
69
70
|
label={label}
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
onKeyRename={onKeyRename}
|
|
72
|
+
onKeyRenameBlur={onKeyRenameBlur}
|
|
73
|
+
onRemoveProperty={onRemoveProperty}
|
|
72
74
|
readonly={readonly}
|
|
73
75
|
required={required}
|
|
74
76
|
schema={schema}
|
|
@@ -39,7 +39,7 @@ export default function ObjectFieldTemplate<
|
|
|
39
39
|
schema,
|
|
40
40
|
formData,
|
|
41
41
|
optionalDataControl,
|
|
42
|
-
|
|
42
|
+
onAddProperty,
|
|
43
43
|
registry,
|
|
44
44
|
} = props;
|
|
45
45
|
const uiOptions = getUiOptions<T, S, F>(uiSchema);
|
|
@@ -99,7 +99,7 @@ export default function ObjectFieldTemplate<
|
|
|
99
99
|
<AddButton
|
|
100
100
|
id={buttonId(fieldPathId, 'add')}
|
|
101
101
|
className='rjsf-object-property-expand btn btn-primary btn-sm'
|
|
102
|
-
onClick={
|
|
102
|
+
onClick={onAddProperty}
|
|
103
103
|
disabled={disabled || readonly}
|
|
104
104
|
uiSchema={uiSchema}
|
|
105
105
|
registry={registry}
|