@json-layout/core 0.33.1 → 0.33.2

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-layout/core",
3
- "version": "0.33.1",
3
+ "version": "0.33.2",
4
4
  "description": "Compilation and state management utilities for JSON Layout.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -68,7 +68,7 @@
68
68
  "debug": "^4.3.4",
69
69
  "immer": "^10.0.3",
70
70
  "magicast": "^0.3.3",
71
- "markdown-it": "^13.0.2"
71
+ "marked": "^14.1.3"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/debug": "^4.1.7",
@@ -1,22 +1,16 @@
1
1
  // compileStatic is meant to produce a serializable result
2
2
 
3
- import ajvModule from 'ajv/dist/2019.js'
4
3
  // import { Parser as ExprEvalParser } from 'expr-eval'
5
- import addFormats from 'ajv-formats'
6
- import ajvErrors from 'ajv-errors'
7
4
  import ajvLocalizeModule from 'ajv-i18n'
8
- import MarkdownIt from 'markdown-it'
9
- import { produce } from 'immer'
10
- import i18n from '../i18n/index.js'
11
5
  import { makeSkeletonTree } from './skeleton-tree.js'
12
6
  import { resolveLocaleRefs } from './utils/resolve-refs.js'
13
7
  import { resolveXI18n } from './utils/x-i18n.js'
14
8
  import clone from '../utils/clone.js'
15
- import { standardComponents } from '@json-layout/vocabulary'
16
- import { shallowEqualArray } from '../state/utils/immutable.js'
9
+ import { fillOptions } from './options.js'
17
10
 
18
11
  export { resolveLocaleRefs } from './utils/resolve-refs.js'
19
12
  export { resolveXI18n } from './utils/x-i18n.js'
13
+ export { produceCompileOptions } from './options.js'
20
14
 
21
15
  /**
22
16
  * @typedef {import('./types.js').SkeletonTree} SkeletonTree
@@ -27,88 +21,11 @@ export { resolveXI18n } from './utils/x-i18n.js'
27
21
  * @typedef {import('./types.js').CompiledExpression} CompiledExpression
28
22
  */
29
23
 
30
- // @ts-ignore
31
- const Ajv = /** @type {typeof ajvModule.default} */ (ajvModule)
32
24
  // @ts-ignore
33
25
  const ajvLocalize = /** @type {typeof ajvLocalizeModule.default} */ (ajvLocalizeModule)
34
26
 
35
27
  // const exprEvalParser = new ExprEvalParser()
36
28
 
37
- // use Immer for efficient updating with immutability and no-op detection
38
- /** @type {(draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions} */
39
- export const produceCompileOptions = produce((draft, newOptions) => {
40
- for (const key of ['ajv', 'ajvOptions', 'code', 'markdown', 'markdownItOptions', 'xI18n', 'locale', 'defaultLocale', 'messages', 'optionsKeys', 'components']) {
41
- // @ts-ignore
42
- if (key in newOptions) {
43
- // components is problematic because it is an object with nested objects
44
- // simply compare there keys instead of the whole object
45
- if (key === 'components' && shallowEqualArray(Object.keys(draft.components ?? []), Object.keys(newOptions.components ?? []))) {
46
- continue
47
- }
48
- // @ts-ignore
49
- draft[key] = newOptions[key]
50
- } else {
51
- // @ts-ignore
52
- delete draft[key]
53
- }
54
- }
55
- })
56
-
57
- /**
58
- * @param {PartialCompileOptions} partialOptions
59
- * @returns {CompileOptions}
60
- */
61
- const fillOptions = (partialOptions) => {
62
- let ajv = partialOptions.ajv
63
- if (!ajv) {
64
- /** @type {import('ajv').Options} */
65
- const ajvOpts = { allErrors: true, strict: false, verbose: true }
66
- if (partialOptions.ajvOptions) Object.assign(ajvOpts, partialOptions.ajvOptions)
67
- if (partialOptions.code) ajvOpts.code = { source: true, esm: true, lines: true }
68
- const newAjv = new Ajv(ajvOpts)
69
- addFormats.default(newAjv)
70
- ajvErrors.default(newAjv)
71
- ajv = newAjv
72
- }
73
- ajv.addKeyword('layout')
74
-
75
- let markdown = partialOptions.markdown
76
- if (!markdown) {
77
- const markdownIt = new MarkdownIt(partialOptions.markdownItOptions ?? {})
78
- markdown = markdownIt.render.bind(markdownIt)
79
- }
80
-
81
- const defaultLocale = partialOptions.defaultLocale || 'en'
82
- const locale = partialOptions.locale || defaultLocale
83
- const messages = { ...i18n[locale] || i18n[defaultLocale] }
84
- if (partialOptions.messages) Object.assign(messages, partialOptions.messages)
85
-
86
- const components = standardComponents.reduce((acc, component) => {
87
- acc[component.name] = component
88
- return acc
89
- }, /** @type {Record<string, import('@json-layout/vocabulary').ComponentInfo>} */({}))
90
-
91
- if (partialOptions.components) {
92
- for (const componentName of Object.keys(partialOptions.components)) {
93
- components[componentName] = { ...partialOptions.components[componentName], name: componentName }
94
- }
95
- Object.assign(components, partialOptions.components)
96
- }
97
-
98
- return {
99
- ajv,
100
- code: false,
101
- markdown,
102
- optionsKeys: [],
103
- ...partialOptions,
104
- locale,
105
- defaultLocale,
106
- messages,
107
- components,
108
- xI18n: !!partialOptions.xI18n
109
- }
110
- }
111
-
112
29
  /**
113
30
  * @param {object} _schema
114
31
  * @param {PartialCompileOptions} [partialOptions]
@@ -0,0 +1,91 @@
1
+ import ajvModule from 'ajv/dist/2019.js'
2
+ import addFormats from 'ajv-formats'
3
+ import ajvErrors from 'ajv-errors'
4
+ import { marked } from 'marked'
5
+ import { produce } from 'immer'
6
+ import i18n from '../i18n/index.js'
7
+ import { standardComponents } from '@json-layout/vocabulary'
8
+ import { shallowEqualArray } from '../state/utils/immutable.js'
9
+
10
+ /**
11
+ * @typedef {import('./types.js').CompileOptions} CompileOptions
12
+ * @typedef {import('./types.js').PartialCompileOptions} PartialCompileOptions
13
+ */
14
+
15
+ // @ts-ignore
16
+ const Ajv = /** @type {typeof ajvModule.default} */ (ajvModule)
17
+
18
+ /**
19
+ * @param {PartialCompileOptions} partialOptions
20
+ * @returns {CompileOptions}
21
+ */
22
+ export const fillOptions = (partialOptions) => {
23
+ let ajv = partialOptions.ajv
24
+ if (!ajv) {
25
+ /** @type {import('ajv').Options} */
26
+ const ajvOpts = { allErrors: true, strict: false, verbose: true }
27
+ if (partialOptions.ajvOptions) Object.assign(ajvOpts, partialOptions.ajvOptions)
28
+ if (partialOptions.code) ajvOpts.code = { source: true, esm: true, lines: true }
29
+ const newAjv = new Ajv(ajvOpts)
30
+ addFormats.default(newAjv)
31
+ ajvErrors.default(newAjv)
32
+ ajv = newAjv
33
+ }
34
+ ajv.addKeyword('layout')
35
+
36
+ let markdown = partialOptions.markdown
37
+ if (!markdown) {
38
+ const render = (/** @type {string} */text) => marked.parse(text, partialOptions.markedOptions)
39
+ markdown = /** @type {(text: string) => string} */(render)
40
+ }
41
+
42
+ const defaultLocale = partialOptions.defaultLocale || 'en'
43
+ const locale = partialOptions.locale || defaultLocale
44
+ const messages = { ...i18n[locale] || i18n[defaultLocale] }
45
+ if (partialOptions.messages) Object.assign(messages, partialOptions.messages)
46
+
47
+ const components = standardComponents.reduce((acc, component) => {
48
+ acc[component.name] = component
49
+ return acc
50
+ }, /** @type {Record<string, import('@json-layout/vocabulary').ComponentInfo>} */({}))
51
+
52
+ if (partialOptions.components) {
53
+ for (const componentName of Object.keys(partialOptions.components)) {
54
+ components[componentName] = { ...partialOptions.components[componentName], name: componentName }
55
+ }
56
+ Object.assign(components, partialOptions.components)
57
+ }
58
+
59
+ return {
60
+ ajv,
61
+ code: false,
62
+ markdown,
63
+ optionsKeys: [],
64
+ ...partialOptions,
65
+ locale,
66
+ defaultLocale,
67
+ messages,
68
+ components,
69
+ xI18n: !!partialOptions.xI18n
70
+ }
71
+ }
72
+
73
+ // use Immer for efficient updating with immutability and no-op detection
74
+ /** @type {(draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions} */
75
+ export const produceCompileOptions = produce((draft, newOptions) => {
76
+ for (const key of ['ajv', 'ajvOptions', 'code', 'markdown', 'markedOptions', 'xI18n', 'locale', 'defaultLocale', 'messages', 'optionsKeys', 'components']) {
77
+ // @ts-ignore
78
+ if (key in newOptions) {
79
+ // components is problematic because it is an object with nested objects
80
+ // simply compare there keys instead of the whole object
81
+ if (key === 'components' && shallowEqualArray(Object.keys(draft.components ?? []), Object.keys(newOptions.components ?? []))) {
82
+ continue
83
+ }
84
+ // @ts-ignore
85
+ draft[key] = newOptions[key]
86
+ } else {
87
+ // @ts-ignore
88
+ delete draft[key]
89
+ }
90
+ }
91
+ })
@@ -1,5 +1,5 @@
1
1
  import type ajvModule from 'ajv/dist/2019.js'
2
- import type MarkdownIt from 'markdown-it'
2
+ import type { MarkedOptions } from 'marked'
3
3
  import { type ComponentInfo, type BaseCompObject, type NormalizedLayout, type StateNodeOptionsBase, type Expression } 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'
@@ -27,7 +27,7 @@ export interface CompileOptions {
27
27
  ajvOptions?: ajvModule.Options
28
28
  code: boolean
29
29
  markdown: (text: string) => string
30
- markdownItOptions?: MarkdownIt.Options
30
+ markedOptions?: MarkedOptions
31
31
  locale: string
32
32
  defaultLocale: string
33
33
  messages: LocaleMessages
@@ -6,6 +6,7 @@ import { createStateTree } from './state-tree.js'
6
6
  import { Display } from './utils/display.js'
7
7
  import { isGetItemsExpression, isGetItemsFetch, isItemsLayout } from '@json-layout/vocabulary'
8
8
  import { shallowProduceArray } from './utils/immutable.js'
9
+ import { fillOptions } from './options.js'
9
10
 
10
11
  export { Display } from './utils/display.js'
11
12
  export { getRegexp } from './utils/regexps.js'
@@ -51,39 +52,6 @@ export const isItemsNode = (node, components) => !!node && isItemsLayout(node.la
51
52
 
52
53
  const logDataBinding = debug('jl:data-binding')
53
54
 
54
- /**
55
- * @param {Partial<StatefulLayoutOptions>} partialOptions
56
- * @param {import('../index.js').CompiledLayout} compiledLayout
57
- * @returns {StatefulLayoutOptions}
58
- */
59
- function fillOptions (partialOptions, compiledLayout) {
60
- const messages = { ...compiledLayout.messages }
61
- if (partialOptions.messages) Object.assign(messages, partialOptions.messages)
62
- return {
63
- context: {},
64
- width: 1000,
65
- readOnly: false,
66
- summary: false,
67
- density: 'default',
68
- indent: false,
69
- titleDepth: 2,
70
- validateOn: 'input',
71
- initialValidation: 'withData',
72
- updateOn: 'input',
73
- debounceInputMs: 300,
74
- defaultOn: 'empty',
75
- removeAdditional: 'error',
76
- autofocus: false,
77
- readOnlyPropertiesMode: 'show',
78
- fetchOptions: {},
79
- onAutofocus: () => {},
80
- onUpdate: () => {},
81
- onData: () => {},
82
- ...partialOptions,
83
- messages
84
- }
85
- }
86
-
87
55
  export class StatefulLayout {
88
56
  /**
89
57
  * @private
@@ -155,6 +123,7 @@ export class StatefulLayout {
155
123
  * @param {Partial<StatefulLayoutOptions>} options
156
124
  */
157
125
  set options (options) {
126
+ logDataBinding('apply main options setter', options)
158
127
  this.prepareOptions(options)
159
128
  this.updateState()
160
129
  }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @typedef {import('./types.js').StatefulLayoutOptions} StatefulLayoutOptions
3
+ */
4
+
5
+ /**
6
+ * @param {Partial<StatefulLayoutOptions>} partialOptions
7
+ * @param {import('../index.js').CompiledLayout} compiledLayout
8
+ * @returns {StatefulLayoutOptions}
9
+ */
10
+ export function fillOptions (partialOptions, compiledLayout) {
11
+ const messages = { ...compiledLayout.messages }
12
+ if (partialOptions.messages) Object.assign(messages, partialOptions.messages)
13
+ return {
14
+ context: {},
15
+ width: 1000,
16
+ readOnly: false,
17
+ summary: false,
18
+ density: 'default',
19
+ indent: false,
20
+ titleDepth: 2,
21
+ validateOn: 'input',
22
+ initialValidation: 'withData',
23
+ updateOn: 'input',
24
+ debounceInputMs: 300,
25
+ defaultOn: 'empty',
26
+ removeAdditional: 'error',
27
+ autofocus: false,
28
+ readOnlyPropertiesMode: 'show',
29
+ fetchOptions: {},
30
+ onAutofocus: () => {},
31
+ onUpdate: () => {},
32
+ onData: () => {},
33
+ ...partialOptions,
34
+ messages
35
+ }
36
+ }
@@ -21,8 +21,8 @@ export const compileOptions = [
21
21
  default: 'A markdown-it instance render function'
22
22
  },
23
23
  {
24
- key: 'markdownItOptions',
25
- description: 'Some options for the markdown-it instance that will be created by default',
24
+ key: 'markedOptions',
25
+ description: 'Some options for the default <a href="https://marked.js.org/using_advanced#options">marked</a> parser',
26
26
  default: {}
27
27
  },
28
28
  {
@@ -6,8 +6,7 @@
6
6
  export function compile(_schema: object, partialOptions?: import("./types.js").PartialCompileOptions | undefined): CompiledLayout;
7
7
  export { resolveLocaleRefs } from "./utils/resolve-refs.js";
8
8
  export { resolveXI18n } from "./utils/x-i18n.js";
9
- /** @type {(draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions} */
10
- export const produceCompileOptions: (draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions;
9
+ export { produceCompileOptions } from "./options.js";
11
10
  export type SkeletonTree = import('./types.js').SkeletonTree;
12
11
  export type SkeletonNode = import('./types.js').SkeletonNode;
13
12
  export type CompiledLayout = import('./types.js').CompiledLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AA+GA;;;;GAIG;AACH,iCAJW,MAAM,4EAEJ,cAAc,CA+F1B;;;AA5KD,yGAAyG;AACzG,4CADmB,qBAAqB,cAAc,qBAAqB,KAAK,qBAAqB,CAiBnG;2BAjCW,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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,iCAJW,MAAM,4EAEJ,cAAc,CA+F1B;;;;2BA/GY,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"}
@@ -0,0 +1,6 @@
1
+ export function fillOptions(partialOptions: PartialCompileOptions): CompileOptions;
2
+ /** @type {(draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions} */
3
+ export const produceCompileOptions: (draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions;
4
+ export type CompileOptions = import('./types.js').CompileOptions;
5
+ export type PartialCompileOptions = import('./types.js').PartialCompileOptions;
6
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/compile/options.js"],"names":[],"mappings":"AAqBO,4CAHI,qBAAqB,GACnB,cAAc,CAmD1B;AAGD,yGAAyG;AACzG,4CADmB,qBAAqB,cAAc,qBAAqB,KAAK,qBAAqB,CAiBnG;6BAhFW,OAAO,YAAY,EAAE,cAAc;oCACnC,OAAO,YAAY,EAAE,qBAAqB"}
@@ -1,5 +1,5 @@
1
1
  import type ajvModule from 'ajv/dist/2019.js';
2
- import type MarkdownIt from 'markdown-it';
2
+ import type { MarkedOptions } from 'marked';
3
3
  import { type ComponentInfo, type BaseCompObject, type NormalizedLayout, type StateNodeOptionsBase, type Expression } 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';
@@ -14,7 +14,7 @@ export interface CompileOptions {
14
14
  ajvOptions?: ajvModule.Options;
15
15
  code: boolean;
16
16
  markdown: (text: string) => string;
17
- markdownItOptions?: MarkdownIt.Options;
17
+ markedOptions?: MarkedOptions;
18
18
  locale: string;
19
19
  defaultLocale: string;
20
20
  messages: LocaleMessages;
@@ -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,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpJ,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,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAAA;CACnD;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC3C,QAAQ,CAAC,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,KACpC,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,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,cAAc,CAAA;IACxB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACzC,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAA;CACzD,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC3C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC3C,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,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IACzD,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,MAAM,CAAA;CACb;AAID,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compile/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":";;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,mEAAmE;AACnE,+BADkB,SAAS,GAAG,SAAS,8CACoC;AAE3E,iLAAiL;AACjL,iCADkB,SAAS,GAAG,SAAS,cAAc,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC,yHACnB;AAIjG;IA2HE;;;;;OAKG;IACH,4BALW,OAAO,aAAa,EAAE,cAAc,gBACpC,OAAO,aAAa,EAAE,YAAY,WAClC,QAAQ,qBAAqB,CAAC,SAC9B,OAAO,EAejB;IA7ID;;;;OAIG;IACH,iCAAe;IACf,mEAAqD;IAErD;;;OAGG;IAEH,mBAAU;IACV,gDAA2C;IAE3C;;;OAGG;IACH,uBAFU,OAAO,aAAa,EAAE,YAAY,CAEhC;IAEZ;;;OAGG;IAEH,iBAAQ;IACR,uBAAuC;IAEvC;;;OAGG;IAEH,yBAAgB;IAQhB;;;OAGG;IACH,+DAOC;IAlBD;;OAEG;IACH,4DAEC;IAeD;;;OAGG;IAEH,iBAAQ;IAKR;;OAEG;IACH,6DAIC;IAXD;;OAEG;IACH,0DAAuC;IAUvC;;;OAGG;IACH,cAAK;IAEL,uBAIC;IALD,oBAAiC;IAOjC;;;OAGG;IACH,sBAAa;IAEb;;;OAGG;IACH,4BAA2B;IAE3B;;;OAGG;IAEH,oCAA2B;IAE3B;;;OAGG;IACH,yBAAgB;IAChB;;;OAGG;IACH,iCAAwB;IAExB;;OAEG;IACH,OAFU,OAAO,EAAE,CAET;IAwaV;;OAEG;IACH,gBAFU,OAAO,MAAM,EAAE,MAAM,CAAC,CAElB;IApZd;;;OAGG;IACH,uBAGC;IAED;;OAEG;IACH,4BAOC;IAED;;OAEG;IACH,oBAuBC;IAED;;OAEG;IACH,iBAOC;IAED;;;OAGG;IACH,wBAmCC;IAED,iBAEC;IAED,wBAGC;IAED;;OAEG;IACH,qBAEC;IAED;;OAEG;IACH,uBAEC;IAED;;OAEG;IACH,8BAEC;IAED;;;;OAIG;IACH,mCAOC;IAED;;;;;OAKG;IACH,yBALW,SAAS,cACT,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,GACD,GAAG,CAIf;IAED;;;;;;OAMG;IACH,mBAiDC;IAED;;;OAGG;IACH,uBAAqB;IAErB,4BAMC;IAED;;;;OAIG;IACH,YAJW,SAAS,QACT,OAAO,0CAyBjB;IAED;;OAEG;IACH,WAFW,SAAS,QAmBnB;IAED;;OAEG;IACH,0BAFW,SAAS,QASnB;IAED;;;OAGG;IACH,oBAAgB;IAEhB;;;;;OAKG;IACH,6BA4CC;IAED;;;;OAIG;IACH,eAJW,SAAS,MACT,MAAM,GACJ,QAAQ,OAAO,yBAAyB,EAAE,WAAW,CAAC,CAoBlE;IAED;;;;OAIG;IACH,wBAJW,SAAS,WACT,GAAG,GACD,OAAO,yBAAyB,EAAE,UAAU,CAsBxD;IAOD;;;OAGG;IACH,mBAHW,SAAS,OACT,MAAM,QAuBhB;IAED;;OAEG;IACH,qBAFW,SAAS,QAUnB;IAED,wBASC;CACF;wBAhoBY,OAAO,YAAY,EAAE,SAAS;wBAC9B,OAAO,YAAY,EAAE,SAAS;oCAC9B,OAAO,YAAY,EAAE,qBAAqB;qCAC1C,OAAO,YAAY,EAAE,sBAAsB;4BAC3C,OAAO,YAAY,EAAE,aAAa;2BAClC,OAAO,YAAY,EAAE,YAAY;8BACjC,OAAO,YAAY,EAAE,eAAe;yBACpC,OAAO,YAAY,EAAE,UAAU;0BAC/B,OAAO,YAAY,EAAE,WAAW;yBAChC,OAAO,YAAY,EAAE,UAAU;+BAC/B,OAAO,YAAY,EAAE,gBAAgB;6BACrC,OAAO,YAAY,EAAE,cAAc;gCACnC,OAAO,YAAY,EAAE,iBAAiB;8BACtC,OAAO,YAAY,EAAE,eAAe;2BACpC,OAAO,YAAY,EAAE,YAAY;2BACjC,OAAO,YAAY,EAAE,YAAY;yBACjC,OAAO,YAAY,EAAE,UAAU;8BAC/B,OAAO,YAAY,EAAE,eAAe;6BACpC,OAAO,YAAY,EAAE,cAAc;iCACnC,OAAO,YAAY,EAAE,kBAAkB;6BACvC,OAAO,YAAY,EAAE,cAAc;kCACnC,OAAO,YAAY,EAAE,mBAAmB;uBACxC,OAAO,YAAY,EAAE,QAAQ;+BAC7B,OAAO,YAAY,EAAE,gBAAgB;0BACrC,OAAO,YAAY,EAAE,WAAW;8BAChC,OAAO,YAAY,EAAE,eAAe;uBACpC,OAAO,YAAY,EAAE,QAAQ;4BAC7B,OAAO,YAAY,EAAE,aAAa;uBAClC,OAAO,YAAY,EAAE,QAAQ;sBAC7B,OAAO,YAAY,EAAE,OAAO;wBAtCjB,oBAAoB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @typedef {import('./types.js').StatefulLayoutOptions} StatefulLayoutOptions
3
+ */
4
+ /**
5
+ * @param {Partial<StatefulLayoutOptions>} partialOptions
6
+ * @param {import('../index.js').CompiledLayout} compiledLayout
7
+ * @returns {StatefulLayoutOptions}
8
+ */
9
+ export function fillOptions(partialOptions: Partial<StatefulLayoutOptions>, compiledLayout: import('../index.js').CompiledLayout): StatefulLayoutOptions;
10
+ export type StatefulLayoutOptions = import('./types.js').StatefulLayoutOptions;
11
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/state/options.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,4CAJW,QAAQ,qBAAqB,CAAC,kBAC9B,OAAO,aAAa,EAAE,cAAc,GAClC,qBAAqB,CA4BjC;oCAlCY,OAAO,YAAY,EAAE,qBAAqB"}