@json-layout/core 0.24.0 → 0.24.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.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/src/state/state-node.js +15 -11
  3. package/types/compile/index.d.ts +16 -0
  4. package/types/compile/index.d.ts.map +1 -0
  5. package/types/compile/serialize.d.ts +6 -0
  6. package/types/compile/serialize.d.ts.map +1 -0
  7. package/types/compile/skeleton-node.d.ts +21 -0
  8. package/types/compile/skeleton-node.d.ts.map +1 -0
  9. package/types/compile/skeleton-tree.d.ts +16 -0
  10. package/types/compile/skeleton-tree.d.ts.map +1 -0
  11. package/types/compile/types.d.ts +58 -0
  12. package/types/compile/types.d.ts.map +1 -0
  13. package/types/compile/utils/resolve-refs.d.ts +17 -0
  14. package/types/compile/utils/resolve-refs.d.ts.map +1 -0
  15. package/types/i18n/en.d.ts +3 -0
  16. package/types/i18n/en.d.ts.map +1 -0
  17. package/types/i18n/fr.d.ts +3 -0
  18. package/types/i18n/fr.d.ts.map +1 -0
  19. package/types/i18n/index.d.ts +3 -0
  20. package/types/i18n/index.d.ts.map +1 -0
  21. package/types/i18n/types.d.ts +36 -0
  22. package/types/i18n/types.d.ts.map +1 -0
  23. package/types/index.d.ts +5 -0
  24. package/types/index.d.ts.map +1 -0
  25. package/types/state/index.d.ts +278 -0
  26. package/types/state/index.d.ts.map +1 -0
  27. package/types/state/state-node.d.ts +36 -0
  28. package/types/state/state-node.d.ts.map +1 -0
  29. package/types/state/state-tree.d.ts +13 -0
  30. package/types/state/state-tree.d.ts.map +1 -0
  31. package/types/state/types.d.ts +173 -0
  32. package/types/state/types.d.ts.map +1 -0
  33. package/types/state/utils/display.d.ts +51 -0
  34. package/types/state/utils/display.d.ts.map +1 -0
  35. package/types/state/utils/immutable.d.ts +21 -0
  36. package/types/state/utils/immutable.d.ts.map +1 -0
  37. package/types/utils/build.d.ts +5 -0
  38. package/types/utils/build.d.ts.map +1 -0
  39. package/types/utils/clone.d.ts +3 -0
  40. package/types/utils/clone.d.ts.map +1 -0
  41. package/types/utils/doc-options.d.ts +14 -0
  42. 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.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Compilation and state management utilities for JSON Layout.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -422,24 +422,28 @@ export function createStateNode (
422
422
  (validationState.initialized === false && options.initialValidation === 'always') ||
423
423
  (validationState.initialized === false && options.initialValidation === 'withData' && !isDataEmpty(data))
424
424
 
425
+ let nodeData = data
426
+
427
+ if (nodeData === null && !layout.nullable) nodeData = undefined
428
+
425
429
  /** @type {unknown} */
426
- let nodeData = typeof data === 'object' && !(data instanceof File)
427
- ? produceStateNodeData(
428
- /** @type {Record<string, unknown>} */(data ?? {}),
430
+ if (typeof nodeData === 'object' && !(nodeData instanceof File)) {
431
+ nodeData = produceStateNodeData(
432
+ /** @type {Record<string, unknown>} */(nodeData ?? {}),
429
433
  dataPath,
430
434
  children,
431
435
  context.additionalPropertiesErrors,
432
436
  [true, 'unknown'].includes(options.removeAdditional) ? skeleton.propertyKeys : undefined,
433
437
  options.readOnlyPropertiesMode === 'remove' ? skeleton.roPropertyKeys : undefined
434
438
  )
435
- : data
436
-
437
- // the producer is not perfect, sometimes data is considered mutated but it is actually the same
438
- // we double check here to avoid unnecessary re-renders
439
- if (nodeData !== data) {
440
- if (Array.isArray(data) && Array.isArray(nodeData)) nodeData = shallowProduceArray(data, nodeData)
441
- // @ts-ignore
442
- else if (typeof data === 'object' && typeof nodeData === 'object') nodeData = shallowProduceObject(data, nodeData)
439
+
440
+ // the producer is not perfect, sometimes data is considered mutated but it is actually the same
441
+ // we double check here to avoid unnecessary re-renders
442
+ if (nodeData !== data) {
443
+ if (Array.isArray(data) && Array.isArray(nodeData)) nodeData = shallowProduceArray(data, nodeData)
444
+ // @ts-ignore
445
+ else if (typeof data === 'object' && typeof nodeData === 'object') nodeData = shallowProduceObject(data, nodeData)
446
+ }
443
447
  }
444
448
 
445
449
  if (layout.getConstData) {
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @param {object} _schema
3
+ * @param {PartialCompileOptions} [partialOptions]
4
+ * @returns {CompiledLayout}
5
+ */
6
+ export function compile(_schema: object, partialOptions?: import("./types.js").PartialCompileOptions | undefined): CompiledLayout;
7
+ export { resolveLocaleRefs } from "./utils/resolve-refs.js";
8
+ /** @type {(draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions} */
9
+ export const produceCompileOptions: (draft: PartialCompileOptions, newOptions: PartialCompileOptions) => PartialCompileOptions;
10
+ export type SkeletonTree = import('./types.js').SkeletonTree;
11
+ export type SkeletonNode = import('./types.js').SkeletonNode;
12
+ export type CompiledLayout = import('./types.js').CompiledLayout;
13
+ export type CompileOptions = import('./types.js').CompileOptions;
14
+ export type PartialCompileOptions = import('./types.js').PartialCompileOptions;
15
+ export type CompiledExpression = import('./types.js').CompiledExpression;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compile/index.js"],"names":[],"mappings":"AA0GA;;;;GAIG;AACH,iCAJW,MAAM,4EAEJ,cAAc,CA0F1B;;AApKD,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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param {import('./index.js').CompiledLayout} compiledLayout
3
+ * @returns {string}
4
+ */
5
+ export function serialize(compiledLayout: import('./index.js').CompiledLayout): string;
6
+ //# sourceMappingURL=serialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/compile/serialize.js"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,0CAHW,OAAO,YAAY,EAAE,cAAc,GACjC,MAAM,CAmFlB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @param {any} rawSchema
3
+ * @param {string} sourceSchemaId
4
+ * @param {import('./index.js').CompileOptions} options
5
+ * @param {(schemaId: string, ref: string) => [any, string, string]} getJSONRef
6
+ * @param {Record<string, import('./types.js').SkeletonTree>} skeletonTrees
7
+ * @param {string[]} validates
8
+ * @param {Record<string, string[]>} validationErrors
9
+ * @param {Record<string, import('@json-layout/vocabulary').NormalizedLayout>} normalizedLayouts
10
+ * @param {import('@json-layout/vocabulary').Expression[]} expressions
11
+ * @param {string | number} key
12
+ * @param {string} currentPointer
13
+ * @param {string | null} parentPointer
14
+ * @param {boolean} required
15
+ * @param {string} [condition]
16
+ * @param {boolean} [dependent]
17
+ * @param {string} [knownType]
18
+ * @returns {import('./types.js').SkeletonNode}
19
+ */
20
+ export function makeSkeletonNode(rawSchema: any, sourceSchemaId: string, options: import('./index.js').CompileOptions, getJSONRef: (schemaId: string, ref: string) => [any, string, string], skeletonTrees: Record<string, import('./types.js').SkeletonTree>, validates: string[], validationErrors: Record<string, string[]>, normalizedLayouts: Record<string, import('@json-layout/vocabulary').NormalizedLayout>, expressions: import('@json-layout/vocabulary').Expression[], key: string | number, currentPointer: string, parentPointer: string | null, required: boolean, condition?: string | undefined, dependent?: boolean | undefined, knownType?: string | undefined): import('./types.js').SkeletonNode;
21
+ //# sourceMappingURL=skeleton-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,4CAlBW,GAAG,kBACH,MAAM,WACN,OAAO,YAAY,EAAE,cAAc,yBACxB,MAAM,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,iBACxD,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,aACjD,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,kBACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,OAAO,oGAIL,OAAO,YAAY,EAAE,YAAY,CA8W7C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @param {any} schema
3
+ * @param {string} schemaId
4
+ * @param {import('./index.js').CompileOptions} options
5
+ * @param {(schemaId: string, ref: string) => [any, string, string]} getJSONRef
6
+ * @param {Record<string, import('./types.js').SkeletonTree>} skeletonTrees
7
+ * @param {string[]} validates
8
+ * @param {Record<string, string[]>} validationErrors
9
+ * @param {Record<string, import('@json-layout/vocabulary').NormalizedLayout>} normalizedLayouts
10
+ * @param {import('@json-layout/vocabulary').Expression[]} expressions
11
+ * @param {string} pointer
12
+ * @param {string} title
13
+ * @returns {import('./types.js').SkeletonTree}
14
+ */
15
+ export function makeSkeletonTree(schema: any, schemaId: string, options: import('./index.js').CompileOptions, getJSONRef: (schemaId: string, ref: string) => [any, string, string], skeletonTrees: Record<string, import('./types.js').SkeletonTree>, validates: string[], validationErrors: Record<string, string[]>, normalizedLayouts: Record<string, import('@json-layout/vocabulary').NormalizedLayout>, expressions: import('@json-layout/vocabulary').Expression[], pointer: string, title: string): import('./types.js').SkeletonTree;
16
+ //# sourceMappingURL=skeleton-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-tree.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-tree.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,yCAbW,GAAG,YACH,MAAM,WACN,OAAO,YAAY,EAAE,cAAc,yBACxB,MAAM,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,iBACxD,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,aACjD,MAAM,EAAE,oBACR,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,OAAO,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,WAC9C,MAAM,SACN,MAAM,GACJ,OAAO,YAAY,EAAE,YAAY,CAgC7C"}
@@ -0,0 +1,58 @@
1
+ import type ajvModule from 'ajv/dist/2019.js';
2
+ import type MarkdownIt from 'markdown-it';
3
+ import { type ComponentInfo, type BaseCompObject, type NormalizedLayout, type StateNodeOptionsBase, type Expression } from '@json-layout/vocabulary';
4
+ import { type ValidateFunction, type SchemaObject } from 'ajv/dist/2019.js';
5
+ import { type Display } from '../state/utils/display.js';
6
+ import { type LocaleMessages } from '../i18n/types.js';
7
+ export interface ParentContextExpression {
8
+ data: unknown;
9
+ parent: ParentContextExpression | undefined | null;
10
+ }
11
+ export type CompiledExpression = (data: any, options: StateNodeOptionsBase, context: object, display: Display, layout: BaseCompObject, validates: Record<string, ValidateFunction>, rootData?: unknown, parent?: ParentContextExpression | null) => any;
12
+ export interface CompileOptions {
13
+ ajv: ajvModule.default;
14
+ ajvOptions?: ajvModule.Options;
15
+ code: boolean;
16
+ markdown: (text: string) => string;
17
+ markdownItOptions?: MarkdownIt.Options;
18
+ locale: string;
19
+ messages: LocaleMessages;
20
+ optionsKeys: string[];
21
+ components: Record<string, ComponentInfo>;
22
+ }
23
+ export type PartialCompileOptions = Partial<Omit<CompileOptions, 'messages'>> & {
24
+ messages?: Partial<LocaleMessages>;
25
+ components?: Record<string, Omit<ComponentInfo, 'name'>>;
26
+ };
27
+ export interface CompiledLayout {
28
+ options?: CompileOptions;
29
+ schema?: SchemaObject;
30
+ mainTree: string;
31
+ skeletonTrees: Record<string, SkeletonTree>;
32
+ validates: Record<string, ValidateFunction>;
33
+ validationErrors: Record<string, string[]>;
34
+ normalizedLayouts: Record<string, NormalizedLayout>;
35
+ expressions: CompiledExpression[];
36
+ locale: string;
37
+ messages: LocaleMessages;
38
+ components: Record<string, Omit<ComponentInfo, 'schema'>>;
39
+ localizeErrors: (errors: ajvModule.ErrorObject[]) => void;
40
+ }
41
+ export interface SkeletonTree {
42
+ title: string;
43
+ root: SkeletonNode;
44
+ }
45
+ export interface SkeletonNode {
46
+ key: string | number;
47
+ pointer: string;
48
+ parentPointer: string | null;
49
+ pure: boolean;
50
+ propertyKeys: string[];
51
+ roPropertyKeys: string[];
52
+ condition?: Expression;
53
+ children?: SkeletonNode[];
54
+ childrenTrees?: string[];
55
+ required?: boolean;
56
+ nullable?: boolean;
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compile/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * mutates a schema by replacing ~$locale~ in all refs
3
+ * @param {import('ajv').SchemaObject} schema
4
+ * @param {ajvModule.default} ajv
5
+ * @param {string} locale
6
+ * @returns {(schemaId: string, ref: string) => [any, string, string]}
7
+ */
8
+ export function resolveLocaleRefs(schema: import('ajv').SchemaObject, ajv: ajvModule.default, locale?: string): (schemaId: string, ref: string) => [any, string, string];
9
+ /**
10
+ * partially resolve a schema but not recursively, used for layout normalization
11
+ * @param {import('ajv').SchemaObject} schema
12
+ * @param {string} schemaId
13
+ * @param {(schemaId: string, ref: string) => [any, string, string]} getJSONRef
14
+ */
15
+ export function partialResolveRefs(schema: import('ajv').SchemaObject, schemaId: string, getJSONRef: (schemaId: string, ref: string) => [any, string, string]): any;
16
+ import ajvModule from 'ajv/dist/2019.js';
17
+ //# sourceMappingURL=resolve-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-refs.d.ts","sourceRoot":"","sources":["../../../src/compile/utils/resolve-refs.js"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,0CALW,OAAO,KAAK,EAAE,YAAY,OAC1B,UAAU,OAAO,WACjB,MAAM,cACO,MAAM,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CASpE;AAsCD;;;;;GAKG;AACH,2CAJW,OAAO,KAAK,EAAE,YAAY,YAC1B,MAAM,yBACK,MAAM,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,OA+ClE;sBAjIqB,kBAAkB"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import('./types.js').LocaleMessages;
2
+ export default _default;
3
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.js"],"names":[],"mappings":"wBAAW,OAAO,YAAY,EAAE,cAAc"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import('./types.js').LocaleMessages;
2
+ export default _default;
3
+ //# sourceMappingURL=fr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.js"],"names":[],"mappings":"wBAAW,OAAO,YAAY,EAAE,cAAc"}
@@ -0,0 +1,3 @@
1
+ declare const _default: Record<string, import('./types.js').LocaleMessages>;
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.js"],"names":[],"mappings":"wBAGW,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,cAAc,CAAC"}
@@ -0,0 +1,36 @@
1
+ export interface CompileOptionsMessages {
2
+ errorOneOf: string;
3
+ errorRequired: string;
4
+ }
5
+ export interface StateOptionsMessages {
6
+ addItem: string;
7
+ delete: string;
8
+ edit: string;
9
+ close: string;
10
+ duplicate: string;
11
+ sort: string;
12
+ up: string;
13
+ down: string;
14
+ showHelp: string;
15
+ mdeLink1: string;
16
+ mdeLink2: string;
17
+ mdeImg1: string;
18
+ mdeImg2: string;
19
+ mdeTable1: string;
20
+ mdeTable2: string;
21
+ bold: string;
22
+ italic: string;
23
+ heading: string;
24
+ quote: string;
25
+ unorderedList: string;
26
+ orderedList: string;
27
+ createLink: string;
28
+ insertImage: string;
29
+ createTable: string;
30
+ preview: string;
31
+ mdeGuide: string;
32
+ undo: string;
33
+ redo: string;
34
+ }
35
+ export type LocaleMessages = CompileOptionsMessages & StateOptionsMessages;
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,oBAAoB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from "./compile/index.js";
2
+ export * from "./state/index.js";
3
+ export { default as i18n } from "./i18n/index.js";
4
+ export { default as clone } from "./utils/clone.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,278 @@
1
+ export { Display } from "./utils/display.js";
2
+ /**
3
+ * @typedef {import('./types.js').StateNode} StateNode
4
+ * @typedef {import('./types.js').StateTree} StateTree
5
+ * @typedef {import('./types.js').StatefulLayoutOptions} StatefulLayoutOptions
6
+ * @typedef {import('./types.js').CreateStateTreeContext} CreateStateTreeContext
7
+ * @typedef {import('./types.js').TextFieldNode} TextFieldNode
8
+ * @typedef {import('./types.js').TextareaNode} TextareaNode
9
+ * @typedef {import('./types.js').NumberFieldNode} NumberFieldNode
10
+ * @typedef {import('./types.js').SliderNode} SliderNode
11
+ * @typedef {import('./types.js').SectionNode} SectionNode
12
+ * @typedef {import('./types.js').SelectNode} SelectNode
13
+ * @typedef {import('./types.js').AutocompleteNode} AutocompleteNode
14
+ * @typedef {import('./types.js').RadioGroupNode} RadioGroupNode
15
+ * @typedef {import('./types.js').CheckboxGroupNode} CheckboxGroupNode
16
+ * @typedef {import('./types.js').SwitchGroupNode} SwitchGroupNode
17
+ * @typedef {import('./types.js').ComboboxNode} ComboboxNode
18
+ * @typedef {import('./types.js').CheckboxNode} CheckboxNode
19
+ * @typedef {import('./types.js').SwitchNode} SwitchNode
20
+ * @typedef {import('./types.js').ColorPickerNode} ColorPickerNode
21
+ * @typedef {import('./types.js').DatePickerNode} DatePickerNode
22
+ * @typedef {import('./types.js').DateTimePickerNode} DateTimePickerNode
23
+ * @typedef {import('./types.js').TimePickerNode} TimePickerNode
24
+ * @typedef {import('./types.js').ExpansionPanelsNode} ExpansionPanelsNode
25
+ * @typedef {import('./types.js').TabsNode} TabsNode
26
+ * @typedef {import('./types.js').VerticalTabsNode} VerticalTabsNode
27
+ * @typedef {import('./types.js').StepperNode} StepperNode
28
+ * @typedef {import('./types.js').OneOfSelectNode} OneOfSelectNode
29
+ * @typedef {import('./types.js').ListNode} ListNode
30
+ * @typedef {import('./types.js').FileInputNode} FileInputNode
31
+ * @typedef {import('./types.js').FileRef} FileRef
32
+ */
33
+ /** @type {(node: StateNode | undefined) => node is SectionNode} */
34
+ export const isSection: (node: StateNode | undefined) => node is import("./types.js").SectionNode;
35
+ /** @type {(node: StateNode | undefined, components: Record<string, import('@json-layout/vocabulary').ComponentInfo>) => node is SelectNode | ComboboxNode | AutocompleteNode} */
36
+ export const isItemsNode: (node: StateNode | undefined, components: Record<string, import('@json-layout/vocabulary').ComponentInfo>) => node is import("./types.js").SelectNode | import("./types.js").AutocompleteNode | import("./types.js").ComboboxNode;
37
+ export class StatefulLayout {
38
+ /**
39
+ * @param {import("../index.js").CompiledLayout} compiledLayout
40
+ * @param {import("../index.js").SkeletonTree} skeletonTree
41
+ * @param {Partial<StatefulLayoutOptions>} options
42
+ * @param {unknown} [data]
43
+ */
44
+ constructor(compiledLayout: import("../index.js").CompiledLayout, skeletonTree: import("../index.js").SkeletonTree, options: Partial<StatefulLayoutOptions>, data?: unknown);
45
+ /**
46
+ * @private
47
+ * @readonly
48
+ * @type {import('../index.js').CompiledLayout}
49
+ */
50
+ private readonly _compiledLayout;
51
+ get compiledLayout(): import("../compile/types.js").CompiledLayout;
52
+ /**
53
+ * @private
54
+ * @type {StateTree}
55
+ */
56
+ private _stateTree;
57
+ get stateTree(): import("./types.js").StateTree;
58
+ /**
59
+ * @readonly
60
+ * @type {import('../index.js').SkeletonTree}
61
+ */
62
+ readonly skeletonTree: import('../index.js').SkeletonTree;
63
+ /**
64
+ * @private
65
+ * @type {Display}
66
+ */
67
+ private _display;
68
+ get display(): Display;
69
+ /**
70
+ * @private
71
+ * @type {import('./types.js').ValidationState}
72
+ */
73
+ private _validationState;
74
+ /**
75
+ * @private
76
+ * @param {Partial<import('./types.js').ValidationState>} validationState
77
+ */
78
+ set validationState(arg: import("./types.js").ValidationState);
79
+ /**
80
+ * @returns {import('./types.js').ValidationState}
81
+ */
82
+ get validationState(): import("./types.js").ValidationState;
83
+ /**
84
+ * @private
85
+ * @type {StatefulLayoutOptions}
86
+ */
87
+ private _options;
88
+ /**
89
+ * @param {Partial<StatefulLayoutOptions>} options
90
+ */
91
+ set options(arg: import("./types.js").StatefulLayoutOptions);
92
+ /**
93
+ * @returns {StatefulLayoutOptions}
94
+ */
95
+ get options(): import("./types.js").StatefulLayoutOptions;
96
+ /**
97
+ * @private
98
+ * @type {unknown}
99
+ */
100
+ private _data;
101
+ set data(arg: unknown);
102
+ get data(): unknown;
103
+ /**
104
+ * @private
105
+ * @type {unknown}
106
+ */
107
+ private _previousData;
108
+ /**
109
+ * @private
110
+ * @type {boolean}
111
+ */
112
+ private _dataWaitingForBlur;
113
+ /**
114
+ * @private
115
+ * @type {CreateStateTreeContext}
116
+ */
117
+ private _lastCreateStateTreeContext;
118
+ /**
119
+ * @private
120
+ * @type {string | null}
121
+ */
122
+ private _autofocusTarget;
123
+ /**
124
+ * @private
125
+ * @type {string | null}
126
+ */
127
+ private _previousAutofocusTarget;
128
+ /**
129
+ * @type {FileRef[]}
130
+ */
131
+ files: FileRef[];
132
+ /**
133
+ * @type {Record<string, number>}
134
+ */
135
+ activatedItems: Record<string, number>;
136
+ /**
137
+ * @private
138
+ * @param {Partial<StatefulLayoutOptions>} options
139
+ */
140
+ private prepareOptions;
141
+ /**
142
+ * @private
143
+ */
144
+ private initValidationState;
145
+ /**
146
+ * @private
147
+ */
148
+ private updateState;
149
+ /**
150
+ * @private
151
+ */
152
+ private emitData;
153
+ /**
154
+ * @private
155
+ * @param {boolean} rehydrate
156
+ */
157
+ private createStateTree;
158
+ validate(): void;
159
+ resetValidation(): void;
160
+ /**
161
+ * @returns {boolean}
162
+ */
163
+ get valid(): boolean;
164
+ /**
165
+ * @returns {string[]}
166
+ */
167
+ get errors(): string[];
168
+ /**
169
+ * @returns {boolean}
170
+ */
171
+ get hasHiddenError(): boolean;
172
+ /**
173
+ * @private
174
+ * @param {StateNode} node
175
+ * @returns {import('../compile/types.js').ParentContextExpression | null}
176
+ */
177
+ private getParentContextExpression;
178
+ /**
179
+ * @param {StateNode} node
180
+ * @param {import('@json-layout/vocabulary').Expression} expression
181
+ * @param {any} data
182
+ * @returns {any}
183
+ */
184
+ evalNodeExpression(node: StateNode, expression: import('@json-layout/vocabulary').Expression, data: any): any;
185
+ /**
186
+ * @private
187
+ * @param {StateNode} node
188
+ * @param {unknown} data
189
+ * @param {boolean} [validated]
190
+ * @param {number} [activateKey]
191
+ */
192
+ private applyInput;
193
+ /**
194
+ * @private
195
+ * @type {null | [StateNode, unknown, boolean, number | undefined, ReturnType<typeof setTimeout>]}
196
+ */
197
+ private debouncedInput;
198
+ applyDebouncedInput(): void;
199
+ /**
200
+ * @param {StateNode} node
201
+ * @param {unknown} data
202
+ * @param {number} [activateKey]
203
+ */
204
+ input(node: StateNode, data: unknown, activateKey?: number | undefined): void;
205
+ /**
206
+ * @param {StateNode} node
207
+ */
208
+ blur(node: StateNode): void;
209
+ /**
210
+ * @param {StateNode} node
211
+ */
212
+ validateNodeRecurse(node: StateNode): void;
213
+ /**
214
+ * @private
215
+ * @type {Record<string, {key: any, appliedQ: boolean, items: import('@json-layout/vocabulary').SelectItems}>}
216
+ */
217
+ private _itemsCache;
218
+ /**
219
+ * @private
220
+ * @param {StateNode} node
221
+ * @param {string} q
222
+ * @returns {Promise<{appliedQ: boolean, items: import('@json-layout/vocabulary').SelectItems}>}
223
+ */
224
+ private getItemsWithoutCache;
225
+ /**
226
+ * @param {StateNode} node
227
+ * @param {string} q
228
+ * @returns {Promise<import('@json-layout/vocabulary').SelectItems>}
229
+ */
230
+ getItems(node: StateNode, q?: string): Promise<import('@json-layout/vocabulary').SelectItems>;
231
+ /**
232
+ * @param {StateNode} node
233
+ * @param {any} rawItem
234
+ * @returns {import('@json-layout/vocabulary').SelectItem}
235
+ */
236
+ prepareSelectItem(node: StateNode, rawItem: any): import('@json-layout/vocabulary').SelectItem;
237
+ /**
238
+ * @param {StateNode} node
239
+ * @param {number} key
240
+ */
241
+ activateItem(node: StateNode, key: number): void;
242
+ /**
243
+ * @param {StateNode} node
244
+ */
245
+ deactivateItem(node: StateNode): void;
246
+ handleAutofocus(): void;
247
+ }
248
+ export type StateNode = import('./types.js').StateNode;
249
+ export type StateTree = import('./types.js').StateTree;
250
+ export type StatefulLayoutOptions = import('./types.js').StatefulLayoutOptions;
251
+ export type CreateStateTreeContext = import('./types.js').CreateStateTreeContext;
252
+ export type TextFieldNode = import('./types.js').TextFieldNode;
253
+ export type TextareaNode = import('./types.js').TextareaNode;
254
+ export type NumberFieldNode = import('./types.js').NumberFieldNode;
255
+ export type SliderNode = import('./types.js').SliderNode;
256
+ export type SectionNode = import('./types.js').SectionNode;
257
+ export type SelectNode = import('./types.js').SelectNode;
258
+ export type AutocompleteNode = import('./types.js').AutocompleteNode;
259
+ export type RadioGroupNode = import('./types.js').RadioGroupNode;
260
+ export type CheckboxGroupNode = import('./types.js').CheckboxGroupNode;
261
+ export type SwitchGroupNode = import('./types.js').SwitchGroupNode;
262
+ export type ComboboxNode = import('./types.js').ComboboxNode;
263
+ export type CheckboxNode = import('./types.js').CheckboxNode;
264
+ export type SwitchNode = import('./types.js').SwitchNode;
265
+ export type ColorPickerNode = import('./types.js').ColorPickerNode;
266
+ export type DatePickerNode = import('./types.js').DatePickerNode;
267
+ export type DateTimePickerNode = import('./types.js').DateTimePickerNode;
268
+ export type TimePickerNode = import('./types.js').TimePickerNode;
269
+ export type ExpansionPanelsNode = import('./types.js').ExpansionPanelsNode;
270
+ export type TabsNode = import('./types.js').TabsNode;
271
+ export type VerticalTabsNode = import('./types.js').VerticalTabsNode;
272
+ export type StepperNode = import('./types.js').StepperNode;
273
+ export type OneOfSelectNode = import('./types.js').OneOfSelectNode;
274
+ export type ListNode = import('./types.js').ListNode;
275
+ export type FileInputNode = import('./types.js').FileInputNode;
276
+ export type FileRef = import('./types.js').FileRef;
277
+ import { Display } from './utils/display.js';
278
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @param {import('../index.js').CompiledExpression[]} expressions
3
+ * @param {import('@json-layout/vocabulary').Expression} expression
4
+ * @param {any} data
5
+ * @param {import('./types.js').StateNodeOptions} options
6
+ * @param {import('./utils/display.js').Display} display
7
+ * @param {import('@json-layout/vocabulary').BaseCompObject} layout
8
+ * @param {Record<string, import('ajv').ValidateFunction>} validates
9
+ * @param {unknown} rootData
10
+ * @param {import('../compile/types.js').ParentContextExpression | null} parentContext
11
+ * @returns {any}
12
+ */
13
+ 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').BaseCompObject, validates: Record<string, import('ajv').ValidateFunction>, rootData: unknown, parentContext: import('../compile/types.js').ParentContextExpression | null): any;
14
+ /**
15
+ *
16
+ * @param {import('./types.js').CreateStateTreeContext} context
17
+ * @param {import('./types.js').StateNodeOptions} parentOptions
18
+ * @param {import('../index.js').CompiledLayout} compiledLayout
19
+ * @param {string | number} key
20
+ * @param {string} fullKey
21
+ * @param {string | null} parentFullKey
22
+ * @param {string} dataPath
23
+ * @param {string | null} parentDataPath
24
+ * @param {import('../index.js').SkeletonNode} skeleton
25
+ * @param {import('@json-layout/vocabulary').Child | null} childDefinition
26
+ * @param {import('./utils/display.js').Display} parentDisplay
27
+ * @param {unknown} data
28
+ * @param {import('../compile/types.js').ParentContextExpression | null} parentContext
29
+ * @param {import('./types.js').ValidationState} validationState
30
+ * @param {import('./types.js').StateNode} [reusedNode]
31
+ * @returns {import('./types.js').StateNode}
32
+ */
33
+ export function createStateNode(context: import('./types.js').CreateStateTreeContext, parentOptions: import('./types.js').StateNodeOptions, compiledLayout: import('../index.js').CompiledLayout, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import('../index.js').SkeletonNode, childDefinition: import('@json-layout/vocabulary').Child | null, parentDisplay: import('./utils/display.js').Display, data: unknown, parentContext: import('../compile/types.js').ParentContextExpression | null, validationState: import('./types.js').ValidationState, reusedNode?: import("./types.js").StateNode | undefined): import('./types.js').StateNode;
34
+ /** @type {(draft: any, node: import('./types.js').StateNode, data: unknown) => any} */
35
+ export const producePatchedData: (draft: any, node: import('./types.js').StateNode, data: unknown) => any;
36
+ //# sourceMappingURL=state-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AAyKA;;;;;;;;;;;GAWG;AACH,4CAXW,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,cAAc,aAChD,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,gBAAgB,CAAC,YAC9C,OAAO,iBACP,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,GAC1D,GAAG,CAef;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,iBACP,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,mBAC5D,OAAO,YAAY,EAAE,eAAe,4DAElC,OAAO,YAAY,EAAE,SAAS,CAiS1C;AAED,uFAAuF;AACvF,yCADmB,GAAG,QAAQ,OAAO,YAAY,EAAE,SAAS,QAAQ,OAAO,KAAK,GAAG,CAOjF"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @param {import('./types.js').CreateStateTreeContext} context
3
+ * @param {import('./types.js').StatefulLayoutOptions} options
4
+ * @param {import('../index.js').CompiledLayout} compiledLayout
5
+ * @param {import('../index.js').SkeletonTree} skeleton
6
+ * @param {import('./utils/display.js').Display} display
7
+ * @param {unknown} data
8
+ * @param {import('./types.js').ValidationState} validationState
9
+ * @param {import('./types.js').StateTree} [reusedStateTree]
10
+ * @returns {import('./types.js').StateTree}
11
+ */
12
+ export function createStateTree(context: import('./types.js').CreateStateTreeContext, options: import('./types.js').StatefulLayoutOptions, compiledLayout: import('../index.js').CompiledLayout, skeleton: import('../index.js').SkeletonTree, display: import('./utils/display.js').Display, data: unknown, validationState: import('./types.js').ValidationState, reusedStateTree?: import("./types.js").StateTree | undefined): import('./types.js').StateTree;
13
+ //# sourceMappingURL=state-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA0BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,iEAElC,OAAO,YAAY,EAAE,SAAS,CAmD1C"}
@@ -0,0 +1,173 @@
1
+ import { type ErrorObject } from 'ajv/dist/2019.js';
2
+ import { type BaseCompObject, 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 FileInput, type Child, type StateNodePropsLib } from '@json-layout/vocabulary';
3
+ import { type SkeletonTree, type SkeletonNode, type StatefulLayout, type CompiledLayout } from '../index.js';
4
+ import { type LocaleMessages } from '../i18n/types.js';
5
+ export interface StateNode {
6
+ key: string | number;
7
+ fullKey: string;
8
+ parentFullKey: string | null;
9
+ dataPath: string;
10
+ parentDataPath: string | null;
11
+ skeleton: SkeletonNode;
12
+ layout: BaseCompObject;
13
+ cols: Cols;
14
+ data: unknown;
15
+ error: string | undefined;
16
+ childError: boolean | undefined;
17
+ validated: boolean;
18
+ width: number;
19
+ options: StateNodeOptions;
20
+ messages: LocaleMessages;
21
+ autofocus?: boolean;
22
+ autofocusChild?: string | number;
23
+ props?: StateNodePropsLib;
24
+ itemsCacheKey: any;
25
+ children?: StateNode[];
26
+ }
27
+ export interface StateTree {
28
+ root: StateNode;
29
+ valid: boolean;
30
+ }
31
+ export interface CreateStateTreeContext {
32
+ errors?: ErrorObject[];
33
+ additionalPropertiesErrors?: ErrorObject[];
34
+ files: FileRef[];
35
+ activatedItems: Record<string, number>;
36
+ autofocusTarget: string | null;
37
+ initial: boolean;
38
+ rehydrate: boolean;
39
+ cacheKeys: Record<string, StateNodeCacheKey>;
40
+ rootData: unknown;
41
+ nodes: StateNode[];
42
+ }
43
+ export interface FileRef {
44
+ file: File;
45
+ dataPath: string;
46
+ }
47
+ export type StateNodeCacheKey = [
48
+ StateNodeOptions,
49
+ CompiledLayout,
50
+ string,
51
+ SkeletonNode,
52
+ Child | null,
53
+ number,
54
+ ValidationState,
55
+ Record<string, number>,
56
+ boolean,
57
+ unknown
58
+ ];
59
+ export interface ValidationState {
60
+ initialized: boolean;
61
+ validatedForm: boolean;
62
+ validatedChildren: string[];
63
+ }
64
+ export type StateNodeOptions = Required<StateNodeOptionsBase & {
65
+ context: Record<string, any>;
66
+ messages: LocaleMessages;
67
+ onData: (data: any) => void;
68
+ onUpdate: (statefulLayout: StatefulLayout) => void;
69
+ onAutofocus: (key: string) => void;
70
+ }>;
71
+ export type StatefulLayoutOptions = StateNodeOptions & {
72
+ width: number;
73
+ };
74
+ export type TextFieldNode = Omit<StateNode, 'children'> & {
75
+ layout: TextField;
76
+ data: string | undefined | null;
77
+ };
78
+ export type TextareaNode = Omit<StateNode, 'children'> & {
79
+ layout: Textarea;
80
+ data: string | undefined | null;
81
+ };
82
+ export type NumberFieldNode = Omit<StateNode, 'children'> & {
83
+ layout: NumberField;
84
+ data: number | undefined | null;
85
+ };
86
+ export type SliderNode = Omit<StateNode, 'children'> & {
87
+ layout: Slider;
88
+ data: number | undefined | null;
89
+ };
90
+ export type CheckboxNode = Omit<StateNode, 'children'> & {
91
+ layout: Checkbox;
92
+ data: boolean | undefined | null;
93
+ };
94
+ export type SwitchNode = Omit<StateNode, 'children'> & {
95
+ layout: Switch;
96
+ data: boolean | undefined | null;
97
+ };
98
+ export type DatePickerNode = Omit<StateNode, 'children'> & {
99
+ layout: DatePicker;
100
+ data: string | undefined | null;
101
+ };
102
+ export type DateTimePickerNode = Omit<StateNode, 'children'> & {
103
+ layout: DateTimePicker;
104
+ data: string | undefined | null;
105
+ };
106
+ export type TimePickerNode = Omit<StateNode, 'children'> & {
107
+ layout: TimePicker;
108
+ data: string | undefined | null;
109
+ };
110
+ export type ColorPickerNode = Omit<StateNode, 'children'> & {
111
+ layout: ColorPicker;
112
+ data: string | undefined | null;
113
+ };
114
+ export type SectionNode = StateNode & {
115
+ layout: Section;
116
+ children: StateNode[];
117
+ };
118
+ export type OneOfSelectNode = StateNode & {
119
+ layout: OneOfSelect;
120
+ data: Record<string, unknown>;
121
+ childrenTrees: SkeletonTree[];
122
+ };
123
+ export type SelectNode = Omit<StateNode, 'children'> & {
124
+ layout: Select;
125
+ data: any;
126
+ };
127
+ export type AutocompleteNode = Omit<StateNode, 'children'> & {
128
+ layout: Autocomplete;
129
+ data: any;
130
+ };
131
+ export type RadioGroupNode = Omit<StateNode, 'children'> & {
132
+ layout: Select;
133
+ data: any;
134
+ };
135
+ export type CheckboxGroupNode = Omit<StateNode, 'children'> & {
136
+ layout: Select;
137
+ data: any;
138
+ };
139
+ export type SwitchGroupNode = Omit<StateNode, 'children'> & {
140
+ layout: Select;
141
+ data: any;
142
+ };
143
+ export type TabsNode = StateNode & {
144
+ layout: Tabs;
145
+ children: StateNode[];
146
+ };
147
+ export type VerticalTabsNode = StateNode & {
148
+ layout: VerticalTabs;
149
+ children: StateNode[];
150
+ };
151
+ export type ExpansionPanelsNode = StateNode & {
152
+ layout: ExpansionPanels;
153
+ children: StateNode[];
154
+ };
155
+ export type StepperNode = StateNode & {
156
+ layout: Stepper;
157
+ children: StateNode[];
158
+ };
159
+ export type ListNode = StateNode & {
160
+ layout: List;
161
+ data: any[];
162
+ children: StateNode[];
163
+ childrenTrees: SkeletonTree[];
164
+ };
165
+ export type ComboboxNode = Omit<StateNode, 'children'> & {
166
+ layout: Combobox;
167
+ data: any[];
168
+ };
169
+ export type FileInputNode = Omit<StateNode, 'children'> & {
170
+ layout: FileInput;
171
+ data: object | undefined | null;
172
+ };
173
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @param {Display} parentDisplay
3
+ * @param {import("@json-layout/vocabulary").ColsObj | undefined} colsObj
4
+ * @returns {[Display, import("@json-layout/vocabulary").Cols]}
5
+ */
6
+ export function getChildDisplay(parentDisplay: Display, colsObj: import("@json-layout/vocabulary").ColsObj | undefined): [Display, import("@json-layout/vocabulary").Cols];
7
+ export class Display {
8
+ /**
9
+ * @param {number} width
10
+ */
11
+ constructor(width: number);
12
+ /**
13
+ * @readonly
14
+ * @type {number}
15
+ */
16
+ readonly width: number;
17
+ /** @returns {BreakPointName} */
18
+ get name(): BreakPointName;
19
+ /** @returns {boolean} */
20
+ get xs(): boolean;
21
+ /** @returns {boolean} */
22
+ get sm(): boolean;
23
+ /** @returns {boolean} */
24
+ get smAndDown(): boolean;
25
+ /** @returns {boolean} */
26
+ get smAndUp(): boolean;
27
+ /** @returns {boolean} */
28
+ get md(): boolean;
29
+ /** @returns {boolean} */
30
+ get mdAndDown(): boolean;
31
+ /** @returns {boolean} */
32
+ get mobile(): boolean;
33
+ /** @returns {boolean} */
34
+ get mdAndUp(): boolean;
35
+ /** @returns {boolean} */
36
+ get lg(): boolean;
37
+ /** @returns {boolean} */
38
+ get lgAndDown(): boolean;
39
+ /** @returns {boolean} */
40
+ get lgAndUp(): boolean;
41
+ /** @returns {boolean} */
42
+ get xl(): boolean;
43
+ /** @returns {boolean} */
44
+ get xlAndDown(): boolean;
45
+ /** @returns {boolean} */
46
+ get xlAndUp(): boolean;
47
+ /** @returns {boolean} */
48
+ get xxl(): boolean;
49
+ }
50
+ export type BreakPointName = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
51
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../src/state/utils/display.js"],"names":[],"mappings":"AAoHA;;;;GAIG;AACH,+CAJW,OAAO,WACP,OAAO,yBAAyB,EAAE,OAAO,GAAG,SAAS,GACnD,CAAC,OAAO,EAAE,OAAO,yBAAyB,EAAE,IAAI,CAAC,CAY7D;AAjHD;IAOE;;OAEG;IACH,mBAFW,MAAM,EAIhB;IAXD;;;OAGG;IACH,gBAFU,MAAM,CAEX;IASL,gCAAgC;IAChC,2BAKC;IAED,yBAAyB;IACzB,kBAEC;IAED,yBAAyB;IACzB,kBAEC;IAED,yBAAyB;IACzB,yBAEC;IAED,yBAAyB;IACzB,uBAEC;IAED,yBAAyB;IACzB,kBAEC;IAED,yBAAyB;IACzB,yBAEC;IAED,yBAAyB;IACzB,sBAEC;IAED,yBAAyB;IACzB,uBAEC;IAED,yBAAyB;IACzB,kBAEC;IAED,yBAAyB;IACzB,yBAEC;IAED,yBAAyB;IACzB,uBAEC;IAED,yBAAyB;IACzB,kBAEC;IAED,yBAAyB;IACzB,yBAEC;IAED,yBAAyB;IACzB,uBAEC;IAED,yBAAyB;IACzB,mBAEC;CACF;6BAhHa,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @template ItemType
3
+ * @param {ItemType[]} previousArray
4
+ * @param {ItemType[]} newArray
5
+ * @returns {ItemType[]}
6
+ */
7
+ export function shallowProduceArray<ItemType>(previousArray?: ItemType[], newArray?: ItemType[]): ItemType[];
8
+ /**
9
+ * @param {Record<string, any>} previousObj
10
+ * @param {Record<string, any>} newObj
11
+ * @returns {Record<string, any>}
12
+ */
13
+ export function shallowProduceObject(previousObj?: Record<string, any>, newObj?: Record<string, any>): Record<string, any>;
14
+ /**
15
+ * @template ItemType
16
+ * @param {any[] | null | undefined} a1
17
+ * @param {any[] | null | undefined} a2
18
+ * @returns {boolean}
19
+ */
20
+ export function shallowEqualArray<ItemType>(a1?: any[] | null | undefined, a2?: any[] | null | undefined): boolean;
21
+ //# sourceMappingURL=immutable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../../../src/state/utils/immutable.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,6GAIC;AAED;;;;GAIG;AACH,mDAJW,OAAO,MAAM,EAAE,GAAG,CAAC,WACnB,OAAO,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,MAAM,EAAE,GAAG,CAAC,CAW/B;AAED;;;;;GAKG;AACH,iDAJW,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,OACxB,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,GACtB,OAAO,CAOnB"}
@@ -0,0 +1,5 @@
1
+ /** @type {string[]} */
2
+ export const commonjsDeps: string[];
3
+ /** @type {string[][]} */
4
+ export const commonjsDepsPaths: string[][];
5
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/utils/build.js"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,2BADW,MAAM,EAAE,CAUlB;AAED,yBAAyB;AACzB,gCADW,MAAM,EAAE,EAAE,CAUpB"}
@@ -0,0 +1,3 @@
1
+ declare function _default(o: any): any;
2
+ export default _default;
3
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/utils/clone.js"],"names":[],"mappings":"AAoCE,uCAyBC"}
@@ -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,wCA+BC;AAED,yBAAyB;AACzB,wCAoGC;yBA1IY;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"}