@koumoul/vjsf 3.0.0-beta.3 → 3.0.0-beta.31

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 (103) hide show
  1. package/README.md +21 -0
  2. package/package.json +5 -4
  3. package/src/compat/v2.js +132 -27
  4. package/src/compile/index.js +18 -4
  5. package/src/compile/options.js +3 -7
  6. package/src/compile/v-jsf-compiled.vue.ejs +1 -1
  7. package/src/components/fragments/help-message.vue +10 -1
  8. package/src/components/fragments/section-header.vue +1 -3
  9. package/src/components/fragments/select-item-icon.vue +1 -1
  10. package/src/components/fragments/select-selection.vue +2 -1
  11. package/src/components/fragments/selection-group.vue +100 -0
  12. package/src/components/fragments/text-field-menu.vue +5 -1
  13. package/src/components/node.vue +47 -42
  14. package/src/components/nodes/autocomplete.vue +11 -35
  15. package/src/components/nodes/checkbox-group.vue +39 -0
  16. package/src/components/nodes/checkbox.vue +9 -1
  17. package/src/components/nodes/color-picker.vue +5 -1
  18. package/src/components/nodes/combobox.vue +3 -0
  19. package/src/components/nodes/date-picker.vue +4 -2
  20. package/src/components/nodes/date-time-picker.vue +3 -0
  21. package/src/components/nodes/expansion-panels.vue +24 -12
  22. package/src/components/nodes/file-input.vue +3 -0
  23. package/src/components/nodes/list.vue +145 -91
  24. package/src/components/nodes/number-combobox.vue +3 -0
  25. package/src/components/nodes/number-field.vue +3 -0
  26. package/src/components/nodes/one-of-select.vue +45 -24
  27. package/src/components/nodes/radio-group.vue +53 -0
  28. package/src/components/nodes/section.vue +3 -0
  29. package/src/components/nodes/select.vue +10 -27
  30. package/src/components/nodes/slider.vue +3 -0
  31. package/src/components/nodes/stepper.vue +3 -0
  32. package/src/components/nodes/switch-group.vue +39 -0
  33. package/src/components/nodes/switch.vue +9 -3
  34. package/src/components/nodes/tabs.vue +10 -3
  35. package/src/components/nodes/text-field.vue +3 -0
  36. package/src/components/nodes/textarea.vue +3 -0
  37. package/src/components/nodes/vertical-tabs.vue +6 -1
  38. package/src/components/options.js +21 -5
  39. package/src/components/vjsf.vue +6 -0
  40. package/src/composables/use-comp-defaults.js +19 -0
  41. package/src/composables/use-dnd.js +1 -0
  42. package/src/composables/use-get-items.js +48 -0
  43. package/src/composables/use-vjsf.js +76 -40
  44. package/src/index.js +3 -0
  45. package/src/types.ts +21 -6
  46. package/src/utils/build.js +1 -1
  47. package/src/utils/index.js +0 -1
  48. package/src/utils/props.js +9 -30
  49. package/types/compat/v2.d.ts.map +1 -1
  50. package/types/compile/index.d.ts +2 -2
  51. package/types/compile/index.d.ts.map +1 -1
  52. package/types/compile/options.d.ts.map +1 -1
  53. package/types/components/fragments/selection-group.vue.d.ts +35 -0
  54. package/types/components/fragments/selection-group.vue.d.ts.map +1 -0
  55. package/types/components/fragments/text-field-menu.vue.d.ts.map +1 -1
  56. package/types/components/nodes/autocomplete.vue.d.ts.map +1 -1
  57. package/types/components/nodes/checkbox-group copy.vue.d.ts +27 -0
  58. package/types/components/nodes/checkbox-group copy.vue.d.ts.map +1 -0
  59. package/types/components/nodes/checkbox-group.vue.d.ts +27 -0
  60. package/types/components/nodes/checkbox-group.vue.d.ts.map +1 -0
  61. package/types/components/nodes/combobox.vue.d.ts.map +1 -1
  62. package/types/components/nodes/file-input.vue.d.ts.map +1 -1
  63. package/types/components/nodes/number-combobox.vue.d.ts.map +1 -1
  64. package/types/components/nodes/number-field.vue.d.ts.map +1 -1
  65. package/types/components/nodes/radio-group.vue.d.ts +27 -0
  66. package/types/components/nodes/radio-group.vue.d.ts.map +1 -0
  67. package/types/components/nodes/radio.vue.d.ts +10 -0
  68. package/types/components/nodes/radio.vue.d.ts.map +1 -0
  69. package/types/components/nodes/select.vue.d.ts.map +1 -1
  70. package/types/components/nodes/switch-group.vue.d.ts +27 -0
  71. package/types/components/nodes/switch-group.vue.d.ts.map +1 -0
  72. package/types/components/nodes/text-field.vue.d.ts.map +1 -1
  73. package/types/components/nodes/textarea.vue.d.ts.map +1 -1
  74. package/types/components/options.d.ts +1 -1
  75. package/types/components/options.d.ts.map +1 -1
  76. package/types/components/vjsf.vue.d.ts +2 -2
  77. package/types/composables/use-comp-defaults.d.ts +8 -0
  78. package/types/composables/use-comp-defaults.d.ts.map +1 -0
  79. package/types/composables/use-dnd.d.ts.map +1 -1
  80. package/types/composables/use-get-items.d.ts +13 -0
  81. package/types/composables/use-get-items.d.ts.map +1 -0
  82. package/types/composables/use-vjsf.d.ts.map +1 -1
  83. package/types/index.d.ts +2 -0
  84. package/types/index.d.ts.map +1 -1
  85. package/types/types.d.ts +20 -8
  86. package/types/types.d.ts.map +1 -1
  87. package/types/utils/build.d.ts +1 -1
  88. package/types/utils/index.d.ts +0 -1
  89. package/types/utils/props.d.ts +3 -4
  90. package/types/utils/props.d.ts.map +1 -1
  91. package/src/utils/global-register.js +0 -13
  92. package/types/components/global-register.d.ts +0 -8
  93. package/types/components/global-register.d.ts.map +0 -1
  94. package/types/components/nodes/markdown.vue.d.ts +0 -27
  95. package/types/components/nodes/markdown.vue.d.ts.map +0 -1
  96. package/types/components/nodes/text-field copy.vue.d.ts +0 -10
  97. package/types/components/nodes/text-field copy.vue.d.ts.map +0 -1
  98. package/types/components/types.d.ts +0 -91
  99. package/types/components/types.d.ts.map +0 -1
  100. package/types/components/v-jsf.vue.d.ts +0 -13
  101. package/types/components/v-jsf.vue.d.ts.map +0 -1
  102. package/types/utils/clone.d.ts +0 -3
  103. package/types/utils/clone.d.ts.map +0 -1
@@ -1,8 +1,14 @@
1
- import { StatefulLayout } from '@json-layout/core'
1
+ import { StatefulLayout, produceCompileOptions } from '@json-layout/core'
2
2
  import { inject, toRaw, shallowRef, computed, ref, watch, useSlots } from 'vue'
3
3
  import { useElementSize } from '@vueuse/core'
4
4
  import { getFullOptions } from '../components/options.js'
5
- import { registeredNodeComponents } from '../utils/index.js'
5
+ import { setAutoFreeze } from 'immer'
6
+ import Debug from 'debug'
7
+
8
+ const debug = Debug('vjsf:use-vjsf')
9
+
10
+ // immer freezing is disabled because it is not compatible with Vue 3 reactivity
11
+ setAutoFreeze(false)
6
12
 
7
13
  export const emits = {
8
14
  /**
@@ -26,6 +32,8 @@ export const emits = {
26
32
  */
27
33
  export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compile, precompiledLayout) => {
28
34
  const el = ref(null)
35
+
36
+ // TODO: apply a debounce to width ?
29
37
  const { width } = useElementSize(el)
30
38
 
31
39
  /** @type import('vue').ShallowRef<import('../types.js').VjsfStatefulLayout | null> */
@@ -49,72 +57,100 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
49
57
 
50
58
  const slots = useSlots()
51
59
 
52
- const fullOptions = computed(() => getFullOptions(options.value, form, width.value, slots, { ...nodeComponents, ...toRaw(registeredNodeComponents.value) }))
60
+ /* Callbacks from json layout stateful layout */
61
+ /**
62
+ * @param {import('@json-layout/core').StatefulLayout} statefulLayout
63
+ */
64
+ const onStatefulLayoutUpdate = (statefulLayout) => {
65
+ debug('onStatefulLayoutUpdate', statefulLayout)
66
+ if (!statefulLayout) return
67
+ stateTree.value = statefulLayout.stateTree
68
+ debug(' -> emit update:state')
69
+ emit('update:state', statefulLayout)
70
+ if (form) {
71
+ // cf https://vuetifyjs.com/en/components/forms/#validation-state
72
+ if (statefulLayout.valid) form.update('vjsf', true, [])
73
+ else if (statefulLayout.hasHiddenError) form.update('vjsf', null, [])
74
+ else form.update('vjsf', false, [])
75
+ }
76
+ }
77
+ /**
78
+ * @param {any} data
79
+ */
80
+ const onDataUpdate = (data) => {
81
+ debug('onDataUpdate', data)
82
+ debug(' -> emit update:modelValue')
83
+ emit('update:modelValue', data)
84
+ }
85
+ const onAutofocus = () => {
86
+ if (!el.value) return
87
+ // @ts-ignore
88
+ const autofocusNodeElement = el.value.querySelector('.vjsf-input--autofocus')
89
+ debug('onAutofocus', autofocusNodeElement)
90
+ if (autofocusNodeElement) {
91
+ const autofocusInputElement = autofocusNodeElement.querySelector('input') ?? autofocusNodeElement.querySelector('textarea:not([style*="display: none"]')
92
+ if (autofocusInputElement) autofocusInputElement.focus()
93
+ }
94
+ }
95
+
96
+ const fullOptions = computed(() => getFullOptions(options.value, form, width.value, slots, { ...nodeComponents }, onDataUpdate, onStatefulLayoutUpdate, onAutofocus))
97
+
98
+ // do not use a simple computed here as we want to prevent recompiling the layout when the options are the same
99
+ /** @type {import('vue').Ref<import('@json-layout/core').PartialCompileOptions>} */
100
+ const compileOptions = ref({})
101
+ watch(fullOptions, (newOptions) => {
102
+ if (precompiledLayout?.value) return
103
+ const newCompileOptions = produceCompileOptions(compileOptions.value, newOptions)
104
+ if (newCompileOptions !== compileOptions.value) {
105
+ debug('new compileOptions', newCompileOptions)
106
+ compileOptions.value = newCompileOptions
107
+ }
108
+ }, { immediate: true })
53
109
 
54
110
  const compiledLayout = computed(() => {
55
111
  if (precompiledLayout?.value) return precompiledLayout?.value
56
112
  if (!compile) throw new Error('compile function is not available')
57
- const compiledLayout = compile(schema.value, fullOptions.value)
113
+ const compiledLayout = compile(schema.value, compileOptions.value)
58
114
  return compiledLayout
59
115
  })
60
116
 
61
- const onStatefulLayoutUpdate = () => {
62
- if (!statefulLayout.value) return
63
- stateTree.value = statefulLayout.value.stateTree
64
- emit('update:modelValue', statefulLayout.value.data)
65
- emit('update:state', statefulLayout.value)
66
- if (form) {
67
- // cf https://vuetifyjs.com/en/components/forms/#validation-state
68
- if (statefulLayout.value.valid) form.update('vjsf', true, [])
69
- else if (statefulLayout.value.hasHiddenError) form.update('vjsf', null, [])
70
- else form.update('vjsf', false, [])
71
- }
72
- }
73
-
74
117
  const initStatefulLayout = () => {
75
118
  if (!width.value) return
76
119
  // @ts-ignore
77
- const _statefulLayout = /** @type {import('../types.js').VjsfStatefulLayout} */(new StatefulLayout(
120
+ statefulLayout.value = /** @type {import('../types.js').VjsfStatefulLayout} */(new StatefulLayout(
78
121
  toRaw(compiledLayout.value),
79
- toRaw(compiledLayout.value.skeletonTree),
122
+ toRaw(compiledLayout.value.skeletonTrees[compiledLayout.value.mainTree]),
80
123
  toRaw(fullOptions.value),
81
124
  toRaw(modelValue.value)
82
125
  ))
83
- statefulLayout.value = _statefulLayout
84
- onStatefulLayoutUpdate()
85
- _statefulLayout.events.on('update', () => {
86
- onStatefulLayoutUpdate()
87
- })
88
- emit('update:state', _statefulLayout)
89
- _statefulLayout.events.on('autofocus', () => {
90
- if (!el.value) return
91
- // @ts-ignore
92
- const autofocusNodeElement = el.value.querySelector('.vjsf-input--autofocus')
93
- if (autofocusNodeElement) {
94
- const autofocusInputElement = autofocusNodeElement.querySelector('input') ?? autofocusNodeElement.querySelector('textarea:not([style*="display: none"]')
95
- if (autofocusInputElement) autofocusInputElement.focus()
96
- }
97
- })
98
126
  }
99
127
 
128
+ // case where options are updated from outside
100
129
  watch(fullOptions, (newOptions) => {
101
- // in case of runtime compilation the watch on compiledLayout will be triggered
102
- if (!precompiledLayout?.value) return
103
-
130
+ debug('watch fullOptions', fullOptions)
104
131
  if (statefulLayout.value) {
105
- statefulLayout.value.options = newOptions
132
+ debug(' -> update statefulLayout options')
133
+ statefulLayout.value.options = toRaw(newOptions)
106
134
  } else {
135
+ debug(' -> init statefulLayout')
107
136
  initStatefulLayout()
108
137
  }
109
138
  })
110
139
 
111
140
  // case where data is updated from outside
112
141
  watch(modelValue, (newData) => {
113
- if (statefulLayout.value && statefulLayout.value.data !== newData) statefulLayout.value.data = toRaw(newData)
142
+ const rawData = toRaw(newData)
143
+ if (statefulLayout.value && statefulLayout.value.data !== rawData) {
144
+ debug('modelValue changed from outside', rawData)
145
+ debug(' -> update statefulLayout data')
146
+ statefulLayout.value.data = toRaw(rawData)
147
+ }
114
148
  })
115
149
 
116
- // case where schema is updated from outside
150
+ // case where schema or compile options are updated from outside
117
151
  watch(compiledLayout, (newCompiledLayout) => {
152
+ debug('watch compiledLayout', newCompiledLayout)
153
+ debug(' -> init statefulLayout')
118
154
  initStatefulLayout()
119
155
  })
120
156
 
package/src/index.js CHANGED
@@ -2,3 +2,6 @@ import Vjsf from './components/vjsf.vue'
2
2
  import { defaultOptions } from './components/options.js'
3
3
  export { Vjsf, defaultOptions }
4
4
  export default Vjsf
5
+
6
+ /** @typedef {import('./types.js').PartialVjsfOptions} Options */
7
+ /** @typedef {import('./types.js').PartialVjsfCompileOptions} CompileOptions */
package/src/types.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { Component } from 'vue'
2
2
 
3
+ import { ComponentInfo } from '@json-layout/vocabulary'
4
+
3
5
  import {
4
6
  StatefulLayout,
5
7
  StatefulLayoutOptions,
@@ -15,6 +17,9 @@ import {
15
17
  OneOfSelectNode,
16
18
  SectionNode,
17
19
  SelectNode,
20
+ RadioGroupNode,
21
+ CheckboxGroupNode,
22
+ SwitchGroupNode,
18
23
  SliderNode,
19
24
  SwitchNode,
20
25
  TextFieldNode,
@@ -22,29 +27,37 @@ import {
22
27
  VerticalTabsNode,
23
28
  StepperNode,
24
29
  ComboboxNode,
25
- MarkdownNode,
26
30
  FileInputNode,
27
31
  CompileOptions
28
32
  } from '@json-layout/core'
29
33
 
30
34
  export type Density = 'default' | 'comfortable' | 'compact'
31
35
 
36
+ export type Plugin = {
37
+ info: ComponentInfo,
38
+ nodeComponent: Component
39
+ }
40
+
41
+ // these options used to contain many possibilities to override props in various components
42
+ // this was unmaintainable and has been removed, customization of components should be done via slots
43
+ // and defaults providers
32
44
  export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
33
45
  vjsfSlots: Record<string, () => unknown>,
34
46
  nodeComponents: Record<string, Component>,
35
- plugins: Record<string, unknown>
47
+ plugins: Plugin[],
48
+ pluginsOptions: Record<string, unknown>
36
49
  }
37
50
 
38
51
  export type VjsfCompileOptions = CompileOptions & {
39
- nodeComponentImports: Record<string, string>
52
+ pluginsImports: string[]
40
53
  }
41
54
 
42
55
  export type VjsfOptions = VjsfCompileOptions & VjsfStatefulLayoutOptions
43
56
 
44
57
  export type VjsfStatefulLayout = Omit<StatefulLayout, 'options'> & {options: VjsfStatefulLayoutOptions}
45
58
 
46
- export type PartialVjsfCompileOptions = Partial<Omit<VjsfCompileOptions, 'width'>>
47
- export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width'>>
59
+ export type PartialVjsfCompileOptions = Partial<VjsfCompileOptions>
60
+ export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width' | 'vjsfSlots' | 'onData' | 'onUpdate' | 'onAutofocus'>>
48
61
 
49
62
  export type VjsfNode = Omit<StateNode, 'options'> & {options: VjsfOptions}
50
63
  export type VjsfTabsNode = Omit<TabsNode, 'options'> & {options: VjsfOptions}
@@ -58,11 +71,13 @@ export type VjsfNumberFieldNode = Omit<NumberFieldNode, 'options'> & {options: V
58
71
  export type VjsfOneOfSelectNode = Omit<OneOfSelectNode, 'options'> & {options: VjsfOptions}
59
72
  export type VjsfSectionNode = Omit<SectionNode, 'options'> & {options: VjsfOptions}
60
73
  export type VjsfSelectNode = Omit<SelectNode, 'options'> & {options: VjsfOptions}
74
+ export type VjsfRadioGroupNode = Omit<RadioGroupNode, 'options'> & {options: VjsfOptions}
75
+ export type VjsfCheckboxGroupNode = Omit<CheckboxGroupNode, 'options'> & {options: VjsfOptions}
76
+ export type VjsfSwitchGroupNode = Omit<SwitchGroupNode, 'options'> & {options: VjsfOptions}
61
77
  export type VjsfSliderNode = Omit<SliderNode, 'options'> & {options: VjsfOptions}
62
78
  export type VjsfSwitchNode = Omit<SwitchNode, 'options'> & {options: VjsfOptions}
63
79
  export type VjsfTextFieldNode = Omit<TextFieldNode, 'options'> & {options: VjsfOptions}
64
80
  export type VjsfTextareaNode = Omit<TextareaNode, 'options'> & {options: VjsfOptions}
65
- export type VjsfMarkdownNode = Omit<MarkdownNode, 'options'> & {options: VjsfOptions}
66
81
  export type VjsfVerticalTabsNode = Omit<VerticalTabsNode, 'options'> & {options: VjsfOptions}
67
82
  export type VjsfStepperNode = Omit<StepperNode, 'options'> & {options: VjsfOptions}
68
83
  export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {options: VjsfOptions}
@@ -1 +1 @@
1
- export { commonjsDeps } from '@json-layout/core/utils/build'
1
+ export { commonjsDeps, commonjsDepsPaths } from '@json-layout/core/utils/build'
@@ -2,4 +2,3 @@ export * from './arrays.js'
2
2
  export * from './dates.js'
3
3
  export * from './props.js'
4
4
  export * from './slots.js'
5
- export * from './global-register.js'
@@ -5,25 +5,11 @@ import { camelize } from 'vue'
5
5
  // but it was not very flexible and not very easy to use, user defined props should be managed
6
6
  // by a combination of layout.props, layout.getProps and vuetify defaults provider (https://vuetifyjs.com/en/components/defaults-providers/#usage)
7
7
  const defaultProps = {
8
- fieldProps: {},
9
8
  fieldPropsCompact: {
10
- density: 'compact',
11
9
  hideDetails: 'auto'
12
10
  },
13
- fieldPropsComfortable: {
14
- density: 'comfortable'
15
- },
16
11
  fieldPropsReadOnly: { hideDetails: 'auto', variant: 'plain' },
17
- fieldPropsSummary: { hideDetails: true },
18
- textfieldProps: {},
19
- textfieldPropsReadOnly: {},
20
- textareaProps: {},
21
- textareaPropsReadOnly: {},
22
- // it is not very common to show an error below checkboxes and switches and without hide-details=auto they take a lot of space
23
- checkboxProps: { hideDetails: 'auto' },
24
- checkboxPropsReadOnly: {},
25
- switchProps: { hideDetails: 'auto' },
26
- switchPropsReadOnly: {}
12
+ fieldPropsSummary: { hideDetails: true }
27
13
  }
28
14
 
29
15
  /**
@@ -57,21 +43,16 @@ export function mergePropsLevels (propsLevels) {
57
43
  * @param {import('../types.js').VjsfNode} node
58
44
  * @param {import('../types.js').VjsfStatefulLayout} statefulLayout
59
45
  * @param {(string | [string, string])[]} [layoutPropsMap]
60
- * @param {boolean} isMainComp
46
+ * @param {boolean} [isMainComp]
61
47
  * @returns {Record<string, any>}
62
48
  */
63
49
  export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp = true) {
64
50
  const options = node.options
65
51
  /** @type {(Record<string, any> | undefined)[]} */
66
- const propsLevels = [defaultProps.fieldProps]
67
- if (options.density === 'comfortable') propsLevels.push(defaultProps.fieldPropsComfortable)
52
+ const propsLevels = []
68
53
  if (options.density === 'compact') propsLevels.push(defaultProps.fieldPropsCompact)
69
54
  if (node.options.readOnly) propsLevels.push(defaultProps.fieldPropsReadOnly)
70
- if (isMainComp) {
71
- propsLevels.push(/** @type Record<string, any> | undefined */(options[`${node.layout.comp}Props`]))
72
- if (node.options.readOnly) propsLevels.push(/** @type Record<string, any> | undefined */(options[`${node.layout.comp}PropsReadOnly`]))
73
- if (node.props) propsLevels.push(node.props)
74
- }
55
+ if (isMainComp && node.props) propsLevels.push(node.props)
75
56
 
76
57
  const fullProps = mergePropsLevels(propsLevels)
77
58
 
@@ -79,7 +60,7 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
79
60
  if (node.error && node.validated) {
80
61
  fullProps.errorMessages = node.error
81
62
  }
82
- fullProps.modelValue = node.data
63
+ fullProps.modelValue = (typeof node.data === 'string' && node.layout.separator) ? node.data.split(/** @type {string} */(node.layout.separator)) : node.data
83
64
  if (node.options.readOnly) {
84
65
  fullProps.disabled = true
85
66
  fullProps.class.push('vjsf-input--readonly')
@@ -96,7 +77,9 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
96
77
  }
97
78
 
98
79
  if (isMainComp) {
99
- fullProps['onUpdate:modelValue'] = (/** @type string */value) => statefulLayout.input(node, value)
80
+ fullProps['onUpdate:modelValue'] = (/** @type string */value) => {
81
+ return statefulLayout.input(node, (Array.isArray(value) && node.layout.separator) ? value.join(/** @type {string} */(node.layout.separator)) : value)
82
+ }
100
83
  fullProps.onBlur = () => statefulLayout.blur(node)
101
84
  }
102
85
 
@@ -106,18 +89,14 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
106
89
  // calculate the props of components that are not of the field category
107
90
  /**
108
91
  * @param {import('@json-layout/core').StateNode} node
109
- * @param {string} comp
110
92
  * @param {boolean} isMainComp
111
93
  * @returns {Record<string, any>}
112
94
  */
113
- export function getCompProps (node, comp, isMainComp = true) {
95
+ export function getCompProps (node, isMainComp = true) {
114
96
  const options = /** @type import('../types.js').VjsfOptions */(node.options)
115
97
  /** @type {(Record<string, any> | undefined)[]} */
116
98
  const propsLevels = [{ density: options.density }]
117
- propsLevels.push(/** @type Record<string, any> | undefined */(options[`${comp}Props`]))
118
- if (node.options.readOnly) propsLevels.push(/** @type Record<string, any> | undefined */(options[`${comp}PropsReadOnly`]))
119
99
  if (isMainComp) propsLevels.push(node.layout.props)
120
100
  const fullProps = mergePropsLevels(propsLevels)
121
- if (isMainComp) fullProps.modelValue = node.data
122
101
  return fullProps
123
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/compat/v2.js"],"names":[],"mappings":"AA8FA;;;;;;GAMG;AACH,kCALW,MAAM,+CAEN,MAAM,0BAkBhB;sBApHqB,KAAK"}
1
+ {"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/compat/v2.js"],"names":[],"mappings":"AAqMA;;;;;;GAMG;AACH,kCALW,MAAM,+CAEN,MAAM,0BAoBhB;sBA7NqB,KAAK"}
@@ -2,7 +2,7 @@
2
2
  * @param {object} schema
3
3
  * @param {import('../types.js').PartialVjsfCompileOptions} [options]
4
4
  * @param {string} [baseImport]
5
- * @returns {string}
5
+ * @returns {Promise<string>}
6
6
  */
7
- export function compile(schema: object, options?: Partial<Omit<import("../types.js").VjsfCompileOptions, "width">> | undefined, baseImport?: string | undefined): string;
7
+ export function compile(schema: object, options?: Partial<import("../types.js").VjsfCompileOptions> | undefined, baseImport?: string | undefined): Promise<string>;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,gCALW,MAAM,4HAGJ,MAAM,CAyBlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,gCALW,MAAM,6GAGJ,QAAQ,MAAM,CAAC,CAuC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compile/options.js"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,6BADU,OAAO,aAAa,EAAE,yBAAyB,CAKxD;AAOM,wCAHI,OAAO,aAAa,EAAE,yBAAyB,4CASzD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compile/options.js"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,6BADU,OAAO,aAAa,EAAE,yBAAyB,CAIxD;AAOM,wCAHI,OAAO,aAAa,EAAE,yBAAyB,4CAMzD"}
@@ -0,0 +1,35 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
4
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
5
+ required: true;
6
+ };
7
+ statefulLayout: {
8
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
9
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
10
+ required: true;
11
+ };
12
+ type: {
13
+ type: StringConstructor;
14
+ required: true;
15
+ };
16
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
+ [key: string]: any;
18
+ }>, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ modelValue: {
20
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
21
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
22
+ required: true;
23
+ };
24
+ statefulLayout: {
25
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
26
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
27
+ required: true;
28
+ };
29
+ type: {
30
+ type: StringConstructor;
31
+ required: true;
32
+ };
33
+ }>>, {}, {}>;
34
+ export default _default;
35
+ //# sourceMappingURL=selection-group.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/fragments/selection-group.vue.js"],"names":[],"mappings":";;QAUM,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;;;;;QAL7E,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-field-menu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/fragments/text-field-menu.vue.js"],"names":[],"mappings":";;;;;;;;;;6BAkIsC,GAAG;;;QACX,GAAG"}
1
+ {"version":3,"file":"text-field-menu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/fragments/text-field-menu.vue.js"],"names":[],"mappings":";;;;;;;;;;6BAsIsC,GAAG;;;QACX,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/autocomplete.vue.js"],"names":[],"mappings":";;QAWI,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"autocomplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/autocomplete.vue.js"],"names":[],"mappings":";;QAaI,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKvE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL/E,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKvE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
4
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
5
+ required: true;
6
+ };
7
+ statefulLayout: {
8
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
9
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
10
+ required: true;
11
+ };
12
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelValue: {
16
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
17
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
18
+ required: true;
19
+ };
20
+ statefulLayout: {
21
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
22
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
23
+ required: true;
24
+ };
25
+ }>>, {}, {}>;
26
+ export default _default;
27
+ //# sourceMappingURL=checkbox-group%20copy.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-group copy.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/checkbox-group copy.vue.js"],"names":[],"mappings":";;QAQI,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
4
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
5
+ required: true;
6
+ };
7
+ statefulLayout: {
8
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
9
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
10
+ required: true;
11
+ };
12
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelValue: {
16
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
17
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
18
+ required: true;
19
+ };
20
+ statefulLayout: {
21
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
22
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
23
+ required: true;
24
+ };
25
+ }>>, {}, {}>;
26
+ export default _default;
27
+ //# sourceMappingURL=checkbox-group.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/checkbox-group.vue.js"],"names":[],"mappings":";;QASI,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/combobox.vue.js"],"names":[],"mappings":";;QASM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"combobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/combobox.vue.js"],"names":[],"mappings":";;QAUM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/file-input.vue.js"],"names":[],"mappings":";;QASM,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"file-input.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/file-input.vue.js"],"names":[],"mappings":";;QAUM,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"number-combobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/number-combobox.vue.js"],"names":[],"mappings":";;QASM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"number-combobox.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/number-combobox.vue.js"],"names":[],"mappings":";;QAUM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"number-field.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/number-field.vue.js"],"names":[],"mappings":";;QASM,iFAAiF;cAAvE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;;;;QAK9E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,iFAAiF;cAAvE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;;;;QAK9E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"number-field.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/number-field.vue.js"],"names":[],"mappings":";;QAUM,iFAAiF;cAAvE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;;;;QAK9E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,iFAAiF;cAAvE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;;;;QAK9E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ /** @type import('vue').PropType<import('../../types.js').VjsfRadioGroupNode> */
4
+ type: import('vue').PropType<import('../../types.js').VjsfRadioGroupNode>;
5
+ required: true;
6
+ };
7
+ statefulLayout: {
8
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
9
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
10
+ required: true;
11
+ };
12
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelValue: {
16
+ /** @type import('vue').PropType<import('../../types.js').VjsfRadioGroupNode> */
17
+ type: import('vue').PropType<import('../../types.js').VjsfRadioGroupNode>;
18
+ required: true;
19
+ };
20
+ statefulLayout: {
21
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
22
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
23
+ required: true;
24
+ };
25
+ }>>, {}, {}>;
26
+ export default _default;
27
+ //# sourceMappingURL=radio-group.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/radio-group.vue.js"],"names":[],"mappings":";;QAWM,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;QAK7E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;QAK7E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ modelValue: import("../../types.js").VjsfSwitchNode;
3
+ statefulLayout: import("../../types.js").VjsfStatefulLayout;
4
+ $props: {
5
+ readonly modelValue?: import("../../types.js").VjsfSwitchNode | undefined;
6
+ readonly statefulLayout?: import("../../types.js").VjsfStatefulLayout | undefined;
7
+ };
8
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
9
+ export default _default;
10
+ //# sourceMappingURL=radio.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/radio.vue.js"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/select.vue.js"],"names":[],"mappings":";;QAWI,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"select.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/select.vue.js"],"names":[],"mappings":";;QAaI,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,4EAA4E;cAAlE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;;;;QAKzE,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ modelValue: {
3
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
4
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
5
+ required: true;
6
+ };
7
+ statefulLayout: {
8
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
9
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
10
+ required: true;
11
+ };
12
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelValue: {
16
+ /** @type import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode> */
17
+ type: import('vue').PropType<import('../../types.js').VjsfCheckboxGroupNode>;
18
+ required: true;
19
+ };
20
+ statefulLayout: {
21
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
22
+ type: import('vue').PropType<import('../../types.js').VjsfStatefulLayout>;
23
+ required: true;
24
+ };
25
+ }>>, {}, {}>;
26
+ export default _default;
27
+ //# sourceMappingURL=switch-group.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/switch-group.vue.js"],"names":[],"mappings":";;QASI,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,mFAAmF;cAAzE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;;;;QAKhF,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/text-field.vue.js"],"names":[],"mappings":";;QASM,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"text-field.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/text-field.vue.js"],"names":[],"mappings":";;QAUM,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,iBAAiB,CAAC;;;;QAK5E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/textarea.vue.js"],"names":[],"mappings":";;QASM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
1
+ {"version":3,"file":"textarea.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/textarea.vue.js"],"names":[],"mappings":";;QAUM,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC;;;;;;;QAL7E,8EAA8E;cAApE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC;;;;QAK3E,gFAAgF;cAAtE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,gBAAgB,EAAE,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  /** @type {import("../types.js").PartialVjsfOptions} */
2
2
  export const defaultOptions: import("../types.js").PartialVjsfOptions;
3
- export function getFullOptions(options: Partial<import("../types.js").VjsfOptions> | null, form: any, width: number, slots: import("vue").Slots, nodeComponents: Record<string, import('vue').Component>): import("../types.js").VjsfOptions;
3
+ export function getFullOptions(options: Partial<import("../types.js").VjsfOptions> | null, form: any, width: number, slots: import("vue").Slots, defaultNodeComponents: Record<string, import('vue').Component>, onData: (data: any) => void, onUpdate: (statefulLayout: import('@json-layout/core').StatefulLayout) => void, onAutofocus: (key: string) => void): import("../types.js").VjsfOptions;
4
4
  //# sourceMappingURL=options.d.ts.map