@rjsf/core 6.0.2 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/core.umd.js +61 -38
  2. package/dist/index.cjs +293 -263
  3. package/dist/index.cjs.map +4 -4
  4. package/dist/index.esm.js +171 -138
  5. package/dist/index.esm.js.map +4 -4
  6. package/lib/components/RichHelp.d.ts +20 -0
  7. package/lib/components/RichHelp.d.ts.map +1 -0
  8. package/lib/components/RichHelp.js +17 -0
  9. package/lib/components/fields/ArrayField.d.ts.map +1 -1
  10. package/lib/components/fields/ArrayField.js +6 -1
  11. package/lib/components/fields/StringField.d.ts.map +1 -1
  12. package/lib/components/fields/StringField.js +3 -3
  13. package/lib/components/templates/ArrayFieldItemTemplate.d.ts.map +1 -1
  14. package/lib/components/templates/ArrayFieldItemTemplate.js +5 -5
  15. package/lib/components/templates/ButtonTemplates/AddButton.d.ts.map +1 -1
  16. package/lib/components/templates/ButtonTemplates/AddButton.js +1 -1
  17. package/lib/components/templates/FieldHelpTemplate.d.ts.map +1 -1
  18. package/lib/components/templates/FieldHelpTemplate.js +3 -6
  19. package/lib/components/templates/WrapIfAdditionalTemplate.d.ts.map +1 -1
  20. package/lib/components/templates/WrapIfAdditionalTemplate.js +4 -2
  21. package/lib/index.d.ts +3 -2
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/index.js +2 -1
  24. package/lib/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +1 -1
  26. package/src/components/RichHelp.tsx +46 -0
  27. package/src/components/fields/ArrayField.tsx +7 -0
  28. package/src/components/fields/StringField.tsx +3 -2
  29. package/src/components/templates/ArrayFieldItemTemplate.tsx +8 -11
  30. package/src/components/templates/ButtonTemplates/AddButton.tsx +3 -1
  31. package/src/components/templates/FieldHelpTemplate.tsx +5 -11
  32. package/src/components/templates/WrapIfAdditionalTemplate.tsx +7 -3
  33. package/src/index.ts +3 -2
package/dist/index.esm.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  ErrorSchemaBuilder,
7
7
  getChangedFields,
8
8
  getTemplate as getTemplate28,
9
- getUiOptions as getUiOptions20,
9
+ getUiOptions as getUiOptions21,
10
10
  isObject as isObject6,
11
11
  mergeObjects,
12
12
  NAME_KEY,
@@ -304,7 +304,9 @@ function ArrayFieldItem(props) {
304
304
  handleReorderItems
305
305
  } = props;
306
306
  const {
307
- fields: { ArraySchemaField, SchemaField: SchemaField2 }
307
+ schemaUtils,
308
+ fields: { ArraySchemaField, SchemaField: SchemaField2 },
309
+ globalUiOptions
308
310
  } = registry;
309
311
  const fieldPathId = useDeepCompareMemo(itemFieldPathId);
310
312
  const ItemSchemaField = ArraySchemaField || SchemaField2;
@@ -313,6 +315,9 @@ function ArrayFieldItem(props) {
313
315
  registry,
314
316
  uiOptions
315
317
  );
318
+ const displayLabel = schemaUtils.getDisplayLabel(itemSchema, itemUiSchema, globalUiOptions);
319
+ const { description } = getUiOptions(itemUiSchema);
320
+ const hasDescription = !!description || !!itemSchema.description;
316
321
  const { orderable = true, removable = true, copyable = false } = uiOptions;
317
322
  const has4 = {
318
323
  moveUp: orderable && canMoveUp,
@@ -406,7 +411,9 @@ function ArrayFieldItem(props) {
406
411
  registry,
407
412
  schema: itemSchema,
408
413
  uiSchema: itemUiSchema,
409
- parentUiSchema
414
+ parentUiSchema,
415
+ displayLabel,
416
+ hasDescription
410
417
  };
411
418
  return /* @__PURE__ */ jsx(ArrayFieldItemTemplate2, { ...templateProps });
412
419
  }
@@ -2548,9 +2555,10 @@ function StringField(props) {
2548
2555
  onFocus,
2549
2556
  registry,
2550
2557
  rawErrors,
2551
- hideError
2558
+ hideError,
2559
+ title
2552
2560
  } = props;
2553
- const { title, format } = schema;
2561
+ const { title: schemaTitle, format } = schema;
2554
2562
  const { widgets: widgets2, schemaUtils, globalUiOptions } = registry;
2555
2563
  const enumOptions = schemaUtils.isSelect(schema) ? optionsList4(schema, uiSchema) : void 0;
2556
2564
  let defaultWidget = enumOptions ? "select" : "text";
@@ -2559,7 +2567,7 @@ function StringField(props) {
2559
2567
  }
2560
2568
  const { widget = defaultWidget, placeholder = "", title: uiTitle, ...options } = getUiOptions11(uiSchema);
2561
2569
  const displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema, globalUiOptions);
2562
- const label = uiTitle ?? title ?? name;
2570
+ const label = uiTitle ?? title ?? schemaTitle ?? name;
2563
2571
  const Widget = getWidget5(schema, widget, widgets2);
2564
2572
  const onWidgetChange = useCallback6(
2565
2573
  (value, errorSchema, id) => {
@@ -2668,7 +2676,7 @@ import {
2668
2676
  } from "@rjsf/utils";
2669
2677
  import { jsx as jsx14, jsxs as jsxs3 } from "react/jsx-runtime";
2670
2678
  function ArrayFieldItemTemplate(props) {
2671
- const { children, className, buttonsProps, hasToolbar, registry, uiSchema } = props;
2679
+ const { children, className, buttonsProps, displayLabel, hasDescription, hasToolbar, registry, uiSchema } = props;
2672
2680
  const uiOptions = getUiOptions13(uiSchema);
2673
2681
  const ArrayFieldItemButtonsTemplate2 = getTemplate11(
2674
2682
  "ArrayFieldItemButtonsTemplate",
@@ -2681,19 +2689,12 @@ function ArrayFieldItemTemplate(props) {
2681
2689
  paddingRight: 6,
2682
2690
  fontWeight: "bold"
2683
2691
  };
2684
- return /* @__PURE__ */ jsxs3("div", { className, children: [
2685
- /* @__PURE__ */ jsx14("div", { className: hasToolbar ? "col-xs-9" : "col-xs-12", children }),
2686
- hasToolbar && /* @__PURE__ */ jsx14("div", { className: "col-xs-3 array-item-toolbox", children: /* @__PURE__ */ jsx14(
2687
- "div",
2688
- {
2689
- className: "btn-group",
2690
- style: {
2691
- display: "flex",
2692
- justifyContent: "space-around"
2693
- },
2694
- children: /* @__PURE__ */ jsx14(ArrayFieldItemButtonsTemplate2, { ...buttonsProps, style: btnStyle })
2695
- }
2696
- ) })
2692
+ const margin = hasDescription ? 31 : 9;
2693
+ const containerStyle = { display: "flex", alignItems: displayLabel ? "center" : "baseline" };
2694
+ const toolbarStyle = { display: "flex", justifyContent: "flex-end", marginTop: displayLabel ? `${margin}px` : 0 };
2695
+ return /* @__PURE__ */ jsxs3("div", { className, style: containerStyle, children: [
2696
+ /* @__PURE__ */ jsx14("div", { className: hasToolbar ? "col-xs-9 col-md-10 col-xl-11" : "col-xs-12", children }),
2697
+ hasToolbar && /* @__PURE__ */ jsx14("div", { className: "col-xs-3 col-md-2 col-xl-1 array-item-toolbox", children: /* @__PURE__ */ jsx14("div", { className: "btn-group", style: toolbarStyle, children: /* @__PURE__ */ jsx14(ArrayFieldItemButtonsTemplate2, { ...buttonsProps, style: btnStyle }) }) })
2697
2698
  ] });
2698
2699
  }
2699
2700
 
@@ -3018,19 +3019,25 @@ function AddButton({
3018
3019
  registry
3019
3020
  }) {
3020
3021
  const { translateString } = registry;
3021
- return /* @__PURE__ */ jsx21("div", { className: "row", children: /* @__PURE__ */ jsx21("p", { className: `col-xs-3 col-xs-offset-9 text-right ${className}`, children: /* @__PURE__ */ jsx21(
3022
- IconButton,
3022
+ return /* @__PURE__ */ jsx21("div", { className: "row", children: /* @__PURE__ */ jsx21(
3023
+ "p",
3023
3024
  {
3024
- id,
3025
- iconType: "info",
3026
- icon: "plus",
3027
- className: "btn-add col-xs-12",
3028
- title: translateString(TranslatableString8.AddButton),
3029
- onClick,
3030
- disabled,
3031
- registry
3025
+ className: `col-xs-4 col-sm-2 col-lg-1 col-xs-offset-8 col-sm-offset-10 col-lg-offset-11 text-right ${className}`,
3026
+ children: /* @__PURE__ */ jsx21(
3027
+ IconButton,
3028
+ {
3029
+ id,
3030
+ iconType: "info",
3031
+ icon: "plus",
3032
+ className: "btn-add col-xs-12",
3033
+ title: translateString(TranslatableString8.AddButton),
3034
+ onClick,
3035
+ disabled,
3036
+ registry
3037
+ }
3038
+ )
3032
3039
  }
3033
- ) }) });
3040
+ ) });
3034
3041
  }
3035
3042
 
3036
3043
  // src/components/templates/ButtonTemplates/index.ts
@@ -3174,32 +3181,52 @@ function FieldErrorTemplate(props) {
3174
3181
 
3175
3182
  // src/components/templates/FieldHelpTemplate.tsx
3176
3183
  import { helpId } from "@rjsf/utils";
3184
+
3185
+ // src/components/RichHelp.tsx
3186
+ import {
3187
+ getTestIds as getTestIds3,
3188
+ getUiOptions as getUiOptions18
3189
+ } from "@rjsf/utils";
3190
+ import Markdown3 from "markdown-to-jsx";
3177
3191
  import { jsx as jsx29 } from "react/jsx-runtime";
3192
+ var TEST_IDS2 = getTestIds3();
3193
+ function RichHelp({
3194
+ help,
3195
+ registry,
3196
+ uiSchema = {}
3197
+ }) {
3198
+ const { globalUiOptions } = registry;
3199
+ const uiOptions = getUiOptions18(uiSchema, globalUiOptions);
3200
+ if (uiOptions.enableMarkdownInHelp && typeof help === "string") {
3201
+ return /* @__PURE__ */ jsx29(Markdown3, { options: { disableParsingRawHTML: true }, "data-testid": TEST_IDS2.markdown, children: help });
3202
+ }
3203
+ return help;
3204
+ }
3205
+ RichHelp.TEST_IDS = TEST_IDS2;
3206
+
3207
+ // src/components/templates/FieldHelpTemplate.tsx
3208
+ import { jsx as jsx30 } from "react/jsx-runtime";
3178
3209
  function FieldHelpTemplate(props) {
3179
- const { fieldPathId, help } = props;
3210
+ const { fieldPathId, help, uiSchema, registry } = props;
3180
3211
  if (!help) {
3181
3212
  return null;
3182
3213
  }
3183
- const id = helpId(fieldPathId);
3184
- if (typeof help === "string") {
3185
- return /* @__PURE__ */ jsx29("p", { id, className: "help-block", children: help });
3186
- }
3187
- return /* @__PURE__ */ jsx29("div", { id, className: "help-block", children: help });
3214
+ return /* @__PURE__ */ jsx30("div", { id: helpId(fieldPathId), className: "help-block", children: /* @__PURE__ */ jsx30(RichHelp, { help, registry, uiSchema }) });
3188
3215
  }
3189
3216
 
3190
3217
  // src/components/templates/GridTemplate.tsx
3191
- import { jsx as jsx30 } from "react/jsx-runtime";
3218
+ import { jsx as jsx31 } from "react/jsx-runtime";
3192
3219
  function GridTemplate(props) {
3193
3220
  const { children, column, className, ...rest } = props;
3194
- return /* @__PURE__ */ jsx30("div", { className, ...rest, children });
3221
+ return /* @__PURE__ */ jsx31("div", { className, ...rest, children });
3195
3222
  }
3196
3223
 
3197
3224
  // src/components/templates/MultiSchemaFieldTemplate.tsx
3198
- import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
3225
+ import { jsx as jsx32, jsxs as jsxs10 } from "react/jsx-runtime";
3199
3226
  function MultiSchemaFieldTemplate(props) {
3200
3227
  const { selector, optionSchemaField } = props;
3201
3228
  return /* @__PURE__ */ jsxs10("div", { className: "panel panel-default panel-body", children: [
3202
- /* @__PURE__ */ jsx31("div", { className: "form-group", children: selector }),
3229
+ /* @__PURE__ */ jsx32("div", { className: "form-group", children: selector }),
3203
3230
  optionSchemaField
3204
3231
  ] });
3205
3232
  }
@@ -3209,11 +3236,11 @@ import {
3209
3236
  canExpand,
3210
3237
  descriptionId as descriptionId3,
3211
3238
  getTemplate as getTemplate16,
3212
- getUiOptions as getUiOptions18,
3239
+ getUiOptions as getUiOptions19,
3213
3240
  titleId as titleId3,
3214
3241
  buttonId as buttonId3
3215
3242
  } from "@rjsf/utils";
3216
- import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
3243
+ import { jsx as jsx33, jsxs as jsxs11 } from "react/jsx-runtime";
3217
3244
  function ObjectFieldTemplate(props) {
3218
3245
  const {
3219
3246
  className,
@@ -3231,7 +3258,7 @@ function ObjectFieldTemplate(props) {
3231
3258
  title,
3232
3259
  uiSchema
3233
3260
  } = props;
3234
- const options = getUiOptions18(uiSchema);
3261
+ const options = getUiOptions19(uiSchema);
3235
3262
  const TitleFieldTemplate = getTemplate16("TitleFieldTemplate", registry, options);
3236
3263
  const DescriptionFieldTemplate = getTemplate16(
3237
3264
  "DescriptionFieldTemplate",
@@ -3243,7 +3270,7 @@ function ObjectFieldTemplate(props) {
3243
3270
  ButtonTemplates: { AddButton: AddButton2 }
3244
3271
  } = registry.templates;
3245
3272
  return /* @__PURE__ */ jsxs11("fieldset", { className, id: fieldPathId.$id, children: [
3246
- title && /* @__PURE__ */ jsx32(
3273
+ title && /* @__PURE__ */ jsx33(
3247
3274
  TitleFieldTemplate,
3248
3275
  {
3249
3276
  id: titleId3(fieldPathId),
@@ -3255,7 +3282,7 @@ function ObjectFieldTemplate(props) {
3255
3282
  optionalDataControl: showOptionalDataControlInTitle ? optionalDataControl : void 0
3256
3283
  }
3257
3284
  ),
3258
- description && /* @__PURE__ */ jsx32(
3285
+ description && /* @__PURE__ */ jsx33(
3259
3286
  DescriptionFieldTemplate,
3260
3287
  {
3261
3288
  id: descriptionId3(fieldPathId),
@@ -3267,7 +3294,7 @@ function ObjectFieldTemplate(props) {
3267
3294
  ),
3268
3295
  !showOptionalDataControlInTitle ? optionalDataControl : void 0,
3269
3296
  properties.map((prop) => prop.content),
3270
- canExpand(schema, uiSchema, formData) && /* @__PURE__ */ jsx32(
3297
+ canExpand(schema, uiSchema, formData) && /* @__PURE__ */ jsx33(
3271
3298
  AddButton2,
3272
3299
  {
3273
3300
  id: buttonId3(fieldPathId, "add"),
@@ -3282,11 +3309,11 @@ function ObjectFieldTemplate(props) {
3282
3309
  }
3283
3310
 
3284
3311
  // src/components/templates/OptionalDataControlsTemplate.tsx
3285
- import { jsx as jsx33 } from "react/jsx-runtime";
3312
+ import { jsx as jsx34 } from "react/jsx-runtime";
3286
3313
  function OptionalDataControlsTemplate(props) {
3287
3314
  const { id, registry, label, onAddClick, onRemoveClick } = props;
3288
3315
  if (onAddClick) {
3289
- return /* @__PURE__ */ jsx33(
3316
+ return /* @__PURE__ */ jsx34(
3290
3317
  IconButton,
3291
3318
  {
3292
3319
  id,
@@ -3298,7 +3325,7 @@ function OptionalDataControlsTemplate(props) {
3298
3325
  }
3299
3326
  );
3300
3327
  } else if (onRemoveClick) {
3301
- return /* @__PURE__ */ jsx33(
3328
+ return /* @__PURE__ */ jsx34(
3302
3329
  IconButton,
3303
3330
  {
3304
3331
  id,
@@ -3310,25 +3337,25 @@ function OptionalDataControlsTemplate(props) {
3310
3337
  }
3311
3338
  );
3312
3339
  }
3313
- return /* @__PURE__ */ jsx33("em", { id, children: label });
3340
+ return /* @__PURE__ */ jsx34("em", { id, children: label });
3314
3341
  }
3315
3342
 
3316
3343
  // src/components/templates/TitleField.tsx
3317
- import { jsx as jsx34, jsxs as jsxs12 } from "react/jsx-runtime";
3344
+ import { jsx as jsx35, jsxs as jsxs12 } from "react/jsx-runtime";
3318
3345
  var REQUIRED_FIELD_SYMBOL2 = "*";
3319
3346
  function TitleField(props) {
3320
3347
  const { id, title, required, optionalDataControl } = props;
3321
3348
  return /* @__PURE__ */ jsxs12("legend", { id, children: [
3322
3349
  title,
3323
- required && /* @__PURE__ */ jsx34("span", { className: "required", children: REQUIRED_FIELD_SYMBOL2 }),
3324
- optionalDataControl && /* @__PURE__ */ jsx34("span", { className: "pull-right", style: { marginBottom: "2px" }, children: optionalDataControl })
3350
+ required && /* @__PURE__ */ jsx35("span", { className: "required", children: REQUIRED_FIELD_SYMBOL2 }),
3351
+ optionalDataControl && /* @__PURE__ */ jsx35("span", { className: "pull-right", style: { marginBottom: "2px" }, children: optionalDataControl })
3325
3352
  ] });
3326
3353
  }
3327
3354
 
3328
3355
  // src/components/templates/UnsupportedField.tsx
3329
3356
  import { TranslatableString as TranslatableString10 } from "@rjsf/utils";
3330
- import Markdown3 from "markdown-to-jsx";
3331
- import { jsx as jsx35, jsxs as jsxs13 } from "react/jsx-runtime";
3357
+ import Markdown4 from "markdown-to-jsx";
3358
+ import { jsx as jsx36, jsxs as jsxs13 } from "react/jsx-runtime";
3332
3359
  function UnsupportedField(props) {
3333
3360
  const { schema, fieldPathId, reason, registry } = props;
3334
3361
  const { translateString } = registry;
@@ -3343,8 +3370,8 @@ function UnsupportedField(props) {
3343
3370
  translateParams.push(reason);
3344
3371
  }
3345
3372
  return /* @__PURE__ */ jsxs13("div", { className: "unsupported-field", children: [
3346
- /* @__PURE__ */ jsx35("p", { children: /* @__PURE__ */ jsx35(Markdown3, { options: { disableParsingRawHTML: true }, children: translateString(translateEnum, translateParams) }) }),
3347
- schema && /* @__PURE__ */ jsx35("pre", { children: JSON.stringify(schema, null, 2) })
3373
+ /* @__PURE__ */ jsx36("p", { children: /* @__PURE__ */ jsx36(Markdown4, { options: { disableParsingRawHTML: true }, children: translateString(translateEnum, translateParams) }) }),
3374
+ schema && /* @__PURE__ */ jsx36("pre", { children: JSON.stringify(schema, null, 2) })
3348
3375
  ] });
3349
3376
  }
3350
3377
  var UnsupportedField_default = UnsupportedField;
@@ -3355,16 +3382,18 @@ import {
3355
3382
  buttonId as buttonId4,
3356
3383
  TranslatableString as TranslatableString11
3357
3384
  } from "@rjsf/utils";
3358
- import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
3385
+ import { jsx as jsx37, jsxs as jsxs14 } from "react/jsx-runtime";
3359
3386
  function WrapIfAdditionalTemplate(props) {
3360
3387
  const {
3361
3388
  id,
3362
3389
  classNames,
3363
3390
  style,
3364
3391
  disabled,
3392
+ displayLabel,
3365
3393
  label,
3366
3394
  onKeyRenameBlur,
3367
3395
  onRemoveProperty,
3396
+ rawDescription,
3368
3397
  readonly,
3369
3398
  required,
3370
3399
  schema,
@@ -3378,18 +3407,21 @@ function WrapIfAdditionalTemplate(props) {
3378
3407
  const { RemoveButton: RemoveButton2 } = templates2.ButtonTemplates;
3379
3408
  const keyLabel = translateString(TranslatableString11.KeyLabel, [label]);
3380
3409
  const additional = ADDITIONAL_PROPERTY_FLAG3 in schema;
3410
+ const hasDescription = !!rawDescription;
3381
3411
  const classNamesList = ["form-group", classNames];
3382
3412
  if (!hideError && rawErrors && rawErrors.length > 0) {
3383
3413
  classNamesList.push("has-error has-danger");
3384
3414
  }
3385
3415
  const uiClassNames = classNamesList.join(" ").trim();
3386
3416
  if (!additional) {
3387
- return /* @__PURE__ */ jsx36("div", { className: uiClassNames, style, children });
3417
+ return /* @__PURE__ */ jsx37("div", { className: uiClassNames, style, children });
3388
3418
  }
3389
- return /* @__PURE__ */ jsx36("div", { className: uiClassNames, style, children: /* @__PURE__ */ jsxs14("div", { className: "row", children: [
3390
- /* @__PURE__ */ jsx36("div", { className: "col-xs-5 form-additional", children: /* @__PURE__ */ jsxs14("div", { className: "form-group", children: [
3391
- /* @__PURE__ */ jsx36(Label, { label: keyLabel, required, id: `${id}-key` }),
3392
- /* @__PURE__ */ jsx36(
3419
+ const margin = hasDescription ? 46 : 26;
3420
+ return /* @__PURE__ */ jsx37("div", { className: uiClassNames, style, children: /* @__PURE__ */ jsxs14("div", { className: "row", children: [
3421
+ /* @__PURE__ */ jsx37("div", { className: "col-xs-5 form-additional", children: /* @__PURE__ */ jsxs14("div", { className: "form-group", children: [
3422
+ displayLabel && /* @__PURE__ */ jsx37(Label, { label: keyLabel, required, id: `${id}-key` }),
3423
+ displayLabel && rawDescription && /* @__PURE__ */ jsx37("div", { children: "\xA0" }),
3424
+ /* @__PURE__ */ jsx37(
3393
3425
  "input",
3394
3426
  {
3395
3427
  className: "form-control",
@@ -3400,8 +3432,8 @@ function WrapIfAdditionalTemplate(props) {
3400
3432
  }
3401
3433
  )
3402
3434
  ] }) }),
3403
- /* @__PURE__ */ jsx36("div", { className: "form-additional form-group col-xs-5", children }),
3404
- /* @__PURE__ */ jsx36("div", { className: "col-xs-2", children: /* @__PURE__ */ jsx36(
3435
+ /* @__PURE__ */ jsx37("div", { className: "form-additional form-group col-xs-5", children }),
3436
+ /* @__PURE__ */ jsx37("div", { className: "col-xs-2", style: { marginTop: displayLabel ? `${margin}px` : void 0 }, children: /* @__PURE__ */ jsx37(
3405
3437
  RemoveButton2,
3406
3438
  {
3407
3439
  id: buttonId4(id, "remove"),
@@ -3449,13 +3481,13 @@ import {
3449
3481
  TranslatableString as TranslatableString12,
3450
3482
  useAltDateWidgetProps
3451
3483
  } from "@rjsf/utils";
3452
- import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
3484
+ import { jsx as jsx38, jsxs as jsxs15 } from "react/jsx-runtime";
3453
3485
  function AltDateWidget(props) {
3454
3486
  const { disabled = false, readonly = false, autofocus = false, options, id, name, registry, onBlur, onFocus } = props;
3455
3487
  const { translateString } = registry;
3456
3488
  const { elements, handleChange, handleClear, handleSetNow } = useAltDateWidgetProps(props);
3457
3489
  return /* @__PURE__ */ jsxs15("ul", { className: "list-inline", children: [
3458
- elements.map((elemProps, i) => /* @__PURE__ */ jsx37("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx37(
3490
+ elements.map((elemProps, i) => /* @__PURE__ */ jsx38("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx38(
3459
3491
  DateElement,
3460
3492
  {
3461
3493
  rootId: id,
@@ -3470,20 +3502,20 @@ function AltDateWidget(props) {
3470
3502
  autofocus: autofocus && i === 0
3471
3503
  }
3472
3504
  ) }, i)),
3473
- (options.hideNowButton !== "undefined" ? !options.hideNowButton : true) && /* @__PURE__ */ jsx37("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx37("a", { href: "#", className: "btn btn-info btn-now", onClick: handleSetNow, children: translateString(TranslatableString12.NowLabel) }) }),
3474
- (options.hideClearButton !== "undefined" ? !options.hideClearButton : true) && /* @__PURE__ */ jsx37("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx37("a", { href: "#", className: "btn btn-warning btn-clear", onClick: handleClear, children: translateString(TranslatableString12.ClearLabel) }) })
3505
+ (options.hideNowButton !== "undefined" ? !options.hideNowButton : true) && /* @__PURE__ */ jsx38("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx38("a", { href: "#", className: "btn btn-info btn-now", onClick: handleSetNow, children: translateString(TranslatableString12.NowLabel) }) }),
3506
+ (options.hideClearButton !== "undefined" ? !options.hideClearButton : true) && /* @__PURE__ */ jsx38("li", { className: "list-inline-item", children: /* @__PURE__ */ jsx38("a", { href: "#", className: "btn btn-warning btn-clear", onClick: handleClear, children: translateString(TranslatableString12.ClearLabel) }) })
3475
3507
  ] });
3476
3508
  }
3477
3509
  var AltDateWidget_default = AltDateWidget;
3478
3510
 
3479
3511
  // src/components/widgets/AltDateTimeWidget.tsx
3480
- import { jsx as jsx38 } from "react/jsx-runtime";
3512
+ import { jsx as jsx39 } from "react/jsx-runtime";
3481
3513
  function AltDateTimeWidget({
3482
3514
  time = true,
3483
3515
  ...props
3484
3516
  }) {
3485
3517
  const { AltDateWidget: AltDateWidget2 } = props.registry.widgets;
3486
- return /* @__PURE__ */ jsx38(AltDateWidget2, { time, ...props });
3518
+ return /* @__PURE__ */ jsx39(AltDateWidget2, { time, ...props });
3487
3519
  }
3488
3520
  var AltDateTimeWidget_default = AltDateTimeWidget;
3489
3521
 
@@ -3495,9 +3527,9 @@ import {
3495
3527
  getTemplate as getTemplate17,
3496
3528
  labelValue,
3497
3529
  schemaRequiresTrueValue,
3498
- getUiOptions as getUiOptions19
3530
+ getUiOptions as getUiOptions20
3499
3531
  } from "@rjsf/utils";
3500
- import { jsx as jsx39, jsxs as jsxs16 } from "react/jsx-runtime";
3532
+ import { jsx as jsx40, jsxs as jsxs16 } from "react/jsx-runtime";
3501
3533
  function CheckboxWidget({
3502
3534
  schema,
3503
3535
  uiSchema,
@@ -3533,11 +3565,11 @@ function CheckboxWidget({
3533
3565
  (event) => onFocus(id, event.target.checked),
3534
3566
  [onFocus, id]
3535
3567
  );
3536
- const uiOptions = getUiOptions19(uiSchema);
3568
+ const uiOptions = getUiOptions20(uiSchema);
3537
3569
  const isCheckboxWidget = uiOptions.widget === "checkbox";
3538
3570
  const description = isCheckboxWidget ? void 0 : options.description ?? schema.description;
3539
3571
  return /* @__PURE__ */ jsxs16("div", { className: `checkbox ${disabled || readonly ? "disabled" : ""}`, children: [
3540
- !hideLabel && description && /* @__PURE__ */ jsx39(
3572
+ !hideLabel && description && /* @__PURE__ */ jsx40(
3541
3573
  DescriptionFieldTemplate,
3542
3574
  {
3543
3575
  id: descriptionId4(id),
@@ -3548,7 +3580,7 @@ function CheckboxWidget({
3548
3580
  }
3549
3581
  ),
3550
3582
  /* @__PURE__ */ jsxs16("label", { children: [
3551
- /* @__PURE__ */ jsx39(
3583
+ /* @__PURE__ */ jsx40(
3552
3584
  "input",
3553
3585
  {
3554
3586
  type: "checkbox",
@@ -3564,7 +3596,7 @@ function CheckboxWidget({
3564
3596
  "aria-describedby": ariaDescribedByIds2(id)
3565
3597
  }
3566
3598
  ),
3567
- labelValue(/* @__PURE__ */ jsx39("span", { children: label }), hideLabel)
3599
+ labelValue(/* @__PURE__ */ jsx40("span", { children: label }), hideLabel)
3568
3600
  ] })
3569
3601
  ] });
3570
3602
  }
@@ -3580,7 +3612,7 @@ import {
3580
3612
  enumOptionsValueForIndex,
3581
3613
  optionId
3582
3614
  } from "@rjsf/utils";
3583
- import { jsx as jsx40, jsxs as jsxs17 } from "react/jsx-runtime";
3615
+ import { jsx as jsx41, jsxs as jsxs17 } from "react/jsx-runtime";
3584
3616
  function CheckboxesWidget({
3585
3617
  id,
3586
3618
  disabled,
@@ -3602,7 +3634,7 @@ function CheckboxesWidget({
3602
3634
  ({ target }) => onFocus(id, enumOptionsValueForIndex(target && target.value, enumOptions, emptyValue)),
3603
3635
  [onFocus, id, enumOptions, emptyValue]
3604
3636
  );
3605
- return /* @__PURE__ */ jsx40("div", { className: "checkboxes", id, children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
3637
+ return /* @__PURE__ */ jsx41("div", { className: "checkboxes", id, children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
3606
3638
  const checked = enumOptionsIsSelected(option.value, checkboxesValues);
3607
3639
  const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
3608
3640
  const disabledCls = disabled || itemDisabled || readonly ? "disabled" : "";
@@ -3614,7 +3646,7 @@ function CheckboxesWidget({
3614
3646
  }
3615
3647
  };
3616
3648
  const checkbox = /* @__PURE__ */ jsxs17("span", { children: [
3617
- /* @__PURE__ */ jsx40(
3649
+ /* @__PURE__ */ jsx41(
3618
3650
  "input",
3619
3651
  {
3620
3652
  type: "checkbox",
@@ -3630,31 +3662,31 @@ function CheckboxesWidget({
3630
3662
  "aria-describedby": ariaDescribedByIds3(id)
3631
3663
  }
3632
3664
  ),
3633
- /* @__PURE__ */ jsx40("span", { children: option.label })
3665
+ /* @__PURE__ */ jsx41("span", { children: option.label })
3634
3666
  ] });
3635
- return inline ? /* @__PURE__ */ jsx40("label", { className: `checkbox-inline ${disabledCls}`, children: checkbox }, index) : /* @__PURE__ */ jsx40("div", { className: `checkbox ${disabledCls}`, children: /* @__PURE__ */ jsx40("label", { children: checkbox }) }, index);
3667
+ return inline ? /* @__PURE__ */ jsx41("label", { className: `checkbox-inline ${disabledCls}`, children: checkbox }, index) : /* @__PURE__ */ jsx41("div", { className: `checkbox ${disabledCls}`, children: /* @__PURE__ */ jsx41("label", { children: checkbox }) }, index);
3636
3668
  }) });
3637
3669
  }
3638
3670
  var CheckboxesWidget_default = CheckboxesWidget;
3639
3671
 
3640
3672
  // src/components/widgets/ColorWidget.tsx
3641
3673
  import { getTemplate as getTemplate18 } from "@rjsf/utils";
3642
- import { jsx as jsx41 } from "react/jsx-runtime";
3674
+ import { jsx as jsx42 } from "react/jsx-runtime";
3643
3675
  function ColorWidget(props) {
3644
3676
  const { disabled, readonly, options, registry } = props;
3645
3677
  const BaseInputTemplate2 = getTemplate18("BaseInputTemplate", registry, options);
3646
- return /* @__PURE__ */ jsx41(BaseInputTemplate2, { type: "color", ...props, disabled: disabled || readonly });
3678
+ return /* @__PURE__ */ jsx42(BaseInputTemplate2, { type: "color", ...props, disabled: disabled || readonly });
3647
3679
  }
3648
3680
 
3649
3681
  // src/components/widgets/DateWidget.tsx
3650
3682
  import { useCallback as useCallback10 } from "react";
3651
3683
  import { getTemplate as getTemplate19 } from "@rjsf/utils";
3652
- import { jsx as jsx42 } from "react/jsx-runtime";
3684
+ import { jsx as jsx43 } from "react/jsx-runtime";
3653
3685
  function DateWidget(props) {
3654
3686
  const { onChange, options, registry } = props;
3655
3687
  const BaseInputTemplate2 = getTemplate19("BaseInputTemplate", registry, options);
3656
3688
  const handleChange = useCallback10((value) => onChange(value || void 0), [onChange]);
3657
- return /* @__PURE__ */ jsx42(BaseInputTemplate2, { type: "date", ...props, onChange: handleChange });
3689
+ return /* @__PURE__ */ jsx43(BaseInputTemplate2, { type: "date", ...props, onChange: handleChange });
3658
3690
  }
3659
3691
 
3660
3692
  // src/components/widgets/DateTimeWidget.tsx
@@ -3663,11 +3695,11 @@ import {
3663
3695
  localToUTC,
3664
3696
  utcToLocal
3665
3697
  } from "@rjsf/utils";
3666
- import { jsx as jsx43 } from "react/jsx-runtime";
3698
+ import { jsx as jsx44 } from "react/jsx-runtime";
3667
3699
  function DateTimeWidget(props) {
3668
3700
  const { onChange, value, options, registry } = props;
3669
3701
  const BaseInputTemplate2 = getTemplate20("BaseInputTemplate", registry, options);
3670
- return /* @__PURE__ */ jsx43(
3702
+ return /* @__PURE__ */ jsx44(
3671
3703
  BaseInputTemplate2,
3672
3704
  {
3673
3705
  type: "datetime-local",
@@ -3680,11 +3712,11 @@ function DateTimeWidget(props) {
3680
3712
 
3681
3713
  // src/components/widgets/EmailWidget.tsx
3682
3714
  import { getTemplate as getTemplate21 } from "@rjsf/utils";
3683
- import { jsx as jsx44 } from "react/jsx-runtime";
3715
+ import { jsx as jsx45 } from "react/jsx-runtime";
3684
3716
  function EmailWidget(props) {
3685
3717
  const { options, registry } = props;
3686
3718
  const BaseInputTemplate2 = getTemplate21("BaseInputTemplate", registry, options);
3687
- return /* @__PURE__ */ jsx44(BaseInputTemplate2, { type: "email", ...props });
3719
+ return /* @__PURE__ */ jsx45(BaseInputTemplate2, { type: "email", ...props });
3688
3720
  }
3689
3721
 
3690
3722
  // src/components/widgets/FileWidget.tsx
@@ -3693,8 +3725,8 @@ import {
3693
3725
  TranslatableString as TranslatableString13,
3694
3726
  useFileWidgetProps
3695
3727
  } from "@rjsf/utils";
3696
- import Markdown4 from "markdown-to-jsx";
3697
- import { Fragment as Fragment4, jsx as jsx45, jsxs as jsxs18 } from "react/jsx-runtime";
3728
+ import Markdown5 from "markdown-to-jsx";
3729
+ import { Fragment as Fragment4, jsx as jsx46, jsxs as jsxs18 } from "react/jsx-runtime";
3698
3730
  function FileInfoPreview({
3699
3731
  fileInfo,
3700
3732
  registry
@@ -3705,11 +3737,11 @@ function FileInfoPreview({
3705
3737
  return null;
3706
3738
  }
3707
3739
  if (["image/jpeg", "image/png"].includes(type)) {
3708
- return /* @__PURE__ */ jsx45("img", { src: dataURL, style: { maxWidth: "100%" }, className: "file-preview" });
3740
+ return /* @__PURE__ */ jsx46("img", { src: dataURL, style: { maxWidth: "100%" }, className: "file-preview" });
3709
3741
  }
3710
3742
  return /* @__PURE__ */ jsxs18(Fragment4, { children: [
3711
3743
  " ",
3712
- /* @__PURE__ */ jsx45("a", { download: `preview-${name}`, href: dataURL, className: "file-download", children: translateString(TranslatableString13.PreviewLabel) })
3744
+ /* @__PURE__ */ jsx46("a", { download: `preview-${name}`, href: dataURL, className: "file-download", children: translateString(TranslatableString13.PreviewLabel) })
3713
3745
  ] });
3714
3746
  }
3715
3747
  function FilesInfo({
@@ -3724,13 +3756,13 @@ function FilesInfo({
3724
3756
  }
3725
3757
  const { translateString } = registry;
3726
3758
  const { RemoveButton: RemoveButton2 } = getTemplate22("ButtonTemplates", registry, options);
3727
- return /* @__PURE__ */ jsx45("ul", { className: "file-info", children: filesInfo.map((fileInfo, key) => {
3759
+ return /* @__PURE__ */ jsx46("ul", { className: "file-info", children: filesInfo.map((fileInfo, key) => {
3728
3760
  const { name, size, type } = fileInfo;
3729
3761
  const handleRemove = () => onRemove(key);
3730
3762
  return /* @__PURE__ */ jsxs18("li", { children: [
3731
- /* @__PURE__ */ jsx45(Markdown4, { children: translateString(TranslatableString13.FilesInfo, [name, type, String(size)]) }),
3732
- preview && /* @__PURE__ */ jsx45(FileInfoPreview, { fileInfo, registry }),
3733
- /* @__PURE__ */ jsx45(RemoveButton2, { onClick: handleRemove, registry })
3763
+ /* @__PURE__ */ jsx46(Markdown5, { children: translateString(TranslatableString13.FilesInfo, [name, type, String(size)]) }),
3764
+ preview && /* @__PURE__ */ jsx46(FileInfoPreview, { fileInfo, registry }),
3765
+ /* @__PURE__ */ jsx46(RemoveButton2, { onClick: handleRemove, registry })
3734
3766
  ] }, key);
3735
3767
  }) });
3736
3768
  }
@@ -3744,7 +3776,7 @@ function FileWidget(props) {
3744
3776
  }
3745
3777
  };
3746
3778
  return /* @__PURE__ */ jsxs18("div", { children: [
3747
- /* @__PURE__ */ jsx45(
3779
+ /* @__PURE__ */ jsx46(
3748
3780
  BaseInputTemplate2,
3749
3781
  {
3750
3782
  ...props,
@@ -3756,7 +3788,7 @@ function FileWidget(props) {
3756
3788
  accept: options.accept ? String(options.accept) : void 0
3757
3789
  }
3758
3790
  ),
3759
- /* @__PURE__ */ jsx45(
3791
+ /* @__PURE__ */ jsx46(
3760
3792
  FilesInfo,
3761
3793
  {
3762
3794
  filesInfo,
@@ -3771,23 +3803,23 @@ function FileWidget(props) {
3771
3803
  var FileWidget_default = FileWidget;
3772
3804
 
3773
3805
  // src/components/widgets/HiddenWidget.tsx
3774
- import { jsx as jsx46 } from "react/jsx-runtime";
3806
+ import { jsx as jsx47 } from "react/jsx-runtime";
3775
3807
  function HiddenWidget({
3776
3808
  id,
3777
3809
  value,
3778
3810
  htmlName
3779
3811
  }) {
3780
- return /* @__PURE__ */ jsx46("input", { type: "hidden", id, name: htmlName || id, value: typeof value === "undefined" ? "" : value });
3812
+ return /* @__PURE__ */ jsx47("input", { type: "hidden", id, name: htmlName || id, value: typeof value === "undefined" ? "" : value });
3781
3813
  }
3782
3814
  var HiddenWidget_default = HiddenWidget;
3783
3815
 
3784
3816
  // src/components/widgets/PasswordWidget.tsx
3785
3817
  import { getTemplate as getTemplate23 } from "@rjsf/utils";
3786
- import { jsx as jsx47 } from "react/jsx-runtime";
3818
+ import { jsx as jsx48 } from "react/jsx-runtime";
3787
3819
  function PasswordWidget(props) {
3788
3820
  const { options, registry } = props;
3789
3821
  const BaseInputTemplate2 = getTemplate23("BaseInputTemplate", registry, options);
3790
- return /* @__PURE__ */ jsx47(BaseInputTemplate2, { type: "password", ...props });
3822
+ return /* @__PURE__ */ jsx48(BaseInputTemplate2, { type: "password", ...props });
3791
3823
  }
3792
3824
 
3793
3825
  // src/components/widgets/RadioWidget.tsx
@@ -3798,7 +3830,7 @@ import {
3798
3830
  enumOptionsValueForIndex as enumOptionsValueForIndex2,
3799
3831
  optionId as optionId2
3800
3832
  } from "@rjsf/utils";
3801
- import { jsx as jsx48, jsxs as jsxs19 } from "react/jsx-runtime";
3833
+ import { jsx as jsx49, jsxs as jsxs19 } from "react/jsx-runtime";
3802
3834
  function RadioWidget({
3803
3835
  options,
3804
3836
  value,
@@ -3821,13 +3853,13 @@ function RadioWidget({
3821
3853
  ({ target }) => onFocus(id, enumOptionsValueForIndex2(target && target.value, enumOptions, emptyValue)),
3822
3854
  [onFocus, enumOptions, emptyValue, id]
3823
3855
  );
3824
- return /* @__PURE__ */ jsx48("div", { className: "field-radio-group", id, role: "radiogroup", children: Array.isArray(enumOptions) && enumOptions.map((option, i) => {
3856
+ return /* @__PURE__ */ jsx49("div", { className: "field-radio-group", id, role: "radiogroup", children: Array.isArray(enumOptions) && enumOptions.map((option, i) => {
3825
3857
  const checked = enumOptionsIsSelected2(option.value, value);
3826
3858
  const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
3827
3859
  const disabledCls = disabled || itemDisabled || readonly ? "disabled" : "";
3828
3860
  const handleChange = () => onChange(option.value);
3829
3861
  const radio = /* @__PURE__ */ jsxs19("span", { children: [
3830
- /* @__PURE__ */ jsx48(
3862
+ /* @__PURE__ */ jsx49(
3831
3863
  "input",
3832
3864
  {
3833
3865
  type: "radio",
@@ -3844,15 +3876,15 @@ function RadioWidget({
3844
3876
  "aria-describedby": ariaDescribedByIds4(id)
3845
3877
  }
3846
3878
  ),
3847
- /* @__PURE__ */ jsx48("span", { children: option.label })
3879
+ /* @__PURE__ */ jsx49("span", { children: option.label })
3848
3880
  ] });
3849
- return inline ? /* @__PURE__ */ jsx48("label", { className: `radio-inline ${disabledCls}`, children: radio }, i) : /* @__PURE__ */ jsx48("div", { className: `radio ${disabledCls}`, children: /* @__PURE__ */ jsx48("label", { children: radio }) }, i);
3881
+ return inline ? /* @__PURE__ */ jsx49("label", { className: `radio-inline ${disabledCls}`, children: radio }, i) : /* @__PURE__ */ jsx49("div", { className: `radio ${disabledCls}`, children: /* @__PURE__ */ jsx49("label", { children: radio }) }, i);
3850
3882
  }) });
3851
3883
  }
3852
3884
  var RadioWidget_default = RadioWidget;
3853
3885
 
3854
3886
  // src/components/widgets/RangeWidget.tsx
3855
- import { jsx as jsx49, jsxs as jsxs20 } from "react/jsx-runtime";
3887
+ import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
3856
3888
  function RangeWidget(props) {
3857
3889
  const {
3858
3890
  value,
@@ -3861,14 +3893,14 @@ function RangeWidget(props) {
3861
3893
  }
3862
3894
  } = props;
3863
3895
  return /* @__PURE__ */ jsxs20("div", { className: "field-range-wrapper", children: [
3864
- /* @__PURE__ */ jsx49(BaseInputTemplate2, { type: "range", ...props }),
3865
- /* @__PURE__ */ jsx49("span", { className: "range-view", children: value })
3896
+ /* @__PURE__ */ jsx50(BaseInputTemplate2, { type: "range", ...props }),
3897
+ /* @__PURE__ */ jsx50("span", { className: "range-view", children: value })
3866
3898
  ] });
3867
3899
  }
3868
3900
 
3869
3901
  // src/components/widgets/RatingWidget.tsx
3870
3902
  import { useCallback as useCallback12 } from "react";
3871
- import { Fragment as Fragment5, jsx as jsx50, jsxs as jsxs21 } from "react/jsx-runtime";
3903
+ import { Fragment as Fragment5, jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
3872
3904
  function RatingWidget({
3873
3905
  id,
3874
3906
  value,
@@ -3918,7 +3950,7 @@ function RatingWidget({
3918
3950
  }
3919
3951
  return isFilled ? "\u2605" : "\u2606";
3920
3952
  };
3921
- return /* @__PURE__ */ jsx50(Fragment5, { children: /* @__PURE__ */ jsxs21(
3953
+ return /* @__PURE__ */ jsx51(Fragment5, { children: /* @__PURE__ */ jsxs21(
3922
3954
  "div",
3923
3955
  {
3924
3956
  className: "rating-widget",
@@ -3931,7 +3963,7 @@ function RatingWidget({
3931
3963
  [...Array(numStars)].map((_, index) => {
3932
3964
  const starValue = min + index;
3933
3965
  const isFilled = starValue <= value;
3934
- return /* @__PURE__ */ jsx50(
3966
+ return /* @__PURE__ */ jsx51(
3935
3967
  "span",
3936
3968
  {
3937
3969
  onClick: () => handleStarClick(starValue),
@@ -3953,7 +3985,7 @@ function RatingWidget({
3953
3985
  index
3954
3986
  );
3955
3987
  }),
3956
- /* @__PURE__ */ jsx50(
3988
+ /* @__PURE__ */ jsx51(
3957
3989
  "input",
3958
3990
  {
3959
3991
  type: "hidden",
@@ -3977,7 +4009,7 @@ import {
3977
4009
  enumOptionsIndexForValue,
3978
4010
  enumOptionsValueForIndex as enumOptionsValueForIndex3
3979
4011
  } from "@rjsf/utils";
3980
- import { jsx as jsx51, jsxs as jsxs22 } from "react/jsx-runtime";
4012
+ import { jsx as jsx52, jsxs as jsxs22 } from "react/jsx-runtime";
3981
4013
  function getValue(event, multiple) {
3982
4014
  if (multiple) {
3983
4015
  return Array.from(event.target.options).slice().filter((o) => o.selected).map((o) => o.value);
@@ -4042,10 +4074,10 @@ function SelectWidget({
4042
4074
  onChange: handleChange,
4043
4075
  "aria-describedby": ariaDescribedByIds5(id),
4044
4076
  children: [
4045
- showPlaceholderOption && /* @__PURE__ */ jsx51("option", { value: "", children: placeholder }),
4077
+ showPlaceholderOption && /* @__PURE__ */ jsx52("option", { value: "", children: placeholder }),
4046
4078
  Array.isArray(enumOptions) && enumOptions.map(({ value: value2, label }, i) => {
4047
4079
  const disabled2 = enumDisabled && enumDisabled.indexOf(value2) !== -1;
4048
- return /* @__PURE__ */ jsx51("option", { value: String(i), disabled: disabled2, children: label }, i);
4080
+ return /* @__PURE__ */ jsx52("option", { value: String(i), disabled: disabled2, children: label }, i);
4049
4081
  })
4050
4082
  ]
4051
4083
  }
@@ -4056,7 +4088,7 @@ var SelectWidget_default = SelectWidget;
4056
4088
  // src/components/widgets/TextareaWidget.tsx
4057
4089
  import { useCallback as useCallback14 } from "react";
4058
4090
  import { ariaDescribedByIds as ariaDescribedByIds6 } from "@rjsf/utils";
4059
- import { jsx as jsx52 } from "react/jsx-runtime";
4091
+ import { jsx as jsx53 } from "react/jsx-runtime";
4060
4092
  function TextareaWidget({
4061
4093
  id,
4062
4094
  options = {},
@@ -4083,7 +4115,7 @@ function TextareaWidget({
4083
4115
  ({ target }) => onFocus(id, target && target.value),
4084
4116
  [id, onFocus]
4085
4117
  );
4086
- return /* @__PURE__ */ jsx52(
4118
+ return /* @__PURE__ */ jsx53(
4087
4119
  "textarea",
4088
4120
  {
4089
4121
  id,
@@ -4111,40 +4143,40 @@ var TextareaWidget_default = TextareaWidget;
4111
4143
 
4112
4144
  // src/components/widgets/TextWidget.tsx
4113
4145
  import { getTemplate as getTemplate24 } from "@rjsf/utils";
4114
- import { jsx as jsx53 } from "react/jsx-runtime";
4146
+ import { jsx as jsx54 } from "react/jsx-runtime";
4115
4147
  function TextWidget(props) {
4116
4148
  const { options, registry } = props;
4117
4149
  const BaseInputTemplate2 = getTemplate24("BaseInputTemplate", registry, options);
4118
- return /* @__PURE__ */ jsx53(BaseInputTemplate2, { ...props });
4150
+ return /* @__PURE__ */ jsx54(BaseInputTemplate2, { ...props });
4119
4151
  }
4120
4152
 
4121
4153
  // src/components/widgets/TimeWidget.tsx
4122
4154
  import { useCallback as useCallback15 } from "react";
4123
4155
  import { getTemplate as getTemplate25 } from "@rjsf/utils";
4124
- import { jsx as jsx54 } from "react/jsx-runtime";
4156
+ import { jsx as jsx55 } from "react/jsx-runtime";
4125
4157
  function TimeWidget(props) {
4126
4158
  const { onChange, options, registry } = props;
4127
4159
  const BaseInputTemplate2 = getTemplate25("BaseInputTemplate", registry, options);
4128
4160
  const handleChange = useCallback15((value) => onChange(value ? `${value}:00` : void 0), [onChange]);
4129
- return /* @__PURE__ */ jsx54(BaseInputTemplate2, { type: "time", ...props, onChange: handleChange });
4161
+ return /* @__PURE__ */ jsx55(BaseInputTemplate2, { type: "time", ...props, onChange: handleChange });
4130
4162
  }
4131
4163
 
4132
4164
  // src/components/widgets/URLWidget.tsx
4133
4165
  import { getTemplate as getTemplate26 } from "@rjsf/utils";
4134
- import { jsx as jsx55 } from "react/jsx-runtime";
4166
+ import { jsx as jsx56 } from "react/jsx-runtime";
4135
4167
  function URLWidget(props) {
4136
4168
  const { options, registry } = props;
4137
4169
  const BaseInputTemplate2 = getTemplate26("BaseInputTemplate", registry, options);
4138
- return /* @__PURE__ */ jsx55(BaseInputTemplate2, { type: "url", ...props });
4170
+ return /* @__PURE__ */ jsx56(BaseInputTemplate2, { type: "url", ...props });
4139
4171
  }
4140
4172
 
4141
4173
  // src/components/widgets/UpDownWidget.tsx
4142
4174
  import { getTemplate as getTemplate27 } from "@rjsf/utils";
4143
- import { jsx as jsx56 } from "react/jsx-runtime";
4175
+ import { jsx as jsx57 } from "react/jsx-runtime";
4144
4176
  function UpDownWidget(props) {
4145
4177
  const { options, registry } = props;
4146
4178
  const BaseInputTemplate2 = getTemplate27("BaseInputTemplate", registry, options);
4147
- return /* @__PURE__ */ jsx56(BaseInputTemplate2, { type: "number", ...props });
4179
+ return /* @__PURE__ */ jsx57(BaseInputTemplate2, { type: "number", ...props });
4148
4180
  }
4149
4181
 
4150
4182
  // src/components/widgets/index.ts
@@ -4192,7 +4224,7 @@ function getDefaultRegistry() {
4192
4224
  }
4193
4225
 
4194
4226
  // src/components/Form.tsx
4195
- import { jsx as jsx57, jsxs as jsxs23 } from "react/jsx-runtime";
4227
+ import { jsx as jsx58, jsxs as jsxs23 } from "react/jsx-runtime";
4196
4228
  function toIChangeEvent(state, status) {
4197
4229
  return {
4198
4230
  ..._pick(state, ["schema", "uiSchema", "fieldPathId", "schemaUtils", "formData", "edit", "errors", "errorSchema"]),
@@ -4446,10 +4478,10 @@ var Form = class extends Component3 {
4446
4478
  /** Renders any errors contained in the `state` in using the `ErrorList`, if not disabled by `showErrorList`. */
4447
4479
  renderErrors(registry) {
4448
4480
  const { errors, errorSchema, schema, uiSchema } = this.state;
4449
- const options = getUiOptions20(uiSchema);
4481
+ const options = getUiOptions21(uiSchema);
4450
4482
  const ErrorListTemplate = getTemplate28("ErrorListTemplate", registry, options);
4451
4483
  if (errors && errors.length) {
4452
- return /* @__PURE__ */ jsx57(
4484
+ return /* @__PURE__ */ jsx58(
4453
4485
  ErrorListTemplate,
4454
4486
  {
4455
4487
  errors,
@@ -5009,7 +5041,7 @@ var Form = class extends Component3 {
5009
5041
  const { SubmitButton: SubmitButton2 } = registry.templates.ButtonTemplates;
5010
5042
  const as = _internalFormWrapper ? tagName : void 0;
5011
5043
  const FormTag = _internalFormWrapper || tagName || "form";
5012
- let { [SUBMIT_BTN_OPTIONS_KEY]: submitOptions = {} } = getUiOptions20(uiSchema);
5044
+ let { [SUBMIT_BTN_OPTIONS_KEY]: submitOptions = {} } = getUiOptions21(uiSchema);
5013
5045
  if (disabled) {
5014
5046
  submitOptions = { ...submitOptions, props: { ...submitOptions.props, disabled: true } };
5015
5047
  }
@@ -5032,7 +5064,7 @@ var Form = class extends Component3 {
5032
5064
  ref: this.formElement,
5033
5065
  children: [
5034
5066
  showErrorList === "top" && this.renderErrors(registry),
5035
- /* @__PURE__ */ jsx57(
5067
+ /* @__PURE__ */ jsx58(
5036
5068
  _SchemaField,
5037
5069
  {
5038
5070
  name: "",
@@ -5049,7 +5081,7 @@ var Form = class extends Component3 {
5049
5081
  readonly
5050
5082
  }
5051
5083
  ),
5052
- children ? children : /* @__PURE__ */ jsx57(SubmitButton2, { uiSchema: submitUiSchema, registry }),
5084
+ children ? children : /* @__PURE__ */ jsx58(SubmitButton2, { uiSchema: submitUiSchema, registry }),
5053
5085
  showErrorList === "bottom" && this.renderErrors(registry)
5054
5086
  ]
5055
5087
  }
@@ -5059,7 +5091,7 @@ var Form = class extends Component3 {
5059
5091
 
5060
5092
  // src/withTheme.tsx
5061
5093
  import { forwardRef } from "react";
5062
- import { jsx as jsx58 } from "react/jsx-runtime";
5094
+ import { jsx as jsx59 } from "react/jsx-runtime";
5063
5095
  function withTheme(themeProps) {
5064
5096
  return forwardRef(
5065
5097
  ({ fields: fields2, widgets: widgets2, templates: templates2, ...directProps }, ref) => {
@@ -5073,7 +5105,7 @@ function withTheme(themeProps) {
5073
5105
  ...templates2?.ButtonTemplates
5074
5106
  }
5075
5107
  };
5076
- return /* @__PURE__ */ jsx58(
5108
+ return /* @__PURE__ */ jsx59(
5077
5109
  Form,
5078
5110
  {
5079
5111
  ...themeProps,
@@ -5119,6 +5151,7 @@ function getTestRegistry(rootSchema, fields2 = {}, templates2 = {}, widgets2 = {
5119
5151
  var index_default = Form;
5120
5152
  export {
5121
5153
  RichDescription,
5154
+ RichHelp,
5122
5155
  index_default as default,
5123
5156
  getDefaultRegistry,
5124
5157
  getTestRegistry,