@json-layout/core 0.8.1 → 0.9.1
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 +4 -3
- package/src/compile/serialize.js +2 -1
- package/src/compile/skeleton-node.js +9 -4
- package/src/compile/types.ts +12 -3
- package/src/state/index.js +2 -1
- package/src/state/state-node.js +19 -12
- package/src/state/types.ts +3 -1
- package/src/utils/doc-options.js +117 -0
- package/types/compile/index.d.ts.map +1 -1
- package/types/compile/serialize.d.ts.map +1 -1
- package/types/compile/skeleton-node.d.ts.map +1 -1
- package/types/compile/types.d.ts +4 -3
- package/types/compile/types.d.ts.map +1 -1
- package/types/state/index.d.ts.map +1 -1
- package/types/state/state-node.d.ts +2 -1
- package/types/state/state-node.d.ts.map +1 -1
- package/types/state/types.d.ts +2 -1
- package/types/state/types.d.ts.map +1 -1
- package/types/utils/doc-options.d.ts +14 -0
- package/types/utils/doc-options.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@json-layout/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Compilation and state management utilities for JSON Layout.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
"default": "./src/utils/build.js",
|
|
22
22
|
"types": "./types/utils/build.d.ts"
|
|
23
23
|
}
|
|
24
|
+
},
|
|
25
|
+
"./utils/doc-options": {
|
|
26
|
+
"import": {
|
|
27
|
+
"default": "./src/utils/doc-options.js",
|
|
28
|
+
"types": "./types/utils/doc-options.d.ts"
|
|
29
|
+
}
|
|
24
30
|
}
|
|
25
31
|
},
|
|
26
32
|
"files": [
|
|
@@ -53,7 +59,7 @@
|
|
|
53
59
|
},
|
|
54
60
|
"homepage": "https://github.com/json-layout/json-layout#readme",
|
|
55
61
|
"dependencies": {
|
|
56
|
-
"@json-layout/vocabulary": "^0.
|
|
62
|
+
"@json-layout/vocabulary": "^0.9.0",
|
|
57
63
|
"@types/markdown-it": "^13.0.1",
|
|
58
64
|
"ajv": "^8.12.0",
|
|
59
65
|
"ajv-errors": "^3.0.0",
|
|
@@ -61,7 +67,7 @@
|
|
|
61
67
|
"ajv-i18n": "^4.2.0",
|
|
62
68
|
"debug": "^4.3.4",
|
|
63
69
|
"immer": "^10.0.3",
|
|
64
|
-
"magicast": "^0.3.
|
|
70
|
+
"magicast": "^0.3.3",
|
|
65
71
|
"markdown-it": "^13.0.2",
|
|
66
72
|
"mitt": "^3.0.1",
|
|
67
73
|
"recast": "^0.23.4"
|
package/src/compile/index.js
CHANGED
|
@@ -38,6 +38,7 @@ const fillOptions = (partialOptions) => {
|
|
|
38
38
|
if (!ajv) {
|
|
39
39
|
/** @type {import('ajv').Options} */
|
|
40
40
|
const ajvOpts = { allErrors: true, strict: false }
|
|
41
|
+
if (partialOptions.ajvOptions) Object.assign(ajvOpts, partialOptions.ajvOptions)
|
|
41
42
|
if (partialOptions.code) ajvOpts.code = { source: true, esm: true, lines: true }
|
|
42
43
|
const newAjv = new Ajv(ajvOpts)
|
|
43
44
|
addFormats.default(newAjv)
|
|
@@ -48,7 +49,7 @@ const fillOptions = (partialOptions) => {
|
|
|
48
49
|
|
|
49
50
|
let markdown = partialOptions.markdown
|
|
50
51
|
if (!markdown) {
|
|
51
|
-
const markdownIt = new MarkdownIt(partialOptions.
|
|
52
|
+
const markdownIt = new MarkdownIt(partialOptions.markdownItOptions ?? {})
|
|
52
53
|
markdown = markdownIt.render.bind(markdownIt)
|
|
53
54
|
}
|
|
54
55
|
|
|
@@ -114,8 +115,8 @@ export function compile (_schema, partialOptions = {}) {
|
|
|
114
115
|
|
|
115
116
|
for (const expression of expressionsDefinitions) {
|
|
116
117
|
const expressionsParams = expression.pure
|
|
117
|
-
? ['data', 'options', 'context', 'display']
|
|
118
|
-
: ['data', 'options', 'context', 'display', 'parentData', 'rootData']
|
|
118
|
+
? ['data', 'options', 'context', 'display', 'layout']
|
|
119
|
+
: ['data', 'options', 'context', 'display', 'layout', 'parentData', 'rootData']
|
|
119
120
|
/* if (expression.type === 'expr-eval') {
|
|
120
121
|
expressions.push(exprEvalParser.parse(expression.expr).toJSFunction(expressionsParams.join(',')))
|
|
121
122
|
} */
|
package/src/compile/serialize.js
CHANGED
|
@@ -3,6 +3,7 @@ import { ok } from 'assert/strict'
|
|
|
3
3
|
import standaloneCode from 'ajv/dist/standalone/index.js'
|
|
4
4
|
import { parseModule, generateCode, builders } from 'magicast'
|
|
5
5
|
import { parse, print } from 'recast'
|
|
6
|
+
import clone from '../utils/clone.js'
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* @param {import('./index.js').CompiledLayout} compiledLayout
|
|
@@ -53,7 +54,7 @@ export const exportLocalizeErrors = localizeErrors;\n` + code
|
|
|
53
54
|
const ast = parseModule(code)
|
|
54
55
|
ast.exports.compiledLayout = {
|
|
55
56
|
skeletonTree: compiledLayout.skeletonTree,
|
|
56
|
-
normalizedLayouts: compiledLayout.normalizedLayouts,
|
|
57
|
+
normalizedLayouts: clone(compiledLayout.normalizedLayouts),
|
|
57
58
|
validates: {},
|
|
58
59
|
validationErrors: compiledLayout.validationErrors,
|
|
59
60
|
expressions: expressionsNodes,
|
|
@@ -69,11 +69,16 @@ export function makeSkeletonNode (
|
|
|
69
69
|
if (schema.description && !compObject.help) compObject.help = schema.description
|
|
70
70
|
if (compObject.if) pushExpression(expressions, compObject.if)
|
|
71
71
|
|
|
72
|
-
if (
|
|
73
|
-
if (compObject.constData)
|
|
72
|
+
if (schema.const !== undefined && compObject.constData === undefined) compObject.constData = schema.const
|
|
73
|
+
if (compObject.constData !== undefined && !compObject.getConstData) compObject.getConstData = { type: 'js-eval', expr: 'layout.constData', pure: true }
|
|
74
|
+
if (compObject.getConstData) pushExpression(expressions, compObject.getConstData)
|
|
74
75
|
|
|
75
|
-
if (defaultData &&
|
|
76
|
-
if (compObject.defaultData)
|
|
76
|
+
if (defaultData !== undefined && compObject.defaultData === undefined) compObject.defaultData = defaultData
|
|
77
|
+
if (compObject.defaultData !== undefined && !compObject.getDefaultData) compObject.getDefaultData = { type: 'js-eval', expr: 'layout.defaultData', pure: true }
|
|
78
|
+
if (compObject.getDefaultData) pushExpression(expressions, compObject.getDefaultData)
|
|
79
|
+
|
|
80
|
+
if (compObject.options !== undefined && !compObject.getOptions) compObject.getOptions = { type: 'js-eval', expr: 'layout.options', pure: true }
|
|
81
|
+
if (compObject.getOptions) pushExpression(expressions, compObject.getOptions)
|
|
77
82
|
|
|
78
83
|
if (compObject.transformData) pushExpression(expressions, compObject.transformData)
|
|
79
84
|
|
package/src/compile/types.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import type ajvModule from 'ajv/dist/2019.js'
|
|
2
2
|
import type MarkdownIt from 'markdown-it'
|
|
3
|
-
import { type NormalizedLayout, type StateNodeOptionsBase } from '@json-layout/vocabulary'
|
|
3
|
+
import { type CompObject, type NormalizedLayout, type StateNodeOptionsBase } from '@json-layout/vocabulary'
|
|
4
4
|
import { type ValidateFunction, type SchemaObject, type ErrorObject } from 'ajv/dist/2019.js'
|
|
5
5
|
import { type Display } from '../state/utils/display.js'
|
|
6
6
|
import { type LocaleMessages } from '../i18n/types.js'
|
|
7
7
|
|
|
8
|
-
export type CompiledExpression = (
|
|
8
|
+
export type CompiledExpression = (
|
|
9
|
+
data: any,
|
|
10
|
+
options: StateNodeOptionsBase,
|
|
11
|
+
context: object,
|
|
12
|
+
display: Display,
|
|
13
|
+
layout: CompObject,
|
|
14
|
+
rootData?: unknown,
|
|
15
|
+
parentData?: unknown
|
|
16
|
+
) => any
|
|
9
17
|
|
|
10
18
|
export interface CompileOptions {
|
|
11
19
|
ajv: ajvModule.default
|
|
20
|
+
ajvOptions?: ajvModule.Options
|
|
12
21
|
code: boolean
|
|
13
22
|
markdown: (text: string) => string
|
|
14
|
-
|
|
23
|
+
markdownItOptions?: MarkdownIt.Options
|
|
15
24
|
locale: string
|
|
16
25
|
messages: LocaleMessages
|
|
17
26
|
}
|
package/src/state/index.js
CHANGED
|
@@ -66,6 +66,7 @@ function fillOptions (partialOptions, compiledLayout) {
|
|
|
66
66
|
width: 1000,
|
|
67
67
|
readOnly: false,
|
|
68
68
|
summary: false,
|
|
69
|
+
density: 'default',
|
|
69
70
|
titleDepth: 2,
|
|
70
71
|
validateOn: 'input',
|
|
71
72
|
initialValidation: 'withData',
|
|
@@ -336,7 +337,7 @@ export class StatefulLayout {
|
|
|
336
337
|
// const parentNode = this._stateTree.traverseNode(this._stateTree.root).find(n => n.fullKey === node.parentFullKey)
|
|
337
338
|
const parentNode = this._lastCreateStateTreeContext.nodes.find(n => n.fullKey === node.parentFullKey)
|
|
338
339
|
const parentData = parentNode ? parentNode.data : null
|
|
339
|
-
return evalExpression(this.compiledLayout.expressions, expression, data, node.options, new Display(node.width), parentData, this._data)
|
|
340
|
+
return evalExpression(this.compiledLayout.expressions, expression, data, node.options, new Display(node.width), node.layout, parentData, this._data)
|
|
340
341
|
}
|
|
341
342
|
|
|
342
343
|
/**
|
package/src/state/state-node.js
CHANGED
|
@@ -27,8 +27,8 @@ const useDefaultData = (data, layout, options) => {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// use Immer for efficient updating with immutability and no-op detection
|
|
30
|
-
/** @type {(draft: import('./types.js').StateNode, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import('../index.js').SkeletonNode, layout: import('@json-layout/vocabulary').CompObject, width: number, cols: number, data: unknown, error: string | undefined, validated: boolean, options: import('./types.js').StateNodeOptions, autofocus: boolean, children: import('../index.js').StateNode[] | undefined) => import('../index.js').StateNode} */
|
|
31
|
-
const produceStateNode = produce((draft, key, fullKey, parentFullKey, dataPath, parentDataPath, skeleton, layout, width, cols, data, error, validated, options, autofocus, children) => {
|
|
30
|
+
/** @type {(draft: import('./types.js').StateNode, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import('../index.js').SkeletonNode, layout: import('@json-layout/vocabulary').CompObject, width: number, cols: number, data: unknown, error: string | undefined, validated: boolean, options: import('./types.js').StateNodeOptions, autofocus: boolean, props: import('@json-layout/vocabulary').StateNodePropsLib, children: import('../index.js').StateNode[] | undefined) => import('../index.js').StateNode} */
|
|
31
|
+
const produceStateNode = produce((draft, key, fullKey, parentFullKey, dataPath, parentDataPath, skeleton, layout, width, cols, data, error, validated, options, autofocus, props, children) => {
|
|
32
32
|
draft.messages = layout.messages ? produceStateNodeMessages(draft.messages || {}, layout.messages, options) : options.messages
|
|
33
33
|
|
|
34
34
|
draft.key = key
|
|
@@ -163,14 +163,15 @@ const matchChildError = (error, skeleton, dataPath, parentDataPath) => {
|
|
|
163
163
|
* @param {any} data
|
|
164
164
|
* @param {import('./types.js').StateNodeOptions} options
|
|
165
165
|
* @param {import('./utils/display.js').Display} display
|
|
166
|
+
* @param {import('@json-layout/vocabulary').CompObject} layout
|
|
166
167
|
* @param {unknown} rootData
|
|
167
168
|
* @param {unknown} parentData
|
|
168
169
|
* @returns {any}
|
|
169
170
|
*/
|
|
170
|
-
export function evalExpression (expressions, expression, data, options, display, rootData, parentData) {
|
|
171
|
+
export function evalExpression (expressions, expression, data, options, display, layout, rootData, parentData) {
|
|
171
172
|
if (expression.ref === undefined) throw new Error('expression was not compiled : ' + JSON.stringify(expression))
|
|
172
173
|
const compiledExpression = expressions[expression.ref]
|
|
173
|
-
return expression.pure ? compiledExpression(data, options, options.context, display) : compiledExpression(data, options, options.context, display, rootData, parentData)
|
|
174
|
+
return expression.pure ? compiledExpression(data, options, options.context, display, layout) : compiledExpression(data, options, options.context, display, layout, rootData, parentData)
|
|
174
175
|
}
|
|
175
176
|
|
|
176
177
|
/**
|
|
@@ -186,13 +187,13 @@ export function evalExpression (expressions, expression, data, options, display,
|
|
|
186
187
|
const getCompObject = (normalizedLayout, options, compiledLayout, display, data, rootData, parentData) => {
|
|
187
188
|
if (isSwitchStruct(normalizedLayout)) {
|
|
188
189
|
for (const compObject of normalizedLayout.switch) {
|
|
189
|
-
if (!compObject.if || !!evalExpression(compiledLayout.expressions, compObject.if, data, options, display, parentData, rootData)) {
|
|
190
|
+
if (!compObject.if || !!evalExpression(compiledLayout.expressions, compObject.if, data, options, display, compObject, parentData, rootData)) {
|
|
190
191
|
return compObject
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
} else {
|
|
194
195
|
if (normalizedLayout.if) {
|
|
195
|
-
if (evalExpression(compiledLayout.expressions, normalizedLayout.if, data, options, display, parentData, rootData)) {
|
|
196
|
+
if (evalExpression(compiledLayout.expressions, normalizedLayout.if, data, options, display, normalizedLayout, parentData, rootData)) {
|
|
196
197
|
return normalizedLayout
|
|
197
198
|
}
|
|
198
199
|
} else {
|
|
@@ -251,11 +252,11 @@ export function createStateNode (
|
|
|
251
252
|
const layout = getCompObject(normalizedLayout, parentOptions, compiledLayout, parentDisplay, data, context.rootData, parentData)
|
|
252
253
|
const [display, cols] = getChildDisplay(parentDisplay, childDefinition?.cols ?? layout.cols)
|
|
253
254
|
|
|
254
|
-
const options = layout.
|
|
255
|
+
const options = layout.getOptions
|
|
255
256
|
? produceNodeOptions(
|
|
256
257
|
reusedNode?.options ?? /** @type {import('./types.js').StateNodeOptions} */({}),
|
|
257
258
|
parentOptions,
|
|
258
|
-
layout.
|
|
259
|
+
evalExpression(compiledLayout.expressions, layout.getOptions, data, parentOptions, display, layout, context.rootData, parentData)
|
|
259
260
|
)
|
|
260
261
|
: parentOptions
|
|
261
262
|
|
|
@@ -391,14 +392,14 @@ export function createStateNode (
|
|
|
391
392
|
else if (typeof data === 'object' && typeof nodeData === 'object') nodeData = shallowProduceObject(data, nodeData)
|
|
392
393
|
}
|
|
393
394
|
|
|
394
|
-
if (layout.
|
|
395
|
+
if (layout.getConstData) {
|
|
395
396
|
if (!context.rehydrate) {
|
|
396
|
-
nodeData = evalExpression(compiledLayout.expressions, layout.
|
|
397
|
+
nodeData = evalExpression(compiledLayout.expressions, layout.getConstData, nodeData, options, display, layout, context.rootData, parentData)
|
|
397
398
|
}
|
|
398
399
|
} else {
|
|
399
|
-
if (layout.
|
|
400
|
+
if (layout.getDefaultData && useDefaultData(nodeData, layout, options)) {
|
|
400
401
|
if (!context.rehydrate) {
|
|
401
|
-
nodeData = evalExpression(compiledLayout.expressions, layout.
|
|
402
|
+
nodeData = evalExpression(compiledLayout.expressions, layout.getDefaultData, nodeData, options, display, layout, context.rootData, parentData)
|
|
402
403
|
}
|
|
403
404
|
} else {
|
|
404
405
|
if (isDataEmpty(nodeData)) {
|
|
@@ -416,6 +417,11 @@ export function createStateNode (
|
|
|
416
417
|
}
|
|
417
418
|
}
|
|
418
419
|
|
|
420
|
+
let props
|
|
421
|
+
if (layout.getProps) {
|
|
422
|
+
props = evalExpression(compiledLayout.expressions, layout.getProps, nodeData, options, display, layout, context.rootData, parentData)
|
|
423
|
+
}
|
|
424
|
+
|
|
419
425
|
const autofocus = isFocusableLayout(layout) && !options.readOnly && !options.summary && context.autofocusTarget === fullKey
|
|
420
426
|
const node = produceStateNode(
|
|
421
427
|
reusedNode ?? /** @type {import('./types.js').StateNode} */({}),
|
|
@@ -433,6 +439,7 @@ export function createStateNode (
|
|
|
433
439
|
validated,
|
|
434
440
|
options,
|
|
435
441
|
autofocus,
|
|
442
|
+
props,
|
|
436
443
|
children && shallowProduceArray(reusedNode?.children, children)
|
|
437
444
|
)
|
|
438
445
|
|
package/src/state/types.ts
CHANGED
|
@@ -25,7 +25,8 @@ import {
|
|
|
25
25
|
type Combobox,
|
|
26
26
|
type Markdown,
|
|
27
27
|
type FileInput,
|
|
28
|
-
type Child
|
|
28
|
+
type Child,
|
|
29
|
+
type StateNodePropsLib
|
|
29
30
|
} from '@json-layout/vocabulary'
|
|
30
31
|
import { type SkeletonTree, type SkeletonNode, type StatefulLayout, type CompiledLayout } from '../index.js'
|
|
31
32
|
import { type LocaleMessages } from '../i18n/types.js'
|
|
@@ -48,6 +49,7 @@ export interface StateNode {
|
|
|
48
49
|
messages: LocaleMessages
|
|
49
50
|
autofocus?: boolean
|
|
50
51
|
autofocusChild?: string | number
|
|
52
|
+
props?: StateNodePropsLib
|
|
51
53
|
children?: StateNode[]
|
|
52
54
|
}
|
|
53
55
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import en from '../i18n/en.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {{key: string, description: string, default?: any, values?: Record<string, any>}[]} DocOptions
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** @type {DocOptions} */
|
|
8
|
+
export const compileOptions = [
|
|
9
|
+
{
|
|
10
|
+
key: 'ajv',
|
|
11
|
+
description: 'The Ajv instance to use, you should probably no overwrite this option and let Vjsf handle the Ajv instance.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: 'ajvOptions',
|
|
15
|
+
description: 'Some options for the Ajv instance that will be created by default.',
|
|
16
|
+
default: { allErrors: true, strict: false }
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: 'markdown',
|
|
20
|
+
description: 'A function that takes a string in markdown format and returns HTML code.',
|
|
21
|
+
default: 'A markdown-it instance render function'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
key: 'markdownItOptions',
|
|
25
|
+
description: 'Some options for the markdown-it instance that will be created by default',
|
|
26
|
+
default: {}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: 'locale',
|
|
30
|
+
description: 'The locale of the form.',
|
|
31
|
+
default: 'en'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'messages',
|
|
35
|
+
description: 'The locale messages. You wan overwrite only the key you want to change.',
|
|
36
|
+
default: en
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
/** @type {DocOptions} */
|
|
41
|
+
export const runtimeOptions = [
|
|
42
|
+
{
|
|
43
|
+
key: 'readOnly',
|
|
44
|
+
description: 'Render the form in read-only mode.',
|
|
45
|
+
default: false
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: 'summary',
|
|
49
|
+
description: 'Render the form in summary mode. In this mode some information may be omitted for the sake of information density and readability. Items in an editable array are rendered in this mode.',
|
|
50
|
+
default: false
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: 'density',
|
|
54
|
+
description: 'Matches the density concept of Material design.',
|
|
55
|
+
default: 'default',
|
|
56
|
+
values: {
|
|
57
|
+
default: 'default',
|
|
58
|
+
compact: 'compact',
|
|
59
|
+
comfortable: 'comfortable'
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: 'context',
|
|
64
|
+
description: 'A contextual data object that can be referenced in expressions',
|
|
65
|
+
default: {}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: 'titleDepth',
|
|
69
|
+
description: 'The depth of the section titles (an initial depth of 2 means that the first level of titles will be rendered as h2 tags)',
|
|
70
|
+
default: 2
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: 'validateOn',
|
|
74
|
+
description: 'Control the way form inputs are validated. It does not control the actual execution of a validation function (data is always validated as it changes), only the display of the validation errors to the users.',
|
|
75
|
+
default: 'input',
|
|
76
|
+
values: {
|
|
77
|
+
input: 'Validate a form input as soon as the user used it to input some data.',
|
|
78
|
+
blur: 'Validate a form input when the user interacts with it then leaves it.',
|
|
79
|
+
submit: 'Validate the form inputs only when the form is submitted.'
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
key: 'initialValidation',
|
|
84
|
+
description: 'This option complements "validateOn". It controls the validation of form inputs when the form is initialized.',
|
|
85
|
+
default: 'withData',
|
|
86
|
+
values: {
|
|
87
|
+
never: 'Form inputs are never validated at initialization.',
|
|
88
|
+
always: 'Form inputs are always validated at initialization',
|
|
89
|
+
withData: 'Only the inputs with data at initialization are validated.'
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
key: 'defaultOn',
|
|
94
|
+
description: 'Control the use of default values in the form.',
|
|
95
|
+
default: 'empty',
|
|
96
|
+
values: {
|
|
97
|
+
never: 'Never use the default data',
|
|
98
|
+
missing: 'The default data is used when the property if not defined in the data.',
|
|
99
|
+
empty: 'The default data is used when the property is either undefined of defined but empty (empty string, empty object, etc.).'
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
key: 'removeAdditional',
|
|
104
|
+
description: 'Control the way additional data is managed (data that is present in the model but not defined by the schema).',
|
|
105
|
+
default: 'error',
|
|
106
|
+
values: {
|
|
107
|
+
true: 'Remove all additional properties (alias "unknown")',
|
|
108
|
+
error: 'Remove additional properties that cause a validation error',
|
|
109
|
+
false: 'Never remove additional properties (alias "none")'
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: 'autofocus',
|
|
114
|
+
description: 'Activate autofocus. The focus will be given to the first input of the form.',
|
|
115
|
+
default: false
|
|
116
|
+
}
|
|
117
|
+
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AAqEA;;;;GAIG;AACH,iCAJW,MAAM,4EAEJ,cAAc,CA6E1B;;2BArIY,OAAO,YAAY,EAAE,YAAY;2BACjC,OAAO,YAAY,EAAE,YAAY;6BACjC,OAAO,YAAY,EAAE,cAAc;6BACnC,OAAO,YAAY,EAAE,cAAc;oCACnC,OAAO,YAAY,EAAE,qBAAqB;iCAC1C,OAAO,YAAY,EAAE,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/compile/serialize.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/compile/serialize.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,0CAHW,OAAO,YAAY,EAAE,cAAc,GACjC,MAAM,CAoElB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,yCAZW,GAAG,WACH,OAAO,YAAY,EAAE,cAAc,aACnC,MAAM,EAAE,oBACR,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,OAAO,GACL,OAAO,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,yCAZW,GAAG,WACH,OAAO,YAAY,EAAE,cAAc,aACnC,MAAM,EAAE,oBACR,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,OAAO,GACL,OAAO,YAAY,EAAE,YAAY,CAyM7C"}
|
package/types/compile/types.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type ajvModule from 'ajv/dist/2019.js';
|
|
2
2
|
import type MarkdownIt from 'markdown-it';
|
|
3
|
-
import { type NormalizedLayout, type StateNodeOptionsBase } from '@json-layout/vocabulary';
|
|
3
|
+
import { type CompObject, type NormalizedLayout, type StateNodeOptionsBase } from '@json-layout/vocabulary';
|
|
4
4
|
import { type ValidateFunction, type SchemaObject } from 'ajv/dist/2019.js';
|
|
5
5
|
import { type Display } from '../state/utils/display.js';
|
|
6
6
|
import { type LocaleMessages } from '../i18n/types.js';
|
|
7
|
-
export type CompiledExpression = (data: any, options: StateNodeOptionsBase, context: object, display: Display, rootData?: unknown, parentData?: unknown) => any;
|
|
7
|
+
export type CompiledExpression = (data: any, options: StateNodeOptionsBase, context: object, display: Display, layout: CompObject, rootData?: unknown, parentData?: unknown) => any;
|
|
8
8
|
export interface CompileOptions {
|
|
9
9
|
ajv: ajvModule.default;
|
|
10
|
+
ajvOptions?: ajvModule.Options;
|
|
10
11
|
code: boolean;
|
|
11
12
|
markdown: (text: string) => string;
|
|
12
|
-
|
|
13
|
+
markdownItOptions?: MarkdownIt.Options;
|
|
13
14
|
locale: string;
|
|
14
15
|
messages: LocaleMessages;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compile/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAoB,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,UAAU,CAAC,EAAE,OAAO,KACjB,GAAG,CAAA;AAER,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,CAAA;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAClC,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAEtH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACnD,WAAW,EAAE,kBAAkB,EAAE,CAAA;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;IACxB,cAAc,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,CAAA;CAC1D;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,YAAY,CAAA;CACnB;AAID,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;CAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":";AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,mEAAmE;AACnE,+BADkB,SAAS,GAAG,SAAS,8CACoC;AAE3E,oGAAoG;AACpG,iCADkB,SAAS,GAAG,SAAS,yHACkC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* @param {any} data
|
|
5
5
|
* @param {import('./types.js').StateNodeOptions} options
|
|
6
6
|
* @param {import('./utils/display.js').Display} display
|
|
7
|
+
* @param {import('@json-layout/vocabulary').CompObject} layout
|
|
7
8
|
* @param {unknown} rootData
|
|
8
9
|
* @param {unknown} parentData
|
|
9
10
|
* @returns {any}
|
|
10
11
|
*/
|
|
11
|
-
export function evalExpression(expressions: import('../index.js').CompiledExpression[], expression: import('@json-layout/vocabulary').Expression, data: any, options: import('./types.js').StateNodeOptions, display: import('./utils/display.js').Display, rootData: unknown, parentData: unknown): any;
|
|
12
|
+
export function evalExpression(expressions: import('../index.js').CompiledExpression[], expression: import('@json-layout/vocabulary').Expression, data: any, options: import('./types.js').StateNodeOptions, display: import('./utils/display.js').Display, layout: import('@json-layout/vocabulary').CompObject, rootData: unknown, parentData: unknown): any;
|
|
12
13
|
/**
|
|
13
14
|
*
|
|
14
15
|
* @param {import('./types.js').CreateStateTreeContext} context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AA+JA
|
|
1
|
+
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AA+JA;;;;;;;;;;GAUG;AACH,4CAVW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,UACpC,OAAO,yBAAyB,EAAE,UAAU,YAC5C,OAAO,cACP,OAAO,GACL,GAAG,CAMf;AA+BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,yCAjBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,cACP,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,4DAElC,OAAO,YAAY,EAAE,SAAS,CAkO1C;AAED,uFAAuF;AACvF,yCADmB,GAAG,QAAQ,OAAO,YAAY,EAAE,SAAS,QAAQ,OAAO,KAAK,GAAG,CAOjF"}
|
package/types/state/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ErrorObject } from 'ajv/dist/2019.js';
|
|
2
|
-
import { type CompObject, type Cols, type StateNodeOptionsBase, type TextField, type Textarea, type NumberField, type Slider, type Checkbox, type Switch, type DatePicker, type DateTimePicker, type TimePicker, type ColorPicker, type Section, type OneOfSelect, type Select, type Autocomplete, type Tabs, type VerticalTabs, type ExpansionPanels, type Stepper, type List, type Combobox, type Markdown, type FileInput, type Child } from '@json-layout/vocabulary';
|
|
2
|
+
import { type CompObject, type Cols, type StateNodeOptionsBase, type TextField, type Textarea, type NumberField, type Slider, type Checkbox, type Switch, type DatePicker, type DateTimePicker, type TimePicker, type ColorPicker, type Section, type OneOfSelect, type Select, type Autocomplete, type Tabs, type VerticalTabs, type ExpansionPanels, type Stepper, type List, type Combobox, type Markdown, type FileInput, type Child, type StateNodePropsLib } from '@json-layout/vocabulary';
|
|
3
3
|
import { type SkeletonTree, type SkeletonNode, type StatefulLayout, type CompiledLayout } from '../index.js';
|
|
4
4
|
import { type LocaleMessages } from '../i18n/types.js';
|
|
5
5
|
export interface StateNode {
|
|
@@ -20,6 +20,7 @@ export interface StateNode {
|
|
|
20
20
|
messages: LocaleMessages;
|
|
21
21
|
autofocus?: boolean;
|
|
22
22
|
autofocusChild?: string | number;
|
|
23
|
+
props?: StateNodePropsLib;
|
|
23
24
|
children?: StateNode[];
|
|
24
25
|
}
|
|
25
26
|
export interface StateTree {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,EAAE,YAAY,CAAA;IACtB,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,gBAAgB,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC5C,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB;IAChB,cAAc;IACd,MAAM;IACN,YAAY;IACZ,KAAK,GAAG,IAAI;IACZ,MAAM;IACN,eAAe;IACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO;IACP,OAAO;CACR,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B;AAGD,MAAM,MAAM,oBAAoB,GAAG;IAEjC,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,GAAG;IAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;IACvC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;IAClD,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;IAExC,gBAAgB,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7D,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEhH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE9G,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEpH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE1G,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE/G,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE3G,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAElH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE1H,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAElH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEpH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAE/H,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAEpF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAEhG,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAE1F,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhG,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAEtH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAAA;AAE1F,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEhH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {{key: string, description: string, default?: any, values?: Record<string, any>}[]} DocOptions
|
|
3
|
+
*/
|
|
4
|
+
/** @type {DocOptions} */
|
|
5
|
+
export const compileOptions: DocOptions;
|
|
6
|
+
/** @type {DocOptions} */
|
|
7
|
+
export const runtimeOptions: DocOptions;
|
|
8
|
+
export type DocOptions = {
|
|
9
|
+
key: string;
|
|
10
|
+
description: string;
|
|
11
|
+
default?: any;
|
|
12
|
+
values?: Record<string, any>;
|
|
13
|
+
}[];
|
|
14
|
+
//# sourceMappingURL=doc-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-options.d.ts","sourceRoot":"","sources":["../../src/utils/doc-options.js"],"names":[],"mappings":"AAEA;;GAEG;AAEH,yBAAyB;AACzB,wCA8BC;AAED,yBAAyB;AACzB,wCA4EC;yBAjHY;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC,EAAE"}
|