@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.
Files changed (64) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE +190 -0
  3. package/README.md +112 -0
  4. package/dist/components/FormRoot.d.ts +17 -0
  5. package/dist/components/FormRoot.d.ts.map +1 -0
  6. package/dist/components/FormRoot.js +24 -0
  7. package/dist/components/FormRoot.js.map +1 -0
  8. package/dist/components/NodeRenderer.d.ts +22 -0
  9. package/dist/components/NodeRenderer.d.ts.map +1 -0
  10. package/dist/components/NodeRenderer.js +24 -0
  11. package/dist/components/NodeRenderer.js.map +1 -0
  12. package/dist/context.d.ts +29 -0
  13. package/dist/context.d.ts.map +1 -0
  14. package/dist/context.js +43 -0
  15. package/dist/context.js.map +1 -0
  16. package/dist/field-props.d.ts +29 -0
  17. package/dist/field-props.d.ts.map +1 -0
  18. package/dist/field-props.js +26 -0
  19. package/dist/field-props.js.map +1 -0
  20. package/dist/index.d.ts +20 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +14 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/use-field-array.d.ts +20 -0
  25. package/dist/use-field-array.d.ts.map +1 -0
  26. package/dist/use-field-array.js +43 -0
  27. package/dist/use-field-array.js.map +1 -0
  28. package/dist/use-field-widget.d.ts +33 -0
  29. package/dist/use-field-widget.d.ts.map +1 -0
  30. package/dist/use-field-widget.js +66 -0
  31. package/dist/use-field-widget.js.map +1 -0
  32. package/dist/use-field.d.ts +28 -0
  33. package/dist/use-field.d.ts.map +1 -0
  34. package/dist/use-field.js +47 -0
  35. package/dist/use-field.js.map +1 -0
  36. package/dist/use-form.d.ts +26 -0
  37. package/dist/use-form.d.ts.map +1 -0
  38. package/dist/use-form.js +36 -0
  39. package/dist/use-form.js.map +1 -0
  40. package/dist/use-store.d.ts +19 -0
  41. package/dist/use-store.d.ts.map +1 -0
  42. package/dist/use-store.js +29 -0
  43. package/dist/use-store.js.map +1 -0
  44. package/dist/widget.d.ts +11 -0
  45. package/dist/widget.d.ts.map +1 -0
  46. package/dist/widget.js +2 -0
  47. package/dist/widget.js.map +1 -0
  48. package/dist/widgets/FieldErrors.d.ts +24 -0
  49. package/dist/widgets/FieldErrors.d.ts.map +1 -0
  50. package/dist/widgets/FieldErrors.js +16 -0
  51. package/dist/widgets/FieldErrors.js.map +1 -0
  52. package/dist/widgets/containers.d.ts +29 -0
  53. package/dist/widgets/containers.d.ts.map +1 -0
  54. package/dist/widgets/containers.js +50 -0
  55. package/dist/widgets/containers.js.map +1 -0
  56. package/dist/widgets/default-registry.d.ts +9 -0
  57. package/dist/widgets/default-registry.d.ts.map +1 -0
  58. package/dist/widgets/default-registry.js +46 -0
  59. package/dist/widgets/default-registry.js.map +1 -0
  60. package/dist/widgets/inputs.d.ts +68 -0
  61. package/dist/widgets/inputs.d.ts.map +1 -0
  62. package/dist/widgets/inputs.js +94 -0
  63. package/dist/widgets/inputs.js.map +1 -0
  64. 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":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAW,CAAA;AAExF,SAAS,UAAU,CAAC,KAAkB,EAAE,OAAc;IACpD,OAAO,CAAC,CAAC,KAAK,EAAE;QACd,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QACjG,OAAO;QACP,KAAK,CAAC,WAAW,CAAC,KAAK;YACrB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;YACtE,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACxE,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,KAAuB;IACtC,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CACV,UAAU,CACR,KAAK,EACL,CAAC,CAAC,OAAO,EAAE;YACT,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;YACjF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAA;IACL,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,QAAQ;IACf,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CACV,UAAU,CACR,KAAK,EACL,CAAC,CAAC,OAAO,EAAE;YACT,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;YACnB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;YACjF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAA;IACL,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CACV,UAAU,CACR,KAAK,EACL,CAAC,CAAC,UAAU,EAAE;YACZ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;YACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAE,KAAK,CAAC,MAA8B,CAAC,KAAK,CAAC;YACpF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAA;IACL,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CACV,UAAU,CACR,KAAK,EACL,CAAC,CAAC,OAAO,EAAE;YACT,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YACnC,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC;YACtF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAA;IACL,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC;IACpC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,CACV,UAAU,CACR,KAAK,EACL,CAAC,CACC,QAAQ,EACR;YACE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;YACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;YAC1B,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAE,KAAK,CAAC,MAA4B,CAAC,KAAK,CAAC;YACnF,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,EACD;YACE,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACpE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACxC;SACF,CACF,CACF,CAAA;IACL,CAAC;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,15 +1,62 @@
1
1
  {
2
2
  "name": "@texaryn/vue",
3
- "version": "0.0.0",
4
- "description": "Placeholder reserving the package name. Not a usable release.",
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
+ }