@rjsf/chakra-ui 4.1.1 → 4.2.2

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 (40) hide show
  1. package/dist/AltDateTimeWidget/AltDateTimeWidget.d.ts +0 -1
  2. package/dist/AltDateWidget/AltDateWidget.d.ts +0 -1
  3. package/dist/ArrayFieldTemplate/ArrayFieldTemplate.d.ts +0 -1
  4. package/dist/ChakraFrameProvider.d.ts +0 -1
  5. package/dist/CheckboxWidget/CheckboxWidget.d.ts +0 -1
  6. package/dist/CheckboxesWidget/CheckboxesWidget.d.ts +0 -1
  7. package/dist/ColorWidget/ColorWidget.d.ts +0 -1
  8. package/dist/CssReset.d.ts +0 -1
  9. package/dist/DateTimeWidget/DateTimeWidget.d.ts +0 -1
  10. package/dist/DateWidget/DateWidget.d.ts +0 -1
  11. package/dist/DescriptionField/DescriptionField.d.ts +0 -1
  12. package/dist/EmailWidget/EmailWidget.d.ts +0 -1
  13. package/dist/ErrorList/ErrorList.d.ts +0 -1
  14. package/dist/FieldTemplate/FieldTemplate.d.ts +0 -1
  15. package/dist/Fields/Fields.d.ts +0 -1
  16. package/dist/IconButton/IconButton.d.ts +2 -2
  17. package/dist/ObjectFieldTemplate/ObjectFieldTemplate.d.ts +0 -1
  18. package/dist/PasswordWidget/PasswordWidget.d.ts +0 -1
  19. package/dist/RadioWidget/RadioWidget.d.ts +0 -1
  20. package/dist/RangeWidget/RangeWidget.d.ts +0 -1
  21. package/dist/SelectWidget/SelectWidget.d.ts +0 -1
  22. package/dist/SubmitButton/SubmitButton.d.ts +3 -0
  23. package/dist/SubmitButton/index.d.ts +2 -0
  24. package/dist/TextWidget/TextWidget.d.ts +0 -1
  25. package/dist/TextareaWidget/TextareaWidget.d.ts +0 -1
  26. package/dist/TitleField/TitleField.d.ts +0 -1
  27. package/dist/URLWidget/URLWidget.d.ts +0 -1
  28. package/dist/UpDownWidget/UpDownWidget.d.ts +0 -1
  29. package/dist/Widgets/Widgets.d.ts +1 -1
  30. package/dist/chakra-ui.cjs.development.js +73 -27
  31. package/dist/chakra-ui.cjs.development.js.map +1 -1
  32. package/dist/chakra-ui.cjs.production.min.js +1 -1
  33. package/dist/chakra-ui.cjs.production.min.js.map +1 -1
  34. package/dist/chakra-ui.esm.js +74 -28
  35. package/dist/chakra-ui.esm.js.map +1 -1
  36. package/dist/chakra-ui.umd.development.js +1381 -0
  37. package/dist/chakra-ui.umd.development.js.map +1 -0
  38. package/dist/chakra-ui.umd.production.min.js +2 -0
  39. package/dist/chakra-ui.umd.production.min.js.map +1 -0
  40. package/package.json +6 -8
@@ -1 +1 @@
1
- {"version":3,"file":"chakra-ui.cjs.production.min.js","sources":["../src/AddButton/AddButton.tsx","../src/IconButton/IconButton.tsx","../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx","../src/Fields/Fields.ts","../src/TitleField/TitleField.tsx","../src/DescriptionField/DescriptionField.tsx","../src/FieldTemplate/WrapIfAdditional.tsx","../src/FieldTemplate/FieldTemplate.tsx","../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx","../src/AltDateWidget/AltDateWidget.tsx","../src/AltDateTimeWidget/AltDateTimeWidget.tsx","../src/utils.ts","../src/CheckboxWidget/CheckboxWidget.tsx","../src/DateTimeWidget/DateTimeWidget.tsx","../src/RangeWidget/RangeWidget.tsx","../src/SelectWidget/SelectWidget.tsx","../src/TextareaWidget/TextareaWidget.tsx","../src/TextWidget/TextWidget.tsx","../src/UpDownWidget/UpDownWidget.tsx","../src/Widgets/Widgets.ts","../src/CheckboxesWidget/CheckboxesWidget.tsx","../src/ColorWidget/ColorWidget.tsx","../src/DateWidget/DateWidget.tsx","../src/EmailWidget/EmailWidget.tsx","../src/PasswordWidget/PasswordWidget.tsx","../src/RadioWidget/RadioWidget.tsx","../src/URLWidget/URLWidget.tsx","../src/Theme/Theme.tsx","../src/ErrorList/ErrorList.tsx","../src/Form/Form.tsx","../src/CssReset.tsx","../src/ChakraFrameProvider.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { AddButtonProps } from \"@rjsf/core\";\n\nimport { Button, ButtonProps } from \"@chakra-ui/react\";\nimport { AddIcon } from \"@chakra-ui/icons\";\n\nconst AddButton: React.FC<AddButtonProps & ButtonProps> = props => (\n <Button leftIcon={<AddIcon />} {...props}>\n Add Item\n </Button>\n);\n\nexport default AddButton;\n","import React from \"react\";\nimport {\n IconButton,\n IconButtonProps as ChakraIconButtonProps,\n} from \"@chakra-ui/react\";\n\nimport {\n AddIcon,\n ArrowUpIcon,\n ArrowDownIcon,\n DeleteIcon\n} from \"@chakra-ui/icons\";\n\nconst mappings = {\n remove: <DeleteIcon />,\n plus: <AddIcon />,\n \"arrow-up\": <ArrowUpIcon />,\n \"arrow-down\": <ArrowDownIcon />,\n};\n\ntype IconButtonProps = Omit<ChakraIconButtonProps, \"aria-label\" | \"icon\"> & {\n icon: keyof typeof mappings;\n};\n\n/**\n * props used in Template:\n * icon, tabIndex, disabled, onClick\n */\nconst ChakraIconButton = (props: IconButtonProps) => {\n const { icon, ...otherProps } = props;\n return <IconButton {...otherProps} icon={mappings[icon]} aria-label={icon} />;\n};\n\nexport default ChakraIconButton;\n","import React from \"react\";\n\nimport { utils } from \"@rjsf/core\";\n\nimport { Box, Grid, GridItem, ButtonGroup, HStack } from \"@chakra-ui/react\";\n\nimport { ArrayFieldTemplateProps, IdSchema } from \"@rjsf/core\";\n\nimport AddButton from \"../AddButton/AddButton\";\nimport IconButton from \"../IconButton/IconButton\";\n\nconst { isMultiSelect, getDefaultRegistry } = utils;\n\nconst ArrayFieldTemplate = (props: ArrayFieldTemplateProps) => {\n const { schema, registry = getDefaultRegistry() } = props;\n\n if (isMultiSelect(schema, registry.rootSchema)) {\n return <DefaultFixedArrayFieldTemplate {...props} />;\n } else {\n return <DefaultNormalArrayFieldTemplate {...props} />;\n }\n};\n\ntype ArrayFieldTitleProps = {\n TitleField: any;\n idSchema: IdSchema;\n title: string;\n required: boolean;\n};\n\nconst ArrayFieldTitle = ({\n TitleField,\n idSchema,\n title,\n required,\n}: ArrayFieldTitleProps) => {\n if (!title) {\n return null;\n }\n\n const id = `${idSchema.$id}__title`;\n return <TitleField id={id} title={title} required={required} />;\n};\n\ntype ArrayFieldDescriptionProps = {\n DescriptionField: any;\n idSchema: IdSchema;\n description: string;\n};\n\nconst ArrayFieldDescription = ({\n DescriptionField,\n idSchema,\n description,\n}: ArrayFieldDescriptionProps) => {\n if (!description) {\n return null;\n }\n\n const id = `${idSchema.$id}__description`;\n return <DescriptionField id={id} description={description} />;\n};\n\n// Used in the two templates\nconst DefaultArrayItem = (props: any) => {\n return (\n <HStack key={props.key} alignItems={\"flex-end\"} py={1}>\n <Box w=\"100%\">\n {props.children}\n </Box>\n\n {props.hasToolbar && (\n <Box>\n <ButtonGroup isAttached mb={1}>\n {(props.hasMoveUp || props.hasMoveDown) && (\n <IconButton\n icon=\"arrow-up\"\n tabIndex={-1}\n disabled={props.disabled || props.readonly || !props.hasMoveUp}\n onClick={props.onReorderClick(props.index, props.index - 1)}\n />\n )}\n\n {(props.hasMoveUp || props.hasMoveDown) && (\n <IconButton\n icon=\"arrow-down\"\n tabIndex={-1}\n disabled={\n props.disabled || props.readonly || !props.hasMoveDown\n }\n onClick={props.onReorderClick(props.index, props.index + 1)}\n />\n )}\n\n {props.hasRemove && (\n <IconButton\n icon=\"remove\"\n tabIndex={-1}\n disabled={props.disabled || props.readonly}\n onClick={props.onDropIndexClick(props.index)}\n />\n )}\n </ButtonGroup>\n </Box>\n )}\n </HStack>\n );\n};\n\nconst DefaultFixedArrayFieldTemplate = (props: ArrayFieldTemplateProps) => (\n <fieldset className={props.className}>\n <ArrayFieldTitle\n key={`array-field-title-${props.idSchema.$id}`}\n TitleField={props.TitleField}\n idSchema={props.idSchema}\n title={props.uiSchema[\"ui:title\"] || props.title}\n required={props.required}\n />\n\n {(props.uiSchema[\"ui:description\"] || props.schema.description) && (\n // Use DescriptionField if possible\n <div\n className=\"field-description\"\n key={`field-description-${props.idSchema.$id}`}\n >\n {props.uiSchema[\"ui:description\"] || props.schema.description}\n </div>\n )}\n\n <div\n className=\"row array-item-list\"\n key={`array-item-list-${props.idSchema.$id}`}\n >\n {props.items && props.items.map(DefaultArrayItem)}\n </div>\n\n {props.canAdd && (\n <AddButton\n justifySelf={\"flex-end\"}\n className=\"array-item-add\"\n onClick={props.onAddClick}\n disabled={props.disabled || props.readonly}\n />\n )}\n </fieldset>\n);\n\nconst DefaultNormalArrayFieldTemplate = (props: ArrayFieldTemplateProps) => (\n <Box>\n <ArrayFieldTitle\n key={`array-field-title-${props.idSchema.$id}`}\n TitleField={props.TitleField}\n idSchema={props.idSchema}\n title={props.uiSchema[\"ui:title\"] || props.title}\n required={props.required}\n />\n\n {(props.uiSchema[\"ui:description\"] || props.schema.description) && (\n <ArrayFieldDescription\n key={`array-field-description-${props.idSchema.$id}`}\n DescriptionField={props.DescriptionField}\n idSchema={props.idSchema}\n description={\n props.uiSchema[\"ui:description\"] || props.schema.description\n }\n />\n )}\n\n <Grid key={`array-item-list-${props.idSchema.$id}`}>\n <GridItem>\n {props.items.length > 0 && props.items.map(p => DefaultArrayItem(p))}\n </GridItem>\n {props.canAdd && (\n <GridItem justifySelf={\"flex-end\"}>\n <Box mt={2}>\n <AddButton\n className=\"array-item-add\"\n onClick={props.onAddClick}\n disabled={props.disabled || props.readonly}\n />\n </Box>\n </GridItem>\n )}\n </Grid>\n </Box>\n);\n\nexport default ArrayFieldTemplate;\n","import TitleField from \"../TitleField\";\nimport DescriptionField from \"../DescriptionField\";\n\nexport default {\n TitleField,\n DescriptionField,\n};\n","import React from \"react\";\n\nimport { FieldProps } from \"@rjsf/core\";\n\nimport { Box, Divider, Heading } from \"@chakra-ui/react\";\n\nconst TitleField = ({ title /* , id, required */ }: FieldProps) => (\n <Box mt={1} mb={4}>\n <Heading as=\"h5\">{title}</Heading>\n <Divider />\n </Box>\n);\n\nexport default TitleField;\n","import React from \"react\";\n\nimport { FieldProps } from \"@rjsf/core\";\n\nimport { Text } from \"@chakra-ui/react\";\n\nconst DescriptionField = ({ description, id }: FieldProps) => {\n if (!description) return null;\n\n if (typeof description === \"string\") {\n return <Text id={id} mt={2} mb={4}>{description}</Text>;\n }\n\n return <>{description}</>;\n};\n\nexport default DescriptionField;\n","import * as React from \"react\";\n\nimport { utils } from \"@rjsf/core\";\nimport { JSONSchema7 } from \"json-schema\";\n\nimport {\n FormControl,\n FormLabel,\n Grid,\n GridItem,\n Input,\n} from \"@chakra-ui/react\";\n\nimport IconButton from \"../IconButton\";\n\nconst { ADDITIONAL_PROPERTY_FLAG } = utils;\n\ninterface WrapIfAdditionalProps {\n children: React.ReactElement;\n classNames: string;\n disabled: boolean;\n id: string;\n label: string;\n onDropPropertyClick: (index: string) => (event?: any) => void;\n onKeyChange: (index: string) => (event?: any) => void;\n readonly: boolean;\n required: boolean;\n schema: JSONSchema7;\n}\n\nconst WrapIfAdditional = (props: WrapIfAdditionalProps) => {\n const {\n children,\n disabled,\n id,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n } = props;\n const additional = schema.hasOwnProperty(ADDITIONAL_PROPERTY_FLAG);\n if (!additional) {\n return <>{children}</>;\n }\n const keyLabel = `${label} Key`;\n\n const handleBlur = ({ target }: React.FocusEvent<HTMLInputElement>) =>\n onKeyChange(target.value);\n\n return (\n <Grid key={`${id}-key`} alignItems=\"center\" gap={2}>\n <GridItem>\n <FormControl isRequired={required}>\n <FormLabel htmlFor={`${id}-key`}>{keyLabel}</FormLabel>\n <Input\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? handleBlur : undefined}\n type=\"text\"\n mb={1}\n />\n </FormControl>\n </GridItem>\n <GridItem>{children}</GridItem>\n <GridItem>\n <IconButton\n icon=\"remove\"\n tabIndex={-1}\n disabled={disabled || readonly}\n onClick={onDropPropertyClick(label)}\n />\n </GridItem>\n </Grid>\n );\n};\n\nexport default WrapIfAdditional;\n","import React from \"react\";\n\nimport { FieldTemplateProps } from \"@rjsf/core\";\n\nimport {\n Text,\n FormControl,\n FormHelperText,\n FormErrorMessage,\n} from \"@chakra-ui/react\";\nimport { List, ListItem } from \"@chakra-ui/react\";\n\nimport WrapIfAdditional from \"./WrapIfAdditional\";\n\nconst FieldTemplate = (props: FieldTemplateProps) => {\n const {\n id,\n children,\n classNames,\n disabled,\n displayLabel,\n hidden,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n rawErrors = [],\n rawHelp,\n rawDescription,\n schema,\n } = props;\n\n if (hidden) {\n return <>{children}</>;\n }\n\n return (\n <WrapIfAdditional\n classNames={classNames}\n disabled={disabled}\n id={id}\n label={label}\n onDropPropertyClick={onDropPropertyClick}\n onKeyChange={onKeyChange}\n readonly={readonly}\n required={required}\n schema={schema}\n >\n <FormControl\n isRequired={required}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {children}\n {displayLabel && rawDescription ? (\n <Text mt={2}>{rawDescription}</Text>\n ) : null}\n {rawErrors && rawErrors.length > 0 && (\n <List>\n {rawErrors.map((error, i: number) => {\n return (\n <ListItem key={i}>\n <FormErrorMessage id={id}>{error}</FormErrorMessage>\n </ListItem>\n );\n })}\n </List>\n )}\n {rawHelp && <FormHelperText id={id}>{rawHelp}</FormHelperText>}\n </FormControl>\n </WrapIfAdditional>\n );\n};\n\nexport default FieldTemplate;\n","import * as React from \"react\";\n\nimport { Grid, GridItem } from \"@chakra-ui/react\";\n\nimport { ObjectFieldTemplateProps } from \"@rjsf/core\";\nimport { utils } from \"@rjsf/core\";\n\nimport AddButton from \"../AddButton\";\n\nconst { canExpand } = utils;\n\nconst ObjectFieldTemplate = (props: ObjectFieldTemplateProps) => {\n const {\n DescriptionField,\n description,\n TitleField,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n idSchema,\n schema,\n formData,\n onAddClick,\n } = props;\n\n return (\n <React.Fragment>\n {(uiSchema[\"ui:title\"] || title) && (\n <TitleField\n id={`${idSchema.$id}-title`}\n title={title}\n required={required}\n />\n )}\n {description && (\n <DescriptionField\n id={`${idSchema.$id}-description`}\n description={description}\n />\n )}\n <Grid gap={description ? 2 : 6} mb={4}>\n {properties.map((element, index) =>\n element.hidden ? (\n element.content\n ) : (\n <GridItem key={`${idSchema.$id}-${element.name}-${index}`}>\n {element.content}\n </GridItem>\n )\n )}\n {canExpand(schema, uiSchema, formData) && (\n <GridItem justifySelf=\"flex-end\">\n <AddButton\n className=\"object-property-expand\"\n onClick={onAddClick(schema)}\n disabled={disabled || readonly}\n />\n </GridItem>\n )}\n </Grid>\n </React.Fragment>\n );\n};\n\nexport default ObjectFieldTemplate;\n","import React, { MouseEvent, useEffect, useState } from \"react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { Box, Button } from \"@chakra-ui/react\";\n\nconst { pad, parseDateString, toDateString } = utils;\n\nconst rangeOptions = (start: number, stop: number) => {\n let options = [];\n for (let i = start; i <= stop; i++) {\n options.push({ value: i, label: pad(i, 2) });\n }\n return options;\n};\n\ninterface AltDateStateType {\n [x: string]: number;\n\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nconst readyForChange = (state: AltDateStateType) => {\n return Object.keys(state).every(\n key => typeof state[key] !== \"undefined\" && state[key] !== -1\n );\n};\n\nconst AltDateWidget = (props: any) => {\n const {\n autofocus,\n disabled,\n id,\n onBlur,\n onChange,\n onFocus,\n options,\n readonly,\n registry,\n showTime,\n value,\n } = props;\n const { SelectWidget } = registry.widgets;\n const [state, setState] = useState(parseDateString(value, showTime));\n useEffect(() => {\n setState(parseDateString(value, showTime));\n }, [showTime, value]);\n\n const handleChange = (property: string, nextValue: string) => {\n const nextState = {\n ...state,\n [property]: typeof nextValue === \"undefined\" ? -1 : nextValue,\n };\n\n if (readyForChange(nextState)) {\n onChange(toDateString(nextState, showTime));\n } else {\n setState(nextState);\n }\n };\n\n const handleNow = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (disabled || readonly) {\n return;\n }\n const nextState = parseDateString(new Date().toJSON(), showTime);\n onChange(toDateString(nextState, showTime));\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (disabled || readonly) {\n return;\n }\n onChange(undefined);\n };\n\n const dateElementProps = () => {\n const { year, month, day, hour, minute, second } = state;\n\n const data = [\n { type: \"year\", range: options.yearsRange, value: year },\n { type: \"month\", range: [1, 12], value: month },\n { type: \"day\", range: [1, 31], value: day },\n ];\n\n if (showTime) {\n data.push(\n { type: \"hour\", range: [0, 23], value: hour },\n { type: \"minute\", range: [0, 59], value: minute },\n { type: \"second\", range: [0, 59], value: second }\n );\n }\n\n return data;\n };\n\n const renderDateElement = (elemProps: WidgetProps) => {\n const value = Boolean(elemProps.value) ? elemProps.value : undefined;\n return (\n <SelectWidget\n {...elemProps}\n label={undefined}\n className=\"form-control\"\n onChange={(elemValue: WidgetProps) =>\n elemProps.select(elemProps.type, elemValue)\n }\n options={{\n enumOptions: rangeOptions(elemProps.range[0], elemProps.range[1]),\n }}\n placeholder={elemProps.type}\n schema={{ type: \"integer\" }}\n value={value}\n />\n );\n };\n\n return (\n <Box>\n <Box display=\"flex\" flexWrap=\"wrap\" alignItems=\"center\" justify=\"center\">\n {dateElementProps().map((elemProps: any, i) => {\n const elemId = id + \"_\" + elemProps.type;\n return (\n <Box key={elemId} mr=\"2\" mb=\"2\">\n {renderDateElement({\n ...props,\n ...elemProps,\n autofocus: autofocus && i === 0,\n disabled,\n id: elemId,\n onBlur,\n onFocus,\n readonly,\n registry,\n select: handleChange,\n value: elemProps.value < 0 ? \"\" : elemProps.value,\n })}\n </Box>\n );\n })}\n </Box>\n <Box display=\"flex\">\n {!options.hideNowButton && (\n <Button\n onClick={(e: MouseEvent<HTMLButtonElement>) => handleNow(e)}\n mr=\"2\"\n >\n Now\n </Button>\n )}\n {!options.hideClearButton && (\n <Button\n onClick={(e: MouseEvent<HTMLButtonElement>) => handleClear(e)}\n >\n Clear\n </Button>\n )}\n </Box>\n </Box>\n );\n};\n\nAltDateWidget.defaultProps = {\n autofocus: false,\n disabled: false,\n readonly: false,\n showTime: false,\n options: {\n yearsRange: [1900, new Date().getFullYear() + 2],\n },\n};\n\nexport default AltDateWidget;\n","import React from \"react\";\n\nimport _AltDateWidget from \"../AltDateWidget\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst AltDateTimeWidget = (props: WidgetProps) => {\n const { AltDateWidget } = props.registry.widgets;\n return <AltDateWidget {...props} showTime />;\n};\n\nAltDateTimeWidget.defaultProps = {\n ..._AltDateWidget.defaultProps,\n showTime: true,\n};\n\nexport default AltDateTimeWidget;\n","import { ChakraProps, shouldForwardProp } from \"@chakra-ui/react\";\nimport { FormProps, UiSchema } from \"@rjsf/core\";\n\nexport type ThemeProps<T = any> = Omit<FormProps<T>, \"schema\" | \"uiSchema\"> & {\n uiSchema?: ChakraUiSchema;\n};\n\nexport interface ChakraUiSchema extends Omit<UiSchema, \"ui:options\"> {\n \"ui:options\"?: ChakraUiOptions;\n}\n\ntype ChakraUiOptions = UiSchema[\"ui:options\"] & { chakra?: ChakraProps };\n\ninterface GetChakraProps {\n uiSchema?: ChakraUiSchema;\n}\n\nexport function getChakra({ uiSchema = {} }: GetChakraProps): ChakraProps {\n const chakraProps =\n (uiSchema[\"ui:options\"] && uiSchema[\"ui:options\"].chakra) || {};\n\n Object.keys(chakraProps).forEach(key => {\n /**\n * Leveraging `shouldForwardProp` to remove props\n *\n * This is a utility function that's used in `@chakra-ui/react`'s factory function.\n * Normally, it prevents ChakraProps from being passed to the DOM.\n * In this case we just want to delete the unknown props. So we flip the boolean.\n */\n if (shouldForwardProp(key)) {\n // @ts-ignore - How to type this?!... 😬\n delete (chakraProps as any)[key];\n }\n });\n\n return chakraProps;\n}\n","import React from \"react\";\nimport { Checkbox, FormControl, Text } from \"@chakra-ui/react\";\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst CheckboxWidget = (props: WidgetProps) => {\n const {\n id,\n value,\n disabled,\n readonly,\n onChange,\n onBlur,\n onFocus,\n required,\n label,\n uiSchema,\n } = props;\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = ({\n target: { checked },\n }: React.ChangeEvent<HTMLInputElement>) => onChange(checked);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n return (\n <FormControl mb={1} {...chakraProps} isRequired={required}>\n <Checkbox\n id={id}\n name={id}\n isChecked={typeof value === \"undefined\" ? false : value}\n isDisabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n {label && <Text>{label}</Text>}\n </Checkbox>\n </FormControl>\n );\n};\n\nexport default CheckboxWidget;\n","import React from \"react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\n\nconst { localToUTC, utcToLocal } = utils;\n\nconst DateTimeWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n const value = utcToLocal(props.value);\n const onChange = (value: any) => {\n props.onChange(localToUTC(value));\n };\n\n return (\n <TextWidget\n type=\"datetime-local\"\n {...props}\n value={value}\n onChange={onChange}\n />\n );\n};\n\nexport default DateTimeWidget;\n","import React from \"react\";\nimport {\n FormControl,\n FormLabel,\n Slider,\n SliderFilledTrack,\n SliderThumb,\n SliderTrack,\n} from \"@chakra-ui/react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { rangeSpec, getDisplayLabel } = utils;\n\nconst RangeWidget = ({\n value,\n readonly,\n disabled,\n onBlur,\n onFocus,\n options,\n schema,\n uiSchema,\n onChange,\n label,\n id,\n}: WidgetProps) => {\n const chakraProps = getChakra({ uiSchema });\n\n let sliderWidgetProps = { value, label, id, ...rangeSpec(schema) };\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const _onChange = (value: undefined | number) =>\n onChange(value === undefined ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n return (\n <FormControl mb={1} {...chakraProps}>\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <Slider\n {...sliderWidgetProps}\n id={id}\n name={id}\n isDisabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n <SliderTrack>\n <SliderFilledTrack />\n </SliderTrack>\n <SliderThumb />\n </Slider>\n </FormControl>\n );\n};\n\nexport default RangeWidget;\n","import React from \"react\";\nimport { FormControl, FormLabel, Select } from \"@chakra-ui/react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\nimport {\n GroupBase,\n OptionsOrGroups,\n Select as ChakraMultiSelect,\n} from \"chakra-react-select\";\n\nconst { asNumber, guessType } = utils;\n\nconst nums = new Set([\"number\", \"integer\"]);\n\n/**\n * This is a silly limitation in the DOM where option change event values are\n * always retrieved as strings.\n */\nconst processValue = (schema: any, value: any) => {\n // \"enum\" is a reserved word, so only \"type\" and \"items\" can be destructured\n const { type, items } = schema;\n if (value === \"\") {\n return undefined;\n } else if (type === \"array\" && items && nums.has(items.type)) {\n return value.map(asNumber);\n } else if (type === \"boolean\") {\n return value === \"true\";\n } else if (type === \"number\") {\n return asNumber(value);\n }\n\n // If type is undefined, but an enum is present, try and infer the type from\n // the enum values\n if (schema.enum) {\n if (schema.enum.every((x: any) => guessType(x) === \"number\")) {\n return asNumber(value);\n } else if (schema.enum.every((x: any) => guessType(x) === \"boolean\")) {\n return value === \"true\";\n }\n }\n\n return value;\n};\n\nconst SelectWidget = (props: WidgetProps) => {\n const {\n schema,\n id,\n options,\n label,\n placeholder,\n multiple,\n required,\n disabled,\n readonly,\n value,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n rawErrors = [],\n uiSchema,\n } = props;\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n\n // TODO: Default emptyValue should be string when multi select is implemented\n // const emptyValue = multiple ? [] : \"\";\n const emptyValue: string = \"\";\n\n const _onMultiChange = (e: any) => {\n return onChange(\n processValue(\n schema,\n e.map((v: { label: any; value: any }) => {\n return v.value;\n })\n )\n );\n };\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<{ name?: string; value: unknown }>) =>\n onChange(processValue(schema, value));\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLSelectElement>) =>\n onBlur(id, processValue(schema, value));\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLSelectElement>) =>\n onFocus(id, processValue(schema, value));\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {(label || schema.title) && (\n <FormLabel\n htmlFor={\n typeof multiple !== \"undefined\" && enumOptions ? undefined : id\n }\n >\n {label || schema.title}\n </FormLabel>\n )}\n {typeof multiple !== \"undefined\" && enumOptions ? (\n <ChakraMultiSelect\n inputId={id}\n name={id}\n isMulti\n options={enumOptions as OptionsOrGroups<unknown, GroupBase<unknown>>}\n placeholder={placeholder}\n closeMenuOnSelect={false}\n onChange={_onMultiChange}\n value={value.map((v: any) => {\n return {\n label: v,\n value: v,\n };\n })}\n />\n ) : (\n <Select\n id={id}\n name={id}\n placeholder={placeholder !== \"\" ? placeholder : \" \"}\n value={typeof value === \"undefined\" ? emptyValue : value.toString()}\n autoFocus={autofocus}\n onBlur={_onBlur}\n onChange={_onChange}\n onFocus={_onFocus}\n >\n {(enumOptions as any).map(({ value, label }: any, i: number) => {\n const disabled: any =\n enumDisabled && (enumDisabled as any).indexOf(value) != -1;\n return (\n <option key={i} value={value} disabled={disabled}>\n {label}\n </option>\n );\n })}\n </Select>\n )}\n </FormControl>\n );\n};\n\nexport default SelectWidget;\n","import React from \"react\";\nimport { FormControl, FormLabel, Textarea } from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst TextareaWidget = ({\n id,\n placeholder,\n value,\n label,\n disabled,\n autofocus,\n readonly,\n onBlur,\n onFocus,\n onChange,\n options,\n schema,\n uiSchema,\n required,\n rawErrors,\n}: WidgetProps) => {\n const chakraProps = getChakra({ uiSchema });\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<HTMLTextAreaElement>) =>\n onChange(value === \"\" ? options.emptyValue : value);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLTextAreaElement>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLTextAreaElement>) => onFocus(id, value);\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <Textarea\n id={id}\n name={id}\n value={value ?? \"\"}\n placeholder={placeholder}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n />\n </FormControl>\n );\n};\n\nexport default TextareaWidget;\n","import * as React from \"react\";\nimport { FormControl, FormLabel, Input } from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst TextWidget = (props: WidgetProps) => {\n const {\n id,\n type,\n value,\n label,\n schema,\n uiSchema,\n onChange,\n onBlur,\n onFocus,\n options,\n required,\n readonly,\n rawErrors,\n autofocus,\n placeholder,\n disabled,\n } = props;\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<HTMLInputElement>) =>\n onChange(value === \"\" ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const inputType =\n (type || schema.type) === \"string\" ? \"text\" : `${type || schema.type}`;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id} id={`${id}-label`}>\n {label || schema.title}\n </FormLabel>\n ) : null}\n <Input\n id={id}\n name={id}\n value={value || value === 0 ? value : \"\"}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n autoFocus={autofocus}\n placeholder={placeholder}\n type={inputType}\n list={schema.examples ? `examples_${id}` : undefined}\n />\n {schema.examples ? (\n <datalist id={`examples_${id}`}>\n {(schema.examples as string[])\n .concat(schema.default ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n ) : null}\n </FormControl>\n );\n};\n\nexport default TextWidget;\n","import React from \"react\";\nimport {\n NumberInput,\n NumberDecrementStepper,\n NumberIncrementStepper,\n NumberInputField,\n NumberInputStepper,\n FormControl,\n FormLabel,\n} from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst UpDownWidget = (props: WidgetProps) => {\n const {\n id,\n schema,\n uiSchema,\n readonly,\n disabled,\n label,\n value,\n onChange,\n onBlur,\n onFocus,\n rawErrors,\n required,\n } = props;\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = (value: string | number) => onChange(value);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <NumberInput\n value={value ?? \"\"}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n <NumberInputField id={id} name={id} />\n <NumberInputStepper>\n <NumberIncrementStepper />\n <NumberDecrementStepper />\n </NumberInputStepper>\n </NumberInput>\n </FormControl>\n );\n};\n\nexport default UpDownWidget;\n","import AltDateTimeWidget from \"../AltDateTimeWidget/AltDateTimeWidget\";\nimport AltDateWidget from \"../AltDateWidget/AltDateWidget\";\nimport CheckboxWidget from \"../CheckboxWidget/CheckboxWidget\";\nimport CheckboxesWidget from \"../CheckboxesWidget/CheckboxesWidget\";\nimport ColorWidget from \"../ColorWidget/ColorWidget\";\nimport DateWidget from \"../DateWidget/DateWidget\";\nimport DateTimeWidget from \"../DateTimeWidget/DateTimeWidget\";\nimport EmailWidget from \"../EmailWidget/EmailWidget\";\nimport PasswordWidget from \"../PasswordWidget/PasswordWidget\";\nimport RadioWidget from \"../RadioWidget/RadioWidget\";\nimport RangeWidget from \"../RangeWidget/RangeWidget\";\nimport SelectWidget from \"../SelectWidget/SelectWidget\";\nimport TextareaWidget from \"../TextareaWidget/TextareaWidget\";\nimport TextWidget from \"../TextWidget/TextWidget\";\nimport UpDownWidget from \"../UpDownWidget/UpDownWidget\";\nimport URLWidget from \"../URLWidget/URLWidget\";\n\nconst widgets = {\n AltDateTimeWidget,\n AltDateWidget,\n CheckboxWidget,\n CheckboxesWidget,\n ColorWidget,\n DateWidget,\n DateTimeWidget,\n EmailWidget,\n PasswordWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n TextWidget,\n UpDownWidget,\n URLWidget,\n};\n\nexport default widgets;\n","import React from \"react\";\nimport {\n CheckboxGroup,\n Checkbox,\n FormLabel,\n FormControl,\n Text,\n Stack,\n} from \"@chakra-ui/react\";\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\n// const selectValue = (value, selected, all) => {\n// const at = all.indexOf(value);\n// const updated = selected.slice(0, at).concat(value, selected.slice(at));\n\n// // As inserting values at predefined index positions doesn't work with empty\n// // arrays, we need to reorder the updated selection to match the initial order\n// return updated.sort((a, b) => all.indexOf(a) > all.indexOf(b));\n// };\n\n// const deselectValue = (value, selected) => {\n// return selected.filter((v) => v !== value);\n// };\n\nconst CheckboxesWidget = (props: WidgetProps) => {\n const {\n id,\n disabled,\n options,\n value,\n readonly,\n onChange,\n onBlur,\n onFocus,\n required,\n label,\n uiSchema,\n rawErrors = [],\n schema,\n } = props;\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n // const _onChange = option => ({ target: { checked } }) => {\n // const all = enumOptions.map(({ value }) => value)\n\n // if (checked) {\n // onChange(selectValue(option.value, value, all))\n // } else {\n // onChange(deselectValue(option.value, value))\n // }\n // }\n\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n const row = options ? options.inline : false;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n <CheckboxGroup onChange={option => onChange(option)} defaultValue={value}>\n <Stack direction={row ? \"row\" : \"column\"}>\n {(enumOptions as any).map(\n (option: { value: any; label: any }, index: any) => {\n const checked = value.indexOf(option.value) !== -1;\n const itemDisabled =\n enumDisabled &&\n (enumDisabled as string[]).indexOf(option.value) !== -1;\n return (\n <Checkbox\n key={`${id}_${index}`}\n id={`${id}_${index}`}\n value={option.value}\n isChecked={checked}\n isDisabled={disabled || itemDisabled || readonly}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n {option.label && <Text>{option.label}</Text>}\n </Checkbox>\n );\n }\n )}\n </Stack>\n </CheckboxGroup>\n </FormControl>\n );\n};\n\nexport default CheckboxesWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst ColorWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"color\" {...props} />;\n};\n\nexport default ColorWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst DateWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget {...props} type=\"date\" />;\n};\n\nexport default DateWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst EmailWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget {...props} type=\"email\" />;\n};\n\nexport default EmailWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst PasswordWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"password\" {...props} />;\n};\n\nexport default PasswordWidget;\n","import React from \"react\";\n\nimport {\n FormControl,\n FormLabel,\n Radio,\n RadioGroup,\n Stack,\n} from \"@chakra-ui/react\";\n\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst RadioWidget = ({\n id,\n schema,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n onChange,\n onBlur,\n onFocus,\n uiSchema,\n}: WidgetProps) => {\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n const row = options ? options.inline : false;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n >\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n <RadioGroup\n onChange={onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n value={`${value}`}\n name={id}\n >\n <Stack direction={row ? \"row\" : \"column\"}>\n {(enumOptions as any).map((option: any, i: number) => {\n const itemDisabled = Boolean(\n enumDisabled && (enumDisabled as any).indexOf(option.value) != -1\n );\n\n return (\n <Radio\n value={`${option.value}`}\n key={i}\n disabled={disabled || itemDisabled || readonly}\n >\n {`${option.label}`}\n </Radio>\n );\n })}\n </Stack>\n </RadioGroup>\n </FormControl>\n );\n};\n\nexport default RadioWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst URLWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"url\" {...props} />;\n};\n\nexport default URLWidget;\n","import React from \"react\";\n\nimport { Box, Button } from \"@chakra-ui/react\";\n\nimport ArrayFieldTemplate from \"../ArrayFieldTemplate\";\nimport ErrorList from \"../ErrorList\";\nimport Fields from \"../Fields\";\nimport FieldTemplate from \"../FieldTemplate\";\nimport ObjectFieldTemplate from \"../ObjectFieldTemplate\";\nimport Widgets from \"../Widgets\";\nimport { utils } from \"@rjsf/core\";\nimport { ThemeProps } from \"../utils\";\n\nconst { getDefaultRegistry } = utils;\n\nconst { fields, widgets } = getDefaultRegistry();\n\nconst SubmitButton = () => (\n <Box marginTop={3}>\n <Button type=\"submit\" variant=\"solid\">\n Submit\n </Button>\n </Box>\n);\n\nconst Theme: ThemeProps = {\n children: <SubmitButton />,\n ArrayFieldTemplate,\n FieldTemplate,\n ObjectFieldTemplate,\n ErrorList,\n fields: { ...fields, ...Fields },\n widgets: { ...widgets, ...Widgets },\n};\n\nexport default Theme;\n","import React from \"react\";\nimport { ErrorListProps } from \"@rjsf/core\";\nimport {\n List,\n ListIcon,\n ListItem,\n Alert,\n AlertTitle,\n} from \"@chakra-ui/react\";\nimport { WarningIcon } from \"@chakra-ui/icons\";\n\nconst ErrorList = ({ errors }: ErrorListProps) => {\n return (\n <Alert\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n status=\"error\"\n >\n <AlertTitle>\n Errors\n </AlertTitle>\n\n <List>\n {errors.map((error, i) => (\n <ListItem key={i}>\n <ListIcon as={WarningIcon} color=\"red.500\" />\n {error.stack}\n </ListItem>\n ))}\n </List>\n </Alert>\n );\n};\n\nexport default ErrorList;\n","import { withTheme, FormProps } from \"@rjsf/core\";\n\nimport Theme from \"../Theme\";\nimport { ComponentClass, FunctionComponent } from \"react\";\n\nconst Form:\n | ComponentClass<FormProps<any>>\n | FunctionComponent<FormProps<any>> = withTheme(Theme);\n\nexport default Form;\n","import { Global } from \"@emotion/react\";\nimport * as React from \"react\";\n\n/**\n * \n * The reason we need this is for ChakraProvider styling in Playground. \n * The User Developer would be responsible for styling with ChakraProvider in their app.\n * \n * Exact duplicate of `@chakra-ui/react`'s `CSSReset` component. Except for the following:\n * \n ```css\n input {\n border-width: revert;\n border-color: revert;\n border-style: revert;\n }\n .array-item > hr {\n margin-top: 16px;\n margin-bottom: 16px;\n }\n ```\n\n It is located at the bottom of the styles string.\n */\nexport const CSSReset = () => (\n <Global\n styles={`\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n font-family: system-ui, sans-serif;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n touch-action: manipulation;\n }\n body {\n position: relative;\n min-height: 100%;\n font-feature-settings: 'kern';\n }\n *,\n *::before,\n *::after {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n }\n main {\n display: block;\n }\n hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n b,\n strong {\n font-weight: bold;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n img {\n border-style: none;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n button,\n input {\n overflow: visible;\n }\n button,\n select {\n text-transform: none;\n }\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n progress {\n vertical-align: baseline;\n }\n textarea {\n overflow: auto;\n }\n [type=\"checkbox\"],\n [type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n }\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n [type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n details {\n display: block;\n }\n summary {\n display: list-item;\n }\n template {\n display: none;\n }\n [hidden] {\n display: none !important;\n }\n body,\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n button {\n background: transparent;\n padding: 0;\n }\n fieldset {\n margin: 0;\n padding: 0;\n }\n ol,\n ul {\n margin: 0;\n padding: 0;\n }\n textarea {\n resize: vertical;\n }\n button,\n [role=\"button\"] {\n cursor: pointer;\n }\n button::-moz-focus-inner {\n border: 0 !important;\n }\n table {\n border-collapse: collapse;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n outline: none;\n box-shadow: none;\n }\n select::-ms-expand {\n display: none;\n }\n input {\n border-width: revert;\n border-color: revert;\n border-style: revert;\n }\n .array-item > hr {\n margin-top: 16px;\n margin-bottom: 16px;\n }\n `}\n />\n);\n\nexport default CSSReset;\n","import * as React from \"react\";\nimport { CacheProvider } from \"@emotion/react\";\nimport createCache from \"@emotion/cache\";\nimport weakMemoize from \"@emotion/weak-memoize\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport CSSReset from \"./CssReset\";\n\n/**\n * __createChakraFrameProvider is used to ensure that <Global> emotion components\n * can be rendered within an iframe without changing the styles of the parent page.\n * Required for using Chakra UI in the playground.\n *\n * We have to define ChakraFrameProvider in this library, as opposed to the playground,\n * in order to avoid conflicting versions of emotion, which breaks the styling.\n *\n * NOTE: This is an internal component only used by @rjsf/playground (no\n * backwards compatibility guarantees!)\n *\n * From: https://codesandbox.io/s/p98y9o7jz0?file=/src/frame-provider.js:0-650\n * Also see: https://github.com/emotion-js/emotion/issues/760#issuecomment-404353706\n */\n\nlet memoizedCreateCacheWithContainer = weakMemoize((container: HTMLElement) => {\n let newCache = createCache({ container, key: \"rjsf\" });\n return newCache;\n});\n\nexport const __createChakraFrameProvider = (props: any) => ({\n document,\n}: any) => {\n return (\n <div style={{ margin: 2 }}>\n <CacheProvider value={memoizedCreateCacheWithContainer(document.head)}>\n <ChakraProvider resetCSS={false}>\n <CSSReset />\n {props.children}\n </ChakraProvider>\n </CacheProvider>\n </div>\n );\n};\n"],"names":["AddButton","props","React","Button","leftIcon","AddIcon","mappings","remove","DeleteIcon","plus","ArrowUpIcon","ArrowDownIcon","ChakraIconButton","icon","otherProps","IconButton","isMultiSelect","utils","getDefaultRegistry","ArrayFieldTemplate","schema","registry","rootSchema","DefaultFixedArrayFieldTemplate","DefaultNormalArrayFieldTemplate","ArrayFieldTitle","title","TitleField","id","idSchema","$id","required","ArrayFieldDescription","description","DescriptionField","DefaultArrayItem","HStack","key","alignItems","py","Box","w","children","hasToolbar","ButtonGroup","isAttached","mb","hasMoveUp","hasMoveDown","tabIndex","disabled","readonly","onClick","onReorderClick","index","hasRemove","onDropIndexClick","className","uiSchema","items","map","canAdd","justifySelf","onAddClick","Grid","GridItem","length","p","mt","Heading","as","Divider","Text","ADDITIONAL_PROPERTY_FLAG","WrapIfAdditional","label","onDropPropertyClick","onKeyChange","hasOwnProperty","gap","FormControl","isRequired","FormLabel","htmlFor","Input","defaultValue","name","onBlur","undefined","target","value","type","FieldTemplate","classNames","displayLabel","rawErrors","rawHelp","rawDescription","hidden","isInvalid","List","error","i","ListItem","FormErrorMessage","FormHelperText","canExpand","ObjectFieldTemplate","properties","formData","element","content","pad","parseDateString","toDateString","rangeOptions","start","stop","options","push","AltDateWidget","autofocus","onChange","onFocus","showTime","SelectWidget","widgets","useState","state","setState","useEffect","data","handleChange","property","nextValue","nextState","Object","keys","every","readyForChange","display","flexWrap","justify","range","yearsRange","year","month","day","hour","minute","second","elemProps","elemId","mr","Boolean","elemValue","select","enumOptions","placeholder","renderDateElement","hideNowButton","e","event","preventDefault","Date","toJSON","handleNow","hideClearButton","AltDateTimeWidget","getChakra","chakraProps","chakra","forEach","shouldForwardProp","defaultProps","getFullYear","localToUTC","utcToLocal","rangeSpec","getDisplayLabel","asNumber","guessType","nums","Set","processValue","has","x","CheckboxWidget","Checkbox","isChecked","isDisabled","checked","CheckboxesWidget","enumDisabled","_onBlur","_onFocus","row","inline","isReadOnly","CheckboxGroup","option","Stack","direction","indexOf","itemDisabled","ColorWidget","TextWidget","DateWidget","DateTimeWidget","EmailWidget","PasswordWidget","RadioWidget","RadioGroup","Radio","RangeWidget","sliderWidgetProps","Slider","emptyValue","SliderTrack","SliderFilledTrack","SliderThumb","multiple","ChakraMultiSelect","inputId","isMulti","closeMenuOnSelect","v","Select","toString","autoFocus","TextareaWidget","Textarea","inputType","list","examples","concat","example","UpDownWidget","NumberInput","NumberInputField","NumberInputStepper","NumberIncrementStepper","NumberDecrementStepper","URLWidget","fields","SubmitButton","marginTop","variant","Theme","ErrorList","errors","Alert","flexDirection","status","AlertTitle","ListIcon","WarningIcon","color","stack","Fields","Widgets","Form","withTheme","CSSReset","Global","styles","memoizedCreateCacheWithContainer","weakMemoize","container","createCache","style","margin","CacheProvider","document","head","ChakraProvider","resetCSS"],"mappings":"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"}
1
+ {"version":3,"file":"chakra-ui.cjs.production.min.js","sources":["../src/AddButton/AddButton.tsx","../src/IconButton/IconButton.tsx","../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx","../src/Fields/Fields.ts","../src/TitleField/TitleField.tsx","../src/DescriptionField/DescriptionField.tsx","../src/FieldTemplate/WrapIfAdditional.tsx","../src/FieldTemplate/FieldTemplate.tsx","../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx","../src/AltDateWidget/AltDateWidget.tsx","../src/AltDateTimeWidget/AltDateTimeWidget.tsx","../src/utils.ts","../src/CheckboxWidget/CheckboxWidget.tsx","../src/DateTimeWidget/DateTimeWidget.tsx","../src/RangeWidget/RangeWidget.tsx","../src/SelectWidget/SelectWidget.tsx","../src/TextareaWidget/TextareaWidget.tsx","../src/TextWidget/TextWidget.tsx","../src/UpDownWidget/UpDownWidget.tsx","../src/SubmitButton/SubmitButton.tsx","../src/Widgets/Widgets.ts","../src/CheckboxesWidget/CheckboxesWidget.tsx","../src/ColorWidget/ColorWidget.tsx","../src/DateWidget/DateWidget.tsx","../src/EmailWidget/EmailWidget.tsx","../src/PasswordWidget/PasswordWidget.tsx","../src/RadioWidget/RadioWidget.tsx","../src/URLWidget/URLWidget.tsx","../src/Theme/Theme.tsx","../src/ErrorList/ErrorList.tsx","../src/Form/Form.tsx","../src/CssReset.tsx","../src/ChakraFrameProvider.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { AddButtonProps } from \"@rjsf/core\";\n\nimport { Button, ButtonProps } from \"@chakra-ui/react\";\nimport { AddIcon } from \"@chakra-ui/icons\";\n\nconst AddButton: React.FC<AddButtonProps & ButtonProps> = props => (\n <Button leftIcon={<AddIcon />} {...props}>\n Add Item\n </Button>\n);\n\nexport default AddButton;\n","import React, { memo } from \"react\";\nimport {\n IconButton,\n IconButtonProps as ChakraIconButtonProps,\n} from \"@chakra-ui/react\";\n\nimport {\n AddIcon,\n ArrowUpIcon,\n ArrowDownIcon,\n DeleteIcon\n} from \"@chakra-ui/icons\";\n\nconst mappings = {\n remove: <DeleteIcon />,\n plus: <AddIcon />,\n \"arrow-up\": <ArrowUpIcon />,\n \"arrow-down\": <ArrowDownIcon />,\n};\n\ntype IconButtonProps = Omit<ChakraIconButtonProps, \"aria-label\" | \"icon\"> & {\n icon: keyof typeof mappings;\n};\n\n/**\n * props used in Template:\n * icon, tabIndex, disabled, onClick\n */\nconst ChakraIconButton = memo((props: IconButtonProps) => {\n const { icon, ...otherProps } = props;\n return <IconButton {...otherProps} icon={mappings[icon]} aria-label={icon} />;\n});\n\nChakraIconButton.displayName = 'ChakraIconButton';\n\nexport default ChakraIconButton;\n","import React, { useMemo } from \"react\";\n\nimport { utils } from \"@rjsf/core\";\n\nimport { Box, Grid, GridItem, ButtonGroup, HStack } from \"@chakra-ui/react\";\n\nimport { ArrayFieldTemplateProps, IdSchema } from \"@rjsf/core\";\n\nimport AddButton from \"../AddButton/AddButton\";\nimport IconButton from \"../IconButton/IconButton\";\n\nconst { isMultiSelect, getDefaultRegistry } = utils;\n\nconst ArrayFieldTemplate = (props: ArrayFieldTemplateProps) => {\n const { schema, registry = getDefaultRegistry() } = props;\n\n if (isMultiSelect(schema, registry.rootSchema)) {\n return <DefaultFixedArrayFieldTemplate {...props} />;\n } else {\n return <DefaultNormalArrayFieldTemplate {...props} />;\n }\n};\n\ntype ArrayFieldTitleProps = {\n TitleField: any;\n idSchema: IdSchema;\n title: string;\n required: boolean;\n};\n\nconst ArrayFieldTitle = ({\n TitleField,\n idSchema,\n title,\n required,\n}: ArrayFieldTitleProps) => {\n if (!title) {\n return null;\n }\n\n const id = `${idSchema.$id}__title`;\n return <TitleField id={id} title={title} required={required} />;\n};\n\ntype ArrayFieldDescriptionProps = {\n DescriptionField: any;\n idSchema: IdSchema;\n description: string;\n};\n\nconst ArrayFieldDescription = ({\n DescriptionField,\n idSchema,\n description,\n}: ArrayFieldDescriptionProps) => {\n if (!description) {\n return null;\n }\n\n const id = `${idSchema.$id}__description`;\n return <DescriptionField id={id} description={description} />;\n};\n\n// Used in the two templates\nconst DefaultArrayItem = ({\n index, readonly, disabled, children, hasToolbar, hasRemove, hasMoveUp, hasMoveDown, onReorderClick, onDropIndexClick\n}: any) => {\n\n const onRemoveClick = useMemo(() => onDropIndexClick(index), [index, onDropIndexClick]);\n\n const onArrowUpClick = useMemo(() => onReorderClick(index, index - 1), [index, onReorderClick]);\n\n const onArrowDownClick = useMemo(() => onReorderClick(index, index + 1), [index, onReorderClick]);\n\n return (\n <HStack alignItems={\"flex-end\"} py={1}>\n <Box w=\"100%\">\n {children}\n </Box>\n\n {hasToolbar && (\n <Box>\n <ButtonGroup isAttached mb={1}>\n {(hasMoveUp || hasMoveDown) && (\n <IconButton\n icon=\"arrow-up\"\n tabIndex={-1}\n disabled={disabled || readonly || !hasMoveUp}\n onClick={onArrowUpClick}\n />\n )}\n\n {(hasMoveUp || hasMoveDown) && (\n <IconButton\n icon=\"arrow-down\"\n tabIndex={-1}\n disabled={\n disabled || readonly || !hasMoveDown\n }\n onClick={onArrowDownClick}\n />\n )}\n\n {hasRemove && (\n <IconButton\n icon=\"remove\"\n tabIndex={-1}\n disabled={disabled || readonly}\n onClick={onRemoveClick}\n />\n )}\n </ButtonGroup>\n </Box>\n )}\n </HStack>\n );\n};\n\nconst DefaultFixedArrayFieldTemplate = (props: ArrayFieldTemplateProps) => (\n <fieldset className={props.className}>\n <ArrayFieldTitle\n key={`array-field-title-${props.idSchema.$id}`}\n TitleField={props.TitleField}\n idSchema={props.idSchema}\n title={props.uiSchema[\"ui:title\"] || props.title}\n required={props.required}\n />\n\n {(props.uiSchema[\"ui:description\"] || props.schema.description) && (\n // Use DescriptionField if possible\n <div\n className=\"field-description\"\n key={`field-description-${props.idSchema.$id}`}\n >\n {props.uiSchema[\"ui:description\"] || props.schema.description}\n </div>\n )}\n\n <div\n className=\"row array-item-list\"\n key={`array-item-list-${props.idSchema.$id}`}\n >\n {props.items && props.items.map((p) => {\n const { key, ...itemProps } = p;\n return <DefaultArrayItem key={key} {...itemProps}></DefaultArrayItem>;\n })}\n </div>\n\n {props.canAdd && (\n <AddButton\n justifySelf={\"flex-end\"}\n className=\"array-item-add\"\n onClick={props.onAddClick}\n disabled={props.disabled || props.readonly}\n />\n )}\n </fieldset>\n);\n\nconst DefaultNormalArrayFieldTemplate = (props: ArrayFieldTemplateProps) => (\n <Box>\n <ArrayFieldTitle\n key={`array-field-title-${props.idSchema.$id}`}\n TitleField={props.TitleField}\n idSchema={props.idSchema}\n title={props.uiSchema[\"ui:title\"] || props.title}\n required={props.required}\n />\n\n {(props.uiSchema[\"ui:description\"] || props.schema.description) && (\n <ArrayFieldDescription\n key={`array-field-description-${props.idSchema.$id}`}\n DescriptionField={props.DescriptionField}\n idSchema={props.idSchema}\n description={\n props.uiSchema[\"ui:description\"] || props.schema.description\n }\n />\n )}\n\n <Grid key={`array-item-list-${props.idSchema.$id}`}>\n <GridItem>\n {props.items.length > 0 && props.items.map((p) => {\n const { key, ...itemProps } = p;\n return <DefaultArrayItem key={key} {...itemProps}></DefaultArrayItem>;\n })}\n </GridItem>\n {props.canAdd && (\n <GridItem justifySelf={\"flex-end\"}>\n <Box mt={2}>\n <AddButton\n className=\"array-item-add\"\n onClick={props.onAddClick}\n disabled={props.disabled || props.readonly}\n />\n </Box>\n </GridItem>\n )}\n </Grid>\n </Box>\n);\n\nexport default ArrayFieldTemplate;\n","import TitleField from \"../TitleField\";\nimport DescriptionField from \"../DescriptionField\";\n\nexport default {\n TitleField,\n DescriptionField,\n};\n","import React from \"react\";\n\nimport { FieldProps } from \"@rjsf/core\";\n\nimport { Box, Divider, Heading } from \"@chakra-ui/react\";\n\nconst TitleField = ({ title /* , id, required */ }: FieldProps) => (\n <Box mt={1} mb={4}>\n <Heading as=\"h5\">{title}</Heading>\n <Divider />\n </Box>\n);\n\nexport default TitleField;\n","import React from \"react\";\n\nimport { FieldProps } from \"@rjsf/core\";\n\nimport { Text } from \"@chakra-ui/react\";\n\nconst DescriptionField = ({ description, id }: FieldProps) => {\n if (!description) return null;\n\n if (typeof description === \"string\") {\n return <Text id={id} mt={2} mb={4}>{description}</Text>;\n }\n\n return <>{description}</>;\n};\n\nexport default DescriptionField;\n","import * as React from \"react\";\n\nimport { utils } from \"@rjsf/core\";\nimport { JSONSchema7 } from \"json-schema\";\n\nimport {\n FormControl,\n FormLabel,\n Grid,\n GridItem,\n Input,\n} from \"@chakra-ui/react\";\n\nimport IconButton from \"../IconButton\";\n\nconst { ADDITIONAL_PROPERTY_FLAG } = utils;\n\ninterface WrapIfAdditionalProps {\n children: React.ReactElement;\n classNames: string;\n disabled: boolean;\n id: string;\n label: string;\n onDropPropertyClick: (index: string) => (event?: any) => void;\n onKeyChange: (index: string) => (event?: any) => void;\n readonly: boolean;\n required: boolean;\n schema: JSONSchema7;\n}\n\nconst WrapIfAdditional = (props: WrapIfAdditionalProps) => {\n const {\n children,\n disabled,\n id,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n } = props;\n const additional = schema.hasOwnProperty(ADDITIONAL_PROPERTY_FLAG);\n if (!additional) {\n return <>{children}</>;\n }\n const keyLabel = `${label} Key`;\n\n const handleBlur = ({ target }: React.FocusEvent<HTMLInputElement>) =>\n onKeyChange(target.value);\n\n return (\n <Grid key={`${id}-key`} alignItems=\"center\" gap={2}>\n <GridItem>\n <FormControl isRequired={required}>\n <FormLabel htmlFor={`${id}-key`}>{keyLabel}</FormLabel>\n <Input\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? handleBlur : undefined}\n type=\"text\"\n mb={1}\n />\n </FormControl>\n </GridItem>\n <GridItem>{children}</GridItem>\n <GridItem>\n <IconButton\n icon=\"remove\"\n tabIndex={-1}\n disabled={disabled || readonly}\n onClick={onDropPropertyClick(label)}\n />\n </GridItem>\n </Grid>\n );\n};\n\nexport default WrapIfAdditional;\n","import React from \"react\";\n\nimport { FieldTemplateProps } from \"@rjsf/core\";\n\nimport {\n Text,\n FormControl,\n FormHelperText,\n FormErrorMessage,\n} from \"@chakra-ui/react\";\nimport { List, ListItem } from \"@chakra-ui/react\";\n\nimport WrapIfAdditional from \"./WrapIfAdditional\";\n\nconst FieldTemplate = (props: FieldTemplateProps) => {\n const {\n id,\n children,\n classNames,\n disabled,\n displayLabel,\n hidden,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n rawErrors = [],\n rawHelp,\n rawDescription,\n schema,\n } = props;\n\n if (hidden) {\n return <>{children}</>;\n }\n\n return (\n <WrapIfAdditional\n classNames={classNames}\n disabled={disabled}\n id={id}\n label={label}\n onDropPropertyClick={onDropPropertyClick}\n onKeyChange={onKeyChange}\n readonly={readonly}\n required={required}\n schema={schema}\n >\n <FormControl\n isRequired={required}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {children}\n {displayLabel && rawDescription ? (\n <Text mt={2}>{rawDescription}</Text>\n ) : null}\n {rawErrors && rawErrors.length > 0 && (\n <List>\n {rawErrors.map((error, i: number) => {\n return (\n <ListItem key={i}>\n <FormErrorMessage id={id}>{error}</FormErrorMessage>\n </ListItem>\n );\n })}\n </List>\n )}\n {rawHelp && <FormHelperText id={id}>{rawHelp}</FormHelperText>}\n </FormControl>\n </WrapIfAdditional>\n );\n};\n\nexport default FieldTemplate;\n","import * as React from \"react\";\n\nimport { Grid, GridItem } from \"@chakra-ui/react\";\n\nimport { ObjectFieldTemplateProps } from \"@rjsf/core\";\nimport { utils } from \"@rjsf/core\";\n\nimport AddButton from \"../AddButton\";\n\nconst { canExpand } = utils;\n\nconst ObjectFieldTemplate = (props: ObjectFieldTemplateProps) => {\n const {\n DescriptionField,\n description,\n TitleField,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n idSchema,\n schema,\n formData,\n onAddClick,\n } = props;\n\n return (\n <React.Fragment>\n {(uiSchema[\"ui:title\"] || title) && (\n <TitleField\n id={`${idSchema.$id}-title`}\n title={title}\n required={required}\n />\n )}\n {description && (\n <DescriptionField\n id={`${idSchema.$id}-description`}\n description={description}\n />\n )}\n <Grid gap={description ? 2 : 6} mb={4}>\n {properties.map((element, index) =>\n element.hidden ? (\n element.content\n ) : (\n <GridItem key={`${idSchema.$id}-${element.name}-${index}`}>\n {element.content}\n </GridItem>\n )\n )}\n {canExpand(schema, uiSchema, formData) && (\n <GridItem justifySelf=\"flex-end\">\n <AddButton\n className=\"object-property-expand\"\n onClick={onAddClick(schema)}\n disabled={disabled || readonly}\n />\n </GridItem>\n )}\n </Grid>\n </React.Fragment>\n );\n};\n\nexport default ObjectFieldTemplate;\n","import React, { MouseEvent, useEffect, useState } from \"react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { Box, Button } from \"@chakra-ui/react\";\n\nconst { pad, parseDateString, toDateString } = utils;\n\nconst rangeOptions = (start: number, stop: number) => {\n let options = [];\n for (let i = start; i <= stop; i++) {\n options.push({ value: i, label: pad(i, 2) });\n }\n return options;\n};\n\ninterface AltDateStateType {\n [x: string]: number;\n\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nconst readyForChange = (state: AltDateStateType) => {\n return Object.keys(state).every(\n key => typeof state[key] !== \"undefined\" && state[key] !== -1\n );\n};\n\nconst AltDateWidget = (props: any) => {\n const {\n autofocus,\n disabled,\n id,\n onBlur,\n onChange,\n onFocus,\n options,\n readonly,\n registry,\n showTime,\n value,\n } = props;\n const { SelectWidget } = registry.widgets;\n const [state, setState] = useState(parseDateString(value, showTime));\n useEffect(() => {\n setState(parseDateString(value, showTime));\n }, [showTime, value]);\n\n const handleChange = (property: string, nextValue: string) => {\n const nextState = {\n ...state,\n [property]: typeof nextValue === \"undefined\" ? -1 : nextValue,\n };\n\n if (readyForChange(nextState)) {\n onChange(toDateString(nextState, showTime));\n } else {\n setState(nextState);\n }\n };\n\n const handleNow = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (disabled || readonly) {\n return;\n }\n const nextState = parseDateString(new Date().toJSON(), showTime);\n onChange(toDateString(nextState, showTime));\n };\n\n const handleClear = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (disabled || readonly) {\n return;\n }\n onChange(undefined);\n };\n\n const dateElementProps = () => {\n const { year, month, day, hour, minute, second } = state;\n\n const data = [\n { type: \"year\", range: options.yearsRange, value: year },\n { type: \"month\", range: [1, 12], value: month },\n { type: \"day\", range: [1, 31], value: day },\n ];\n\n if (showTime) {\n data.push(\n { type: \"hour\", range: [0, 23], value: hour },\n { type: \"minute\", range: [0, 59], value: minute },\n { type: \"second\", range: [0, 59], value: second }\n );\n }\n\n return data;\n };\n\n const renderDateElement = (elemProps: WidgetProps) => {\n const value = Boolean(elemProps.value) ? elemProps.value : undefined;\n return (\n <SelectWidget\n {...elemProps}\n label={undefined}\n className=\"form-control\"\n onChange={(elemValue: WidgetProps) =>\n elemProps.select(elemProps.type, elemValue)\n }\n options={{\n enumOptions: rangeOptions(elemProps.range[0], elemProps.range[1]),\n }}\n placeholder={elemProps.type}\n schema={{ type: \"integer\" }}\n value={value}\n />\n );\n };\n\n return (\n <Box>\n <Box display=\"flex\" flexWrap=\"wrap\" alignItems=\"center\" justify=\"center\">\n {dateElementProps().map((elemProps: any, i) => {\n const elemId = id + \"_\" + elemProps.type;\n return (\n <Box key={elemId} mr=\"2\" mb=\"2\">\n {renderDateElement({\n ...props,\n ...elemProps,\n autofocus: autofocus && i === 0,\n disabled,\n id: elemId,\n onBlur,\n onFocus,\n readonly,\n registry,\n select: handleChange,\n value: elemProps.value < 0 ? \"\" : elemProps.value,\n })}\n </Box>\n );\n })}\n </Box>\n <Box display=\"flex\">\n {!options.hideNowButton && (\n <Button\n onClick={(e: MouseEvent<HTMLButtonElement>) => handleNow(e)}\n mr=\"2\"\n >\n Now\n </Button>\n )}\n {!options.hideClearButton && (\n <Button\n onClick={(e: MouseEvent<HTMLButtonElement>) => handleClear(e)}\n >\n Clear\n </Button>\n )}\n </Box>\n </Box>\n );\n};\n\nAltDateWidget.defaultProps = {\n autofocus: false,\n disabled: false,\n readonly: false,\n showTime: false,\n options: {\n yearsRange: [1900, new Date().getFullYear() + 2],\n },\n};\n\nexport default AltDateWidget;\n","import React from \"react\";\n\nimport _AltDateWidget from \"../AltDateWidget\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst AltDateTimeWidget = (props: WidgetProps) => {\n const { AltDateWidget } = props.registry.widgets;\n return <AltDateWidget {...props} showTime />;\n};\n\nAltDateTimeWidget.defaultProps = {\n ..._AltDateWidget.defaultProps,\n showTime: true,\n};\n\nexport default AltDateTimeWidget;\n","import { ChakraProps, shouldForwardProp } from \"@chakra-ui/react\";\nimport { FormProps, UiSchema } from \"@rjsf/core\";\n\nexport type ThemeProps<T = any> = Omit<FormProps<T>, \"schema\" | \"uiSchema\"> & {\n uiSchema?: ChakraUiSchema;\n};\n\nexport interface ChakraUiSchema extends Omit<UiSchema, \"ui:options\"> {\n \"ui:options\"?: ChakraUiOptions;\n}\n\ntype ChakraUiOptions = UiSchema[\"ui:options\"] & { chakra?: ChakraProps };\n\ninterface GetChakraProps {\n uiSchema?: ChakraUiSchema;\n}\n\nexport function getChakra({ uiSchema = {} }: GetChakraProps): ChakraProps {\n const chakraProps =\n (uiSchema[\"ui:options\"] && uiSchema[\"ui:options\"].chakra) || {};\n\n Object.keys(chakraProps).forEach(key => {\n /**\n * Leveraging `shouldForwardProp` to remove props\n *\n * This is a utility function that's used in `@chakra-ui/react`'s factory function.\n * Normally, it prevents ChakraProps from being passed to the DOM.\n * In this case we just want to delete the unknown props. So we flip the boolean.\n */\n if (shouldForwardProp(key)) {\n // @ts-ignore - How to type this?!... 😬\n delete (chakraProps as any)[key];\n }\n });\n\n return chakraProps;\n}\n","import React from \"react\";\nimport { Checkbox, FormControl, Text } from \"@chakra-ui/react\";\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst CheckboxWidget = (props: WidgetProps) => {\n const {\n id,\n value,\n disabled,\n readonly,\n onChange,\n onBlur,\n onFocus,\n required,\n label,\n uiSchema,\n } = props;\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = ({\n target: { checked },\n }: React.ChangeEvent<HTMLInputElement>) => onChange(checked);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n return (\n <FormControl mb={1} {...chakraProps} isRequired={required}>\n <Checkbox\n id={id}\n name={id}\n isChecked={typeof value === \"undefined\" ? false : value}\n isDisabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n {label && <Text>{label}</Text>}\n </Checkbox>\n </FormControl>\n );\n};\n\nexport default CheckboxWidget;\n","import React from \"react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\n\nconst { localToUTC, utcToLocal } = utils;\n\nconst DateTimeWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n const value = utcToLocal(props.value);\n const onChange = (value: any) => {\n props.onChange(localToUTC(value));\n };\n\n return (\n <TextWidget\n type=\"datetime-local\"\n {...props}\n value={value}\n onChange={onChange}\n />\n );\n};\n\nexport default DateTimeWidget;\n","import React from \"react\";\nimport {\n FormControl,\n FormLabel,\n Slider,\n SliderFilledTrack,\n SliderThumb,\n SliderTrack,\n} from \"@chakra-ui/react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { rangeSpec, getDisplayLabel } = utils;\n\nconst RangeWidget = ({\n value,\n readonly,\n disabled,\n onBlur,\n onFocus,\n options,\n schema,\n uiSchema,\n onChange,\n label,\n id,\n}: WidgetProps) => {\n const chakraProps = getChakra({ uiSchema });\n\n let sliderWidgetProps = { value, label, id, ...rangeSpec(schema) };\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const _onChange = (value: undefined | number) =>\n onChange(value === undefined ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n return (\n <FormControl mb={1} {...chakraProps}>\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <Slider\n {...sliderWidgetProps}\n id={id}\n name={id}\n isDisabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n <SliderTrack>\n <SliderFilledTrack />\n </SliderTrack>\n <SliderThumb />\n </Slider>\n </FormControl>\n );\n};\n\nexport default RangeWidget;\n","import React from \"react\";\nimport { FormControl, FormLabel, Select } from \"@chakra-ui/react\";\nimport { utils, WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\nimport {\n GroupBase,\n OptionsOrGroups,\n Select as ChakraMultiSelect,\n} from \"chakra-react-select\";\n\nconst { asNumber, guessType } = utils;\n\nconst nums = new Set([\"number\", \"integer\"]);\n\n/**\n * This is a silly limitation in the DOM where option change event values are\n * always retrieved as strings.\n */\nconst processValue = (schema: any, value: any) => {\n // \"enum\" is a reserved word, so only \"type\" and \"items\" can be destructured\n const { type, items } = schema;\n if (value === \"\") {\n return undefined;\n } else if (type === \"array\" && items && nums.has(items.type)) {\n return value.map(asNumber);\n } else if (type === \"boolean\") {\n return value === \"true\";\n } else if (type === \"number\") {\n return asNumber(value);\n }\n\n // If type is undefined, but an enum is present, try and infer the type from\n // the enum values\n if (schema.enum) {\n if (schema.enum.every((x: any) => guessType(x) === \"number\")) {\n return asNumber(value);\n } else if (schema.enum.every((x: any) => guessType(x) === \"boolean\")) {\n return value === \"true\";\n }\n }\n\n return value;\n};\n\nconst SelectWidget = (props: WidgetProps) => {\n const {\n schema,\n id,\n options,\n label,\n placeholder,\n multiple,\n required,\n disabled,\n readonly,\n value,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n rawErrors = [],\n uiSchema,\n } = props;\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n\n // TODO: Default emptyValue should be string when multi select is implemented\n // const emptyValue = multiple ? [] : \"\";\n const emptyValue: string = \"\";\n\n const _onMultiChange = (e: any) => {\n return onChange(\n processValue(\n schema,\n e.map((v: { label: any; value: any }) => {\n return v.value;\n })\n )\n );\n };\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<{ name?: string; value: unknown }>) =>\n onChange(processValue(schema, value));\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLSelectElement>) =>\n onBlur(id, processValue(schema, value));\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLSelectElement>) =>\n onFocus(id, processValue(schema, value));\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {(label || schema.title) && (\n <FormLabel\n htmlFor={\n typeof multiple !== \"undefined\" && enumOptions ? undefined : id\n }\n >\n {label || schema.title}\n </FormLabel>\n )}\n {typeof multiple !== \"undefined\" && enumOptions ? (\n <ChakraMultiSelect\n inputId={id}\n name={id}\n isMulti\n options={enumOptions as OptionsOrGroups<unknown, GroupBase<unknown>>}\n placeholder={placeholder}\n closeMenuOnSelect={false}\n onChange={_onMultiChange}\n value={value.map((v: any) => {\n return {\n label: v,\n value: v,\n };\n })}\n />\n ) : (\n <Select\n id={id}\n name={id}\n placeholder={placeholder !== \"\" ? placeholder : \" \"}\n value={typeof value === \"undefined\" ? emptyValue : value.toString()}\n autoFocus={autofocus}\n onBlur={_onBlur}\n onChange={_onChange}\n onFocus={_onFocus}\n >\n {(enumOptions as any).map(({ value, label }: any, i: number) => {\n const disabled: any =\n enumDisabled && (enumDisabled as any).indexOf(value) != -1;\n return (\n <option key={i} value={value} disabled={disabled}>\n {label}\n </option>\n );\n })}\n </Select>\n )}\n </FormControl>\n );\n};\n\nexport default SelectWidget;\n","import React from \"react\";\nimport { FormControl, FormLabel, Textarea } from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst TextareaWidget = ({\n id,\n placeholder,\n value,\n label,\n disabled,\n autofocus,\n readonly,\n onBlur,\n onFocus,\n onChange,\n options,\n schema,\n uiSchema,\n required,\n rawErrors,\n}: WidgetProps) => {\n const chakraProps = getChakra({ uiSchema });\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<HTMLTextAreaElement>) =>\n onChange(value === \"\" ? options.emptyValue : value);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLTextAreaElement>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLTextAreaElement>) => onFocus(id, value);\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <Textarea\n id={id}\n name={id}\n value={value ?? \"\"}\n placeholder={placeholder}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n />\n </FormControl>\n );\n};\n\nexport default TextareaWidget;\n","import * as React from \"react\";\nimport { FormControl, FormLabel, Input } from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst TextWidget = (props: WidgetProps) => {\n const {\n id,\n type,\n value,\n label,\n schema,\n uiSchema,\n onChange,\n onBlur,\n onFocus,\n options,\n required,\n readonly,\n rawErrors,\n autofocus,\n placeholder,\n disabled,\n } = props;\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = ({\n target: { value },\n }: React.ChangeEvent<HTMLInputElement>) =>\n onChange(value === \"\" ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const inputType =\n (type || schema.type) === \"string\" ? \"text\" : `${type || schema.type}`;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id} id={`${id}-label`}>\n {label || schema.title}\n </FormLabel>\n ) : null}\n <Input\n id={id}\n name={id}\n value={value || value === 0 ? value : \"\"}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n autoFocus={autofocus}\n placeholder={placeholder}\n type={inputType}\n list={schema.examples ? `examples_${id}` : undefined}\n />\n {schema.examples ? (\n <datalist id={`examples_${id}`}>\n {(schema.examples as string[])\n .concat(schema.default ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n ) : null}\n </FormControl>\n );\n};\n\nexport default TextWidget;\n","import React from \"react\";\nimport {\n NumberInput,\n NumberDecrementStepper,\n NumberIncrementStepper,\n NumberInputField,\n NumberInputStepper,\n FormControl,\n FormLabel,\n} from \"@chakra-ui/react\";\nimport { WidgetProps, utils } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst { getDisplayLabel } = utils;\n\nconst UpDownWidget = (props: WidgetProps) => {\n const {\n id,\n schema,\n uiSchema,\n readonly,\n disabled,\n label,\n value,\n onChange,\n onBlur,\n onFocus,\n rawErrors,\n required,\n } = props;\n\n const displayLabel =\n getDisplayLabel(schema, uiSchema) && (!!label || !!schema.title);\n\n const chakraProps = getChakra({ uiSchema });\n\n const _onChange = (value: string | number) => onChange(value);\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n {displayLabel ? (\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n ) : null}\n <NumberInput\n value={value ?? \"\"}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n <NumberInputField id={id} name={id} />\n <NumberInputStepper>\n <NumberIncrementStepper />\n <NumberDecrementStepper />\n </NumberInputStepper>\n </NumberInput>\n </FormControl>\n );\n};\n\nexport default UpDownWidget;\n","import React from \"react\";\r\nimport { Box, Button } from \"@chakra-ui/react\";\r\nimport { utils,WidgetProps } from \"@rjsf/core\";\r\n\r\nconst {getSubmitButtonOptions} = utils;\r\nconst SubmitButton = ({ uiSchema }: WidgetProps) => {\r\n\r\n const { submitText, norender, props: submitButtonProps }= getSubmitButtonOptions(uiSchema);\r\n if (norender) {return null;}\r\n\r\n return (\r\n <Box marginTop={3}>\r\n <Button type=\"submit\" variant=\"solid\" {...submitButtonProps}>\r\n {submitText}\r\n </Button>\r\n </Box>\r\n );\r\n};\r\nexport default SubmitButton;\r\n","import AltDateTimeWidget from \"../AltDateTimeWidget/AltDateTimeWidget\";\nimport AltDateWidget from \"../AltDateWidget/AltDateWidget\";\nimport CheckboxWidget from \"../CheckboxWidget/CheckboxWidget\";\nimport CheckboxesWidget from \"../CheckboxesWidget/CheckboxesWidget\";\nimport ColorWidget from \"../ColorWidget/ColorWidget\";\nimport DateWidget from \"../DateWidget/DateWidget\";\nimport DateTimeWidget from \"../DateTimeWidget/DateTimeWidget\";\nimport EmailWidget from \"../EmailWidget/EmailWidget\";\nimport PasswordWidget from \"../PasswordWidget/PasswordWidget\";\nimport RadioWidget from \"../RadioWidget/RadioWidget\";\nimport RangeWidget from \"../RangeWidget/RangeWidget\";\nimport SelectWidget from \"../SelectWidget/SelectWidget\";\nimport TextareaWidget from \"../TextareaWidget/TextareaWidget\";\nimport TextWidget from \"../TextWidget/TextWidget\";\nimport UpDownWidget from \"../UpDownWidget/UpDownWidget\";\nimport URLWidget from \"../URLWidget/URLWidget\";\nimport SubmitButton from \"../SubmitButton/SubmitButton\";\n\nconst widgets = {\n AltDateTimeWidget,\n AltDateWidget,\n CheckboxWidget,\n CheckboxesWidget,\n ColorWidget,\n DateWidget,\n DateTimeWidget,\n EmailWidget,\n PasswordWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n TextWidget,\n UpDownWidget,\n URLWidget,\n SubmitButton\n};\n\nexport default widgets;\n","import React from \"react\";\nimport {\n CheckboxGroup,\n Checkbox,\n FormLabel,\n FormControl,\n Text,\n Stack,\n} from \"@chakra-ui/react\";\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\n// const selectValue = (value, selected, all) => {\n// const at = all.indexOf(value);\n// const updated = selected.slice(0, at).concat(value, selected.slice(at));\n\n// // As inserting values at predefined index positions doesn't work with empty\n// // arrays, we need to reorder the updated selection to match the initial order\n// return updated.sort((a, b) => all.indexOf(a) > all.indexOf(b));\n// };\n\n// const deselectValue = (value, selected) => {\n// return selected.filter((v) => v !== value);\n// };\n\nconst CheckboxesWidget = (props: WidgetProps) => {\n const {\n id,\n disabled,\n options,\n value,\n readonly,\n onChange,\n onBlur,\n onFocus,\n required,\n label,\n uiSchema,\n rawErrors = [],\n schema,\n } = props;\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n // const _onChange = option => ({ target: { checked } }) => {\n // const all = enumOptions.map(({ value }) => value)\n\n // if (checked) {\n // onChange(selectValue(option.value, value, all))\n // } else {\n // onChange(deselectValue(option.value, value))\n // }\n // }\n\n const _onBlur = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement | any>) => onFocus(id, value);\n\n const row = options ? options.inline : false;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n isInvalid={rawErrors && rawErrors.length > 0}\n >\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n <CheckboxGroup onChange={option => onChange(option)} defaultValue={value}>\n <Stack direction={row ? \"row\" : \"column\"}>\n {(enumOptions as any).map(\n (option: { value: any; label: any }, index: any) => {\n const checked = value.indexOf(option.value) !== -1;\n const itemDisabled =\n enumDisabled &&\n (enumDisabled as string[]).indexOf(option.value) !== -1;\n return (\n <Checkbox\n key={`${id}_${index}`}\n id={`${id}_${index}`}\n value={option.value}\n isChecked={checked}\n isDisabled={disabled || itemDisabled || readonly}\n onBlur={_onBlur}\n onFocus={_onFocus}\n >\n {option.label && <Text>{option.label}</Text>}\n </Checkbox>\n );\n }\n )}\n </Stack>\n </CheckboxGroup>\n </FormControl>\n );\n};\n\nexport default CheckboxesWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst ColorWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"color\" {...props} />;\n};\n\nexport default ColorWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst DateWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget {...props} type=\"date\" />;\n};\n\nexport default DateWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst EmailWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget {...props} type=\"email\" />;\n};\n\nexport default EmailWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst PasswordWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"password\" {...props} />;\n};\n\nexport default PasswordWidget;\n","import React from \"react\";\n\nimport {\n FormControl,\n FormLabel,\n Radio,\n RadioGroup,\n Stack,\n} from \"@chakra-ui/react\";\n\nimport { WidgetProps } from \"@rjsf/core\";\nimport { getChakra } from \"../utils\";\n\nconst RadioWidget = ({\n id,\n schema,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n onChange,\n onBlur,\n onFocus,\n uiSchema,\n}: WidgetProps) => {\n const { enumOptions, enumDisabled } = options;\n const chakraProps = getChakra({ uiSchema });\n\n const _onBlur = ({ target: { value } }: React.FocusEvent<HTMLInputElement>) =>\n onBlur(id, value);\n const _onFocus = ({\n target: { value },\n }: React.FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n const row = options ? options.inline : false;\n\n return (\n <FormControl\n mb={1}\n {...chakraProps}\n isDisabled={disabled || readonly}\n isRequired={required}\n isReadOnly={readonly}\n >\n <FormLabel htmlFor={id}>{label || schema.title}</FormLabel>\n <RadioGroup\n onChange={onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n value={`${value}`}\n name={id}\n >\n <Stack direction={row ? \"row\" : \"column\"}>\n {(enumOptions as any).map((option: any, i: number) => {\n const itemDisabled = Boolean(\n enumDisabled && (enumDisabled as any).indexOf(option.value) != -1\n );\n\n return (\n <Radio\n value={`${option.value}`}\n key={i}\n disabled={disabled || itemDisabled || readonly}\n >\n {`${option.label}`}\n </Radio>\n );\n })}\n </Stack>\n </RadioGroup>\n </FormControl>\n );\n};\n\nexport default RadioWidget;\n","import React from \"react\";\nimport { WidgetProps } from \"@rjsf/core\";\n\nconst URLWidget = (props: WidgetProps) => {\n const { registry } = props;\n const { TextWidget } = registry.widgets;\n return <TextWidget type=\"url\" {...props} />;\n};\n\nexport default URLWidget;\n","import ArrayFieldTemplate from \"../ArrayFieldTemplate\";\nimport ErrorList from \"../ErrorList\";\nimport Fields from \"../Fields\";\nimport FieldTemplate from \"../FieldTemplate\";\nimport ObjectFieldTemplate from \"../ObjectFieldTemplate\";\nimport Widgets from \"../Widgets\";\nimport { utils } from \"@rjsf/core\";\nimport { ThemeProps } from \"../utils\";\n\nconst { getDefaultRegistry } = utils;\n\nconst { fields, widgets } = getDefaultRegistry();\n\n\nconst Theme: ThemeProps = {\n ArrayFieldTemplate,\n FieldTemplate,\n ObjectFieldTemplate,\n ErrorList,\n fields: { ...fields, ...Fields },\n widgets: { ...widgets, ...Widgets },\n};\n\nexport default Theme;\n","import React from \"react\";\nimport { ErrorListProps } from \"@rjsf/core\";\nimport {\n List,\n ListIcon,\n ListItem,\n Alert,\n AlertTitle,\n} from \"@chakra-ui/react\";\nimport { WarningIcon } from \"@chakra-ui/icons\";\n\nconst ErrorList = ({ errors }: ErrorListProps) => {\n return (\n <Alert\n flexDirection=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n status=\"error\"\n >\n <AlertTitle>\n Errors\n </AlertTitle>\n\n <List>\n {errors.map((error, i) => (\n <ListItem key={i}>\n <ListIcon as={WarningIcon} color=\"red.500\" />\n {error.stack}\n </ListItem>\n ))}\n </List>\n </Alert>\n );\n};\n\nexport default ErrorList;\n","import { withTheme, FormProps } from \"@rjsf/core\";\n\nimport Theme from \"../Theme\";\nimport { ComponentClass, FunctionComponent } from \"react\";\n\nconst Form:\n | ComponentClass<FormProps<any>>\n | FunctionComponent<FormProps<any>> = withTheme(Theme);\n\nexport default Form;\n","import { Global } from \"@emotion/react\";\nimport * as React from \"react\";\n\n/**\n * \n * The reason we need this is for ChakraProvider styling in Playground. \n * The User Developer would be responsible for styling with ChakraProvider in their app.\n * \n * Exact duplicate of `@chakra-ui/react`'s `CSSReset` component. Except for the following:\n * \n ```css\n input {\n border-width: revert;\n border-color: revert;\n border-style: revert;\n }\n .array-item > hr {\n margin-top: 16px;\n margin-bottom: 16px;\n }\n ```\n\n It is located at the bottom of the styles string.\n */\nexport const CSSReset = () => (\n <Global\n styles={`\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n font-family: system-ui, sans-serif;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n touch-action: manipulation;\n }\n body {\n position: relative;\n min-height: 100%;\n font-feature-settings: 'kern';\n }\n *,\n *::before,\n *::after {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n }\n main {\n display: block;\n }\n hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n b,\n strong {\n font-weight: bold;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n img {\n border-style: none;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n button,\n input {\n overflow: visible;\n }\n button,\n select {\n text-transform: none;\n }\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n progress {\n vertical-align: baseline;\n }\n textarea {\n overflow: auto;\n }\n [type=\"checkbox\"],\n [type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n }\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n [type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n details {\n display: block;\n }\n summary {\n display: list-item;\n }\n template {\n display: none;\n }\n [hidden] {\n display: none !important;\n }\n body,\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n button {\n background: transparent;\n padding: 0;\n }\n fieldset {\n margin: 0;\n padding: 0;\n }\n ol,\n ul {\n margin: 0;\n padding: 0;\n }\n textarea {\n resize: vertical;\n }\n button,\n [role=\"button\"] {\n cursor: pointer;\n }\n button::-moz-focus-inner {\n border: 0 !important;\n }\n table {\n border-collapse: collapse;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n outline: none;\n box-shadow: none;\n }\n select::-ms-expand {\n display: none;\n }\n input {\n border-width: revert;\n border-color: revert;\n border-style: revert;\n }\n .array-item > hr {\n margin-top: 16px;\n margin-bottom: 16px;\n }\n `}\n />\n);\n\nexport default CSSReset;\n","import * as React from \"react\";\nimport { CacheProvider } from \"@emotion/react\";\nimport createCache from \"@emotion/cache\";\nimport weakMemoize from \"@emotion/weak-memoize\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\nimport CSSReset from \"./CssReset\";\n\n/**\n * __createChakraFrameProvider is used to ensure that <Global> emotion components\n * can be rendered within an iframe without changing the styles of the parent page.\n * Required for using Chakra UI in the playground.\n *\n * We have to define ChakraFrameProvider in this library, as opposed to the playground,\n * in order to avoid conflicting versions of emotion, which breaks the styling.\n *\n * NOTE: This is an internal component only used by @rjsf/playground (no\n * backwards compatibility guarantees!)\n *\n * From: https://codesandbox.io/s/p98y9o7jz0?file=/src/frame-provider.js:0-650\n * Also see: https://github.com/emotion-js/emotion/issues/760#issuecomment-404353706\n */\n\nlet memoizedCreateCacheWithContainer = weakMemoize((container: HTMLElement) => {\n let newCache = createCache({ container, key: \"rjsf\" });\n return newCache;\n});\n\nexport const __createChakraFrameProvider = (props: any) => ({\n document,\n}: any) => {\n return (\n <div style={{ margin: 2 }}>\n <CacheProvider value={memoizedCreateCacheWithContainer(document.head)}>\n <ChakraProvider resetCSS={false}>\n <CSSReset />\n {props.children}\n </ChakraProvider>\n </CacheProvider>\n </div>\n );\n};\n"],"names":["AddButton","props","React","Button","leftIcon","AddIcon","mappings","remove","DeleteIcon","plus","ArrowUpIcon","ArrowDownIcon","ChakraIconButton","memo","icon","otherProps","IconButton","displayName","isMultiSelect","utils","getDefaultRegistry","ArrayFieldTemplate","schema","registry","rootSchema","DefaultFixedArrayFieldTemplate","DefaultNormalArrayFieldTemplate","ArrayFieldTitle","title","TitleField","id","idSchema","$id","required","ArrayFieldDescription","description","DescriptionField","DefaultArrayItem","index","readonly","disabled","children","hasToolbar","hasRemove","hasMoveUp","hasMoveDown","onReorderClick","onDropIndexClick","onRemoveClick","useMemo","onArrowUpClick","onArrowDownClick","HStack","alignItems","py","Box","w","ButtonGroup","isAttached","mb","tabIndex","onClick","className","key","uiSchema","items","map","p","itemProps","canAdd","justifySelf","onAddClick","Grid","GridItem","length","mt","Heading","as","Divider","Text","ADDITIONAL_PROPERTY_FLAG","WrapIfAdditional","label","onDropPropertyClick","onKeyChange","hasOwnProperty","gap","FormControl","isRequired","FormLabel","htmlFor","Input","defaultValue","name","onBlur","undefined","target","value","type","FieldTemplate","classNames","displayLabel","rawErrors","rawHelp","rawDescription","hidden","isInvalid","List","error","i","ListItem","FormErrorMessage","FormHelperText","canExpand","ObjectFieldTemplate","properties","formData","element","content","pad","parseDateString","toDateString","rangeOptions","start","stop","options","push","AltDateWidget","autofocus","onChange","onFocus","showTime","SelectWidget","widgets","useState","state","setState","useEffect","data","handleChange","property","nextValue","nextState","Object","keys","every","readyForChange","display","flexWrap","justify","range","yearsRange","year","month","day","hour","minute","second","elemProps","elemId","mr","Boolean","elemValue","select","enumOptions","placeholder","renderDateElement","hideNowButton","e","event","preventDefault","Date","toJSON","handleNow","hideClearButton","AltDateTimeWidget","getChakra","chakraProps","chakra","forEach","shouldForwardProp","defaultProps","getFullYear","localToUTC","utcToLocal","rangeSpec","getDisplayLabel","asNumber","guessType","nums","Set","processValue","has","x","getSubmitButtonOptions","CheckboxWidget","Checkbox","isChecked","isDisabled","checked","CheckboxesWidget","enumDisabled","_onBlur","_onFocus","row","inline","isReadOnly","CheckboxGroup","option","Stack","direction","indexOf","itemDisabled","ColorWidget","TextWidget","DateWidget","DateTimeWidget","EmailWidget","PasswordWidget","RadioWidget","RadioGroup","Radio","RangeWidget","sliderWidgetProps","Slider","emptyValue","SliderTrack","SliderFilledTrack","SliderThumb","multiple","ChakraMultiSelect","inputId","isMulti","closeMenuOnSelect","v","Select","toString","autoFocus","TextareaWidget","Textarea","inputType","list","examples","concat","example","UpDownWidget","NumberInput","NumberInputField","NumberInputStepper","NumberIncrementStepper","NumberDecrementStepper","URLWidget","SubmitButton","submitText","norender","marginTop","variant","Theme","ErrorList","errors","Alert","flexDirection","status","AlertTitle","ListIcon","WarningIcon","color","stack","fields","Fields","Widgets","Form","withTheme","CSSReset","Global","styles","memoizedCreateCacheWithContainer","weakMemoize","container","createCache","style","margin","CacheProvider","document","head","ChakraProvider","resetCSS"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { utils, withTheme } from '@rjsf/core';
2
- import React__default, { createElement, Fragment, useState, useEffect } from 'react';
2
+ import React__default, { memo, useMemo, createElement, Fragment, useState, useEffect } from 'react';
3
3
  import { Button, IconButton, Box, Grid, GridItem, HStack, ButtonGroup, Alert, AlertTitle, List, ListItem, ListIcon, Heading, Divider, Text, FormControl, FormLabel, Input, FormErrorMessage, FormHelperText, shouldForwardProp, Checkbox, CheckboxGroup, Stack, RadioGroup, Radio, Slider, SliderTrack, SliderFilledTrack, SliderThumb, Select as Select$1, Textarea, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper, ChakraProvider } from '@chakra-ui/react';
4
4
  import { AddIcon, DeleteIcon, ArrowUpIcon, ArrowDownIcon, WarningIcon } from '@chakra-ui/icons';
5
5
  import { Select } from 'chakra-react-select';
@@ -58,7 +58,7 @@ var mappings = {
58
58
  * icon, tabIndex, disabled, onClick
59
59
  */
60
60
 
61
- var ChakraIconButton = function ChakraIconButton(props) {
61
+ var ChakraIconButton = /*#__PURE__*/memo(function (props) {
62
62
  var icon = props.icon,
63
63
  otherProps = _objectWithoutPropertiesLoose(props, _excluded);
64
64
 
@@ -66,8 +66,11 @@ var ChakraIconButton = function ChakraIconButton(props) {
66
66
  icon: mappings[icon],
67
67
  "aria-label": icon
68
68
  }));
69
- };
69
+ });
70
+ ChakraIconButton.displayName = 'ChakraIconButton';
70
71
 
72
+ var _excluded$1 = ["key"],
73
+ _excluded2 = ["key"];
71
74
  var isMultiSelect = utils.isMultiSelect,
72
75
  getDefaultRegistry = utils.getDefaultRegistry;
73
76
 
@@ -118,31 +121,49 @@ var ArrayFieldDescription = function ArrayFieldDescription(_ref2) {
118
121
  }; // Used in the two templates
119
122
 
120
123
 
121
- var DefaultArrayItem = function DefaultArrayItem(props) {
124
+ var DefaultArrayItem = function DefaultArrayItem(_ref3) {
125
+ var index = _ref3.index,
126
+ readonly = _ref3.readonly,
127
+ disabled = _ref3.disabled,
128
+ children = _ref3.children,
129
+ hasToolbar = _ref3.hasToolbar,
130
+ hasRemove = _ref3.hasRemove,
131
+ hasMoveUp = _ref3.hasMoveUp,
132
+ hasMoveDown = _ref3.hasMoveDown,
133
+ onReorderClick = _ref3.onReorderClick,
134
+ onDropIndexClick = _ref3.onDropIndexClick;
135
+ var onRemoveClick = useMemo(function () {
136
+ return onDropIndexClick(index);
137
+ }, [index, onDropIndexClick]);
138
+ var onArrowUpClick = useMemo(function () {
139
+ return onReorderClick(index, index - 1);
140
+ }, [index, onReorderClick]);
141
+ var onArrowDownClick = useMemo(function () {
142
+ return onReorderClick(index, index + 1);
143
+ }, [index, onReorderClick]);
122
144
  return React__default.createElement(HStack, {
123
- key: props.key,
124
145
  alignItems: "flex-end",
125
146
  py: 1
126
147
  }, React__default.createElement(Box, {
127
148
  w: "100%"
128
- }, props.children), props.hasToolbar && React__default.createElement(Box, null, React__default.createElement(ButtonGroup, {
149
+ }, children), hasToolbar && React__default.createElement(Box, null, React__default.createElement(ButtonGroup, {
129
150
  isAttached: true,
130
151
  mb: 1
131
- }, (props.hasMoveUp || props.hasMoveDown) && React__default.createElement(ChakraIconButton, {
152
+ }, (hasMoveUp || hasMoveDown) && React__default.createElement(ChakraIconButton, {
132
153
  icon: "arrow-up",
133
154
  tabIndex: -1,
134
- disabled: props.disabled || props.readonly || !props.hasMoveUp,
135
- onClick: props.onReorderClick(props.index, props.index - 1)
136
- }), (props.hasMoveUp || props.hasMoveDown) && React__default.createElement(ChakraIconButton, {
155
+ disabled: disabled || readonly || !hasMoveUp,
156
+ onClick: onArrowUpClick
157
+ }), (hasMoveUp || hasMoveDown) && React__default.createElement(ChakraIconButton, {
137
158
  icon: "arrow-down",
138
159
  tabIndex: -1,
139
- disabled: props.disabled || props.readonly || !props.hasMoveDown,
140
- onClick: props.onReorderClick(props.index, props.index + 1)
141
- }), props.hasRemove && React__default.createElement(ChakraIconButton, {
160
+ disabled: disabled || readonly || !hasMoveDown,
161
+ onClick: onArrowDownClick
162
+ }), hasRemove && React__default.createElement(ChakraIconButton, {
142
163
  icon: "remove",
143
164
  tabIndex: -1,
144
- disabled: props.disabled || props.readonly,
145
- onClick: props.onDropIndexClick(props.index)
165
+ disabled: disabled || readonly,
166
+ onClick: onRemoveClick
146
167
  }))));
147
168
  };
148
169
 
@@ -162,7 +183,14 @@ var DefaultFixedArrayFieldTemplate = function DefaultFixedArrayFieldTemplate(pro
162
183
  }, props.uiSchema["ui:description"] || props.schema.description), React__default.createElement("div", {
163
184
  className: "row array-item-list",
164
185
  key: "array-item-list-" + props.idSchema.$id
165
- }, props.items && props.items.map(DefaultArrayItem)), props.canAdd && React__default.createElement(AddButton, {
186
+ }, props.items && props.items.map(function (p) {
187
+ var key = p.key,
188
+ itemProps = _objectWithoutPropertiesLoose(p, _excluded$1);
189
+
190
+ return React__default.createElement(DefaultArrayItem, Object.assign({
191
+ key: key
192
+ }, itemProps));
193
+ })), props.canAdd && React__default.createElement(AddButton, {
166
194
  justifySelf: "flex-end",
167
195
  className: "array-item-add",
168
196
  onClick: props.onAddClick,
@@ -185,7 +213,12 @@ var DefaultNormalArrayFieldTemplate = function DefaultNormalArrayFieldTemplate(p
185
213
  }), React__default.createElement(Grid, {
186
214
  key: "array-item-list-" + props.idSchema.$id
187
215
  }, React__default.createElement(GridItem, null, props.items.length > 0 && props.items.map(function (p) {
188
- return DefaultArrayItem(p);
216
+ var key = p.key,
217
+ itemProps = _objectWithoutPropertiesLoose(p, _excluded2);
218
+
219
+ return React__default.createElement(DefaultArrayItem, Object.assign({
220
+ key: key
221
+ }, itemProps));
189
222
  })), props.canAdd && React__default.createElement(GridItem, {
190
223
  justifySelf: "flex-end"
191
224
  }, React__default.createElement(Box, {
@@ -1207,6 +1240,28 @@ var URLWidget = function URLWidget(props) {
1207
1240
  }, props));
1208
1241
  };
1209
1242
 
1243
+ var getSubmitButtonOptions = utils.getSubmitButtonOptions;
1244
+
1245
+ var SubmitButton = function SubmitButton(_ref) {
1246
+ var uiSchema = _ref.uiSchema;
1247
+
1248
+ var _getSubmitButtonOptio = getSubmitButtonOptions(uiSchema),
1249
+ submitText = _getSubmitButtonOptio.submitText,
1250
+ norender = _getSubmitButtonOptio.norender,
1251
+ submitButtonProps = _getSubmitButtonOptio.props;
1252
+
1253
+ if (norender) {
1254
+ return null;
1255
+ }
1256
+
1257
+ return React__default.createElement(Box, {
1258
+ marginTop: 3
1259
+ }, React__default.createElement(Button, Object.assign({
1260
+ type: "submit",
1261
+ variant: "solid"
1262
+ }, submitButtonProps), submitText));
1263
+ };
1264
+
1210
1265
  var widgets = {
1211
1266
  AltDateTimeWidget: AltDateTimeWidget,
1212
1267
  AltDateWidget: AltDateWidget,
@@ -1223,7 +1278,8 @@ var widgets = {
1223
1278
  TextareaWidget: TextareaWidget,
1224
1279
  TextWidget: TextWidget,
1225
1280
  UpDownWidget: UpDownWidget,
1226
- URLWidget: URLWidget
1281
+ URLWidget: URLWidget,
1282
+ SubmitButton: SubmitButton
1227
1283
  };
1228
1284
 
1229
1285
  var getDefaultRegistry$1 = utils.getDefaultRegistry;
@@ -1232,17 +1288,7 @@ var _getDefaultRegistry = /*#__PURE__*/getDefaultRegistry$1(),
1232
1288
  fields = _getDefaultRegistry.fields,
1233
1289
  widgets$1 = _getDefaultRegistry.widgets;
1234
1290
 
1235
- var SubmitButton = function SubmitButton() {
1236
- return React__default.createElement(Box, {
1237
- marginTop: 3
1238
- }, React__default.createElement(Button, {
1239
- type: "submit",
1240
- variant: "solid"
1241
- }, "Submit"));
1242
- };
1243
-
1244
1291
  var Theme = {
1245
- children: /*#__PURE__*/React__default.createElement(SubmitButton, null),
1246
1292
  ArrayFieldTemplate: ArrayFieldTemplate,
1247
1293
  FieldTemplate: FieldTemplate,
1248
1294
  ObjectFieldTemplate: ObjectFieldTemplate,