@koumoul/vjsf 3.0.0-beta.0 → 3.0.0-beta.10

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 (42) hide show
  1. package/package.json +18 -18
  2. package/src/compat/v2.js +6 -0
  3. package/src/compile/options.js +1 -1
  4. package/src/components/fragments/section-header.vue +1 -2
  5. package/src/components/fragments/text-field-menu.vue +1 -1
  6. package/src/components/node.vue +1 -1
  7. package/src/components/nodes/checkbox.vue +6 -1
  8. package/src/components/nodes/color-picker.vue +2 -1
  9. package/src/components/nodes/date-picker.vue +1 -1
  10. package/src/components/nodes/expansion-panels.vue +22 -12
  11. package/src/components/nodes/list.vue +7 -1
  12. package/src/components/nodes/switch.vue +6 -3
  13. package/src/components/options.js +0 -1
  14. package/src/composables/use-vjsf.js +31 -9
  15. package/src/types.ts +3 -0
  16. package/src/utils/build.js +1 -1
  17. package/src/utils/index.js +0 -1
  18. package/src/utils/props.js +9 -25
  19. package/types/compat/v2.d.ts.map +1 -1
  20. package/types/components/options.d.ts +2 -2
  21. package/types/components/options.d.ts.map +1 -1
  22. package/types/components/vjsf.vue.d.ts +2 -2
  23. package/types/composables/use-vjsf.d.ts +1 -1
  24. package/types/composables/use-vjsf.d.ts.map +1 -1
  25. package/types/types.d.ts +1 -16
  26. package/types/types.d.ts.map +1 -1
  27. package/types/utils/build.d.ts +1 -1
  28. package/types/utils/props.d.ts +3 -4
  29. package/types/utils/props.d.ts.map +1 -1
  30. package/src/utils/global-register.js +0 -13
  31. package/types/components/global-register.d.ts +0 -8
  32. package/types/components/global-register.d.ts.map +0 -1
  33. package/types/components/nodes/markdown.vue.d.ts +0 -27
  34. package/types/components/nodes/markdown.vue.d.ts.map +0 -1
  35. package/types/components/nodes/text-field copy.vue.d.ts +0 -10
  36. package/types/components/nodes/text-field copy.vue.d.ts.map +0 -1
  37. package/types/components/types.d.ts +0 -91
  38. package/types/components/types.d.ts.map +0 -1
  39. package/types/components/v-jsf.vue.d.ts +0 -13
  40. package/types/components/v-jsf.vue.d.ts.map +0 -1
  41. package/types/utils/clone.d.ts +0 -3
  42. package/types/utils/clone.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koumoul/vjsf",
3
- "version": "3.0.0-beta.0",
3
+ "version": "3.0.0-beta.10",
4
4
  "description": "Generate forms for the vuetify UI library (vuejs) based on annotated JSON schemas.",
5
5
  "scripts": {
6
6
  "test": "vitest",
@@ -18,38 +18,38 @@
18
18
  "exports": {
19
19
  ".": {
20
20
  "import": {
21
- "default": "./src/index.js",
22
- "types": "./types/index.d.ts"
21
+ "types": "./types/index.d.ts",
22
+ "default": "./src/index.js"
23
23
  }
24
24
  },
25
25
  "./types.js": {
26
26
  "import": {
27
- "default": "./src/types.js",
28
- "types": "./types/types.d.ts"
27
+ "types": "./types/types.d.ts",
28
+ "default": "./src/types.js"
29
29
  }
30
30
  },
31
31
  "./components/*": {
32
32
  "import": {
33
- "default": "./src/components/*",
34
- "types": "./types/components/*.d.ts"
33
+ "types": "./types/components/*.d.ts",
34
+ "default": "./src/components/*"
35
35
  }
36
36
  },
37
37
  "./composables/*": {
38
38
  "import": {
39
- "default": "./src/composables/*",
40
- "types": "./types/composables/*.d.ts"
39
+ "types": "./types/composables/*.d.ts",
40
+ "default": "./src/composables/*"
41
41
  }
42
42
  },
43
43
  "./utils": {
44
44
  "import": {
45
- "default": "./src/utils/index.js",
46
- "types": "./types/utils/index.d.ts"
45
+ "types": "./types/utils/index.d.ts",
46
+ "default": "./src/utils/index.js"
47
47
  }
48
48
  },
49
49
  "./utils/*": {
50
50
  "import": {
51
- "default": "./src/utils/*",
52
- "types": "./types/utils/*.d.ts"
51
+ "types": "./types/utils/*.d.ts",
52
+ "default": "./src/utils/*"
53
53
  }
54
54
  },
55
55
  "./styles/*": {
@@ -59,14 +59,14 @@
59
59
  },
60
60
  "./compile": {
61
61
  "import": {
62
- "default": "./src/compile/index.js",
63
- "types": "./types/compile/index.d.ts"
62
+ "types": "./types/compile/index.d.ts",
63
+ "default": "./src/compile/index.js"
64
64
  }
65
65
  },
66
66
  "./compat/v2": {
67
67
  "import": {
68
- "default": "./src/compat/v2.js",
69
- "types": "./types/compat/v2.d.ts"
68
+ "types": "./types/compat/v2.d.ts",
69
+ "default": "./src/compat/v2.js"
70
70
  }
71
71
  }
72
72
  },
@@ -75,7 +75,7 @@
75
75
  "vuetify": "^3.4.9"
76
76
  },
77
77
  "dependencies": {
78
- "@json-layout/core": "0.9.0",
78
+ "@json-layout/core": "0.14.0",
79
79
  "@vueuse/core": "^10.5.0",
80
80
  "debug": "^4.3.4",
81
81
  "ejs": "^3.1.9"
package/src/compat/v2.js CHANGED
@@ -11,6 +11,12 @@ const processFragment = (/** @type {import("ajv").SchemaObject} */schema) => {
11
11
  /** @type import('@json-layout/vocabulary').PartialCompObject */
12
12
  const layout = {}
13
13
 
14
+ if (schema.separator || schema['x-separator']) {
15
+ layout.separator = schema.separator || schema['x-separator']
16
+ delete schema.separator
17
+ delete schema['x-separator']
18
+ }
19
+
14
20
  if (schema['x-display'] === 'icon' && (schema.enum || schema.items?.enum)) {
15
21
  layout.getItems = { itemIcon: schema['x-itemIcon'] || 'data.value' }
16
22
  delete schema['x-display']
@@ -1,7 +1,7 @@
1
1
  /** @type import("../types.js").PartialVjsfCompileOptions */
2
2
  export const defaultOptions = {
3
3
  nodeComponentImports: {
4
- markdown: '@koumoul/vjsf-markdown/components/nodes/markdown.vue'
4
+ markdown: '@koumoul/vjsf-markdown'
5
5
  }
6
6
  }
7
7
 
@@ -45,7 +45,7 @@ const titleClass = computed(() => {
45
45
  </p>
46
46
  <v-alert
47
47
  v-if="node.error && node.validated"
48
- v-bind="node.options.errorAlertProps"
48
+ type="error"
49
49
  :class="`mt-${titleDepthBase - node.options.titleDepth}`"
50
50
  :density="node.options.density"
51
51
  >
@@ -53,4 +53,3 @@ const titleClass = computed(() => {
53
53
  </v-alert>
54
54
  </div>
55
55
  </template>
56
- ../../../types.js
@@ -28,7 +28,7 @@ const fieldProps = computed(() => {
28
28
  })
29
29
 
30
30
  const menuProps = computed(() => {
31
- const menuProps = getCompProps(props.modelValue, 'menu', false)
31
+ const menuProps = getCompProps(props.modelValue)
32
32
  menuProps.closeOnContentClick = false
33
33
  menuProps.disabled = true
34
34
  return menuProps
@@ -35,7 +35,7 @@ const nodeClasses = computed(() => {
35
35
  return classes
36
36
  })
37
37
 
38
- if (!props.statefulLayout.options.nodeComponents[props.modelValue.layout.comp]) {
38
+ if (props.modelValue.layout.comp !== 'none' && !props.statefulLayout.options.nodeComponents[props.modelValue.layout.comp]) {
39
39
  console.error(`vjsf: missing component to render vjsf node "${props.modelValue.layout.comp}", maybe you forgot to register a component from a plugin ?`)
40
40
  }
41
41
 
@@ -16,7 +16,12 @@ const props = defineProps({
16
16
  }
17
17
  })
18
18
 
19
- const fieldProps = computed(() => getInputProps(props.modelValue, props.statefulLayout))
19
+ const fieldProps = computed(() => {
20
+ const inputProps = getInputProps(props.modelValue, props.statefulLayout)
21
+ // it is not very common to show an error below checkboxes and switches and without hide-details=auto they take a lot of space
22
+ if (!('hideDetails' in inputProps)) inputProps.hideDetails = 'auto'
23
+ return inputProps
24
+ })
20
25
  </script>
21
26
 
22
27
  <template>
@@ -18,7 +18,8 @@ const props = defineProps({
18
18
  })
19
19
 
20
20
  const colorPickerProps = computed(() => {
21
- const colorPickerProps = getCompProps(props.modelValue, 'colorPicker', true)
21
+ const colorPickerProps = getCompProps(props.modelValue, true)
22
+ colorPickerProps.modelValue = props.modelValue.data
22
23
  return colorPickerProps
23
24
  })
24
25
  </script>
@@ -21,7 +21,7 @@ const props = defineProps({
21
21
  const vDate = useDate()
22
22
 
23
23
  const datePickerProps = computed(() => {
24
- const datePickerProps = getCompProps(props.modelValue, 'datePicker', true)
24
+ const datePickerProps = getCompProps(props.modelValue, true)
25
25
  datePickerProps.hideActions = true
26
26
  if (props.modelValue.data) datePickerProps.modelValue = new Date(props.modelValue.data)
27
27
  return datePickerProps
@@ -1,8 +1,10 @@
1
1
  <script setup>
2
- import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VContainer, VRow, VIcon } from 'vuetify/components'
2
+ import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VContainer, VRow, VIcon } from 'vuetify/components'
3
+ import { computed } from 'vue'
3
4
  import { isSection } from '@json-layout/core'
4
5
  import Node from '../node.vue'
5
6
  import SectionHeader from '../fragments/section-header.vue'
7
+ import { getCompProps } from '../../utils/index.js'
6
8
 
7
9
  defineProps({
8
10
  modelValue: {
@@ -21,7 +23,7 @@ defineProps({
21
23
 
22
24
  <template>
23
25
  <section-header :node="modelValue" />
24
- <v-expansion-panels>
26
+ <v-expansion-panels v-bind="getCompProps(modelValue, true)">
25
27
  <v-expansion-panel
26
28
  v-for="(child, i) of modelValue.children"
27
29
  :key="child.key"
@@ -37,16 +39,24 @@ defineProps({
37
39
  </v-icon>
38
40
  {{ child.layout.title ?? child.layout.label }}
39
41
  </v-expansion-panel-title>
40
- <v-container fluid>
41
- <v-row>
42
- <node
43
- v-for="grandChild of isSection(child) ? child.children : [child]"
44
- :key="grandChild.fullKey"
45
- :model-value="/** @type import('../../types.js').VjsfNode */(grandChild)"
46
- :stateful-layout="statefulLayout"
47
- />
48
- </v-row>
49
- </v-container>
42
+ <v-expansion-panel-text>
43
+ <v-container fluid>
44
+ <v-row>
45
+ <node
46
+ v-for="grandChild of isSection(child) ? child.children : [child]"
47
+ :key="grandChild.fullKey"
48
+ :model-value="/** @type import('../../types.js').VjsfNode */(grandChild)"
49
+ :stateful-layout="statefulLayout"
50
+ />
51
+ </v-row>
52
+ </v-container>
53
+ </v-expansion-panel-text>
50
54
  </v-expansion-panel>
51
55
  </v-expansion-panels>
52
56
  </template>
57
+
58
+ <style>
59
+ .vjsf-node-expansion-panels .v-expansion-panel-text__wrapper {
60
+ padding: 0;
61
+ }
62
+ </style>
@@ -48,6 +48,12 @@ const buttonDensity = computed(() => {
48
48
  return props.modelValue.options.density
49
49
  })
50
50
 
51
+ const pushEmptyItem = () => {
52
+ const newData = (props.modelValue.data ?? []).concat([undefined])
53
+ props.statefulLayout.input(props.modelValue, newData)
54
+ props.statefulLayout.activateItem(props.modelValue, newData.length - 1)
55
+ }
56
+
51
57
  </script>
52
58
 
53
59
  <template>
@@ -180,7 +186,7 @@ const buttonDensity = computed(() => {
180
186
  <v-btn
181
187
  color="primary"
182
188
  :density="modelValue.options.density"
183
- @click="statefulLayout.input(modelValue, (modelValue.data ?? []).concat([undefined]))"
189
+ @click="pushEmptyItem"
184
190
  >
185
191
  {{ modelValue.messages.addItem }}
186
192
  </v-btn>
@@ -16,9 +16,12 @@ const props = defineProps({
16
16
  }
17
17
  })
18
18
 
19
- const fieldProps = computed(() =>
20
- getInputProps(props.modelValue, props.statefulLayout)
21
- )
19
+ const fieldProps = computed(() => {
20
+ const inputProps = getInputProps(props.modelValue, props.statefulLayout)
21
+ // it is not very common to show an error below checkboxes and switches and without hide-details=auto they take a lot of space
22
+ if (!('hideDetails' in inputProps)) inputProps.hideDetails = 'auto'
23
+ return inputProps
24
+ })
22
25
  </script>
23
26
 
24
27
  <template>
@@ -1,6 +1,5 @@
1
1
  /** @type {import("../types.js").PartialVjsfOptions} */
2
2
  export const defaultOptions = {
3
- errorAlertProps: { type: 'error', variant: 'tonal' },
4
3
  nodeComponents: {},
5
4
  plugins: {}
6
5
  }
@@ -1,8 +1,11 @@
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
+
7
+ // immer freezing is disabled because it is not compatible with Vue 3 reactivity
8
+ setAutoFreeze(false)
6
9
 
7
10
  export const emits = {
8
11
  /**
@@ -26,6 +29,8 @@ export const emits = {
26
29
  */
27
30
  export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compile, precompiledLayout) => {
28
31
  const el = ref(null)
32
+
33
+ // TODO: apply a debounce to width ?
29
34
  const { width } = useElementSize(el)
30
35
 
31
36
  /** @type import('vue').ShallowRef<import('../types.js').VjsfStatefulLayout | null> */
@@ -49,19 +54,27 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
49
54
 
50
55
  const slots = useSlots()
51
56
 
52
- const fullOptions = computed(() => getFullOptions(options.value, form, width.value, slots, { ...nodeComponents, ...toRaw(registeredNodeComponents.value) }))
57
+ const fullOptions = computed(() => getFullOptions(options.value, form, width.value, slots, { ...nodeComponents }))
58
+
59
+ // do not use a simple computed here as we want to prevent recompiling the layout when the options are the same
60
+ /** @type {import('vue').Ref<import('@json-layout/core').PartialCompileOptions>} */
61
+ const compileOptions = ref({})
62
+ watch(fullOptions, (newOptions) => {
63
+ if (precompiledLayout?.value) return
64
+ const newCompileOptions = produceCompileOptions(compileOptions.value, newOptions)
65
+ if (newCompileOptions !== compileOptions.value) compileOptions.value = newCompileOptions
66
+ }, { immediate: true })
53
67
 
54
68
  const compiledLayout = computed(() => {
55
69
  if (precompiledLayout?.value) return precompiledLayout?.value
56
70
  if (!compile) throw new Error('compile function is not available')
57
- const compiledLayout = compile(schema.value, fullOptions.value)
71
+ const compiledLayout = compile(schema.value, compileOptions.value)
58
72
  return compiledLayout
59
73
  })
60
74
 
61
75
  const onStatefulLayoutUpdate = () => {
62
76
  if (!statefulLayout.value) return
63
77
  stateTree.value = statefulLayout.value.stateTree
64
- emit('update:modelValue', statefulLayout.value.data)
65
78
  emit('update:state', statefulLayout.value)
66
79
  if (form) {
67
80
  // cf https://vuetifyjs.com/en/components/forms/#validation-state
@@ -71,8 +84,15 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
71
84
  }
72
85
  }
73
86
 
87
+ const onDataUpdate = () => {
88
+ if (statefulLayout.value && modelValue !== statefulLayout.value.data) {
89
+ emit('update:modelValue', statefulLayout.value.data)
90
+ }
91
+ }
92
+
74
93
  const initStatefulLayout = () => {
75
94
  if (!width.value) return
95
+
76
96
  // @ts-ignore
77
97
  const _statefulLayout = /** @type {import('../types.js').VjsfStatefulLayout} */(new StatefulLayout(
78
98
  toRaw(compiledLayout.value),
@@ -82,9 +102,13 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
82
102
  ))
83
103
  statefulLayout.value = _statefulLayout
84
104
  onStatefulLayoutUpdate()
105
+ onDataUpdate()
85
106
  _statefulLayout.events.on('update', () => {
86
107
  onStatefulLayoutUpdate()
87
108
  })
109
+ _statefulLayout.events.on('data', () => {
110
+ onDataUpdate()
111
+ })
88
112
  emit('update:state', _statefulLayout)
89
113
  _statefulLayout.events.on('autofocus', () => {
90
114
  if (!el.value) return
@@ -97,10 +121,8 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
97
121
  })
98
122
  }
99
123
 
124
+ // case where options are updated from outside
100
125
  watch(fullOptions, (newOptions) => {
101
- // in case of runtime compilation the watch on compiledLayout will be triggered
102
- if (!precompiledLayout?.value) return
103
-
104
126
  if (statefulLayout.value) {
105
127
  statefulLayout.value.options = newOptions
106
128
  } else {
@@ -113,7 +135,7 @@ export const useVjsf = (schema, modelValue, options, nodeComponents, emit, compi
113
135
  if (statefulLayout.value && statefulLayout.value.data !== newData) statefulLayout.value.data = toRaw(newData)
114
136
  })
115
137
 
116
- // case where schema is updated from outside
138
+ // case where schema or compile options are updated from outside
117
139
  watch(compiledLayout, (newCompiledLayout) => {
118
140
  initStatefulLayout()
119
141
  })
package/src/types.ts CHANGED
@@ -29,6 +29,9 @@ import {
29
29
 
30
30
  export type Density = 'default' | 'comfortable' | 'compact'
31
31
 
32
+ // these options used to contain many possibilities to override props in various components
33
+ // this was unmaintainable and has been removed, customization of components should be done via slots
34
+ // and vuetify defaults providers
32
35
  export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
33
36
  vjsfSlots: Record<string, () => unknown>,
34
37
  nodeComponents: Record<string, Component>,
@@ -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,7 +5,6 @@ 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
9
  density: 'compact',
11
10
  hideDetails: 'auto'
@@ -14,16 +13,7 @@ const defaultProps = {
14
13
  density: 'comfortable'
15
14
  },
16
15
  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: {}
16
+ fieldPropsSummary: { hideDetails: true }
27
17
  }
28
18
 
29
19
  /**
@@ -57,21 +47,17 @@ export function mergePropsLevels (propsLevels) {
57
47
  * @param {import('../types.js').VjsfNode} node
58
48
  * @param {import('../types.js').VjsfStatefulLayout} statefulLayout
59
49
  * @param {(string | [string, string])[]} [layoutPropsMap]
60
- * @param {boolean} isMainComp
50
+ * @param {boolean} [isMainComp]
61
51
  * @returns {Record<string, any>}
62
52
  */
63
53
  export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp = true) {
64
54
  const options = node.options
65
55
  /** @type {(Record<string, any> | undefined)[]} */
66
- const propsLevels = [defaultProps.fieldProps]
56
+ const propsLevels = []
67
57
  if (options.density === 'comfortable') propsLevels.push(defaultProps.fieldPropsComfortable)
68
58
  if (options.density === 'compact') propsLevels.push(defaultProps.fieldPropsCompact)
69
59
  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
- }
60
+ if (isMainComp && node.props) propsLevels.push(node.props)
75
61
 
76
62
  const fullProps = mergePropsLevels(propsLevels)
77
63
 
@@ -79,7 +65,7 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
79
65
  if (node.error && node.validated) {
80
66
  fullProps.errorMessages = node.error
81
67
  }
82
- fullProps.modelValue = node.data
68
+ fullProps.modelValue = (typeof node.data === 'string' && node.layout.separator) ? node.data.split(/** @type {string} */(node.layout.separator)) : node.data
83
69
  if (node.options.readOnly) {
84
70
  fullProps.disabled = true
85
71
  fullProps.class.push('vjsf-input--readonly')
@@ -96,7 +82,9 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
96
82
  }
97
83
 
98
84
  if (isMainComp) {
99
- fullProps['onUpdate:modelValue'] = (/** @type string */value) => statefulLayout.input(node, value)
85
+ fullProps['onUpdate:modelValue'] = (/** @type string */value) => {
86
+ return statefulLayout.input(node, (Array.isArray(value) && node.layout.separator) ? value.join(/** @type {string} */(node.layout.separator)) : value)
87
+ }
100
88
  fullProps.onBlur = () => statefulLayout.blur(node)
101
89
  }
102
90
 
@@ -106,18 +94,14 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
106
94
  // calculate the props of components that are not of the field category
107
95
  /**
108
96
  * @param {import('@json-layout/core').StateNode} node
109
- * @param {string} comp
110
97
  * @param {boolean} isMainComp
111
98
  * @returns {Record<string, any>}
112
99
  */
113
- export function getCompProps (node, comp, isMainComp = true) {
100
+ export function getCompProps (node, isMainComp = true) {
114
101
  const options = /** @type import('../types.js').VjsfOptions */(node.options)
115
102
  /** @type {(Record<string, any> | undefined)[]} */
116
103
  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
104
  if (isMainComp) propsLevels.push(node.layout.props)
120
105
  const fullProps = mergePropsLevels(propsLevels)
121
- if (isMainComp) fullProps.modelValue = node.data
122
106
  return fullProps
123
107
  }
@@ -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":"AAoGA;;;;;;GAMG;AACH,kCALW,MAAM,+CAEN,MAAM,0BAkBhB;sBA1HqB,KAAK"}
@@ -1,4 +1,4 @@
1
- /** @type import("../types.js").PartialVjsfOptions */
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>, 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, nodeComponents: Record<string, import('vue').Component>): import("../types.js").VjsfOptions;
4
4
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/components/options.js"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,6BADU,OAAO,aAAa,EAAE,kBAAkB,CA2BjD;AAWM,wCAPI,QAAQ,OAAO,aAAa,EAAE,WAAW,CAAC,QAC1C,GAAG,SACH,MAAM,SACN,OAAO,KAAK,EAAE,KAAK,kBACnB,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,qCAcjD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/components/options.js"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,6BADW,OAAO,aAAa,EAAE,kBAAkB,CAIlD;AAWM,wCAPI,QAAQ,OAAO,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI,QACjD,GAAG,SACH,MAAM,SACN,OAAO,KAAK,EAAE,KAAK,kBACnB,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,qCAcjD"}
@@ -1,11 +1,11 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  $emit: ((event: "update:modelValue", data: any) => void) & ((event: "update:state", state: import("../types.js").VjsfStatefulLayout) => void);
3
- options: Partial<Omit<import("../types.js").VjsfOptions, "width">>;
3
+ options: Partial<Omit<import("../types.js").VjsfOptions, "width">> | null;
4
4
  modelValue: any;
5
5
  schema: Record<string, any>;
6
6
  precompiledLayout: import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout;
7
7
  $props: {
8
- readonly options?: Partial<Omit<import("../types.js").VjsfOptions, "width">> | undefined;
8
+ readonly options?: Partial<Omit<import("../types.js").VjsfOptions, "width">> | null | undefined;
9
9
  readonly modelValue?: any;
10
10
  readonly schema?: Record<string, any> | undefined;
11
11
  readonly precompiledLayout?: import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout | undefined;
@@ -8,7 +8,7 @@ export const emits: {
8
8
  */
9
9
  'update:state': (state: import('../types.js').VjsfStatefulLayout) => boolean;
10
10
  };
11
- export function useVjsf(schema: import('vue').Ref<Object>, modelValue: import('vue').Ref<any>, options: import('vue').Ref<import("../types.js").PartialVjsfOptions>, nodeComponents: Record<string, import('vue').Component>, emit: any, compile?: typeof import("@json-layout/core").compile | undefined, precompiledLayout?: import("vue").Ref<import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout> | undefined): {
11
+ export function useVjsf(schema: import('vue').Ref<Object>, modelValue: import('vue').Ref<any>, options: import('vue').Ref<import("../types.js").PartialVjsfOptions | null>, nodeComponents: Record<string, import('vue').Component>, emit: any, compile?: typeof import("@json-layout/core").compile | undefined, precompiledLayout?: import("vue").Ref<import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout> | undefined): {
12
12
  el: import("vue").Ref<null>;
13
13
  statefulLayout: import("vue").ShallowRef<import("../types.js").VjsfStatefulLayout | null>;
14
14
  stateTree: import("vue").ShallowRef<import("../../../node_modules/@json-layout/core/types/state/types.js").StateTree | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-vjsf.d.ts","sourceRoot":"","sources":["../../src/composables/use-vjsf.js"],"names":[],"mappings":"AAMA;IACE;;MAEE;gCADO,GAAG;IAGZ;;MAEE;4BADO,OAAO,aAAa,EAAE,kBAAkB;EAGlD;AAWM,gCARI,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,cACzB,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,WACtB,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,aAAa,EAAE,kBAAkB,CAAC,kBAC3D,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,QACvC,GAAG;;;;EAmGb"}
1
+ {"version":3,"file":"use-vjsf.d.ts","sourceRoot":"","sources":["../../src/composables/use-vjsf.js"],"names":[],"mappings":"AAUA;IACE;;MAEE;gCADO,GAAG;IAGZ;;MAEE;4BADO,OAAO,aAAa,EAAE,kBAAkB;EAGlD;AAWM,gCARI,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,cACzB,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,WACtB,OAAO,KAAK,EAAE,GAAG,CAAC,OAAO,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC,kBAClE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,QACvC,GAAG;;;;EAsHb"}
package/types/types.d.ts CHANGED
@@ -2,24 +2,9 @@ import { Component } from 'vue';
2
2
  import { StatefulLayout, StatefulLayoutOptions, StateNode, CheckboxNode, ColorPickerNode, DatePickerNode, DateTimePickerNode, TabsNode, ExpansionPanelsNode, ListNode, NumberFieldNode, OneOfSelectNode, SectionNode, SelectNode, SliderNode, SwitchNode, TextFieldNode, TextareaNode, VerticalTabsNode, StepperNode, ComboboxNode, MarkdownNode, FileInputNode, CompileOptions } from '@json-layout/core';
3
3
  export type Density = 'default' | 'comfortable' | 'compact';
4
4
  export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
5
- density: Density;
6
- fieldProps: Record<string, unknown>;
7
- fieldPropsCompact: Record<string, unknown>;
8
- fieldPropsComfortable: Record<string, unknown>;
9
- fieldPropsReadOnly: Record<string, unknown>;
10
- fieldPropsSummary: Record<string, unknown>;
11
- textfieldProps: Record<string, unknown>;
12
- textfieldPropsReadOnly: Record<string, unknown>;
13
- textareaProps: Record<string, unknown>;
14
- textareaPropsReadOnly: Record<string, unknown>;
15
- checkboxProps: Record<string, unknown>;
16
- checkboxPropsReadOnly: Record<string, unknown>;
17
- switchProps: Record<string, unknown>;
18
- switchPropsReadOnly: Record<string, unknown>;
19
- errorAlertProps: Record<string, unknown>;
20
5
  vjsfSlots: Record<string, () => unknown>;
21
- easyMDEOptions: Record<string, unknown>;
22
6
  nodeComponents: Record<string, Component>;
7
+ plugins: Record<string, unknown>;
23
8
  };
24
9
  export type VjsfCompileOptions = CompileOptions & {
25
10
  nodeComponentImports: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAE/B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;AAK3D,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG;IAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,yBAAyB,CAAA;AAExE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAC,CAAA;AAEvG,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;AAClF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpE,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC1E,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACrF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC3F,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACzF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACjG,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACnG,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC7E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC3F,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC3F,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACnF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACjF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACjF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACjF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACvF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACrF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACrF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AAC7F,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACnF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA;AACrF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAAC,OAAO,EAAE,WAAW,CAAA;CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- export { commonjsDeps } from "@json-layout/core/utils/build";
1
+ export { commonjsDeps, commonjsDepsPaths } from "@json-layout/core/utils/build";
2
2
  //# sourceMappingURL=build.d.ts.map
@@ -9,15 +9,14 @@ export function mergePropsLevels(propsLevels: (Record<string, any> | undefined)[
9
9
  * @param {import('../types.js').VjsfNode} node
10
10
  * @param {import('../types.js').VjsfStatefulLayout} statefulLayout
11
11
  * @param {(string | [string, string])[]} [layoutPropsMap]
12
- * @param {boolean} isMainComp
12
+ * @param {boolean} [isMainComp]
13
13
  * @returns {Record<string, any>}
14
14
  */
15
- export function getInputProps(node: import('../types.js').VjsfNode, statefulLayout: import('../types.js').VjsfStatefulLayout, layoutPropsMap?: (string | [string, string])[] | undefined, isMainComp?: boolean): Record<string, any>;
15
+ export function getInputProps(node: import('../types.js').VjsfNode, statefulLayout: import('../types.js').VjsfStatefulLayout, layoutPropsMap?: (string | [string, string])[] | undefined, isMainComp?: boolean | undefined): Record<string, any>;
16
16
  /**
17
17
  * @param {import('@json-layout/core').StateNode} node
18
- * @param {string} comp
19
18
  * @param {boolean} isMainComp
20
19
  * @returns {Record<string, any>}
21
20
  */
22
- export function getCompProps(node: import('@json-layout/core').StateNode, comp: string, isMainComp?: boolean): Record<string, any>;
21
+ export function getCompProps(node: import('@json-layout/core').StateNode, isMainComp?: boolean): Record<string, any>;
23
22
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/utils/props.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,8CAHW,CAAC,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GACjC,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,CAqBnD;AAID;;;;;;GAMG;AACH,oCANW,OAAO,aAAa,EAAE,QAAQ,kBAC9B,OAAO,aAAa,EAAE,kBAAkB,2EAExC,OAAO,GACL,OAAO,MAAM,EAAE,GAAG,CAAC,CA2C/B;AAGD;;;;;GAKG;AACH,mCALW,OAAO,mBAAmB,EAAE,SAAS,QACrC,MAAM,eACN,OAAO,GACL,OAAO,MAAM,EAAE,GAAG,CAAC,CAY/B"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/utils/props.js"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,8CAHW,CAAC,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GACjC,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,CAqBnD;AAID;;;;;;GAMG;AACH,oCANW,OAAO,aAAa,EAAE,QAAQ,kBAC9B,OAAO,aAAa,EAAE,kBAAkB,iGAGtC,OAAO,MAAM,EAAE,GAAG,CAAC,CAyC/B;AAGD;;;;GAIG;AACH,mCAJW,OAAO,mBAAmB,EAAE,SAAS,eACrC,OAAO,GACL,OAAO,MAAM,EAAE,GAAG,CAAC,CAS/B"}
@@ -1,13 +0,0 @@
1
- import { ref } from 'vue'
2
-
3
- /** @type {import('vue').Ref<Record<string, import('vue').Component>>} */
4
- export const registeredNodeComponents = ref({})
5
-
6
- /**
7
- * @param {string} name
8
- * @param {import('vue').Component} component
9
- */
10
- export function registerNodeComponent (name, component) {
11
- console.log('vjsf - register plugin node component', name)
12
- registeredNodeComponents.value[name] = component
13
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * @param {string} name
3
- * @param {import('vue').Component} component
4
- */
5
- export function registerNodeComponent(name: string, component: import('vue').Component): void;
6
- /** @type {Record<string, import('vue').Component>} */
7
- export const registeredNodeComponents: Record<string, import('vue').Component>;
8
- //# sourceMappingURL=global-register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-register.d.ts","sourceRoot":"","sources":["../../src/components/global-register.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,4CAHW,MAAM,aACN,OAAO,KAAK,EAAE,SAAS,QAIjC;AATD,sDAAsD;AACtD,uCADW,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,CACR"}
@@ -1,27 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- modelValue: {
3
- /** @type import('vue').PropType<import('../types.js').VjsfTextareaNode> */
4
- type: import('vue').PropType<import('../types.js').VjsfTextareaNode>;
5
- required: true;
6
- };
7
- statefulLayout: {
8
- /** @type import('vue').PropType<import('@json-layout/core').StatefulLayout> */
9
- type: import('vue').PropType<import('@json-layout/core').StatefulLayout>;
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").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
- modelValue: {
16
- /** @type import('vue').PropType<import('../types.js').VjsfTextareaNode> */
17
- type: import('vue').PropType<import('../types.js').VjsfTextareaNode>;
18
- required: true;
19
- };
20
- statefulLayout: {
21
- /** @type import('vue').PropType<import('@json-layout/core').StatefulLayout> */
22
- type: import('vue').PropType<import('@json-layout/core').StatefulLayout>;
23
- required: true;
24
- };
25
- }>>, {}, {}>;
26
- export default _default;
27
- //# sourceMappingURL=markdown.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/markdown.vue.js"],"names":[],"mappings":";;QAWM,2EAA2E;cAAjE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,aAAa,EAAE,gBAAgB,CAAC;;;;QAKxE,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,mBAAmB,EAAE,cAAc,CAAC;;;;;;;QAL5E,2EAA2E;cAAjE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,aAAa,EAAE,gBAAgB,CAAC;;;;QAKxE,+EAA+E;cAArE,OAAO,KAAK,EAAE,QAAQ,CAAC,OAAO,mBAAmB,EAAE,cAAc,CAAC"}
@@ -1,10 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {
2
- modelValue: import("../../../../node_modules/@json-layout/core/types/state/types.js").TextFieldNode;
3
- statefulLayout: import("@json-layout/core").StatefulLayout;
4
- $props: {
5
- readonly modelValue?: import("../../../../node_modules/@json-layout/core/types/state/types.js").TextFieldNode | undefined;
6
- readonly statefulLayout?: import("@json-layout/core").StatefulLayout | undefined;
7
- };
8
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
9
- export default _default;
10
- //# sourceMappingURL=text-field%20copy.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-field copy.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/text-field copy.vue.js"],"names":[],"mappings":""}
@@ -1,91 +0,0 @@
1
- import { Component } from 'vue';
2
- import { StatefulLayout, StatefulLayoutOptions, StateNode, CheckboxNode, ColorPickerNode, DatePickerNode, DateTimePickerNode, TabsNode, ExpansionPanelsNode, ListNode, NumberFieldNode, OneOfSelectNode, SectionNode, SelectNode, SliderNode, SwitchNode, TextFieldNode, TextareaNode, VerticalTabsNode, StepperNode, ComboboxNode, MarkdownNode, FileInputNode, CompileOptions } from '@json-layout/core';
3
- export type Density = 'default' | 'comfortable' | 'compact';
4
- export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
5
- density: Density;
6
- fieldProps: Record<string, unknown>;
7
- fieldPropsCompact: Record<string, unknown>;
8
- fieldPropsComfortable: Record<string, unknown>;
9
- fieldPropsReadOnly: Record<string, unknown>;
10
- textfieldProps: Record<string, unknown>;
11
- textfieldPropsReadOnly: Record<string, unknown>;
12
- textareaProps: Record<string, unknown>;
13
- textareaPropsReadOnly: Record<string, unknown>;
14
- checkboxProps: Record<string, unknown>;
15
- checkboxPropsReadOnly: Record<string, unknown>;
16
- switchProps: Record<string, unknown>;
17
- switchPropsReadOnly: Record<string, unknown>;
18
- errorAlertProps: Record<string, unknown>;
19
- vjsfSlots: Record<string, () => unknown>;
20
- easyMDEOptions: Record<string, unknown>;
21
- nodeComponents: Record<string, Component>;
22
- };
23
- export type VjsfOptions = CompileOptions & VjsfStatefulLayoutOptions;
24
- export type VjsfStatefulLayout = Omit<StatefulLayout, 'options'> & {
25
- options: VjsfStatefulLayoutOptions;
26
- };
27
- export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width'>>;
28
- export type VjsfNode = Omit<StateNode, 'options'> & {
29
- options: VjsfOptions;
30
- };
31
- export type VjsfTabsNode = Omit<TabsNode, 'options'> & {
32
- options: VjsfOptions;
33
- };
34
- export type VjsfCheckboxNode = Omit<CheckboxNode, 'options'> & {
35
- options: VjsfOptions;
36
- };
37
- export type VjsfColorPickerNode = Omit<ColorPickerNode, 'options'> & {
38
- options: VjsfOptions;
39
- };
40
- export type VjsfDatePickerNode = Omit<DatePickerNode, 'options'> & {
41
- options: VjsfOptions;
42
- };
43
- export type VjsfDateTimePickerNode = Omit<DateTimePickerNode, 'options'> & {
44
- options: VjsfOptions;
45
- };
46
- export type VjsfExpansionPanelsNode = Omit<ExpansionPanelsNode, 'options'> & {
47
- options: VjsfOptions;
48
- };
49
- export type VjsfListNode = Omit<ListNode, 'options'> & {
50
- options: VjsfOptions;
51
- };
52
- export type VjsfNumberFieldNode = Omit<NumberFieldNode, 'options'> & {
53
- options: VjsfOptions;
54
- };
55
- export type VjsfOneOfSelectNode = Omit<OneOfSelectNode, 'options'> & {
56
- options: VjsfOptions;
57
- };
58
- export type VjsfSectionNode = Omit<SectionNode, 'options'> & {
59
- options: VjsfOptions;
60
- };
61
- export type VjsfSelectNode = Omit<SelectNode, 'options'> & {
62
- options: VjsfOptions;
63
- };
64
- export type VjsfSliderNode = Omit<SliderNode, 'options'> & {
65
- options: VjsfOptions;
66
- };
67
- export type VjsfSwitchNode = Omit<SwitchNode, 'options'> & {
68
- options: VjsfOptions;
69
- };
70
- export type VjsfTextFieldNode = Omit<TextFieldNode, 'options'> & {
71
- options: VjsfOptions;
72
- };
73
- export type VjsfTextareaNode = Omit<TextareaNode, 'options'> & {
74
- options: VjsfOptions;
75
- };
76
- export type VjsfMarkdownNode = Omit<MarkdownNode, 'options'> & {
77
- options: VjsfOptions;
78
- };
79
- export type VjsfVerticalTabsNode = Omit<VerticalTabsNode, 'options'> & {
80
- options: VjsfOptions;
81
- };
82
- export type VjsfStepperNode = Omit<StepperNode, 'options'> & {
83
- options: VjsfOptions;
84
- };
85
- export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {
86
- options: VjsfOptions;
87
- };
88
- export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {
89
- options: VjsfOptions;
90
- };
91
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{}, {
2
- $emit: (event: "update:modelValue" | "update:state", ...args: any[]) => void;
3
- options: Partial<Omit<import("./types.js").VjsfOptions, "width">>;
4
- modelValue: string | number | boolean | Record<string, any>;
5
- schema: Record<string, any>;
6
- $props: {
7
- readonly options?: Partial<Omit<import("./types.js").VjsfOptions, "width">> | undefined;
8
- readonly modelValue?: string | number | boolean | Record<string, any> | undefined;
9
- readonly schema?: Record<string, any> | undefined;
10
- };
11
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
12
- export default _default;
13
- //# sourceMappingURL=v-jsf.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v-jsf.vue.d.ts","sourceRoot":"","sources":["../../src/components/v-jsf.vue.js"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- declare const _default: <T>(input: T) => T;
2
- export default _default;
3
- //# sourceMappingURL=clone.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/utils/clone.js"],"names":[],"mappings":""}