@koumoul/vjsf 3.0.0-beta.30 → 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.
- package/package.json +2 -2
- package/src/compat/v2.js +20 -15
- package/src/components/fragments/help-message.vue +0 -1
- package/src/components/fragments/section-header.vue +0 -1
- package/src/components/fragments/selection-group.vue +0 -1
- package/src/components/node.vue +46 -42
- package/src/components/nodes/autocomplete.vue +2 -0
- package/src/components/nodes/checkbox-group.vue +3 -0
- package/src/components/nodes/checkbox.vue +3 -0
- package/src/components/nodes/color-picker.vue +3 -0
- package/src/components/nodes/combobox.vue +3 -0
- package/src/components/nodes/date-picker.vue +3 -1
- package/src/components/nodes/date-time-picker.vue +3 -0
- package/src/components/nodes/expansion-panels.vue +3 -1
- package/src/components/nodes/file-input.vue +3 -0
- package/src/components/nodes/list.vue +8 -9
- package/src/components/nodes/number-combobox.vue +3 -0
- package/src/components/nodes/number-field.vue +3 -0
- package/src/components/nodes/one-of-select.vue +3 -0
- package/src/components/nodes/radio-group.vue +3 -0
- package/src/components/nodes/section.vue +3 -0
- package/src/components/nodes/select.vue +3 -0
- package/src/components/nodes/slider.vue +3 -0
- package/src/components/nodes/stepper.vue +3 -0
- package/src/components/nodes/switch-group.vue +3 -0
- package/src/components/nodes/switch.vue +3 -0
- package/src/components/nodes/tabs.vue +10 -3
- package/src/components/nodes/text-field.vue +3 -0
- package/src/components/nodes/textarea.vue +3 -0
- package/src/components/nodes/vertical-tabs.vue +6 -1
- package/src/composables/use-comp-defaults.js +19 -0
- package/src/types.ts +2 -2
- package/src/utils/props.js +0 -5
- package/types/compat/v2.d.ts.map +1 -1
- package/types/components/nodes/autocomplete.vue.d.ts.map +1 -1
- package/types/components/nodes/checkbox-group.vue.d.ts.map +1 -1
- package/types/components/nodes/combobox.vue.d.ts.map +1 -1
- package/types/components/nodes/file-input.vue.d.ts.map +1 -1
- package/types/components/nodes/number-combobox.vue.d.ts.map +1 -1
- package/types/components/nodes/number-field.vue.d.ts.map +1 -1
- package/types/components/nodes/radio-group.vue.d.ts.map +1 -1
- package/types/components/nodes/select.vue.d.ts.map +1 -1
- package/types/components/nodes/switch-group.vue.d.ts.map +1 -1
- package/types/components/nodes/text-field.vue.d.ts.map +1 -1
- package/types/components/nodes/textarea.vue.d.ts.map +1 -1
- package/types/composables/use-comp-defaults.d.ts +8 -0
- package/types/composables/use-comp-defaults.d.ts.map +1 -0
- package/types/types.d.ts.map +1 -1
- package/types/utils/props.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.
|
|
3
|
+
"version": "3.0.0-beta.31",
|
|
4
4
|
"description": "Generate forms for the vuetify UI library (vuejs) based on annotated JSON schemas.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "vitest",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"vuetify": "^3.6.8"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@json-layout/core": "0.
|
|
79
|
+
"@json-layout/core": "0.26.0",
|
|
80
80
|
"@vueuse/core": "^10.5.0",
|
|
81
81
|
"debug": "^4.3.4",
|
|
82
82
|
"ejs": "^3.1.9"
|
package/src/compat/v2.js
CHANGED
|
@@ -60,15 +60,18 @@ const fixExpression = (expression, type = 'js-eval') => {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @param {import("ajv").SchemaObject} schema
|
|
65
|
-
* @param {(schemaId: string, ref: string) => [any, string, string]} getJSONRef
|
|
63
|
+
*
|
|
64
|
+
* @param {import("ajv").SchemaObject} schema
|
|
65
|
+
* @param {(schemaId: string, ref: string) => [any, string, string]} getJSONRef
|
|
66
66
|
* @param {string} schemaId
|
|
67
|
+
* @param {any[]} processed
|
|
67
68
|
*/
|
|
68
|
-
const processFragment = (schema, getJSONRef, schemaId) => {
|
|
69
|
+
const processFragment = (schema, getJSONRef, schemaId, processed) => {
|
|
70
|
+
if (processed.includes(schema)) return
|
|
71
|
+
processed.push(schema)
|
|
69
72
|
if (schema.$ref) {
|
|
70
73
|
const [refFragment, refSchemaId] = getJSONRef(schemaId, schema.$ref)
|
|
71
|
-
processFragment(refFragment, getJSONRef, refSchemaId)
|
|
74
|
+
processFragment(refFragment, getJSONRef, refSchemaId, processed)
|
|
72
75
|
}
|
|
73
76
|
if (!schema.layout) {
|
|
74
77
|
/** @type import('@json-layout/vocabulary').PartialCompObject */
|
|
@@ -147,12 +150,12 @@ const processFragment = (schema, getJSONRef, schemaId) => {
|
|
|
147
150
|
|
|
148
151
|
if (schema.properties) {
|
|
149
152
|
for (const propertyKey of Object.keys(schema.properties)) {
|
|
150
|
-
processFragment(schema.properties[propertyKey], getJSONRef, schemaId)
|
|
153
|
+
processFragment(schema.properties[propertyKey], getJSONRef, schemaId, processed)
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
156
|
|
|
154
157
|
if (schema.allOf) {
|
|
155
|
-
for (const item of schema.allOf) processFragment(item, getJSONRef, schemaId)
|
|
158
|
+
for (const item of schema.allOf) processFragment(item, getJSONRef, schemaId, processed)
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
if (schema.oneOf) {
|
|
@@ -167,28 +170,28 @@ const processFragment = (schema, getJSONRef, schemaId) => {
|
|
|
167
170
|
}
|
|
168
171
|
}
|
|
169
172
|
}
|
|
170
|
-
for (const item of schema.oneOf) processFragment(item, getJSONRef, schemaId)
|
|
173
|
+
for (const item of schema.oneOf) processFragment(item, getJSONRef, schemaId, processed)
|
|
171
174
|
}
|
|
172
175
|
|
|
173
176
|
if (schema.anyOf) {
|
|
174
|
-
for (const item of schema.anyOf) processFragment(item, getJSONRef, schemaId)
|
|
177
|
+
for (const item of schema.anyOf) processFragment(item, getJSONRef, schemaId, processed)
|
|
175
178
|
}
|
|
176
179
|
|
|
177
180
|
if (schema.type === 'array' && schema.items) {
|
|
178
181
|
if (Array.isArray(schema.items)) {
|
|
179
|
-
for (const item of schema.items) processFragment(item, getJSONRef, schemaId)
|
|
182
|
+
for (const item of schema.items) processFragment(item, getJSONRef, schemaId, processed)
|
|
180
183
|
} else {
|
|
181
|
-
processFragment(schema.items, getJSONRef, schemaId)
|
|
184
|
+
processFragment(schema.items, getJSONRef, schemaId, processed)
|
|
182
185
|
}
|
|
183
186
|
}
|
|
184
187
|
if (schema.dependencies) {
|
|
185
188
|
for (const key of Object.keys(schema.dependencies)) {
|
|
186
|
-
processFragment(schema.dependencies[key], getJSONRef, schemaId)
|
|
189
|
+
processFragment(schema.dependencies[key], getJSONRef, schemaId, processed)
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
if (schema.if) {
|
|
190
|
-
if (schema.then) processFragment(schema.then, getJSONRef, schemaId)
|
|
191
|
-
if (schema.else) processFragment(schema.else, getJSONRef, schemaId)
|
|
193
|
+
if (schema.then) processFragment(schema.then, getJSONRef, schemaId, processed)
|
|
194
|
+
if (schema.else) processFragment(schema.else, getJSONRef, schemaId, processed)
|
|
192
195
|
}
|
|
193
196
|
}
|
|
194
197
|
|
|
@@ -212,6 +215,8 @@ export function v2compat (_schema, _ajv, lang = 'en') {
|
|
|
212
215
|
const schema = /** @type {import("ajv").SchemaObject} */ (clone(_schema))
|
|
213
216
|
schema.$id = schema.$id ?? '_jl'
|
|
214
217
|
const getJSONRef = resolveLocaleRefs(schema, ajv, lang)
|
|
215
|
-
|
|
218
|
+
/** @type {any[]} */
|
|
219
|
+
const processed = []
|
|
220
|
+
processFragment(schema, getJSONRef, schema.$id, processed)
|
|
216
221
|
return schema
|
|
217
222
|
}
|
package/src/components/node.vue
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed } from 'vue'
|
|
3
|
-
import { useTheme } from 'vuetify'
|
|
4
|
-
import { VCol } from 'vuetify/components'
|
|
3
|
+
import { useTheme, useDefaults } from 'vuetify'
|
|
4
|
+
import { VCol, VDefaultsProvider } from 'vuetify/components'
|
|
5
5
|
import NodeSlot from './fragments/node-slot.vue'
|
|
6
6
|
import HelpMessage from './fragments/help-message.vue'
|
|
7
7
|
|
|
8
|
+
useDefaults({}, 'VjsfNode')
|
|
9
|
+
|
|
8
10
|
const props = defineProps({
|
|
9
11
|
modelValue: {
|
|
10
12
|
/** @type import('vue').PropType<import('../types.js').VjsfNode> */
|
|
@@ -42,46 +44,48 @@ if (props.modelValue.layout.comp !== 'none' && !props.statefulLayout.options.nod
|
|
|
42
44
|
</script>
|
|
43
45
|
|
|
44
46
|
<template>
|
|
45
|
-
<v-
|
|
46
|
-
v-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
<v-defaults-provider :defaults="{global: { density: props.modelValue.options.density }}">
|
|
48
|
+
<v-col
|
|
49
|
+
v-if="modelValue.layout.comp !== 'none'"
|
|
50
|
+
:cols="modelValue.cols"
|
|
51
|
+
:class="nodeClasses"
|
|
52
|
+
>
|
|
53
|
+
<node-slot
|
|
54
|
+
v-if="modelValue.layout.slots?.before"
|
|
55
|
+
key="before"
|
|
56
|
+
:layout-slot="modelValue.layout.slots?.before"
|
|
57
|
+
:node="modelValue"
|
|
58
|
+
:stateful-layout="statefulLayout"
|
|
59
|
+
:class="beforeAfterClasses[modelValue.options.density]"
|
|
60
|
+
/>
|
|
58
61
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
<help-message
|
|
63
|
+
v-if="modelValue.layout.help && !modelValue.options.summary"
|
|
64
|
+
:node="modelValue"
|
|
65
|
+
:class="beforeAfterClasses[modelValue.options.density]"
|
|
66
|
+
/>
|
|
67
|
+
<node-slot
|
|
68
|
+
v-if="modelValue.layout.slots?.component"
|
|
69
|
+
key="component"
|
|
70
|
+
:layout-slot="modelValue.layout.slots?.component"
|
|
71
|
+
:node="modelValue"
|
|
72
|
+
:stateful-layout="statefulLayout"
|
|
73
|
+
/>
|
|
74
|
+
<component
|
|
75
|
+
:is="props.statefulLayout.options.nodeComponents[modelValue.layout.comp]"
|
|
76
|
+
v-else
|
|
77
|
+
:model-value="modelValue"
|
|
78
|
+
:stateful-layout="statefulLayout"
|
|
79
|
+
/>
|
|
77
80
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
<node-slot
|
|
82
|
+
v-if="modelValue.layout.slots?.after"
|
|
83
|
+
key="after"
|
|
84
|
+
:layout-slot="modelValue.layout.slots?.after"
|
|
85
|
+
:node="modelValue"
|
|
86
|
+
:stateful-layout="statefulLayout"
|
|
87
|
+
:class="beforeAfterClasses[modelValue.options.density]"
|
|
88
|
+
/>
|
|
89
|
+
</v-col>
|
|
90
|
+
</v-defaults-provider>
|
|
87
91
|
</template>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { VAutocomplete } from 'vuetify/components'
|
|
3
|
+
import { useDefaults } from 'vuetify'
|
|
3
4
|
import { defineComponent, computed, h } from 'vue'
|
|
4
5
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
6
|
import useGetItems from '../../composables/use-get-items.js'
|
|
@@ -20,6 +21,7 @@ export default defineComponent({
|
|
|
20
21
|
}
|
|
21
22
|
},
|
|
22
23
|
setup (props) {
|
|
24
|
+
useDefaults({}, 'VjsfAutocomplete')
|
|
23
25
|
const getItems = useGetItems(props)
|
|
24
26
|
|
|
25
27
|
const fieldProps = computed(() => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
|
+
import { useDefaults } from 'vuetify'
|
|
2
3
|
import SelectionGroup from '../fragments/selection-group.vue'
|
|
3
4
|
import { defineComponent, h } from 'vue'
|
|
4
5
|
|
|
@@ -16,6 +17,8 @@ export default defineComponent({
|
|
|
16
17
|
}
|
|
17
18
|
},
|
|
18
19
|
setup (props) {
|
|
20
|
+
useDefaults({}, 'VjsfCheckboxGroup')
|
|
21
|
+
|
|
19
22
|
// @ts-ignore
|
|
20
23
|
return () => {
|
|
21
24
|
return h(SelectionGroup, {
|
|
@@ -3,6 +3,9 @@ import TextFieldMenu from '../fragments/text-field-menu.vue'
|
|
|
3
3
|
import { VColorPicker } from 'vuetify/components'
|
|
4
4
|
import { computed } from 'vue'
|
|
5
5
|
import { getCompProps } from '../../utils/index.js'
|
|
6
|
+
import { useDefaults } from 'vuetify'
|
|
7
|
+
|
|
8
|
+
useDefaults({}, 'VjsfColorPicker')
|
|
6
9
|
|
|
7
10
|
const props = defineProps({
|
|
8
11
|
modelValue: {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed, shallowRef, ref } from 'vue'
|
|
3
3
|
import { VCombobox } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfCombobox')
|
|
22
|
+
|
|
20
23
|
/** @type import('vue').Ref<import('@json-layout/vocabulary').SelectItems> */
|
|
21
24
|
const items = shallowRef(props.modelValue.layout.items ?? [])
|
|
22
25
|
/** @type import('vue').Ref<boolean> */
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import TextFieldMenu from '../fragments/text-field-menu.vue'
|
|
3
3
|
import { VDatePicker } from 'vuetify/components/VDatePicker'
|
|
4
|
-
import { useDate } from 'vuetify'
|
|
4
|
+
import { useDate, useDefaults } from 'vuetify'
|
|
5
5
|
import { computed } from 'vue'
|
|
6
6
|
import { getCompProps, getDateTimeParts } from '../../utils/index.js'
|
|
7
7
|
|
|
8
|
+
useDefaults({}, 'VjsfDatePicker')
|
|
9
|
+
|
|
8
10
|
const props = defineProps({
|
|
9
11
|
modelValue: {
|
|
10
12
|
/** @type import('vue').PropType<import('../../types.js').VjsfDatePickerNode> */
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VContainer, VRow, VIcon } from 'vuetify/components'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
3
|
import { isSection } from '@json-layout/core'
|
|
5
4
|
import Node from '../node.vue'
|
|
6
5
|
import SectionHeader from '../fragments/section-header.vue'
|
|
7
6
|
import { getCompProps } from '../../utils/index.js'
|
|
7
|
+
import { useDefaults } from 'vuetify'
|
|
8
|
+
|
|
9
|
+
useDefaults({}, 'VjsfExpansionPanels')
|
|
8
10
|
|
|
9
11
|
defineProps({
|
|
10
12
|
modelValue: {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed } from 'vue'
|
|
3
3
|
import { VFileInput } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfFileInput')
|
|
22
|
+
|
|
20
23
|
const fieldProps = computed(() => {
|
|
21
24
|
const fieldProps = getInputProps(props.modelValue, props.statefulLayout, ['placeholder', 'accept'])
|
|
22
25
|
if (props.modelValue.layout.multiple) {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { watch, computed, ref } from 'vue'
|
|
3
|
-
import { useTheme } from 'vuetify'
|
|
3
|
+
import { useDefaults, useTheme } from 'vuetify'
|
|
4
4
|
import { VList, VListItem, VListItemAction, VBtn, VMenu, VIcon, VSheet, VSpacer, VDivider, VRow, VListSubheader } from 'vuetify/components'
|
|
5
5
|
import { isSection, clone } from '@json-layout/core'
|
|
6
6
|
import Node from '../node.vue'
|
|
7
7
|
import { moveArrayItem } from '../../utils/index.js'
|
|
8
8
|
import useDnd from '../../composables/use-dnd.js'
|
|
9
|
+
import useCompDefaults from '../../composables/use-comp-defaults.js'
|
|
10
|
+
|
|
11
|
+
useDefaults({}, 'VjsfList')
|
|
12
|
+
const vSheetProps = useCompDefaults('VjsfList-VSheet', { border: true })
|
|
9
13
|
|
|
10
14
|
const props = defineProps({
|
|
11
15
|
modelValue: {
|
|
@@ -92,11 +96,8 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
92
96
|
</script>
|
|
93
97
|
|
|
94
98
|
<template>
|
|
95
|
-
<v-sheet
|
|
96
|
-
|
|
97
|
-
rounded
|
|
98
|
-
>
|
|
99
|
-
<v-list :density="modelValue.options.density">
|
|
99
|
+
<v-sheet v-bind="vSheetProps">
|
|
100
|
+
<v-list>
|
|
100
101
|
<v-list-subheader v-if="modelValue.layout.title">
|
|
101
102
|
{{ modelValue.layout.title }}
|
|
102
103
|
</v-list-subheader>
|
|
@@ -106,7 +107,6 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
106
107
|
>
|
|
107
108
|
<v-list-item
|
|
108
109
|
v-bind="itemBind(childIndex)"
|
|
109
|
-
:density="modelValue.options.density"
|
|
110
110
|
:draggable="draggable === childIndex"
|
|
111
111
|
variant="flat"
|
|
112
112
|
:style="`border: 1px solid ${itemBorderColor(child, childIndex)}`"
|
|
@@ -183,7 +183,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
183
183
|
:density="buttonDensity"
|
|
184
184
|
/>
|
|
185
185
|
</template>
|
|
186
|
-
<v-list
|
|
186
|
+
<v-list>
|
|
187
187
|
<v-list-item
|
|
188
188
|
v-if="modelValue.layout.listActions.includes('delete')"
|
|
189
189
|
base-color="warning"
|
|
@@ -234,7 +234,6 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
234
234
|
<v-spacer />
|
|
235
235
|
<v-btn
|
|
236
236
|
color="primary"
|
|
237
|
-
:density="modelValue.options.density"
|
|
238
237
|
@click="pushEmptyItem"
|
|
239
238
|
>
|
|
240
239
|
{{ modelValue.messages.addItem }}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed, shallowRef, ref } from 'vue'
|
|
3
3
|
import { VCombobox } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfNumberCombobox')
|
|
22
|
+
|
|
20
23
|
/** @type import('vue').Ref<import('@json-layout/vocabulary').SelectItems> */
|
|
21
24
|
const items = shallowRef(props.modelValue.layout.items ?? [])
|
|
22
25
|
/** @type import('vue').Ref<boolean> */
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed } from 'vue'
|
|
3
3
|
import { VTextField } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfNumberField')
|
|
22
|
+
|
|
20
23
|
const fieldProps = computed(() => {
|
|
21
24
|
const fieldProps = getInputProps(props.modelValue, props.statefulLayout, ['step', 'min', 'max', 'placeholder'])
|
|
22
25
|
fieldProps.type = 'number'
|
|
@@ -5,6 +5,9 @@ import { isSection } from '@json-layout/core'
|
|
|
5
5
|
import { isCompObject } from '@json-layout/vocabulary'
|
|
6
6
|
import { getInputProps } from '../../utils/index.js'
|
|
7
7
|
import Node from '../node.vue'
|
|
8
|
+
import { useDefaults } from 'vuetify'
|
|
9
|
+
|
|
10
|
+
useDefaults({}, 'VjsfOneOfSelect')
|
|
8
11
|
|
|
9
12
|
const props = defineProps({
|
|
10
13
|
modelValue: {
|
|
@@ -3,6 +3,7 @@ import { VRadioGroup, VRadio, VSkeletonLoader } from 'vuetify/components'
|
|
|
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'
|
|
6
|
+
import { useDefaults } from 'vuetify'
|
|
6
7
|
|
|
7
8
|
export default defineComponent({
|
|
8
9
|
props: {
|
|
@@ -18,6 +19,8 @@ export default defineComponent({
|
|
|
18
19
|
}
|
|
19
20
|
},
|
|
20
21
|
setup (props) {
|
|
22
|
+
useDefaults({}, 'VjsfRadioGroup')
|
|
23
|
+
|
|
21
24
|
const getItems = useGetItems(props)
|
|
22
25
|
|
|
23
26
|
const fieldProps = computed(() => {
|
|
@@ -5,6 +5,7 @@ import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
|
5
5
|
import useGetItems from '../../composables/use-get-items.js'
|
|
6
6
|
import SelectItem from '../fragments/select-item.vue'
|
|
7
7
|
import SelectSelection from '../fragments/select-selection.vue'
|
|
8
|
+
import { useDefaults } from 'vuetify'
|
|
8
9
|
|
|
9
10
|
export default defineComponent({
|
|
10
11
|
props: {
|
|
@@ -20,6 +21,8 @@ export default defineComponent({
|
|
|
20
21
|
}
|
|
21
22
|
},
|
|
22
23
|
setup (props) {
|
|
24
|
+
useDefaults({}, 'VjsfSelect')
|
|
25
|
+
|
|
23
26
|
const getItems = useGetItems(props)
|
|
24
27
|
|
|
25
28
|
const fieldProps = computed(() => {
|
|
@@ -4,6 +4,9 @@ import { VStepper, VStepperHeader, VStepperItem, VStepperWindow, VStepperWindowI
|
|
|
4
4
|
import { isSection } from '@json-layout/core'
|
|
5
5
|
import Node from '../node.vue'
|
|
6
6
|
import SectionHeader from '../fragments/section-header.vue'
|
|
7
|
+
import { useDefaults } from 'vuetify'
|
|
8
|
+
|
|
9
|
+
useDefaults({}, 'VjsfStepper')
|
|
7
10
|
|
|
8
11
|
const props = defineProps({
|
|
9
12
|
modelValue: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
|
+
import { useDefaults } from 'vuetify'
|
|
2
3
|
import SelectionGroup from '../fragments/selection-group.vue'
|
|
3
4
|
import { defineComponent, h } from 'vue'
|
|
4
5
|
|
|
@@ -16,6 +17,8 @@ export default defineComponent({
|
|
|
16
17
|
}
|
|
17
18
|
},
|
|
18
19
|
setup (props) {
|
|
20
|
+
useDefaults({}, 'VjsfSwitchGroup')
|
|
21
|
+
|
|
19
22
|
// @ts-ignore
|
|
20
23
|
return () => {
|
|
21
24
|
return h(SelectionGroup, {
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VTabs, VTab, VContainer, VSheet, VWindow, VWindowItem, VRow, VIcon } from 'vuetify/components'
|
|
3
|
+
import { useDefaults } from 'vuetify'
|
|
3
4
|
import { ref } from 'vue'
|
|
4
5
|
import { isSection } from '@json-layout/core'
|
|
5
6
|
import Node from '../node.vue'
|
|
6
7
|
import SectionHeader from '../fragments/section-header.vue'
|
|
8
|
+
import useCompDefaults from '../../composables/use-comp-defaults.js'
|
|
9
|
+
|
|
10
|
+
useDefaults({}, 'VjsfTabs')
|
|
11
|
+
const vSheetProps = useCompDefaults('VjsfTabs-VSheet', { border: true })
|
|
7
12
|
|
|
8
13
|
defineProps({
|
|
9
14
|
modelValue: {
|
|
@@ -23,13 +28,15 @@ const tab = ref(0)
|
|
|
23
28
|
|
|
24
29
|
<template>
|
|
25
30
|
<section-header :node="modelValue" />
|
|
26
|
-
<v-sheet
|
|
27
|
-
<v-tabs
|
|
31
|
+
<v-sheet v-bind="vSheetProps">
|
|
32
|
+
<v-tabs
|
|
33
|
+
v-model="tab"
|
|
34
|
+
direction="horizontal"
|
|
35
|
+
>
|
|
28
36
|
<v-tab
|
|
29
37
|
v-for="(child, i) of modelValue.children"
|
|
30
38
|
:key="child.key"
|
|
31
39
|
:value="i"
|
|
32
|
-
:density="modelValue.options.density"
|
|
33
40
|
:color="child.validated && (child.error || child.childError) ? 'error' : undefined"
|
|
34
41
|
>
|
|
35
42
|
<v-icon
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed } from 'vue'
|
|
3
3
|
import { VTextField } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfTextField')
|
|
22
|
+
|
|
20
23
|
const fieldProps = computed(() => getInputProps(props.modelValue, props.statefulLayout, ['placeholder']))
|
|
21
24
|
const fieldSlots = computed(() => getCompSlots(props.modelValue, props.statefulLayout))
|
|
22
25
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { defineComponent, h, computed, ref, watch } from 'vue'
|
|
3
3
|
import { VTextarea } from 'vuetify/components'
|
|
4
4
|
import { getInputProps, getCompSlots } from '../../utils/index.js'
|
|
5
|
+
import { useDefaults } from 'vuetify'
|
|
5
6
|
|
|
6
7
|
export default defineComponent({
|
|
7
8
|
props: {
|
|
@@ -17,6 +18,8 @@ export default defineComponent({
|
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
20
|
setup (props) {
|
|
21
|
+
useDefaults({}, 'VjsfTextArea')
|
|
22
|
+
|
|
20
23
|
/** @type {import('vue').Ref<null | HTMLElement>} */
|
|
21
24
|
const textarea = ref(null)
|
|
22
25
|
|
|
@@ -4,6 +4,11 @@ import { VTabs, VTab, VContainer, VSheet, VWindow, VWindowItem, VRow, VIcon } fr
|
|
|
4
4
|
import { ref } from 'vue'
|
|
5
5
|
import Node from '../node.vue'
|
|
6
6
|
import SectionHeader from '../fragments/section-header.vue'
|
|
7
|
+
import { useDefaults } from 'vuetify'
|
|
8
|
+
import useCompDefaults from '../../composables/use-comp-defaults.js'
|
|
9
|
+
|
|
10
|
+
useDefaults({}, 'VjsfVerticalTabs')
|
|
11
|
+
const vSheetProps = useCompDefaults('VjsfVerticalTabs-VSheet', { border: true })
|
|
7
12
|
|
|
8
13
|
defineProps({
|
|
9
14
|
modelValue: {
|
|
@@ -23,7 +28,7 @@ const tab = ref(0)
|
|
|
23
28
|
|
|
24
29
|
<template>
|
|
25
30
|
<section-header :node="modelValue" />
|
|
26
|
-
<v-sheet
|
|
31
|
+
<v-sheet v-bind="vSheetProps">
|
|
27
32
|
<div class="d-flex flex-row">
|
|
28
33
|
<v-tabs
|
|
29
34
|
v-model="tab"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { inject, computed } from 'vue'
|
|
2
|
+
|
|
3
|
+
// inspired by https://github.com/vuetifyjs/vuetify/blob/27b4b1e52060b6bee13a290a4829f935f1bd9c05/packages/vuetify/src/composables/defaults.ts#L92
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param {string} name
|
|
7
|
+
* @param {Record<string, any> | null} [localDefaults]
|
|
8
|
+
* @returns {import('vue').ComputedRef<Record<string, any>>}
|
|
9
|
+
*/
|
|
10
|
+
export default function useCompDefaultProps (name, localDefaults = null) {
|
|
11
|
+
/** @type {import('vue').Ref<import('vuetify').DefaultsInstance> | undefined} */
|
|
12
|
+
const defaults = inject(Symbol.for('vuetify:defaults'))
|
|
13
|
+
if (!defaults) throw new Error('[vjsf] Could not find defaults instance')
|
|
14
|
+
return computed(() => {
|
|
15
|
+
const componentDefaults = defaults.value?.[name] ?? {}
|
|
16
|
+
if (!localDefaults) return componentDefaults
|
|
17
|
+
return { ...componentDefaults, ...localDefaults }
|
|
18
|
+
})
|
|
19
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -40,11 +40,11 @@ export type Plugin = {
|
|
|
40
40
|
|
|
41
41
|
// these options used to contain many possibilities to override props in various components
|
|
42
42
|
// this was unmaintainable and has been removed, customization of components should be done via slots
|
|
43
|
-
// and
|
|
43
|
+
// and defaults providers
|
|
44
44
|
export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
|
|
45
45
|
vjsfSlots: Record<string, () => unknown>,
|
|
46
46
|
nodeComponents: Record<string, Component>,
|
|
47
|
-
plugins: Plugin[]
|
|
47
|
+
plugins: Plugin[],
|
|
48
48
|
pluginsOptions: Record<string, unknown>
|
|
49
49
|
}
|
|
50
50
|
|
package/src/utils/props.js
CHANGED
|
@@ -6,12 +6,8 @@ import { camelize } from 'vue'
|
|
|
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
8
|
fieldPropsCompact: {
|
|
9
|
-
density: 'compact',
|
|
10
9
|
hideDetails: 'auto'
|
|
11
10
|
},
|
|
12
|
-
fieldPropsComfortable: {
|
|
13
|
-
density: 'comfortable'
|
|
14
|
-
},
|
|
15
11
|
fieldPropsReadOnly: { hideDetails: 'auto', variant: 'plain' },
|
|
16
12
|
fieldPropsSummary: { hideDetails: true }
|
|
17
13
|
}
|
|
@@ -54,7 +50,6 @@ export function getInputProps (node, statefulLayout, layoutPropsMap, isMainComp
|
|
|
54
50
|
const options = node.options
|
|
55
51
|
/** @type {(Record<string, any> | undefined)[]} */
|
|
56
52
|
const propsLevels = []
|
|
57
|
-
if (options.density === 'comfortable') propsLevels.push(defaultProps.fieldPropsComfortable)
|
|
58
53
|
if (options.density === 'compact') propsLevels.push(defaultProps.fieldPropsCompact)
|
|
59
54
|
if (node.options.readOnly) propsLevels.push(defaultProps.fieldPropsReadOnly)
|
|
60
55
|
if (isMainComp && node.props) propsLevels.push(node.props)
|
package/types/compat/v2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../../src/compat/v2.js"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/autocomplete.vue.js"],"names":[],"mappings":";;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/checkbox-group.vue.js"],"names":[],"mappings":";;
|
|
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":";;
|
|
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":";;
|
|
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":";;
|
|
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":";;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/radio-group.vue.js"],"names":[],"mappings":";;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/select.vue.js"],"names":[],"mappings":";;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-group.vue.d.ts","sourceRoot":"","sources":["../../../src/components/nodes/switch-group.vue.js"],"names":[],"mappings":";;
|
|
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":";;
|
|
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":";;
|
|
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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {string} name
|
|
4
|
+
* @param {Record<string, any> | null} [localDefaults]
|
|
5
|
+
* @returns {import('vue').ComputedRef<Record<string, any>>}
|
|
6
|
+
*/
|
|
7
|
+
export default function useCompDefaultProps(name: string, localDefaults?: Record<string, any> | null | undefined): import('vue').ComputedRef<Record<string, any>>;
|
|
8
|
+
//# sourceMappingURL=use-comp-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-comp-defaults.d.ts","sourceRoot":"","sources":["../../src/composables/use-comp-defaults.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,kDAJW,MAAM,2DAEJ,OAAO,KAAK,EAAE,WAAW,CAAC,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,CAW1D"}
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,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,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;AAE3D,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AAKD,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,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/utils/props.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/utils/props.js"],"names":[],"mappings":"AAcA;;;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,CAwC/B;AAGD;;;;GAIG;AACH,mCAJW,OAAO,mBAAmB,EAAE,SAAS,eACrC,OAAO,GACL,OAAO,MAAM,EAAE,GAAG,CAAC,CAS/B"}
|