@koumoul/vjsf 3.0.0-beta.47 → 3.0.0-beta.48
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 +9 -3
- package/src/compile/index.js +2 -1
- package/src/compile/options.js +4 -5
- package/src/components/fragments/help-message.vue +1 -1
- package/src/components/nodes/date-time-picker.vue +2 -2
- package/src/components/nodes/expansion-panels.vue +2 -3
- package/src/components/nodes/list.vue +11 -12
- package/src/components/nodes/tabs.vue +2 -3
- package/src/components/nodes/vertical-tabs.vue +4 -5
- package/src/composables/use-vjsf.js +1 -1
- package/src/iconsets/default-aliases.js +10 -0
- package/src/iconsets/mdi-svg.js +16 -0
- package/src/iconsets/mdi.js +13 -0
- package/src/index.js +1 -1
- package/src/{components/options.js → options.js} +7 -4
- package/src/types.ts +51 -34
- package/types/compile/index.d.ts.map +1 -1
- package/types/compile/options.d.ts +3 -2
- package/types/compile/options.d.ts.map +1 -1
- package/types/components/options.d.ts.map +1 -1
- package/types/components/vjsf.vue.d.ts +2 -2
- package/types/composables/use-node.d.ts +1 -1
- package/types/iconsets/default-aliases.d.ts +10 -0
- package/types/iconsets/default-aliases.d.ts.map +1 -0
- package/types/iconsets/mdi-svg.d.ts +3 -0
- package/types/iconsets/mdi-svg.d.ts.map +1 -0
- package/types/iconsets/mdi.d.ts +3 -0
- package/types/iconsets/mdi.d.ts.map +1 -0
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/options.d.ts +9 -0
- package/types/options.d.ts.map +1 -0
- package/types/types.d.ts +49 -32
- package/types/types.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koumoul/vjsf",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.48",
|
|
4
4
|
"description": "Generate forms for the vuetify UI library (vuejs) based on annotated JSON schemas.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "vitest",
|
|
7
7
|
"build": "vue-tsc",
|
|
8
8
|
"watch:build": "vue-tsc --watch",
|
|
9
|
-
"prepublishOnly": "cp ../README.md README.md && cp ../LICENSE LICENSE"
|
|
9
|
+
"prepublishOnly": "npm run build && cp ../README.md README.md && cp ../LICENSE LICENSE"
|
|
10
10
|
},
|
|
11
11
|
"author": "Alban Mouton <alban.mouton@gmail.com>",
|
|
12
12
|
"license": "MIT",
|
|
@@ -47,6 +47,12 @@
|
|
|
47
47
|
"default": "./src/composables/*.js"
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
+
"./iconsets/*.js": {
|
|
51
|
+
"import": {
|
|
52
|
+
"types": "./types/iconsets/*.d.ts",
|
|
53
|
+
"default": "./src/iconsets/*.js"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
50
56
|
"./styles/*": {
|
|
51
57
|
"import": {
|
|
52
58
|
"default": "./src/styles/*"
|
|
@@ -70,7 +76,7 @@
|
|
|
70
76
|
"vuetify": "^3.6.13"
|
|
71
77
|
},
|
|
72
78
|
"dependencies": {
|
|
73
|
-
"@json-layout/core": "0.33.
|
|
79
|
+
"@json-layout/core": "0.33.1",
|
|
74
80
|
"@vueuse/core": "^10.5.0",
|
|
75
81
|
"debug": "^4.3.4",
|
|
76
82
|
"ejs": "^3.1.9"
|
package/src/compile/index.js
CHANGED
|
@@ -45,6 +45,7 @@ export async function compile (schema, options = {}, baseImport = '@koumoul/vjsf
|
|
|
45
45
|
const pluginsImportsByName = {}
|
|
46
46
|
for (const pluginImport of fullOptions.pluginsImports) {
|
|
47
47
|
const componentInfo = /** @type {import('@json-layout/vocabulary').ComponentInfo} */((await import(pluginImport + '/info.js')).default)
|
|
48
|
+
fullOptions.components = fullOptions.components ?? {}
|
|
48
49
|
fullOptions.components[componentInfo.name] = componentInfo
|
|
49
50
|
pluginsImportsByName[componentInfo.name] = pluginImport
|
|
50
51
|
}
|
|
@@ -65,7 +66,7 @@ export async function compile (schema, options = {}, baseImport = '@koumoul/vjsf
|
|
|
65
66
|
let compImport = `${baseImport}/components/nodes/${comp}.vue`
|
|
66
67
|
if (pluginsImportsByName[comp]) {
|
|
67
68
|
compImport = `${pluginsImportsByName[comp]}/node.vue`
|
|
68
|
-
pluginsComponents[comp] = fullOptions.components[comp]
|
|
69
|
+
pluginsComponents[comp] = fullOptions.components?.[comp]
|
|
69
70
|
}
|
|
70
71
|
return {
|
|
71
72
|
comp,
|
package/src/compile/options.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
/** @type import("../types.js").PartialVjsfCompileOptions */
|
|
2
1
|
export const defaultOptions = {
|
|
3
|
-
pluginsImports: ['@koumoul/vjsf-markdown']
|
|
4
|
-
components: {}
|
|
2
|
+
pluginsImports: ['@koumoul/vjsf-markdown']
|
|
5
3
|
}
|
|
6
4
|
|
|
7
5
|
/**
|
|
@@ -10,6 +8,7 @@ export const defaultOptions = {
|
|
|
10
8
|
* @returns
|
|
11
9
|
*/
|
|
12
10
|
export const getFullOptions = (options) => {
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
/** @type {import('../types.js').VjsfCompileOptions} */
|
|
12
|
+
const fullOptions = { ...defaultOptions, ...options }
|
|
13
|
+
return fullOptions
|
|
15
14
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<v-btn
|
|
12
12
|
color="info"
|
|
13
13
|
:class="`vjsf-help-message-toggle vjsf-help-message-toggle-${node.options.density}`"
|
|
14
|
-
:icon="show ?
|
|
14
|
+
:icon="show ? node.options.iconset.close : node.options.iconset.infoSymbol"
|
|
15
15
|
:border="0"
|
|
16
16
|
:elevation="show ? 0 : 2"
|
|
17
17
|
density="compact"
|
|
@@ -78,13 +78,13 @@ const timePickerProps = computed(() => {
|
|
|
78
78
|
align-tabs="center"
|
|
79
79
|
>
|
|
80
80
|
<v-tab value="date">
|
|
81
|
-
<v-icon
|
|
81
|
+
<v-icon :icon="statefulLayout.options.iconset.calendar" />
|
|
82
82
|
</v-tab>
|
|
83
83
|
<v-tab
|
|
84
84
|
value="time"
|
|
85
85
|
:disabled="!modelValue.data"
|
|
86
86
|
>
|
|
87
|
-
<v-icon
|
|
87
|
+
<v-icon :icon="statefulLayout.options.iconset.clock" />
|
|
88
88
|
</v-tab>
|
|
89
89
|
</v-tabs>
|
|
90
90
|
<v-tabs-window v-model="tab">
|
|
@@ -42,9 +42,8 @@ const { compProps } = useNode(toRef(props, 'modelValue'), props.statefulLayout)
|
|
|
42
42
|
v-if="child.validated && (child.error || child.childError)"
|
|
43
43
|
color="error"
|
|
44
44
|
class="mr-2"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
</v-icon>
|
|
45
|
+
:icon="statefulLayout.options.iconset.alert"
|
|
46
|
+
/>
|
|
48
47
|
{{ child.layout.title ?? child.layout.label }}
|
|
49
48
|
</v-expansion-panel-title>
|
|
50
49
|
<v-expansion-panel-text>
|
|
@@ -182,7 +182,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
182
182
|
style="visibility:hidden"
|
|
183
183
|
variant="text"
|
|
184
184
|
:density="buttonDensity"
|
|
185
|
-
icon="
|
|
185
|
+
:icon="statefulLayout.options.iconset.edit"
|
|
186
186
|
/>
|
|
187
187
|
</v-list-item-action>
|
|
188
188
|
<template v-else>
|
|
@@ -192,7 +192,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
192
192
|
<v-btn
|
|
193
193
|
v-if="editedItem !== childIndex"
|
|
194
194
|
:title="modelValue.messages.edit"
|
|
195
|
-
icon="
|
|
195
|
+
:icon="statefulLayout.options.iconset.edit"
|
|
196
196
|
variant="text"
|
|
197
197
|
color="primary"
|
|
198
198
|
:density="buttonDensity"
|
|
@@ -201,7 +201,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
201
201
|
<v-btn
|
|
202
202
|
v-else
|
|
203
203
|
:title="modelValue.messages.close"
|
|
204
|
-
icon="
|
|
204
|
+
:icon="statefulLayout.options.iconset.edit"
|
|
205
205
|
variant="flat"
|
|
206
206
|
color="primary"
|
|
207
207
|
:density="buttonDensity"
|
|
@@ -213,7 +213,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
213
213
|
>
|
|
214
214
|
<v-btn
|
|
215
215
|
:title="modelValue.messages.sort"
|
|
216
|
-
icon="
|
|
216
|
+
:icon="statefulLayout.options.iconset.sort"
|
|
217
217
|
variant="plain"
|
|
218
218
|
:density="buttonDensity"
|
|
219
219
|
v-bind="handleBind(childIndex)"
|
|
@@ -229,7 +229,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
229
229
|
<template #activator="{props: activatorProps}">
|
|
230
230
|
<v-btn
|
|
231
231
|
v-bind="activatorProps"
|
|
232
|
-
icon="
|
|
232
|
+
:icon="statefulLayout.options.iconset.menu"
|
|
233
233
|
variant="plain"
|
|
234
234
|
slim
|
|
235
235
|
:density="buttonDensity"
|
|
@@ -242,7 +242,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
242
242
|
@click="deleteItem(childIndex)"
|
|
243
243
|
>
|
|
244
244
|
<template #prepend>
|
|
245
|
-
<v-icon icon="
|
|
245
|
+
<v-icon :icon="statefulLayout.options.iconset.delete" />
|
|
246
246
|
</template>
|
|
247
247
|
{{ modelValue.messages.delete }}
|
|
248
248
|
</v-list-item>
|
|
@@ -251,7 +251,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
251
251
|
@click="duplicateItem(child, childIndex)"
|
|
252
252
|
>
|
|
253
253
|
<template #prepend>
|
|
254
|
-
<v-icon icon="
|
|
254
|
+
<v-icon :icon="statefulLayout.options.iconset.duplicate" />
|
|
255
255
|
</template>
|
|
256
256
|
{{ modelValue.messages.duplicate }}
|
|
257
257
|
</v-list-item>
|
|
@@ -260,7 +260,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
260
260
|
@click="statefulLayout.input(modelValue, moveDataItem(modelValue.data, childIndex, childIndex - 1))"
|
|
261
261
|
>
|
|
262
262
|
<template #prepend>
|
|
263
|
-
<v-icon icon="
|
|
263
|
+
<v-icon :icon="statefulLayout.options.iconset.sortUp" />
|
|
264
264
|
</template>
|
|
265
265
|
{{ modelValue.messages.up }}
|
|
266
266
|
</v-list-item>
|
|
@@ -269,7 +269,7 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
269
269
|
@click="statefulLayout.input(modelValue, moveDataItem(modelValue.data, childIndex, childIndex + 1))"
|
|
270
270
|
>
|
|
271
271
|
<template #prepend>
|
|
272
|
-
<v-icon icon="
|
|
272
|
+
<v-icon :icon="statefulLayout.options.iconset.sortDown" />
|
|
273
273
|
</template>
|
|
274
274
|
{{ modelValue.messages.down }}
|
|
275
275
|
</v-list-item>
|
|
@@ -304,10 +304,9 @@ const itemBorderColor = computed(() => (/** @type {import('@json-layout/core').S
|
|
|
304
304
|
<v-icon
|
|
305
305
|
color="primary"
|
|
306
306
|
size="large"
|
|
307
|
+
:icon="statefulLayout.options.iconset.add"
|
|
307
308
|
@click="pushEmptyIndexedItem"
|
|
308
|
-
|
|
309
|
-
mdi-plus
|
|
310
|
-
</v-icon>
|
|
309
|
+
/>
|
|
311
310
|
</template>
|
|
312
311
|
</v-text-field>
|
|
313
312
|
</v-form>
|
|
@@ -47,9 +47,8 @@ const tab = ref(0)
|
|
|
47
47
|
<v-icon
|
|
48
48
|
v-if="child.validated && (child.error || child.childError)"
|
|
49
49
|
color="error"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
</v-icon>
|
|
50
|
+
:icon="statefulLayout.options.iconset.alert"
|
|
51
|
+
/>
|
|
53
52
|
{{ child.layout.title ?? child.layout.label }}
|
|
54
53
|
</v-tab>
|
|
55
54
|
</v-tabs>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { isSection } from '@json-layout/core'
|
|
3
|
-
import { VTabs, VTab} from 'vuetify/components/VTabs'
|
|
3
|
+
import { VTabs, VTab } from 'vuetify/components/VTabs'
|
|
4
4
|
import { VContainer, VRow } from 'vuetify/components/VGrid'
|
|
5
5
|
import { VIcon } from 'vuetify/components/VIcon'
|
|
6
6
|
import { VSheet } from 'vuetify/components/VSheet'
|
|
7
|
-
import { VWindow, VWindowItem
|
|
7
|
+
import { VWindow, VWindowItem } from 'vuetify/components/VWindow'
|
|
8
8
|
import { ref } from 'vue'
|
|
9
9
|
import Node from '../node.vue'
|
|
10
10
|
import SectionHeader from '../fragments/section-header.vue'
|
|
@@ -48,9 +48,8 @@ const tab = ref(0)
|
|
|
48
48
|
<v-icon
|
|
49
49
|
v-if="child.validated && (child.error || child.childError)"
|
|
50
50
|
color="error"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</v-icon>
|
|
51
|
+
:icon="statefulLayout.options.iconset.alert"
|
|
52
|
+
/>
|
|
54
53
|
{{ child.layout.title ?? child.layout.label }}
|
|
55
54
|
</v-tab>
|
|
56
55
|
</v-tabs>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StatefulLayout, produceCompileOptions } from '@json-layout/core'
|
|
2
2
|
import { inject, toRaw, shallowRef, computed, ref, watch, useSlots, getCurrentInstance } from 'vue'
|
|
3
3
|
import { useElementSize } from '@vueuse/core'
|
|
4
|
-
import { getFullOptions } from '../
|
|
4
|
+
import { getFullOptions } from '../options.js'
|
|
5
5
|
import { setAutoFreeze } from 'immer'
|
|
6
6
|
import Debug from 'debug'
|
|
7
7
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// similar to this https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/iconsets/mdi-svg.ts
|
|
2
|
+
// codes are copied from here https://raw.githubusercontent.com/Templarian/MaterialDesign-JS/refs/heads/master/mdi.js
|
|
3
|
+
|
|
4
|
+
import defaultAliases from './default-aliases.js'
|
|
5
|
+
|
|
6
|
+
/** @type {import('../types.js').VjsfIconSet} */
|
|
7
|
+
export default {
|
|
8
|
+
...defaultAliases,
|
|
9
|
+
alert: 'svg:M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z',
|
|
10
|
+
clock: 'svg:M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z',
|
|
11
|
+
delete: 'svg:M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z',
|
|
12
|
+
duplicate: 'svg:M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z',
|
|
13
|
+
infoSymbol: 'svg:M11 9H13V7H11V9M11 17H13V11H11V17Z',
|
|
14
|
+
menu: 'svg:M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z',
|
|
15
|
+
sort: 'svg:M17.45,17.55L12,23L6.55,17.55L7.96,16.14L11,19.17V4.83L7.96,7.86L6.55,6.45L12,1L17.45,6.45L16.04,7.86L13,4.83V19.17L16.04,16.14L17.45,17.55Z'
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import defaultAliases from './default-aliases.js'
|
|
2
|
+
|
|
3
|
+
/** @type {import('../types.js').VjsfIconSet} */
|
|
4
|
+
export default {
|
|
5
|
+
...defaultAliases,
|
|
6
|
+
alert: 'mdi-alert',
|
|
7
|
+
clock: 'mdi-clock',
|
|
8
|
+
delete: 'mdi-delete',
|
|
9
|
+
duplicate: 'mdi-content-duplicate',
|
|
10
|
+
infoSymbol: 'mdi-information-symbol',
|
|
11
|
+
menu: 'mdi-dots-vertical',
|
|
12
|
+
sort: 'mdi-arrow-up-down'
|
|
13
|
+
}
|
package/src/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import mdiIconset from './iconsets/mdi.js'
|
|
2
|
+
|
|
2
3
|
export const defaultOptions = {
|
|
3
4
|
nodeComponents: {},
|
|
4
5
|
plugins: [],
|
|
5
|
-
pluginsOptions: {}
|
|
6
|
+
pluginsOptions: {},
|
|
7
|
+
iconset: mdiIconset
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
*
|
|
10
|
-
* @param {Partial<import("
|
|
12
|
+
* @param {Partial<import("./types.js").VjsfOptions> | null} options
|
|
11
13
|
* @param {any} form
|
|
12
14
|
* @param {number} width
|
|
13
15
|
* @param {import("vue").Slots} slots
|
|
@@ -27,6 +29,7 @@ export const getFullOptions = (options, form, width, slots, defaultNodeComponent
|
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
|
|
32
|
+
/** @type {import('./types.js').VjsfOptions} */
|
|
30
33
|
const fullOptions = {
|
|
31
34
|
...defaultOptions,
|
|
32
35
|
readOnly: !!(form && (form.isDisabled.value || form.isReadonly.value)),
|
|
@@ -40,5 +43,5 @@ export const getFullOptions = (options, form, width, slots, defaultNodeComponent
|
|
|
40
43
|
components,
|
|
41
44
|
nodeComponents
|
|
42
45
|
}
|
|
43
|
-
return
|
|
46
|
+
return fullOptions
|
|
44
47
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Component } from 'vue'
|
|
1
|
+
import type { Component, Slots } from 'vue'
|
|
2
2
|
|
|
3
|
-
import { ComponentInfo } from '@json-layout/vocabulary'
|
|
3
|
+
import type { ComponentInfo } from '@json-layout/vocabulary'
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
StatefulLayout,
|
|
@@ -39,48 +39,65 @@ export type Plugin = {
|
|
|
39
39
|
nodeComponent: Component
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
export type VjsfIconSet = {
|
|
43
|
+
add: string
|
|
44
|
+
alert: string
|
|
45
|
+
calendar: string
|
|
46
|
+
clock: string
|
|
47
|
+
close: string
|
|
48
|
+
delete: string
|
|
49
|
+
duplicate: string
|
|
50
|
+
edit: string
|
|
51
|
+
infoSymbol: string
|
|
52
|
+
menu: string
|
|
53
|
+
sort: string
|
|
54
|
+
sortUp: string
|
|
55
|
+
sortDown: string
|
|
56
|
+
}
|
|
57
|
+
|
|
42
58
|
// these options used to contain many possibilities to override props in various components
|
|
43
59
|
// this was unmaintainable and has been removed, customization of components should be done via slots
|
|
44
60
|
// and defaults providers
|
|
45
|
-
export type VjsfStatefulLayoutOptions = StatefulLayoutOptions & {
|
|
46
|
-
vjsfSlots:
|
|
61
|
+
export type VjsfStatefulLayoutOptions = Partial<StatefulLayoutOptions> & {
|
|
62
|
+
vjsfSlots: Slots,
|
|
47
63
|
nodeComponents: Record<string, Component>,
|
|
48
64
|
plugins: Plugin[],
|
|
49
|
-
pluginsOptions: Record<string, unknown
|
|
65
|
+
pluginsOptions: Record<string, unknown>,
|
|
66
|
+
iconset: VjsfIconSet
|
|
50
67
|
}
|
|
51
68
|
|
|
52
|
-
export type VjsfCompileOptions = CompileOptions & {
|
|
69
|
+
export type VjsfCompileOptions = Partial<CompileOptions> & {
|
|
53
70
|
pluginsImports: string[]
|
|
54
71
|
}
|
|
72
|
+
export type PartialVjsfCompileOptions = Partial<VjsfCompileOptions>
|
|
55
73
|
|
|
56
|
-
export type VjsfOptions =
|
|
74
|
+
export type VjsfOptions = PartialVjsfCompileOptions & VjsfStatefulLayoutOptions
|
|
75
|
+
export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width' | 'vjsfSlots' | 'onData' | 'onUpdate' | 'onAutofocus'>>
|
|
76
|
+
export type FullVjsfNodeOptions = Required<VjsfOptions>
|
|
57
77
|
|
|
58
78
|
export type VjsfStatefulLayout = Omit<StatefulLayout, 'options'> & {options: VjsfStatefulLayoutOptions}
|
|
59
79
|
|
|
60
|
-
export type
|
|
61
|
-
export type
|
|
62
|
-
|
|
63
|
-
export type
|
|
64
|
-
export type
|
|
65
|
-
export type
|
|
66
|
-
export type
|
|
67
|
-
export type
|
|
68
|
-
export type
|
|
69
|
-
export type
|
|
70
|
-
export type
|
|
71
|
-
export type
|
|
72
|
-
export type
|
|
73
|
-
export type
|
|
74
|
-
export type
|
|
75
|
-
export type
|
|
76
|
-
export type
|
|
77
|
-
export type
|
|
78
|
-
export type
|
|
79
|
-
export type
|
|
80
|
-
export type
|
|
81
|
-
export type
|
|
82
|
-
export type
|
|
83
|
-
export type
|
|
84
|
-
export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {options: VjsfOptions}
|
|
85
|
-
export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {options: VjsfOptions}
|
|
86
|
-
export type VjsfCardNode = Omit<CardNode, 'options'> & {options: VjsfOptions}
|
|
80
|
+
export type VjsfNode = Omit<StateNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
81
|
+
export type VjsfTabsNode = Omit<TabsNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
82
|
+
export type VjsfCheckboxNode = Omit<CheckboxNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
83
|
+
export type VjsfColorPickerNode = Omit<ColorPickerNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
84
|
+
export type VjsfDatePickerNode = Omit<DatePickerNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
85
|
+
export type VjsfDateTimePickerNode = Omit<DateTimePickerNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
86
|
+
export type VjsfExpansionPanelsNode = Omit<ExpansionPanelsNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
87
|
+
export type VjsfListNode = Omit<ListNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
88
|
+
export type VjsfNumberFieldNode = Omit<NumberFieldNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
89
|
+
export type VjsfOneOfSelectNode = Omit<OneOfSelectNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
90
|
+
export type VjsfSectionNode = Omit<SectionNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
91
|
+
export type VjsfSelectNode = Omit<SelectNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
92
|
+
export type VjsfRadioGroupNode = Omit<RadioGroupNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
93
|
+
export type VjsfCheckboxGroupNode = Omit<CheckboxGroupNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
94
|
+
export type VjsfSwitchGroupNode = Omit<SwitchGroupNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
95
|
+
export type VjsfSliderNode = Omit<SliderNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
96
|
+
export type VjsfSwitchNode = Omit<SwitchNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
97
|
+
export type VjsfTextFieldNode = Omit<TextFieldNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
98
|
+
export type VjsfTextareaNode = Omit<TextareaNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
99
|
+
export type VjsfVerticalTabsNode = Omit<VerticalTabsNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
100
|
+
export type VjsfStepperNode = Omit<StepperNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
101
|
+
export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
102
|
+
export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
103
|
+
export type VjsfCardNode = Omit<CardNode, 'options'> & {options: FullVjsfNodeOptions}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,gCALW,MAAM,6GAGJ,QAAQ,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,gCALW,MAAM,6GAGJ,QAAQ,MAAM,CAAC,CAwC3B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export namespace defaultOptions {
|
|
2
|
+
let pluginsImports: string[];
|
|
3
|
+
}
|
|
3
4
|
export function getFullOptions(options: import("../types.js").PartialVjsfCompileOptions): import("../types.js").VjsfCompileOptions;
|
|
4
5
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compile/options.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compile/options.js"],"names":[],"mappings":";;;AASO,wCAHI,OAAO,aAAa,EAAE,yBAAyB,4CAOzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/components/options.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/components/options.js"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,6BADW,OAAO,aAAa,EAAE,kBAAkB,CAMlD;AAcM,wCAVI,QAAQ,OAAO,aAAa,EAAE,WAAW,CAAC,GAAG,IAAI,QACjD,GAAG,SACH,MAAM,SACN,OAAO,KAAK,EAAE,KAAK,yBACnB,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,iBAChC,GAAG,KAAK,IAAI,6BACF,OAAO,mBAAmB,EAAE,cAAc,KAAK,IAAI,qBAC9D,MAAM,KAAK,IAAI,qCA4B/B"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<any, {
|
|
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, "
|
|
3
|
+
options: Partial<Omit<import("../types.js").VjsfOptions, "onData" | "onUpdate" | "onAutofocus" | "width" | "vjsfSlots">> | 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, "
|
|
8
|
+
readonly options?: Partial<Omit<import("../types.js").VjsfOptions, "onData" | "onUpdate" | "onAutofocus" | "width" | "vjsfSlots">> | 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;
|
|
@@ -23,7 +23,7 @@ export default function _default(nodeRef: import('vue').Ref<import('../types.js'
|
|
|
23
23
|
class: string[];
|
|
24
24
|
}>;
|
|
25
25
|
compSlots: import("vue").ComputedRef<Record<string, any>>;
|
|
26
|
-
options: import("vue").ComputedRef<import("../types.js").VjsfOptions
|
|
26
|
+
options: import("vue").ComputedRef<Required<import("../types.js").VjsfOptions>>;
|
|
27
27
|
skeleton: import("vue").ComputedRef<import("../../../node_modules/@json-layout/core/types/compile/types.js").SkeletonNode>;
|
|
28
28
|
layout: import("vue").ComputedRef<import("../../../node_modules/@json-layout/vocabulary/types/normalized-layout/types.js").BaseCompObject>;
|
|
29
29
|
data: import("vue").ComputedRef<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-aliases.d.ts","sourceRoot":"","sources":["../../src/iconsets/default-aliases.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdi-svg.d.ts","sourceRoot":"","sources":["../../src/iconsets/mdi-svg.js"],"names":[],"mappings":"wBAKW,OAAO,aAAa,EAAE,WAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdi.d.ts","sourceRoot":"","sources":["../../src/iconsets/mdi.js"],"names":[],"mappings":"wBAEW,OAAO,aAAa,EAAE,WAAW"}
|
package/types/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export default Vjsf;
|
|
|
2
2
|
export type Options = import('./types.js').PartialVjsfOptions;
|
|
3
3
|
export type CompileOptions = import('./types.js').PartialVjsfCompileOptions;
|
|
4
4
|
import Vjsf from './components/vjsf.vue';
|
|
5
|
-
import { defaultOptions } from './
|
|
5
|
+
import { defaultOptions } from './options.js';
|
|
6
6
|
export { Vjsf, defaultOptions };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";sBAKc,OAAO,YAAY,EAAE,kBAAkB;6BACvC,OAAO,YAAY,EAAE,yBAAyB;iBAN3C,uBAAuB;+BACT,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";sBAKc,OAAO,YAAY,EAAE,kBAAkB;6BACvC,OAAO,YAAY,EAAE,yBAAyB;iBAN3C,uBAAuB;+BACT,cAAc"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export namespace defaultOptions {
|
|
2
|
+
export let nodeComponents: {};
|
|
3
|
+
export let plugins: never[];
|
|
4
|
+
export let pluginsOptions: {};
|
|
5
|
+
export { mdiIconset as iconset };
|
|
6
|
+
}
|
|
7
|
+
export function getFullOptions(options: Partial<import("./types.js").VjsfOptions> | null, form: any, width: number, slots: import("vue").Slots, defaultNodeComponents: Record<string, import('vue').Component>, onData: (data: any) => void, onUpdate: (statefulLayout: import('@json-layout/core').StatefulLayout) => void, onAutofocus: (key: string) => void): import("./types.js").VjsfOptions;
|
|
8
|
+
import mdiIconset from './iconsets/mdi.js';
|
|
9
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.js"],"names":[],"mappings":";;;;;;AAqBO,wCAVI,QAAQ,OAAO,YAAY,EAAE,WAAW,CAAC,GAAG,IAAI,QAChD,GAAG,SACH,MAAM,SACN,OAAO,KAAK,EAAE,KAAK,yBACnB,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,CAAC,iBAChC,GAAG,KAAK,IAAI,6BACF,OAAO,mBAAmB,EAAE,cAAc,KAAK,IAAI,qBAC9D,MAAM,KAAK,IAAI,oCA4B/B;uBA9CsB,mBAAmB"}
|
package/types/types.d.ts
CHANGED
|
@@ -1,96 +1,113 @@
|
|
|
1
|
-
import { Component } from 'vue';
|
|
2
|
-
import { ComponentInfo } from '@json-layout/vocabulary';
|
|
1
|
+
import type { Component, Slots } from 'vue';
|
|
2
|
+
import type { ComponentInfo } from '@json-layout/vocabulary';
|
|
3
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;
|
|
7
7
|
nodeComponent: Component;
|
|
8
8
|
};
|
|
9
|
-
export type
|
|
10
|
-
|
|
9
|
+
export type VjsfIconSet = {
|
|
10
|
+
add: string;
|
|
11
|
+
alert: string;
|
|
12
|
+
calendar: string;
|
|
13
|
+
clock: string;
|
|
14
|
+
close: string;
|
|
15
|
+
delete: string;
|
|
16
|
+
duplicate: string;
|
|
17
|
+
edit: string;
|
|
18
|
+
infoSymbol: string;
|
|
19
|
+
menu: string;
|
|
20
|
+
sort: string;
|
|
21
|
+
sortUp: string;
|
|
22
|
+
sortDown: string;
|
|
23
|
+
};
|
|
24
|
+
export type VjsfStatefulLayoutOptions = Partial<StatefulLayoutOptions> & {
|
|
25
|
+
vjsfSlots: Slots;
|
|
11
26
|
nodeComponents: Record<string, Component>;
|
|
12
27
|
plugins: Plugin[];
|
|
13
28
|
pluginsOptions: Record<string, unknown>;
|
|
29
|
+
iconset: VjsfIconSet;
|
|
14
30
|
};
|
|
15
|
-
export type VjsfCompileOptions = CompileOptions & {
|
|
31
|
+
export type VjsfCompileOptions = Partial<CompileOptions> & {
|
|
16
32
|
pluginsImports: string[];
|
|
17
33
|
};
|
|
18
|
-
export type
|
|
34
|
+
export type PartialVjsfCompileOptions = Partial<VjsfCompileOptions>;
|
|
35
|
+
export type VjsfOptions = PartialVjsfCompileOptions & VjsfStatefulLayoutOptions;
|
|
36
|
+
export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width' | 'vjsfSlots' | 'onData' | 'onUpdate' | 'onAutofocus'>>;
|
|
37
|
+
export type FullVjsfNodeOptions = Required<VjsfOptions>;
|
|
19
38
|
export type VjsfStatefulLayout = Omit<StatefulLayout, 'options'> & {
|
|
20
39
|
options: VjsfStatefulLayoutOptions;
|
|
21
40
|
};
|
|
22
|
-
export type PartialVjsfCompileOptions = Partial<VjsfCompileOptions>;
|
|
23
|
-
export type PartialVjsfOptions = Partial<Omit<VjsfOptions, 'width' | 'vjsfSlots' | 'onData' | 'onUpdate' | 'onAutofocus'>>;
|
|
24
41
|
export type VjsfNode = Omit<StateNode, 'options'> & {
|
|
25
|
-
options:
|
|
42
|
+
options: FullVjsfNodeOptions;
|
|
26
43
|
};
|
|
27
44
|
export type VjsfTabsNode = Omit<TabsNode, 'options'> & {
|
|
28
|
-
options:
|
|
45
|
+
options: FullVjsfNodeOptions;
|
|
29
46
|
};
|
|
30
47
|
export type VjsfCheckboxNode = Omit<CheckboxNode, 'options'> & {
|
|
31
|
-
options:
|
|
48
|
+
options: FullVjsfNodeOptions;
|
|
32
49
|
};
|
|
33
50
|
export type VjsfColorPickerNode = Omit<ColorPickerNode, 'options'> & {
|
|
34
|
-
options:
|
|
51
|
+
options: FullVjsfNodeOptions;
|
|
35
52
|
};
|
|
36
53
|
export type VjsfDatePickerNode = Omit<DatePickerNode, 'options'> & {
|
|
37
|
-
options:
|
|
54
|
+
options: FullVjsfNodeOptions;
|
|
38
55
|
};
|
|
39
56
|
export type VjsfDateTimePickerNode = Omit<DateTimePickerNode, 'options'> & {
|
|
40
|
-
options:
|
|
57
|
+
options: FullVjsfNodeOptions;
|
|
41
58
|
};
|
|
42
59
|
export type VjsfExpansionPanelsNode = Omit<ExpansionPanelsNode, 'options'> & {
|
|
43
|
-
options:
|
|
60
|
+
options: FullVjsfNodeOptions;
|
|
44
61
|
};
|
|
45
62
|
export type VjsfListNode = Omit<ListNode, 'options'> & {
|
|
46
|
-
options:
|
|
63
|
+
options: FullVjsfNodeOptions;
|
|
47
64
|
};
|
|
48
65
|
export type VjsfNumberFieldNode = Omit<NumberFieldNode, 'options'> & {
|
|
49
|
-
options:
|
|
66
|
+
options: FullVjsfNodeOptions;
|
|
50
67
|
};
|
|
51
68
|
export type VjsfOneOfSelectNode = Omit<OneOfSelectNode, 'options'> & {
|
|
52
|
-
options:
|
|
69
|
+
options: FullVjsfNodeOptions;
|
|
53
70
|
};
|
|
54
71
|
export type VjsfSectionNode = Omit<SectionNode, 'options'> & {
|
|
55
|
-
options:
|
|
72
|
+
options: FullVjsfNodeOptions;
|
|
56
73
|
};
|
|
57
74
|
export type VjsfSelectNode = Omit<SelectNode, 'options'> & {
|
|
58
|
-
options:
|
|
75
|
+
options: FullVjsfNodeOptions;
|
|
59
76
|
};
|
|
60
77
|
export type VjsfRadioGroupNode = Omit<RadioGroupNode, 'options'> & {
|
|
61
|
-
options:
|
|
78
|
+
options: FullVjsfNodeOptions;
|
|
62
79
|
};
|
|
63
80
|
export type VjsfCheckboxGroupNode = Omit<CheckboxGroupNode, 'options'> & {
|
|
64
|
-
options:
|
|
81
|
+
options: FullVjsfNodeOptions;
|
|
65
82
|
};
|
|
66
83
|
export type VjsfSwitchGroupNode = Omit<SwitchGroupNode, 'options'> & {
|
|
67
|
-
options:
|
|
84
|
+
options: FullVjsfNodeOptions;
|
|
68
85
|
};
|
|
69
86
|
export type VjsfSliderNode = Omit<SliderNode, 'options'> & {
|
|
70
|
-
options:
|
|
87
|
+
options: FullVjsfNodeOptions;
|
|
71
88
|
};
|
|
72
89
|
export type VjsfSwitchNode = Omit<SwitchNode, 'options'> & {
|
|
73
|
-
options:
|
|
90
|
+
options: FullVjsfNodeOptions;
|
|
74
91
|
};
|
|
75
92
|
export type VjsfTextFieldNode = Omit<TextFieldNode, 'options'> & {
|
|
76
|
-
options:
|
|
93
|
+
options: FullVjsfNodeOptions;
|
|
77
94
|
};
|
|
78
95
|
export type VjsfTextareaNode = Omit<TextareaNode, 'options'> & {
|
|
79
|
-
options:
|
|
96
|
+
options: FullVjsfNodeOptions;
|
|
80
97
|
};
|
|
81
98
|
export type VjsfVerticalTabsNode = Omit<VerticalTabsNode, 'options'> & {
|
|
82
|
-
options:
|
|
99
|
+
options: FullVjsfNodeOptions;
|
|
83
100
|
};
|
|
84
101
|
export type VjsfStepperNode = Omit<StepperNode, 'options'> & {
|
|
85
|
-
options:
|
|
102
|
+
options: FullVjsfNodeOptions;
|
|
86
103
|
};
|
|
87
104
|
export type VjsfComboboxNode = Omit<ComboboxNode, 'options'> & {
|
|
88
|
-
options:
|
|
105
|
+
options: FullVjsfNodeOptions;
|
|
89
106
|
};
|
|
90
107
|
export type VjsfFileInputNode = Omit<FileInputNode, 'options'> & {
|
|
91
|
-
options:
|
|
108
|
+
options: FullVjsfNodeOptions;
|
|
92
109
|
};
|
|
93
110
|
export type VjsfCardNode = Omit<CardNode, 'options'> & {
|
|
94
|
-
options:
|
|
111
|
+
options: FullVjsfNodeOptions;
|
|
95
112
|
};
|
|
96
113
|
//# sourceMappingURL=types.d.ts.map
|
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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|