@rjsf/fluentui-rc 6.1.1 → 6.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.umd.js CHANGED
@@ -138,13 +138,23 @@
138
138
  onFocus,
139
139
  autofocus,
140
140
  options,
141
- schema
141
+ schema,
142
+ registry
142
143
  } = props;
144
+ const { ClearButton: ClearButton2 } = registry.templates.ButtonTemplates;
143
145
  const classes = useStyles3();
144
146
  const inputProps = utils.getInputProps(schema, type, options);
145
147
  const _onChange = ({ target: { value: value2 } }) => onChange(value2 === "" ? options.emptyValue : value2);
146
148
  const _onBlur = ({ target }) => onBlur(id, target && target.value);
147
149
  const _onFocus = ({ target }) => onFocus(id, target && target.value);
150
+ const _onClear = react.useCallback(
151
+ (e) => {
152
+ e.preventDefault();
153
+ e.stopPropagation();
154
+ onChange(options.emptyValue ?? "");
155
+ },
156
+ [onChange, options.emptyValue]
157
+ );
148
158
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
149
159
  utils.labelValue(
150
160
  /* @__PURE__ */ jsxRuntime.jsx(reactComponents.Label, { htmlFor: id, required, disabled, className: classes.label, children: label }),
@@ -172,6 +182,7 @@
172
182
  "aria-describedby": utils.ariaDescribedByIds(id, !!schema.examples)
173
183
  }
174
184
  ),
185
+ options.allowClearTextInputs && !readonly && !disabled && value && /* @__PURE__ */ jsxRuntime.jsx(ClearButton2, { registry, onClick: _onClear }),
175
186
  Array.isArray(schema.examples) && /* @__PURE__ */ jsxRuntime.jsx("datalist", { id: utils.examplesId(id), children: schema.examples.concat(schema.default && !schema.examples.includes(schema.default) ? [schema.default] : []).map((example) => {
176
187
  return /* @__PURE__ */ jsxRuntime.jsx("option", { value: example }, example);
177
188
  }) })
@@ -273,6 +284,19 @@
273
284
  }
274
285
  );
275
286
  }
287
+ function ClearButton(props) {
288
+ const {
289
+ registry: { translateString }
290
+ } = props;
291
+ return /* @__PURE__ */ jsxRuntime.jsx(
292
+ FluentIconButton,
293
+ {
294
+ title: translateString(utils.TranslatableString.ClearButton),
295
+ ...props,
296
+ icon: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DismissRegular, {})
297
+ }
298
+ );
299
+ }
276
300
  var useStyles6 = reactComponents.makeStyles({
277
301
  list: { marginTop: 0, marginBottom: 0, paddingLeft: 0, listStyleType: "none" },
278
302
  listItem: {
@@ -633,7 +657,8 @@
633
657
  MoveDownButton,
634
658
  MoveUpButton,
635
659
  RemoveButton,
636
- SubmitButton
660
+ SubmitButton,
661
+ ClearButton
637
662
  },
638
663
  DescriptionFieldTemplate: DescriptionField,
639
664
  ErrorListTemplate: ErrorList,
package/dist/index.cjs CHANGED
@@ -160,6 +160,7 @@ function ArrayFieldTemplate(props) {
160
160
  }
161
161
 
162
162
  // src/BaseInputTemplate/BaseInputTemplate.tsx
163
+ var import_react = require("react");
163
164
  var import_react_components4 = require("@fluentui/react-components");
164
165
  var import_utils4 = require("@rjsf/utils");
165
166
  var import_jsx_runtime4 = require("react/jsx-runtime");
@@ -191,13 +192,23 @@ function BaseInputTemplate(props) {
191
192
  onFocus,
192
193
  autofocus,
193
194
  options,
194
- schema
195
+ schema,
196
+ registry
195
197
  } = props;
198
+ const { ClearButton: ClearButton2 } = registry.templates.ButtonTemplates;
196
199
  const classes = useStyles3();
197
200
  const inputProps = (0, import_utils4.getInputProps)(schema, type, options);
198
201
  const _onChange = ({ target: { value: value2 } }) => onChange(value2 === "" ? options.emptyValue : value2);
199
202
  const _onBlur = ({ target }) => onBlur(id, target && target.value);
200
203
  const _onFocus = ({ target }) => onFocus(id, target && target.value);
204
+ const _onClear = (0, import_react.useCallback)(
205
+ (e) => {
206
+ e.preventDefault();
207
+ e.stopPropagation();
208
+ onChange(options.emptyValue ?? "");
209
+ },
210
+ [onChange, options.emptyValue]
211
+ );
201
212
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
202
213
  (0, import_utils4.labelValue)(
203
214
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_components4.Label, { htmlFor: id, required, disabled, className: classes.label, children: label }),
@@ -225,6 +236,7 @@ function BaseInputTemplate(props) {
225
236
  "aria-describedby": (0, import_utils4.ariaDescribedByIds)(id, !!schema.examples)
226
237
  }
227
238
  ),
239
+ options.allowClearTextInputs && !readonly && !disabled && value && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ClearButton2, { registry, onClick: _onClear }),
228
240
  Array.isArray(schema.examples) && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("datalist", { id: (0, import_utils4.examplesId)(id), children: schema.examples.concat(schema.default && !schema.examples.includes(schema.default) ? [schema.default] : []).map((example) => {
229
241
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("option", { value: example }, example);
230
242
  }) })
@@ -342,6 +354,19 @@ function RemoveButton(props) {
342
354
  }
343
355
  );
344
356
  }
357
+ function ClearButton(props) {
358
+ const {
359
+ registry: { translateString }
360
+ } = props;
361
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
362
+ FluentIconButton,
363
+ {
364
+ title: translateString(import_utils6.TranslatableString.ClearButton),
365
+ ...props,
366
+ icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_icons2.DismissRegular, {})
367
+ }
368
+ );
369
+ }
345
370
 
346
371
  // src/FieldErrorTemplate/FieldErrorTemplate.tsx
347
372
  var import_react_components8 = require("@fluentui/react-components");
@@ -751,7 +776,8 @@ function generateTemplates() {
751
776
  MoveDownButton,
752
777
  MoveUpButton,
753
778
  RemoveButton,
754
- SubmitButton
779
+ SubmitButton,
780
+ ClearButton
755
781
  },
756
782
  DescriptionFieldTemplate: DescriptionField,
757
783
  ErrorListTemplate: ErrorList,
@@ -1150,11 +1176,11 @@ var FluentForm_default = generateForm();
1150
1176
 
1151
1177
  // src/FluentUIRCFrameProvider.tsx
1152
1178
  var import_react_components21 = require("@fluentui/react-components");
1153
- var import_react = require("react");
1179
+ var import_react2 = require("react");
1154
1180
  var import_jsx_runtime24 = require("react/jsx-runtime");
1155
1181
  var FluentWrapper = (props) => {
1156
1182
  const { children, targetDocument } = props;
1157
- const renderer = (0, import_react.useMemo)(() => (0, import_react_components21.createDOMRenderer)(targetDocument), [targetDocument]);
1183
+ const renderer = (0, import_react2.useMemo)(() => (0, import_react_components21.createDOMRenderer)(targetDocument), [targetDocument]);
1158
1184
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_components21.RendererProvider, { renderer, targetDocument, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_components21.FluentProvider, { targetDocument, theme: import_react_components21.teamsLightTheme, children }) });
1159
1185
  };
1160
1186
  var __createFluentUIRCFrameProvider = (props) => ({ document }) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/FluentForm/FluentForm.ts", "../src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx", "../src/AddButton/AddButton.tsx", "../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx", "../src/BaseInputTemplate/BaseInputTemplate.tsx", "../src/DescriptionField/DescriptionField.tsx", "../src/ErrorList/ErrorList.tsx", "../src/IconButton/IconButton.tsx", "../src/FieldErrorTemplate/FieldErrorTemplate.tsx", "../src/FieldHelpTemplate/FieldHelpTemplate.tsx", "../src/FieldTemplate/FieldTemplate.tsx", "../src/GridTemplate/GridTemplate.tsx", "../src/MultiSchemaFieldTemplate/MultiSchemaFieldTemplate.tsx", "../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx", "../src/OptionalDataControlsTemplate/OptionalDataControlsTemplate.tsx", "../src/SubmitButton/SubmitButton.tsx", "../src/TitleField/TitleField.tsx", "../src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx", "../src/Templates/Templates.ts", "../src/CheckboxWidget/CheckboxWidget.tsx", "../src/CheckboxesWidget/CheckboxesWidget.tsx", "../src/RadioWidget/RadioWidget.tsx", "../src/RangeWidget/RangeWidget.tsx", "../src/SelectWidget/SelectWidget.tsx", "../src/TextareaWidget/TextareaWidget.tsx", "../src/Widgets/Widgets.ts", "../src/Theme/Theme.ts", "../src/FluentUIRCFrameProvider.tsx"],
4
- "sourcesContent": ["import FluentForm from './FluentForm';\n\nexport { default as Form, generateForm } from './FluentForm';\nexport { default as Templates, generateTemplates } from './Templates';\nexport { default as Theme, generateTheme } from './Theme';\nexport { default as Widgets, generateWidgets } from './Widgets';\nexport { __createFluentUIRCFrameProvider } from './FluentUIRCFrameProvider';\n\nexport default FluentForm;\n", "import { ComponentType } from 'react';\nimport { FormProps, withTheme } from '@rjsf/core';\n\nimport { generateTheme } from '../Theme';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateForm<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ComponentType<FormProps<T, S, F>> {\n return withTheme<T, S, F>(generateTheme<T, S, F>());\n}\n\nexport default generateForm();\n", "import {\n ArrayFieldItemTemplateProps,\n FormContextType,\n getTemplate,\n getUiOptions,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\nimport { makeStyles } from '@fluentui/react-components';\n\nconst useStyles = makeStyles({\n arrayFieldItem: {\n '> .form-group': {\n width: '100%',\n },\n },\n});\n\n/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.\n *\n * @param props - The `ArrayFieldItemTemplateProps` props for the component\n */\nexport default function ArrayFieldItemTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldItemTemplateProps<T, S, F>) {\n const classes = useStyles();\n const { children, buttonsProps, displayLabel, hasToolbar, uiSchema, registry } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(\n 'ArrayFieldItemButtonsTemplate',\n registry,\n uiOptions,\n );\n\n return (\n <Flex vAlign='start'>\n <Flex fill className={classes.arrayFieldItem}>\n {children}\n </Flex>\n {hasToolbar && (\n <Flex style={{ marginLeft: '8px', marginTop: displayLabel ? '26px' : 0 }}>\n <ArrayFieldItemButtonsTemplate {...buttonsProps} />\n </Flex>\n )}\n </Flex>\n );\n}\n", "import { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\nimport { Button } from '@fluentui/react-components';\nimport { AddRegular } from '@fluentui/react-icons';\n\nexport default function AddButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n uiSchema,\n registry,\n ...props\n}: IconButtonProps<T, S, F>) {\n const { translateString } = registry;\n return <Button title={translateString(TranslatableString.AddItemButton)} {...props} icon={<AddRegular />} />;\n}\n", "import { makeStyles, shorthands } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\nimport {\n getTemplate,\n getUiOptions,\n ArrayFieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n buttonId,\n} from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n arrayItemList: {\n ...shorthands.gap('12px'),\n },\n});\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldTemplateProps` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const {\n canAdd,\n disabled,\n fieldPathId,\n uiSchema,\n items,\n optionalDataControl,\n onAddClick,\n readonly,\n registry,\n required,\n schema,\n title,\n } = props;\n const classes = useStyles();\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions,\n );\n const showOptionalDataControlInTitle = !readonly && !disabled;\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n <ArrayFieldTitleTemplate\n fieldPathId={fieldPathId}\n title={uiOptions.title || title}\n schema={schema}\n uiSchema={uiSchema}\n required={required}\n registry={registry}\n optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}\n />\n <ArrayFieldDescriptionTemplate\n fieldPathId={fieldPathId}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n <Flex column key={`array-item-list-${fieldPathId.$id}`} className={classes.arrayItemList}>\n {!showOptionalDataControlInTitle ? optionalDataControl : undefined}\n {items}\n {canAdd && (\n <Flex hAlign='end'>\n <AddButton\n id={buttonId(fieldPathId, 'add')}\n className='rjsf-array-item-add'\n onClick={onAddClick}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Flex>\n )}\n </Flex>\n </>\n );\n}\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport { Input, InputProps, Label, makeStyles } from '@fluentui/react-components';\nimport {\n ariaDescribedByIds,\n BaseInputTemplateProps,\n examplesId,\n getInputProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n labelValue,\n} from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n input: {\n width: '100%',\n },\n label: {\n paddingTop: '2px',\n paddingBottom: '2px',\n marginBottom: '2px',\n },\n});\n\n/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.\n * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.\n * It can be customized/overridden for other themes or individual implementations as needed.\n *\n * @param props - The `WidgetProps` for this template\n */\nexport default function BaseInputTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: BaseInputTemplateProps<T, S, F>) {\n const {\n id,\n htmlName,\n placeholder,\n required,\n readonly,\n disabled,\n type,\n value,\n label,\n hideLabel,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n } = props;\n const classes = useStyles();\n const inputProps = getInputProps<T, S, F>(schema, type, options);\n // Now we need to pull out the step, min, max into an inner `inputProps` for fluentui-rc\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.value);\n return (\n <>\n {labelValue(\n <Label htmlFor={id} required={required} disabled={disabled} className={classes.label}>\n {label}\n </Label>,\n hideLabel,\n )}\n <Input\n id={id}\n name={htmlName || id}\n placeholder={placeholder}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n {...(inputProps as InputProps)}\n input={{\n className: classes.input,\n // Due to Fluent UI this does not work correctly\n list: schema.examples ? examplesId(id) : undefined,\n }}\n value={value || value === 0 ? value : ''}\n onChange={onChangeOverride || _onChange}\n onFocus={_onFocus}\n onBlur={_onBlur}\n aria-describedby={ariaDescribedByIds(id, !!schema.examples)}\n />\n {Array.isArray(schema.examples) && (\n <datalist id={examplesId(id)}>\n {(schema.examples as string[])\n .concat(schema.default && !schema.examples.includes(schema.default) ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n )}\n </>\n );\n}\n", "import { Text, makeStyles, tokens } from '@fluentui/react-components';\nimport { DescriptionFieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { RichDescription } from '@rjsf/core';\n\nconst useStyles = makeStyles({\n label: {\n marginTop: tokens.spacingVerticalS,\n marginBottom: tokens.spacingVerticalM,\n },\n});\n\n/** The `DescriptionField` is the template to use to render the description of a field\n *\n * @param props - The `DescriptionFieldProps` for this component\n */\nexport default function DescriptionField<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: DescriptionFieldProps<T, S, F>) {\n const { id, description, registry, uiSchema } = props;\n const classes = useStyles();\n if (!description) {\n return null;\n }\n\n return (\n <Text block id={id} className={classes.label}>\n <RichDescription description={description} registry={registry} uiSchema={uiSchema} />\n </Text>\n );\n}\n", "import { Card, Text, makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { ErrorListProps, FormContextType, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n errorCard: {\n backgroundColor: tokens.colorStatusDangerBackground1,\n marginBottom: tokens.spacingVerticalL,\n '&::after': {\n ...shorthands.borderColor(tokens.colorStatusDangerBorder1),\n },\n },\n errorTitle: {\n marginTop: 0,\n marginBottom: 0,\n },\n});\n\n/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`\n *\n * @param props - The `ErrorListProps` for this component\n */\nexport default function ErrorList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n errors,\n registry,\n}: ErrorListProps<T, S, F>) {\n const { translateString } = registry;\n const classes = useStyles();\n return (\n <Card appearance='outline' className={classes.errorCard}>\n <Text as='h6' size={400} className={classes.errorTitle}>\n {translateString(TranslatableString.ErrorsLabel)}\n </Text>\n <ul>\n {errors.map((error, i: number) => {\n return <li key={i}>{error.stack}</li>;\n })}\n </ul>\n </Card>\n );\n}\n", "import { Button, ButtonProps } from '@fluentui/react-components';\nimport { ArrowSortUpRegular, ArrowSortDownRegular, CopyRegular, SubtractRegular } from '@fluentui/react-icons';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nexport type FluentIconButtonProps<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n> = IconButtonProps<T, S, F> & Omit<ButtonProps, 'onChange' | 'as'>;\n\nexport default function FluentIconButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FluentIconButtonProps<T, S, F>) {\n const { color, uiSchema, registry, ...otherProps } = props;\n\n return <Button {...otherProps} color='secondary' />;\n}\n\nexport function CopyButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.CopyButton)}\n {...props}\n icon={<CopyRegular />}\n />\n );\n}\n\nexport function MoveDownButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n icon={<ArrowSortDownRegular />}\n />\n );\n}\n\nexport function MoveUpButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n icon={<ArrowSortUpRegular />}\n />\n );\n}\n\nexport function RemoveButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.RemoveButton)}\n {...props}\n icon={<SubtractRegular />}\n />\n );\n}\n", "import { makeStyles, tokens } from '@fluentui/react-components';\nimport { errorId, FieldErrorProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n list: { marginTop: 0, marginBottom: 0, paddingLeft: 0, listStyleType: 'none' },\n listItem: {\n paddingLeft: tokens.spacingHorizontalL,\n paddingTop: tokens.spacingVerticalXS,\n paddingBottom: tokens.spacingVerticalXS,\n },\n errorLabel: { color: tokens.colorPaletteRedForeground1 },\n});\n\n/** The `FieldErrorTemplate` component renders the errors local to the particular field\n *\n * @param props - The `FieldErrorProps` for the errors being rendered\n */\nexport default function FieldErrorTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldErrorProps<T, S, F>) {\n const { errors = [], fieldPathId } = props;\n const classes = useStyles();\n\n if (errors.length === 0) {\n return null;\n }\n const id = errorId(fieldPathId);\n\n return (\n <ul className={classes.list}>\n {errors.map((error, i: number) => {\n return (\n <li key={i} className={classes.listItem}>\n <small className={classes.errorLabel} id={id}>\n {error}\n </small>\n </li>\n );\n })}\n </ul>\n );\n}\n", "import { Caption1 } from '@fluentui/react-components';\nimport { helpId, FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { RichHelp } from '@rjsf/core';\n\n/** The `FieldHelpTemplate` component renders any help desired for a field\n *\n * @param props - The `FieldHelpProps` to be rendered\n */\nexport default function FieldHelpTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldHelpProps<T, S, F>) {\n const { fieldPathId, help, uiSchema = {}, registry } = props;\n\n if (!help) {\n return null;\n }\n return (\n <Caption1 id={helpId(fieldPathId)}>\n <RichHelp help={help} registry={registry} uiSchema={uiSchema} />\n </Caption1>\n );\n}\n", "import { Field, Text } from '@fluentui/react-components';\nimport {\n FieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n getTemplate,\n getUiOptions,\n} from '@rjsf/utils';\n\n/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field\n * content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.\n *\n * @param props - The `FieldTemplateProps` for this component\n */\nexport default function FieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldTemplateProps<T, S, F>) {\n const {\n id,\n children,\n classNames,\n style,\n disabled,\n displayLabel,\n hidden,\n label,\n onKeyRename,\n onKeyRenameBlur,\n onRemoveProperty,\n readonly,\n required,\n rawErrors = [],\n errors,\n help,\n description,\n rawDescription,\n schema,\n uiSchema,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>(\n 'WrapIfAdditionalTemplate',\n registry,\n uiOptions,\n );\n\n if (hidden) {\n return <div style={{ display: 'none' }}>{children}</div>;\n }\n const isCheckbox = uiOptions.widget === 'checkbox';\n return (\n <WrapIfAdditionalTemplate\n classNames={classNames}\n style={style}\n disabled={disabled}\n id={id}\n label={label}\n displayLabel={displayLabel}\n rawDescription={rawDescription}\n onKeyRename={onKeyRename}\n onKeyRenameBlur={onKeyRenameBlur}\n onRemoveProperty={onRemoveProperty}\n readonly={readonly}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n >\n <Field validationState={rawErrors.length ? 'error' : undefined} required={required}>\n {children}\n {displayLabel && rawDescription && !isCheckbox ? (\n <Text as='p' block style={{ marginTop: 0, marginBottom: 0 }}>\n {description}\n </Text>\n ) : null}\n {errors}\n {help}\n </Field>\n </WrapIfAdditionalTemplate>\n );\n}\n", "import { GridShim, grid } from '@fluentui/react-migration-v0-v9';\nimport { GridTemplateProps } from '@rjsf/utils';\n\n/** Renders a `GridTemplate` for fluentui-rc, which is expecting the column sizing information coming in via the\n * `style` by the caller, which are spread directly on the `GridShim` if `columns` or `rows` are provided. Otherwise,\n * the `style` is added to a simple grid. This was done because `fluentui-rc` uses the CSS Grid which defines all of\n * the column/row/grid information via style.\n *\n * @param props - The GridTemplateProps, including the extra props containing the fluentui-rc grid positioning details\n */\nexport default function GridTemplate(props: GridTemplateProps) {\n const { children, column, columns, rows, style, ...rest } = props;\n if (columns || rows) {\n // Use the `grid` rows/columns functions to generate the additional grid styling\n const styles = {\n ...style,\n ...(rows ? grid.rows(rows) : undefined),\n ...(columns ? grid.columns(columns) : undefined),\n };\n return (\n <GridShim style={styles} {...rest}>\n {children}\n </GridShim>\n );\n }\n return (\n <div style={style} {...rest}>\n {children}\n </div>\n );\n}\n", "import { makeStyles } from '@fluentui/react-components';\nimport { FormContextType, MultiSchemaFieldTemplateProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n root: {\n '> div': { marginBottom: '4px' },\n },\n});\n\nexport default function MultiSchemaFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: MultiSchemaFieldTemplateProps<T, S, F>) {\n const { selector, optionSchemaField } = props;\n\n const styles = useStyles();\n\n return (\n <div className={styles.root}>\n <div>{selector}</div>\n {optionSchemaField}\n </div>\n );\n}\n", "import { Flex } from '@fluentui/react-migration-v0-v9';\nimport {\n FormContextType,\n ObjectFieldTemplateProps,\n RJSFSchema,\n StrictRJSFSchema,\n canExpand,\n descriptionId,\n getTemplate,\n getUiOptions,\n titleId,\n buttonId,\n} from '@rjsf/utils';\n\n/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the\n * title and description if available. If the object is expandable, then an `AddButton` is also rendered after all\n * the properties.\n *\n * @param props - The `ObjectFieldTemplateProps` for this component\n */\nexport default function ObjectFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ObjectFieldTemplateProps<T, S, F>) {\n const {\n description,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n fieldPathId,\n schema,\n formData,\n optionalDataControl,\n onAddProperty,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n uiOptions,\n );\n const showOptionalDataControlInTitle = !readonly && !disabled;\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n {title && (\n <TitleFieldTemplate\n id={titleId(fieldPathId)}\n title={title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}\n />\n )}\n {description && (\n <DescriptionFieldTemplate\n id={descriptionId(fieldPathId)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Flex fill column gap='gap.medium'>\n {!showOptionalDataControlInTitle ? optionalDataControl : undefined}\n {properties.map((element, index) =>\n // Remove the <Grid> if the inner element is hidden as the <Grid>\n // itself would otherwise still take up space.\n element.hidden ? (\n element.content\n ) : (\n <Flex column fill key={index} style={{ marginBottom: '10px' }}>\n {element.content}\n </Flex>\n ),\n )}\n {canExpand<T, S, F>(schema, uiSchema, formData) && (\n <Flex hAlign='end'>\n <AddButton\n id={buttonId(fieldPathId, 'add')}\n className='rjsf-object-property-expand'\n onClick={onAddProperty}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Flex>\n )}\n </Flex>\n </>\n );\n}\n", "import { FormContextType, OptionalDataControlsTemplateProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { AddSquareMultipleRegular, SubtractSquareMultipleRegular } from '@fluentui/react-icons';\n\nimport FluentIconButton from '../IconButton';\n\n/** The OptionalDataControlsTemplate renders one of three different states. If\n * there is an `onAddClick()` function, it renders the \"Add\" button. If there is\n * an `onRemoveClick()` function, it renders the \"Remove\" button. Otherwise it\n * renders the \"No data found\" section. All of them use the `label` as either\n * the `title` of buttons or simply outputting it.\n *\n * @param props - The `OptionalDataControlsTemplateProps` for the template\n */\nexport default function OptionalDataControlsTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: OptionalDataControlsTemplateProps<T, S, F>) {\n const { id, registry, label, onAddClick, onRemoveClick } = props;\n if (onAddClick) {\n return (\n <FluentIconButton\n id={id}\n registry={registry}\n icon={<AddSquareMultipleRegular />}\n className='rjsf-add-optional-data'\n onClick={onAddClick}\n title={label}\n size='small'\n appearance='secondary'\n />\n );\n } else if (onRemoveClick) {\n return (\n <FluentIconButton\n id={id}\n registry={registry}\n icon={<SubtractSquareMultipleRegular />}\n className='rjsf-remove-optional-data'\n onClick={onRemoveClick}\n title={label}\n size='small'\n appearance='secondary'\n />\n );\n }\n return <em id={id}>{label}</em>;\n}\n", "import { FormContextType, getSubmitButtonOptions, RJSFSchema, StrictRJSFSchema, SubmitButtonProps } from '@rjsf/utils';\nimport { Button, makeStyles, tokens } from '@fluentui/react-components';\n\nconst useStyles = makeStyles({\n buttonRow: {\n marginTop: tokens.spacingVerticalL,\n },\n});\n\nexport default function SubmitButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({ uiSchema }: SubmitButtonProps<T, S, F>) {\n const classes = useStyles();\n const { submitText, norender, props: submitButtonProps } = getSubmitButtonOptions(uiSchema);\n if (norender) {\n return null;\n }\n return (\n <div className={classes.buttonRow}>\n <Button appearance='primary' type='submit' {...submitButtonProps}>\n {submitText}\n </Button>\n </div>\n );\n}\n", "import { Flex } from '@fluentui/react-migration-v0-v9';\nimport { Text, Divider, makeStyles } from '@fluentui/react-components';\nimport { FormContextType, TitleFieldProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n root: {\n marginTop: '8px',\n marginBottom: '8px',\n },\n});\n\n/** The `TitleField` is the template to use to render the title of a field\n *\n * @param props - The `TitleFieldProps` for this component\n */\nexport default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n title,\n optionalDataControl,\n}: TitleFieldProps<T, S, F>) {\n const classes = useStyles();\n let heading = (\n <Text as='h5' size={600} style={{ marginBlock: 0 }}>\n {title}\n </Text>\n );\n if (optionalDataControl) {\n heading = (\n <Flex>\n <Flex fill>{heading}</Flex>\n <Flex hAlign='end'>{optionalDataControl}</Flex>\n </Flex>\n );\n }\n return (\n <div id={id} className={classes.root}>\n {heading}\n <Divider />\n </div>\n );\n}\n", "import { CSSProperties } from 'react';\nimport {\n ADDITIONAL_PROPERTY_FLAG,\n buttonId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\nimport { Field, Input, makeStyles } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\n\nconst useStyles = makeStyles({\n input: {\n width: '100%',\n },\n grow: {\n flexGrow: 1,\n },\n halfWidth: {\n width: '46%',\n },\n alignEnd: {\n alignSelf: 'flex-end',\n justifyContent: 'flex-end',\n },\n alignCenter: {\n alignSelf: 'center',\n marginTop: '-14px',\n justifyContent: 'flex-end',\n },\n label: {\n marginBottom: '4px',\n },\n});\n\nconst containerTypes = ['object', 'array'];\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WrapIfAdditionalTemplateProps<T, S, F>) {\n const {\n children,\n classNames,\n style,\n disabled,\n id,\n label,\n displayLabel,\n onRemoveProperty,\n onKeyRenameBlur,\n rawDescription,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n } = props;\n const { templates, translateString } = registry;\n const classes = useStyles();\n // Button templates are not overridden in the uiSchema\n const { RemoveButton } = templates.ButtonTemplates;\n const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n const hasDescription = !!rawDescription;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n };\n\n if (!additional) {\n const { type } = schema;\n // Flex grow only non container classes\n const className = containerTypes.includes(type as string) ? classNames : `${classes.grow} ${classNames}`;\n return (\n <div className={className} style={style}>\n {children}\n </div>\n );\n }\n\n return (\n <Flex gap='gap.medium' vAlign='start' key={`${id}-key`} className={classNames} style={style}>\n <div className={classes.halfWidth}>\n <Field label={displayLabel ? keyLabel : undefined} required={required}>\n <Input\n required={required}\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? onKeyRenameBlur : undefined}\n type='text'\n input={{\n className: classes.input,\n }}\n />\n </Field>\n </div>\n <div className={classes.halfWidth}>{children}</div>\n <div className={hasDescription ? classes.alignCenter : classes.alignEnd}>\n <RemoveButton\n id={buttonId(id, 'remove')}\n iconType='default'\n className='rjsf-object-property-remove'\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onRemoveProperty}\n uiSchema={uiSchema}\n registry={registry}\n />\n </div>\n </Flex>\n );\n}\n", "import ArrayFieldItemTemplate from '../ArrayFieldItemTemplate';\nimport AddButton from '../AddButton';\nimport ArrayFieldTemplate from '../ArrayFieldTemplate';\nimport BaseInputTemplate from '../BaseInputTemplate/BaseInputTemplate';\nimport DescriptionField from '../DescriptionField';\nimport ErrorList from '../ErrorList';\nimport { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } from '../IconButton';\nimport FieldErrorTemplate from '../FieldErrorTemplate';\nimport FieldHelpTemplate from '../FieldHelpTemplate';\nimport FieldTemplate from '../FieldTemplate';\nimport GridTemplate from '../GridTemplate';\nimport MultiSchemaFieldTemplate from '../MultiSchemaFieldTemplate';\nimport ObjectFieldTemplate from '../ObjectFieldTemplate';\nimport OptionalDataControlsTemplate from '../OptionalDataControlsTemplate';\nimport SubmitButton from '../SubmitButton';\nimport TitleField from '../TitleField';\nimport WrapIfAdditionalTemplate from '../WrapIfAdditionalTemplate';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@rjsf/utils';\n\nexport function generateTemplates<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): Partial<TemplatesType<T, S, F>> {\n return {\n ArrayFieldItemTemplate,\n ArrayFieldTemplate,\n BaseInputTemplate,\n ButtonTemplates: {\n CopyButton,\n AddButton,\n MoveDownButton,\n MoveUpButton,\n RemoveButton,\n SubmitButton,\n },\n DescriptionFieldTemplate: DescriptionField,\n ErrorListTemplate: ErrorList,\n FieldErrorTemplate,\n FieldHelpTemplate,\n FieldTemplate,\n GridTemplate,\n MultiSchemaFieldTemplate,\n ObjectFieldTemplate,\n OptionalDataControlsTemplate,\n TitleFieldTemplate: TitleField,\n WrapIfAdditionalTemplate,\n };\n}\n\nexport default generateTemplates();\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n descriptionId,\n getTemplate,\n schemaRequiresTrueValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Checkbox } from '@fluentui/react-components';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n * It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n const {\n schema,\n id,\n htmlName,\n value,\n disabled,\n readonly,\n label = '',\n hideLabel,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n registry,\n options,\n uiSchema,\n } = props;\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n options,\n );\n // Because an unchecked checkbox will cause html5 validation to fail, only add\n // the \"required\" attribute if the field value must be \"true\", due to the\n // \"const\" or \"enum\" keywords\n const required = schemaRequiresTrueValue<S>(schema);\n\n const _onChange = ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => onChange(checked);\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.checked);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.checked);\n const description = options.description ?? schema.description;\n\n return (\n <>\n {!hideLabel && description && (\n <DescriptionFieldTemplate\n id={descriptionId(id)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Checkbox\n id={id}\n name={htmlName || id}\n label={label}\n checked={typeof value === 'undefined' ? false : Boolean(value)}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n />\n </>\n );\n}\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n enumOptionsDeselectValue,\n enumOptionsIsSelected,\n enumOptionsSelectValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n WidgetProps,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\nimport { Label, Checkbox } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\n\n/** The `CheckboxesWidget` is a widget for rendering checkbox groups.\n * It is typically used to represent an array of enums.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxesWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n label,\n hideLabel,\n id,\n htmlName,\n disabled,\n options,\n value,\n autofocus,\n readonly,\n required,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, inline, emptyValue } = options;\n const checkboxesValues = Array.isArray(value) ? value : [value];\n\n const _onChange =\n (index: number) =>\n ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => {\n if (checked) {\n onChange(enumOptionsSelectValue<S>(index, checkboxesValues, enumOptions));\n } else {\n onChange(enumOptionsDeselectValue<S>(index, checkboxesValues, enumOptions));\n }\n };\n\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <Flex column={!inline}>\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index: number) => {\n const checked = enumOptionsIsSelected<S>(option.value, checkboxesValues);\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n return (\n <Checkbox\n key={index}\n id={optionId(id, index)}\n name={htmlName || id}\n label={option.label}\n checked={checked}\n disabled={disabled || itemDisabled || readonly}\n autoFocus={autofocus && index === 0}\n onChange={_onChange(index)}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n />\n );\n })}\n </Flex>\n </>\n );\n}\n", "import { FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Label, Radio, RadioGroup, RadioGroupOnChangeData } from '@fluentui/react-components';\n\n/** The `RadioWidget` is a widget for rendering a radio group.\n * It is typically used with a string property constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n htmlName,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n hideLabel,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue, inline } = options;\n\n const _onChange = (_: any, data: RadioGroupOnChangeData) =>\n onChange(enumOptionsValueForIndex<S>(data.value, enumOptions, emptyValue));\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n\n const selectedIndex = enumOptionsIndexForValue<S>(value, enumOptions) ?? undefined;\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <RadioGroup\n id={id}\n name={htmlName || id}\n layout={inline ? 'horizontal' : 'vertical'}\n value={selectedIndex as string | undefined}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index) => {\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n return (\n <Radio\n id={optionId(id, index)}\n label={option.label}\n value={String(index)}\n key={index}\n disabled={disabled || itemDisabled || readonly}\n />\n );\n })}\n </RadioGroup>\n </>\n );\n}\n", "import { FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n labelValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n rangeSpec,\n} from '@rjsf/utils';\nimport { Label, Slider, SliderOnChangeData } from '@fluentui/react-components';\n\n/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result\n * in a div, with the value along side it.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: WidgetProps<T, S, F>,\n) {\n const { value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, hideLabel, id } =\n props;\n const sliderProps = { value, label, id, name: id, ...rangeSpec<S>(schema) };\n\n const _onChange = (_: any, data: SliderOnChangeData) => {\n onChange(data.value ?? options.emptyValue);\n };\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.value);\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <Slider\n disabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n {...sliderProps}\n aria-describedby={ariaDescribedByIds(id)}\n />\n </>\n );\n}\n", "import {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n FormContextType,\n labelValue,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Dropdown, Field, Option } from '@fluentui/react-components';\nimport { OptionOnSelectData } from '@fluentui/react-combobox';\n\nfunction getValue(data: OptionOnSelectData, multiple: boolean) {\n if (multiple) {\n return data.selectedOptions;\n }\n return data.selectedOptions[0];\n}\n\n/** The `SelectWidget` is a widget for rendering dropdowns.\n * It is typically used with string properties constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nfunction SelectWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n htmlName,\n options,\n label,\n hideLabel,\n value,\n required,\n disabled,\n readonly,\n multiple = false,\n autofocus = false,\n rawErrors = [],\n onChange,\n onBlur,\n onFocus,\n schema,\n placeholder,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue: optEmptyVal } = options;\n\n const selectedIndexes = enumOptionsIndexForValue<S>(value, enumOptions, multiple);\n let selectedIndexesAsArray: string[] = [];\n\n if (typeof selectedIndexes === 'string') {\n selectedIndexesAsArray = [selectedIndexes];\n } else if (Array.isArray(selectedIndexes)) {\n selectedIndexesAsArray = selectedIndexes.map((index) => String(index));\n }\n\n const dropdownValue = selectedIndexesAsArray\n .map((index) => (enumOptions ? enumOptions[Number(index)].label : undefined))\n .join(', ');\n\n const _onBlur = () => onBlur(id, selectedIndexes);\n const _onFocus = () => onFocus(id, selectedIndexes);\n const _onChange = (_: any, data: OptionOnSelectData) => {\n const newValue = getValue(data, multiple);\n return onChange(enumOptionsValueForIndex<S>(newValue, enumOptions, optEmptyVal));\n };\n const showPlaceholderOption = !multiple && schema.default === undefined;\n\n return (\n <Field\n label={labelValue(label, hideLabel)}\n validationState={rawErrors.length ? 'error' : undefined}\n required={required}\n >\n <Dropdown\n id={id}\n name={htmlName || id}\n multiselect={multiple}\n className='form-control'\n value={dropdownValue}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onBlur={_onBlur}\n onFocus={_onFocus}\n onOptionSelect={_onChange}\n selectedOptions={selectedIndexesAsArray}\n aria-describedby={ariaDescribedByIds(id)}\n >\n {showPlaceholderOption && <Option value=''>{placeholder || ''}</Option>}\n {Array.isArray(enumOptions) &&\n enumOptions.map(({ value, label }, i) => {\n const disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;\n return (\n <Option key={i} value={String(i)} disabled={disabled}>\n {label}\n </Option>\n );\n })}\n </Dropdown>\n </Field>\n );\n}\n\nexport default SelectWidget;\n", "import { Label, Textarea, makeStyles } from '@fluentui/react-components';\nimport {\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n ariaDescribedByIds,\n labelValue,\n} from '@rjsf/utils';\nimport { ChangeEvent, FocusEvent } from 'react';\n\nconst useStyles = makeStyles({\n label: {\n paddingTop: '2px',\n paddingBottom: '2px',\n marginBottom: '2px',\n },\n});\n\n/** The `TextareaWidget` is a widget for rendering input fields as textarea.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function TextareaWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n const {\n id,\n htmlName,\n placeholder,\n required,\n readonly,\n disabled,\n value,\n label,\n hideLabel,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n } = props;\n const classes = useStyles();\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLTextAreaElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLTextAreaElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLTextAreaElement>) => onFocus(id, target && target.value);\n\n let rows: string | number = 5;\n if (typeof options.rows === 'string' || typeof options.rows === 'number') {\n rows = options.rows;\n }\n\n return (\n <>\n {labelValue(\n <Label htmlFor={id} required={required} disabled={disabled} className={classes.label}>\n {label}\n </Label>,\n hideLabel,\n )}\n <Textarea\n id={id}\n name={htmlName || id}\n placeholder={placeholder}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n value={value || value === 0 ? value : ''}\n onChange={onChangeOverride || _onChange}\n onFocus={_onFocus}\n onBlur={_onBlur}\n aria-describedby={ariaDescribedByIds(id, !!schema.examples)}\n rows={rows}\n />\n </>\n );\n}\n", "import CheckboxWidget from '../CheckboxWidget/CheckboxWidget';\nimport CheckboxesWidget from '../CheckboxesWidget/CheckboxesWidget';\nimport RadioWidget from '../RadioWidget/RadioWidget';\nimport RangeWidget from '../RangeWidget/RangeWidget';\nimport SelectWidget from '../SelectWidget/SelectWidget';\nimport TextareaWidget from '../TextareaWidget/TextareaWidget';\nimport { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateWidgets<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): RegistryWidgetsType<T, S, F> {\n return {\n CheckboxWidget,\n CheckboxesWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n };\n}\n\nexport default generateWidgets();\n", "import { ThemeProps } from '@rjsf/core';\n\nimport { generateTemplates } from '../Templates';\nimport { generateWidgets } from '../Widgets';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateTheme<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ThemeProps<T, S, F> {\n return {\n templates: generateTemplates<T, S, F>(),\n widgets: generateWidgets<T, S, F>(),\n };\n}\n\nexport default generateTheme();\n", "import { FluentProvider, RendererProvider, createDOMRenderer, teamsLightTheme } from '@fluentui/react-components';\nimport { ReactNode, useMemo } from 'react';\n\nconst FluentWrapper = (props: { children: ReactNode; targetDocument?: HTMLDocument }) => {\n const { children, targetDocument } = props;\n const renderer = useMemo(() => createDOMRenderer(targetDocument), [targetDocument]);\n\n return (\n <RendererProvider renderer={renderer} targetDocument={targetDocument}>\n <FluentProvider targetDocument={targetDocument} theme={teamsLightTheme}>\n {children}\n </FluentProvider>\n </RendererProvider>\n );\n};\n\nexport const __createFluentUIRCFrameProvider =\n (props: any) =>\n ({ document }: any) => {\n return <FluentWrapper targetDocument={document}>{props.children}</FluentWrapper>;\n };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAAA,eAAqC;;;ACDrC,mBAOO;AACP,mCAAqB;AACrB,8BAA2B;AA6BvB;AA3BJ,IAAM,gBAAY,oCAAW;AAAA,EAC3B,gBAAgB;AAAA,IACd,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;AAMc,SAAR,uBAIL,OAA6C;AAC7C,QAAM,UAAU,UAAU;AAC1B,QAAM,EAAE,UAAU,cAAc,cAAc,YAAY,UAAU,SAAS,IAAI;AACjF,QAAM,gBAAY,2BAAsB,QAAQ;AAChD,QAAM,oCAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE,6CAAC,qCAAK,QAAO,SACX;AAAA,gDAAC,qCAAK,MAAI,MAAC,WAAW,QAAQ,gBAC3B,UACH;AAAA,IACC,cACC,4CAAC,qCAAK,OAAO,EAAE,YAAY,OAAO,WAAW,eAAe,SAAS,EAAE,GACrE,sDAAC,iCAA+B,GAAG,cAAc,GACnD;AAAA,KAEJ;AAEJ;;;ACjDA,IAAAC,gBAAmG;AACnG,IAAAC,2BAAuB;AACvB,yBAA2B;AAQiE,IAAAC,sBAAA;AAN7E,SAAR,UAA8G;AAAA,EACnH;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA6B;AAC3B,QAAM,EAAE,gBAAgB,IAAI;AAC5B,SAAO,6CAAC,mCAAO,OAAO,gBAAgB,iCAAmB,aAAa,GAAI,GAAG,OAAO,MAAM,6CAAC,iCAAW,GAAI;AAC5G;;;ACXA,IAAAC,2BAAuC;AACvC,IAAAC,gCAAqB;AACrB,IAAAC,gBAQO;AAiDH,IAAAC,sBAAA;AA/CJ,IAAMC,iBAAY,qCAAW;AAAA,EAC3B,eAAe;AAAA,IACb,GAAG,oCAAW,IAAI,MAAM;AAAA,EAC1B;AACF,CAAC;AAMc,SAAR,mBAIL,OAAyC;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,UAAUA,WAAU;AAC1B,QAAM,gBAAY,4BAAsB,QAAQ;AAChD,QAAM,oCAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,8BAA0B;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,iCAAiC,CAAC,YAAY,CAAC;AAErD,QAAM;AAAA,IACJ,iBAAiB,EAAE,WAAAC,WAAU;AAAA,EAC/B,IAAI,SAAS;AACb,SACE,8EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,UAAU,SAAS;AAAA,QAC1B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,qBAAqB,iCAAiC,sBAAsB;AAAA;AAAA,IAC9E;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,aAAa,UAAU,eAAe,OAAO;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IACA,8CAAC,sCAAK,QAAM,MAA4C,WAAW,QAAQ,eACxE;AAAA,OAAC,iCAAiC,sBAAsB;AAAA,MACxD;AAAA,MACA,UACC,6CAAC,sCAAK,QAAO,OACX;AAAA,QAACA;AAAA,QAAA;AAAA,UACC,QAAI,wBAAS,aAAa,KAAK;AAAA,UAC/B,WAAU;AAAA,UACV,SAAS;AAAA,UACT,UAAU,YAAY;AAAA,UACtB;AAAA,UACA;AAAA;AAAA,MACF,GACF;AAAA,SAbc,mBAAmB,YAAY,GAAG,EAepD;AAAA,KACF;AAEJ;;;AC7FA,IAAAC,2BAAqD;AACrD,IAAAC,gBASO;AAmDH,IAAAC,sBAAA;AAjDJ,IAAMC,iBAAY,qCAAW;AAAA,EAC3B,OAAO;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,cAAc;AAAA,EAChB;AACF,CAAC;AAQc,SAAR,kBAIL,OAAwC;AACxC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,UAAUA,WAAU;AAC1B,QAAM,iBAAa,6BAAuB,QAAQ,MAAM,OAAO;AAE/D,QAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAAC,OAAM,EAAE,MACrC,SAASA,WAAU,KAAK,QAAQ,aAAaA,MAAK;AACpD,QAAM,UAAU,CAAC,EAAE,OAAO,MAAoC,OAAO,IAAI,UAAU,OAAO,KAAK;AAC/F,QAAM,WAAW,CAAC,EAAE,OAAO,MAAoC,QAAQ,IAAI,UAAU,OAAO,KAAK;AACjG,SACE,8EACG;AAAA;AAAA,MACC,6CAAC,kCAAM,SAAS,IAAI,UAAoB,UAAoB,WAAW,QAAQ,OAC5E,iBACH;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,YAAY;AAAA,QAClB;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,UAAU,YAAY;AAAA,QACrB,GAAI;AAAA,QACL,OAAO;AAAA,UACL,WAAW,QAAQ;AAAA;AAAA,UAEnB,MAAM,OAAO,eAAW,0BAAW,EAAE,IAAI;AAAA,QAC3C;AAAA,QACA,OAAO,SAAS,UAAU,IAAI,QAAQ;AAAA,QACtC,UAAU,oBAAoB;AAAA,QAC9B,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAkB,kCAAmB,IAAI,CAAC,CAAC,OAAO,QAAQ;AAAA;AAAA,IAC5D;AAAA,IACC,MAAM,QAAQ,OAAO,QAAQ,KAC5B,6CAAC,cAAS,QAAI,0BAAW,EAAE,GACvB,iBAAO,SACN,OAAO,OAAO,WAAW,CAAC,OAAO,SAAS,SAAS,OAAO,OAAO,IAAK,CAAC,OAAO,OAAO,IAAiB,CAAC,CAAC,EACxG,IAAI,CAAC,YAAiB;AACrB,aAAO,6CAAC,YAAqB,OAAO,WAAhB,OAAyB;AAAA,IAC/C,CAAC,GACL;AAAA,KAEJ;AAEJ;;;ACnGA,IAAAC,2BAAyC;AAEzC,kBAAgC;AA0B1B,IAAAC,sBAAA;AAxBN,IAAMC,iBAAY,qCAAW;AAAA,EAC3B,OAAO;AAAA,IACL,WAAW,gCAAO;AAAA,IAClB,cAAc,gCAAO;AAAA,EACvB;AACF,CAAC;AAMc,SAAR,iBAIL,OAAuC;AACvC,QAAM,EAAE,IAAI,aAAa,UAAU,SAAS,IAAI;AAChD,QAAM,UAAUA,WAAU;AAC1B,MAAI,CAAC,aAAa;AAChB,WAAO;AAAA,EACT;AAEA,SACE,6CAAC,iCAAK,OAAK,MAAC,IAAQ,WAAW,QAAQ,OACrC,uDAAC,+BAAgB,aAA0B,UAAoB,UAAoB,GACrF;AAEJ;;;AC/BA,IAAAC,2BAA2D;AAC3D,IAAAC,gBAAkG;AA2B9F,IAAAC,sBAAA;AAzBJ,IAAMC,iBAAY,qCAAW;AAAA,EAC3B,WAAW;AAAA,IACT,iBAAiB,gCAAO;AAAA,IACxB,cAAc,gCAAO;AAAA,IACrB,YAAY;AAAA,MACV,GAAG,oCAAW,YAAY,gCAAO,wBAAwB;AAAA,IAC3D;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AACF,CAAC;AAMc,SAAR,UAA8G;AAAA,EACnH;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,EAAE,gBAAgB,IAAI;AAC5B,QAAM,UAAUA,WAAU;AAC1B,SACE,8CAAC,iCAAK,YAAW,WAAU,WAAW,QAAQ,WAC5C;AAAA,iDAAC,iCAAK,IAAG,MAAK,MAAM,KAAK,WAAW,QAAQ,YACzC,0BAAgB,iCAAmB,WAAW,GACjD;AAAA,IACA,6CAAC,QACE,iBAAO,IAAI,CAAC,OAAO,MAAc;AAChC,aAAO,6CAAC,QAAY,gBAAM,SAAV,CAAgB;AAAA,IAClC,CAAC,GACH;AAAA,KACF;AAEJ;;;ACvCA,IAAAC,2BAAoC;AACpC,IAAAC,sBAAuF;AACvF,IAAAC,gBAAmG;AAe1F,IAAAC,sBAAA;AAPM,SAAR,iBAIL,OAAuC;AACvC,QAAM,EAAE,OAAO,UAAU,UAAU,GAAG,WAAW,IAAI;AAErD,SAAO,6CAAC,mCAAQ,GAAG,YAAY,OAAM,aAAY;AACnD;AAEO,SAAS,WACd,OACA;AACA,QAAM;AAAA,IACJ,UAAU,EAAE,gBAAgB;AAAA,EAC9B,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,gBAAgB,iCAAmB,UAAU;AAAA,MACnD,GAAG;AAAA,MACJ,MAAM,6CAAC,mCAAY;AAAA;AAAA,EACrB;AAEJ;AAEO,SAAS,eACd,OACA;AACA,QAAM;AAAA,IACJ,UAAU,EAAE,gBAAgB;AAAA,EAC9B,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,gBAAgB,iCAAmB,cAAc;AAAA,MACvD,GAAG;AAAA,MACJ,MAAM,6CAAC,4CAAqB;AAAA;AAAA,EAC9B;AAEJ;AAEO,SAAS,aACd,OACA;AACA,QAAM;AAAA,IACJ,UAAU,EAAE,gBAAgB;AAAA,EAC9B,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,gBAAgB,iCAAmB,YAAY;AAAA,MACrD,GAAG;AAAA,MACJ,MAAM,6CAAC,0CAAmB;AAAA;AAAA,EAC5B;AAEJ;AAEO,SAAS,aACd,OACA;AACA,QAAM;AAAA,IACJ,UAAU,EAAE,gBAAgB;AAAA,EAC9B,IAAI;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,gBAAgB,iCAAmB,YAAY;AAAA,MACrD,GAAG;AAAA,MACJ,MAAM,6CAAC,uCAAgB;AAAA;AAAA,EACzB;AAEJ;;;AC9EA,IAAAC,2BAAmC;AACnC,IAAAC,gBAAwF;AAkC5E,IAAAC,sBAAA;AAhCZ,IAAMC,iBAAY,qCAAW;AAAA,EAC3B,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,OAAO;AAAA,EAC7E,UAAU;AAAA,IACR,aAAa,gCAAO;AAAA,IACpB,YAAY,gCAAO;AAAA,IACnB,eAAe,gCAAO;AAAA,EACxB;AAAA,EACA,YAAY,EAAE,OAAO,gCAAO,2BAA2B;AACzD,CAAC;AAMc,SAAR,mBAIL,OAAiC;AACjC,QAAM,EAAE,SAAS,CAAC,GAAG,YAAY,IAAI;AACrC,QAAM,UAAUA,WAAU;AAE1B,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO;AAAA,EACT;AACA,QAAM,SAAK,uBAAQ,WAAW;AAE9B,SACE,6CAAC,QAAG,WAAW,QAAQ,MACpB,iBAAO,IAAI,CAAC,OAAO,MAAc;AAChC,WACE,6CAAC,QAAW,WAAW,QAAQ,UAC7B,uDAAC,WAAM,WAAW,QAAQ,YAAY,IACnC,iBACH,KAHO,CAIT;AAAA,EAEJ,CAAC,GACH;AAEJ;;;AC3CA,IAAAC,2BAAyB;AACzB,IAAAC,gBAAsF;AACtF,IAAAC,eAAyB;AAkBnB,IAAAC,sBAAA;AAZS,SAAR,kBAIL,OAAgC;AAChC,QAAM,EAAE,aAAa,MAAM,WAAW,CAAC,GAAG,SAAS,IAAI;AAEvD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AACA,SACE,6CAAC,qCAAS,QAAI,sBAAO,WAAW,GAC9B,uDAAC,yBAAS,MAAY,UAAoB,UAAoB,GAChE;AAEJ;;;ACvBA,IAAAC,4BAA4B;AAC5B,IAAAC,gBAOO;AA2CI,IAAAC,uBAAA;AApCI,SAAR,cAIL,OAAoC;AACpC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,CAAC;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,gBAAY,4BAAsB,QAAQ;AAChD,QAAMC,gCAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,QAAQ;AACV,WAAO,8CAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAAI,UAAS;AAAA,EACpD;AACA,QAAM,aAAa,UAAU,WAAW;AACxC,SACE;AAAA,IAACA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,yDAAC,mCAAM,iBAAiB,UAAU,SAAS,UAAU,QAAW,UAC7D;AAAA;AAAA,QACA,gBAAgB,kBAAkB,CAAC,aAClC,8CAAC,kCAAK,IAAG,KAAI,OAAK,MAAC,OAAO,EAAE,WAAW,GAAG,cAAc,EAAE,GACvD,uBACH,IACE;AAAA,QACH;AAAA,QACA;AAAA,SACH;AAAA;AAAA,EACF;AAEJ;;;ACpFA,IAAAC,gCAA+B;AAoBzB,IAAAC,uBAAA;AAVS,SAAR,aAA8B,OAA0B;AAC7D,QAAM,EAAE,UAAU,QAAQ,SAAS,MAAM,OAAO,GAAG,KAAK,IAAI;AAC5D,MAAI,WAAW,MAAM;AAEnB,UAAM,SAAS;AAAA,MACb,GAAG;AAAA,MACH,GAAI,OAAO,mCAAK,KAAK,IAAI,IAAI;AAAA,MAC7B,GAAI,UAAU,mCAAK,QAAQ,OAAO,IAAI;AAAA,IACxC;AACA,WACE,8CAAC,0CAAS,OAAO,QAAS,GAAG,MAC1B,UACH;AAAA,EAEJ;AACA,SACE,8CAAC,SAAI,OAAe,GAAG,MACpB,UACH;AAEJ;;;AC9BA,IAAAC,4BAA2B;AAmBvB,IAAAC,uBAAA;AAhBJ,IAAMC,iBAAY,sCAAW;AAAA,EAC3B,MAAM;AAAA,IACJ,SAAS,EAAE,cAAc,MAAM;AAAA,EACjC;AACF,CAAC;AAEc,SAAR,yBAIL,OAA+C;AAC/C,QAAM,EAAE,UAAU,kBAAkB,IAAI;AAExC,QAAM,SAASA,WAAU;AAEzB,SACE,+CAAC,SAAI,WAAW,OAAO,MACrB;AAAA,kDAAC,SAAK,oBAAS;AAAA,IACd;AAAA,KACH;AAEJ;;;ACxBA,IAAAC,gCAAqB;AACrB,IAAAC,iBAWO;AAyCH,IAAAC,uBAAA;AAjCW,SAAR,oBAIL,OAA0C;AAC1C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,gBAAY,6BAAsB,QAAQ;AAChD,QAAM,yBAAqB,4BAA2C,sBAAsB,UAAU,SAAS;AAC/G,QAAM,+BAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,iCAAiC,CAAC,YAAY,CAAC;AAErD,QAAM;AAAA,IACJ,iBAAiB,EAAE,WAAAC,WAAU;AAAA,EAC/B,IAAI,SAAS;AACb,SACE,gFACG;AAAA,aACC;AAAA,MAAC;AAAA;AAAA,QACC,QAAI,wBAAQ,WAAW;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,qBAAqB,iCAAiC,sBAAsB;AAAA;AAAA,IAC9E;AAAA,IAED,eACC;AAAA,MAAC;AAAA;AAAA,QACC,QAAI,8BAAc,WAAW;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IAEF,+CAAC,sCAAK,MAAI,MAAC,QAAM,MAAC,KAAI,cACnB;AAAA,OAAC,iCAAiC,sBAAsB;AAAA,MACxD,WAAW;AAAA,QAAI,CAAC,SAAS;AAAA;AAAA;AAAA,UAGxB,QAAQ,SACN,QAAQ,UAER,8CAAC,sCAAK,QAAM,MAAC,MAAI,MAAa,OAAO,EAAE,cAAc,OAAO,GACzD,kBAAQ,WADY,KAEvB;AAAA;AAAA,MAEJ;AAAA,UACC,0BAAmB,QAAQ,UAAU,QAAQ,KAC5C,8CAAC,sCAAK,QAAO,OACX;AAAA,QAACA;AAAA,QAAA;AAAA,UACC,QAAI,yBAAS,aAAa,KAAK;AAAA,UAC/B,WAAU;AAAA,UACV,SAAS;AAAA,UACT,UAAU,YAAY;AAAA,UACtB;AAAA,UACA;AAAA;AAAA,MACF,GACF;AAAA,OAEJ;AAAA,KACF;AAEJ;;;ACrGA,IAAAC,sBAAwE;AAuB1D,IAAAC,uBAAA;AAXC,SAAR,6BAIL,OAAmD;AACnD,QAAM,EAAE,IAAI,UAAU,OAAO,YAAY,cAAc,IAAI;AAC3D,MAAI,YAAY;AACd,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAM,8CAAC,gDAAyB;AAAA,QAChC,WAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAK;AAAA,QACL,YAAW;AAAA;AAAA,IACb;AAAA,EAEJ,WAAW,eAAe;AACxB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAM,8CAAC,qDAA8B;AAAA,QACrC,WAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAK;AAAA,QACL,YAAW;AAAA;AAAA,IACb;AAAA,EAEJ;AACA,SAAO,8CAAC,QAAG,IAAS,iBAAM;AAC5B;;;AC/CA,IAAAC,iBAAyG;AACzG,IAAAC,4BAA2C;AAoBrC,IAAAC,uBAAA;AAlBN,IAAMC,iBAAY,sCAAW;AAAA,EAC3B,WAAW;AAAA,IACT,WAAW,iCAAO;AAAA,EACpB;AACF,CAAC;AAEc,SAAR,aAIL,EAAE,SAAS,GAA+B;AAC1C,QAAM,UAAUA,WAAU;AAC1B,QAAM,EAAE,YAAY,UAAU,OAAO,kBAAkB,QAAI,uCAAuB,QAAQ;AAC1F,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,SACE,8CAAC,SAAI,WAAW,QAAQ,WACtB,wDAAC,oCAAO,YAAW,WAAU,MAAK,UAAU,GAAG,mBAC5C,sBACH,GACF;AAEJ;;;AC1BA,IAAAC,gCAAqB;AACrB,IAAAC,4BAA0C;AAqBtC,IAAAC,uBAAA;AAlBJ,IAAMC,iBAAY,sCAAW;AAAA,EAC3B,MAAM;AAAA,IACJ,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AACF,CAAC;AAMc,SAAR,WAA+G;AAAA,EACpH;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,UAAUA,WAAU;AAC1B,MAAI,UACF,8CAAC,kCAAK,IAAG,MAAK,MAAM,KAAK,OAAO,EAAE,aAAa,EAAE,GAC9C,iBACH;AAEF,MAAI,qBAAqB;AACvB,cACE,+CAAC,sCACC;AAAA,oDAAC,sCAAK,MAAI,MAAE,mBAAQ;AAAA,MACpB,8CAAC,sCAAK,QAAO,OAAO,+BAAoB;AAAA,OAC1C;AAAA,EAEJ;AACA,SACE,+CAAC,SAAI,IAAQ,WAAW,QAAQ,MAC7B;AAAA;AAAA,IACD,8CAAC,qCAAQ;AAAA,KACX;AAEJ;;;ACvCA,IAAAC,iBAQO;AACP,IAAAC,4BAAyC;AACzC,IAAAC,gCAAqB;AA0Ef,IAAAC,uBAAA;AAxEN,IAAMC,kBAAY,sCAAW;AAAA,EAC3B,OAAO;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACJ,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AAAA,IACX,gBAAgB;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,gBAAgB;AAAA,EAClB;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,EAChB;AACF,CAAC;AAED,IAAM,iBAAiB,CAAC,UAAU,OAAO;AAO1B,SAAR,yBAIL,OAA+C;AAC/C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,WAAW,gBAAgB,IAAI;AACvC,QAAM,UAAUA,YAAU;AAE1B,QAAM,EAAE,cAAAC,cAAa,IAAI,UAAU;AACnC,QAAM,WAAW,gBAAgB,kCAAmB,UAAU,CAAC,KAAK,CAAC;AACrE,QAAM,aAAa,2CAA4B;AAC/C,QAAM,iBAAiB,CAAC,CAAC;AACzB,QAAM,WAA0B;AAAA,IAC9B,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAEA,MAAI,CAAC,YAAY;AACf,UAAM,EAAE,KAAK,IAAI;AAEjB,UAAM,YAAY,eAAe,SAAS,IAAc,IAAI,aAAa,GAAG,QAAQ,IAAI,IAAI,UAAU;AACtG,WACE,8CAAC,SAAI,WAAsB,OACxB,UACH;AAAA,EAEJ;AAEA,SACE,+CAAC,sCAAK,KAAI,cAAa,QAAO,SAA0B,WAAW,YAAY,OAC7E;AAAA,kDAAC,SAAI,WAAW,QAAQ,WACtB,wDAAC,mCAAM,OAAO,eAAe,WAAW,QAAW,UACjD;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,cAAc;AAAA,QACd,UAAU,YAAY;AAAA,QACtB,IAAI,GAAG,EAAE;AAAA,QACT,MAAM,GAAG,EAAE;AAAA,QACX,QAAQ,CAAC,WAAW,kBAAkB;AAAA,QACtC,MAAK;AAAA,QACL,OAAO;AAAA,UACL,WAAW,QAAQ;AAAA,QACrB;AAAA;AAAA,IACF,GACF,GACF;AAAA,IACA,8CAAC,SAAI,WAAW,QAAQ,WAAY,UAAS;AAAA,IAC7C,8CAAC,SAAI,WAAW,iBAAiB,QAAQ,cAAc,QAAQ,UAC7D;AAAA,MAACA;AAAA,MAAA;AAAA,QACC,QAAI,yBAAS,IAAI,QAAQ;AAAA,QACzB,UAAS;AAAA,QACT,WAAU;AAAA,QACV,OAAO;AAAA,QACP,UAAU,YAAY;AAAA,QACtB,SAAS;AAAA,QACT;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,OA7ByC,GAAG,EAAE,MA8BhD;AAEJ;;;ACzGO,SAAS,oBAIqB;AACnC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,IAC1B,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB;AAAA,EACF;AACF;AAEA,IAAO,oBAAQ,kBAAkB;;;ACjDjC,IAAAC,iBASO;AACP,IAAAC,4BAAyB;AA6CrB,IAAAC,uBAAA;AAtCW,SAAR,eAIL,OAA6B;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,+BAA2B;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAIA,QAAM,eAAW,wCAA2B,MAAM;AAElD,QAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAqC,SAAS,OAAO;AAC9F,QAAM,UAAU,CAAC,EAAE,OAAO,MAAoC,OAAO,IAAI,UAAU,OAAO,OAAO;AACjG,QAAM,WAAW,CAAC,EAAE,OAAO,MAAoC,QAAQ,IAAI,UAAU,OAAO,OAAO;AACnG,QAAM,cAAc,QAAQ,eAAe,OAAO;AAElD,SACE,gFACG;AAAA,KAAC,aAAa,eACb;AAAA,MAAC;AAAA;AAAA,QACC,QAAI,8BAAc,EAAE;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,YAAY;AAAA,QAClB;AAAA,QACA,SAAS,OAAO,UAAU,cAAc,QAAQ,QAAQ,KAAK;AAAA,QAC7D;AAAA,QACA,UAAU,YAAY;AAAA,QACtB,WAAW;AAAA,QACX,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,wBAAkB,mCAAmB,EAAE;AAAA;AAAA,IACzC;AAAA,KACF;AAEJ;;;AChFA,IAAAC,iBAYO;AACP,IAAAC,4BAAgC;AAChC,IAAAC,gCAAqB;AA6CjB,IAAAC,uBAAA;AAtCW,SAAR,iBAIL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,EAAE,aAAa,cAAc,QAAQ,WAAW,IAAI;AAC1D,QAAM,mBAAmB,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAE9D,QAAM,YACJ,CAAC,UACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAqC;AAC1D,QAAI,SAAS;AACX,mBAAS,uCAA0B,OAAO,kBAAkB,WAAW,CAAC;AAAA,IAC1E,OAAO;AACL,mBAAS,yCAA4B,OAAO,kBAAkB,WAAW,CAAC;AAAA,IAC5E;AAAA,EACF;AAEF,QAAM,UAAU,CAAC,EAAE,OAAO,MACxB,OAAO,QAAI,yCAA4B,UAAU,OAAO,OAAO,aAAa,UAAU,CAAC;AACzF,QAAM,WAAW,CAAC,EAAE,OAAO,MACzB,QAAQ,QAAI,yCAA4B,UAAU,OAAO,OAAO,aAAa,UAAU,CAAC;AAE1F,SACE,gFACG;AAAA;AAAA,MACC,8CAAC,mCAAM,UAAoB,SAAS,IACjC,mBAAS,QACZ;AAAA,MACA;AAAA,IACF;AAAA,IACA,8CAAC,sCAAK,QAAQ,CAAC,QACZ,gBAAM,QAAQ,WAAW,KACxB,YAAY,IAAI,CAAC,QAAQ,UAAkB;AACzC,YAAM,cAAU,sCAAyB,OAAO,OAAO,gBAAgB;AACvE,YAAM,eAAe,MAAM,QAAQ,YAAY,KAAK,aAAa,QAAQ,OAAO,KAAK,MAAM;AAC3F,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,QAAI,yBAAS,IAAI,KAAK;AAAA,UACtB,MAAM,YAAY;AAAA,UAClB,OAAO,OAAO;AAAA,UACd;AAAA,UACA,UAAU,YAAY,gBAAgB;AAAA,UACtC,WAAW,aAAa,UAAU;AAAA,UAClC,UAAU,UAAU,KAAK;AAAA,UACzB,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,wBAAkB,mCAAmB,EAAE;AAAA;AAAA,QAVlC;AAAA,MAWP;AAAA,IAEJ,CAAC,GACL;AAAA,KACF;AAEJ;;;AC1FA,IAAAC,iBAUO;AACP,IAAAC,4BAAiE;AAiC7D,IAAAC,uBAAA;AA1BW,SAAR,YAAgH;AAAA,EACrH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,EAAE,aAAa,cAAc,YAAY,OAAO,IAAI;AAE1D,QAAM,YAAY,CAAC,GAAQ,SACzB,aAAS,yCAA4B,KAAK,OAAO,aAAa,UAAU,CAAC;AAC3E,QAAM,UAAU,CAAC,EAAE,OAAO,MACxB,OAAO,QAAI,yCAA4B,UAAU,OAAO,OAAO,aAAa,UAAU,CAAC;AACzF,QAAM,WAAW,CAAC,EAAE,OAAO,MACzB,QAAQ,QAAI,yCAA4B,UAAU,OAAO,OAAO,aAAa,UAAU,CAAC;AAE1F,QAAM,oBAAgB,yCAA4B,OAAO,WAAW,KAAK;AAEzE,SACE,gFACG;AAAA;AAAA,MACC,8CAAC,mCAAM,UAAoB,SAAS,IACjC,mBAAS,QACZ;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,YAAY;AAAA,QAClB,QAAQ,SAAS,eAAe;AAAA,QAChC,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,wBAAkB,mCAAmB,EAAE;AAAA,QAEtC,gBAAM,QAAQ,WAAW,KACxB,YAAY,IAAI,CAAC,QAAQ,UAAU;AACjC,gBAAM,eAAe,MAAM,QAAQ,YAAY,KAAK,aAAa,QAAQ,OAAO,KAAK,MAAM;AAC3F,iBACE;AAAA,YAAC;AAAA;AAAA,cACC,QAAI,yBAAS,IAAI,KAAK;AAAA,cACtB,OAAO,OAAO;AAAA,cACd,OAAO,OAAO,KAAK;AAAA,cAEnB,UAAU,YAAY,gBAAgB;AAAA;AAAA,YADjC;AAAA,UAEP;AAAA,QAEJ,CAAC;AAAA;AAAA,IACL;AAAA,KACF;AAEJ;;;AC7EA,IAAAC,iBAQO;AACP,IAAAC,4BAAkD;AAqB9C,IAAAC,uBAAA;AAdW,SAAR,YACL,OACA;AACA,QAAM,EAAE,OAAO,UAAU,UAAU,QAAQ,SAAS,SAAS,QAAQ,UAAU,UAAU,OAAO,WAAW,GAAG,IAC5G;AACF,QAAM,cAAc,EAAE,OAAO,OAAO,IAAI,MAAM,IAAI,OAAG,0BAAa,MAAM,EAAE;AAE1E,QAAM,YAAY,CAAC,GAAQ,SAA6B;AACtD,aAAS,KAAK,SAAS,QAAQ,UAAU;AAAA,EAC3C;AACA,QAAM,UAAU,CAAC,EAAE,OAAO,MAAoC,OAAO,IAAI,UAAU,OAAO,KAAK;AAC/F,QAAM,WAAW,CAAC,EAAE,OAAO,MAAoC,QAAQ,IAAI,UAAU,OAAO,KAAK;AAEjG,SACE,gFACG;AAAA;AAAA,MACC,8CAAC,mCAAM,UAAoB,SAAS,IACjC,mBAAS,QACZ;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,YAAY;AAAA,QACtB,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACR,GAAG;AAAA,QACJ,wBAAkB,mCAAmB,EAAE;AAAA;AAAA,IACzC;AAAA,KACF;AAEJ;;;AChDA,IAAAC,iBASO;AACP,IAAAC,4BAAwC;AA+DlC,IAAAC,uBAAA;AA5DN,SAAS,SAAS,MAA0B,UAAmB;AAC7D,MAAI,UAAU;AACZ,WAAO,KAAK;AAAA,EACd;AACA,SAAO,KAAK,gBAAgB,CAAC;AAC/B;AAOA,SAAS,aAAgG;AAAA,EACvG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,EAAE,aAAa,cAAc,YAAY,YAAY,IAAI;AAE/D,QAAM,sBAAkB,yCAA4B,OAAO,aAAa,QAAQ;AAChF,MAAI,yBAAmC,CAAC;AAExC,MAAI,OAAO,oBAAoB,UAAU;AACvC,6BAAyB,CAAC,eAAe;AAAA,EAC3C,WAAW,MAAM,QAAQ,eAAe,GAAG;AACzC,6BAAyB,gBAAgB,IAAI,CAAC,UAAU,OAAO,KAAK,CAAC;AAAA,EACvE;AAEA,QAAM,gBAAgB,uBACnB,IAAI,CAAC,UAAW,cAAc,YAAY,OAAO,KAAK,CAAC,EAAE,QAAQ,MAAU,EAC3E,KAAK,IAAI;AAEZ,QAAM,UAAU,MAAM,OAAO,IAAI,eAAe;AAChD,QAAM,WAAW,MAAM,QAAQ,IAAI,eAAe;AAClD,QAAM,YAAY,CAAC,GAAQ,SAA6B;AACtD,UAAM,WAAW,SAAS,MAAM,QAAQ;AACxC,WAAO,aAAS,yCAA4B,UAAU,aAAa,WAAW,CAAC;AAAA,EACjF;AACA,QAAM,wBAAwB,CAAC,YAAY,OAAO,YAAY;AAE9D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAO,2BAAW,OAAO,SAAS;AAAA,MAClC,iBAAiB,UAAU,SAAS,UAAU;AAAA,MAC9C;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAM,YAAY;AAAA,UAClB,aAAa;AAAA,UACb,WAAU;AAAA,UACV,OAAO;AAAA,UACP,UAAU,YAAY;AAAA,UACtB,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,wBAAkB,mCAAmB,EAAE;AAAA,UAEtC;AAAA,qCAAyB,8CAAC,oCAAO,OAAM,IAAI,yBAAe,IAAG;AAAA,YAC7D,MAAM,QAAQ,WAAW,KACxB,YAAY,IAAI,CAAC,EAAE,OAAAC,QAAO,OAAAC,OAAM,GAAG,MAAM;AACvC,oBAAMC,YAAW,gBAAgB,aAAa,QAAQF,MAAK,MAAM;AACjE,qBACE,8CAAC,oCAAe,OAAO,OAAO,CAAC,GAAG,UAAUE,WACzC,UAAAD,UADU,CAEb;AAAA,YAEJ,CAAC;AAAA;AAAA;AAAA,MACL;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,uBAAQ;;;ACtGf,IAAAE,4BAA4C;AAC5C,IAAAC,iBAOO;AAkDH,IAAAC,uBAAA;AA/CJ,IAAMC,kBAAY,sCAAW;AAAA,EAC3B,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,cAAc;AAAA,EAChB;AACF,CAAC;AAMc,SAAR,eAIL,OAA6B;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,UAAUA,YAAU;AAC1B,QAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAAC,OAAM,EAAE,MACrC,SAASA,WAAU,KAAK,QAAQ,aAAaA,MAAK;AACpD,QAAM,UAAU,CAAC,EAAE,OAAO,MAAuC,OAAO,IAAI,UAAU,OAAO,KAAK;AAClG,QAAM,WAAW,CAAC,EAAE,OAAO,MAAuC,QAAQ,IAAI,UAAU,OAAO,KAAK;AAEpG,MAAI,OAAwB;AAC5B,MAAI,OAAO,QAAQ,SAAS,YAAY,OAAO,QAAQ,SAAS,UAAU;AACxE,WAAO,QAAQ;AAAA,EACjB;AAEA,SACE,gFACG;AAAA;AAAA,MACC,8CAAC,mCAAM,SAAS,IAAI,UAAoB,UAAoB,WAAW,QAAQ,OAC5E,iBACH;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,YAAY;AAAA,QAClB;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA,UAAU,YAAY;AAAA,QACtB,OAAO,SAAS,UAAU,IAAI,QAAQ;AAAA,QACtC,UAAU,oBAAoB;AAAA,QAC9B,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,wBAAkB,mCAAmB,IAAI,CAAC,CAAC,OAAO,QAAQ;AAAA,QAC1D;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;;;ACzEO,SAAS,kBAIkB;AAChC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,kBAAQ,gBAAgB;;;ACjBxB,SAAS,gBAIS;AACvB,SAAO;AAAA,IACL,WAAW,kBAA2B;AAAA,IACtC,SAAS,gBAAyB;AAAA,EACpC;AACF;AAEA,IAAO,gBAAQ,cAAc;;;A1BXtB,SAAS,eAIuB;AACrC,aAAO,wBAAmB,cAAuB,CAAC;AACpD;AAEA,IAAO,qBAAQ,aAAa;;;A2Bd5B,IAAAC,4BAAqF;AACrF,mBAAmC;AAQ7B,IAAAC,uBAAA;AANN,IAAM,gBAAgB,CAAC,UAAkE;AACvF,QAAM,EAAE,UAAU,eAAe,IAAI;AACrC,QAAM,eAAW,sBAAQ,UAAM,6CAAkB,cAAc,GAAG,CAAC,cAAc,CAAC;AAElF,SACE,8CAAC,8CAAiB,UAAoB,gBACpC,wDAAC,4CAAe,gBAAgC,OAAO,2CACpD,UACH,GACF;AAEJ;AAEO,IAAM,kCACX,CAAC,UACD,CAAC,EAAE,SAAS,MAAW;AACrB,SAAO,8CAAC,iBAAc,gBAAgB,UAAW,gBAAM,UAAS;AAClE;;;A5BZF,IAAO,gBAAQ;",
6
- "names": ["import_core", "import_utils", "import_react_components", "import_jsx_runtime", "import_react_components", "import_react_migration_v0_v9", "import_utils", "import_jsx_runtime", "useStyles", "AddButton", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "value", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "import_react_components", "import_react_icons", "import_utils", "import_jsx_runtime", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "import_react_components", "import_utils", "import_core", "import_jsx_runtime", "import_react_components", "import_utils", "import_jsx_runtime", "WrapIfAdditionalTemplate", "import_react_migration_v0_v9", "import_jsx_runtime", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_migration_v0_v9", "import_utils", "import_jsx_runtime", "AddButton", "import_react_icons", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_migration_v0_v9", "import_react_components", "import_jsx_runtime", "useStyles", "import_utils", "import_react_components", "import_react_migration_v0_v9", "import_jsx_runtime", "useStyles", "RemoveButton", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_react_migration_v0_v9", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "value", "label", "disabled", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "value", "import_react_components", "import_jsx_runtime"]
4
+ "sourcesContent": ["import FluentForm from './FluentForm';\n\nexport { default as Form, generateForm } from './FluentForm';\nexport { default as Templates, generateTemplates } from './Templates';\nexport { default as Theme, generateTheme } from './Theme';\nexport { default as Widgets, generateWidgets } from './Widgets';\nexport { __createFluentUIRCFrameProvider } from './FluentUIRCFrameProvider';\n\nexport default FluentForm;\n", "import { ComponentType } from 'react';\nimport { FormProps, withTheme } from '@rjsf/core';\n\nimport { generateTheme } from '../Theme';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateForm<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ComponentType<FormProps<T, S, F>> {\n return withTheme<T, S, F>(generateTheme<T, S, F>());\n}\n\nexport default generateForm();\n", "import {\n ArrayFieldItemTemplateProps,\n FormContextType,\n getTemplate,\n getUiOptions,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\nimport { makeStyles } from '@fluentui/react-components';\n\nconst useStyles = makeStyles({\n arrayFieldItem: {\n '> .form-group': {\n width: '100%',\n },\n },\n});\n\n/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.\n *\n * @param props - The `ArrayFieldItemTemplateProps` props for the component\n */\nexport default function ArrayFieldItemTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldItemTemplateProps<T, S, F>) {\n const classes = useStyles();\n const { children, buttonsProps, displayLabel, hasToolbar, uiSchema, registry } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldItemButtonsTemplate = getTemplate<'ArrayFieldItemButtonsTemplate', T, S, F>(\n 'ArrayFieldItemButtonsTemplate',\n registry,\n uiOptions,\n );\n\n return (\n <Flex vAlign='start'>\n <Flex fill className={classes.arrayFieldItem}>\n {children}\n </Flex>\n {hasToolbar && (\n <Flex style={{ marginLeft: '8px', marginTop: displayLabel ? '26px' : 0 }}>\n <ArrayFieldItemButtonsTemplate {...buttonsProps} />\n </Flex>\n )}\n </Flex>\n );\n}\n", "import { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\nimport { Button } from '@fluentui/react-components';\nimport { AddRegular } from '@fluentui/react-icons';\n\nexport default function AddButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n uiSchema,\n registry,\n ...props\n}: IconButtonProps<T, S, F>) {\n const { translateString } = registry;\n return <Button title={translateString(TranslatableString.AddItemButton)} {...props} icon={<AddRegular />} />;\n}\n", "import { makeStyles, shorthands } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\nimport {\n getTemplate,\n getUiOptions,\n ArrayFieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n buttonId,\n} from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n arrayItemList: {\n ...shorthands.gap('12px'),\n },\n});\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldTemplateProps` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const {\n canAdd,\n disabled,\n fieldPathId,\n uiSchema,\n items,\n optionalDataControl,\n onAddClick,\n readonly,\n registry,\n required,\n schema,\n title,\n } = props;\n const classes = useStyles();\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions,\n );\n const showOptionalDataControlInTitle = !readonly && !disabled;\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n <ArrayFieldTitleTemplate\n fieldPathId={fieldPathId}\n title={uiOptions.title || title}\n schema={schema}\n uiSchema={uiSchema}\n required={required}\n registry={registry}\n optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}\n />\n <ArrayFieldDescriptionTemplate\n fieldPathId={fieldPathId}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n <Flex column key={`array-item-list-${fieldPathId.$id}`} className={classes.arrayItemList}>\n {!showOptionalDataControlInTitle ? optionalDataControl : undefined}\n {items}\n {canAdd && (\n <Flex hAlign='end'>\n <AddButton\n id={buttonId(fieldPathId, 'add')}\n className='rjsf-array-item-add'\n onClick={onAddClick}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Flex>\n )}\n </Flex>\n </>\n );\n}\n", "import { ChangeEvent, FocusEvent, MouseEvent, useCallback } from 'react';\nimport { Input, InputProps, Label, makeStyles } from '@fluentui/react-components';\nimport {\n ariaDescribedByIds,\n BaseInputTemplateProps,\n examplesId,\n getInputProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n labelValue,\n} from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n input: {\n width: '100%',\n },\n label: {\n paddingTop: '2px',\n paddingBottom: '2px',\n marginBottom: '2px',\n },\n});\n\n/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.\n * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.\n * It can be customized/overridden for other themes or individual implementations as needed.\n *\n * @param props - The `WidgetProps` for this template\n */\nexport default function BaseInputTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: BaseInputTemplateProps<T, S, F>) {\n const {\n id,\n htmlName,\n placeholder,\n required,\n readonly,\n disabled,\n type,\n value,\n label,\n hideLabel,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n registry,\n } = props;\n const { ClearButton } = registry.templates.ButtonTemplates;\n const classes = useStyles();\n const inputProps = getInputProps<T, S, F>(schema, type, options);\n // Now we need to pull out the step, min, max into an inner `inputProps` for fluentui-rc\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.value);\n const _onClear = useCallback(\n (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n onChange(options.emptyValue ?? '');\n },\n [onChange, options.emptyValue],\n );\n return (\n <>\n {labelValue(\n <Label htmlFor={id} required={required} disabled={disabled} className={classes.label}>\n {label}\n </Label>,\n hideLabel,\n )}\n <Input\n id={id}\n name={htmlName || id}\n placeholder={placeholder}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n {...(inputProps as InputProps)}\n input={{\n className: classes.input,\n // Due to Fluent UI this does not work correctly\n list: schema.examples ? examplesId(id) : undefined,\n }}\n value={value || value === 0 ? value : ''}\n onChange={onChangeOverride || _onChange}\n onFocus={_onFocus}\n onBlur={_onBlur}\n aria-describedby={ariaDescribedByIds(id, !!schema.examples)}\n />\n {options.allowClearTextInputs && !readonly && !disabled && value && (\n <ClearButton registry={registry} onClick={_onClear} />\n )}\n {Array.isArray(schema.examples) && (\n <datalist id={examplesId(id)}>\n {(schema.examples as string[])\n .concat(schema.default && !schema.examples.includes(schema.default) ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n )}\n </>\n );\n}\n", "import { Text, makeStyles, tokens } from '@fluentui/react-components';\nimport { DescriptionFieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { RichDescription } from '@rjsf/core';\n\nconst useStyles = makeStyles({\n label: {\n marginTop: tokens.spacingVerticalS,\n marginBottom: tokens.spacingVerticalM,\n },\n});\n\n/** The `DescriptionField` is the template to use to render the description of a field\n *\n * @param props - The `DescriptionFieldProps` for this component\n */\nexport default function DescriptionField<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: DescriptionFieldProps<T, S, F>) {\n const { id, description, registry, uiSchema } = props;\n const classes = useStyles();\n if (!description) {\n return null;\n }\n\n return (\n <Text block id={id} className={classes.label}>\n <RichDescription description={description} registry={registry} uiSchema={uiSchema} />\n </Text>\n );\n}\n", "import { Card, Text, makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { ErrorListProps, FormContextType, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n errorCard: {\n backgroundColor: tokens.colorStatusDangerBackground1,\n marginBottom: tokens.spacingVerticalL,\n '&::after': {\n ...shorthands.borderColor(tokens.colorStatusDangerBorder1),\n },\n },\n errorTitle: {\n marginTop: 0,\n marginBottom: 0,\n },\n});\n\n/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`\n *\n * @param props - The `ErrorListProps` for this component\n */\nexport default function ErrorList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n errors,\n registry,\n}: ErrorListProps<T, S, F>) {\n const { translateString } = registry;\n const classes = useStyles();\n return (\n <Card appearance='outline' className={classes.errorCard}>\n <Text as='h6' size={400} className={classes.errorTitle}>\n {translateString(TranslatableString.ErrorsLabel)}\n </Text>\n <ul>\n {errors.map((error, i: number) => {\n return <li key={i}>{error.stack}</li>;\n })}\n </ul>\n </Card>\n );\n}\n", "import { Button, ButtonProps } from '@fluentui/react-components';\nimport {\n ArrowSortUpRegular,\n ArrowSortDownRegular,\n CopyRegular,\n SubtractRegular,\n DismissRegular,\n} from '@fluentui/react-icons';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nexport type FluentIconButtonProps<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n> = IconButtonProps<T, S, F> & Omit<ButtonProps, 'onChange' | 'as'>;\n\nexport default function FluentIconButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FluentIconButtonProps<T, S, F>) {\n const { color, uiSchema, registry, ...otherProps } = props;\n\n return <Button {...otherProps} color='secondary' />;\n}\n\nexport function CopyButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.CopyButton)}\n {...props}\n icon={<CopyRegular />}\n />\n );\n}\n\nexport function MoveDownButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n icon={<ArrowSortDownRegular />}\n />\n );\n}\n\nexport function MoveUpButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n icon={<ArrowSortUpRegular />}\n />\n );\n}\n\nexport function RemoveButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.RemoveButton)}\n {...props}\n icon={<SubtractRegular />}\n />\n );\n}\n\nexport function ClearButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FluentIconButtonProps<T, S, F>,\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <FluentIconButton<T, S, F>\n title={translateString(TranslatableString.ClearButton)}\n {...props}\n icon={<DismissRegular />}\n />\n );\n}\n", "import { makeStyles, tokens } from '@fluentui/react-components';\nimport { errorId, FieldErrorProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n list: { marginTop: 0, marginBottom: 0, paddingLeft: 0, listStyleType: 'none' },\n listItem: {\n paddingLeft: tokens.spacingHorizontalL,\n paddingTop: tokens.spacingVerticalXS,\n paddingBottom: tokens.spacingVerticalXS,\n },\n errorLabel: { color: tokens.colorPaletteRedForeground1 },\n});\n\n/** The `FieldErrorTemplate` component renders the errors local to the particular field\n *\n * @param props - The `FieldErrorProps` for the errors being rendered\n */\nexport default function FieldErrorTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldErrorProps<T, S, F>) {\n const { errors = [], fieldPathId } = props;\n const classes = useStyles();\n\n if (errors.length === 0) {\n return null;\n }\n const id = errorId(fieldPathId);\n\n return (\n <ul className={classes.list}>\n {errors.map((error, i: number) => {\n return (\n <li key={i} className={classes.listItem}>\n <small className={classes.errorLabel} id={id}>\n {error}\n </small>\n </li>\n );\n })}\n </ul>\n );\n}\n", "import { Caption1 } from '@fluentui/react-components';\nimport { helpId, FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { RichHelp } from '@rjsf/core';\n\n/** The `FieldHelpTemplate` component renders any help desired for a field\n *\n * @param props - The `FieldHelpProps` to be rendered\n */\nexport default function FieldHelpTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldHelpProps<T, S, F>) {\n const { fieldPathId, help, uiSchema = {}, registry } = props;\n\n if (!help) {\n return null;\n }\n return (\n <Caption1 id={helpId(fieldPathId)}>\n <RichHelp help={help} registry={registry} uiSchema={uiSchema} />\n </Caption1>\n );\n}\n", "import { Field, Text } from '@fluentui/react-components';\nimport {\n FieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n getTemplate,\n getUiOptions,\n} from '@rjsf/utils';\n\n/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field\n * content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.\n *\n * @param props - The `FieldTemplateProps` for this component\n */\nexport default function FieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: FieldTemplateProps<T, S, F>) {\n const {\n id,\n children,\n classNames,\n style,\n disabled,\n displayLabel,\n hidden,\n label,\n onKeyRename,\n onKeyRenameBlur,\n onRemoveProperty,\n readonly,\n required,\n rawErrors = [],\n errors,\n help,\n description,\n rawDescription,\n schema,\n uiSchema,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>(\n 'WrapIfAdditionalTemplate',\n registry,\n uiOptions,\n );\n\n if (hidden) {\n return <div style={{ display: 'none' }}>{children}</div>;\n }\n const isCheckbox = uiOptions.widget === 'checkbox';\n return (\n <WrapIfAdditionalTemplate\n classNames={classNames}\n style={style}\n disabled={disabled}\n id={id}\n label={label}\n displayLabel={displayLabel}\n rawDescription={rawDescription}\n onKeyRename={onKeyRename}\n onKeyRenameBlur={onKeyRenameBlur}\n onRemoveProperty={onRemoveProperty}\n readonly={readonly}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n >\n <Field validationState={rawErrors.length ? 'error' : undefined} required={required}>\n {children}\n {displayLabel && rawDescription && !isCheckbox ? (\n <Text as='p' block style={{ marginTop: 0, marginBottom: 0 }}>\n {description}\n </Text>\n ) : null}\n {errors}\n {help}\n </Field>\n </WrapIfAdditionalTemplate>\n );\n}\n", "import { GridShim, grid } from '@fluentui/react-migration-v0-v9';\nimport { GridTemplateProps } from '@rjsf/utils';\n\n/** Renders a `GridTemplate` for fluentui-rc, which is expecting the column sizing information coming in via the\n * `style` by the caller, which are spread directly on the `GridShim` if `columns` or `rows` are provided. Otherwise,\n * the `style` is added to a simple grid. This was done because `fluentui-rc` uses the CSS Grid which defines all of\n * the column/row/grid information via style.\n *\n * @param props - The GridTemplateProps, including the extra props containing the fluentui-rc grid positioning details\n */\nexport default function GridTemplate(props: GridTemplateProps) {\n const { children, column, columns, rows, style, ...rest } = props;\n if (columns || rows) {\n // Use the `grid` rows/columns functions to generate the additional grid styling\n const styles = {\n ...style,\n ...(rows ? grid.rows(rows) : undefined),\n ...(columns ? grid.columns(columns) : undefined),\n };\n return (\n <GridShim style={styles} {...rest}>\n {children}\n </GridShim>\n );\n }\n return (\n <div style={style} {...rest}>\n {children}\n </div>\n );\n}\n", "import { makeStyles } from '@fluentui/react-components';\nimport { FormContextType, MultiSchemaFieldTemplateProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n root: {\n '> div': { marginBottom: '4px' },\n },\n});\n\nexport default function MultiSchemaFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: MultiSchemaFieldTemplateProps<T, S, F>) {\n const { selector, optionSchemaField } = props;\n\n const styles = useStyles();\n\n return (\n <div className={styles.root}>\n <div>{selector}</div>\n {optionSchemaField}\n </div>\n );\n}\n", "import { Flex } from '@fluentui/react-migration-v0-v9';\nimport {\n FormContextType,\n ObjectFieldTemplateProps,\n RJSFSchema,\n StrictRJSFSchema,\n canExpand,\n descriptionId,\n getTemplate,\n getUiOptions,\n titleId,\n buttonId,\n} from '@rjsf/utils';\n\n/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the\n * title and description if available. If the object is expandable, then an `AddButton` is also rendered after all\n * the properties.\n *\n * @param props - The `ObjectFieldTemplateProps` for this component\n */\nexport default function ObjectFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ObjectFieldTemplateProps<T, S, F>) {\n const {\n description,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n fieldPathId,\n schema,\n formData,\n optionalDataControl,\n onAddProperty,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n uiOptions,\n );\n const showOptionalDataControlInTitle = !readonly && !disabled;\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n {title && (\n <TitleFieldTemplate\n id={titleId(fieldPathId)}\n title={title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n optionalDataControl={showOptionalDataControlInTitle ? optionalDataControl : undefined}\n />\n )}\n {description && (\n <DescriptionFieldTemplate\n id={descriptionId(fieldPathId)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Flex fill column gap='gap.medium'>\n {!showOptionalDataControlInTitle ? optionalDataControl : undefined}\n {properties.map((element, index) =>\n // Remove the <Grid> if the inner element is hidden as the <Grid>\n // itself would otherwise still take up space.\n element.hidden ? (\n element.content\n ) : (\n <Flex column fill key={index} style={{ marginBottom: '10px' }}>\n {element.content}\n </Flex>\n ),\n )}\n {canExpand<T, S, F>(schema, uiSchema, formData) && (\n <Flex hAlign='end'>\n <AddButton\n id={buttonId(fieldPathId, 'add')}\n className='rjsf-object-property-expand'\n onClick={onAddProperty}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Flex>\n )}\n </Flex>\n </>\n );\n}\n", "import { FormContextType, OptionalDataControlsTemplateProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { AddSquareMultipleRegular, SubtractSquareMultipleRegular } from '@fluentui/react-icons';\n\nimport FluentIconButton from '../IconButton';\n\n/** The OptionalDataControlsTemplate renders one of three different states. If\n * there is an `onAddClick()` function, it renders the \"Add\" button. If there is\n * an `onRemoveClick()` function, it renders the \"Remove\" button. Otherwise it\n * renders the \"No data found\" section. All of them use the `label` as either\n * the `title` of buttons or simply outputting it.\n *\n * @param props - The `OptionalDataControlsTemplateProps` for the template\n */\nexport default function OptionalDataControlsTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: OptionalDataControlsTemplateProps<T, S, F>) {\n const { id, registry, label, onAddClick, onRemoveClick } = props;\n if (onAddClick) {\n return (\n <FluentIconButton\n id={id}\n registry={registry}\n icon={<AddSquareMultipleRegular />}\n className='rjsf-add-optional-data'\n onClick={onAddClick}\n title={label}\n size='small'\n appearance='secondary'\n />\n );\n } else if (onRemoveClick) {\n return (\n <FluentIconButton\n id={id}\n registry={registry}\n icon={<SubtractSquareMultipleRegular />}\n className='rjsf-remove-optional-data'\n onClick={onRemoveClick}\n title={label}\n size='small'\n appearance='secondary'\n />\n );\n }\n return <em id={id}>{label}</em>;\n}\n", "import { FormContextType, getSubmitButtonOptions, RJSFSchema, StrictRJSFSchema, SubmitButtonProps } from '@rjsf/utils';\nimport { Button, makeStyles, tokens } from '@fluentui/react-components';\n\nconst useStyles = makeStyles({\n buttonRow: {\n marginTop: tokens.spacingVerticalL,\n },\n});\n\nexport default function SubmitButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({ uiSchema }: SubmitButtonProps<T, S, F>) {\n const classes = useStyles();\n const { submitText, norender, props: submitButtonProps } = getSubmitButtonOptions(uiSchema);\n if (norender) {\n return null;\n }\n return (\n <div className={classes.buttonRow}>\n <Button appearance='primary' type='submit' {...submitButtonProps}>\n {submitText}\n </Button>\n </div>\n );\n}\n", "import { Flex } from '@fluentui/react-migration-v0-v9';\nimport { Text, Divider, makeStyles } from '@fluentui/react-components';\nimport { FormContextType, TitleFieldProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nconst useStyles = makeStyles({\n root: {\n marginTop: '8px',\n marginBottom: '8px',\n },\n});\n\n/** The `TitleField` is the template to use to render the title of a field\n *\n * @param props - The `TitleFieldProps` for this component\n */\nexport default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n title,\n optionalDataControl,\n}: TitleFieldProps<T, S, F>) {\n const classes = useStyles();\n let heading = (\n <Text as='h5' size={600} style={{ marginBlock: 0 }}>\n {title}\n </Text>\n );\n if (optionalDataControl) {\n heading = (\n <Flex>\n <Flex fill>{heading}</Flex>\n <Flex hAlign='end'>{optionalDataControl}</Flex>\n </Flex>\n );\n }\n return (\n <div id={id} className={classes.root}>\n {heading}\n <Divider />\n </div>\n );\n}\n", "import { CSSProperties } from 'react';\nimport {\n ADDITIONAL_PROPERTY_FLAG,\n buttonId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\nimport { Field, Input, makeStyles } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\n\nconst useStyles = makeStyles({\n input: {\n width: '100%',\n },\n grow: {\n flexGrow: 1,\n },\n halfWidth: {\n width: '46%',\n },\n alignEnd: {\n alignSelf: 'flex-end',\n justifyContent: 'flex-end',\n },\n alignCenter: {\n alignSelf: 'center',\n marginTop: '-14px',\n justifyContent: 'flex-end',\n },\n label: {\n marginBottom: '4px',\n },\n});\n\nconst containerTypes = ['object', 'array'];\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WrapIfAdditionalTemplateProps<T, S, F>) {\n const {\n children,\n classNames,\n style,\n disabled,\n id,\n label,\n displayLabel,\n onRemoveProperty,\n onKeyRenameBlur,\n rawDescription,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n } = props;\n const { templates, translateString } = registry;\n const classes = useStyles();\n // Button templates are not overridden in the uiSchema\n const { RemoveButton } = templates.ButtonTemplates;\n const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n const hasDescription = !!rawDescription;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n };\n\n if (!additional) {\n const { type } = schema;\n // Flex grow only non container classes\n const className = containerTypes.includes(type as string) ? classNames : `${classes.grow} ${classNames}`;\n return (\n <div className={className} style={style}>\n {children}\n </div>\n );\n }\n\n return (\n <Flex gap='gap.medium' vAlign='start' key={`${id}-key`} className={classNames} style={style}>\n <div className={classes.halfWidth}>\n <Field label={displayLabel ? keyLabel : undefined} required={required}>\n <Input\n required={required}\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? onKeyRenameBlur : undefined}\n type='text'\n input={{\n className: classes.input,\n }}\n />\n </Field>\n </div>\n <div className={classes.halfWidth}>{children}</div>\n <div className={hasDescription ? classes.alignCenter : classes.alignEnd}>\n <RemoveButton\n id={buttonId(id, 'remove')}\n iconType='default'\n className='rjsf-object-property-remove'\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onRemoveProperty}\n uiSchema={uiSchema}\n registry={registry}\n />\n </div>\n </Flex>\n );\n}\n", "import ArrayFieldItemTemplate from '../ArrayFieldItemTemplate';\nimport AddButton from '../AddButton';\nimport ArrayFieldTemplate from '../ArrayFieldTemplate';\nimport BaseInputTemplate from '../BaseInputTemplate/BaseInputTemplate';\nimport DescriptionField from '../DescriptionField';\nimport ErrorList from '../ErrorList';\nimport { CopyButton, MoveDownButton, MoveUpButton, RemoveButton, ClearButton } from '../IconButton';\nimport FieldErrorTemplate from '../FieldErrorTemplate';\nimport FieldHelpTemplate from '../FieldHelpTemplate';\nimport FieldTemplate from '../FieldTemplate';\nimport GridTemplate from '../GridTemplate';\nimport MultiSchemaFieldTemplate from '../MultiSchemaFieldTemplate';\nimport ObjectFieldTemplate from '../ObjectFieldTemplate';\nimport OptionalDataControlsTemplate from '../OptionalDataControlsTemplate';\nimport SubmitButton from '../SubmitButton';\nimport TitleField from '../TitleField';\nimport WrapIfAdditionalTemplate from '../WrapIfAdditionalTemplate';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@rjsf/utils';\n\nexport function generateTemplates<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): Partial<TemplatesType<T, S, F>> {\n return {\n ArrayFieldItemTemplate,\n ArrayFieldTemplate,\n BaseInputTemplate,\n ButtonTemplates: {\n CopyButton,\n AddButton,\n MoveDownButton,\n MoveUpButton,\n RemoveButton,\n SubmitButton,\n ClearButton,\n },\n DescriptionFieldTemplate: DescriptionField,\n ErrorListTemplate: ErrorList,\n FieldErrorTemplate,\n FieldHelpTemplate,\n FieldTemplate,\n GridTemplate,\n MultiSchemaFieldTemplate,\n ObjectFieldTemplate,\n OptionalDataControlsTemplate,\n TitleFieldTemplate: TitleField,\n WrapIfAdditionalTemplate,\n };\n}\n\nexport default generateTemplates();\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n descriptionId,\n getTemplate,\n schemaRequiresTrueValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Checkbox } from '@fluentui/react-components';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n * It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n const {\n schema,\n id,\n htmlName,\n value,\n disabled,\n readonly,\n label = '',\n hideLabel,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n registry,\n options,\n uiSchema,\n } = props;\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n options,\n );\n // Because an unchecked checkbox will cause html5 validation to fail, only add\n // the \"required\" attribute if the field value must be \"true\", due to the\n // \"const\" or \"enum\" keywords\n const required = schemaRequiresTrueValue<S>(schema);\n\n const _onChange = ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => onChange(checked);\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.checked);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.checked);\n const description = options.description ?? schema.description;\n\n return (\n <>\n {!hideLabel && description && (\n <DescriptionFieldTemplate\n id={descriptionId(id)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Checkbox\n id={id}\n name={htmlName || id}\n label={label}\n checked={typeof value === 'undefined' ? false : Boolean(value)}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n />\n </>\n );\n}\n", "import { ChangeEvent, FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n enumOptionsDeselectValue,\n enumOptionsIsSelected,\n enumOptionsSelectValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n WidgetProps,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\nimport { Label, Checkbox } from '@fluentui/react-components';\nimport { Flex } from '@fluentui/react-migration-v0-v9';\n\n/** The `CheckboxesWidget` is a widget for rendering checkbox groups.\n * It is typically used to represent an array of enums.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxesWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({\n label,\n hideLabel,\n id,\n htmlName,\n disabled,\n options,\n value,\n autofocus,\n readonly,\n required,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, inline, emptyValue } = options;\n const checkboxesValues = Array.isArray(value) ? value : [value];\n\n const _onChange =\n (index: number) =>\n ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => {\n if (checked) {\n onChange(enumOptionsSelectValue<S>(index, checkboxesValues, enumOptions));\n } else {\n onChange(enumOptionsDeselectValue<S>(index, checkboxesValues, enumOptions));\n }\n };\n\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <Flex column={!inline}>\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index: number) => {\n const checked = enumOptionsIsSelected<S>(option.value, checkboxesValues);\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n return (\n <Checkbox\n key={index}\n id={optionId(id, index)}\n name={htmlName || id}\n label={option.label}\n checked={checked}\n disabled={disabled || itemDisabled || readonly}\n autoFocus={autofocus && index === 0}\n onChange={_onChange(index)}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n />\n );\n })}\n </Flex>\n </>\n );\n}\n", "import { FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Label, Radio, RadioGroup, RadioGroupOnChangeData } from '@fluentui/react-components';\n\n/** The `RadioWidget` is a widget for rendering a radio group.\n * It is typically used with a string property constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n htmlName,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n hideLabel,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue, inline } = options;\n\n const _onChange = (_: any, data: RadioGroupOnChangeData) =>\n onChange(enumOptionsValueForIndex<S>(data.value, enumOptions, emptyValue));\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(target && target.value, enumOptions, emptyValue));\n\n const selectedIndex = enumOptionsIndexForValue<S>(value, enumOptions) ?? undefined;\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <RadioGroup\n id={id}\n name={htmlName || id}\n layout={inline ? 'horizontal' : 'vertical'}\n value={selectedIndex as string | undefined}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index) => {\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n return (\n <Radio\n id={optionId(id, index)}\n label={option.label}\n value={String(index)}\n key={index}\n disabled={disabled || itemDisabled || readonly}\n />\n );\n })}\n </RadioGroup>\n </>\n );\n}\n", "import { FocusEvent } from 'react';\nimport {\n ariaDescribedByIds,\n labelValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n rangeSpec,\n} from '@rjsf/utils';\nimport { Label, Slider, SliderOnChangeData } from '@fluentui/react-components';\n\n/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result\n * in a div, with the value along side it.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: WidgetProps<T, S, F>,\n) {\n const { value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, hideLabel, id } =\n props;\n const sliderProps = { value, label, id, name: id, ...rangeSpec<S>(schema) };\n\n const _onChange = (_: any, data: SliderOnChangeData) => {\n onChange(data.value ?? options.emptyValue);\n };\n const _onBlur = ({ target }: FocusEvent<HTMLInputElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLInputElement>) => onFocus(id, target && target.value);\n\n return (\n <>\n {labelValue(\n <Label required={required} htmlFor={id}>\n {label || undefined}\n </Label>,\n hideLabel,\n )}\n <Slider\n disabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n {...sliderProps}\n aria-describedby={ariaDescribedByIds(id)}\n />\n </>\n );\n}\n", "import {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n FormContextType,\n labelValue,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\nimport { Dropdown, Field, Option } from '@fluentui/react-components';\nimport { OptionOnSelectData } from '@fluentui/react-combobox';\n\nfunction getValue(data: OptionOnSelectData, multiple: boolean) {\n if (multiple) {\n return data.selectedOptions;\n }\n return data.selectedOptions[0];\n}\n\n/** The `SelectWidget` is a widget for rendering dropdowns.\n * It is typically used with string properties constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nfunction SelectWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n htmlName,\n options,\n label,\n hideLabel,\n value,\n required,\n disabled,\n readonly,\n multiple = false,\n autofocus = false,\n rawErrors = [],\n onChange,\n onBlur,\n onFocus,\n schema,\n placeholder,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue: optEmptyVal } = options;\n\n const selectedIndexes = enumOptionsIndexForValue<S>(value, enumOptions, multiple);\n let selectedIndexesAsArray: string[] = [];\n\n if (typeof selectedIndexes === 'string') {\n selectedIndexesAsArray = [selectedIndexes];\n } else if (Array.isArray(selectedIndexes)) {\n selectedIndexesAsArray = selectedIndexes.map((index) => String(index));\n }\n\n const dropdownValue = selectedIndexesAsArray\n .map((index) => (enumOptions ? enumOptions[Number(index)].label : undefined))\n .join(', ');\n\n const _onBlur = () => onBlur(id, selectedIndexes);\n const _onFocus = () => onFocus(id, selectedIndexes);\n const _onChange = (_: any, data: OptionOnSelectData) => {\n const newValue = getValue(data, multiple);\n return onChange(enumOptionsValueForIndex<S>(newValue, enumOptions, optEmptyVal));\n };\n const showPlaceholderOption = !multiple && schema.default === undefined;\n\n return (\n <Field\n label={labelValue(label, hideLabel)}\n validationState={rawErrors.length ? 'error' : undefined}\n required={required}\n >\n <Dropdown\n id={id}\n name={htmlName || id}\n multiselect={multiple}\n className='form-control'\n value={dropdownValue}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onBlur={_onBlur}\n onFocus={_onFocus}\n onOptionSelect={_onChange}\n selectedOptions={selectedIndexesAsArray}\n aria-describedby={ariaDescribedByIds(id)}\n >\n {showPlaceholderOption && <Option value=''>{placeholder || ''}</Option>}\n {Array.isArray(enumOptions) &&\n enumOptions.map(({ value, label }, i) => {\n const disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;\n return (\n <Option key={i} value={String(i)} disabled={disabled}>\n {label}\n </Option>\n );\n })}\n </Dropdown>\n </Field>\n );\n}\n\nexport default SelectWidget;\n", "import { Label, Textarea, makeStyles } from '@fluentui/react-components';\nimport {\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n ariaDescribedByIds,\n labelValue,\n} from '@rjsf/utils';\nimport { ChangeEvent, FocusEvent } from 'react';\n\nconst useStyles = makeStyles({\n label: {\n paddingTop: '2px',\n paddingBottom: '2px',\n marginBottom: '2px',\n },\n});\n\n/** The `TextareaWidget` is a widget for rendering input fields as textarea.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function TextareaWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n const {\n id,\n htmlName,\n placeholder,\n required,\n readonly,\n disabled,\n value,\n label,\n hideLabel,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n } = props;\n const classes = useStyles();\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLTextAreaElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target }: FocusEvent<HTMLTextAreaElement>) => onBlur(id, target && target.value);\n const _onFocus = ({ target }: FocusEvent<HTMLTextAreaElement>) => onFocus(id, target && target.value);\n\n let rows: string | number = 5;\n if (typeof options.rows === 'string' || typeof options.rows === 'number') {\n rows = options.rows;\n }\n\n return (\n <>\n {labelValue(\n <Label htmlFor={id} required={required} disabled={disabled} className={classes.label}>\n {label}\n </Label>,\n hideLabel,\n )}\n <Textarea\n id={id}\n name={htmlName || id}\n placeholder={placeholder}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n value={value || value === 0 ? value : ''}\n onChange={onChangeOverride || _onChange}\n onFocus={_onFocus}\n onBlur={_onBlur}\n aria-describedby={ariaDescribedByIds(id, !!schema.examples)}\n rows={rows}\n />\n </>\n );\n}\n", "import CheckboxWidget from '../CheckboxWidget/CheckboxWidget';\nimport CheckboxesWidget from '../CheckboxesWidget/CheckboxesWidget';\nimport RadioWidget from '../RadioWidget/RadioWidget';\nimport RangeWidget from '../RangeWidget/RangeWidget';\nimport SelectWidget from '../SelectWidget/SelectWidget';\nimport TextareaWidget from '../TextareaWidget/TextareaWidget';\nimport { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateWidgets<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): RegistryWidgetsType<T, S, F> {\n return {\n CheckboxWidget,\n CheckboxesWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n };\n}\n\nexport default generateWidgets();\n", "import { ThemeProps } from '@rjsf/core';\n\nimport { generateTemplates } from '../Templates';\nimport { generateWidgets } from '../Widgets';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nexport function generateTheme<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(): ThemeProps<T, S, F> {\n return {\n templates: generateTemplates<T, S, F>(),\n widgets: generateWidgets<T, S, F>(),\n };\n}\n\nexport default generateTheme();\n", "import { FluentProvider, RendererProvider, createDOMRenderer, teamsLightTheme } from '@fluentui/react-components';\nimport { ReactNode, useMemo } from 'react';\n\nconst FluentWrapper = (props: { children: ReactNode; targetDocument?: HTMLDocument }) => {\n const { children, targetDocument } = props;\n const renderer = useMemo(() => createDOMRenderer(targetDocument), [targetDocument]);\n\n return (\n <RendererProvider renderer={renderer} targetDocument={targetDocument}>\n <FluentProvider targetDocument={targetDocument} theme={teamsLightTheme}>\n {children}\n </FluentProvider>\n </RendererProvider>\n );\n};\n\nexport const __createFluentUIRCFrameProvider =\n (props: any) =>\n ({ document }: any) => {\n return <FluentWrapper targetDocument={document}>{props.children}</FluentWrapper>;\n };\n"],
5
+ "mappings": "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",
6
+ "names": ["import_core", "import_utils", "import_react_components", "import_jsx_runtime", "import_react_components", "import_react_migration_v0_v9", "import_utils", "import_jsx_runtime", "useStyles", "AddButton", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "ClearButton", "value", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "import_react_components", "import_react_icons", "import_utils", "import_jsx_runtime", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "import_react_components", "import_utils", "import_core", "import_jsx_runtime", "import_react_components", "import_utils", "import_jsx_runtime", "WrapIfAdditionalTemplate", "import_react_migration_v0_v9", "import_jsx_runtime", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_migration_v0_v9", "import_utils", "import_jsx_runtime", "AddButton", "import_react_icons", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "useStyles", "import_react_migration_v0_v9", "import_react_components", "import_jsx_runtime", "useStyles", "import_utils", "import_react_components", "import_react_migration_v0_v9", "import_jsx_runtime", "useStyles", "RemoveButton", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_react_migration_v0_v9", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "import_utils", "import_react_components", "import_jsx_runtime", "value", "label", "disabled", "import_react_components", "import_utils", "import_jsx_runtime", "useStyles", "value", "import_react_components", "import_react", "import_jsx_runtime"]
7
7
  }
package/dist/index.esm.js CHANGED
@@ -132,6 +132,7 @@ function ArrayFieldTemplate(props) {
132
132
  }
133
133
 
134
134
  // src/BaseInputTemplate/BaseInputTemplate.tsx
135
+ import { useCallback } from "react";
135
136
  import { Input, Label, makeStyles as makeStyles3 } from "@fluentui/react-components";
136
137
  import {
137
138
  ariaDescribedByIds,
@@ -168,13 +169,23 @@ function BaseInputTemplate(props) {
168
169
  onFocus,
169
170
  autofocus,
170
171
  options,
171
- schema
172
+ schema,
173
+ registry
172
174
  } = props;
175
+ const { ClearButton: ClearButton2 } = registry.templates.ButtonTemplates;
173
176
  const classes = useStyles3();
174
177
  const inputProps = getInputProps(schema, type, options);
175
178
  const _onChange = ({ target: { value: value2 } }) => onChange(value2 === "" ? options.emptyValue : value2);
176
179
  const _onBlur = ({ target }) => onBlur(id, target && target.value);
177
180
  const _onFocus = ({ target }) => onFocus(id, target && target.value);
181
+ const _onClear = useCallback(
182
+ (e) => {
183
+ e.preventDefault();
184
+ e.stopPropagation();
185
+ onChange(options.emptyValue ?? "");
186
+ },
187
+ [onChange, options.emptyValue]
188
+ );
178
189
  return /* @__PURE__ */ jsxs3(Fragment2, { children: [
179
190
  labelValue(
180
191
  /* @__PURE__ */ jsx4(Label, { htmlFor: id, required, disabled, className: classes.label, children: label }),
@@ -202,6 +213,7 @@ function BaseInputTemplate(props) {
202
213
  "aria-describedby": ariaDescribedByIds(id, !!schema.examples)
203
214
  }
204
215
  ),
216
+ options.allowClearTextInputs && !readonly && !disabled && value && /* @__PURE__ */ jsx4(ClearButton2, { registry, onClick: _onClear }),
205
217
  Array.isArray(schema.examples) && /* @__PURE__ */ jsx4("datalist", { id: examplesId(id), children: schema.examples.concat(schema.default && !schema.examples.includes(schema.default) ? [schema.default] : []).map((example) => {
206
218
  return /* @__PURE__ */ jsx4("option", { value: example }, example);
207
219
  }) })
@@ -260,7 +272,13 @@ function ErrorList({
260
272
 
261
273
  // src/IconButton/IconButton.tsx
262
274
  import { Button as Button2 } from "@fluentui/react-components";
263
- import { ArrowSortUpRegular, ArrowSortDownRegular, CopyRegular, SubtractRegular } from "@fluentui/react-icons";
275
+ import {
276
+ ArrowSortUpRegular,
277
+ ArrowSortDownRegular,
278
+ CopyRegular,
279
+ SubtractRegular,
280
+ DismissRegular
281
+ } from "@fluentui/react-icons";
264
282
  import { TranslatableString as TranslatableString3 } from "@rjsf/utils";
265
283
  import { jsx as jsx7 } from "react/jsx-runtime";
266
284
  function FluentIconButton(props) {
@@ -319,6 +337,19 @@ function RemoveButton(props) {
319
337
  }
320
338
  );
321
339
  }
340
+ function ClearButton(props) {
341
+ const {
342
+ registry: { translateString }
343
+ } = props;
344
+ return /* @__PURE__ */ jsx7(
345
+ FluentIconButton,
346
+ {
347
+ title: translateString(TranslatableString3.ClearButton),
348
+ ...props,
349
+ icon: /* @__PURE__ */ jsx7(DismissRegular, {})
350
+ }
351
+ );
352
+ }
322
353
 
323
354
  // src/FieldErrorTemplate/FieldErrorTemplate.tsx
324
355
  import { makeStyles as makeStyles6, tokens as tokens3 } from "@fluentui/react-components";
@@ -742,7 +773,8 @@ function generateTemplates() {
742
773
  MoveDownButton,
743
774
  MoveUpButton,
744
775
  RemoveButton,
745
- SubmitButton
776
+ SubmitButton,
777
+ ClearButton
746
778
  },
747
779
  DescriptionFieldTemplate: DescriptionField,
748
780
  ErrorListTemplate: ErrorList,