@texaryn/vue 0.0.0 → 0.1.1
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/CHANGELOG.md +20 -0
- package/LICENSE +190 -0
- package/README.md +112 -0
- package/dist/components/FormRoot.d.ts +17 -0
- package/dist/components/FormRoot.d.ts.map +1 -0
- package/dist/components/FormRoot.js +24 -0
- package/dist/components/FormRoot.js.map +1 -0
- package/dist/components/NodeRenderer.d.ts +22 -0
- package/dist/components/NodeRenderer.d.ts.map +1 -0
- package/dist/components/NodeRenderer.js +24 -0
- package/dist/components/NodeRenderer.js.map +1 -0
- package/dist/context.d.ts +29 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +43 -0
- package/dist/context.js.map +1 -0
- package/dist/field-props.d.ts +29 -0
- package/dist/field-props.d.ts.map +1 -0
- package/dist/field-props.js +26 -0
- package/dist/field-props.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/use-field-array.d.ts +20 -0
- package/dist/use-field-array.d.ts.map +1 -0
- package/dist/use-field-array.js +43 -0
- package/dist/use-field-array.js.map +1 -0
- package/dist/use-field-widget.d.ts +33 -0
- package/dist/use-field-widget.d.ts.map +1 -0
- package/dist/use-field-widget.js +66 -0
- package/dist/use-field-widget.js.map +1 -0
- package/dist/use-field.d.ts +28 -0
- package/dist/use-field.d.ts.map +1 -0
- package/dist/use-field.js +47 -0
- package/dist/use-field.js.map +1 -0
- package/dist/use-form.d.ts +26 -0
- package/dist/use-form.d.ts.map +1 -0
- package/dist/use-form.js +36 -0
- package/dist/use-form.js.map +1 -0
- package/dist/use-store.d.ts +19 -0
- package/dist/use-store.d.ts.map +1 -0
- package/dist/use-store.js +29 -0
- package/dist/use-store.js.map +1 -0
- package/dist/widget.d.ts +11 -0
- package/dist/widget.d.ts.map +1 -0
- package/dist/widget.js +2 -0
- package/dist/widget.js.map +1 -0
- package/dist/widgets/FieldErrors.d.ts +24 -0
- package/dist/widgets/FieldErrors.d.ts.map +1 -0
- package/dist/widgets/FieldErrors.js +16 -0
- package/dist/widgets/FieldErrors.js.map +1 -0
- package/dist/widgets/containers.d.ts +29 -0
- package/dist/widgets/containers.d.ts.map +1 -0
- package/dist/widgets/containers.js +50 -0
- package/dist/widgets/containers.js.map +1 -0
- package/dist/widgets/default-registry.d.ts +9 -0
- package/dist/widgets/default-registry.d.ts.map +1 -0
- package/dist/widgets/default-registry.js +46 -0
- package/dist/widgets/default-registry.js.map +1 -0
- package/dist/widgets/inputs.d.ts +68 -0
- package/dist/widgets/inputs.d.ts.map +1 -0
- package/dist/widgets/inputs.js +94 -0
- package/dist/widgets/inputs.js.map +1 -0
- package/package.json +50 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createRendererRegistry } from '@texaryn/core';
|
|
2
|
+
import { Checkbox, NumberInput, Select, Textarea, TextInput } from './inputs.js';
|
|
3
|
+
import { ArrayControl, ObjectLayout } from './containers.js';
|
|
4
|
+
/**
|
|
5
|
+
* The same tests and ranks as the React default registry, on purpose. If the
|
|
6
|
+
* two ever disagree about which widget a node resolves to, the difference is
|
|
7
|
+
* a renderer's opinion leaking into what the document means.
|
|
8
|
+
*/
|
|
9
|
+
export function createDefaultRegistry() {
|
|
10
|
+
const registry = createRendererRegistry();
|
|
11
|
+
registry.register({
|
|
12
|
+
test: (node) => node.type === 'field' &&
|
|
13
|
+
node.fieldType === 'string' &&
|
|
14
|
+
node.enumValues == null,
|
|
15
|
+
rank: 1,
|
|
16
|
+
}, TextInput);
|
|
17
|
+
registry.register({
|
|
18
|
+
test: (node) => node.type === 'field' &&
|
|
19
|
+
(node.fieldType === 'number' || node.fieldType === 'integer'),
|
|
20
|
+
rank: 1,
|
|
21
|
+
}, NumberInput);
|
|
22
|
+
registry.register({
|
|
23
|
+
test: (node) => node.type === 'field' && node.fieldType === 'boolean',
|
|
24
|
+
rank: 1,
|
|
25
|
+
}, Checkbox);
|
|
26
|
+
registry.register({
|
|
27
|
+
test: (node) => node.type === 'field' &&
|
|
28
|
+
node.enumValues != null &&
|
|
29
|
+
node.enumValues.length > 0,
|
|
30
|
+
rank: 2,
|
|
31
|
+
}, Select);
|
|
32
|
+
registry.register({
|
|
33
|
+
test: (node) => node.type === 'field' && node.widget === 'textarea',
|
|
34
|
+
rank: 5,
|
|
35
|
+
}, Textarea);
|
|
36
|
+
registry.register({
|
|
37
|
+
test: (node) => node.type === 'container' && node.containerType === 'object',
|
|
38
|
+
rank: 1,
|
|
39
|
+
}, ObjectLayout);
|
|
40
|
+
registry.register({
|
|
41
|
+
test: (node) => node.type === 'container' && node.containerType === 'array',
|
|
42
|
+
rank: 1,
|
|
43
|
+
}, ArrayControl);
|
|
44
|
+
return registry;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=default-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-registry.js","sourceRoot":"","sources":["../../src/widgets/default-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE5D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,sBAAsB,EAAmB,CAAA;IAE1D,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,IAAI,KAAK,OAAO;YACpB,IAAkB,CAAC,SAAS,KAAK,QAAQ;YACzC,IAAkB,CAAC,UAAU,IAAI,IAAI;QACxC,IAAI,EAAE,CAAC;KACR,EACD,SAAS,CACV,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,CAAE,IAAkB,CAAC,SAAS,KAAK,QAAQ,IAAK,IAAkB,CAAC,SAAS,KAAK,SAAS,CAAC;QAC7F,IAAI,EAAE,CAAC;KACR,EACD,WAAW,CACZ,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAK,IAAkB,CAAC,SAAS,KAAK,SAAS;QACpF,IAAI,EAAE,CAAC;KACR,EACD,QAAQ,CACT,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,CAAC,IAAI,KAAK,OAAO;YACpB,IAAkB,CAAC,UAAU,IAAI,IAAI;YACrC,IAAkB,CAAC,UAAW,CAAC,MAAM,GAAG,CAAC;QAC5C,IAAI,EAAE,CAAC;KACR,EACD,MAAM,CACP,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAK,IAAkB,CAAC,MAAM,KAAK,UAAU;QAClF,IAAI,EAAE,CAAC;KACR,EACD,QAAQ,CACT,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ;QAC5E,IAAI,EAAE,CAAC;KACR,EACD,YAAY,CACb,CAAA;IAED,QAAQ,CAAC,QAAQ,CACf;QACE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO;QAC3E,IAAI,EAAE,CAAC;KACR,EACD,YAAY,CACb,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { PropType, VNode } from 'vue';
|
|
2
|
+
import type { UINode } from '@texaryn/core';
|
|
3
|
+
export declare const TextInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
readonly node: {
|
|
5
|
+
readonly type: PropType<UINode>;
|
|
6
|
+
readonly required: true;
|
|
7
|
+
};
|
|
8
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
readonly node: {
|
|
12
|
+
readonly type: PropType<UINode>;
|
|
13
|
+
readonly required: true;
|
|
14
|
+
};
|
|
15
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
16
|
+
export declare const NumberInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
17
|
+
readonly node: {
|
|
18
|
+
readonly type: PropType<UINode>;
|
|
19
|
+
readonly required: true;
|
|
20
|
+
};
|
|
21
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
|
+
readonly node: {
|
|
25
|
+
readonly type: PropType<UINode>;
|
|
26
|
+
readonly required: true;
|
|
27
|
+
};
|
|
28
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
export declare const Textarea: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
30
|
+
readonly node: {
|
|
31
|
+
readonly type: PropType<UINode>;
|
|
32
|
+
readonly required: true;
|
|
33
|
+
};
|
|
34
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
|
+
readonly node: {
|
|
38
|
+
readonly type: PropType<UINode>;
|
|
39
|
+
readonly required: true;
|
|
40
|
+
};
|
|
41
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
42
|
+
export declare const Checkbox: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
43
|
+
readonly node: {
|
|
44
|
+
readonly type: PropType<UINode>;
|
|
45
|
+
readonly required: true;
|
|
46
|
+
};
|
|
47
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
50
|
+
readonly node: {
|
|
51
|
+
readonly type: PropType<UINode>;
|
|
52
|
+
readonly required: true;
|
|
53
|
+
};
|
|
54
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
55
|
+
export declare const Select: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
56
|
+
readonly node: {
|
|
57
|
+
readonly type: PropType<UINode>;
|
|
58
|
+
readonly required: true;
|
|
59
|
+
};
|
|
60
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
61
|
+
[key: string]: any;
|
|
62
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
63
|
+
readonly node: {
|
|
64
|
+
readonly type: PropType<UINode>;
|
|
65
|
+
readonly required: true;
|
|
66
|
+
};
|
|
67
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
68
|
+
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/widgets/inputs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,eAAe,CAAA;AA2BtD,eAAO,MAAM,SAAS;;uBAtBqB,QAAQ,CAAC,MAAM,CAAC;;;;;;;uBAAhB,QAAQ,CAAC,MAAM,CAAC;;;iGAuCzD,CAAA;AAEF,eAAO,MAAM,WAAW;;uBAzCmB,QAAQ,CAAC,MAAM,CAAC;;;;;;;uBAAhB,QAAQ,CAAC,MAAM,CAAC;;;iGA0DzD,CAAA;AAEF,eAAO,MAAM,QAAQ;;uBA5DsB,QAAQ,CAAC,MAAM,CAAC;;;;;;;uBAAhB,QAAQ,CAAC,MAAM,CAAC;;;iGA4EzD,CAAA;AAEF,eAAO,MAAM,QAAQ;;uBA9EsB,QAAQ,CAAC,MAAM,CAAC;;;;;;;uBAAhB,QAAQ,CAAC,MAAM,CAAC;;;iGA+FzD,CAAA;AAEF,eAAO,MAAM,MAAM;;uBAjGwB,QAAQ,CAAC,MAAM,CAAC;;;;;;;uBAAhB,QAAQ,CAAC,MAAM,CAAC;;;iGA2HzD,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { defineComponent, h } from 'vue';
|
|
2
|
+
import { useFieldWidget } from '../use-field-widget.js';
|
|
3
|
+
import { FieldErrors } from './FieldErrors.js';
|
|
4
|
+
const nodeProp = { node: { type: Object, required: true } };
|
|
5
|
+
function fieldShell(field, control) {
|
|
6
|
+
return h('div', [
|
|
7
|
+
h('label', { id: `${field.labelFor.value}-label`, for: field.labelFor.value }, field.label.value),
|
|
8
|
+
control,
|
|
9
|
+
field.description.value
|
|
10
|
+
? h('div', { id: field.descriptionId.value }, field.description.value)
|
|
11
|
+
: null,
|
|
12
|
+
h(FieldErrors, { id: field.errorId.value, errors: field.errors.value }),
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The node prop is read through a getter rather than destructured, so a
|
|
17
|
+
* widget whose node is swapped underneath it (an array move keeps the
|
|
18
|
+
* component instance and changes the node) follows the new one.
|
|
19
|
+
*/
|
|
20
|
+
function useNode(props) {
|
|
21
|
+
return useFieldWidget(() => props.node);
|
|
22
|
+
}
|
|
23
|
+
export const TextInput = defineComponent({
|
|
24
|
+
name: 'TextInput',
|
|
25
|
+
props: nodeProp,
|
|
26
|
+
setup(props) {
|
|
27
|
+
const field = useNode(props);
|
|
28
|
+
return () => fieldShell(field, h('input', {
|
|
29
|
+
...field.aria.value,
|
|
30
|
+
type: 'text',
|
|
31
|
+
value: field.display.value,
|
|
32
|
+
onInput: (event) => field.setRaw(event.target.value),
|
|
33
|
+
onBlur: field.onBlur,
|
|
34
|
+
}));
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
export const NumberInput = defineComponent({
|
|
38
|
+
name: 'NumberInput',
|
|
39
|
+
props: nodeProp,
|
|
40
|
+
setup(props) {
|
|
41
|
+
const field = useNode(props);
|
|
42
|
+
return () => fieldShell(field, h('input', {
|
|
43
|
+
...field.aria.value,
|
|
44
|
+
type: 'number',
|
|
45
|
+
value: field.display.value,
|
|
46
|
+
onInput: (event) => field.setRaw(event.target.value),
|
|
47
|
+
onBlur: field.onBlur,
|
|
48
|
+
}));
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
export const Textarea = defineComponent({
|
|
52
|
+
name: 'Textarea',
|
|
53
|
+
props: nodeProp,
|
|
54
|
+
setup(props) {
|
|
55
|
+
const field = useNode(props);
|
|
56
|
+
return () => fieldShell(field, h('textarea', {
|
|
57
|
+
...field.aria.value,
|
|
58
|
+
value: field.display.value,
|
|
59
|
+
onInput: (event) => field.setRaw(event.target.value),
|
|
60
|
+
onBlur: field.onBlur,
|
|
61
|
+
}));
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export const Checkbox = defineComponent({
|
|
65
|
+
name: 'Checkbox',
|
|
66
|
+
props: nodeProp,
|
|
67
|
+
setup(props) {
|
|
68
|
+
const field = useNode(props);
|
|
69
|
+
return () => fieldShell(field, h('input', {
|
|
70
|
+
...field.aria.value,
|
|
71
|
+
type: 'checkbox',
|
|
72
|
+
checked: Boolean(field.value.value),
|
|
73
|
+
onChange: (event) => field.setValue(event.target.checked),
|
|
74
|
+
onBlur: field.onBlur,
|
|
75
|
+
}));
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
export const Select = defineComponent({
|
|
79
|
+
name: 'Select',
|
|
80
|
+
props: nodeProp,
|
|
81
|
+
setup(props) {
|
|
82
|
+
const field = useNode(props);
|
|
83
|
+
return () => fieldShell(field, h('select', {
|
|
84
|
+
...field.aria.value,
|
|
85
|
+
value: field.display.value,
|
|
86
|
+
onChange: (event) => field.setRaw(event.target.value),
|
|
87
|
+
onBlur: field.onBlur,
|
|
88
|
+
}, [
|
|
89
|
+
h('option', { value: '' }, ''),
|
|
90
|
+
...(field.node.value.enumValues ?? []).map((option) => h('option', { key: String(option.value), value: String(option.value) }, option.title ?? String(option.value))),
|
|
91
|
+
]));
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/widgets/inputs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,62 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@texaryn/vue",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Vue 3 bindings, composables, and default widgets for Texaryn",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vue",
|
|
7
|
+
"json-schema",
|
|
8
|
+
"forms",
|
|
9
|
+
"form-builder",
|
|
10
|
+
"schema-driven",
|
|
11
|
+
"headless",
|
|
12
|
+
"vue-forms",
|
|
13
|
+
"dynamic-forms",
|
|
14
|
+
"typescript"
|
|
15
|
+
],
|
|
16
|
+
"type": "module",
|
|
5
17
|
"license": "Apache-2.0",
|
|
18
|
+
"funding": {
|
|
19
|
+
"type": "github",
|
|
20
|
+
"url": "https://github.com/sponsors/hamzahamidi"
|
|
21
|
+
},
|
|
6
22
|
"repository": {
|
|
7
23
|
"type": "git",
|
|
8
24
|
"url": "git+https://github.com/texaryn/texaryn.git",
|
|
9
25
|
"directory": "packages/vue"
|
|
10
26
|
},
|
|
11
27
|
"homepage": "https://github.com/texaryn/texaryn#readme",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/texaryn/texaryn/issues"
|
|
30
|
+
},
|
|
12
31
|
"publishConfig": {
|
|
13
32
|
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"main": "./dist/index.js",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"import": "./dist/index.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"CHANGELOG.md"
|
|
45
|
+
],
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@texaryn/core": "^0.4.0"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"vue": ">=3.4.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@vue/test-utils": "^2.4.6",
|
|
54
|
+
"jsdom": "^25.0.0",
|
|
55
|
+
"vue": "^3.5.0",
|
|
56
|
+
"@texaryn/schema-json": "0.2.3",
|
|
57
|
+
"@texaryn/examples": "0.0.0"
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"build": "tsc --build"
|
|
14
61
|
}
|
|
15
|
-
}
|
|
62
|
+
}
|