@rjsf/chakra-ui 5.0.2 → 5.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,9 +1,9 @@
1
1
  import { withTheme } from '@rjsf/core';
2
2
  import * as React from 'react';
3
3
  import React__default, { useMemo, useState, useEffect } from 'react';
4
+ import { TranslatableString, getUiOptions, getTemplate, getInputProps, examplesId, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, parseDateString, toDateString, pad, schemaRequiresTrueValue, enumOptionsIndexForValue, enumOptionsValueForIndex, enumOptionsIsSelected, optionId, rangeSpec } from '@rjsf/utils';
4
5
  import { Button, HStack, Box, ButtonGroup, Grid, GridItem, shouldForwardProp, FormControl, FormLabel, Input, Text, Alert, AlertTitle, List, ListItem, ListIcon, IconButton, FormErrorMessage, FormHelperText, Heading, Divider, Checkbox, CheckboxGroup, Stack, RadioGroup, Radio, Slider, SliderTrack, SliderFilledTrack, SliderThumb, Textarea, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper, ChakraProvider } from '@chakra-ui/react';
5
6
  import { AddIcon, WarningIcon, ArrowDownIcon, ArrowUpIcon, DeleteIcon } from '@chakra-ui/icons';
6
- import { getUiOptions, getTemplate, getInputProps, examplesId, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, parseDateString, toDateString, pad, schemaRequiresTrueValue, enumOptionsIndexForValue, enumOptionsValueForIndex, enumOptionsIsSelected, optionId, rangeSpec } from '@rjsf/utils';
7
7
  import { Select } from 'chakra-react-select';
8
8
  import { Global, CacheProvider } from '@emotion/react';
9
9
  import createCache from '@emotion/cache';
@@ -38,10 +38,12 @@ function _objectWithoutPropertiesLoose(source, excluded) {
38
38
 
39
39
  var _excluded$2 = ["uiSchema", "registry"];
40
40
  function AddButton(_ref) {
41
- var props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
41
+ var registry = _ref.registry,
42
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
43
+ var translateString = registry.translateString;
42
44
  return React__default.createElement(Button, _extends({
43
45
  leftIcon: React__default.createElement(AddIcon, null)
44
- }, props), "Add Item");
46
+ }, props), translateString(TranslatableString.AddItemButton));
45
47
  }
46
48
 
47
49
  function ArrayFieldItemTemplate(props) {
@@ -253,13 +255,15 @@ function DescriptionField(_ref) {
253
255
  }
254
256
 
255
257
  function ErrorList(_ref) {
256
- var errors = _ref.errors;
258
+ var errors = _ref.errors,
259
+ registry = _ref.registry;
260
+ var translateString = registry.translateString;
257
261
  return React__default.createElement(Alert, {
258
262
  flexDirection: "column",
259
263
  alignItems: "flex-start",
260
264
  gap: 3,
261
265
  status: "error"
262
- }, React__default.createElement(AlertTitle, null, "Errors"), React__default.createElement(List, null, errors.map(function (error, i) {
266
+ }, React__default.createElement(AlertTitle, null, translateString(TranslatableString.ErrorsLabel)), React__default.createElement(List, null, errors.map(function (error, i) {
263
267
  return React__default.createElement(ListItem, {
264
268
  key: i
265
269
  }, React__default.createElement(ListIcon, {
@@ -283,22 +287,25 @@ ChakraIconButton.displayName = "ChakraIconButton";
283
287
  var ChakraIconButton$1 = /*#__PURE__*/React__default.memo(ChakraIconButton);
284
288
 
285
289
  function MoveDownButton(props) {
290
+ var translateString = props.registry.translateString;
286
291
  return React__default.createElement(ChakraIconButton$1, _extends({
287
- title: "Move down"
292
+ title: translateString(TranslatableString.MoveDownButton)
288
293
  }, props, {
289
294
  icon: React__default.createElement(ArrowDownIcon, null)
290
295
  }));
291
296
  }
292
297
  function MoveUpButton(props) {
298
+ var translateString = props.registry.translateString;
293
299
  return React__default.createElement(ChakraIconButton$1, _extends({
294
- title: "Move up"
300
+ title: translateString(TranslatableString.MoveUpButton)
295
301
  }, props, {
296
302
  icon: React__default.createElement(ArrowUpIcon, null)
297
303
  }));
298
304
  }
299
305
  function RemoveButton(props) {
306
+ var translateString = props.registry.translateString;
300
307
  return React__default.createElement(ChakraIconButton$1, _extends({
301
- title: "Remove"
308
+ title: translateString(TranslatableString.RemoveButton)
302
309
  }, props, {
303
310
  icon: React__default.createElement(DeleteIcon, null)
304
311
  }));
@@ -484,8 +491,11 @@ function WrapIfAdditionalTemplate(props) {
484
491
  required = props.required,
485
492
  schema = props.schema,
486
493
  uiSchema = props.uiSchema;
494
+ var templates = registry.templates,
495
+ translateString = registry.translateString;
487
496
  // Button templates are not overridden in the uiSchema
488
- var RemoveButton = registry.templates.ButtonTemplates.RemoveButton;
497
+ var RemoveButton = templates.ButtonTemplates.RemoveButton;
498
+ var keyLabel = translateString(TranslatableString.KeyLabel, [label]);
489
499
  var additional = (ADDITIONAL_PROPERTY_FLAG in schema);
490
500
  if (!additional) {
491
501
  return React__default.createElement("div", {
@@ -493,7 +503,6 @@ function WrapIfAdditionalTemplate(props) {
493
503
  style: style
494
504
  }, children);
495
505
  }
496
- var keyLabel = label + " Key";
497
506
  var handleBlur = function handleBlur(_ref) {
498
507
  var target = _ref.target;
499
508
  return onKeyChange(target.value);
@@ -596,6 +605,7 @@ function AltDateWidget(props) {
596
605
  registry = props.registry,
597
606
  showTime = props.showTime,
598
607
  value = props.value;
608
+ var translateString = registry.translateString;
599
609
  var _useState = useState(parseDateString(value, showTime)),
600
610
  state = _useState[0],
601
611
  setState = _useState[1];
@@ -693,11 +703,11 @@ function AltDateWidget(props) {
693
703
  return handleNow(e);
694
704
  },
695
705
  mr: "2"
696
- }, "Now"), !options.hideClearButton && React__default.createElement(Button, {
706
+ }, translateString(TranslatableString.NowLabel)), !options.hideClearButton && React__default.createElement(Button, {
697
707
  onClick: function onClick(e) {
698
708
  return handleClear(e);
699
709
  }
700
- }, "Clear")));
710
+ }, translateString(TranslatableString.ClearLabel))));
701
711
  }
702
712
  AltDateWidget.defaultProps = {
703
713
  autofocus: false,
@@ -985,7 +995,7 @@ function SelectWidget(props) {
985
995
  var displayEnumOptions = Array.isArray(enumOptions) ? enumOptions.map(function (option, index) {
986
996
  var value = option.value,
987
997
  label = option.label;
988
- _valueLabelMap[index] = label;
998
+ _valueLabelMap[index] = label || String(value);
989
999
  return {
990
1000
  label: label,
991
1001
  value: String(index),
@@ -993,14 +1003,15 @@ function SelectWidget(props) {
993
1003
  };
994
1004
  }) : [];
995
1005
  var isMultiple = typeof multiple !== "undefined" && Boolean(enumOptions);
996
- var formValue = isMultiple ? (value || []).map(function (v, index) {
1006
+ var selectedIndex = enumOptionsIndexForValue(value, enumOptions, isMultiple);
1007
+ var formValue = isMultiple ? (selectedIndex || []).map(function (i) {
997
1008
  return {
998
- label: _valueLabelMap[index] || v,
999
- value: index
1009
+ label: _valueLabelMap[i],
1010
+ value: i
1000
1011
  };
1001
1012
  }) : {
1002
- label: _valueLabelMap[0] || value || "",
1003
- value: 0
1013
+ label: _valueLabelMap[selectedIndex] || "",
1014
+ selectedIndex: selectedIndex
1004
1015
  };
1005
1016
  return React__default.createElement(FormControl, _extends({
1006
1017
  mb: 1