@koumoul/vjsf 3.0.0-beta.32 → 3.0.0-beta.34

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 (43) hide show
  1. package/package.json +3 -3
  2. package/src/components/fragments/help-message.vue +3 -1
  3. package/src/components/fragments/section-header.vue +7 -3
  4. package/src/components/fragments/select-item-icon.vue +1 -1
  5. package/src/components/fragments/select-item.vue +2 -1
  6. package/src/components/fragments/selection-group.vue +5 -1
  7. package/src/components/fragments/text-field-menu.vue +2 -1
  8. package/src/components/node.vue +14 -1
  9. package/src/components/nodes/autocomplete.vue +1 -1
  10. package/src/components/nodes/card.vue +39 -0
  11. package/src/components/nodes/checkbox.vue +1 -1
  12. package/src/components/nodes/color-picker.vue +1 -1
  13. package/src/components/nodes/combobox.vue +1 -1
  14. package/src/components/nodes/expansion-panels.vue +6 -2
  15. package/src/components/nodes/file-input.vue +1 -1
  16. package/src/components/nodes/list.vue +7 -1
  17. package/src/components/nodes/number-combobox.vue +1 -1
  18. package/src/components/nodes/number-field.vue +1 -1
  19. package/src/components/nodes/one-of-select.vue +2 -1
  20. package/src/components/nodes/radio-group.vue +3 -1
  21. package/src/components/nodes/section.vue +1 -1
  22. package/src/components/nodes/select.vue +1 -1
  23. package/src/components/nodes/slider.vue +1 -1
  24. package/src/components/nodes/stepper.vue +5 -2
  25. package/src/components/nodes/switch.vue +1 -1
  26. package/src/components/nodes/tabs.vue +6 -2
  27. package/src/components/nodes/text-field.vue +1 -1
  28. package/src/components/nodes/textarea.vue +1 -1
  29. package/src/components/nodes/vertical-tabs.vue +6 -2
  30. package/src/components/tree.vue +1 -1
  31. package/src/components/vjsf.vue +3 -1
  32. package/src/types.ts +2 -0
  33. package/types/components/fragments/section-header.vue.d.ts +2 -0
  34. package/types/components/fragments/select-item.vue.d.ts +2 -2
  35. package/types/components/fragments/select-selection.vue.d.ts +2 -2
  36. package/types/components/fragments/selection-group.vue.d.ts.map +1 -1
  37. package/types/components/fragments/text-field-menu.vue.d.ts.map +1 -1
  38. package/types/components/nodes/card.vue.d.ts +10 -0
  39. package/types/components/nodes/card.vue.d.ts.map +1 -0
  40. package/types/components/nodes/radio-group.vue.d.ts.map +1 -1
  41. package/types/components/vjsf.vue.d.ts +4 -4
  42. package/types/types.d.ts +4 -1
  43. package/types/types.d.ts.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koumoul/vjsf",
3
- "version": "3.0.0-beta.32",
3
+ "version": "3.0.0-beta.34",
4
4
  "description": "Generate forms for the vuetify UI library (vuejs) based on annotated JSON schemas.",
5
5
  "scripts": {
6
6
  "test": "vitest",
@@ -73,10 +73,10 @@
73
73
  },
74
74
  "peerDependencies": {
75
75
  "vue": "^3.4.3",
76
- "vuetify": "^3.6.8"
76
+ "vuetify": "^3.6.13"
77
77
  },
78
78
  "dependencies": {
79
- "@json-layout/core": "0.27.0",
79
+ "@json-layout/core": "0.28.1",
80
80
  "@vueuse/core": "^10.5.0",
81
81
  "debug": "^4.3.4",
82
82
  "ejs": "^3.1.9"
@@ -23,7 +23,9 @@
23
23
  </template>
24
24
 
25
25
  <script setup>
26
- import { VAlert, VBtn, VSlideXReverseTransition } from 'vuetify/components'
26
+ import { VSlideXReverseTransition } from 'vuetify/components/transitions'
27
+ import { VAlert} from 'vuetify/components/VAlert'
28
+ import { VBtn } from 'vuetify/components/VBtn'
27
29
  import { ref } from 'vue'
28
30
 
29
31
  defineProps({
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VAlert } from 'vuetify/components'
2
+ import { VAlert } from 'vuetify/components/VAlert'
3
3
  import { computed } from 'vue'
4
4
 
5
5
  const props = defineProps({
@@ -7,6 +7,10 @@ const props = defineProps({
7
7
  /** @type import('vue').PropType<import('../../types.js').VjsfNode> */
8
8
  type: Object,
9
9
  required: true
10
+ },
11
+ hideTitle: {
12
+ type: Boolean,
13
+ default: false
10
14
  }
11
15
  })
12
16
 
@@ -27,12 +31,12 @@ const titleClass = computed(() => {
27
31
 
28
32
  <template>
29
33
  <div
30
- v-if="node.layout.title ?? node.layout.subtitle ?? (node.error && node.validated)"
34
+ v-if="(node.layout.title && !hideTitle) || node.layout.subtitle || (node.error && node.validated)"
31
35
  :class="`mb-${titleDepthBase - node.options.titleDepth} mt-${titleDepthBase - node.options.titleDepth}`"
32
36
  >
33
37
  <component
34
38
  :is="`h${node.options.titleDepth}`"
35
- v-if="node.layout.title"
39
+ v-if="node.layout.title && !hideTitle"
36
40
  :class="`${titleClass}`"
37
41
  >
38
42
  {{ node.layout.title }}
@@ -2,7 +2,7 @@
2
2
  // cf https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VSelect/VSelect.tsx#L374
3
3
 
4
4
  import { defineComponent, h, computed } from 'vue'
5
- import { VIcon } from 'vuetify/components'
5
+ import { VIcon } from 'vuetify/components/VIcon'
6
6
 
7
7
  export default defineComponent({
8
8
  props: {
@@ -1,7 +1,8 @@
1
1
  <script setup>
2
2
  // cf https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VSelect/VSelect.tsx#L374
3
3
 
4
- import { VListItem, VCheckboxBtn } from 'vuetify/components'
4
+ import { VCheckboxBtn } from 'vuetify/components/VCheckbox'
5
+ import { VListItem } from 'vuetify/components/VList'
5
6
  import VSelectItemIcon from './select-item-icon.vue'
6
7
 
7
8
  defineProps({
@@ -1,5 +1,9 @@
1
1
  <script>
2
- import { VInput, VLabel, VCheckbox, VSwitch, VSkeletonLoader } from 'vuetify/components'
2
+ import { VSkeletonLoader } from 'vuetify/components/VSkeletonLoader'
3
+ import { VInput } from 'vuetify/components/VInput'
4
+ import { VLabel } from 'vuetify/components/VLabel'
5
+ import { VCheckbox } from 'vuetify/components/VCheckbox'
6
+ import { VSwitch } from 'vuetify/components/VSwitch'
3
7
  import { defineComponent, h, computed } from 'vue'
4
8
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
9
  import useGetItems from '../../composables/use-get-items.js'
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
- import { VMenu, VTextField } from 'vuetify/components'
2
+ import { VMenu } from 'vuetify/components/VMenu'
3
+ import { VTextField } from 'vuetify/components/VTextField'
3
4
  import { computed, ref } from 'vue'
4
5
  import { getCompProps, getInputProps } from '../../utils/index.js'
5
6
 
@@ -1,7 +1,8 @@
1
1
  <script setup>
2
2
  import { computed } from 'vue'
3
3
  import { useTheme, useDefaults } from 'vuetify'
4
- import { VCol, VDefaultsProvider } from 'vuetify/components'
4
+ import { VCol } from 'vuetify/components/VGrid'
5
+ import { VDefaultsProvider } from 'vuetify/components/VDefaultsProvider'
5
6
  import NodeSlot from './fragments/node-slot.vue'
6
7
  import HelpMessage from './fragments/help-message.vue'
7
8
 
@@ -29,11 +30,23 @@ const beforeAfterClasses = {
29
30
 
30
31
  const theme = useTheme()
31
32
 
33
+ const indent = computed(() => {
34
+ if (props.modelValue.parentFullKey === null) return 0
35
+ if (!props.modelValue.options.indent) return 0
36
+ if (props.modelValue.layout.comp !== 'section') return 0
37
+ if (!props.modelValue.layout.title) return 0
38
+ if (typeof props.modelValue.options.indent === 'number') return props.modelValue.options.indent
39
+ if (props.modelValue.options.density === 'compact') return 2
40
+ if (props.modelValue.options.density === 'comfortable') return 4
41
+ return 6
42
+ })
43
+
32
44
  const nodeClasses = computed(() => {
33
45
  let classes = `vjsf-node vjsf-node-${props.modelValue.layout.comp} vjsf-density-${props.modelValue.options.density}`
34
46
  if (props.modelValue.options.readOnly) classes += ' vjsf-readonly'
35
47
  if (props.modelValue.options.summary) classes += ' vjsf-summary'
36
48
  if (theme.current.value.dark) classes += ' vjsf-dark'
49
+ if (indent.value) classes += ' ml-' + indent.value
37
50
  return classes
38
51
  })
39
52
 
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import { VAutocomplete } from 'vuetify/components'
2
+ import { VAutocomplete } from 'vuetify/components/VAutocomplete'
3
3
  import { useDefaults } from 'vuetify'
4
4
  import { defineComponent, computed, h } from 'vue'
5
5
  import { getInputProps, getCompSlots } from '../../utils/index.js'
@@ -0,0 +1,39 @@
1
+ <script setup>
2
+ import { VCard } from 'vuetify/components/VCard'
3
+ import { VContainer, VRow } from 'vuetify/components/VGrid'
4
+ import Node from '../node.vue'
5
+ import SectionHeader from '../fragments/section-header.vue'
6
+ import { useDefaults } from 'vuetify'
7
+
8
+ useDefaults({}, 'VjsfCard')
9
+
10
+ defineProps({
11
+ modelValue: {
12
+ /** @type import('vue').PropType<import('../../types.js').VjsfCardNode> */
13
+ type: Object,
14
+ required: true
15
+ },
16
+ statefulLayout: {
17
+ /** @type import('vue').PropType<import('../../types.js').VjsfStatefulLayout> */
18
+ type: Object,
19
+ required: true
20
+ }
21
+ })
22
+
23
+ </script>
24
+
25
+ <template>
26
+ <v-card :title="modelValue.layout.title ?? ''">
27
+ <v-container fluid>
28
+ <section-header :node="modelValue" hide-title />
29
+ <v-row :dense="modelValue.options?.density === 'compact' || modelValue.options?.density === 'comfortable'">
30
+ <node
31
+ v-for="child of modelValue.children"
32
+ :key="child.fullKey"
33
+ :model-value="/** @type import('../../types.js').VjsfNode */(child)"
34
+ :stateful-layout="statefulLayout"
35
+ />
36
+ </v-row>
37
+ </v-container>
38
+ </v-card>
39
+ </template>
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VCheckbox } from 'vuetify/components'
2
+ import { VCheckbox } from 'vuetify/components/VCheckbox'
3
3
  import { computed } from 'vue'
4
4
  import { getInputProps } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import TextFieldMenu from '../fragments/text-field-menu.vue'
3
- import { VColorPicker } from 'vuetify/components'
3
+ import { VColorPicker } from 'vuetify/components/VColorPicker'
4
4
  import { computed } from 'vue'
5
5
  import { getCompProps } from '../../utils/index.js'
6
6
  import { useDefaults } from 'vuetify'
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed, shallowRef, ref } from 'vue'
3
- import { VCombobox } from 'vuetify/components'
3
+ import { VCombobox } from 'vuetify/components/VCombobox'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,8 +1,11 @@
1
1
  <script setup>
2
- import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VContainer, VRow, VIcon } from 'vuetify/components'
2
+ import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText } from 'vuetify/components/VExpansionPanel'
3
+ import { VContainer, VRow } from 'vuetify/components/VGrid'
4
+ import { VIcon } from 'vuetify/components/VIcon'
3
5
  import { isSection } from '@json-layout/core'
4
6
  import Node from '../node.vue'
5
7
  import SectionHeader from '../fragments/section-header.vue'
8
+ import ChildSubtitle from '../fragments/child-subtitle.vue'
6
9
  import { getCompProps } from '../../utils/index.js'
7
10
  import { useDefaults } from 'vuetify'
8
11
 
@@ -43,7 +46,8 @@ defineProps({
43
46
  </v-expansion-panel-title>
44
47
  <v-expansion-panel-text>
45
48
  <v-container fluid>
46
- <v-row>
49
+ <child-subtitle :model-value="child" />
50
+ <v-row :dense="modelValue.options?.density === 'compact' || modelValue.options?.density === 'comfortable'">
47
51
  <node
48
52
  v-for="grandChild of isSection(child) ? child.children : [child]"
49
53
  :key="grandChild.fullKey"
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed } from 'vue'
3
- import { VFileInput } from 'vuetify/components'
3
+ import { VFileInput } from 'vuetify/components/VFileInput'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,7 +1,13 @@
1
1
  <script setup>
2
2
  import { watch, computed, ref } from 'vue'
3
3
  import { useDefaults, useTheme } from 'vuetify'
4
- import { VList, VListItem, VListItemAction, VBtn, VMenu, VIcon, VSheet, VSpacer, VDivider, VRow, VListSubheader } from 'vuetify/components'
4
+ import { VList, VListItem, VListItemAction, VListSubheader } from 'vuetify/components/VList'
5
+ import { VRow, VSpacer } from 'vuetify/components/VGrid'
6
+ import { VSheet } from 'vuetify/components/VSheet'
7
+ import { VDivider } from 'vuetify/components/VDivider'
8
+ import { VIcon } from 'vuetify/components/VIcon'
9
+ import { VBtn } from 'vuetify/components/VBtn'
10
+ import { VMenu } from 'vuetify/components/VMenu'
5
11
  import { isSection, clone } from '@json-layout/core'
6
12
  import Node from '../node.vue'
7
13
  import { moveArrayItem } from '../../utils/index.js'
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed, shallowRef, ref } from 'vue'
3
- import { VCombobox } from 'vuetify/components'
3
+ import { VCombobox } from 'vuetify/components/VCombobox'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed } from 'vue'
3
- import { VTextField } from 'vuetify/components'
3
+ import { VTextField } from 'vuetify/components/VTextField'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,5 +1,6 @@
1
1
  <script setup>
2
- import { VSelect, VRow, VCol } from 'vuetify/components'
2
+ import { VRow, VCol } from 'vuetify/components/VGrid'
3
+ import { VSelect } from 'vuetify/components/VSelect'
3
4
  import { ref, watch, computed, h } from 'vue'
4
5
  import { isSection } from '@json-layout/core'
5
6
  import { isCompObject } from '@json-layout/vocabulary'
@@ -1,5 +1,7 @@
1
1
  <script>
2
- import { VRadioGroup, VRadio, VSkeletonLoader } from 'vuetify/components'
2
+ import { VRadio } from 'vuetify/components/VRadio'
3
+ import { VRadioGroup } from 'vuetify/components/VRadioGroup'
4
+ import { VSkeletonLoader } from 'vuetify/components/VSkeletonLoader'
3
5
  import { defineComponent, h, computed } from 'vue'
4
6
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
7
  import useGetItems from '../../composables/use-get-items.js'
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VRow } from 'vuetify/components'
2
+ import { VRow } from 'vuetify/components/VGrid'
3
3
  import Node from '../node.vue'
4
4
  import SectionHeader from '../fragments/section-header.vue'
5
5
  import { useDefaults } from 'vuetify'
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import { VSelect } from 'vuetify/components'
2
+ import { VSelect } from 'vuetify/components/VSelect'
3
3
  import { defineComponent, h, computed } from 'vue'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import useGetItems from '../../composables/use-get-items.js'
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VSlider } from 'vuetify/components'
2
+ import { VSlider } from 'vuetify/components/VSlider'
3
3
  import { computed } from 'vue'
4
4
  import { getInputProps } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
@@ -1,6 +1,9 @@
1
1
  <script setup>
2
2
  import { ref, computed } from 'vue'
3
- import { VStepper, VStepperHeader, VStepperItem, VStepperWindow, VStepperWindowItem, VStepperActions, VContainer, VRow, VSpacer, VBtn, VDivider } from 'vuetify/components'
3
+ import { VStepper, VStepperHeader, VStepperItem, VStepperWindow, VStepperWindowItem, VStepperActions } from 'vuetify/components/VStepper'
4
+ import { VContainer, VRow, VSpacer } from 'vuetify/components/VGrid'
5
+ import { VBtn } from 'vuetify/components/VBtn'
6
+ import { VDivider } from 'vuetify/components/VDivider'
4
7
  import { isSection } from '@json-layout/core'
5
8
  import Node from '../node.vue'
6
9
  import SectionHeader from '../fragments/section-header.vue'
@@ -64,7 +67,7 @@ const goNext = () => {
64
67
  class="pa-0"
65
68
  >
66
69
  <child-subtitle :model-value="child" />
67
- <v-row>
70
+ <v-row :dense="modelValue.options?.density === 'compact' || modelValue.options?.density === 'comfortable'">
68
71
  <node
69
72
  v-for="grandChild of isSection(child) ? child.children : [child]"
70
73
  :key="grandChild.fullKey"
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VSwitch } from 'vuetify/components'
2
+ import { VSwitch } from 'vuetify/components/VSwitch'
3
3
  import { computed } from 'vue'
4
4
  import { getInputProps } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
@@ -1,5 +1,9 @@
1
1
  <script setup>
2
- import { VTabs, VTab, VContainer, VSheet, VWindow, VWindowItem, VRow, VIcon } from 'vuetify/components'
2
+ import { VTabs, VTab } from 'vuetify/components/VTabs'
3
+ import { VContainer, VRow } from 'vuetify/components/VGrid'
4
+ import { VIcon } from 'vuetify/components/VIcon'
5
+ import { VSheet } from 'vuetify/components/VSheet'
6
+ import { VWindow, VWindowItem } from 'vuetify/components/VWindow'
3
7
  import { useDefaults } from 'vuetify'
4
8
  import { ref } from 'vue'
5
9
  import { isSection } from '@json-layout/core'
@@ -57,7 +61,7 @@ const tab = ref(0)
57
61
  >
58
62
  <v-container fluid>
59
63
  <child-subtitle :model-value="child" />
60
- <v-row>
64
+ <v-row :dense="modelValue.options?.density === 'compact' || modelValue.options?.density === 'comfortable'">
61
65
  <node
62
66
  v-for="grandChild of isSection(child) ? child.children : [child]"
63
67
  :key="grandChild.fullKey"
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed } from 'vue'
3
- import { VTextField } from 'vuetify/components'
3
+ import { VTextField } from 'vuetify/components/VTextField'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  import { defineComponent, h, computed, ref, watch } from 'vue'
3
- import { VTextarea } from 'vuetify/components'
3
+ import { VTextarea } from 'vuetify/components/VTextarea'
4
4
  import { getInputProps, getCompSlots } from '../../utils/index.js'
5
5
  import { useDefaults } from 'vuetify'
6
6
 
@@ -1,6 +1,10 @@
1
1
  <script setup>
2
2
  import { isSection } from '@json-layout/core'
3
- import { VTabs, VTab, VContainer, VSheet, VWindow, VWindowItem, VRow, VIcon } from 'vuetify/components'
3
+ import { VTabs, VTab} from 'vuetify/components/VTabs'
4
+ import { VContainer, VRow } from 'vuetify/components/VGrid'
5
+ import { VIcon } from 'vuetify/components/VIcon'
6
+ import { VSheet } from 'vuetify/components/VSheet'
7
+ import { VWindow, VWindowItem } from 'vuetify/components/VWindow'
4
8
  import { ref } from 'vue'
5
9
  import Node from '../node.vue'
6
10
  import SectionHeader from '../fragments/section-header.vue'
@@ -61,7 +65,7 @@ const tab = ref(0)
61
65
  >
62
66
  <v-container fluid>
63
67
  <child-subtitle :model-value="child" />
64
- <v-row>
68
+ <v-row :dense="modelValue.options?.density === 'compact' || modelValue.options?.density === 'comfortable'">
65
69
  <node
66
70
  v-for="grandChild of isSection(child) ? child.children : [child]"
67
71
  :key="grandChild.fullKey"
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { VRow } from 'vuetify/components'
2
+ import { VRow } from 'vuetify/components/VGrid'
3
3
  import Node from './node.vue'
4
4
 
5
5
  defineProps({
@@ -30,6 +30,7 @@ import NodeExpansionPanels from './nodes/expansion-panels.vue'
30
30
  import NodeStepper from './nodes/stepper.vue'
31
31
  import NodeList from './nodes/list.vue'
32
32
  import NodeFileInput from './nodes/file-input.vue'
33
+ import NodeCard from './nodes/card.vue'
33
34
 
34
35
  /** @type {Record<string, import('vue').Component>} */
35
36
  const nodeComponents = {
@@ -56,7 +57,8 @@ const nodeComponents = {
56
57
  list: NodeList,
57
58
  combobox: NodeCombobox,
58
59
  'number-combobox': NodeNumberCombobox,
59
- 'file-input': NodeFileInput
60
+ 'file-input': NodeFileInput,
61
+ card: NodeCard
60
62
  }
61
63
 
62
64
  const props = defineProps({
package/src/types.ts CHANGED
@@ -28,6 +28,7 @@ import {
28
28
  StepperNode,
29
29
  ComboboxNode,
30
30
  FileInputNode,
31
+ CardNode,
31
32
  CompileOptions
32
33
  } from '@json-layout/core'
33
34
 
@@ -82,3 +83,4 @@ export type VjsfVerticalTabsNode = Omit<VerticalTabsNode, 'options'> & {options:
82
83
  export type VjsfStepperNode = Omit<StepperNode, 'options'> & {options: VjsfOptions}
83
84
  export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {options: VjsfOptions}
84
85
  export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {options: VjsfOptions}
86
+ export type VjsfCardNode = Omit<CardNode, 'options'> & {options: VjsfOptions}
@@ -1,7 +1,9 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  node: import("../../types.js").VjsfNode;
3
+ hideTitle: boolean;
3
4
  $props: {
4
5
  readonly node?: import("../../types.js").VjsfNode | undefined;
6
+ readonly hideTitle?: boolean | undefined;
5
7
  };
6
8
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
7
9
  export default _default;
@@ -1,11 +1,11 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  multiple: boolean;
3
- item: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem;
4
3
  itemProps: Record<string, any>;
4
+ item: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem;
5
5
  $props: {
6
6
  readonly multiple?: boolean | undefined;
7
- readonly item?: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem | undefined;
8
7
  readonly itemProps?: Record<string, any> | undefined;
8
+ readonly item?: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem | undefined;
9
9
  };
10
10
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
11
11
  export default _default;
@@ -1,11 +1,11 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  multiple: boolean;
3
- item: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem;
4
3
  last: boolean;
4
+ item: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem;
5
5
  $props: {
6
6
  readonly multiple?: boolean | undefined;
7
- readonly item?: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem | undefined;
8
7
  readonly last?: boolean | undefined;
8
+ readonly item?: import("../../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").SelectItem | undefined;
9
9
  };
10
10
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
11
11
  export default _default;
@@ -1 +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
+ {"version":3,"file":"selection-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/fragments/selection-group.vue.js"],"names":[],"mappings":";;QAcM,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":";;;;;;;;;;6BAsIsC,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":";;;;;;;;;;6BAuIsC,GAAG;;;QACX,GAAG"}
@@ -0,0 +1,10 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ modelValue: import("../../types.js").VjsfCardNode;
3
+ statefulLayout: import("../../types.js").VjsfStatefulLayout;
4
+ $props: {
5
+ readonly modelValue?: import("../../types.js").VjsfCardNode | 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=card.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/card.vue.js"],"names":[],"mappings":""}
@@ -1 +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"}
1
+ {"version":3,"file":"radio-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/radio-group.vue.js"],"names":[],"mappings":";;QAaM,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"}
@@ -1,13 +1,13 @@
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
- schema: Record<string, any>;
4
3
  modelValue: any;
5
- options: Partial<Omit<import("../types.js").VjsfOptions, "onData" | "onUpdate" | "onAutofocus" | "width" | "vjsfSlots">> | null;
4
+ options: Partial<Omit<import("../types.js").VjsfOptions, "width" | "onData" | "onUpdate" | "onAutofocus" | "vjsfSlots">> | null;
5
+ schema: Record<string, any>;
6
6
  precompiledLayout: import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout;
7
7
  $props: {
8
- readonly schema?: Record<string, any> | undefined;
9
8
  readonly modelValue?: any;
10
- readonly options?: Partial<Omit<import("../types.js").VjsfOptions, "onData" | "onUpdate" | "onAutofocus" | "width" | "vjsfSlots">> | null | undefined;
9
+ readonly options?: Partial<Omit<import("../types.js").VjsfOptions, "width" | "onData" | "onUpdate" | "onAutofocus" | "vjsfSlots">> | null | undefined;
10
+ readonly schema?: Record<string, any> | undefined;
11
11
  readonly precompiledLayout?: import("../../../node_modules/@json-layout/core/types/compile/types.js").CompiledLayout | undefined;
12
12
  };
13
13
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
package/types/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Component } from 'vue';
2
2
  import { ComponentInfo } from '@json-layout/vocabulary';
3
- import { StatefulLayout, StatefulLayoutOptions, StateNode, CheckboxNode, ColorPickerNode, DatePickerNode, DateTimePickerNode, TabsNode, ExpansionPanelsNode, ListNode, NumberFieldNode, OneOfSelectNode, SectionNode, SelectNode, RadioGroupNode, CheckboxGroupNode, SwitchGroupNode, SliderNode, SwitchNode, TextFieldNode, TextareaNode, VerticalTabsNode, StepperNode, ComboboxNode, FileInputNode, CompileOptions } from '@json-layout/core';
3
+ import { StatefulLayout, StatefulLayoutOptions, StateNode, CheckboxNode, ColorPickerNode, DatePickerNode, DateTimePickerNode, TabsNode, ExpansionPanelsNode, ListNode, NumberFieldNode, OneOfSelectNode, SectionNode, SelectNode, RadioGroupNode, CheckboxGroupNode, SwitchGroupNode, SliderNode, SwitchNode, TextFieldNode, TextareaNode, VerticalTabsNode, StepperNode, ComboboxNode, FileInputNode, CardNode, CompileOptions } from '@json-layout/core';
4
4
  export type Density = 'default' | 'comfortable' | 'compact';
5
5
  export type Plugin = {
6
6
  info: ComponentInfo;
@@ -90,4 +90,7 @@ export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {
90
90
  export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {
91
91
  options: VjsfOptions;
92
92
  };
93
+ export type VjsfCardNode = Omit<CardNode, 'options'> & {
94
+ options: VjsfOptions;
95
+ };
93
96
  //# sourceMappingURL=types.d.ts.map
@@ -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":"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"}