jsonforms-nuxt-ui-renderers 0.1.3 → 0.1.5

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
@@ -2,12 +2,14 @@
2
2
  import {
3
3
  isBooleanControl,
4
4
  isEnumControl,
5
+ isEnumSchema,
5
6
  isIntegerControl,
6
7
  isMultiLineControl,
7
8
  isNumberControl,
8
9
  isObjectControl,
9
10
  isStringControl,
10
11
  rankWith,
12
+ Resolve as Resolve2,
11
13
  schemaTypeIs,
12
14
  uiTypeIs
13
15
  } from "@jsonforms/core";
@@ -459,18 +461,98 @@ var NuxtUiIntegerControl = defineComponent5({
459
461
  }
460
462
  });
461
463
 
462
- // src/renderers/controls/NuxtUiNumberControl.ts
464
+ // src/renderers/controls/NuxtUiMultiEnumControl.ts
463
465
  import { rendererProps as rendererProps6, useJsonFormsControl as useJsonFormsControl4 } from "@jsonforms/vue";
464
466
  import { computed as computed7, defineComponent as defineComponent6, h as h6, resolveComponent as resolveComponent5 } from "vue";
465
- var NuxtUiNumberControl = defineComponent6({
466
- name: "NuxtUiNumberControl",
467
+ function schemaEnumOptions2(schema) {
468
+ if (!schema) return [];
469
+ if (Array.isArray(schema.enum)) {
470
+ return schema.enum.map((v) => ({ label: String(v), value: v }));
471
+ }
472
+ const oneOf = schema.oneOf;
473
+ if (!Array.isArray(oneOf)) return [];
474
+ const out = [];
475
+ for (const entry of oneOf) {
476
+ if (typeof entry !== "object" || entry === null) continue;
477
+ const maybe = entry;
478
+ if (!("const" in maybe)) continue;
479
+ out.push({
480
+ value: maybe.const,
481
+ label: typeof maybe.title === "string" && maybe.title.trim() ? maybe.title : String(maybe.const)
482
+ });
483
+ }
484
+ return out;
485
+ }
486
+ function arrayItemsSchema(schema) {
487
+ if (!schema) return void 0;
488
+ const items = schema.items;
489
+ if (typeof items !== "object" || items === null) return void 0;
490
+ return items;
491
+ }
492
+ var NuxtUiMultiEnumControl = defineComponent6({
493
+ name: "NuxtUiMultiEnumControl",
467
494
  props: rendererProps6(),
468
495
  setup(props) {
469
496
  const { control, handleChange } = useJsonFormsControl4(
470
497
  props
471
498
  );
472
499
  const errorMessage = computed7(() => trimmedOrUndefined(control.value.errors));
473
- const modelValue = computed7(() => {
500
+ const options = computed7(
501
+ () => schemaEnumOptions2(arrayItemsSchema(control.value.schema))
502
+ );
503
+ const selectedValues = computed7({
504
+ get: () => Array.isArray(control.value.data) ? control.value.data : [],
505
+ set: (v) => handleChange(control.value.path, v)
506
+ });
507
+ return () => {
508
+ if (!control.value.visible) return null;
509
+ const UFormField = resolveComponent5("UFormField");
510
+ const USelectMenu = resolveComponent5("USelectMenu");
511
+ return h6(
512
+ "div",
513
+ {},
514
+ h6(
515
+ UFormField,
516
+ {
517
+ label: control.value.label,
518
+ description: control.value.description,
519
+ required: control.value.required,
520
+ error: errorMessage.value
521
+ },
522
+ {
523
+ default: () => h6(USelectMenu, {
524
+ multiple: true,
525
+ modelValue: selectedValues.value,
526
+ items: options.value,
527
+ valueKey: "value",
528
+ labelKey: "label",
529
+ disabled: !control.value.enabled,
530
+ color: errorMessage.value ? "error" : void 0,
531
+ "aria-invalid": Boolean(errorMessage.value),
532
+ placeholder: "Select...",
533
+ "onUpdate:modelValue": (v) => {
534
+ selectedValues.value = Array.isArray(v) ? v : [];
535
+ }
536
+ })
537
+ }
538
+ )
539
+ );
540
+ };
541
+ }
542
+ });
543
+
544
+ // src/renderers/controls/NuxtUiNumberControl.ts
545
+ import { rendererProps as rendererProps7, useJsonFormsControl as useJsonFormsControl5 } from "@jsonforms/vue";
546
+ import { computed as computed8, defineComponent as defineComponent7, h as h7, resolveComponent as resolveComponent6 } from "vue";
547
+ var NuxtUiNumberControl = defineComponent7({
548
+ name: "NuxtUiNumberControl",
549
+ props: rendererProps7(),
550
+ setup(props) {
551
+ const { control, handleChange } = useJsonFormsControl5(
552
+ props
553
+ );
554
+ const errorMessage = computed8(() => trimmedOrUndefined(control.value.errors));
555
+ const modelValue = computed8(() => {
474
556
  const v = control.value.data;
475
557
  return v === null || v === void 0 ? "" : String(v);
476
558
  });
@@ -485,12 +567,12 @@ var NuxtUiNumberControl = defineComponent6({
485
567
  }
486
568
  return () => {
487
569
  if (!control.value.visible) return null;
488
- const UFormField = resolveComponent5("UFormField");
489
- const UInput = resolveComponent5("UInput");
490
- return h6(
570
+ const UFormField = resolveComponent6("UFormField");
571
+ const UInput = resolveComponent6("UInput");
572
+ return h7(
491
573
  "div",
492
574
  {},
493
- h6(
575
+ h7(
494
576
  UFormField,
495
577
  {
496
578
  label: control.value.label,
@@ -499,7 +581,7 @@ var NuxtUiNumberControl = defineComponent6({
499
581
  error: errorMessage.value
500
582
  },
501
583
  {
502
- default: () => h6(UInput, {
584
+ default: () => h7(UInput, {
503
585
  type: "number",
504
586
  inputmode: "decimal",
505
587
  modelValue: modelValue.value,
@@ -516,29 +598,29 @@ var NuxtUiNumberControl = defineComponent6({
516
598
  });
517
599
 
518
600
  // src/renderers/controls/NuxtUiStringControl.ts
519
- import { rendererProps as rendererProps7, useJsonFormsControl as useJsonFormsControl5 } from "@jsonforms/vue";
601
+ import { rendererProps as rendererProps8, useJsonFormsControl as useJsonFormsControl6 } from "@jsonforms/vue";
520
602
  import {
521
- computed as computed8,
522
- defineComponent as defineComponent7,
523
- h as h7,
524
- resolveComponent as resolveComponent6
603
+ computed as computed9,
604
+ defineComponent as defineComponent8,
605
+ h as h8,
606
+ resolveComponent as resolveComponent7
525
607
  } from "vue";
526
- var NuxtUiStringControl = defineComponent7({
608
+ var NuxtUiStringControl = defineComponent8({
527
609
  name: "NuxtUiStringControl",
528
- props: rendererProps7(),
610
+ props: rendererProps8(),
529
611
  setup(props) {
530
- const { control, handleChange } = useJsonFormsControl5(
612
+ const { control, handleChange } = useJsonFormsControl6(
531
613
  props
532
614
  );
533
- const errorMessage = computed8(() => trimmedOrUndefined(control.value.errors));
615
+ const errorMessage = computed9(() => trimmedOrUndefined(control.value.errors));
534
616
  return () => {
535
617
  if (!control.value.visible) return null;
536
- const UFormField = resolveComponent6("UFormField");
537
- const UInput = resolveComponent6("UInput");
538
- return h7(
618
+ const UFormField = resolveComponent7("UFormField");
619
+ const UInput = resolveComponent7("UInput");
620
+ return h8(
539
621
  "div",
540
622
  {},
541
- h7(
623
+ h8(
542
624
  UFormField,
543
625
  {
544
626
  label: control.value.label,
@@ -547,7 +629,7 @@ var NuxtUiStringControl = defineComponent7({
547
629
  error: errorMessage.value
548
630
  },
549
631
  {
550
- default: () => h7(UInput, {
632
+ default: () => h8(UInput, {
551
633
  modelValue: control.value.data ?? "",
552
634
  class: "w-full",
553
635
  disabled: !control.value.enabled,
@@ -563,24 +645,24 @@ var NuxtUiStringControl = defineComponent7({
563
645
  });
564
646
 
565
647
  // src/renderers/controls/NuxtUiTextareaControl.ts
566
- import { rendererProps as rendererProps8, useJsonFormsControl as useJsonFormsControl6 } from "@jsonforms/vue";
567
- import { computed as computed9, defineComponent as defineComponent8, h as h8, resolveComponent as resolveComponent7 } from "vue";
568
- var NuxtUiTextareaControl = defineComponent8({
648
+ import { rendererProps as rendererProps9, useJsonFormsControl as useJsonFormsControl7 } from "@jsonforms/vue";
649
+ import { computed as computed10, defineComponent as defineComponent9, h as h9, resolveComponent as resolveComponent8 } from "vue";
650
+ var NuxtUiTextareaControl = defineComponent9({
569
651
  name: "NuxtUiTextareaControl",
570
- props: rendererProps8(),
652
+ props: rendererProps9(),
571
653
  setup(props) {
572
- const { control, handleChange } = useJsonFormsControl6(
654
+ const { control, handleChange } = useJsonFormsControl7(
573
655
  props
574
656
  );
575
- const errorMessage = computed9(() => trimmedOrUndefined(control.value.errors));
657
+ const errorMessage = computed10(() => trimmedOrUndefined(control.value.errors));
576
658
  return () => {
577
659
  if (!control.value.visible) return null;
578
- const UFormField = resolveComponent7("UFormField");
579
- const UTextarea = resolveComponent7("UTextarea");
580
- return h8(
660
+ const UFormField = resolveComponent8("UFormField");
661
+ const UTextarea = resolveComponent8("UTextarea");
662
+ return h9(
581
663
  "div",
582
664
  {},
583
- h8(
665
+ h9(
584
666
  UFormField,
585
667
  {
586
668
  label: control.value.label,
@@ -589,7 +671,7 @@ var NuxtUiTextareaControl = defineComponent8({
589
671
  error: errorMessage.value
590
672
  },
591
673
  {
592
- default: () => h8(UTextarea, {
674
+ default: () => h9(UTextarea, {
593
675
  modelValue: control.value.data ?? "",
594
676
  class: "w-full",
595
677
  disabled: !control.value.enabled,
@@ -606,37 +688,37 @@ var NuxtUiTextareaControl = defineComponent8({
606
688
  });
607
689
 
608
690
  // src/renderers/layouts/NuxtUiCategorizationRenderer.ts
609
- import { DispatchRenderer as DispatchRenderer3, rendererProps as rendererProps9, useJsonFormsCategorization } from "@jsonforms/vue";
610
- import { defineComponent as defineComponent9, h as h9 } from "vue";
611
- var NuxtUiCategorizationRenderer = defineComponent9({
691
+ import { DispatchRenderer as DispatchRenderer3, rendererProps as rendererProps10, useJsonFormsCategorization } from "@jsonforms/vue";
692
+ import { defineComponent as defineComponent10, h as h10 } from "vue";
693
+ var NuxtUiCategorizationRenderer = defineComponent10({
612
694
  name: "NuxtUiCategorizationRenderer",
613
695
  components: { DispatchRenderer: DispatchRenderer3 },
614
- props: rendererProps9(),
696
+ props: rendererProps10(),
615
697
  setup(props) {
616
698
  const { layout, categories } = useJsonFormsCategorization(
617
699
  props
618
700
  );
619
701
  return () => {
620
702
  if (!layout.value.visible) return null;
621
- return h9(
703
+ return h10(
622
704
  "div",
623
705
  { class: "flex flex-col gap-6" },
624
706
  categories.map((categoryRef, catIndex) => {
625
707
  const category = categoryRef.value;
626
708
  const elements = category.uischema.elements ?? [];
627
- return h9(
709
+ return h10(
628
710
  "div",
629
711
  { key: `${layout.value.path}-cat-${catIndex}`, class: "flex flex-col gap-3" },
630
712
  [
631
- category.label ? h9("div", { class: "text-sm font-semibold" }, category.label) : null,
632
- h9(
713
+ category.label ? h10("div", { class: "text-sm font-semibold" }, category.label) : null,
714
+ h10(
633
715
  "div",
634
716
  { class: "flex flex-col gap-3" },
635
717
  elements.map(
636
- (element, index) => h9(
718
+ (element, index) => h10(
637
719
  "div",
638
720
  { key: `${category.path}-${index}` },
639
- h9(DispatchRenderer3, {
721
+ h10(DispatchRenderer3, {
640
722
  schema: category.schema,
641
723
  uischema: element,
642
724
  path: category.path,
@@ -656,12 +738,12 @@ var NuxtUiCategorizationRenderer = defineComponent9({
656
738
  });
657
739
 
658
740
  // src/renderers/layouts/NuxtUiCategoryRenderer.ts
659
- import { DispatchRenderer as DispatchRenderer4, rendererProps as rendererProps10, useJsonFormsLayout } from "@jsonforms/vue";
660
- import { defineComponent as defineComponent10, h as h10 } from "vue";
661
- var NuxtUiCategoryRenderer = defineComponent10({
741
+ import { DispatchRenderer as DispatchRenderer4, rendererProps as rendererProps11, useJsonFormsLayout } from "@jsonforms/vue";
742
+ import { defineComponent as defineComponent11, h as h11 } from "vue";
743
+ var NuxtUiCategoryRenderer = defineComponent11({
662
744
  name: "NuxtUiCategoryRenderer",
663
745
  components: { DispatchRenderer: DispatchRenderer4 },
664
- props: rendererProps10(),
746
+ props: rendererProps11(),
665
747
  setup(props) {
666
748
  const { layout } = useJsonFormsLayout(
667
749
  props
@@ -669,16 +751,16 @@ var NuxtUiCategoryRenderer = defineComponent10({
669
751
  return () => {
670
752
  if (!layout.value.visible) return null;
671
753
  const elements = layout.value.uischema.elements ?? [];
672
- return h10("div", { class: "flex flex-col gap-3" }, [
673
- layout.value.label ? h10("div", { class: "text-sm font-semibold" }, layout.value.label) : null,
674
- h10(
754
+ return h11("div", { class: "flex flex-col gap-3" }, [
755
+ layout.value.label ? h11("div", { class: "text-sm font-semibold" }, layout.value.label) : null,
756
+ h11(
675
757
  "div",
676
758
  { class: "flex flex-col gap-3" },
677
759
  elements.map(
678
- (element, index) => h10(
760
+ (element, index) => h11(
679
761
  "div",
680
762
  { key: `${layout.value.path}-${index}` },
681
- h10(DispatchRenderer4, {
763
+ h11(DispatchRenderer4, {
682
764
  schema: layout.value.schema,
683
765
  uischema: element,
684
766
  path: layout.value.path,
@@ -695,12 +777,12 @@ var NuxtUiCategoryRenderer = defineComponent10({
695
777
  });
696
778
 
697
779
  // src/renderers/layouts/NuxtUiGroupRenderer.ts
698
- import { DispatchRenderer as DispatchRenderer5, rendererProps as rendererProps11, useJsonFormsLayout as useJsonFormsLayout2 } from "@jsonforms/vue";
699
- import { defineComponent as defineComponent11, h as h11 } from "vue";
700
- var NuxtUiGroupRenderer = defineComponent11({
780
+ import { DispatchRenderer as DispatchRenderer5, rendererProps as rendererProps12, useJsonFormsLayout as useJsonFormsLayout2 } from "@jsonforms/vue";
781
+ import { defineComponent as defineComponent12, h as h12 } from "vue";
782
+ var NuxtUiGroupRenderer = defineComponent12({
701
783
  name: "NuxtUiGroupRenderer",
702
784
  components: { DispatchRenderer: DispatchRenderer5 },
703
- props: rendererProps11(),
785
+ props: rendererProps12(),
704
786
  setup(props) {
705
787
  const { layout } = useJsonFormsLayout2(
706
788
  props
@@ -708,16 +790,16 @@ var NuxtUiGroupRenderer = defineComponent11({
708
790
  return () => {
709
791
  if (!layout.value.visible) return null;
710
792
  const elements = layout.value.uischema.elements ?? [];
711
- return h11("div", { class: "rounded border p-3" }, [
712
- layout.value.label ? h11("div", { class: "mb-3 text-sm font-semibold" }, layout.value.label) : null,
713
- h11(
793
+ return h12("div", { class: "rounded border p-3" }, [
794
+ layout.value.label ? h12("div", { class: "mb-3 text-sm font-semibold" }, layout.value.label) : null,
795
+ h12(
714
796
  "div",
715
797
  { class: "flex flex-col gap-3" },
716
798
  elements.map(
717
- (element, index) => h11(
799
+ (element, index) => h12(
718
800
  "div",
719
801
  { key: `${layout.value.path}-${index}` },
720
- h11(DispatchRenderer5, {
802
+ h12(DispatchRenderer5, {
721
803
  schema: layout.value.schema,
722
804
  uischema: element,
723
805
  path: layout.value.path,
@@ -734,12 +816,12 @@ var NuxtUiGroupRenderer = defineComponent11({
734
816
  });
735
817
 
736
818
  // src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts
737
- import { DispatchRenderer as DispatchRenderer6, rendererProps as rendererProps12, useJsonFormsLayout as useJsonFormsLayout3 } from "@jsonforms/vue";
738
- import { defineComponent as defineComponent12, h as h12 } from "vue";
739
- var NuxtUiHorizontalLayoutRenderer = defineComponent12({
819
+ import { DispatchRenderer as DispatchRenderer6, rendererProps as rendererProps13, useJsonFormsLayout as useJsonFormsLayout3 } from "@jsonforms/vue";
820
+ import { defineComponent as defineComponent13, h as h13 } from "vue";
821
+ var NuxtUiHorizontalLayoutRenderer = defineComponent13({
740
822
  name: "NuxtUiHorizontalLayoutRenderer",
741
823
  components: { DispatchRenderer: DispatchRenderer6 },
742
- props: rendererProps12(),
824
+ props: rendererProps13(),
743
825
  setup(props) {
744
826
  const { layout } = useJsonFormsLayout3(
745
827
  props
@@ -747,14 +829,14 @@ var NuxtUiHorizontalLayoutRenderer = defineComponent12({
747
829
  return () => {
748
830
  if (!layout.value.visible) return null;
749
831
  const elements = layout.value.uischema.elements ?? [];
750
- return h12(
832
+ return h13(
751
833
  "div",
752
834
  { class: "flex flex-col gap-3 md:flex-row md:flex-wrap" },
753
835
  elements.map(
754
- (element, index) => h12(
836
+ (element, index) => h13(
755
837
  "div",
756
838
  { key: `${layout.value.path}-${index}`, class: "min-w-0 flex-1" },
757
- h12(DispatchRenderer6, {
839
+ h13(DispatchRenderer6, {
758
840
  schema: layout.value.schema,
759
841
  uischema: element,
760
842
  path: layout.value.path,
@@ -770,18 +852,18 @@ var NuxtUiHorizontalLayoutRenderer = defineComponent12({
770
852
  });
771
853
 
772
854
  // src/renderers/layouts/NuxtUiLabelRenderer.ts
773
- import { rendererProps as rendererProps13, useJsonFormsLabel } from "@jsonforms/vue";
774
- import { defineComponent as defineComponent13, h as h13 } from "vue";
775
- var NuxtUiLabelRenderer = defineComponent13({
855
+ import { rendererProps as rendererProps14, useJsonFormsLabel } from "@jsonforms/vue";
856
+ import { defineComponent as defineComponent14, h as h14 } from "vue";
857
+ var NuxtUiLabelRenderer = defineComponent14({
776
858
  name: "NuxtUiLabelRenderer",
777
- props: rendererProps13(),
859
+ props: rendererProps14(),
778
860
  setup(props) {
779
861
  const { label } = useJsonFormsLabel(
780
862
  props
781
863
  );
782
864
  return () => {
783
865
  if (!label.value.visible) return null;
784
- return h13(
866
+ return h14(
785
867
  "div",
786
868
  { class: "text-sm text-gray-600 dark:text-gray-300" },
787
869
  label.value.text
@@ -791,12 +873,12 @@ var NuxtUiLabelRenderer = defineComponent13({
791
873
  });
792
874
 
793
875
  // src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts
794
- import { DispatchRenderer as DispatchRenderer7, rendererProps as rendererProps14, useJsonFormsLayout as useJsonFormsLayout4 } from "@jsonforms/vue";
795
- import { defineComponent as defineComponent14, h as h14 } from "vue";
796
- var NuxtUiVerticalLayoutRenderer = defineComponent14({
876
+ import { DispatchRenderer as DispatchRenderer7, rendererProps as rendererProps15, useJsonFormsLayout as useJsonFormsLayout4 } from "@jsonforms/vue";
877
+ import { defineComponent as defineComponent15, h as h15 } from "vue";
878
+ var NuxtUiVerticalLayoutRenderer = defineComponent15({
797
879
  name: "NuxtUiVerticalLayoutRenderer",
798
880
  components: { DispatchRenderer: DispatchRenderer7 },
799
- props: rendererProps14(),
881
+ props: rendererProps15(),
800
882
  setup(props) {
801
883
  const { layout } = useJsonFormsLayout4(
802
884
  props
@@ -804,14 +886,14 @@ var NuxtUiVerticalLayoutRenderer = defineComponent14({
804
886
  return () => {
805
887
  if (!layout.value.visible) return null;
806
888
  const elements = layout.value.uischema.elements ?? [];
807
- return h14(
889
+ return h15(
808
890
  "div",
809
891
  { class: "flex flex-col gap-3" },
810
892
  elements.map(
811
- (element, index) => h14(
893
+ (element, index) => h15(
812
894
  "div",
813
895
  { key: `${layout.value.path}-${index}` },
814
- h14(DispatchRenderer7, {
896
+ h15(DispatchRenderer7, {
815
897
  schema: layout.value.schema,
816
898
  uischema: element,
817
899
  path: layout.value.path,
@@ -828,6 +910,28 @@ var NuxtUiVerticalLayoutRenderer = defineComponent14({
828
910
 
829
911
  // src/nuxtUiRenderers.ts
830
912
  var RANK = 10;
913
+ var ENUM_RANK = RANK + 1;
914
+ var isMultiEnumControl = (uischema, schema, context) => {
915
+ if (!uiTypeIs("Control")(uischema, schema, context)) {
916
+ return false;
917
+ }
918
+ const scope = uischema?.scope;
919
+ if (typeof scope !== "string") return false;
920
+ const rootSchema = context?.rootSchema ?? schema;
921
+ let resolved;
922
+ try {
923
+ resolved = Resolve2.schema(schema, scope, rootSchema);
924
+ } catch {
925
+ return false;
926
+ }
927
+ if (resolved?.type !== "array") return false;
928
+ const items = resolved?.items;
929
+ if (!items) return false;
930
+ if (Array.isArray(items)) return false;
931
+ if (typeof items !== "object" || items === null) return false;
932
+ const resolvedItems = "$ref" in items && typeof items.$ref === "string" ? Resolve2.schema(rootSchema, items.$ref, rootSchema) : items;
933
+ return isEnumSchema(resolvedItems);
934
+ };
831
935
  var nuxtUiRenderers = [
832
936
  // Layouts
833
937
  {
@@ -868,10 +972,6 @@ var nuxtUiRenderers = [
868
972
  tester: rankWith(RANK, isMultiLineControl),
869
973
  renderer: markRaw(NuxtUiTextareaControl)
870
974
  },
871
- {
872
- tester: rankWith(RANK, isStringControl),
873
- renderer: markRaw(NuxtUiStringControl)
874
- },
875
975
  {
876
976
  tester: rankWith(RANK, isNumberControl),
877
977
  renderer: markRaw(NuxtUiNumberControl)
@@ -885,8 +985,19 @@ var nuxtUiRenderers = [
885
985
  renderer: markRaw(NuxtUiBooleanControl)
886
986
  },
887
987
  {
888
- tester: rankWith(RANK, isEnumControl),
988
+ // Multi-enum must outrank generic array renderer and string renderer.
989
+ tester: rankWith(ENUM_RANK, isMultiEnumControl),
990
+ renderer: markRaw(NuxtUiMultiEnumControl)
991
+ },
992
+ {
993
+ // Enum must outrank the generic string control, otherwise enums can render
994
+ // as freeform text inputs.
995
+ tester: rankWith(ENUM_RANK, isEnumControl),
889
996
  renderer: markRaw(NuxtUiEnumControl)
997
+ },
998
+ {
999
+ tester: rankWith(RANK, isStringControl),
1000
+ renderer: markRaw(NuxtUiStringControl)
890
1001
  }
891
1002
  ];
892
1003
  export {