@rjsf/chakra-ui 4.0.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import { IconButtonProps as ChakraIconButtonProps } from "@chakra-ui/react";
3
3
  declare const mappings: {
4
4
  remove: JSX.Element;
@@ -13,5 +13,5 @@ declare type IconButtonProps = Omit<ChakraIconButtonProps, "aria-label" | "icon"
13
13
  * props used in Template:
14
14
  * icon, tabIndex, disabled, onClick
15
15
  */
16
- declare const ChakraIconButton: (props: IconButtonProps) => JSX.Element;
16
+ declare const ChakraIconButton: React.MemoExoticComponent<(props: IconButtonProps) => JSX.Element>;
17
17
  export default ChakraIconButton;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { WidgetProps } from "@rjsf/core";
3
+ declare const SubmitButton: ({ uiSchema }: WidgetProps) => JSX.Element | null;
4
+ export default SubmitButton;
@@ -0,0 +1,2 @@
1
+ export { default } from "./SubmitButton";
2
+ export * from "./SubmitButton";
@@ -65,7 +65,7 @@ var mappings = {
65
65
  * icon, tabIndex, disabled, onClick
66
66
  */
67
67
 
68
- var ChakraIconButton = function ChakraIconButton(props) {
68
+ var ChakraIconButton = /*#__PURE__*/React.memo(function (props) {
69
69
  var icon = props.icon,
70
70
  otherProps = _objectWithoutPropertiesLoose(props, _excluded);
71
71
 
@@ -73,8 +73,11 @@ var ChakraIconButton = function ChakraIconButton(props) {
73
73
  icon: mappings[icon],
74
74
  "aria-label": icon
75
75
  }));
76
- };
76
+ });
77
+ ChakraIconButton.displayName = 'ChakraIconButton';
77
78
 
79
+ var _excluded$1 = ["key"],
80
+ _excluded2 = ["key"];
78
81
  var isMultiSelect = core.utils.isMultiSelect,
79
82
  getDefaultRegistry = core.utils.getDefaultRegistry;
80
83
 
@@ -125,31 +128,49 @@ var ArrayFieldDescription = function ArrayFieldDescription(_ref2) {
125
128
  }; // Used in the two templates
126
129
 
127
130
 
128
- var DefaultArrayItem = function DefaultArrayItem(props) {
131
+ var DefaultArrayItem = function DefaultArrayItem(_ref3) {
132
+ var index = _ref3.index,
133
+ readonly = _ref3.readonly,
134
+ disabled = _ref3.disabled,
135
+ children = _ref3.children,
136
+ hasToolbar = _ref3.hasToolbar,
137
+ hasRemove = _ref3.hasRemove,
138
+ hasMoveUp = _ref3.hasMoveUp,
139
+ hasMoveDown = _ref3.hasMoveDown,
140
+ onReorderClick = _ref3.onReorderClick,
141
+ onDropIndexClick = _ref3.onDropIndexClick;
142
+ var onRemoveClick = React.useMemo(function () {
143
+ return onDropIndexClick(index);
144
+ }, [index, onDropIndexClick]);
145
+ var onArrowUpClick = React.useMemo(function () {
146
+ return onReorderClick(index, index - 1);
147
+ }, [index, onReorderClick]);
148
+ var onArrowDownClick = React.useMemo(function () {
149
+ return onReorderClick(index, index + 1);
150
+ }, [index, onReorderClick]);
129
151
  return React__default.createElement(react.HStack, {
130
- key: props.key,
131
152
  alignItems: "flex-end",
132
153
  py: 1
133
154
  }, React__default.createElement(react.Box, {
134
155
  w: "100%"
135
- }, props.children), props.hasToolbar && React__default.createElement(react.Box, null, React__default.createElement(react.ButtonGroup, {
156
+ }, children), hasToolbar && React__default.createElement(react.Box, null, React__default.createElement(react.ButtonGroup, {
136
157
  isAttached: true,
137
158
  mb: 1
138
- }, (props.hasMoveUp || props.hasMoveDown) && React__default.createElement(ChakraIconButton, {
159
+ }, (hasMoveUp || hasMoveDown) && React__default.createElement(ChakraIconButton, {
139
160
  icon: "arrow-up",
140
161
  tabIndex: -1,
141
- disabled: props.disabled || props.readonly || !props.hasMoveUp,
142
- onClick: props.onReorderClick(props.index, props.index - 1)
143
- }), (props.hasMoveUp || props.hasMoveDown) && React__default.createElement(ChakraIconButton, {
162
+ disabled: disabled || readonly || !hasMoveUp,
163
+ onClick: onArrowUpClick
164
+ }), (hasMoveUp || hasMoveDown) && React__default.createElement(ChakraIconButton, {
144
165
  icon: "arrow-down",
145
166
  tabIndex: -1,
146
- disabled: props.disabled || props.readonly || !props.hasMoveDown,
147
- onClick: props.onReorderClick(props.index, props.index + 1)
148
- }), props.hasRemove && React__default.createElement(ChakraIconButton, {
167
+ disabled: disabled || readonly || !hasMoveDown,
168
+ onClick: onArrowDownClick
169
+ }), hasRemove && React__default.createElement(ChakraIconButton, {
149
170
  icon: "remove",
150
171
  tabIndex: -1,
151
- disabled: props.disabled || props.readonly,
152
- onClick: props.onDropIndexClick(props.index)
172
+ disabled: disabled || readonly,
173
+ onClick: onRemoveClick
153
174
  }))));
154
175
  };
155
176
 
@@ -169,7 +190,14 @@ var DefaultFixedArrayFieldTemplate = function DefaultFixedArrayFieldTemplate(pro
169
190
  }, props.uiSchema["ui:description"] || props.schema.description), React__default.createElement("div", {
170
191
  className: "row array-item-list",
171
192
  key: "array-item-list-" + props.idSchema.$id
172
- }, props.items && props.items.map(DefaultArrayItem)), props.canAdd && React__default.createElement(AddButton, {
193
+ }, props.items && props.items.map(function (p) {
194
+ var key = p.key,
195
+ itemProps = _objectWithoutPropertiesLoose(p, _excluded$1);
196
+
197
+ return React__default.createElement(DefaultArrayItem, Object.assign({
198
+ key: key
199
+ }, itemProps));
200
+ })), props.canAdd && React__default.createElement(AddButton, {
173
201
  justifySelf: "flex-end",
174
202
  className: "array-item-add",
175
203
  onClick: props.onAddClick,
@@ -192,7 +220,12 @@ var DefaultNormalArrayFieldTemplate = function DefaultNormalArrayFieldTemplate(p
192
220
  }), React__default.createElement(react.Grid, {
193
221
  key: "array-item-list-" + props.idSchema.$id
194
222
  }, React__default.createElement(react.GridItem, null, props.items.length > 0 && props.items.map(function (p) {
195
- return DefaultArrayItem(p);
223
+ var key = p.key,
224
+ itemProps = _objectWithoutPropertiesLoose(p, _excluded2);
225
+
226
+ return React__default.createElement(DefaultArrayItem, Object.assign({
227
+ key: key
228
+ }, itemProps));
196
229
  })), props.canAdd && React__default.createElement(react.GridItem, {
197
230
  justifySelf: "flex-end"
198
231
  }, React__default.createElement(react.Box, {
@@ -1239,17 +1272,7 @@ var _getDefaultRegistry = /*#__PURE__*/getDefaultRegistry$1(),
1239
1272
  fields = _getDefaultRegistry.fields,
1240
1273
  widgets$1 = _getDefaultRegistry.widgets;
1241
1274
 
1242
- var SubmitButton = function SubmitButton() {
1243
- return React__default.createElement(react.Box, {
1244
- marginTop: 3
1245
- }, React__default.createElement(react.Button, {
1246
- type: "submit",
1247
- variant: "solid"
1248
- }, "Submit"));
1249
- };
1250
-
1251
1275
  var Theme = {
1252
- children: /*#__PURE__*/React__default.createElement(SubmitButton, null),
1253
1276
  ArrayFieldTemplate: ArrayFieldTemplate,
1254
1277
  FieldTemplate: FieldTemplate,
1255
1278
  ObjectFieldTemplate: ObjectFieldTemplate,