jsonforms-nuxt-ui-renderers 0.1.2 → 0.1.4
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.cjs +10 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -423,7 +423,7 @@ var NuxtUiIntegerControl = (0, import_vue11.defineComponent)({
|
|
|
423
423
|
return v === null || v === void 0 ? "" : String(v);
|
|
424
424
|
});
|
|
425
425
|
function onUpdate(raw) {
|
|
426
|
-
const trimmed = raw.trim();
|
|
426
|
+
const trimmed = String(raw ?? "").trim();
|
|
427
427
|
if (trimmed === "") {
|
|
428
428
|
handleChange(control.value.path, void 0);
|
|
429
429
|
return;
|
|
@@ -480,7 +480,7 @@ var NuxtUiNumberControl = (0, import_vue13.defineComponent)({
|
|
|
480
480
|
return v === null || v === void 0 ? "" : String(v);
|
|
481
481
|
});
|
|
482
482
|
function onUpdate(raw) {
|
|
483
|
-
const trimmed = raw.trim();
|
|
483
|
+
const trimmed = String(raw ?? "").trim();
|
|
484
484
|
if (trimmed === "") {
|
|
485
485
|
handleChange(control.value.path, void 0);
|
|
486
486
|
return;
|
|
@@ -828,6 +828,7 @@ var NuxtUiVerticalLayoutRenderer = (0, import_vue29.defineComponent)({
|
|
|
828
828
|
|
|
829
829
|
// src/nuxtUiRenderers.ts
|
|
830
830
|
var RANK = 10;
|
|
831
|
+
var ENUM_RANK = RANK + 1;
|
|
831
832
|
var nuxtUiRenderers = [
|
|
832
833
|
// Layouts
|
|
833
834
|
{
|
|
@@ -868,10 +869,6 @@ var nuxtUiRenderers = [
|
|
|
868
869
|
tester: (0, import_core3.rankWith)(RANK, import_core3.isMultiLineControl),
|
|
869
870
|
renderer: (0, import_vue30.markRaw)(NuxtUiTextareaControl)
|
|
870
871
|
},
|
|
871
|
-
{
|
|
872
|
-
tester: (0, import_core3.rankWith)(RANK, import_core3.isStringControl),
|
|
873
|
-
renderer: (0, import_vue30.markRaw)(NuxtUiStringControl)
|
|
874
|
-
},
|
|
875
872
|
{
|
|
876
873
|
tester: (0, import_core3.rankWith)(RANK, import_core3.isNumberControl),
|
|
877
874
|
renderer: (0, import_vue30.markRaw)(NuxtUiNumberControl)
|
|
@@ -885,8 +882,14 @@ var nuxtUiRenderers = [
|
|
|
885
882
|
renderer: (0, import_vue30.markRaw)(NuxtUiBooleanControl)
|
|
886
883
|
},
|
|
887
884
|
{
|
|
888
|
-
|
|
885
|
+
// Enum must outrank the generic string control, otherwise enums can render
|
|
886
|
+
// as freeform text inputs.
|
|
887
|
+
tester: (0, import_core3.rankWith)(ENUM_RANK, import_core3.isEnumControl),
|
|
889
888
|
renderer: (0, import_vue30.markRaw)(NuxtUiEnumControl)
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
tester: (0, import_core3.rankWith)(RANK, import_core3.isStringControl),
|
|
892
|
+
renderer: (0, import_vue30.markRaw)(NuxtUiStringControl)
|
|
890
893
|
}
|
|
891
894
|
];
|
|
892
895
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/nuxtUiRenderers.ts","../src/renderers/complex/NuxtUiArrayListRenderer.ts","../src/renderers/util.ts","../src/renderers/complex/NuxtUiObjectRenderer.ts","../src/renderers/controls/NuxtUiBooleanControl.ts","../src/renderers/controls/NuxtUiEnumControl.ts","../src/renderers/controls/NuxtUiIntegerControl.ts","../src/renderers/controls/NuxtUiNumberControl.ts","../src/renderers/controls/NuxtUiStringControl.ts","../src/renderers/controls/NuxtUiTextareaControl.ts","../src/renderers/layouts/NuxtUiCategorizationRenderer.ts","../src/renderers/layouts/NuxtUiCategoryRenderer.ts","../src/renderers/layouts/NuxtUiGroupRenderer.ts","../src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts","../src/renderers/layouts/NuxtUiLabelRenderer.ts","../src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts"],"sourcesContent":["export { nuxtUiRenderers } from './nuxtUiRenderers'\n\nexport type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\n\n","import type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\nimport {\n isBooleanControl,\n isEnumControl,\n isIntegerControl,\n isMultiLineControl,\n isNumberControl,\n isObjectControl,\n isStringControl,\n rankWith,\n schemaTypeIs,\n uiTypeIs,\n} from '@jsonforms/core'\nimport { markRaw } from 'vue'\n\nimport { NuxtUiArrayListRenderer } from './renderers/complex/NuxtUiArrayListRenderer'\nimport { NuxtUiObjectRenderer } from './renderers/complex/NuxtUiObjectRenderer'\nimport { NuxtUiBooleanControl } from './renderers/controls/NuxtUiBooleanControl'\nimport { NuxtUiEnumControl } from './renderers/controls/NuxtUiEnumControl'\nimport { NuxtUiIntegerControl } from './renderers/controls/NuxtUiIntegerControl'\nimport { NuxtUiNumberControl } from './renderers/controls/NuxtUiNumberControl'\nimport { NuxtUiStringControl } from './renderers/controls/NuxtUiStringControl'\nimport { NuxtUiTextareaControl } from './renderers/controls/NuxtUiTextareaControl'\nimport { NuxtUiCategorizationRenderer } from './renderers/layouts/NuxtUiCategorizationRenderer'\nimport { NuxtUiCategoryRenderer } from './renderers/layouts/NuxtUiCategoryRenderer'\nimport { NuxtUiGroupRenderer } from './renderers/layouts/NuxtUiGroupRenderer'\nimport { NuxtUiHorizontalLayoutRenderer } from './renderers/layouts/NuxtUiHorizontalLayoutRenderer'\nimport { NuxtUiLabelRenderer } from './renderers/layouts/NuxtUiLabelRenderer'\nimport { NuxtUiVerticalLayoutRenderer } from './renderers/layouts/NuxtUiVerticalLayoutRenderer'\n\n// Intentionally rank higher than typical defaults.\nconst RANK = 10\n\nexport const nuxtUiRenderers: JsonFormsRendererRegistryEntry[] = [\n // Layouts\n {\n tester: rankWith(RANK, uiTypeIs('VerticalLayout')),\n renderer: markRaw(NuxtUiVerticalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('HorizontalLayout')),\n renderer: markRaw(NuxtUiHorizontalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Group')),\n renderer: markRaw(NuxtUiGroupRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Categorization')),\n renderer: markRaw(NuxtUiCategorizationRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Category')),\n renderer: markRaw(NuxtUiCategoryRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Label')),\n renderer: markRaw(NuxtUiLabelRenderer),\n },\n\n // Complex schemas\n {\n tester: rankWith(RANK, schemaTypeIs('array')),\n renderer: markRaw(NuxtUiArrayListRenderer),\n },\n {\n tester: rankWith(RANK, isObjectControl),\n renderer: markRaw(NuxtUiObjectRenderer),\n },\n\n // Primitive controls\n {\n tester: rankWith(RANK, isMultiLineControl),\n renderer: markRaw(NuxtUiTextareaControl),\n },\n {\n tester: rankWith(RANK, isStringControl),\n renderer: markRaw(NuxtUiStringControl),\n },\n {\n tester: rankWith(RANK, isNumberControl),\n renderer: markRaw(NuxtUiNumberControl),\n },\n {\n tester: rankWith(RANK, isIntegerControl),\n renderer: markRaw(NuxtUiIntegerControl),\n },\n {\n tester: rankWith(RANK, isBooleanControl),\n renderer: markRaw(NuxtUiBooleanControl),\n },\n {\n tester: rankWith(RANK, isEnumControl),\n renderer: markRaw(NuxtUiEnumControl),\n },\n]\n\n","import type { ControlElement, JsonSchema, UISchemaElement } from '@jsonforms/core'\nimport {\n Resolve,\n composePaths,\n createDefaultValue,\n findUISchema,\n getFirstPrimitiveProp,\n} from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsArrayControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiArrayListRenderer = defineComponent({\n name: 'NuxtUiArrayListRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, addItem, removeItems, moveUp, moveDown } =\n useJsonFormsArrayControl(\n props as unknown as Parameters<typeof useJsonFormsArrayControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const items = computed<unknown[]>(() =>\n Array.isArray(control.value.data) ? control.value.data : [],\n )\n\n const arraySchema = computed<JsonSchema | undefined>(() => {\n try {\n return Resolve.schema(\n props.schema,\n control.value.uischema.scope,\n control.value.rootSchema,\n )\n } catch {\n return undefined\n }\n })\n\n const maxItemsReached = computed(() => {\n const max = arraySchema.value?.maxItems\n return typeof max === 'number' ? items.value.length >= max : false\n })\n\n const minItemsReached = computed(() => {\n const min = arraySchema.value?.minItems\n return typeof min === 'number' ? items.value.length <= min : false\n })\n\n const childUiSchema = computed<UISchemaElement>(() =>\n findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n undefined,\n control.value.uischema,\n control.value.rootSchema,\n ),\n )\n\n function childLabelForIndex(index: number): string {\n const childLabelProp =\n getChildLabelPropFromUiSchemaOptions(control.value.uischema.options) ??\n getFirstPrimitiveProp(control.value.schema)\n\n if (!childLabelProp) return `${index}`\n\n const labelValue = Resolve.data(\n control.value.data,\n composePaths(`${index}`, childLabelProp),\n )\n if (\n labelValue === undefined ||\n labelValue === null ||\n Number.isNaN(labelValue as any)\n ) {\n return ''\n }\n return String(labelValue)\n }\n\n function getChildLabelPropFromUiSchemaOptions(options: unknown): string | undefined {\n if (!options || typeof options !== 'object') return undefined\n const value = (options as Record<string, unknown>).childLabelProp\n return typeof value === 'string' ? value : undefined\n }\n\n function addButtonClick() {\n addItem(\n control.value.path,\n createDefaultValue(control.value.schema, control.value.rootSchema),\n )()\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UButton = resolveComponent('UButton')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h('div', { class: 'flex flex-col gap-3' }, [\n h('div', { class: 'flex items-center justify-between gap-3' }, [\n h(\n 'div',\n { class: 'text-xs text-gray-500' },\n `${items.value.length} items`,\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'soft',\n color: 'neutral',\n disabled: !control.value.enabled || maxItemsReached.value,\n onClick: addButtonClick,\n },\n { default: () => 'Add' },\n ),\n ]),\n\n items.value.length === 0\n ? h(\n 'div',\n { class: 'text-sm text-gray-500' },\n 'No items.',\n )\n : null,\n\n ...items.value.map((_item, index) =>\n h(\n 'div',\n { key: `${control.value.path}-${index}`, class: 'rounded border p-3' },\n [\n h(\n 'div',\n { class: 'mb-3 flex items-start justify-between gap-3' },\n [\n h('div', { class: 'min-w-0' }, [\n h(\n 'div',\n {\n class:\n 'text-xs font-semibold text-gray-700 dark:text-gray-200',\n },\n [\n `Item ${index + 1}`,\n childLabelForIndex(index)\n ? h(\n 'span',\n {\n class:\n 'font-normal text-gray-500',\n },\n ` — ${childLabelForIndex(index)}`,\n )\n : null,\n ],\n ),\n ]),\n h('div', { class: 'flex flex-none items-center gap-1' }, [\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled: !control.value.enabled || index === 0,\n onClick: () => moveUp?.(control.value.path, index)(),\n },\n { default: () => 'Up' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled:\n !control.value.enabled ||\n index >= items.value.length - 1,\n onClick: () => moveDown?.(control.value.path, index)(),\n },\n { default: () => 'Down' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'error',\n disabled: !control.value.enabled || minItemsReached.value,\n onClick: () =>\n removeItems?.(control.value.path, [index])(),\n },\n { default: () => 'Remove' },\n ),\n ]),\n ],\n ),\n\n h(DispatchRenderer as any, {\n schema: control.value.schema,\n uischema: childUiSchema.value,\n path: composePaths(control.value.path, `${index}`),\n enabled: control.value.enabled,\n renderers: control.value.renderers,\n cells: control.value.cells,\n }),\n ],\n ),\n ),\n ]),\n },\n ),\n )\n }\n },\n})\n\n","import { computed, type ComputedRef } from 'vue'\n\nexport function trimmedOrUndefined(input: string | undefined): string | undefined {\n const v = input?.trim()\n return v ? v : undefined\n}\n\nexport function errorFromControl(\n control: ComputedRef<{ errors: string }>,\n): ComputedRef<string | undefined> {\n return computed(() => trimmedOrUndefined(control.value.errors))\n}\n\n","import type { ControlElement, GroupLayout, UISchemaElement } from '@jsonforms/core'\nimport { Generate, findUISchema } from '@jsonforms/core'\nimport {\n DispatchRenderer,\n rendererProps,\n useJsonFormsControlWithDetail,\n} from '@jsonforms/vue'\nimport { computed, defineComponent, h } from 'vue'\n\nexport const NuxtUiObjectRenderer = defineComponent({\n name: 'NuxtUiObjectRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control } = useJsonFormsControlWithDetail(\n props as unknown as Parameters<typeof useJsonFormsControlWithDetail>[0],\n )\n\n const detailUiSchema = computed<UISchemaElement>(() => {\n const uiSchemaGenerator = () => {\n const uiSchema = Generate.uiSchema(\n control.value.schema,\n 'Group',\n undefined,\n control.value.rootSchema,\n )\n\n if (!control.value.path) {\n uiSchema.type = 'VerticalLayout'\n } else {\n ;(uiSchema as GroupLayout).label = control.value.label\n }\n return uiSchema\n }\n\n return findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n uiSchemaGenerator,\n control.value.uischema,\n control.value.rootSchema,\n )\n })\n\n return () => {\n if (!control.value.visible) return null\n\n return h(DispatchRenderer as any, {\n visible: control.value.visible,\n enabled: control.value.enabled,\n schema: control.value.schema,\n uischema: detailUiSchema.value,\n path: control.value.path,\n renderers: control.value.renderers,\n cells: control.value.cells,\n })\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiBooleanControl = defineComponent({\n name: 'NuxtUiBooleanControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed<boolean>({\n get: () => Boolean(control.value.data),\n set: (v: boolean) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USwitch = resolveComponent('USwitch')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(\n 'div',\n { class: 'flex items-center justify-between gap-3' },\n h(USwitch as any, {\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: boolean) => {\n modelValue.value = v\n },\n }),\n ),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement, JsonSchema } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\ntype EnumOption = { label: string; value: unknown }\n\nfunction schemaEnumOptions(schema: JsonSchema | undefined): EnumOption[] {\n if (!schema) return []\n\n if (Array.isArray(schema.enum)) {\n return schema.enum.map((v) => ({ label: String(v), value: v }))\n }\n\n const oneOf = (schema as unknown as { oneOf?: unknown }).oneOf\n if (!Array.isArray(oneOf)) return []\n\n const out: EnumOption[] = []\n for (const entry of oneOf) {\n if (typeof entry !== 'object' || entry === null) continue\n const maybe = entry as Record<string, unknown>\n if (!('const' in maybe)) continue\n out.push({\n value: maybe.const,\n label:\n typeof maybe.title === 'string' && maybe.title.trim()\n ? maybe.title\n : String(maybe.const),\n })\n }\n return out\n}\n\nexport const NuxtUiEnumControl = defineComponent({\n name: 'NuxtUiEnumControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n const options = computed<EnumOption[]>(() => schemaEnumOptions(control.value.schema))\n\n const selectedValue = computed<unknown>({\n get: () => control.value.data,\n set: (v: unknown) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USelectMenu = resolveComponent('USelectMenu')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(USelectMenu as any, {\n modelValue: selectedValue.value,\n items: options.value,\n valueKey: 'value',\n labelKey: 'label',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n placeholder: 'Select...',\n 'onUpdate:modelValue': (v: unknown) => {\n selectedValue.value = v\n },\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiIntegerControl = defineComponent({\n name: 'NuxtUiIntegerControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: string) {\n const trimmed = raw.trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n\n const parsed = Number.parseInt(trimmed, 10)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'numeric',\n step: '1',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiNumberControl = defineComponent({\n name: 'NuxtUiNumberControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: string) {\n const trimmed = raw.trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n const parsed = Number(trimmed)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'decimal',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport {\n computed,\n defineComponent,\n h,\n resolveComponent,\n} from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiStringControl = defineComponent({\n name: 'NuxtUiStringControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiTextareaControl = defineComponent({\n name: 'NuxtUiTextareaControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UTextarea = resolveComponent('UTextarea')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UTextarea as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n rows: 5,\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsCategorization } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategorizationRenderer = defineComponent({\n name: 'NuxtUiCategorizationRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout, categories } = useJsonFormsCategorization(\n props as unknown as Parameters<typeof useJsonFormsCategorization>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n return h(\n 'div',\n { class: 'flex flex-col gap-6' },\n categories.map((categoryRef, catIndex) => {\n const category = categoryRef.value\n const elements = category.uischema.elements ?? []\n\n return h(\n 'div',\n { key: `${layout.value.path}-cat-${catIndex}`, class: 'flex flex-col gap-3' },\n [\n category.label\n ? h('div', { class: 'text-sm font-semibold' }, category.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${category.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: category.schema,\n uischema: element,\n path: category.path,\n enabled: category.enabled,\n renderers: category.renderers,\n cells: category.cells,\n }),\n ),\n ),\n ),\n ],\n )\n }),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategoryRenderer = defineComponent({\n name: 'NuxtUiCategoryRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'flex flex-col gap-3' }, [\n layout.value.label\n ? h('div', { class: 'text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiGroupRenderer = defineComponent({\n name: 'NuxtUiGroupRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'rounded border p-3' }, [\n layout.value.label\n ? h('div', { class: 'mb-3 text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiHorizontalLayoutRenderer = defineComponent({\n name: 'NuxtUiHorizontalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3 md:flex-row md:flex-wrap' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}`, class: 'min-w-0 flex-1' },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n","import type { LabelElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsLabel } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiLabelRenderer = defineComponent({\n name: 'NuxtUiLabelRenderer',\n props: rendererProps<LabelElement>(),\n setup(props) {\n const { label } = useJsonFormsLabel(\n props as unknown as Parameters<typeof useJsonFormsLabel>[0],\n )\n\n return () => {\n if (!label.value.visible) return null\n return h(\n 'div',\n { class: 'text-sm text-gray-600 dark:text-gray-300' },\n label.value.text,\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiVerticalLayoutRenderer = defineComponent({\n name: 'NuxtUiVerticalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n"],"mappings":"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","names":["import_core","import_vue","import_vue","import_core","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/nuxtUiRenderers.ts","../src/renderers/complex/NuxtUiArrayListRenderer.ts","../src/renderers/util.ts","../src/renderers/complex/NuxtUiObjectRenderer.ts","../src/renderers/controls/NuxtUiBooleanControl.ts","../src/renderers/controls/NuxtUiEnumControl.ts","../src/renderers/controls/NuxtUiIntegerControl.ts","../src/renderers/controls/NuxtUiNumberControl.ts","../src/renderers/controls/NuxtUiStringControl.ts","../src/renderers/controls/NuxtUiTextareaControl.ts","../src/renderers/layouts/NuxtUiCategorizationRenderer.ts","../src/renderers/layouts/NuxtUiCategoryRenderer.ts","../src/renderers/layouts/NuxtUiGroupRenderer.ts","../src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts","../src/renderers/layouts/NuxtUiLabelRenderer.ts","../src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts"],"sourcesContent":["export { nuxtUiRenderers } from './nuxtUiRenderers'\n\nexport type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\n\n","import type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\nimport {\n isBooleanControl,\n isEnumControl,\n isIntegerControl,\n isMultiLineControl,\n isNumberControl,\n isObjectControl,\n isStringControl,\n rankWith,\n schemaTypeIs,\n uiTypeIs,\n} from '@jsonforms/core'\nimport { markRaw } from 'vue'\n\nimport { NuxtUiArrayListRenderer } from './renderers/complex/NuxtUiArrayListRenderer'\nimport { NuxtUiObjectRenderer } from './renderers/complex/NuxtUiObjectRenderer'\nimport { NuxtUiBooleanControl } from './renderers/controls/NuxtUiBooleanControl'\nimport { NuxtUiEnumControl } from './renderers/controls/NuxtUiEnumControl'\nimport { NuxtUiIntegerControl } from './renderers/controls/NuxtUiIntegerControl'\nimport { NuxtUiNumberControl } from './renderers/controls/NuxtUiNumberControl'\nimport { NuxtUiStringControl } from './renderers/controls/NuxtUiStringControl'\nimport { NuxtUiTextareaControl } from './renderers/controls/NuxtUiTextareaControl'\nimport { NuxtUiCategorizationRenderer } from './renderers/layouts/NuxtUiCategorizationRenderer'\nimport { NuxtUiCategoryRenderer } from './renderers/layouts/NuxtUiCategoryRenderer'\nimport { NuxtUiGroupRenderer } from './renderers/layouts/NuxtUiGroupRenderer'\nimport { NuxtUiHorizontalLayoutRenderer } from './renderers/layouts/NuxtUiHorizontalLayoutRenderer'\nimport { NuxtUiLabelRenderer } from './renderers/layouts/NuxtUiLabelRenderer'\nimport { NuxtUiVerticalLayoutRenderer } from './renderers/layouts/NuxtUiVerticalLayoutRenderer'\n\n// Intentionally rank higher than typical defaults.\nconst RANK = 10\nconst ENUM_RANK = RANK + 1\n\nexport const nuxtUiRenderers: JsonFormsRendererRegistryEntry[] = [\n // Layouts\n {\n tester: rankWith(RANK, uiTypeIs('VerticalLayout')),\n renderer: markRaw(NuxtUiVerticalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('HorizontalLayout')),\n renderer: markRaw(NuxtUiHorizontalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Group')),\n renderer: markRaw(NuxtUiGroupRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Categorization')),\n renderer: markRaw(NuxtUiCategorizationRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Category')),\n renderer: markRaw(NuxtUiCategoryRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Label')),\n renderer: markRaw(NuxtUiLabelRenderer),\n },\n\n // Complex schemas\n {\n tester: rankWith(RANK, schemaTypeIs('array')),\n renderer: markRaw(NuxtUiArrayListRenderer),\n },\n {\n tester: rankWith(RANK, isObjectControl),\n renderer: markRaw(NuxtUiObjectRenderer),\n },\n\n // Primitive controls\n {\n tester: rankWith(RANK, isMultiLineControl),\n renderer: markRaw(NuxtUiTextareaControl),\n },\n {\n tester: rankWith(RANK, isNumberControl),\n renderer: markRaw(NuxtUiNumberControl),\n },\n {\n tester: rankWith(RANK, isIntegerControl),\n renderer: markRaw(NuxtUiIntegerControl),\n },\n {\n tester: rankWith(RANK, isBooleanControl),\n renderer: markRaw(NuxtUiBooleanControl),\n },\n {\n // Enum must outrank the generic string control, otherwise enums can render\n // as freeform text inputs.\n tester: rankWith(ENUM_RANK, isEnumControl),\n renderer: markRaw(NuxtUiEnumControl),\n },\n {\n tester: rankWith(RANK, isStringControl),\n renderer: markRaw(NuxtUiStringControl),\n },\n]\n\n","import type { ControlElement, JsonSchema, UISchemaElement } from '@jsonforms/core'\nimport {\n Resolve,\n composePaths,\n createDefaultValue,\n findUISchema,\n getFirstPrimitiveProp,\n} from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsArrayControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiArrayListRenderer = defineComponent({\n name: 'NuxtUiArrayListRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, addItem, removeItems, moveUp, moveDown } =\n useJsonFormsArrayControl(\n props as unknown as Parameters<typeof useJsonFormsArrayControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const items = computed<unknown[]>(() =>\n Array.isArray(control.value.data) ? control.value.data : [],\n )\n\n const arraySchema = computed<JsonSchema | undefined>(() => {\n try {\n return Resolve.schema(\n props.schema,\n control.value.uischema.scope,\n control.value.rootSchema,\n )\n } catch {\n return undefined\n }\n })\n\n const maxItemsReached = computed(() => {\n const max = arraySchema.value?.maxItems\n return typeof max === 'number' ? items.value.length >= max : false\n })\n\n const minItemsReached = computed(() => {\n const min = arraySchema.value?.minItems\n return typeof min === 'number' ? items.value.length <= min : false\n })\n\n const childUiSchema = computed<UISchemaElement>(() =>\n findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n undefined,\n control.value.uischema,\n control.value.rootSchema,\n ),\n )\n\n function childLabelForIndex(index: number): string {\n const childLabelProp =\n getChildLabelPropFromUiSchemaOptions(control.value.uischema.options) ??\n getFirstPrimitiveProp(control.value.schema)\n\n if (!childLabelProp) return `${index}`\n\n const labelValue = Resolve.data(\n control.value.data,\n composePaths(`${index}`, childLabelProp),\n )\n if (\n labelValue === undefined ||\n labelValue === null ||\n Number.isNaN(labelValue as any)\n ) {\n return ''\n }\n return String(labelValue)\n }\n\n function getChildLabelPropFromUiSchemaOptions(options: unknown): string | undefined {\n if (!options || typeof options !== 'object') return undefined\n const value = (options as Record<string, unknown>).childLabelProp\n return typeof value === 'string' ? value : undefined\n }\n\n function addButtonClick() {\n addItem(\n control.value.path,\n createDefaultValue(control.value.schema, control.value.rootSchema),\n )()\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UButton = resolveComponent('UButton')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h('div', { class: 'flex flex-col gap-3' }, [\n h('div', { class: 'flex items-center justify-between gap-3' }, [\n h(\n 'div',\n { class: 'text-xs text-gray-500' },\n `${items.value.length} items`,\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'soft',\n color: 'neutral',\n disabled: !control.value.enabled || maxItemsReached.value,\n onClick: addButtonClick,\n },\n { default: () => 'Add' },\n ),\n ]),\n\n items.value.length === 0\n ? h(\n 'div',\n { class: 'text-sm text-gray-500' },\n 'No items.',\n )\n : null,\n\n ...items.value.map((_item, index) =>\n h(\n 'div',\n { key: `${control.value.path}-${index}`, class: 'rounded border p-3' },\n [\n h(\n 'div',\n { class: 'mb-3 flex items-start justify-between gap-3' },\n [\n h('div', { class: 'min-w-0' }, [\n h(\n 'div',\n {\n class:\n 'text-xs font-semibold text-gray-700 dark:text-gray-200',\n },\n [\n `Item ${index + 1}`,\n childLabelForIndex(index)\n ? h(\n 'span',\n {\n class:\n 'font-normal text-gray-500',\n },\n ` — ${childLabelForIndex(index)}`,\n )\n : null,\n ],\n ),\n ]),\n h('div', { class: 'flex flex-none items-center gap-1' }, [\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled: !control.value.enabled || index === 0,\n onClick: () => moveUp?.(control.value.path, index)(),\n },\n { default: () => 'Up' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled:\n !control.value.enabled ||\n index >= items.value.length - 1,\n onClick: () => moveDown?.(control.value.path, index)(),\n },\n { default: () => 'Down' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'error',\n disabled: !control.value.enabled || minItemsReached.value,\n onClick: () =>\n removeItems?.(control.value.path, [index])(),\n },\n { default: () => 'Remove' },\n ),\n ]),\n ],\n ),\n\n h(DispatchRenderer as any, {\n schema: control.value.schema,\n uischema: childUiSchema.value,\n path: composePaths(control.value.path, `${index}`),\n enabled: control.value.enabled,\n renderers: control.value.renderers,\n cells: control.value.cells,\n }),\n ],\n ),\n ),\n ]),\n },\n ),\n )\n }\n },\n})\n\n","import { computed, type ComputedRef } from 'vue'\n\nexport function trimmedOrUndefined(input: string | undefined): string | undefined {\n const v = input?.trim()\n return v ? v : undefined\n}\n\nexport function errorFromControl(\n control: ComputedRef<{ errors: string }>,\n): ComputedRef<string | undefined> {\n return computed(() => trimmedOrUndefined(control.value.errors))\n}\n\n","import type { ControlElement, GroupLayout, UISchemaElement } from '@jsonforms/core'\nimport { Generate, findUISchema } from '@jsonforms/core'\nimport {\n DispatchRenderer,\n rendererProps,\n useJsonFormsControlWithDetail,\n} from '@jsonforms/vue'\nimport { computed, defineComponent, h } from 'vue'\n\nexport const NuxtUiObjectRenderer = defineComponent({\n name: 'NuxtUiObjectRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control } = useJsonFormsControlWithDetail(\n props as unknown as Parameters<typeof useJsonFormsControlWithDetail>[0],\n )\n\n const detailUiSchema = computed<UISchemaElement>(() => {\n const uiSchemaGenerator = () => {\n const uiSchema = Generate.uiSchema(\n control.value.schema,\n 'Group',\n undefined,\n control.value.rootSchema,\n )\n\n if (!control.value.path) {\n uiSchema.type = 'VerticalLayout'\n } else {\n ;(uiSchema as GroupLayout).label = control.value.label\n }\n return uiSchema\n }\n\n return findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n uiSchemaGenerator,\n control.value.uischema,\n control.value.rootSchema,\n )\n })\n\n return () => {\n if (!control.value.visible) return null\n\n return h(DispatchRenderer as any, {\n visible: control.value.visible,\n enabled: control.value.enabled,\n schema: control.value.schema,\n uischema: detailUiSchema.value,\n path: control.value.path,\n renderers: control.value.renderers,\n cells: control.value.cells,\n })\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiBooleanControl = defineComponent({\n name: 'NuxtUiBooleanControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed<boolean>({\n get: () => Boolean(control.value.data),\n set: (v: boolean) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USwitch = resolveComponent('USwitch')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(\n 'div',\n { class: 'flex items-center justify-between gap-3' },\n h(USwitch as any, {\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: boolean) => {\n modelValue.value = v\n },\n }),\n ),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement, JsonSchema } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\ntype EnumOption = { label: string; value: unknown }\n\nfunction schemaEnumOptions(schema: JsonSchema | undefined): EnumOption[] {\n if (!schema) return []\n\n if (Array.isArray(schema.enum)) {\n return schema.enum.map((v) => ({ label: String(v), value: v }))\n }\n\n const oneOf = (schema as unknown as { oneOf?: unknown }).oneOf\n if (!Array.isArray(oneOf)) return []\n\n const out: EnumOption[] = []\n for (const entry of oneOf) {\n if (typeof entry !== 'object' || entry === null) continue\n const maybe = entry as Record<string, unknown>\n if (!('const' in maybe)) continue\n out.push({\n value: maybe.const,\n label:\n typeof maybe.title === 'string' && maybe.title.trim()\n ? maybe.title\n : String(maybe.const),\n })\n }\n return out\n}\n\nexport const NuxtUiEnumControl = defineComponent({\n name: 'NuxtUiEnumControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n const options = computed<EnumOption[]>(() => schemaEnumOptions(control.value.schema))\n\n const selectedValue = computed<unknown>({\n get: () => control.value.data,\n set: (v: unknown) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USelectMenu = resolveComponent('USelectMenu')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(USelectMenu as any, {\n modelValue: selectedValue.value,\n items: options.value,\n valueKey: 'value',\n labelKey: 'label',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n placeholder: 'Select...',\n 'onUpdate:modelValue': (v: unknown) => {\n selectedValue.value = v\n },\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiIntegerControl = defineComponent({\n name: 'NuxtUiIntegerControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: unknown) {\n const trimmed = String(raw ?? '').trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n\n const parsed = Number.parseInt(trimmed, 10)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'numeric',\n step: '1',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiNumberControl = defineComponent({\n name: 'NuxtUiNumberControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: unknown) {\n const trimmed = String(raw ?? '').trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n const parsed = Number(trimmed)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'decimal',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport {\n computed,\n defineComponent,\n h,\n resolveComponent,\n} from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiStringControl = defineComponent({\n name: 'NuxtUiStringControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiTextareaControl = defineComponent({\n name: 'NuxtUiTextareaControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UTextarea = resolveComponent('UTextarea')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UTextarea as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n rows: 5,\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsCategorization } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategorizationRenderer = defineComponent({\n name: 'NuxtUiCategorizationRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout, categories } = useJsonFormsCategorization(\n props as unknown as Parameters<typeof useJsonFormsCategorization>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n return h(\n 'div',\n { class: 'flex flex-col gap-6' },\n categories.map((categoryRef, catIndex) => {\n const category = categoryRef.value\n const elements = category.uischema.elements ?? []\n\n return h(\n 'div',\n { key: `${layout.value.path}-cat-${catIndex}`, class: 'flex flex-col gap-3' },\n [\n category.label\n ? h('div', { class: 'text-sm font-semibold' }, category.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${category.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: category.schema,\n uischema: element,\n path: category.path,\n enabled: category.enabled,\n renderers: category.renderers,\n cells: category.cells,\n }),\n ),\n ),\n ),\n ],\n )\n }),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategoryRenderer = defineComponent({\n name: 'NuxtUiCategoryRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'flex flex-col gap-3' }, [\n layout.value.label\n ? h('div', { class: 'text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiGroupRenderer = defineComponent({\n name: 'NuxtUiGroupRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'rounded border p-3' }, [\n layout.value.label\n ? h('div', { class: 'mb-3 text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiHorizontalLayoutRenderer = defineComponent({\n name: 'NuxtUiHorizontalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3 md:flex-row md:flex-wrap' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}`, class: 'min-w-0 flex-1' },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n","import type { LabelElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsLabel } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiLabelRenderer = defineComponent({\n name: 'NuxtUiLabelRenderer',\n props: rendererProps<LabelElement>(),\n setup(props) {\n const { label } = useJsonFormsLabel(\n props as unknown as Parameters<typeof useJsonFormsLabel>[0],\n )\n\n return () => {\n if (!label.value.visible) return null\n return h(\n 'div',\n { class: 'text-sm text-gray-600 dark:text-gray-300' },\n label.value.text,\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiVerticalLayoutRenderer = defineComponent({\n name: 'NuxtUiVerticalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n"],"mappings":"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","names":["import_core","import_vue","import_vue","import_core","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue","import_vue"]}
|
package/dist/index.js
CHANGED
|
@@ -418,7 +418,7 @@ var NuxtUiIntegerControl = defineComponent5({
|
|
|
418
418
|
return v === null || v === void 0 ? "" : String(v);
|
|
419
419
|
});
|
|
420
420
|
function onUpdate(raw) {
|
|
421
|
-
const trimmed = raw.trim();
|
|
421
|
+
const trimmed = String(raw ?? "").trim();
|
|
422
422
|
if (trimmed === "") {
|
|
423
423
|
handleChange(control.value.path, void 0);
|
|
424
424
|
return;
|
|
@@ -475,7 +475,7 @@ var NuxtUiNumberControl = defineComponent6({
|
|
|
475
475
|
return v === null || v === void 0 ? "" : String(v);
|
|
476
476
|
});
|
|
477
477
|
function onUpdate(raw) {
|
|
478
|
-
const trimmed = raw.trim();
|
|
478
|
+
const trimmed = String(raw ?? "").trim();
|
|
479
479
|
if (trimmed === "") {
|
|
480
480
|
handleChange(control.value.path, void 0);
|
|
481
481
|
return;
|
|
@@ -828,6 +828,7 @@ var NuxtUiVerticalLayoutRenderer = defineComponent14({
|
|
|
828
828
|
|
|
829
829
|
// src/nuxtUiRenderers.ts
|
|
830
830
|
var RANK = 10;
|
|
831
|
+
var ENUM_RANK = RANK + 1;
|
|
831
832
|
var nuxtUiRenderers = [
|
|
832
833
|
// Layouts
|
|
833
834
|
{
|
|
@@ -868,10 +869,6 @@ var nuxtUiRenderers = [
|
|
|
868
869
|
tester: rankWith(RANK, isMultiLineControl),
|
|
869
870
|
renderer: markRaw(NuxtUiTextareaControl)
|
|
870
871
|
},
|
|
871
|
-
{
|
|
872
|
-
tester: rankWith(RANK, isStringControl),
|
|
873
|
-
renderer: markRaw(NuxtUiStringControl)
|
|
874
|
-
},
|
|
875
872
|
{
|
|
876
873
|
tester: rankWith(RANK, isNumberControl),
|
|
877
874
|
renderer: markRaw(NuxtUiNumberControl)
|
|
@@ -885,8 +882,14 @@ var nuxtUiRenderers = [
|
|
|
885
882
|
renderer: markRaw(NuxtUiBooleanControl)
|
|
886
883
|
},
|
|
887
884
|
{
|
|
888
|
-
|
|
885
|
+
// Enum must outrank the generic string control, otherwise enums can render
|
|
886
|
+
// as freeform text inputs.
|
|
887
|
+
tester: rankWith(ENUM_RANK, isEnumControl),
|
|
889
888
|
renderer: markRaw(NuxtUiEnumControl)
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
tester: rankWith(RANK, isStringControl),
|
|
892
|
+
renderer: markRaw(NuxtUiStringControl)
|
|
890
893
|
}
|
|
891
894
|
];
|
|
892
895
|
export {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/nuxtUiRenderers.ts","../src/renderers/complex/NuxtUiArrayListRenderer.ts","../src/renderers/util.ts","../src/renderers/complex/NuxtUiObjectRenderer.ts","../src/renderers/controls/NuxtUiBooleanControl.ts","../src/renderers/controls/NuxtUiEnumControl.ts","../src/renderers/controls/NuxtUiIntegerControl.ts","../src/renderers/controls/NuxtUiNumberControl.ts","../src/renderers/controls/NuxtUiStringControl.ts","../src/renderers/controls/NuxtUiTextareaControl.ts","../src/renderers/layouts/NuxtUiCategorizationRenderer.ts","../src/renderers/layouts/NuxtUiCategoryRenderer.ts","../src/renderers/layouts/NuxtUiGroupRenderer.ts","../src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts","../src/renderers/layouts/NuxtUiLabelRenderer.ts","../src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts"],"sourcesContent":["import type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\nimport {\n isBooleanControl,\n isEnumControl,\n isIntegerControl,\n isMultiLineControl,\n isNumberControl,\n isObjectControl,\n isStringControl,\n rankWith,\n schemaTypeIs,\n uiTypeIs,\n} from '@jsonforms/core'\nimport { markRaw } from 'vue'\n\nimport { NuxtUiArrayListRenderer } from './renderers/complex/NuxtUiArrayListRenderer'\nimport { NuxtUiObjectRenderer } from './renderers/complex/NuxtUiObjectRenderer'\nimport { NuxtUiBooleanControl } from './renderers/controls/NuxtUiBooleanControl'\nimport { NuxtUiEnumControl } from './renderers/controls/NuxtUiEnumControl'\nimport { NuxtUiIntegerControl } from './renderers/controls/NuxtUiIntegerControl'\nimport { NuxtUiNumberControl } from './renderers/controls/NuxtUiNumberControl'\nimport { NuxtUiStringControl } from './renderers/controls/NuxtUiStringControl'\nimport { NuxtUiTextareaControl } from './renderers/controls/NuxtUiTextareaControl'\nimport { NuxtUiCategorizationRenderer } from './renderers/layouts/NuxtUiCategorizationRenderer'\nimport { NuxtUiCategoryRenderer } from './renderers/layouts/NuxtUiCategoryRenderer'\nimport { NuxtUiGroupRenderer } from './renderers/layouts/NuxtUiGroupRenderer'\nimport { NuxtUiHorizontalLayoutRenderer } from './renderers/layouts/NuxtUiHorizontalLayoutRenderer'\nimport { NuxtUiLabelRenderer } from './renderers/layouts/NuxtUiLabelRenderer'\nimport { NuxtUiVerticalLayoutRenderer } from './renderers/layouts/NuxtUiVerticalLayoutRenderer'\n\n// Intentionally rank higher than typical defaults.\nconst RANK = 10\n\nexport const nuxtUiRenderers: JsonFormsRendererRegistryEntry[] = [\n // Layouts\n {\n tester: rankWith(RANK, uiTypeIs('VerticalLayout')),\n renderer: markRaw(NuxtUiVerticalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('HorizontalLayout')),\n renderer: markRaw(NuxtUiHorizontalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Group')),\n renderer: markRaw(NuxtUiGroupRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Categorization')),\n renderer: markRaw(NuxtUiCategorizationRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Category')),\n renderer: markRaw(NuxtUiCategoryRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Label')),\n renderer: markRaw(NuxtUiLabelRenderer),\n },\n\n // Complex schemas\n {\n tester: rankWith(RANK, schemaTypeIs('array')),\n renderer: markRaw(NuxtUiArrayListRenderer),\n },\n {\n tester: rankWith(RANK, isObjectControl),\n renderer: markRaw(NuxtUiObjectRenderer),\n },\n\n // Primitive controls\n {\n tester: rankWith(RANK, isMultiLineControl),\n renderer: markRaw(NuxtUiTextareaControl),\n },\n {\n tester: rankWith(RANK, isStringControl),\n renderer: markRaw(NuxtUiStringControl),\n },\n {\n tester: rankWith(RANK, isNumberControl),\n renderer: markRaw(NuxtUiNumberControl),\n },\n {\n tester: rankWith(RANK, isIntegerControl),\n renderer: markRaw(NuxtUiIntegerControl),\n },\n {\n tester: rankWith(RANK, isBooleanControl),\n renderer: markRaw(NuxtUiBooleanControl),\n },\n {\n tester: rankWith(RANK, isEnumControl),\n renderer: markRaw(NuxtUiEnumControl),\n },\n]\n\n","import type { ControlElement, JsonSchema, UISchemaElement } from '@jsonforms/core'\nimport {\n Resolve,\n composePaths,\n createDefaultValue,\n findUISchema,\n getFirstPrimitiveProp,\n} from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsArrayControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiArrayListRenderer = defineComponent({\n name: 'NuxtUiArrayListRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, addItem, removeItems, moveUp, moveDown } =\n useJsonFormsArrayControl(\n props as unknown as Parameters<typeof useJsonFormsArrayControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const items = computed<unknown[]>(() =>\n Array.isArray(control.value.data) ? control.value.data : [],\n )\n\n const arraySchema = computed<JsonSchema | undefined>(() => {\n try {\n return Resolve.schema(\n props.schema,\n control.value.uischema.scope,\n control.value.rootSchema,\n )\n } catch {\n return undefined\n }\n })\n\n const maxItemsReached = computed(() => {\n const max = arraySchema.value?.maxItems\n return typeof max === 'number' ? items.value.length >= max : false\n })\n\n const minItemsReached = computed(() => {\n const min = arraySchema.value?.minItems\n return typeof min === 'number' ? items.value.length <= min : false\n })\n\n const childUiSchema = computed<UISchemaElement>(() =>\n findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n undefined,\n control.value.uischema,\n control.value.rootSchema,\n ),\n )\n\n function childLabelForIndex(index: number): string {\n const childLabelProp =\n getChildLabelPropFromUiSchemaOptions(control.value.uischema.options) ??\n getFirstPrimitiveProp(control.value.schema)\n\n if (!childLabelProp) return `${index}`\n\n const labelValue = Resolve.data(\n control.value.data,\n composePaths(`${index}`, childLabelProp),\n )\n if (\n labelValue === undefined ||\n labelValue === null ||\n Number.isNaN(labelValue as any)\n ) {\n return ''\n }\n return String(labelValue)\n }\n\n function getChildLabelPropFromUiSchemaOptions(options: unknown): string | undefined {\n if (!options || typeof options !== 'object') return undefined\n const value = (options as Record<string, unknown>).childLabelProp\n return typeof value === 'string' ? value : undefined\n }\n\n function addButtonClick() {\n addItem(\n control.value.path,\n createDefaultValue(control.value.schema, control.value.rootSchema),\n )()\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UButton = resolveComponent('UButton')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h('div', { class: 'flex flex-col gap-3' }, [\n h('div', { class: 'flex items-center justify-between gap-3' }, [\n h(\n 'div',\n { class: 'text-xs text-gray-500' },\n `${items.value.length} items`,\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'soft',\n color: 'neutral',\n disabled: !control.value.enabled || maxItemsReached.value,\n onClick: addButtonClick,\n },\n { default: () => 'Add' },\n ),\n ]),\n\n items.value.length === 0\n ? h(\n 'div',\n { class: 'text-sm text-gray-500' },\n 'No items.',\n )\n : null,\n\n ...items.value.map((_item, index) =>\n h(\n 'div',\n { key: `${control.value.path}-${index}`, class: 'rounded border p-3' },\n [\n h(\n 'div',\n { class: 'mb-3 flex items-start justify-between gap-3' },\n [\n h('div', { class: 'min-w-0' }, [\n h(\n 'div',\n {\n class:\n 'text-xs font-semibold text-gray-700 dark:text-gray-200',\n },\n [\n `Item ${index + 1}`,\n childLabelForIndex(index)\n ? h(\n 'span',\n {\n class:\n 'font-normal text-gray-500',\n },\n ` — ${childLabelForIndex(index)}`,\n )\n : null,\n ],\n ),\n ]),\n h('div', { class: 'flex flex-none items-center gap-1' }, [\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled: !control.value.enabled || index === 0,\n onClick: () => moveUp?.(control.value.path, index)(),\n },\n { default: () => 'Up' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled:\n !control.value.enabled ||\n index >= items.value.length - 1,\n onClick: () => moveDown?.(control.value.path, index)(),\n },\n { default: () => 'Down' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'error',\n disabled: !control.value.enabled || minItemsReached.value,\n onClick: () =>\n removeItems?.(control.value.path, [index])(),\n },\n { default: () => 'Remove' },\n ),\n ]),\n ],\n ),\n\n h(DispatchRenderer as any, {\n schema: control.value.schema,\n uischema: childUiSchema.value,\n path: composePaths(control.value.path, `${index}`),\n enabled: control.value.enabled,\n renderers: control.value.renderers,\n cells: control.value.cells,\n }),\n ],\n ),\n ),\n ]),\n },\n ),\n )\n }\n },\n})\n\n","import { computed, type ComputedRef } from 'vue'\n\nexport function trimmedOrUndefined(input: string | undefined): string | undefined {\n const v = input?.trim()\n return v ? v : undefined\n}\n\nexport function errorFromControl(\n control: ComputedRef<{ errors: string }>,\n): ComputedRef<string | undefined> {\n return computed(() => trimmedOrUndefined(control.value.errors))\n}\n\n","import type { ControlElement, GroupLayout, UISchemaElement } from '@jsonforms/core'\nimport { Generate, findUISchema } from '@jsonforms/core'\nimport {\n DispatchRenderer,\n rendererProps,\n useJsonFormsControlWithDetail,\n} from '@jsonforms/vue'\nimport { computed, defineComponent, h } from 'vue'\n\nexport const NuxtUiObjectRenderer = defineComponent({\n name: 'NuxtUiObjectRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control } = useJsonFormsControlWithDetail(\n props as unknown as Parameters<typeof useJsonFormsControlWithDetail>[0],\n )\n\n const detailUiSchema = computed<UISchemaElement>(() => {\n const uiSchemaGenerator = () => {\n const uiSchema = Generate.uiSchema(\n control.value.schema,\n 'Group',\n undefined,\n control.value.rootSchema,\n )\n\n if (!control.value.path) {\n uiSchema.type = 'VerticalLayout'\n } else {\n ;(uiSchema as GroupLayout).label = control.value.label\n }\n return uiSchema\n }\n\n return findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n uiSchemaGenerator,\n control.value.uischema,\n control.value.rootSchema,\n )\n })\n\n return () => {\n if (!control.value.visible) return null\n\n return h(DispatchRenderer as any, {\n visible: control.value.visible,\n enabled: control.value.enabled,\n schema: control.value.schema,\n uischema: detailUiSchema.value,\n path: control.value.path,\n renderers: control.value.renderers,\n cells: control.value.cells,\n })\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiBooleanControl = defineComponent({\n name: 'NuxtUiBooleanControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed<boolean>({\n get: () => Boolean(control.value.data),\n set: (v: boolean) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USwitch = resolveComponent('USwitch')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(\n 'div',\n { class: 'flex items-center justify-between gap-3' },\n h(USwitch as any, {\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: boolean) => {\n modelValue.value = v\n },\n }),\n ),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement, JsonSchema } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\ntype EnumOption = { label: string; value: unknown }\n\nfunction schemaEnumOptions(schema: JsonSchema | undefined): EnumOption[] {\n if (!schema) return []\n\n if (Array.isArray(schema.enum)) {\n return schema.enum.map((v) => ({ label: String(v), value: v }))\n }\n\n const oneOf = (schema as unknown as { oneOf?: unknown }).oneOf\n if (!Array.isArray(oneOf)) return []\n\n const out: EnumOption[] = []\n for (const entry of oneOf) {\n if (typeof entry !== 'object' || entry === null) continue\n const maybe = entry as Record<string, unknown>\n if (!('const' in maybe)) continue\n out.push({\n value: maybe.const,\n label:\n typeof maybe.title === 'string' && maybe.title.trim()\n ? maybe.title\n : String(maybe.const),\n })\n }\n return out\n}\n\nexport const NuxtUiEnumControl = defineComponent({\n name: 'NuxtUiEnumControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n const options = computed<EnumOption[]>(() => schemaEnumOptions(control.value.schema))\n\n const selectedValue = computed<unknown>({\n get: () => control.value.data,\n set: (v: unknown) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USelectMenu = resolveComponent('USelectMenu')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(USelectMenu as any, {\n modelValue: selectedValue.value,\n items: options.value,\n valueKey: 'value',\n labelKey: 'label',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n placeholder: 'Select...',\n 'onUpdate:modelValue': (v: unknown) => {\n selectedValue.value = v\n },\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiIntegerControl = defineComponent({\n name: 'NuxtUiIntegerControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: string) {\n const trimmed = raw.trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n\n const parsed = Number.parseInt(trimmed, 10)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'numeric',\n step: '1',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiNumberControl = defineComponent({\n name: 'NuxtUiNumberControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: string) {\n const trimmed = raw.trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n const parsed = Number(trimmed)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'decimal',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport {\n computed,\n defineComponent,\n h,\n resolveComponent,\n} from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiStringControl = defineComponent({\n name: 'NuxtUiStringControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiTextareaControl = defineComponent({\n name: 'NuxtUiTextareaControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UTextarea = resolveComponent('UTextarea')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UTextarea as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n rows: 5,\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsCategorization } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategorizationRenderer = defineComponent({\n name: 'NuxtUiCategorizationRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout, categories } = useJsonFormsCategorization(\n props as unknown as Parameters<typeof useJsonFormsCategorization>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n return h(\n 'div',\n { class: 'flex flex-col gap-6' },\n categories.map((categoryRef, catIndex) => {\n const category = categoryRef.value\n const elements = category.uischema.elements ?? []\n\n return h(\n 'div',\n { key: `${layout.value.path}-cat-${catIndex}`, class: 'flex flex-col gap-3' },\n [\n category.label\n ? h('div', { class: 'text-sm font-semibold' }, category.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${category.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: category.schema,\n uischema: element,\n path: category.path,\n enabled: category.enabled,\n renderers: category.renderers,\n cells: category.cells,\n }),\n ),\n ),\n ),\n ],\n )\n }),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategoryRenderer = defineComponent({\n name: 'NuxtUiCategoryRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'flex flex-col gap-3' }, [\n layout.value.label\n ? h('div', { class: 'text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiGroupRenderer = defineComponent({\n name: 'NuxtUiGroupRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'rounded border p-3' }, [\n layout.value.label\n ? h('div', { class: 'mb-3 text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiHorizontalLayoutRenderer = defineComponent({\n name: 'NuxtUiHorizontalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3 md:flex-row md:flex-wrap' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}`, class: 'min-w-0 flex-1' },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n","import type { LabelElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsLabel } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiLabelRenderer = defineComponent({\n name: 'NuxtUiLabelRenderer',\n props: rendererProps<LabelElement>(),\n setup(props) {\n const { label } = useJsonFormsLabel(\n props as unknown as Parameters<typeof useJsonFormsLabel>[0],\n )\n\n return () => {\n if (!label.value.visible) return null\n return h(\n 'div',\n { class: 'text-sm text-gray-600 dark:text-gray-300' },\n label.value.text,\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiVerticalLayoutRenderer = defineComponent({\n name: 'NuxtUiVerticalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,eAAe;;;ACZxB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB,eAAe,gCAAgC;AAC1E,SAAS,YAAAA,WAAU,iBAAiB,GAAG,wBAAwB;;;ACT/D,SAAS,gBAAkC;AAEpC,SAAS,mBAAmB,OAA+C;AAChF,QAAM,IAAI,OAAO,KAAK;AACtB,SAAO,IAAI,IAAI;AACjB;;;ADQO,IAAM,0BAA0B,gBAAgB;AAAA,EACrD,MAAM;AAAA,EACN,YAAY,EAAE,iBAAiB;AAAA,EAC/B,OAAO,cAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,SAAS,aAAa,QAAQ,SAAS,IACtD;AAAA,MACE;AAAA,IACF;AAEF,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,UAAM,QAAQA;AAAA,MAAoB,MAChC,MAAM,QAAQ,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,OAAO,CAAC;AAAA,IAC5D;AAEA,UAAM,cAAcA,UAAiC,MAAM;AACzD,UAAI;AACF,eAAO,QAAQ;AAAA,UACb,MAAM;AAAA,UACN,QAAQ,MAAM,SAAS;AAAA,UACvB,QAAQ,MAAM;AAAA,QAChB;AAAA,MACF,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAED,UAAM,kBAAkBA,UAAS,MAAM;AACrC,YAAM,MAAM,YAAY,OAAO;AAC/B,aAAO,OAAO,QAAQ,WAAW,MAAM,MAAM,UAAU,MAAM;AAAA,IAC/D,CAAC;AAED,UAAM,kBAAkBA,UAAS,MAAM;AACrC,YAAM,MAAM,YAAY,OAAO;AAC/B,aAAO,OAAO,QAAQ,WAAW,MAAM,MAAM,UAAU,MAAM;AAAA,IAC/D,CAAC;AAED,UAAM,gBAAgBA;AAAA,MAA0B,MAC9C;AAAA,QACE,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM,SAAS;AAAA,QACvB,QAAQ,MAAM;AAAA,QACd;AAAA,QACA,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,MAChB;AAAA,IACF;AAEA,aAAS,mBAAmB,OAAuB;AACjD,YAAM,iBACJ,qCAAqC,QAAQ,MAAM,SAAS,OAAO,KACnE,sBAAsB,QAAQ,MAAM,MAAM;AAE5C,UAAI,CAAC,eAAgB,QAAO,GAAG,KAAK;AAEpC,YAAM,aAAa,QAAQ;AAAA,QACzB,QAAQ,MAAM;AAAA,QACd,aAAa,GAAG,KAAK,IAAI,cAAc;AAAA,MACzC;AACA,UACE,eAAe,UACf,eAAe,QACf,OAAO,MAAM,UAAiB,GAC9B;AACA,eAAO;AAAA,MACT;AACA,aAAO,OAAO,UAAU;AAAA,IAC1B;AAEA,aAAS,qCAAqC,SAAsC;AAClF,UAAI,CAAC,WAAW,OAAO,YAAY,SAAU,QAAO;AACpD,YAAM,QAAS,QAAoC;AACnD,aAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,IAC7C;AAEA,aAAS,iBAAiB;AACxB;AAAA,QACE,QAAQ,MAAM;AAAA,QACd,mBAAmB,QAAQ,MAAM,QAAQ,QAAQ,MAAM,UAAU;AAAA,MACnE,EAAE;AAAA,IACJ;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAa,iBAAiB,YAAY;AAChD,YAAM,UAAU,iBAAiB,SAAS;AAE1C,aAAO;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACD;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACP,EAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,cACzC,EAAE,OAAO,EAAE,OAAO,0CAA0C,GAAG;AAAA,gBAC7D;AAAA,kBACE;AAAA,kBACA,EAAE,OAAO,wBAAwB;AAAA,kBACjC,GAAG,MAAM,MAAM,MAAM;AAAA,gBACvB;AAAA,gBACA;AAAA,kBACE;AAAA,kBACA;AAAA,oBACE,MAAM;AAAA,oBACN,MAAM;AAAA,oBACN,SAAS;AAAA,oBACT,OAAO;AAAA,oBACP,UAAU,CAAC,QAAQ,MAAM,WAAW,gBAAgB;AAAA,oBACpD,SAAS;AAAA,kBACX;AAAA,kBACA,EAAE,SAAS,MAAM,MAAM;AAAA,gBACzB;AAAA,cACF,CAAC;AAAA,cAED,MAAM,MAAM,WAAW,IACnB;AAAA,gBACE;AAAA,gBACA,EAAE,OAAO,wBAAwB;AAAA,gBACjC;AAAA,cACF,IACA;AAAA,cAEJ,GAAG,MAAM,MAAM;AAAA,gBAAI,CAAC,OAAO,UACzB;AAAA,kBACE;AAAA,kBACA,EAAE,KAAK,GAAG,QAAQ,MAAM,IAAI,IAAI,KAAK,IAAI,OAAO,qBAAqB;AAAA,kBACrE;AAAA,oBACE;AAAA,sBACE;AAAA,sBACA,EAAE,OAAO,8CAA8C;AAAA,sBACvD;AAAA,wBACE,EAAE,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA,0BAC7B;AAAA,4BACE;AAAA,4BACA;AAAA,8BACE,OACE;AAAA,4BACJ;AAAA,4BACA;AAAA,8BACE,QAAQ,QAAQ,CAAC;AAAA,8BACjB,mBAAmB,KAAK,IACpB;AAAA,gCACE;AAAA,gCACA;AAAA,kCACE,OACE;AAAA,gCACJ;AAAA,gCACA,WAAM,mBAAmB,KAAK,CAAC;AAAA,8BACjC,IACA;AAAA,4BACN;AAAA,0BACF;AAAA,wBACF,CAAC;AAAA,wBACD,EAAE,OAAO,EAAE,OAAO,oCAAoC,GAAG;AAAA,0BACvD;AAAA,4BACE;AAAA,4BACA;AAAA,8BACE,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,OAAO;AAAA,8BACP,UAAU,CAAC,QAAQ,MAAM,WAAW,UAAU;AAAA,8BAC9C,SAAS,MAAM,SAAS,QAAQ,MAAM,MAAM,KAAK,EAAE;AAAA,4BACrD;AAAA,4BACA,EAAE,SAAS,MAAM,KAAK;AAAA,0BACxB;AAAA,0BACA;AAAA,4BACE;AAAA,4BACA;AAAA,8BACE,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,OAAO;AAAA,8BACP,UACE,CAAC,QAAQ,MAAM,WACf,SAAS,MAAM,MAAM,SAAS;AAAA,8BAChC,SAAS,MAAM,WAAW,QAAQ,MAAM,MAAM,KAAK,EAAE;AAAA,4BACvD;AAAA,4BACA,EAAE,SAAS,MAAM,OAAO;AAAA,0BAC1B;AAAA,0BACA;AAAA,4BACE;AAAA,4BACA;AAAA,8BACE,MAAM;AAAA,8BACN,MAAM;AAAA,8BACN,SAAS;AAAA,8BACT,OAAO;AAAA,8BACP,UAAU,CAAC,QAAQ,MAAM,WAAW,gBAAgB;AAAA,8BACpD,SAAS,MACP,cAAc,QAAQ,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE;AAAA,4BAC/C;AAAA,4BACA,EAAE,SAAS,MAAM,SAAS;AAAA,0BAC5B;AAAA,wBACF,CAAC;AAAA,sBACH;AAAA,oBACF;AAAA,oBAEA,EAAE,kBAAyB;AAAA,sBACzB,QAAQ,QAAQ,MAAM;AAAA,sBACtB,UAAU,cAAc;AAAA,sBACxB,MAAM,aAAa,QAAQ,MAAM,MAAM,GAAG,KAAK,EAAE;AAAA,sBACjD,SAAS,QAAQ,MAAM;AAAA,sBACvB,WAAW,QAAQ,MAAM;AAAA,sBACzB,OAAO,QAAQ,MAAM;AAAA,oBACvB,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,cACF;AAAA,YACF,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;AE5OD,SAAS,UAAU,gBAAAC,qBAAoB;AACvC;AAAA,EACE,oBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,UAAS;AAEtC,IAAM,uBAAuBD,iBAAgB;AAAA,EAClD,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAH,kBAAiB;AAAA,EAC/B,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,QAAQ,IAAI;AAAA,MAClB;AAAA,IACF;AAEA,UAAM,iBAAiBC,UAA0B,MAAM;AACrD,YAAM,oBAAoB,MAAM;AAC9B,cAAM,WAAW,SAAS;AAAA,UACxB,QAAQ,MAAM;AAAA,UACd;AAAA,UACA;AAAA,UACA,QAAQ,MAAM;AAAA,QAChB;AAEA,YAAI,CAAC,QAAQ,MAAM,MAAM;AACvB,mBAAS,OAAO;AAAA,QAClB,OAAO;AACL;AAAC,UAAC,SAAyB,QAAQ,QAAQ,MAAM;AAAA,QACnD;AACA,eAAO;AAAA,MACT;AAEA,aAAOH;AAAA,QACL,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM,SAAS;AAAA,QACvB,QAAQ,MAAM;AAAA,QACd;AAAA,QACA,QAAQ,MAAM;AAAA,QACd,QAAQ,MAAM;AAAA,MAChB;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,aAAOK,GAAEJ,mBAAyB;AAAA,QAChC,SAAS,QAAQ,MAAM;AAAA,QACvB,SAAS,QAAQ,MAAM;AAAA,QACvB,QAAQ,QAAQ,MAAM;AAAA,QACtB,UAAU,eAAe;AAAA,QACzB,MAAM,QAAQ,MAAM;AAAA,QACpB,WAAW,QAAQ,MAAM;AAAA,QACzB,OAAO,QAAQ,MAAM;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC3DD,SAAS,iBAAAK,gBAAe,2BAA2B;AACnD,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,IAAG,oBAAAC,yBAAwB;AAIxD,IAAM,uBAAuBC,iBAAgB;AAAA,EAClD,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAI;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,UAAM,aAAaA,UAAkB;AAAA,MACnC,KAAK,MAAM,QAAQ,QAAQ,MAAM,IAAI;AAAA,MACrC,KAAK,CAAC,MAAe,aAAa,QAAQ,MAAM,MAAM,CAAC;AAAA,IACzD,CAAC;AAED,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,UAAUA,kBAAiB,SAAS;AAE1C,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA;AAAA,cACE;AAAA,cACA,EAAE,OAAO,0CAA0C;AAAA,cACnDA,GAAE,SAAgB;AAAA,gBAChB,YAAY,WAAW;AAAA,gBACvB,UAAU,CAAC,QAAQ,MAAM;AAAA,gBACzB,gBAAgB,QAAQ,aAAa,KAAK;AAAA,gBAC1C,uBAAuB,CAAC,MAAe;AACrC,6BAAW,QAAQ;AAAA,gBACrB;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACxDD,SAAS,iBAAAC,gBAAe,uBAAAC,4BAA2B;AACnD,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,IAAG,oBAAAC,yBAAwB;AAM/D,SAAS,kBAAkB,QAA8C;AACvE,MAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,MAAI,MAAM,QAAQ,OAAO,IAAI,GAAG;AAC9B,WAAO,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE;AAAA,EAChE;AAEA,QAAM,QAAS,OAA0C;AACzD,MAAI,CAAC,MAAM,QAAQ,KAAK,EAAG,QAAO,CAAC;AAEnC,QAAM,MAAoB,CAAC;AAC3B,aAAW,SAAS,OAAO;AACzB,QAAI,OAAO,UAAU,YAAY,UAAU,KAAM;AACjD,UAAM,QAAQ;AACd,QAAI,EAAE,WAAW,OAAQ;AACzB,QAAI,KAAK;AAAA,MACP,OAAO,MAAM;AAAA,MACb,OACE,OAAO,MAAM,UAAU,YAAY,MAAM,MAAM,KAAK,IAChD,MAAM,QACN,OAAO,MAAM,KAAK;AAAA,IAC1B,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,IAAM,oBAAoBC,iBAAgB;AAAA,EAC/C,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAIC;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAC5E,UAAM,UAAUA,UAAuB,MAAM,kBAAkB,QAAQ,MAAM,MAAM,CAAC;AAEpF,UAAM,gBAAgBA,UAAkB;AAAA,MACtC,KAAK,MAAM,QAAQ,MAAM;AAAA,MACzB,KAAK,CAAC,MAAe,aAAa,QAAQ,MAAM,MAAM,CAAC;AAAA,IACzD,CAAC;AAED,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,cAAcA,kBAAiB,aAAa;AAElD,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA,GAAE,aAAoB;AAAA,cACpB,YAAY,cAAc;AAAA,cAC1B,OAAO,QAAQ;AAAA,cACf,UAAU;AAAA,cACV,UAAU;AAAA,cACV,UAAU,CAAC,QAAQ,MAAM;AAAA,cACzB,OAAO,aAAa,QAAQ,UAAU;AAAA,cACtC,gBAAgB,QAAQ,aAAa,KAAK;AAAA,cAC1C,aAAa;AAAA,cACb,uBAAuB,CAAC,MAAe;AACrC,8BAAc,QAAQ;AAAA,cACxB;AAAA,YACF,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACtFD,SAAS,iBAAAC,gBAAe,uBAAAC,4BAA2B;AACnD,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,IAAG,oBAAAC,yBAAwB;AAIxD,IAAM,uBAAuBC,iBAAgB;AAAA,EAClD,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAIC;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,UAAM,aAAaA,UAAS,MAAM;AAChC,YAAM,IAAI,QAAQ,MAAM;AACxB,aAAO,MAAM,QAAQ,MAAM,SAAY,KAAK,OAAO,CAAC;AAAA,IACtD,CAAC;AAED,aAAS,SAAS,KAAa;AAC7B,YAAM,UAAU,IAAI,KAAK;AACzB,UAAI,YAAY,IAAI;AAClB,qBAAa,QAAQ,MAAM,MAAM,MAAS;AAC1C;AAAA,MACF;AAEA,YAAM,SAAS,OAAO,SAAS,SAAS,EAAE;AAC1C,mBAAa,QAAQ,MAAM,MAAM,OAAO,SAAS,MAAM,IAAI,SAAS,MAAS;AAAA,IAC/E;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,SAASA,kBAAiB,QAAQ;AAExC,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA,GAAE,QAAe;AAAA,cACf,MAAM;AAAA,cACN,WAAW;AAAA,cACX,MAAM;AAAA,cACN,YAAY,WAAW;AAAA,cACvB,UAAU,CAAC,QAAQ,MAAM;AAAA,cACzB,OAAO,aAAa,QAAQ,UAAU;AAAA,cACtC,gBAAgB,QAAQ,aAAa,KAAK;AAAA,cAC1C,uBAAuB;AAAA,YACzB,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACjED,SAAS,iBAAAC,gBAAe,uBAAAC,4BAA2B;AACnD,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,IAAG,oBAAAC,yBAAwB;AAIxD,IAAM,sBAAsBC,iBAAgB;AAAA,EACjD,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAIC;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,UAAM,aAAaA,UAAS,MAAM;AAChC,YAAM,IAAI,QAAQ,MAAM;AACxB,aAAO,MAAM,QAAQ,MAAM,SAAY,KAAK,OAAO,CAAC;AAAA,IACtD,CAAC;AAED,aAAS,SAAS,KAAa;AAC7B,YAAM,UAAU,IAAI,KAAK;AACzB,UAAI,YAAY,IAAI;AAClB,qBAAa,QAAQ,MAAM,MAAM,MAAS;AAC1C;AAAA,MACF;AACA,YAAM,SAAS,OAAO,OAAO;AAC7B,mBAAa,QAAQ,MAAM,MAAM,OAAO,SAAS,MAAM,IAAI,SAAS,MAAS;AAAA,IAC/E;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,SAASA,kBAAiB,QAAQ;AAExC,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA,GAAE,QAAe;AAAA,cACf,MAAM;AAAA,cACN,WAAW;AAAA,cACX,YAAY,WAAW;AAAA,cACvB,UAAU,CAAC,QAAQ,MAAM;AAAA,cACzB,OAAO,aAAa,QAAQ,UAAU;AAAA,cACtC,gBAAgB,QAAQ,aAAa,KAAK;AAAA,cAC1C,uBAAuB;AAAA,YACzB,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;AC/DD,SAAS,iBAAAC,gBAAe,uBAAAC,4BAA2B;AACnD;AAAA,EACE,YAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,KAAAC;AAAA,EACA,oBAAAC;AAAA,OACK;AAIA,IAAM,sBAAsBC,iBAAgB;AAAA,EACjD,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAIC;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,SAASA,kBAAiB,QAAQ;AAExC,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA,GAAE,QAAe;AAAA,cACf,YAAY,QAAQ,MAAM,QAAQ;AAAA,cAClC,OAAO;AAAA,cACP,UAAU,CAAC,QAAQ,MAAM;AAAA,cACzB,OAAO,aAAa,QAAQ,UAAU;AAAA,cACtC,gBAAgB,QAAQ,aAAa,KAAK;AAAA,cAC1C,uBAAuB,CAAC,MACtB,aAAa,QAAQ,MAAM,MAAM,CAAC;AAAA,YACtC,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACrDD,SAAS,iBAAAC,gBAAe,uBAAAC,4BAA2B;AACnD,SAAS,YAAAC,WAAU,mBAAAC,kBAAiB,KAAAC,IAAG,oBAAAC,yBAAwB;AAIxD,IAAM,wBAAwBC,iBAAgB;AAAA,EACnD,MAAM;AAAA,EACN,OAAOC,eAA8B;AAAA,EACrC,MAAM,OAAO;AACX,UAAM,EAAE,SAAS,aAAa,IAAIC;AAAA,MAChC;AAAA,IACF;AAEA,UAAM,eAAeC,UAAS,MAAM,mBAAmB,QAAQ,MAAM,MAAM,CAAC;AAE5E,WAAO,MAAM;AACX,UAAI,CAAC,QAAQ,MAAM,QAAS,QAAO;AAEnC,YAAM,aAAaC,kBAAiB,YAAY;AAChD,YAAM,YAAYA,kBAAiB,WAAW;AAE9C,aAAOC;AAAA,QACL;AAAA,QACA,CAAC;AAAA,QACDA;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,QAAQ,MAAM;AAAA,YACrB,aAAa,QAAQ,MAAM;AAAA,YAC3B,UAAU,QAAQ,MAAM;AAAA,YACxB,OAAO,aAAa;AAAA,UACtB;AAAA,UACA;AAAA,YACE,SAAS,MACPA,GAAE,WAAkB;AAAA,cAClB,YAAY,QAAQ,MAAM,QAAQ;AAAA,cAClC,OAAO;AAAA,cACP,UAAU,CAAC,QAAQ,MAAM;AAAA,cACzB,OAAO,aAAa,QAAQ,UAAU;AAAA,cACtC,gBAAgB,QAAQ,aAAa,KAAK;AAAA,cAC1C,MAAM;AAAA,cACN,uBAAuB,CAAC,MACtB,aAAa,QAAQ,MAAM,MAAM,CAAC;AAAA,YACtC,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACjDD,SAAS,oBAAAC,mBAAkB,iBAAAC,gBAAe,kCAAkC;AAC5E,SAAS,mBAAAC,kBAAiB,KAAAC,UAAS;AAE5B,IAAM,+BAA+BD,iBAAgB;AAAA,EAC1D,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAF,kBAAiB;AAAA,EAC/B,OAAOC,eAAsB;AAAA,EAC7B,MAAM,OAAO;AACX,UAAM,EAAE,QAAQ,WAAW,IAAI;AAAA,MAC7B;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,OAAO,MAAM,QAAS,QAAO;AAElC,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAO,sBAAsB;AAAA,QAC/B,WAAW,IAAI,CAAC,aAAa,aAAa;AACxC,gBAAM,WAAW,YAAY;AAC7B,gBAAM,WAAW,SAAS,SAAS,YAAY,CAAC;AAEhD,iBAAOA;AAAA,YACL;AAAA,YACA,EAAE,KAAK,GAAG,OAAO,MAAM,IAAI,QAAQ,QAAQ,IAAI,OAAO,sBAAsB;AAAA,YAC5E;AAAA,cACE,SAAS,QACLA,GAAE,OAAO,EAAE,OAAO,wBAAwB,GAAG,SAAS,KAAK,IAC3D;AAAA,cACJA;AAAA,gBACE;AAAA,gBACA,EAAE,OAAO,sBAAsB;AAAA,gBAC/B,SAAS;AAAA,kBAAI,CAAC,SAAS,UACrBA;AAAA,oBACE;AAAA,oBACA,EAAE,KAAK,GAAG,SAAS,IAAI,IAAI,KAAK,GAAG;AAAA,oBACnCA,GAAEH,mBAAyB;AAAA,sBACzB,QAAQ,SAAS;AAAA,sBACjB,UAAU;AAAA,sBACV,MAAM,SAAS;AAAA,sBACf,SAAS,SAAS;AAAA,sBAClB,WAAW,SAAS;AAAA,sBACpB,OAAO,SAAS;AAAA,oBAClB,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACrDD,SAAS,oBAAAI,mBAAkB,iBAAAC,iBAAe,0BAA0B;AACpE,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAE5B,IAAM,yBAAyBD,kBAAgB;AAAA,EACpD,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAF,kBAAiB;AAAA,EAC/B,OAAOC,gBAAsB;AAAA,EAC7B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,IAAI;AAAA,MACjB;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,OAAO,MAAM,QAAS,QAAO;AAElC,YAAM,WAAW,OAAO,MAAM,SAAS,YAAY,CAAC;AAEpD,aAAOE,IAAE,OAAO,EAAE,OAAO,sBAAsB,GAAG;AAAA,QAChD,OAAO,MAAM,QACTA,IAAE,OAAO,EAAE,OAAO,wBAAwB,GAAG,OAAO,MAAM,KAAK,IAC/D;AAAA,QACJA;AAAA,UACE;AAAA,UACA,EAAE,OAAO,sBAAsB;AAAA,UAC/B,SAAS;AAAA,YAAI,CAAC,SAAS,UACrBA;AAAA,cACE;AAAA,cACA,EAAE,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI,KAAK,GAAG;AAAA,cACvCA,IAAEH,mBAAyB;AAAA,gBACzB,QAAQ,OAAO,MAAM;AAAA,gBACrB,UAAU;AAAA,gBACV,MAAM,OAAO,MAAM;AAAA,gBACnB,SAAS,OAAO,MAAM;AAAA,gBACtB,WAAW,OAAO,MAAM;AAAA,gBACxB,OAAO,OAAO,MAAM;AAAA,cACtB,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC1CD,SAAS,oBAAAI,mBAAkB,iBAAAC,iBAAe,sBAAAC,2BAA0B;AACpE,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAE5B,IAAM,sBAAsBD,kBAAgB;AAAA,EACjD,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAH,kBAAiB;AAAA,EAC/B,OAAOC,gBAAsB;AAAA,EAC7B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,IAAIC;AAAA,MACjB;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,OAAO,MAAM,QAAS,QAAO;AAElC,YAAM,WAAW,OAAO,MAAM,SAAS,YAAY,CAAC;AAEpD,aAAOE,IAAE,OAAO,EAAE,OAAO,qBAAqB,GAAG;AAAA,QAC/C,OAAO,MAAM,QACTA,IAAE,OAAO,EAAE,OAAO,6BAA6B,GAAG,OAAO,MAAM,KAAK,IACpE;AAAA,QACJA;AAAA,UACE;AAAA,UACA,EAAE,OAAO,sBAAsB;AAAA,UAC/B,SAAS;AAAA,YAAI,CAAC,SAAS,UACrBA;AAAA,cACE;AAAA,cACA,EAAE,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI,KAAK,GAAG;AAAA,cACvCA,IAAEJ,mBAAyB;AAAA,gBACzB,QAAQ,OAAO,MAAM;AAAA,gBACrB,UAAU;AAAA,gBACV,MAAM,OAAO,MAAM;AAAA,gBACnB,SAAS,OAAO,MAAM;AAAA,gBACtB,WAAW,OAAO,MAAM;AAAA,gBACxB,OAAO,OAAO,MAAM;AAAA,cACtB,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC1CD,SAAS,oBAAAK,mBAAkB,iBAAAC,iBAAe,sBAAAC,2BAA0B;AACpE,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAE5B,IAAM,iCAAiCD,kBAAgB;AAAA,EAC5D,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAH,kBAAiB;AAAA,EAC/B,OAAOC,gBAAsB;AAAA,EAC7B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,IAAIC;AAAA,MACjB;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,OAAO,MAAM,QAAS,QAAO;AAElC,YAAM,WAAW,OAAO,MAAM,SAAS,YAAY,CAAC;AAEpD,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAO,+CAA+C;AAAA,QACxD,SAAS;AAAA,UAAI,CAAC,SAAS,UACrBA;AAAA,YACE;AAAA,YACA,EAAE,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI,KAAK,IAAI,OAAO,iBAAiB;AAAA,YAChEA,IAAEJ,mBAAyB;AAAA,cACzB,QAAQ,OAAO,MAAM;AAAA,cACrB,UAAU;AAAA,cACV,MAAM,OAAO,MAAM;AAAA,cACnB,SAAS,OAAO,MAAM;AAAA,cACtB,WAAW,OAAO,MAAM;AAAA,cACxB,OAAO,OAAO,MAAM;AAAA,YACtB,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACrCD,SAAS,iBAAAK,iBAAe,yBAAyB;AACjD,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAE5B,IAAM,sBAAsBD,kBAAgB;AAAA,EACjD,MAAM;AAAA,EACN,OAAOD,gBAA4B;AAAA,EACnC,MAAM,OAAO;AACX,UAAM,EAAE,MAAM,IAAI;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,MAAM,MAAM,QAAS,QAAO;AACjC,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAO,2CAA2C;AAAA,QACpD,MAAM,MAAM;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;ACpBD,SAAS,oBAAAC,mBAAkB,iBAAAC,iBAAe,sBAAAC,2BAA0B;AACpE,SAAS,mBAAAC,mBAAiB,KAAAC,WAAS;AAE5B,IAAM,+BAA+BD,kBAAgB;AAAA,EAC1D,MAAM;AAAA,EACN,YAAY,EAAE,kBAAAH,kBAAiB;AAAA,EAC/B,OAAOC,gBAAsB;AAAA,EAC7B,MAAM,OAAO;AACX,UAAM,EAAE,OAAO,IAAIC;AAAA,MACjB;AAAA,IACF;AAEA,WAAO,MAAM;AACX,UAAI,CAAC,OAAO,MAAM,QAAS,QAAO;AAElC,YAAM,WAAW,OAAO,MAAM,SAAS,YAAY,CAAC;AAEpD,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAO,sBAAsB;AAAA,QAC/B,SAAS;AAAA,UAAI,CAAC,SAAS,UACrBA;AAAA,YACE;AAAA,YACA,EAAE,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI,KAAK,GAAG;AAAA,YACvCA,IAAEJ,mBAAyB;AAAA,cACzB,QAAQ,OAAO,MAAM;AAAA,cACrB,UAAU;AAAA,cACV,MAAM,OAAO,MAAM;AAAA,cACnB,SAAS,OAAO,MAAM;AAAA,cACtB,WAAW,OAAO,MAAM;AAAA,cACxB,OAAO,OAAO,MAAM;AAAA,YACtB,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;AfPD,IAAM,OAAO;AAEN,IAAM,kBAAoD;AAAA;AAAA,EAE/D;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,gBAAgB,CAAC;AAAA,IACjD,UAAU,QAAQ,4BAA4B;AAAA,EAChD;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,kBAAkB,CAAC;AAAA,IACnD,UAAU,QAAQ,8BAA8B;AAAA,EAClD;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,OAAO,CAAC;AAAA,IACxC,UAAU,QAAQ,mBAAmB;AAAA,EACvC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,gBAAgB,CAAC;AAAA,IACjD,UAAU,QAAQ,4BAA4B;AAAA,EAChD;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,UAAU,CAAC;AAAA,IAC3C,UAAU,QAAQ,sBAAsB;AAAA,EAC1C;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,SAAS,OAAO,CAAC;AAAA,IACxC,UAAU,QAAQ,mBAAmB;AAAA,EACvC;AAAA;AAAA,EAGA;AAAA,IACE,QAAQ,SAAS,MAAM,aAAa,OAAO,CAAC;AAAA,IAC5C,UAAU,QAAQ,uBAAuB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,eAAe;AAAA,IACtC,UAAU,QAAQ,oBAAoB;AAAA,EACxC;AAAA;AAAA,EAGA;AAAA,IACE,QAAQ,SAAS,MAAM,kBAAkB;AAAA,IACzC,UAAU,QAAQ,qBAAqB;AAAA,EACzC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,eAAe;AAAA,IACtC,UAAU,QAAQ,mBAAmB;AAAA,EACvC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,eAAe;AAAA,IACtC,UAAU,QAAQ,mBAAmB;AAAA,EACvC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,gBAAgB;AAAA,IACvC,UAAU,QAAQ,oBAAoB;AAAA,EACxC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,gBAAgB;AAAA,IACvC,UAAU,QAAQ,oBAAoB;AAAA,EACxC;AAAA,EACA;AAAA,IACE,QAAQ,SAAS,MAAM,aAAa;AAAA,IACpC,UAAU,QAAQ,iBAAiB;AAAA,EACrC;AACF;","names":["computed","computed","findUISchema","DispatchRenderer","rendererProps","computed","defineComponent","h","rendererProps","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","DispatchRenderer","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h"]}
|
|
1
|
+
{"version":3,"sources":["../src/nuxtUiRenderers.ts","../src/renderers/complex/NuxtUiArrayListRenderer.ts","../src/renderers/util.ts","../src/renderers/complex/NuxtUiObjectRenderer.ts","../src/renderers/controls/NuxtUiBooleanControl.ts","../src/renderers/controls/NuxtUiEnumControl.ts","../src/renderers/controls/NuxtUiIntegerControl.ts","../src/renderers/controls/NuxtUiNumberControl.ts","../src/renderers/controls/NuxtUiStringControl.ts","../src/renderers/controls/NuxtUiTextareaControl.ts","../src/renderers/layouts/NuxtUiCategorizationRenderer.ts","../src/renderers/layouts/NuxtUiCategoryRenderer.ts","../src/renderers/layouts/NuxtUiGroupRenderer.ts","../src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts","../src/renderers/layouts/NuxtUiLabelRenderer.ts","../src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts"],"sourcesContent":["import type { JsonFormsRendererRegistryEntry } from '@jsonforms/core'\nimport {\n isBooleanControl,\n isEnumControl,\n isIntegerControl,\n isMultiLineControl,\n isNumberControl,\n isObjectControl,\n isStringControl,\n rankWith,\n schemaTypeIs,\n uiTypeIs,\n} from '@jsonforms/core'\nimport { markRaw } from 'vue'\n\nimport { NuxtUiArrayListRenderer } from './renderers/complex/NuxtUiArrayListRenderer'\nimport { NuxtUiObjectRenderer } from './renderers/complex/NuxtUiObjectRenderer'\nimport { NuxtUiBooleanControl } from './renderers/controls/NuxtUiBooleanControl'\nimport { NuxtUiEnumControl } from './renderers/controls/NuxtUiEnumControl'\nimport { NuxtUiIntegerControl } from './renderers/controls/NuxtUiIntegerControl'\nimport { NuxtUiNumberControl } from './renderers/controls/NuxtUiNumberControl'\nimport { NuxtUiStringControl } from './renderers/controls/NuxtUiStringControl'\nimport { NuxtUiTextareaControl } from './renderers/controls/NuxtUiTextareaControl'\nimport { NuxtUiCategorizationRenderer } from './renderers/layouts/NuxtUiCategorizationRenderer'\nimport { NuxtUiCategoryRenderer } from './renderers/layouts/NuxtUiCategoryRenderer'\nimport { NuxtUiGroupRenderer } from './renderers/layouts/NuxtUiGroupRenderer'\nimport { NuxtUiHorizontalLayoutRenderer } from './renderers/layouts/NuxtUiHorizontalLayoutRenderer'\nimport { NuxtUiLabelRenderer } from './renderers/layouts/NuxtUiLabelRenderer'\nimport { NuxtUiVerticalLayoutRenderer } from './renderers/layouts/NuxtUiVerticalLayoutRenderer'\n\n// Intentionally rank higher than typical defaults.\nconst RANK = 10\nconst ENUM_RANK = RANK + 1\n\nexport const nuxtUiRenderers: JsonFormsRendererRegistryEntry[] = [\n // Layouts\n {\n tester: rankWith(RANK, uiTypeIs('VerticalLayout')),\n renderer: markRaw(NuxtUiVerticalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('HorizontalLayout')),\n renderer: markRaw(NuxtUiHorizontalLayoutRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Group')),\n renderer: markRaw(NuxtUiGroupRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Categorization')),\n renderer: markRaw(NuxtUiCategorizationRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Category')),\n renderer: markRaw(NuxtUiCategoryRenderer),\n },\n {\n tester: rankWith(RANK, uiTypeIs('Label')),\n renderer: markRaw(NuxtUiLabelRenderer),\n },\n\n // Complex schemas\n {\n tester: rankWith(RANK, schemaTypeIs('array')),\n renderer: markRaw(NuxtUiArrayListRenderer),\n },\n {\n tester: rankWith(RANK, isObjectControl),\n renderer: markRaw(NuxtUiObjectRenderer),\n },\n\n // Primitive controls\n {\n tester: rankWith(RANK, isMultiLineControl),\n renderer: markRaw(NuxtUiTextareaControl),\n },\n {\n tester: rankWith(RANK, isNumberControl),\n renderer: markRaw(NuxtUiNumberControl),\n },\n {\n tester: rankWith(RANK, isIntegerControl),\n renderer: markRaw(NuxtUiIntegerControl),\n },\n {\n tester: rankWith(RANK, isBooleanControl),\n renderer: markRaw(NuxtUiBooleanControl),\n },\n {\n // Enum must outrank the generic string control, otherwise enums can render\n // as freeform text inputs.\n tester: rankWith(ENUM_RANK, isEnumControl),\n renderer: markRaw(NuxtUiEnumControl),\n },\n {\n tester: rankWith(RANK, isStringControl),\n renderer: markRaw(NuxtUiStringControl),\n },\n]\n\n","import type { ControlElement, JsonSchema, UISchemaElement } from '@jsonforms/core'\nimport {\n Resolve,\n composePaths,\n createDefaultValue,\n findUISchema,\n getFirstPrimitiveProp,\n} from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsArrayControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiArrayListRenderer = defineComponent({\n name: 'NuxtUiArrayListRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, addItem, removeItems, moveUp, moveDown } =\n useJsonFormsArrayControl(\n props as unknown as Parameters<typeof useJsonFormsArrayControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const items = computed<unknown[]>(() =>\n Array.isArray(control.value.data) ? control.value.data : [],\n )\n\n const arraySchema = computed<JsonSchema | undefined>(() => {\n try {\n return Resolve.schema(\n props.schema,\n control.value.uischema.scope,\n control.value.rootSchema,\n )\n } catch {\n return undefined\n }\n })\n\n const maxItemsReached = computed(() => {\n const max = arraySchema.value?.maxItems\n return typeof max === 'number' ? items.value.length >= max : false\n })\n\n const minItemsReached = computed(() => {\n const min = arraySchema.value?.minItems\n return typeof min === 'number' ? items.value.length <= min : false\n })\n\n const childUiSchema = computed<UISchemaElement>(() =>\n findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n undefined,\n control.value.uischema,\n control.value.rootSchema,\n ),\n )\n\n function childLabelForIndex(index: number): string {\n const childLabelProp =\n getChildLabelPropFromUiSchemaOptions(control.value.uischema.options) ??\n getFirstPrimitiveProp(control.value.schema)\n\n if (!childLabelProp) return `${index}`\n\n const labelValue = Resolve.data(\n control.value.data,\n composePaths(`${index}`, childLabelProp),\n )\n if (\n labelValue === undefined ||\n labelValue === null ||\n Number.isNaN(labelValue as any)\n ) {\n return ''\n }\n return String(labelValue)\n }\n\n function getChildLabelPropFromUiSchemaOptions(options: unknown): string | undefined {\n if (!options || typeof options !== 'object') return undefined\n const value = (options as Record<string, unknown>).childLabelProp\n return typeof value === 'string' ? value : undefined\n }\n\n function addButtonClick() {\n addItem(\n control.value.path,\n createDefaultValue(control.value.schema, control.value.rootSchema),\n )()\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UButton = resolveComponent('UButton')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h('div', { class: 'flex flex-col gap-3' }, [\n h('div', { class: 'flex items-center justify-between gap-3' }, [\n h(\n 'div',\n { class: 'text-xs text-gray-500' },\n `${items.value.length} items`,\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'soft',\n color: 'neutral',\n disabled: !control.value.enabled || maxItemsReached.value,\n onClick: addButtonClick,\n },\n { default: () => 'Add' },\n ),\n ]),\n\n items.value.length === 0\n ? h(\n 'div',\n { class: 'text-sm text-gray-500' },\n 'No items.',\n )\n : null,\n\n ...items.value.map((_item, index) =>\n h(\n 'div',\n { key: `${control.value.path}-${index}`, class: 'rounded border p-3' },\n [\n h(\n 'div',\n { class: 'mb-3 flex items-start justify-between gap-3' },\n [\n h('div', { class: 'min-w-0' }, [\n h(\n 'div',\n {\n class:\n 'text-xs font-semibold text-gray-700 dark:text-gray-200',\n },\n [\n `Item ${index + 1}`,\n childLabelForIndex(index)\n ? h(\n 'span',\n {\n class:\n 'font-normal text-gray-500',\n },\n ` — ${childLabelForIndex(index)}`,\n )\n : null,\n ],\n ),\n ]),\n h('div', { class: 'flex flex-none items-center gap-1' }, [\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled: !control.value.enabled || index === 0,\n onClick: () => moveUp?.(control.value.path, index)(),\n },\n { default: () => 'Up' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'neutral',\n disabled:\n !control.value.enabled ||\n index >= items.value.length - 1,\n onClick: () => moveDown?.(control.value.path, index)(),\n },\n { default: () => 'Down' },\n ),\n h(\n UButton as any,\n {\n type: 'button',\n size: 'xs',\n variant: 'ghost',\n color: 'error',\n disabled: !control.value.enabled || minItemsReached.value,\n onClick: () =>\n removeItems?.(control.value.path, [index])(),\n },\n { default: () => 'Remove' },\n ),\n ]),\n ],\n ),\n\n h(DispatchRenderer as any, {\n schema: control.value.schema,\n uischema: childUiSchema.value,\n path: composePaths(control.value.path, `${index}`),\n enabled: control.value.enabled,\n renderers: control.value.renderers,\n cells: control.value.cells,\n }),\n ],\n ),\n ),\n ]),\n },\n ),\n )\n }\n },\n})\n\n","import { computed, type ComputedRef } from 'vue'\n\nexport function trimmedOrUndefined(input: string | undefined): string | undefined {\n const v = input?.trim()\n return v ? v : undefined\n}\n\nexport function errorFromControl(\n control: ComputedRef<{ errors: string }>,\n): ComputedRef<string | undefined> {\n return computed(() => trimmedOrUndefined(control.value.errors))\n}\n\n","import type { ControlElement, GroupLayout, UISchemaElement } from '@jsonforms/core'\nimport { Generate, findUISchema } from '@jsonforms/core'\nimport {\n DispatchRenderer,\n rendererProps,\n useJsonFormsControlWithDetail,\n} from '@jsonforms/vue'\nimport { computed, defineComponent, h } from 'vue'\n\nexport const NuxtUiObjectRenderer = defineComponent({\n name: 'NuxtUiObjectRenderer',\n components: { DispatchRenderer },\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control } = useJsonFormsControlWithDetail(\n props as unknown as Parameters<typeof useJsonFormsControlWithDetail>[0],\n )\n\n const detailUiSchema = computed<UISchemaElement>(() => {\n const uiSchemaGenerator = () => {\n const uiSchema = Generate.uiSchema(\n control.value.schema,\n 'Group',\n undefined,\n control.value.rootSchema,\n )\n\n if (!control.value.path) {\n uiSchema.type = 'VerticalLayout'\n } else {\n ;(uiSchema as GroupLayout).label = control.value.label\n }\n return uiSchema\n }\n\n return findUISchema(\n control.value.uischemas,\n control.value.schema,\n control.value.uischema.scope,\n control.value.path,\n uiSchemaGenerator,\n control.value.uischema,\n control.value.rootSchema,\n )\n })\n\n return () => {\n if (!control.value.visible) return null\n\n return h(DispatchRenderer as any, {\n visible: control.value.visible,\n enabled: control.value.enabled,\n schema: control.value.schema,\n uischema: detailUiSchema.value,\n path: control.value.path,\n renderers: control.value.renderers,\n cells: control.value.cells,\n })\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiBooleanControl = defineComponent({\n name: 'NuxtUiBooleanControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed<boolean>({\n get: () => Boolean(control.value.data),\n set: (v: boolean) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USwitch = resolveComponent('USwitch')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(\n 'div',\n { class: 'flex items-center justify-between gap-3' },\n h(USwitch as any, {\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: boolean) => {\n modelValue.value = v\n },\n }),\n ),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement, JsonSchema } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\ntype EnumOption = { label: string; value: unknown }\n\nfunction schemaEnumOptions(schema: JsonSchema | undefined): EnumOption[] {\n if (!schema) return []\n\n if (Array.isArray(schema.enum)) {\n return schema.enum.map((v) => ({ label: String(v), value: v }))\n }\n\n const oneOf = (schema as unknown as { oneOf?: unknown }).oneOf\n if (!Array.isArray(oneOf)) return []\n\n const out: EnumOption[] = []\n for (const entry of oneOf) {\n if (typeof entry !== 'object' || entry === null) continue\n const maybe = entry as Record<string, unknown>\n if (!('const' in maybe)) continue\n out.push({\n value: maybe.const,\n label:\n typeof maybe.title === 'string' && maybe.title.trim()\n ? maybe.title\n : String(maybe.const),\n })\n }\n return out\n}\n\nexport const NuxtUiEnumControl = defineComponent({\n name: 'NuxtUiEnumControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n const options = computed<EnumOption[]>(() => schemaEnumOptions(control.value.schema))\n\n const selectedValue = computed<unknown>({\n get: () => control.value.data,\n set: (v: unknown) => handleChange(control.value.path, v),\n })\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const USelectMenu = resolveComponent('USelectMenu')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(USelectMenu as any, {\n modelValue: selectedValue.value,\n items: options.value,\n valueKey: 'value',\n labelKey: 'label',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n placeholder: 'Select...',\n 'onUpdate:modelValue': (v: unknown) => {\n selectedValue.value = v\n },\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiIntegerControl = defineComponent({\n name: 'NuxtUiIntegerControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: unknown) {\n const trimmed = String(raw ?? '').trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n\n const parsed = Number.parseInt(trimmed, 10)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'numeric',\n step: '1',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiNumberControl = defineComponent({\n name: 'NuxtUiNumberControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n const modelValue = computed(() => {\n const v = control.value.data\n return v === null || v === undefined ? '' : String(v)\n })\n\n function onUpdate(raw: unknown) {\n const trimmed = String(raw ?? '').trim()\n if (trimmed === '') {\n handleChange(control.value.path, undefined)\n return\n }\n const parsed = Number(trimmed)\n handleChange(control.value.path, Number.isFinite(parsed) ? parsed : undefined)\n }\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n type: 'number',\n inputmode: 'decimal',\n modelValue: modelValue.value,\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': onUpdate,\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport {\n computed,\n defineComponent,\n h,\n resolveComponent,\n} from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiStringControl = defineComponent({\n name: 'NuxtUiStringControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UInput = resolveComponent('UInput')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UInput as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { ControlElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsControl } from '@jsonforms/vue'\nimport { computed, defineComponent, h, resolveComponent } from 'vue'\n\nimport { trimmedOrUndefined } from '../util'\n\nexport const NuxtUiTextareaControl = defineComponent({\n name: 'NuxtUiTextareaControl',\n props: rendererProps<ControlElement>(),\n setup(props) {\n const { control, handleChange } = useJsonFormsControl(\n props as unknown as Parameters<typeof useJsonFormsControl>[0],\n )\n\n const errorMessage = computed(() => trimmedOrUndefined(control.value.errors))\n\n return () => {\n if (!control.value.visible) return null\n\n const UFormField = resolveComponent('UFormField')\n const UTextarea = resolveComponent('UTextarea')\n\n return h(\n 'div',\n {},\n h(\n UFormField as any,\n {\n label: control.value.label,\n description: control.value.description,\n required: control.value.required,\n error: errorMessage.value,\n },\n {\n default: () =>\n h(UTextarea as any, {\n modelValue: control.value.data ?? '',\n class: 'w-full',\n disabled: !control.value.enabled,\n color: errorMessage.value ? 'error' : undefined,\n 'aria-invalid': Boolean(errorMessage.value),\n rows: 5,\n 'onUpdate:modelValue': (v: unknown) =>\n handleChange(control.value.path, v),\n }),\n },\n ),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsCategorization } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategorizationRenderer = defineComponent({\n name: 'NuxtUiCategorizationRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout, categories } = useJsonFormsCategorization(\n props as unknown as Parameters<typeof useJsonFormsCategorization>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n return h(\n 'div',\n { class: 'flex flex-col gap-6' },\n categories.map((categoryRef, catIndex) => {\n const category = categoryRef.value\n const elements = category.uischema.elements ?? []\n\n return h(\n 'div',\n { key: `${layout.value.path}-cat-${catIndex}`, class: 'flex flex-col gap-3' },\n [\n category.label\n ? h('div', { class: 'text-sm font-semibold' }, category.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${category.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: category.schema,\n uischema: element,\n path: category.path,\n enabled: category.enabled,\n renderers: category.renderers,\n cells: category.cells,\n }),\n ),\n ),\n ),\n ],\n )\n }),\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiCategoryRenderer = defineComponent({\n name: 'NuxtUiCategoryRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'flex flex-col gap-3' }, [\n layout.value.label\n ? h('div', { class: 'text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiGroupRenderer = defineComponent({\n name: 'NuxtUiGroupRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h('div', { class: 'rounded border p-3' }, [\n layout.value.label\n ? h('div', { class: 'mb-3 text-sm font-semibold' }, layout.value.label)\n : null,\n h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n ),\n ])\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiHorizontalLayoutRenderer = defineComponent({\n name: 'NuxtUiHorizontalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3 md:flex-row md:flex-wrap' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}`, class: 'min-w-0 flex-1' },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n","import type { LabelElement } from '@jsonforms/core'\nimport { rendererProps, useJsonFormsLabel } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiLabelRenderer = defineComponent({\n name: 'NuxtUiLabelRenderer',\n props: rendererProps<LabelElement>(),\n setup(props) {\n const { label } = useJsonFormsLabel(\n props as unknown as Parameters<typeof useJsonFormsLabel>[0],\n )\n\n return () => {\n if (!label.value.visible) return null\n return h(\n 'div',\n { class: 'text-sm text-gray-600 dark:text-gray-300' },\n label.value.text,\n )\n }\n },\n})\n\n","import type { Layout } from '@jsonforms/core'\nimport { DispatchRenderer, rendererProps, useJsonFormsLayout } from '@jsonforms/vue'\nimport { defineComponent, h } from 'vue'\n\nexport const NuxtUiVerticalLayoutRenderer = defineComponent({\n name: 'NuxtUiVerticalLayoutRenderer',\n components: { DispatchRenderer },\n props: rendererProps<Layout>(),\n setup(props) {\n const { layout } = useJsonFormsLayout(\n props as unknown as Parameters<typeof useJsonFormsLayout>[0],\n )\n\n return () => {\n if (!layout.value.visible) return null\n\n const elements = layout.value.uischema.elements ?? []\n\n return h(\n 'div',\n { class: 'flex flex-col gap-3' },\n elements.map((element, index) =>\n h(\n 'div',\n { key: `${layout.value.path}-${index}` },\n h(DispatchRenderer as any, {\n schema: layout.value.schema,\n uischema: element,\n path: layout.value.path,\n enabled: layout.value.enabled,\n renderers: layout.value.renderers,\n cells: layout.value.cells,\n }),\n ),\n ),\n )\n }\n },\n})\n\n"],"mappings":"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","names":["computed","computed","findUISchema","DispatchRenderer","rendererProps","computed","defineComponent","h","rendererProps","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","rendererProps","useJsonFormsControl","computed","defineComponent","h","resolveComponent","defineComponent","rendererProps","useJsonFormsControl","computed","resolveComponent","h","DispatchRenderer","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h","rendererProps","defineComponent","h","DispatchRenderer","rendererProps","useJsonFormsLayout","defineComponent","h"]}
|