@rjsf/mui 6.0.0-beta.10 → 6.0.0-beta.11

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/index.js CHANGED
@@ -428,10 +428,22 @@ function GridTemplate(props) {
428
428
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_Grid3.default, { container: !column, ...rest, children });
429
429
  }
430
430
 
431
+ // src/MultiSchemaFieldTemplate/MultiSchemaFieldTemplate.tsx
432
+ var import_Box4 = __toESM(require("@mui/material/Box"), 1);
433
+ var import_FormControl2 = __toESM(require("@mui/material/FormControl"), 1);
434
+ var import_jsx_runtime12 = require("react/jsx-runtime");
435
+ function MultiSchemaFieldTemplate(props) {
436
+ const { optionSchemaField, selector } = props;
437
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_Box4.default, { sx: { mb: 2 }, children: [
438
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_FormControl2.default, { fullWidth: true, sx: { mb: 2 }, children: selector }),
439
+ optionSchemaField
440
+ ] });
441
+ }
442
+
431
443
  // src/ObjectFieldTemplate/ObjectFieldTemplate.tsx
432
444
  var import_Grid4 = __toESM(require("@mui/material/Grid"), 1);
433
445
  var import_utils10 = require("@rjsf/utils");
434
- var import_jsx_runtime12 = require("react/jsx-runtime");
446
+ var import_jsx_runtime13 = require("react/jsx-runtime");
435
447
  function ObjectFieldTemplate(props) {
436
448
  const {
437
449
  description,
@@ -457,8 +469,8 @@ function ObjectFieldTemplate(props) {
457
469
  const {
458
470
  ButtonTemplates: { AddButton: AddButton2 }
459
471
  } = registry.templates;
460
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
461
- title && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
472
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
473
+ title && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
462
474
  TitleFieldTemplate,
463
475
  {
464
476
  id: (0, import_utils10.titleId)(idSchema),
@@ -469,7 +481,7 @@ function ObjectFieldTemplate(props) {
469
481
  registry
470
482
  }
471
483
  ),
472
- description && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
484
+ description && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
473
485
  DescriptionFieldTemplate,
474
486
  {
475
487
  id: (0, import_utils10.descriptionId)(idSchema),
@@ -479,15 +491,15 @@ function ObjectFieldTemplate(props) {
479
491
  registry
480
492
  }
481
493
  ),
482
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_Grid4.default, { container: true, spacing: 2, style: { marginTop: "10px" }, children: [
494
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_Grid4.default, { container: true, spacing: 2, style: { marginTop: "10px" }, children: [
483
495
  properties.map(
484
496
  (element, index) => (
485
497
  // Remove the <Grid> if the inner element is hidden as the <Grid>
486
498
  // itself would otherwise still take up space.
487
- element.hidden ? element.content : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Grid4.default, { size: { xs: 12 }, style: { marginBottom: "10px" }, children: element.content }, index)
499
+ element.hidden ? element.content : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_Grid4.default, { size: { xs: 12 }, style: { marginBottom: "10px" }, children: element.content }, index)
488
500
  )
489
501
  ),
490
- (0, import_utils10.canExpand)(schema, uiSchema, formData) && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Grid4.default, { container: true, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Grid4.default, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
502
+ (0, import_utils10.canExpand)(schema, uiSchema, formData) && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_Grid4.default, { container: true, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_Grid4.default, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
491
503
  AddButton2,
492
504
  {
493
505
  id: (0, import_utils10.buttonId)(idSchema, "add"),
@@ -503,30 +515,30 @@ function ObjectFieldTemplate(props) {
503
515
  }
504
516
 
505
517
  // src/SubmitButton/SubmitButton.tsx
506
- var import_Box4 = __toESM(require("@mui/material/Box"), 1);
518
+ var import_Box5 = __toESM(require("@mui/material/Box"), 1);
507
519
  var import_Button = __toESM(require("@mui/material/Button"), 1);
508
520
  var import_utils11 = require("@rjsf/utils");
509
- var import_jsx_runtime13 = require("react/jsx-runtime");
521
+ var import_jsx_runtime14 = require("react/jsx-runtime");
510
522
  function SubmitButton({ uiSchema }) {
511
523
  const { submitText, norender, props: submitButtonProps = {} } = (0, import_utils11.getSubmitButtonOptions)(uiSchema);
512
524
  if (norender) {
513
525
  return null;
514
526
  }
515
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_Box4.default, { marginTop: 3, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_Button.default, { type: "submit", variant: "contained", color: "primary", ...submitButtonProps, children: submitText }) });
527
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_Box5.default, { marginTop: 3, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_Button.default, { type: "submit", variant: "contained", color: "primary", ...submitButtonProps, children: submitText }) });
516
528
  }
517
529
 
518
530
  // src/TitleField/TitleField.tsx
519
- var import_Box5 = __toESM(require("@mui/material/Box"), 1);
531
+ var import_Box6 = __toESM(require("@mui/material/Box"), 1);
520
532
  var import_Divider = __toESM(require("@mui/material/Divider"), 1);
521
533
  var import_Typography4 = __toESM(require("@mui/material/Typography"), 1);
522
- var import_jsx_runtime14 = require("react/jsx-runtime");
534
+ var import_jsx_runtime15 = require("react/jsx-runtime");
523
535
  function TitleField({
524
536
  id,
525
537
  title
526
538
  }) {
527
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_Box5.default, { id, mb: 1, mt: 1, children: [
528
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_Typography4.default, { variant: "h5", children: title }),
529
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_Divider.default, {})
539
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_Box6.default, { id, mb: 1, mt: 1, children: [
540
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Typography4.default, { variant: "h5", children: title }),
541
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Divider.default, {})
530
542
  ] });
531
543
  }
532
544
 
@@ -534,7 +546,7 @@ function TitleField({
534
546
  var import_Grid5 = __toESM(require("@mui/material/Grid"), 1);
535
547
  var import_TextField2 = __toESM(require("@mui/material/TextField"), 1);
536
548
  var import_utils12 = require("@rjsf/utils");
537
- var import_jsx_runtime15 = require("react/jsx-runtime");
549
+ var import_jsx_runtime16 = require("react/jsx-runtime");
538
550
  function WrapIfAdditionalTemplate(props) {
539
551
  const {
540
552
  children,
@@ -562,11 +574,11 @@ function WrapIfAdditionalTemplate(props) {
562
574
  fontWeight: "bold"
563
575
  };
564
576
  if (!additional) {
565
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: classNames, style, children });
577
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: classNames, style, children });
566
578
  }
567
579
  const handleBlur = ({ target }) => onKeyChange(target && target.value);
568
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_Grid5.default, { container: true, alignItems: "center", spacing: 2, className: classNames, style, children: [
569
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Grid5.default, { size: "auto", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
580
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_Grid5.default, { container: true, alignItems: "center", spacing: 2, className: classNames, style, children: [
581
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_Grid5.default, { size: "auto", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
570
582
  import_TextField2.default,
571
583
  {
572
584
  fullWidth: true,
@@ -580,8 +592,8 @@ function WrapIfAdditionalTemplate(props) {
580
592
  type: "text"
581
593
  }
582
594
  ) }),
583
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Grid5.default, { size: "auto", children }),
584
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Grid5.default, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
595
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_Grid5.default, { size: "auto", children }),
596
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_Grid5.default, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
585
597
  RemoveButton2,
586
598
  {
587
599
  id: (0, import_utils12.buttonId)(id, "remove"),
@@ -617,6 +629,7 @@ function generateTemplates() {
617
629
  FieldHelpTemplate,
618
630
  FieldTemplate,
619
631
  GridTemplate,
632
+ MultiSchemaFieldTemplate,
620
633
  ObjectFieldTemplate,
621
634
  TitleFieldTemplate: TitleField,
622
635
  WrapIfAdditionalTemplate
@@ -628,7 +641,7 @@ var Templates_default = generateTemplates();
628
641
  var import_Checkbox = __toESM(require("@mui/material/Checkbox"), 1);
629
642
  var import_FormControlLabel = __toESM(require("@mui/material/FormControlLabel"), 1);
630
643
  var import_utils13 = require("@rjsf/utils");
631
- var import_jsx_runtime16 = require("react/jsx-runtime");
644
+ var import_jsx_runtime17 = require("react/jsx-runtime");
632
645
  function CheckboxWidget(props) {
633
646
  const {
634
647
  schema,
@@ -656,8 +669,8 @@ function CheckboxWidget(props) {
656
669
  const _onBlur = ({ target }) => onBlur(id, target && target.value);
657
670
  const _onFocus = ({ target }) => onFocus(id, target && target.value);
658
671
  const description = options.description ?? schema.description;
659
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
660
- !hideLabel && description && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
672
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
673
+ !hideLabel && description && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
661
674
  DescriptionFieldTemplate,
662
675
  {
663
676
  id: (0, import_utils13.descriptionId)(id),
@@ -667,10 +680,10 @@ function CheckboxWidget(props) {
667
680
  registry
668
681
  }
669
682
  ),
670
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
683
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
671
684
  import_FormControlLabel.default,
672
685
  {
673
- control: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
686
+ control: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
674
687
  import_Checkbox.default,
675
688
  {
676
689
  id,
@@ -697,7 +710,7 @@ var import_FormControlLabel2 = __toESM(require("@mui/material/FormControlLabel")
697
710
  var import_FormGroup = __toESM(require("@mui/material/FormGroup"), 1);
698
711
  var import_FormLabel = __toESM(require("@mui/material/FormLabel"), 1);
699
712
  var import_utils14 = require("@rjsf/utils");
700
- var import_jsx_runtime17 = require("react/jsx-runtime");
713
+ var import_jsx_runtime18 = require("react/jsx-runtime");
701
714
  function CheckboxesWidget({
702
715
  label,
703
716
  hideLabel,
@@ -723,15 +736,15 @@ function CheckboxesWidget({
723
736
  };
724
737
  const _onBlur = ({ target }) => onBlur(id, (0, import_utils14.enumOptionsValueForIndex)(target && target.value, enumOptions, emptyValue));
725
738
  const _onFocus = ({ target }) => onFocus(id, (0, import_utils14.enumOptionsValueForIndex)(target && target.value, enumOptions, emptyValue));
726
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
739
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
727
740
  (0, import_utils14.labelValue)(
728
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_FormLabel.default, { required, htmlFor: id, children: label || void 0 }),
741
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_FormLabel.default, { required, htmlFor: id, children: label || void 0 }),
729
742
  hideLabel
730
743
  ),
731
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_FormGroup.default, { id, row: !!inline, children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
744
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_FormGroup.default, { id, row: !!inline, children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
732
745
  const checked = (0, import_utils14.enumOptionsIsSelected)(option.value, checkboxesValues);
733
746
  const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
734
- const checkbox = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
747
+ const checkbox = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
735
748
  import_Checkbox2.default,
736
749
  {
737
750
  id: (0, import_utils14.optionId)(id, index),
@@ -745,7 +758,7 @@ function CheckboxesWidget({
745
758
  "aria-describedby": (0, import_utils14.ariaDescribedByIds)(id)
746
759
  }
747
760
  );
748
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_FormControlLabel2.default, { control: checkbox, label: option.label }, index);
761
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_FormControlLabel2.default, { control: checkbox, label: option.label }, index);
749
762
  }) })
750
763
  ] });
751
764
  }
@@ -756,7 +769,7 @@ var import_FormLabel2 = __toESM(require("@mui/material/FormLabel"), 1);
756
769
  var import_Radio = __toESM(require("@mui/material/Radio"), 1);
757
770
  var import_RadioGroup = __toESM(require("@mui/material/RadioGroup"), 1);
758
771
  var import_utils15 = require("@rjsf/utils");
759
- var import_jsx_runtime18 = require("react/jsx-runtime");
772
+ var import_jsx_runtime19 = require("react/jsx-runtime");
760
773
  function RadioWidget({
761
774
  id,
762
775
  options,
@@ -776,12 +789,12 @@ function RadioWidget({
776
789
  const _onFocus = ({ target }) => onFocus(id, (0, import_utils15.enumOptionsValueForIndex)(target && target.value, enumOptions, emptyValue));
777
790
  const row = options ? options.inline : false;
778
791
  const selectedIndex = (0, import_utils15.enumOptionsIndexForValue)(value, enumOptions) ?? null;
779
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
792
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
780
793
  (0, import_utils15.labelValue)(
781
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_FormLabel2.default, { required, htmlFor: id, children: label || void 0 }),
794
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_FormLabel2.default, { required, htmlFor: id, children: label || void 0 }),
782
795
  hideLabel
783
796
  ),
784
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
797
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
785
798
  import_RadioGroup.default,
786
799
  {
787
800
  id,
@@ -794,10 +807,10 @@ function RadioWidget({
794
807
  "aria-describedby": (0, import_utils15.ariaDescribedByIds)(id),
795
808
  children: Array.isArray(enumOptions) && enumOptions.map((option, index) => {
796
809
  const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;
797
- const radio = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
810
+ const radio = /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
798
811
  import_FormControlLabel3.default,
799
812
  {
800
- control: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Radio.default, { name: id, id: (0, import_utils15.optionId)(id, index), color: "primary" }),
813
+ control: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_Radio.default, { name: id, id: (0, import_utils15.optionId)(id, index), color: "primary" }),
801
814
  label: option.label,
802
815
  value: String(index),
803
816
  disabled: disabled || itemDisabled || readonly
@@ -815,7 +828,7 @@ function RadioWidget({
815
828
  var import_FormLabel3 = __toESM(require("@mui/material/FormLabel"), 1);
816
829
  var import_Slider = __toESM(require("@mui/material/Slider"), 1);
817
830
  var import_utils16 = require("@rjsf/utils");
818
- var import_jsx_runtime19 = require("react/jsx-runtime");
831
+ var import_jsx_runtime20 = require("react/jsx-runtime");
819
832
  function RangeWidget(props) {
820
833
  const { value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, hideLabel, id } = props;
821
834
  const sliderProps = { value, label, id, name: id, ...(0, import_utils16.rangeSpec)(schema) };
@@ -824,12 +837,12 @@ function RangeWidget(props) {
824
837
  };
825
838
  const _onBlur = ({ target }) => onBlur(id, target && target.value);
826
839
  const _onFocus = ({ target }) => onFocus(id, target && target.value);
827
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
840
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
828
841
  (0, import_utils16.labelValue)(
829
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_FormLabel3.default, { required, htmlFor: id, children: label || void 0 }),
842
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_FormLabel3.default, { required, htmlFor: id, children: label || void 0 }),
830
843
  hideLabel
831
844
  ),
832
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
845
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
833
846
  import_Slider.default,
834
847
  {
835
848
  disabled: disabled || readonly,
@@ -848,7 +861,7 @@ function RangeWidget(props) {
848
861
  var import_MenuItem = __toESM(require("@mui/material/MenuItem"), 1);
849
862
  var import_TextField3 = __toESM(require("@mui/material/TextField"), 1);
850
863
  var import_utils17 = require("@rjsf/utils");
851
- var import_jsx_runtime20 = require("react/jsx-runtime");
864
+ var import_jsx_runtime21 = require("react/jsx-runtime");
852
865
  function SelectWidget({
853
866
  schema,
854
867
  id,
@@ -885,7 +898,7 @@ function SelectWidget({
885
898
  const selectedIndexes = (0, import_utils17.enumOptionsIndexForValue)(value, enumOptions, multiple);
886
899
  const { InputLabelProps, SelectProps, autocomplete, ...textFieldRemainingProps } = textFieldProps;
887
900
  const showPlaceholderOption = !multiple && schema.default === void 0;
888
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
901
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
889
902
  import_TextField3.default,
890
903
  {
891
904
  id,
@@ -913,10 +926,10 @@ function SelectWidget({
913
926
  },
914
927
  "aria-describedby": (0, import_utils17.ariaDescribedByIds)(id),
915
928
  children: [
916
- showPlaceholderOption && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_MenuItem.default, { value: "", children: placeholder }),
929
+ showPlaceholderOption && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_MenuItem.default, { value: "", children: placeholder }),
917
930
  Array.isArray(enumOptions) && enumOptions.map(({ value: value2, label: label2 }, i) => {
918
931
  const disabled2 = Array.isArray(enumDisabled) && enumDisabled.indexOf(value2) !== -1;
919
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_MenuItem.default, { value: String(i), disabled: disabled2, children: label2 }, i);
932
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_MenuItem.default, { value: String(i), disabled: disabled2, children: label2 }, i);
920
933
  })
921
934
  ]
922
935
  }
@@ -925,7 +938,7 @@ function SelectWidget({
925
938
 
926
939
  // src/TextareaWidget/TextareaWidget.tsx
927
940
  var import_utils18 = require("@rjsf/utils");
928
- var import_jsx_runtime21 = require("react/jsx-runtime");
941
+ var import_jsx_runtime22 = require("react/jsx-runtime");
929
942
  function TextareaWidget(props) {
930
943
  const { options, registry } = props;
931
944
  const BaseInputTemplate2 = (0, import_utils18.getTemplate)("BaseInputTemplate", registry, options);
@@ -933,7 +946,7 @@ function TextareaWidget(props) {
933
946
  if (typeof options.rows === "string" || typeof options.rows === "number") {
934
947
  rows = options.rows;
935
948
  }
936
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(BaseInputTemplate2, { ...props, multiline: true, rows });
949
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(BaseInputTemplate2, { ...props, multiline: true, rows });
937
950
  }
938
951
 
939
952
  // src/Widgets/Widgets.ts