jsonforms-nuxt-ui-renderers 0.2.1 → 0.2.2
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 +280 -240
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +154 -115
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26,10 +26,39 @@ import {
|
|
|
26
26
|
getFirstPrimitiveProp
|
|
27
27
|
} from "@jsonforms/core";
|
|
28
28
|
import { DispatchRenderer, rendererProps, useJsonFormsArrayControl } from "@jsonforms/vue";
|
|
29
|
-
import { computed as computed2, defineComponent, h, resolveComponent } from "vue";
|
|
29
|
+
import { computed as computed2, defineComponent, h as h2, resolveComponent } from "vue";
|
|
30
30
|
|
|
31
31
|
// src/renderers/util.ts
|
|
32
|
+
import { h } from "vue";
|
|
32
33
|
import { computed } from "vue";
|
|
34
|
+
function getDocsPathFromSchema(schema) {
|
|
35
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema))
|
|
36
|
+
return null;
|
|
37
|
+
const s = schema;
|
|
38
|
+
const path = s["x-docs-path"];
|
|
39
|
+
if (typeof path === "string" && path.startsWith("/")) return path;
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
function renderDocsHintSlot(schema, label, docsUrl, resolveComponent10) {
|
|
43
|
+
const path = getDocsPathFromSchema(schema);
|
|
44
|
+
if (!path || !docsUrl) return void 0;
|
|
45
|
+
const ULink = resolveComponent10("ULink");
|
|
46
|
+
const UIcon = resolveComponent10("UIcon");
|
|
47
|
+
if (!ULink || !UIcon) return void 0;
|
|
48
|
+
const href = docsUrl(path);
|
|
49
|
+
return () => h(
|
|
50
|
+
ULink,
|
|
51
|
+
{
|
|
52
|
+
href,
|
|
53
|
+
target: "_blank",
|
|
54
|
+
rel: "noopener noreferrer",
|
|
55
|
+
class: "inline-flex items-center text-muted hover:text-primary",
|
|
56
|
+
"aria-label": `${label} docs`,
|
|
57
|
+
title: `${label} docs`
|
|
58
|
+
},
|
|
59
|
+
() => h(UIcon, { name: "i-heroicons-information-circle" })
|
|
60
|
+
);
|
|
61
|
+
}
|
|
33
62
|
function trimmedOrUndefined(input) {
|
|
34
63
|
const v = input?.trim();
|
|
35
64
|
return v ? v : void 0;
|
|
@@ -112,10 +141,10 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
112
141
|
if (!control.value.visible) return null;
|
|
113
142
|
const UFormField = resolveComponent("UFormField");
|
|
114
143
|
const UButton = resolveComponent("UButton");
|
|
115
|
-
return
|
|
144
|
+
return h2(
|
|
116
145
|
"div",
|
|
117
146
|
{},
|
|
118
|
-
|
|
147
|
+
h2(
|
|
119
148
|
UFormField,
|
|
120
149
|
{
|
|
121
150
|
label: control.value.label,
|
|
@@ -124,14 +153,14 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
124
153
|
error: errorMessage.value
|
|
125
154
|
},
|
|
126
155
|
{
|
|
127
|
-
default: () =>
|
|
128
|
-
|
|
129
|
-
|
|
156
|
+
default: () => h2("div", { class: theme.layoutVertical }, [
|
|
157
|
+
h2("div", { class: theme.flexBetween }, [
|
|
158
|
+
h2(
|
|
130
159
|
"div",
|
|
131
160
|
{ class: theme.textMutedXs },
|
|
132
161
|
`${items.value.length} items`
|
|
133
162
|
),
|
|
134
|
-
|
|
163
|
+
h2(
|
|
135
164
|
UButton,
|
|
136
165
|
{
|
|
137
166
|
type: "button",
|
|
@@ -144,26 +173,26 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
144
173
|
{ default: () => "Add" }
|
|
145
174
|
)
|
|
146
175
|
]),
|
|
147
|
-
items.value.length === 0 ?
|
|
176
|
+
items.value.length === 0 ? h2("div", { class: theme.textMuted }, "No items.") : null,
|
|
148
177
|
...items.value.map(
|
|
149
|
-
(_item, index) =>
|
|
178
|
+
(_item, index) => h2(
|
|
150
179
|
"div",
|
|
151
180
|
{
|
|
152
181
|
key: `${control.value.path}-${index}`,
|
|
153
182
|
class: theme.panel
|
|
154
183
|
},
|
|
155
184
|
[
|
|
156
|
-
|
|
185
|
+
h2(
|
|
157
186
|
"div",
|
|
158
187
|
{ class: theme.arrayItemToolbar },
|
|
159
188
|
[
|
|
160
|
-
|
|
161
|
-
|
|
189
|
+
h2("div", { class: "jf-min-w-0" }, [
|
|
190
|
+
h2(
|
|
162
191
|
"div",
|
|
163
192
|
{ class: theme.textItemTitle },
|
|
164
193
|
[
|
|
165
194
|
`Item ${index + 1}`,
|
|
166
|
-
childLabelForIndex(index) ?
|
|
195
|
+
childLabelForIndex(index) ? h2(
|
|
167
196
|
"span",
|
|
168
197
|
{ class: theme.textItemSuffix },
|
|
169
198
|
` \u2014 ${childLabelForIndex(index)}`
|
|
@@ -171,8 +200,8 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
171
200
|
]
|
|
172
201
|
)
|
|
173
202
|
]),
|
|
174
|
-
|
|
175
|
-
|
|
203
|
+
h2("div", { class: theme.flexActions }, [
|
|
204
|
+
h2(
|
|
176
205
|
UButton,
|
|
177
206
|
{
|
|
178
207
|
type: "button",
|
|
@@ -184,7 +213,7 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
184
213
|
},
|
|
185
214
|
{ default: () => "Up" }
|
|
186
215
|
),
|
|
187
|
-
|
|
216
|
+
h2(
|
|
188
217
|
UButton,
|
|
189
218
|
{
|
|
190
219
|
type: "button",
|
|
@@ -196,7 +225,7 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
196
225
|
},
|
|
197
226
|
{ default: () => "Down" }
|
|
198
227
|
),
|
|
199
|
-
|
|
228
|
+
h2(
|
|
200
229
|
UButton,
|
|
201
230
|
{
|
|
202
231
|
type: "button",
|
|
@@ -213,7 +242,7 @@ function createNuxtUiArrayListRenderer(theme) {
|
|
|
213
242
|
])
|
|
214
243
|
]
|
|
215
244
|
),
|
|
216
|
-
|
|
245
|
+
h2(DispatchRenderer, {
|
|
217
246
|
schema: control.value.schema,
|
|
218
247
|
uischema: childUiSchema.value,
|
|
219
248
|
path: composePaths(control.value.path, `${index}`),
|
|
@@ -240,7 +269,7 @@ import {
|
|
|
240
269
|
rendererProps as rendererProps2,
|
|
241
270
|
useJsonFormsControlWithDetail
|
|
242
271
|
} from "@jsonforms/vue";
|
|
243
|
-
import { computed as computed3, defineComponent as defineComponent2, h as
|
|
272
|
+
import { computed as computed3, defineComponent as defineComponent2, h as h3 } from "vue";
|
|
244
273
|
var NuxtUiObjectRenderer = defineComponent2({
|
|
245
274
|
name: "NuxtUiObjectRenderer",
|
|
246
275
|
components: { DispatchRenderer: DispatchRenderer2 },
|
|
@@ -277,7 +306,7 @@ var NuxtUiObjectRenderer = defineComponent2({
|
|
|
277
306
|
});
|
|
278
307
|
return () => {
|
|
279
308
|
if (!control.value.visible) return null;
|
|
280
|
-
return
|
|
309
|
+
return h3(DispatchRenderer2, {
|
|
281
310
|
visible: control.value.visible,
|
|
282
311
|
enabled: control.value.enabled,
|
|
283
312
|
schema: control.value.schema,
|
|
@@ -292,7 +321,7 @@ var NuxtUiObjectRenderer = defineComponent2({
|
|
|
292
321
|
|
|
293
322
|
// src/renderers/controls/NuxtUiBooleanControl.ts
|
|
294
323
|
import { rendererProps as rendererProps3, useJsonFormsControl } from "@jsonforms/vue";
|
|
295
|
-
import { computed as computed4, defineComponent as defineComponent3, h as
|
|
324
|
+
import { computed as computed4, defineComponent as defineComponent3, h as h4, resolveComponent as resolveComponent2 } from "vue";
|
|
296
325
|
function createNuxtUiBooleanControl(theme) {
|
|
297
326
|
return defineComponent3({
|
|
298
327
|
name: "NuxtUiBooleanControl",
|
|
@@ -310,10 +339,10 @@ function createNuxtUiBooleanControl(theme) {
|
|
|
310
339
|
if (!control.value.visible) return null;
|
|
311
340
|
const UFormField = resolveComponent2("UFormField");
|
|
312
341
|
const USwitch = resolveComponent2("USwitch");
|
|
313
|
-
return
|
|
342
|
+
return h4(
|
|
314
343
|
"div",
|
|
315
344
|
{},
|
|
316
|
-
|
|
345
|
+
h4(
|
|
317
346
|
UFormField,
|
|
318
347
|
{
|
|
319
348
|
label: control.value.label,
|
|
@@ -322,10 +351,10 @@ function createNuxtUiBooleanControl(theme) {
|
|
|
322
351
|
error: errorMessage.value
|
|
323
352
|
},
|
|
324
353
|
{
|
|
325
|
-
default: () =>
|
|
354
|
+
default: () => h4(
|
|
326
355
|
"div",
|
|
327
356
|
{ class: theme.flexBetween },
|
|
328
|
-
|
|
357
|
+
h4(USwitch, {
|
|
329
358
|
modelValue: modelValue.value,
|
|
330
359
|
disabled: !control.value.enabled,
|
|
331
360
|
"aria-invalid": Boolean(errorMessage.value),
|
|
@@ -344,7 +373,7 @@ function createNuxtUiBooleanControl(theme) {
|
|
|
344
373
|
|
|
345
374
|
// src/renderers/controls/NuxtUiEnumControl.ts
|
|
346
375
|
import { rendererProps as rendererProps4, useJsonFormsControl as useJsonFormsControl2 } from "@jsonforms/vue";
|
|
347
|
-
import { computed as computed5, defineComponent as defineComponent4, h as
|
|
376
|
+
import { computed as computed5, defineComponent as defineComponent4, h as h5, resolveComponent as resolveComponent3 } from "vue";
|
|
348
377
|
function schemaEnumOptions(schema) {
|
|
349
378
|
if (!schema) return [];
|
|
350
379
|
if (Array.isArray(schema.enum)) {
|
|
@@ -381,10 +410,10 @@ var NuxtUiEnumControl = defineComponent4({
|
|
|
381
410
|
if (!control.value.visible) return null;
|
|
382
411
|
const UFormField = resolveComponent3("UFormField");
|
|
383
412
|
const USelectMenu = resolveComponent3("USelectMenu");
|
|
384
|
-
return
|
|
413
|
+
return h5(
|
|
385
414
|
"div",
|
|
386
415
|
{},
|
|
387
|
-
|
|
416
|
+
h5(
|
|
388
417
|
UFormField,
|
|
389
418
|
{
|
|
390
419
|
label: control.value.label,
|
|
@@ -393,7 +422,7 @@ var NuxtUiEnumControl = defineComponent4({
|
|
|
393
422
|
error: errorMessage.value
|
|
394
423
|
},
|
|
395
424
|
{
|
|
396
|
-
default: () =>
|
|
425
|
+
default: () => h5(USelectMenu, {
|
|
397
426
|
modelValue: selectedValue.value,
|
|
398
427
|
items: options.value,
|
|
399
428
|
valueKey: "value",
|
|
@@ -415,7 +444,7 @@ var NuxtUiEnumControl = defineComponent4({
|
|
|
415
444
|
|
|
416
445
|
// src/renderers/controls/NuxtUiIntegerControl.ts
|
|
417
446
|
import { rendererProps as rendererProps5, useJsonFormsControl as useJsonFormsControl3 } from "@jsonforms/vue";
|
|
418
|
-
import { computed as computed6, defineComponent as defineComponent5, h as
|
|
447
|
+
import { computed as computed6, defineComponent as defineComponent5, h as h6, resolveComponent as resolveComponent4 } from "vue";
|
|
419
448
|
var NuxtUiIntegerControl = defineComponent5({
|
|
420
449
|
name: "NuxtUiIntegerControl",
|
|
421
450
|
props: rendererProps5(),
|
|
@@ -441,10 +470,10 @@ var NuxtUiIntegerControl = defineComponent5({
|
|
|
441
470
|
if (!control.value.visible) return null;
|
|
442
471
|
const UFormField = resolveComponent4("UFormField");
|
|
443
472
|
const UInput = resolveComponent4("UInput");
|
|
444
|
-
return
|
|
473
|
+
return h6(
|
|
445
474
|
"div",
|
|
446
475
|
{},
|
|
447
|
-
|
|
476
|
+
h6(
|
|
448
477
|
UFormField,
|
|
449
478
|
{
|
|
450
479
|
label: control.value.label,
|
|
@@ -453,7 +482,7 @@ var NuxtUiIntegerControl = defineComponent5({
|
|
|
453
482
|
error: errorMessage.value
|
|
454
483
|
},
|
|
455
484
|
{
|
|
456
|
-
default: () =>
|
|
485
|
+
default: () => h6(UInput, {
|
|
457
486
|
type: "number",
|
|
458
487
|
inputmode: "numeric",
|
|
459
488
|
step: "1",
|
|
@@ -472,7 +501,7 @@ var NuxtUiIntegerControl = defineComponent5({
|
|
|
472
501
|
|
|
473
502
|
// src/renderers/controls/NuxtUiMultiEnumControl.ts
|
|
474
503
|
import { rendererProps as rendererProps6, useJsonFormsControl as useJsonFormsControl4 } from "@jsonforms/vue";
|
|
475
|
-
import { computed as computed7, defineComponent as defineComponent6, h as
|
|
504
|
+
import { computed as computed7, defineComponent as defineComponent6, h as h7, resolveComponent as resolveComponent5 } from "vue";
|
|
476
505
|
function schemaEnumOptions2(schema) {
|
|
477
506
|
if (!schema) return [];
|
|
478
507
|
if (Array.isArray(schema.enum)) {
|
|
@@ -517,10 +546,10 @@ var NuxtUiMultiEnumControl = defineComponent6({
|
|
|
517
546
|
if (!control.value.visible) return null;
|
|
518
547
|
const UFormField = resolveComponent5("UFormField");
|
|
519
548
|
const USelectMenu = resolveComponent5("USelectMenu");
|
|
520
|
-
return
|
|
549
|
+
return h7(
|
|
521
550
|
"div",
|
|
522
551
|
{},
|
|
523
|
-
|
|
552
|
+
h7(
|
|
524
553
|
UFormField,
|
|
525
554
|
{
|
|
526
555
|
label: control.value.label,
|
|
@@ -529,7 +558,7 @@ var NuxtUiMultiEnumControl = defineComponent6({
|
|
|
529
558
|
error: errorMessage.value
|
|
530
559
|
},
|
|
531
560
|
{
|
|
532
|
-
default: () =>
|
|
561
|
+
default: () => h7(USelectMenu, {
|
|
533
562
|
multiple: true,
|
|
534
563
|
modelValue: selectedValues.value,
|
|
535
564
|
items: options.value,
|
|
@@ -552,7 +581,7 @@ var NuxtUiMultiEnumControl = defineComponent6({
|
|
|
552
581
|
|
|
553
582
|
// src/renderers/controls/NuxtUiNumberControl.ts
|
|
554
583
|
import { rendererProps as rendererProps7, useJsonFormsControl as useJsonFormsControl5 } from "@jsonforms/vue";
|
|
555
|
-
import { computed as computed8, defineComponent as defineComponent7, h as
|
|
584
|
+
import { computed as computed8, defineComponent as defineComponent7, h as h8, resolveComponent as resolveComponent6 } from "vue";
|
|
556
585
|
var NuxtUiNumberControl = defineComponent7({
|
|
557
586
|
name: "NuxtUiNumberControl",
|
|
558
587
|
props: rendererProps7(),
|
|
@@ -578,10 +607,10 @@ var NuxtUiNumberControl = defineComponent7({
|
|
|
578
607
|
if (!control.value.visible) return null;
|
|
579
608
|
const UFormField = resolveComponent6("UFormField");
|
|
580
609
|
const UInput = resolveComponent6("UInput");
|
|
581
|
-
return
|
|
610
|
+
return h8(
|
|
582
611
|
"div",
|
|
583
612
|
{},
|
|
584
|
-
|
|
613
|
+
h8(
|
|
585
614
|
UFormField,
|
|
586
615
|
{
|
|
587
616
|
label: control.value.label,
|
|
@@ -590,7 +619,7 @@ var NuxtUiNumberControl = defineComponent7({
|
|
|
590
619
|
error: errorMessage.value
|
|
591
620
|
},
|
|
592
621
|
{
|
|
593
|
-
default: () =>
|
|
622
|
+
default: () => h8(UInput, {
|
|
594
623
|
type: "number",
|
|
595
624
|
inputmode: "decimal",
|
|
596
625
|
modelValue: modelValue.value,
|
|
@@ -608,7 +637,7 @@ var NuxtUiNumberControl = defineComponent7({
|
|
|
608
637
|
|
|
609
638
|
// src/renderers/controls/NuxtUiPasswordControl.ts
|
|
610
639
|
import { rendererProps as rendererProps8, useJsonFormsControl as useJsonFormsControl6 } from "@jsonforms/vue";
|
|
611
|
-
import { computed as computed9, defineComponent as defineComponent8, h as
|
|
640
|
+
import { computed as computed9, defineComponent as defineComponent8, h as h9, ref, resolveComponent as resolveComponent7 } from "vue";
|
|
612
641
|
var NuxtUiPasswordControl = defineComponent8({
|
|
613
642
|
name: "NuxtUiPasswordControl",
|
|
614
643
|
props: rendererProps8(),
|
|
@@ -624,10 +653,10 @@ var NuxtUiPasswordControl = defineComponent8({
|
|
|
624
653
|
const UFormField = resolveComponent7("UFormField");
|
|
625
654
|
const UInput = resolveComponent7("UInput");
|
|
626
655
|
const UButton = resolveComponent7("UButton");
|
|
627
|
-
return
|
|
656
|
+
return h9(
|
|
628
657
|
"div",
|
|
629
658
|
{},
|
|
630
|
-
|
|
659
|
+
h9(
|
|
631
660
|
UFormField,
|
|
632
661
|
{
|
|
633
662
|
label: control.value.label,
|
|
@@ -636,7 +665,7 @@ var NuxtUiPasswordControl = defineComponent8({
|
|
|
636
665
|
error: errorMessage.value
|
|
637
666
|
},
|
|
638
667
|
{
|
|
639
|
-
default: () =>
|
|
668
|
+
default: () => h9(
|
|
640
669
|
UInput,
|
|
641
670
|
{
|
|
642
671
|
modelValue: control.value.data ?? "",
|
|
@@ -649,7 +678,7 @@ var NuxtUiPasswordControl = defineComponent8({
|
|
|
649
678
|
"onUpdate:modelValue": (v) => handleChange(control.value.path, v)
|
|
650
679
|
},
|
|
651
680
|
{
|
|
652
|
-
trailing: () =>
|
|
681
|
+
trailing: () => h9(UButton, {
|
|
653
682
|
type: "button",
|
|
654
683
|
color: "neutral",
|
|
655
684
|
variant: "ghost",
|
|
@@ -676,51 +705,59 @@ import { rendererProps as rendererProps9, useJsonFormsControl as useJsonFormsCon
|
|
|
676
705
|
import {
|
|
677
706
|
computed as computed10,
|
|
678
707
|
defineComponent as defineComponent9,
|
|
679
|
-
h as
|
|
708
|
+
h as h10,
|
|
680
709
|
resolveComponent as resolveComponent8
|
|
681
710
|
} from "vue";
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
"
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
711
|
+
function createNuxtUiStringControl(docsUrl) {
|
|
712
|
+
return defineComponent9({
|
|
713
|
+
name: "NuxtUiStringControl",
|
|
714
|
+
props: rendererProps9(),
|
|
715
|
+
setup(props) {
|
|
716
|
+
const { control, handleChange } = useJsonFormsControl7(
|
|
717
|
+
props
|
|
718
|
+
);
|
|
719
|
+
const errorMessage = computed10(
|
|
720
|
+
() => trimmedOrUndefined(control.value.errors)
|
|
721
|
+
);
|
|
722
|
+
return () => {
|
|
723
|
+
if (!control.value.visible) return null;
|
|
724
|
+
const UFormField = resolveComponent8("UFormField");
|
|
725
|
+
const UInput = resolveComponent8("UInput");
|
|
726
|
+
const slots = {
|
|
727
|
+
default: () => h10(UInput, {
|
|
728
|
+
modelValue: control.value.data ?? "",
|
|
729
|
+
class: "w-full",
|
|
730
|
+
disabled: !control.value.enabled,
|
|
731
|
+
color: errorMessage.value ? "error" : void 0,
|
|
732
|
+
"aria-invalid": Boolean(errorMessage.value),
|
|
733
|
+
"onUpdate:modelValue": (v) => handleChange(control.value.path, v)
|
|
734
|
+
})
|
|
735
|
+
};
|
|
736
|
+
const hintSlot = renderDocsHintSlot(
|
|
737
|
+
control.value.schema,
|
|
738
|
+
control.value.label ?? "",
|
|
739
|
+
docsUrl,
|
|
740
|
+
resolveComponent8
|
|
741
|
+
);
|
|
742
|
+
if (hintSlot) slots.hint = hintSlot;
|
|
743
|
+
return h10(
|
|
744
|
+
"div",
|
|
745
|
+
{},
|
|
746
|
+
h10(UFormField, {
|
|
700
747
|
label: control.value.label,
|
|
701
748
|
description: controlDescription(control.value),
|
|
702
749
|
required: control.value.required,
|
|
703
750
|
error: errorMessage.value
|
|
704
|
-
},
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
color: errorMessage.value ? "error" : void 0,
|
|
711
|
-
"aria-invalid": Boolean(errorMessage.value),
|
|
712
|
-
"onUpdate:modelValue": (v) => handleChange(control.value.path, v)
|
|
713
|
-
})
|
|
714
|
-
}
|
|
715
|
-
)
|
|
716
|
-
);
|
|
717
|
-
};
|
|
718
|
-
}
|
|
719
|
-
});
|
|
751
|
+
}, slots)
|
|
752
|
+
);
|
|
753
|
+
};
|
|
754
|
+
}
|
|
755
|
+
});
|
|
756
|
+
}
|
|
720
757
|
|
|
721
758
|
// src/renderers/controls/NuxtUiTextareaControl.ts
|
|
722
759
|
import { rendererProps as rendererProps10, useJsonFormsControl as useJsonFormsControl8 } from "@jsonforms/vue";
|
|
723
|
-
import { computed as computed11, defineComponent as defineComponent10, h as
|
|
760
|
+
import { computed as computed11, defineComponent as defineComponent10, h as h11, resolveComponent as resolveComponent9 } from "vue";
|
|
724
761
|
var NuxtUiTextareaControl = defineComponent10({
|
|
725
762
|
name: "NuxtUiTextareaControl",
|
|
726
763
|
props: rendererProps10(),
|
|
@@ -733,10 +770,10 @@ var NuxtUiTextareaControl = defineComponent10({
|
|
|
733
770
|
if (!control.value.visible) return null;
|
|
734
771
|
const UFormField = resolveComponent9("UFormField");
|
|
735
772
|
const UTextarea = resolveComponent9("UTextarea");
|
|
736
|
-
return
|
|
773
|
+
return h11(
|
|
737
774
|
"div",
|
|
738
775
|
{},
|
|
739
|
-
|
|
776
|
+
h11(
|
|
740
777
|
UFormField,
|
|
741
778
|
{
|
|
742
779
|
label: control.value.label,
|
|
@@ -745,7 +782,7 @@ var NuxtUiTextareaControl = defineComponent10({
|
|
|
745
782
|
error: errorMessage.value
|
|
746
783
|
},
|
|
747
784
|
{
|
|
748
|
-
default: () =>
|
|
785
|
+
default: () => h11(UTextarea, {
|
|
749
786
|
modelValue: control.value.data ?? "",
|
|
750
787
|
class: "w-full",
|
|
751
788
|
disabled: !control.value.enabled,
|
|
@@ -763,7 +800,7 @@ var NuxtUiTextareaControl = defineComponent10({
|
|
|
763
800
|
|
|
764
801
|
// src/renderers/layouts/NuxtUiCategorizationRenderer.ts
|
|
765
802
|
import { DispatchRenderer as DispatchRenderer3, rendererProps as rendererProps11, useJsonFormsCategorization } from "@jsonforms/vue";
|
|
766
|
-
import { defineComponent as defineComponent11, h as
|
|
803
|
+
import { defineComponent as defineComponent11, h as h12 } from "vue";
|
|
767
804
|
function createNuxtUiCategorizationRenderer(theme) {
|
|
768
805
|
return defineComponent11({
|
|
769
806
|
name: "NuxtUiCategorizationRenderer",
|
|
@@ -775,28 +812,28 @@ function createNuxtUiCategorizationRenderer(theme) {
|
|
|
775
812
|
);
|
|
776
813
|
return () => {
|
|
777
814
|
if (!layout.value.visible) return null;
|
|
778
|
-
return
|
|
815
|
+
return h12(
|
|
779
816
|
"div",
|
|
780
817
|
{ class: theme.layoutVerticalWide },
|
|
781
818
|
categories.map((categoryRef, catIndex) => {
|
|
782
819
|
const category = categoryRef.value;
|
|
783
820
|
const elements = category.uischema.elements ?? [];
|
|
784
|
-
return
|
|
821
|
+
return h12(
|
|
785
822
|
"div",
|
|
786
823
|
{
|
|
787
824
|
key: `${layout.value.path}-cat-${catIndex}`,
|
|
788
825
|
class: theme.layoutVertical
|
|
789
826
|
},
|
|
790
827
|
[
|
|
791
|
-
category.label ?
|
|
792
|
-
|
|
828
|
+
category.label ? h12("div", { class: theme.labelSection }, category.label) : null,
|
|
829
|
+
h12(
|
|
793
830
|
"div",
|
|
794
831
|
{ class: theme.layoutVertical },
|
|
795
832
|
elements.map(
|
|
796
|
-
(element, index) =>
|
|
833
|
+
(element, index) => h12(
|
|
797
834
|
"div",
|
|
798
835
|
{ key: `${category.path}-${index}` },
|
|
799
|
-
|
|
836
|
+
h12(DispatchRenderer3, {
|
|
800
837
|
schema: category.schema,
|
|
801
838
|
uischema: element,
|
|
802
839
|
path: category.path,
|
|
@@ -818,7 +855,7 @@ function createNuxtUiCategorizationRenderer(theme) {
|
|
|
818
855
|
|
|
819
856
|
// src/renderers/layouts/NuxtUiCategoryRenderer.ts
|
|
820
857
|
import { DispatchRenderer as DispatchRenderer4, rendererProps as rendererProps12, useJsonFormsLayout } from "@jsonforms/vue";
|
|
821
|
-
import { defineComponent as defineComponent12, h as
|
|
858
|
+
import { defineComponent as defineComponent12, h as h13 } from "vue";
|
|
822
859
|
function createNuxtUiCategoryRenderer(theme) {
|
|
823
860
|
return defineComponent12({
|
|
824
861
|
name: "NuxtUiCategoryRenderer",
|
|
@@ -831,16 +868,16 @@ function createNuxtUiCategoryRenderer(theme) {
|
|
|
831
868
|
return () => {
|
|
832
869
|
if (!layout.value.visible) return null;
|
|
833
870
|
const elements = layout.value.uischema.elements ?? [];
|
|
834
|
-
return
|
|
835
|
-
layout.value.label ?
|
|
836
|
-
|
|
871
|
+
return h13("div", { class: theme.layoutVertical }, [
|
|
872
|
+
layout.value.label ? h13("div", { class: theme.labelSection }, layout.value.label) : null,
|
|
873
|
+
h13(
|
|
837
874
|
"div",
|
|
838
875
|
{ class: theme.layoutVertical },
|
|
839
876
|
elements.map(
|
|
840
|
-
(element, index) =>
|
|
877
|
+
(element, index) => h13(
|
|
841
878
|
"div",
|
|
842
879
|
{ key: `${layout.value.path}-${index}` },
|
|
843
|
-
|
|
880
|
+
h13(DispatchRenderer4, {
|
|
844
881
|
schema: layout.value.schema,
|
|
845
882
|
uischema: element,
|
|
846
883
|
path: layout.value.path,
|
|
@@ -859,7 +896,7 @@ function createNuxtUiCategoryRenderer(theme) {
|
|
|
859
896
|
|
|
860
897
|
// src/renderers/layouts/NuxtUiGroupRenderer.ts
|
|
861
898
|
import { DispatchRenderer as DispatchRenderer5, rendererProps as rendererProps13, useJsonFormsLayout as useJsonFormsLayout2 } from "@jsonforms/vue";
|
|
862
|
-
import { defineComponent as defineComponent13, h as
|
|
899
|
+
import { defineComponent as defineComponent13, h as h14 } from "vue";
|
|
863
900
|
function createNuxtUiGroupRenderer(theme) {
|
|
864
901
|
return defineComponent13({
|
|
865
902
|
name: "NuxtUiGroupRenderer",
|
|
@@ -874,19 +911,19 @@ function createNuxtUiGroupRenderer(theme) {
|
|
|
874
911
|
const elements = layout.value.uischema.elements ?? [];
|
|
875
912
|
const isNested = layout.value.path?.includes(".") ?? false;
|
|
876
913
|
const containerClass = isNested ? theme.groupNested : theme.panel;
|
|
877
|
-
return
|
|
914
|
+
return h14(
|
|
878
915
|
"div",
|
|
879
916
|
{ class: containerClass },
|
|
880
917
|
[
|
|
881
|
-
layout.value.label ?
|
|
882
|
-
|
|
918
|
+
layout.value.label ? h14("div", { class: theme.labelSectionSpaced }, layout.value.label) : null,
|
|
919
|
+
h14(
|
|
883
920
|
"div",
|
|
884
921
|
{ class: theme.layoutVertical },
|
|
885
922
|
elements.map(
|
|
886
|
-
(element, index) =>
|
|
923
|
+
(element, index) => h14(
|
|
887
924
|
"div",
|
|
888
925
|
{ key: `${layout.value.path}-${index}` },
|
|
889
|
-
|
|
926
|
+
h14(DispatchRenderer5, {
|
|
890
927
|
schema: layout.value.schema,
|
|
891
928
|
uischema: element,
|
|
892
929
|
path: layout.value.path,
|
|
@@ -906,7 +943,7 @@ function createNuxtUiGroupRenderer(theme) {
|
|
|
906
943
|
|
|
907
944
|
// src/renderers/layouts/NuxtUiHorizontalLayoutRenderer.ts
|
|
908
945
|
import { DispatchRenderer as DispatchRenderer6, rendererProps as rendererProps14, useJsonFormsLayout as useJsonFormsLayout3 } from "@jsonforms/vue";
|
|
909
|
-
import { defineComponent as defineComponent14, h as
|
|
946
|
+
import { defineComponent as defineComponent14, h as h15 } from "vue";
|
|
910
947
|
function createNuxtUiHorizontalLayoutRenderer(theme) {
|
|
911
948
|
return defineComponent14({
|
|
912
949
|
name: "NuxtUiHorizontalLayoutRenderer",
|
|
@@ -919,17 +956,17 @@ function createNuxtUiHorizontalLayoutRenderer(theme) {
|
|
|
919
956
|
return () => {
|
|
920
957
|
if (!layout.value.visible) return null;
|
|
921
958
|
const elements = layout.value.uischema.elements ?? [];
|
|
922
|
-
return
|
|
959
|
+
return h15(
|
|
923
960
|
"div",
|
|
924
961
|
{ class: theme.layoutHorizontal },
|
|
925
962
|
elements.map(
|
|
926
|
-
(element, index) =>
|
|
963
|
+
(element, index) => h15(
|
|
927
964
|
"div",
|
|
928
965
|
{
|
|
929
966
|
key: `${layout.value.path}-${index}`,
|
|
930
967
|
class: theme.layoutHorizontalItem
|
|
931
968
|
},
|
|
932
|
-
|
|
969
|
+
h15(DispatchRenderer6, {
|
|
933
970
|
schema: layout.value.schema,
|
|
934
971
|
uischema: element,
|
|
935
972
|
path: layout.value.path,
|
|
@@ -947,7 +984,7 @@ function createNuxtUiHorizontalLayoutRenderer(theme) {
|
|
|
947
984
|
|
|
948
985
|
// src/renderers/layouts/NuxtUiLabelRenderer.ts
|
|
949
986
|
import { rendererProps as rendererProps15, useJsonFormsLabel } from "@jsonforms/vue";
|
|
950
|
-
import { defineComponent as defineComponent15, h as
|
|
987
|
+
import { defineComponent as defineComponent15, h as h16 } from "vue";
|
|
951
988
|
function createNuxtUiLabelRenderer(theme) {
|
|
952
989
|
return defineComponent15({
|
|
953
990
|
name: "NuxtUiLabelRenderer",
|
|
@@ -958,7 +995,7 @@ function createNuxtUiLabelRenderer(theme) {
|
|
|
958
995
|
);
|
|
959
996
|
return () => {
|
|
960
997
|
if (!label.value.visible) return null;
|
|
961
|
-
return
|
|
998
|
+
return h16("div", { class: theme.textLabel }, label.value.text);
|
|
962
999
|
};
|
|
963
1000
|
}
|
|
964
1001
|
});
|
|
@@ -966,7 +1003,7 @@ function createNuxtUiLabelRenderer(theme) {
|
|
|
966
1003
|
|
|
967
1004
|
// src/renderers/layouts/NuxtUiVerticalLayoutRenderer.ts
|
|
968
1005
|
import { DispatchRenderer as DispatchRenderer7, rendererProps as rendererProps16, useJsonFormsLayout as useJsonFormsLayout4 } from "@jsonforms/vue";
|
|
969
|
-
import { defineComponent as defineComponent16, h as
|
|
1006
|
+
import { defineComponent as defineComponent16, h as h17 } from "vue";
|
|
970
1007
|
function createNuxtUiVerticalLayoutRenderer(theme) {
|
|
971
1008
|
return defineComponent16({
|
|
972
1009
|
name: "NuxtUiVerticalLayoutRenderer",
|
|
@@ -979,14 +1016,14 @@ function createNuxtUiVerticalLayoutRenderer(theme) {
|
|
|
979
1016
|
return () => {
|
|
980
1017
|
if (!layout.value.visible) return null;
|
|
981
1018
|
const elements = layout.value.uischema.elements ?? [];
|
|
982
|
-
return
|
|
1019
|
+
return h17(
|
|
983
1020
|
"div",
|
|
984
1021
|
{ class: theme.layoutVertical },
|
|
985
1022
|
elements.map(
|
|
986
|
-
(element, index) =>
|
|
1023
|
+
(element, index) => h17(
|
|
987
1024
|
"div",
|
|
988
1025
|
{ key: `${layout.value.path}-${index}` },
|
|
989
|
-
|
|
1026
|
+
h17(DispatchRenderer7, {
|
|
990
1027
|
schema: layout.value.schema,
|
|
991
1028
|
uischema: element,
|
|
992
1029
|
path: layout.value.path,
|
|
@@ -1074,6 +1111,7 @@ var isOneOfEnumControl = (uischema, schema, context) => {
|
|
|
1074
1111
|
};
|
|
1075
1112
|
function createNuxtUiRenderers(options) {
|
|
1076
1113
|
const theme = mergeTheme(options?.theme);
|
|
1114
|
+
const docsUrl = options?.docsUrl;
|
|
1077
1115
|
return [
|
|
1078
1116
|
// Layouts
|
|
1079
1117
|
{
|
|
@@ -1148,7 +1186,7 @@ function createNuxtUiRenderers(options) {
|
|
|
1148
1186
|
},
|
|
1149
1187
|
{
|
|
1150
1188
|
tester: rankWith(RANK, isStringControl),
|
|
1151
|
-
renderer: markRaw(
|
|
1189
|
+
renderer: markRaw(createNuxtUiStringControl(docsUrl))
|
|
1152
1190
|
}
|
|
1153
1191
|
];
|
|
1154
1192
|
}
|
|
@@ -1157,6 +1195,7 @@ export {
|
|
|
1157
1195
|
controlDescription,
|
|
1158
1196
|
createNuxtUiRenderers,
|
|
1159
1197
|
defaultTheme,
|
|
1198
|
+
getDocsPathFromSchema,
|
|
1160
1199
|
mergeTheme,
|
|
1161
1200
|
nuxtUiRenderers
|
|
1162
1201
|
};
|