@peripheries/renderer 0.23.0 → 0.23.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 (100) hide show
  1. package/README.md +45 -33
  2. package/dist/catalog.js +2 -6
  3. package/dist/chunks/{forms-CCAE7sCu.js → forms-DxA9WzCt.js} +0 -6
  4. package/dist/chunks/{load-CjPvISzH.js → load-b38vUiZM.js} +0 -4
  5. package/dist/chunks/{page-bundles-DLRIBP8g.js → page-bundles-CPj_vx-J.js} +1 -5
  6. package/dist/chunks/{persistence-DCMakM9H.js → persistence-hurkUUQ0.js} +0 -6
  7. package/dist/chunks/{projection-yvYKzMOS.js → projection-zhu32_KJ.js} +1 -15
  8. package/dist/chunks/{query-LnTbQghF.js → query-D6xQbTFK.js} +0 -6
  9. package/dist/chunks/{refs-BLUokra5.js → refs-Csgh6rXq.js} +0 -4
  10. package/dist/chunks/{structure-BrKSgzRJ.js → structure-CKBtQHJq.js} +1 -7
  11. package/dist/chunks/{validate-B_g7719l.js → validate-BcB_PA1k.js} +2 -10
  12. package/dist/core.js +9 -25
  13. package/dist/forms.js +1 -1
  14. package/dist/print.js +0 -24
  15. package/dist/react.js +4 -22
  16. package/dist/runtime.js +2 -12
  17. package/dist/styles.css +9 -15
  18. package/dist/testing.js +5 -21
  19. package/dist/theme.js +0 -10
  20. package/dist/types/catalog/check.d.ts +0 -13
  21. package/dist/types/core/actions.d.ts +0 -24
  22. package/dist/types/core/bundles/load.d.ts +0 -23
  23. package/dist/types/core/bundles/page-bundles.d.ts +0 -9
  24. package/dist/types/core/bundles/refs.d.ts +1 -28
  25. package/dist/types/core/bundles/resolve.d.ts +0 -10
  26. package/dist/types/core/cell-props.d.ts +0 -20
  27. package/dist/types/core/cells.d.ts +0 -21
  28. package/dist/types/core/data-context.d.ts +0 -22
  29. package/dist/types/core/diagnostics.d.ts +1 -3
  30. package/dist/types/core/graph.d.ts +0 -54
  31. package/dist/types/core/layout.d.ts +0 -9
  32. package/dist/types/core/load-page.d.ts +0 -111
  33. package/dist/types/core/query.d.ts +0 -64
  34. package/dist/types/core/references.d.ts +0 -21
  35. package/dist/types/core/release.d.ts +0 -10
  36. package/dist/types/core/rules.d.ts +0 -1
  37. package/dist/types/core/selected.d.ts +0 -5
  38. package/dist/types/core/sources.d.ts +5 -64
  39. package/dist/types/core/store/create-store.d.ts +0 -6
  40. package/dist/types/core/store/persistence.d.ts +0 -1
  41. package/dist/types/core/store/projection.d.ts +0 -5
  42. package/dist/types/core/store/scope-keys.d.ts +0 -1
  43. package/dist/types/core/store/types.d.ts +0 -6
  44. package/dist/types/core/structure.d.ts +0 -33
  45. package/dist/types/core/types.d.ts +0 -13
  46. package/dist/types/core/validate.d.ts +0 -12
  47. package/dist/types/core/values.d.ts +0 -6
  48. package/dist/types/forms/conditions.d.ts +0 -37
  49. package/dist/types/forms/model.d.ts +0 -44
  50. package/dist/types/forms/port.d.ts +0 -22
  51. package/dist/types/print/document-bindings.d.ts +0 -61
  52. package/dist/types/print/document-profile.d.ts +0 -137
  53. package/dist/types/print/map-staleness.d.ts +0 -66
  54. package/dist/types/print/page-map.d.ts +1 -334
  55. package/dist/types/print/paginate.d.ts +0 -190
  56. package/dist/types/print/print-layout.d.ts +0 -161
  57. package/dist/types/print/print-lint.d.ts +0 -109
  58. package/dist/types/print/print-policy.d.ts +0 -184
  59. package/dist/types/print/print-stylesheet.d.ts +0 -135
  60. package/dist/types/print/running-header.d.ts +0 -86
  61. package/dist/types/print/structure-print.d.ts +1 -243
  62. package/dist/types/react/cell-states.d.ts +0 -2
  63. package/dist/types/react/cell-view.d.ts +0 -16
  64. package/dist/types/react/page-renderer.d.ts +0 -37
  65. package/dist/types/react/structure-view.d.ts +0 -12
  66. package/dist/types/react/use-cell-store.d.ts +0 -5
  67. package/dist/types/react/use-container-size.d.ts +0 -5
  68. package/dist/types/react/use-forms-runtime.d.ts +1 -55
  69. package/dist/types/react/use-paging.d.ts +0 -9
  70. package/dist/types/runtime/boot.d.ts +0 -11
  71. package/dist/types/runtime/install.d.ts +0 -15
  72. package/dist/types/runtime/shims.d.ts +0 -8
  73. package/dist/types/runtime/store-export.d.ts +0 -7
  74. package/dist/types/testing/base-props.d.ts +0 -1
  75. package/dist/types/testing/components.d.ts +0 -8
  76. package/dist/types/testing/form-workbook.d.ts +0 -3
  77. package/dist/types/testing/golden.d.ts +0 -16
  78. package/dist/types/testing/ids.d.ts +0 -2
  79. package/dist/types/testing/sources.d.ts +0 -7
  80. package/dist/types/theme/check.d.ts +0 -2
  81. package/dist/types/theme/color.d.ts +0 -12
  82. package/dist/types/theme/derive.d.ts +0 -12
  83. package/dist/types/theme/parse.d.ts +0 -7
  84. package/package.json +2 -2
  85. package/dist/catalog.js.map +0 -1
  86. package/dist/chunks/forms-CCAE7sCu.js.map +0 -1
  87. package/dist/chunks/load-CjPvISzH.js.map +0 -1
  88. package/dist/chunks/page-bundles-DLRIBP8g.js.map +0 -1
  89. package/dist/chunks/persistence-DCMakM9H.js.map +0 -1
  90. package/dist/chunks/projection-yvYKzMOS.js.map +0 -1
  91. package/dist/chunks/query-LnTbQghF.js.map +0 -1
  92. package/dist/chunks/refs-BLUokra5.js.map +0 -1
  93. package/dist/chunks/structure-BrKSgzRJ.js.map +0 -1
  94. package/dist/chunks/validate-B_g7719l.js.map +0 -1
  95. package/dist/core.js.map +0 -1
  96. package/dist/print.js.map +0 -1
  97. package/dist/react.js.map +0 -1
  98. package/dist/runtime.js.map +0 -1
  99. package/dist/testing.js.map +0 -1
  100. package/dist/theme.js.map +0 -1
@@ -9,49 +9,19 @@ import type { StackStoreApi } from '../core/store/create-store.js';
9
9
  import type { PageCell } from '../core/types.js';
10
10
  import { type FrameProps } from './cell-view.js';
11
11
  import type { LoadPage } from './use-paging.js';
12
- /** What differs between the host, the component repos' harness and the agency's preview (design/renderer.md §6). */
13
12
  export type RendererEnvironment = {
14
- /** Default components: what a name resolves to when no bundle in scope exports it. */
15
13
  core: CoreRegistry;
16
14
  navigate: (to: string) => void;
17
- /** The shared store the cells' selections, viewState and live read. */
18
15
  store: StackStoreApi;
19
- /** A page configuration problem, for whoever is building the page. Default: a console warning. */
20
16
  onDiagnostic?: (d: Diagnostic) => void;
21
- /**
22
- * The actions a cell gets. The host has none until R2's write rule; the
23
- * component repos' harness gives mocks (`projectCellActions` applies the PWA's
24
- * lookup rule to a page-level map).
25
- */
26
17
  actionsFor?: (cell: PageCell) => Record<string, CellAction> | undefined;
27
- /**
28
- * Runs a cell's declared action (design/data.md §9.2), resolved against the
29
- * cell's data and the component's `@input`: the host's write path, as the
30
- * viewer, or a harness's mock. Without it a declared action reports `FAILED`.
31
- */
32
18
  runAction?: RunAction;
33
- /**
34
- * Loads a paged label's next page (QueryDescriptor.paging), as the viewer.
35
- * Without it a paged label shows its first page, with `hasMore` false.
36
- */
37
19
  loadPage?: LoadPage;
38
- /** A component threw. Default: a console error; the cell shows an error notice either way. */
39
20
  onCellError?: (cellId: string, error: Error) => void;
40
- /** A cell's prop reference resolved to nothing (a binding the page gets wrong). */
41
21
  onUnresolvedReference?: (cellId: string, ref: string) => void;
42
- /**
43
- * Each rendered cell's props, leaf by leaf, with where each value came from (INV-DOC-6): what
44
- * the edit layer maps to a write function with `editTarget`. Called as each cell renders.
45
- */
46
22
  onPropSources?: (cell: EditCell, sources: PropSourceEntry[]) => void;
47
- /** Reads the page again: a cell whose data or bundle failed offers it as "Try again" (shell audit S1). */
48
23
  retry?: () => void;
49
- /** Extra attributes and style for each cell's frame, e.g. a print policy the host doesn't apply yet. */
50
24
  frameProps?: (cell: PageCell, contract: ComponentContract | undefined) => FrameProps | undefined;
51
- /**
52
- * Props a cell gets from the page's runtime, merged over everything else: on a form page, the
53
- * forms runtime's `form`, `answers` and `answer` (useFormsRuntime's `cellProps`).
54
- */
55
25
  cellProps?: (cell: PageCell) => Record<string, unknown> | undefined;
56
26
  };
57
27
  export type PageRendererProps = {
@@ -60,14 +30,7 @@ export type PageRendererProps = {
60
30
  params: Record<string, unknown>;
61
31
  baseProps: unknown;
62
32
  context: Record<string, unknown>;
63
- /** The signed-in person, for `@viewer.*` in props (design/data.md §5). */
64
33
  viewer?: unknown;
65
34
  environment: RendererEnvironment;
66
35
  };
67
- /**
68
- * One page, one renderer (design/core.md §3, stages 4–5). It fetches nothing:
69
- * the page's data comes in `runtime` (loadPageData) and its bundles in
70
- * `bundles`. On the server the bundles haven't imported, so each cell renders
71
- * as a placeholder sized by its layout.
72
- */
73
36
  export declare function PageRenderer({ runtime, bundles, params, baseProps, context, viewer, environment }: PageRendererProps): import("react").JSX.Element;
@@ -5,21 +5,9 @@ type Derived = {
5
5
  numbering: SectionNumbering;
6
6
  references: SectionReferences;
7
7
  };
8
- /**
9
- * Numbering and references for the whole page, derived once: a nested
10
- * renderer that re-derived them from its subtree would number the same
11
- * section differently. Clause citations read each cell's resolved `props.blocks`.
12
- */
13
8
  export declare function useStructureFacts(structure: LayoutNode[], cells: PageCell[], env: CellEnvironment, documents: Record<string, {
14
9
  label?: unknown;
15
10
  }> | undefined): Derived;
16
- /**
17
- * The document renderer (the PWA's StructureRenderer). A node naming a cell
18
- * renders it with the whole document's numbering, levels, titles, anchors and
19
- * references for the node's own document, and with the node's children as the
20
- * cell's child cells. A section node is a real `<section>` with a heading; a
21
- * container section with no cell renders its children itself.
22
- */
23
11
  export declare function StructureView({ nodes, env, facts, level, documentId, }: {
24
12
  nodes: Array<LayoutNode | string> | ResolvedLayoutNode[];
25
13
  env: CellEnvironment;
@@ -1,11 +1,6 @@
1
1
  import type { StackStoreApi } from '../core/store/create-store.js';
2
2
  import { type ScopeContext } from '../core/store/scope-keys.js';
3
3
  import type { PageCell } from '../core/types.js';
4
- /**
5
- * A cell's `selections`, `viewState` and `live` props from the shared store.
6
- * The selector returns values only, compared shallowly, so a cell re-renders
7
- * only when one of its own channels changes; setters are attached after.
8
- */
9
4
  export declare function useCellStore(cell: PageCell, scope: ScopeContext, api: StackStoreApi): {
10
5
  selections: import("../core/index.js").ProjectedBundle | undefined;
11
6
  viewState: import("../core/index.js").ProjectedBundle | undefined;
@@ -3,9 +3,4 @@ export type Size = {
3
3
  width: number;
4
4
  height: number;
5
5
  };
6
- /**
7
- * The element's measured size, in whole pixels, updated at most once per
8
- * frame (design/core.md §4). Only for components that declare they need it:
9
- * CSS container queries cover the rest for free.
10
- */
11
6
  export declare function useContainerSize(ref: RefObject<HTMLElement | null>, enabled: boolean): Size | undefined;
@@ -1,47 +1,26 @@
1
1
  import { type KeyboardEvent } from 'react';
2
2
  import { type DisplayMode, type FileToUpload, type FormLink, type FormModel, type FormQuestionDefinition, type FormsPort, type FormsRefusal, type Position, type StepKind, type SubmissionStatus } from '../forms/index.js';
3
- /** How long after the last change an answer is saved (forms-as-pages.md §4.3: 3 s). */
4
3
  export declare const FORM_SAVE_DEBOUNCE_MS = 3000;
5
4
  export type FormSaveState = 'idle' | 'saving' | 'saved' | 'error';
6
- /**
7
- * What the form's shell slots read (forms-as-pages.md §4.4; DS M1's `host:Form*` defaults and an
8
- * org's replacements): the contents, the header, the footer, the phone app bar and step bar.
9
- * Frozen in 0.23.0. The names an org's workbook components bind (`forms.sections`,
10
- * `forms.progress`, `forms.goToSection`, `forms.advance`, `forms.setDisplayMode`) are these.
11
- */
12
- /**
13
- * One question as a cell gets it (forms-as-pages.md §4.3; agreed with DS for 0.23.0): the same
14
- * words as the slot props. `answers` holds only the questions its conditions show.
15
- */
16
5
  export type FormAnswer = {
17
- /** The answer's key (`?question=`, conditions, the port). */
18
6
  key: string;
19
7
  label: string;
20
- /** How to ask it, from the question node (FormQuestion.definition); null when the page gives none. */
21
8
  question: FormQuestionDefinition | null;
22
- /** As saved, or as typed while its save is pending. */
23
9
  value: unknown;
24
- /** Saves through the port, debounced and flushed on every move; a no-op while read-only. */
25
10
  change(value: unknown): void;
26
11
  readOnly: boolean;
27
12
  required: boolean;
28
- /** Required and unanswered, once the person has moved past its step or tried to submit. */
29
13
  missing: boolean;
30
- /** Its last refusal from the port, in words; null once a save of it succeeds. */
31
14
  refusal: string | null;
32
- /** The DOM id the runtime moves focus to (goToQuestion, Review's Edit links): unique on the page; put it on the control. */
33
15
  inputId: string;
34
- /** A file question: upload, then save the file answer. Absent where the port takes no files. */
35
16
  upload?(file: FileToUpload): Promise<{
36
17
  ok: true;
37
18
  } | {
38
19
  ok: false;
39
20
  refusal: string;
40
21
  }>;
41
- /** A short-lived URL for the saved file; null when there is none or it can't be opened. */
42
22
  openFile?(): Promise<string | null>;
43
23
  };
44
- /** The id a question's control carries (FormAnswer.inputId). */
45
24
  export declare const answerInputId: (key: string) => string;
46
25
  export type FormSlotProps = {
47
26
  title: string;
@@ -49,7 +28,6 @@ export type FormSlotProps = {
49
28
  id: string;
50
29
  title: string;
51
30
  } | null;
52
- /** `label`: the step's authored word, shown in place of its derived kind's when present. */
53
31
  step: {
54
32
  id: string;
55
33
  title: string;
@@ -69,10 +47,6 @@ export type FormSlotProps = {
69
47
  total: number;
70
48
  current: boolean;
71
49
  }>;
72
- /**
73
- * Required answered of required (what "complete" and the bar mean; `ratio`), and `total`: every
74
- * visible question, answered of all ("X of Y questions answered").
75
- */
76
50
  progress: {
77
51
  answered: number;
78
52
  required: number;
@@ -82,20 +56,15 @@ export type FormSlotProps = {
82
56
  count: number;
83
57
  };
84
58
  };
85
- /**
86
- * In question mode, the question shown: its place in the step, its key (`?question=`), and the
87
- * next question in the step ("Next question"). Null in step mode, or on a step without questions.
88
- */
89
59
  question: {
90
60
  index: number;
91
61
  count: number;
92
62
  key: string;
93
63
  next: {
94
64
  label: string;
95
- } | null; /** The question shown, as a cell gets it. */
65
+ } | null;
96
66
  answer?: FormAnswer;
97
67
  } | null;
98
- /** Go to a question by key: its step, and in question mode the question (review's Edit links, deep links). */
99
68
  goToQuestion(key: string): void;
100
69
  displayMode: DisplayMode;
101
70
  setDisplayMode(mode: DisplayMode): void;
@@ -106,13 +75,11 @@ export type FormSlotProps = {
106
75
  next: {
107
76
  title: string;
108
77
  } | null;
109
- /** The last step's action; absent elsewhere. `blocked` under `submit.required: 'block'` while anything is missing. */
110
78
  submit?: {
111
79
  label: string;
112
80
  run(): void;
113
81
  blocked: boolean;
114
82
  } | null;
115
- /** Edit answers, on a submitted form (forms-as-pages.md §4.3); absent otherwise. */
116
83
  reopen?: {
117
84
  label: string;
118
85
  run(): void;
@@ -122,20 +89,16 @@ export type FormSlotProps = {
122
89
  at?: string;
123
90
  error?: string;
124
91
  };
125
- /** Required questions still to answer here (warn while moving, never block). */
126
92
  missing: Array<{
127
93
  key: string;
128
94
  label: string;
129
95
  }>;
130
- /** Every chapter, in order, so a nav can group its rows under each (`sections[].chapter` names one). */
131
96
  chapters?: Array<{
132
97
  id: string;
133
98
  title: string;
134
99
  }>;
135
- /** The submission's status (null for a form that takes none), and whether answers can be changed now. */
136
100
  status?: SubmissionStatus | null;
137
101
  readOnly?: boolean;
138
- /** The newest staff review (form_review): what they asked for, or that they completed it. Null when none. */
139
102
  review?: {
140
103
  status: SubmissionStatus;
141
104
  note: string;
@@ -146,27 +109,18 @@ export type FormSlotProps = {
146
109
  export type FormsRuntimeOptions = {
147
110
  model: FormModel;
148
111
  port: FormsPort;
149
- /** Answers as loaded, and the state each was read at (what the next save expects). */
150
112
  initial: Record<string, {
151
113
  value: unknown;
152
114
  stateId?: string | null;
153
115
  }>;
154
116
  status: SubmissionStatus | null;
155
117
  visited?: string[];
156
- /** The deep link the route was opened with. */
157
118
  link?: FormLink;
158
- /** A phone opens in question mode. */
159
119
  phone?: boolean;
160
- /** Tell the route where the person is: a step change pushes history, a move within a step replaces it. */
161
120
  onNavigate?(link: FormLink, how: {
162
121
  replace: boolean;
163
122
  }): void;
164
- /** A refusal's words (the host's text for a code). */
165
123
  describe?(code: FormsRefusal): string;
166
- /**
167
- * The submission's staff notes as loaded (`SubmissionData.notes`), `by` as the host can name the
168
- * writer to this viewer (else null): the newest review is the `review` slot.
169
- */
170
124
  notes?: Array<{
171
125
  at: string;
172
126
  text: string;
@@ -174,14 +128,6 @@ export type FormsRuntimeOptions = {
174
128
  by?: string | null;
175
129
  }>;
176
130
  };
177
- /**
178
- * The forms runtime (forms-as-pages.md §4.3) for a form page: modes, Next / Back, the contents
179
- * click, Enter, required (warn while moving; warn or block on submit), history, scroll and focus,
180
- * saving through the port (debounced per question, flushed on every move, on submit, on
181
- * `pagehide` and on unmount, in order, retried with the next change or flush), progress (read
182
- * steps once visited), read-only states and deep links. The route renders the cells; the shell's
183
- * slots render `slots`.
184
- */
185
131
  export declare function useFormsRuntime(o: FormsRuntimeOptions): {
186
132
  slots: FormSlotProps | null;
187
133
  cellProps: (cell: {
@@ -1,22 +1,13 @@
1
1
  import type { QueryPage } from '../core/load-page.js';
2
2
  import type { DataContext, DataEntry, PageCell } from '../core/types.js';
3
- /** Loads one more page of a paged label (RendererEnvironment.loadPage): the host's read, as the viewer. */
4
3
  export type LoadPage = (descriptor: NonNullable<DataEntry['page']>['descriptor'], variables: Record<string, unknown>) => Promise<QueryPage>;
5
- /** A paged label as a component sees it (apps.md §6). */
6
4
  export type LabelPaging = {
7
5
  hasMore: boolean;
8
6
  isLoadingMore: boolean;
9
7
  error: Error | null;
10
8
  loadMore: () => void;
11
9
  };
12
- /** The labels a cell reads: those it declares, and those its props reference. */
13
10
  export declare function cellLabels(cell: Pick<PageCell, 'props' | 'data'>): Set<string>;
14
- /**
15
- * A cell's paged labels (QueryDescriptor.paging): the pages it has loaded
16
- * beyond the first, appended to each label's data, and `loadMore` /
17
- * `hasMore` per label. A label whose first page reloads (a write, Realtime)
18
- * starts again from that page.
19
- */
20
11
  export declare function usePaging(cell: Pick<PageCell, 'props' | 'data'>, entries: DataContext, loadPage: LoadPage | undefined): {
21
12
  data: DataContext;
22
13
  paging: Record<string, LabelPaging> | undefined;
@@ -1,18 +1,7 @@
1
1
  import { type SharedImport } from '@peripheries/runtime';
2
- /**
3
- * A classic inline script that must run before any module: it creates the
4
- * promise every shim awaits. `installRuntime` resolves it.
5
- */
6
2
  export declare const RUNTIME_BOOT_SCRIPT: string;
7
- /**
8
- * The import map for a page: the pinned runtimes plus the shared lineages'
9
- * live versions (design/core-and-tokens.md §4). One map per page, because
10
- * Firefox doesn't merge several and a merged map keeps the first rule.
11
- */
12
3
  export declare function importMapFor(shared?: readonly SharedImport[]): {
13
4
  imports: Record<string, string>;
14
5
  };
15
- /** `importMapFor`, serialised for `<script type="importmap">`. `<` is escaped so a URL can't close the script. */
16
6
  export declare function importMapJson(shared?: readonly SharedImport[]): string;
17
- /** The import map with no shared lineages, serialised for `<script type="importmap">`. */
18
7
  export declare const IMPORT_MAP_JSON: string;
@@ -1,5 +1,4 @@
1
1
  import { READY_GLOBAL, RESOLVE_GLOBAL, RUNTIME_GLOBAL, type RuntimeSpecifier } from '@peripheries/runtime';
2
- /** `@peripheries/ui` is lent by the host (`extra`), not installed by the renderer. */
3
2
  export type StackRuntime = Record<Exclude<RuntimeSpecifier, '@peripheries/ui'>, unknown> & Record<string, unknown>;
4
3
  type RuntimeGlobals = {
5
4
  [RUNTIME_GLOBAL]?: StackRuntime;
@@ -7,20 +6,6 @@ type RuntimeGlobals = {
7
6
  [RESOLVE_GLOBAL]?: () => void;
8
7
  require?: (specifier: string) => unknown;
9
8
  };
10
- /**
11
- * The host's module instances by specifier. `extra` is what the host lends beyond the
12
- * renderer's own (`@peripheries/ui`), so the published renderer depends on nothing it
13
- * doesn't install itself.
14
- */
15
9
  export declare function buildRuntime(extra?: Record<string, unknown>): StackRuntime;
16
- /**
17
- * Puts the host's module instances where the `/_shared/*.js` shims look for
18
- * them, and releases every shim waiting on the boot promise. Idempotent.
19
- *
20
- * Also installs a `globalThis.require` for Rolldown's CJS interop: bundles
21
- * built with Vite 8 call `require('react')` from transitive CJS dependencies
22
- * at module init, which throws in a browser without it. The runtime modules
23
- * are already loaded, so it answers synchronously.
24
- */
25
10
  export declare function installRuntime(g?: RuntimeGlobals, extra?: Record<string, unknown>): StackRuntime;
26
11
  export { runtimeReady } from '../core/bundles/load.js';
@@ -1,11 +1,3 @@
1
1
  import { type RuntimeSpecifier } from '@peripheries/runtime';
2
- /** Output file name, taken from the URL the import map advertises, so the two can't disagree. */
3
2
  export declare function shimFileName(specifier: RuntimeSpecifier): string;
4
- /**
5
- * An ESM module that forwards `specifier` to the host's instance.
6
- *
7
- * It awaits the ready promise the boot script creates, so a bundle imported
8
- * before the host has installed its runtime waits instead of failing: the
9
- * "Failed to resolve module specifier" race cannot happen (channel-06 #10).
10
- */
11
3
  export declare function renderShim(specifier: RuntimeSpecifier, names: string[], hasDefault: boolean): string;
@@ -1,14 +1,7 @@
1
1
  import { type StackStoreApi } from '../core/store/create-store.js';
2
2
  import type { LiveEntry, ScopeId, StackStoreState } from '../core/store/types.js';
3
3
  export declare function getStackStore(): StackStoreApi;
4
- /**
5
- * Forget everything the shared store holds for the current viewer: its
6
- * selections, view state and live data, and every persisted scope. The host
7
- * calls it when the signed-in user changes or signs out, so nothing one
8
- * viewer selected or saw survives into the next viewer's session.
9
- */
10
4
  export declare function resetStackStore(): void;
11
- /** Subscribe a component to a slice of the shared store. */
12
5
  export declare function useStackStore<T>(selector: (state: StackStoreState) => T): T;
13
6
  export declare const selectors: {
14
7
  selection: (scope: ScopeId, channel: string) => (s: StackStoreState) => unknown;
@@ -1,3 +1,2 @@
1
1
  import type { BaseProps } from '@peripheries/runtime';
2
- /** What every cell gets as `baseProps` on a golden page: a synthetic viewer of the example client org. */
3
2
  export declare const FIXTURE_BASE_PROPS: BaseProps;
@@ -12,22 +12,15 @@ type SectionMaps = {
12
12
  }>;
13
13
  };
14
14
  export declare function Masthead({ title, subtitle }: Props): import("react").JSX.Element;
15
- /** Authored text arrives as `children` unless the cell has child cells. */
16
15
  export declare function Prose({ children }: Props): import("react").JSX.Element;
17
- /** A section body in the style of an org bundle's DocumentSection: it owns its section's anchor. */
18
16
  export declare function DocumentSection({ sectionId, title, body, blocks, children, sectionNumbers, sectionAnchors }: Props & SectionMaps): import("react").JSX.Element;
19
- /** A same-page citation: `§<number> <title>`, plus the clause's letter when it names one. */
20
17
  export declare function SectionReference({ to, sectionReferences }: Props & SectionMaps): import("react").JSX.Element;
21
18
  export declare function KpiCard({ label, value, data, status }: Props): import("react").JSX.Element;
22
- /** Writes a shared selection. */
23
19
  export declare function OptionList({ options, selections }: Props): import("react").JSX.Element;
24
- /** Reads the same selection. */
25
20
  export declare function SelectionEcho({ selections }: Props): import("react").JSX.Element;
26
21
  export declare function Boom(): never;
27
- /** Lists a walk's nodes with their plan and data states, as a backlog or flow cell would. */
28
22
  export declare function FlowList({ nodes, edges }: Props): import("react").JSX.Element;
29
23
  export declare function Badge({ text }: Props): import("react").JSX.Element;
30
- /** The example client org's main lineage. */
31
24
  export declare const clientKit: {
32
25
  Masthead: typeof Masthead;
33
26
  Prose: typeof Prose;
@@ -39,7 +32,6 @@ export declare const clientKit: {
39
32
  FlowList: typeof FlowList;
40
33
  Boom: typeof Boom;
41
34
  };
42
- /** The advisor org's main lineage: its own Prose (which the client's shadows) and a Badge only it has. */
43
35
  export declare const advisorKit: {
44
36
  Prose: ({ children }: Props) => import("react").JSX.Element;
45
37
  Badge: typeof Badge;
@@ -1,5 +1,4 @@
1
1
  import { type FormItem, type FormModel } from '../forms/index.js';
2
- /** The fixture page, as `project_page` holds it. */
3
2
  export declare const formWorkbookPage: {
4
3
  id: string;
5
4
  name: string;
@@ -100,7 +99,5 @@ export declare const formWorkbookPage: {
100
99
  };
101
100
  };
102
101
  };
103
- /** A cell's place in the form: its question, if it asks one. */
104
102
  export declare function formWorkbookItem(cellId: string): FormItem | null;
105
- /** The fixture as the forms runtime reads it. */
106
103
  export declare const formWorkbookModel: () => FormModel;
@@ -8,49 +8,33 @@ export type GoldenBundle = {
8
8
  };
9
9
  export type GoldenPage = {
10
10
  name: string;
11
- /** What it proves, in one line. */
12
11
  purpose: string;
13
12
  page: ProjectPage;
14
- /** The process row: its id and its `<tier>_<role>_system_id` columns. */
15
13
  process?: {
16
14
  id: string;
17
15
  } & Record<string, string | null>;
18
- /** walk_graph's answers, by start node (and depth, when two walks share a start); states keyed by system id. */
19
16
  walks?: Array<{
20
17
  start: string;
21
18
  maxDepth?: number;
22
19
  result: RawWalk;
23
20
  }>;
24
- /** Newest `page_cell_config` per cell node (cell_config_latest). */
25
21
  configs?: Array<{
26
22
  system_id: string;
27
23
  graph_node_id: string;
28
24
  config: Record<string, unknown>;
29
25
  }>;
30
- /** Newest state per node (node_state_latest). */
31
26
  states?: Array<{
32
27
  system_id: string;
33
28
  graph_node_id: string;
34
29
  data: unknown;
35
30
  }>;
36
- /**
37
- * Queries' answers by operation name: what the label holds, already shaped
38
- * (design/data.md §6). A function of the variables answers per viewer or per id.
39
- */
40
31
  queries?: Record<string, unknown | ((variables: Record<string, unknown>) => unknown)>;
41
- /** Live bundles the viewer can see; the page's scope picks among them. */
42
32
  bundles: GoldenBundle[];
43
- /** The org template's advisor org, whose main lineage is in scope after the page's own org. */
44
33
  advisorOrgId?: string;
45
34
  };
46
- /** An SCG document: a frame cell, then sections numbered through a transparent container, a clause citation and child cells. */
47
35
  export declare const documentPage: GoldenPage;
48
- /** A grid dashboard fed by declared producers, with conditions, a crash, a missing component and a shared selection. */
49
36
  export declare const dashboardPage: GoldenPage;
50
- /** A legacy page of thin refs: configs from the cells' DSNS, their declarations hoisted, one config missing. */
51
37
  export declare const thinRefPage: GoldenPage;
52
- /** Every cell form on one page: inline, refs (one with a config, one falling back), a legacy thin ref, form 4, and a cross-org bundle. */
53
38
  export declare const mixedPage: GoldenPage;
54
- /** Walks from the page node: @_traversal with two systems, walk labels scoped to their cell, declarations winning, walks skipped when not needed. */
55
39
  export declare const walkPage: GoldenPage;
56
40
  export declare const GOLDEN_PAGES: GoldenPage[];
@@ -1,7 +1,5 @@
1
- /** A synthetic UUID: `fixtureId(7)` → `00000000-0000-4000-8000-000000000007`. */
2
1
  export declare const fixtureId: (n: number) => string;
3
2
  export declare const FIXTURE_ID: RegExp;
4
- /** The only org slugs and email domain a fixture may use. */
5
3
  export declare const FIXTURE_ORG_SLUGS: readonly ["example-client", "example-advisor"];
6
4
  export declare const FIXTURE_EMAIL_DOMAIN = "example.test";
7
5
  export declare const CLIENT_ORG: {
@@ -8,18 +8,11 @@ export type SourceCall = {
8
8
  method: keyof GraphSource;
9
9
  args: unknown[];
10
10
  };
11
- /** A GraphSource over a golden page's process, configs, states and walks. */
12
11
  export declare function goldenGraphSource(g: GoldenPage): GraphSource & {
13
12
  calls: SourceCall[];
14
13
  };
15
- /** A golden bundle's registry row: every export, under its own name. */
16
14
  export declare function goldenBundleRow(b: GoldenBundle): BundleRow;
17
- /** The page's bundle scope, nearest first: its own refs, then its org's main lineage, then the advisor org's. */
18
15
  export declare function goldenScope(g: GoldenPage): LineageRef[];
19
- /**
20
- * The page's bundles, "imported" from the golden modules. `loaded: false` gives
21
- * what the server renders with: the rows, and no bundle yet.
22
- */
23
16
  export declare function goldenBundles(g: GoldenPage, cells: PageCell[], { loaded }?: {
24
17
  loaded?: boolean | undefined;
25
18
  }): PageBundles;
@@ -1,6 +1,4 @@
1
1
  import type { ThemeV2 } from '@peripheries/runtime';
2
2
  import type { ThemeDiagnostic } from './parse.js';
3
- /** [foreground, background, minimum ratio]: 4.5 for text, 3 for UI and large text. */
4
3
  export declare const CONTRAST_PAIRS: readonly (readonly [string, string, number])[];
5
- /** Contrast warnings for the theme's merged tier. Pairs whose values don't resolve to colours are skipped. */
6
4
  export declare function checkTheme(theme: ThemeV2, base?: Record<string, string>): ThemeDiagnostic[];
@@ -1,29 +1,17 @@
1
- /** A gamma-encoded sRGB colour, every channel 0–1. */
2
1
  export type Rgb = {
3
2
  r: number;
4
3
  g: number;
5
4
  b: number;
6
5
  alpha: number;
7
6
  };
8
- /** OKLCH: lightness 0–1, chroma (0–~0.4), hue in degrees. */
9
7
  export type Oklch = {
10
8
  l: number;
11
9
  c: number;
12
10
  h: number;
13
11
  };
14
- /** Parse a CSS colour: hex (#rgb, #rgba, #rrggbb, #rrggbbaa), rgb()/rgba(), hsl()/hsla() or oklch(), legacy or modern syntax. */
15
12
  export declare function parseColor(value: string): Rgb | null;
16
- /** `#rrggbb`, or `#rrggbbaa` when the colour is translucent. */
17
13
  export declare function toHex(color: Rgb): string;
18
- /** sRGB → OKLCH (alpha is dropped). Achromatic colours get hue 0. */
19
14
  export declare function toOklch(color: Rgb): Oklch;
20
- /** OKLCH → sRGB, mapped into gamut by reducing chroma at the same lightness and hue. */
21
15
  export declare function fromOklch(color: Oklch): Rgb;
22
- /** WCAG 2.x relative luminance. */
23
16
  export declare function relativeLuminance(color: Rgb): number;
24
- /**
25
- * WCAG 2.x contrast ratio (1–21) of a foreground on a background. A
26
- * translucent foreground is composited over the background, a translucent
27
- * background over white. Null when either colour doesn't parse.
28
- */
29
17
  export declare function contrastRatio(foreground: Rgb | string, background: Rgb | string): number | null;
@@ -1,18 +1,6 @@
1
1
  import type { ThemeV2 } from '@peripheries/runtime';
2
2
  import { type Rgb } from './color.js';
3
- /** What the derivation and the check assume when neither the theme nor the base sets them. */
4
3
  export declare const FALLBACK_BASE: Readonly<Record<string, string>>;
5
- /** Follow `var(--x)` through a flat token map (keys without `--`) to a colour. */
6
4
  export declare function resolveColor(value: string | undefined, tokens: Record<string, string>, depth?: number): Rgb | null;
7
- /**
8
- * The semantic overrides a theme sets (names without `--`). `base` is core's
9
- * flat default map; it supplies the background and text the derivation
10
- * contrasts against when the theme doesn't set them. Explicit `tokens` win.
11
- */
12
5
  export declare function themeTokens(theme: ThemeV2, base?: Record<string, string>): Record<string, string>;
13
- /**
14
- * The overrides as the `theme` cascade layer, one declaration per line,
15
- * sorted; '' when the theme sets nothing. A value that could break out of
16
- * a declaration or the `<style>` element is dropped.
17
- */
18
6
  export declare function themeCss(theme: ThemeV2, base?: Record<string, string>): string;
@@ -5,18 +5,11 @@ export type ThemeDiagnostic = {
5
5
  message: string;
6
6
  severity: 'error' | 'warning';
7
7
  };
8
- /** A value that is safe to write into a declaration in a `<style>` element. */
9
8
  export declare const isSafeCssValue: (value: string) => boolean;
10
- /** `var(--name)` or `var(--name, fallback)`. */
11
9
  export declare const VAR_REF: RegExp;
12
10
  type Read = {
13
11
  theme: ThemeV2;
14
12
  diagnostics: ThemeDiagnostic[];
15
13
  };
16
- /**
17
- * A template's theme as version 2. `version: 2` is validated as written; no
18
- * version (or `version: 1`) is the legacy shape, mapped per
19
- * design/core-and-tokens.md §6.1. Bad values are dropped with a diagnostic.
20
- */
21
14
  export declare function parseTheme(raw: unknown): Read;
22
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peripheries/renderer",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "description": "The one renderer for pages of federated component bundles: a framework-free core, a React renderer, the runtime a page boots with, and golden pages for testing.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -47,7 +47,7 @@
47
47
  "LICENSE"
48
48
  ],
49
49
  "dependencies": {
50
- "@peripheries/runtime": "0.23.0",
50
+ "@peripheries/runtime": "0.23.1",
51
51
  "ajv": "8.20.0",
52
52
  "graphql": "17.0.2"
53
53
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","names":[],"sources":["../src/catalog/check.ts"],"mappings":";;;;;AA6BA,IAAM,OAAO,MAAc,QAAgB,GAAG,KAAK,GAAG;AACtD,IAAM,QAAQ,MAAe,KAAK,UAAU,KAAK,IAAI,CAAC,CAAC;AACvD,IAAM,eAAe,MAAe,OAAO,MAAM,aAAa,EAAE,WAAW,GAAG,KAAK,EAAE,SAAS,IAAI;AAElG,IAAM,kBAAkB,MACtB,YAAY,CAAC,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,cAAc,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc;AAG5I,SAAS,KAAK,SAAiB,KAAmB,QAA4B;CAC5E,OAAO;EAAE;EAAS,MAAM,IAAI;EAAM,KAAK,IAAI;EAAK,OAAO,IAAI;EAAO,SAAS,IAAI;EAAS,MAAM,IAAI,QAAQ,CAAC;EAAG,GAAI,QAAQ,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC;CAAG;AAC3K;AAGA,IAAM,aAAa,QAAmC,KAAK,SAAS,cAAc,IAAI,WAAW,KAAK,KAAA;AAEtG,SAAgB,aAAa,OAAmC;CAC9D,MAAM,MAAoB,CAAC;CAC3B,MAAM,MAAM,KAAyC,UAAmB,GAAG,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI,UAAU;CAC1H,MAAM,MAAM,IAAI,QAAQ;EAAE,QAAQ;EAAO,WAAW;CAAK,CAAC;CAC1D,MAAM,YAAY,UAAsC,MAAM,SAAS,SAAS,MAAM,gBAAgB,MAAA,EAAQ;CAG9G,MAAM,QAAQ,IAAI,IAA0B;CAC5C,KAAK,MAAM,OAAO,MAAM,MAAM;EAC5B,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG;EAChC,IAAI,MAAM,IAAI,EAAE,GAAG,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAuB,MAAM,GAAG,GAAG;GAAG,SAAS,GAAG,GAAG;EAAgB,CAAC;EAC7H,MAAM,IAAI,IAAI,GAAG;EACjB,KAAK,IAAI,SAAS,SAAS,IAAI,SAAS,cAAc,CAAC,cAAc,KAAK,IAAI,GAAG,GAC/E,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAyB,MAAM,GAAG,GAAG;GAAG,SAAS,IAAI,IAAI,IAAI,YAAY,IAAI,KAAK;EAAM,CAAC;EAE/H,IAAI,CAAC,IAAI,SAAS,KAAK,KAAK,IAAI,QAAQ,SAAS,kBAAkB,SACjE,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAqB,MAAM,GAAG,KAAK,SAAS;GAAG,SAAS,kBAAkB,IAAI,SAAS,UAAU,EAAE,4BAA4B,kBAAkB;EAAU,CAAC;CAEpM;CACA,IAAI,CAAC,MAAM,KAAK,MAAM,MAAM,EAAE,SAAS,QAAQ,GAAG,IAAI,KAAK;EAAE,UAAU;EAAS,MAAM;EAA2B,MAAM;EAAU,SAAS,GAAG,MAAM,QAAQ;CAAoB,CAAC;CAGhL,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,QAAQ,GAAG;EAC1D,MAAM,MAAM,MAAM,IAAI,IAAI,aAAa,IAAI,CAAC;EAC5C,IAAI,KAAK,cAAc,OAAO;EAC9B,IAAI,CAAC,KAAK,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAoC,MAAM,aAAa;GAAQ,SAAS,GAAG,KAAK;EAAuC,CAAC;OACjK,IAAI,CAAC,IAAI,UAAU,QAAQ,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAoC,MAAM,GAAG,KAAK,UAAU;GAAG,SAAS,GAAG,KAAK;EAAiB,CAAC;EACtK,MAAM,SAAS,MAAM;EACrB,IAAI,WAAW,KAAA,KAAa,WAAW,QAAQ,CAAC,IAAI,eAAe,MAAgB,GACjF,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAA4B,MAAM,aAAa,KAAK;GAAgB,SAAS,IAAI,WAAW,IAAI,QAAQ,EAAE,SAAS,eAAe,CAAC;EAAE,CAAC;CAE9K;CACA,KAAK,MAAM,OAAO,MAAM,MACtB,IAAI,IAAI,SAAS,eAAe,CAAC,MAAM,SAAS,IAAI,MAAM,IAAI,KAAK;EAAE,UAAU;EAAS,MAAM;EAA+B,MAAM,GAAG,GAAG;EAAG,SAAS,GAAG,IAAI,IAAI;CAAiC,CAAC;CAIpM,MAAM,OAAO,IAAI,IAAsB;CACvC,KAAK,MAAM,QAAQ,MAAM,OAAO;EAC9B,MAAM,OAAO,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,GAAG;EAC9C,MAAM,OAAO,GAAG,KAAK,SAAS,KAAK;EACnC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG;GACpB,IAAI,KAAK;IAAE,UAAU;IAAS,MAAM;IAA2B;IAAM,SAAS,sBAAsB,KAAK;GAAqB,CAAC;GAC/H;EACF;EACA,MAAM,SAAS,IAAI,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG;EAC5C,MAAM,MAAM,CAAC,KAAK,GAAG,WAAW,KAAK,GAAG,YAAY,MAAM;EAC1D,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAA2B;GAAM,SAAS,GAAG,KAAK,YAAY,OAAO;EAAqB,CAAC;EAC9J,IAAI,CAAC,OAAO,MAAM,UAAU,KAAK,GAAG,SAAU,KAAK,GAAG,MAAM,KAAK,GAAG,GAAG,MAAM,OAC3E,IAAI,KAAK;GAAE,UAAU;GAAW,MAAM;GAA2B;GAAM,SAAS,GAAG,KAAK,YAAY,KAAK,GAAG,QAAQ,GAAG,OAAO;EAA6B,CAAC;EAE9J,IAAI,KAAK,aAAa,aAAa,KAAK,GAAG,SAAS,SAAS,KAAK,KAAK,SAAS,aAAa,KAAK,IAAI,MAAM,CAAC,GAAI,KAAK,IAAI,IAAI,KAAK,CAAC,GAAI,MAAM,CAAC;CACjJ;CACA,KAAK,MAAM,CAAC,MAAM,SAAS,MACzB,IAAI,KAAK,SAAS,GAAG,IAAI,KAAK;EAAE,UAAU;EAAS,MAAM;EAA0B,MAAM;EAAM,SAAS,GAAG,KAAK,cAAc,KAAK,KAAK,IAAI;CAAI,CAAC;CAInJ,MAAM,UAAmB,EAAE,YAAY,CAAC,EAAE;CAC1C,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ;EAAE,GAAG,MAAM;EAAe,GAAG,MAAM;CAAS,CAAC,GACtF,QAAQ,WAAW,QAAQ,EAAE,cAAc,MAAM,aAA0C;CAE7F,KAAK,MAAM,OAAO,MAAM,MACrB,CAAC,IAAI,YAAY,CAAC,EAAA,CAAG,SAAS,SAAS,MAAM;EAC5C,KAAK,MAAM,WAAW,aAAa,SAAS,SAAS,GAAG,GACtD,IAAI,KAAK;GAAE,GAAG;GAAS,MAAM;GAA6B,MAAM,GAAG,GAAG,KAAK,YAAY,EAAE,EAAE,IAAI,QAAQ,OAAO,IAAI,QAAQ,SAAS;EAAK,CAAC;CAE7I,CAAC;CAIH,MAAM,UAAU,QAAsB,KAAK,MAAM,SAAS,KAAK,IAAI,SAAS,cAAc,SAAS,IAAI,GAAG,IAAI,KAAA,CAAS;CACvH,KAAK,MAAM,OAAO,MAAM,MAAM;EAC5B,MAAM,IAAI,KAAK,OAAO,GAAG,CAAC;EAC1B,IAAI,IAAI,kBAAkB,MAAM,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAoB,MAAM,GAAG,GAAG;GAAG,SAAS,eAAe,EAAE,sBAAsB,kBAAkB,KAAK;EAAgC,CAAC;EAC/M,MAAM,UAAU,UAAU,GAAG;EAC7B,IAAI,WAAW,KAAK,OAAO,IAAI,kBAAkB,SAC/C,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAoB,MAAM,GAAG,KAAK,aAAa;GAAG,SAAS,kCAAkC,KAAK,OAAO,EAAE,sBAAsB,kBAAkB,QAAQ;EAAwD,CAAC;CAE5P;CAGA,KAAK,MAAM,OAAO,MAAM,KAAK,QAAQ,MAAM,EAAE,SAAS,SAAS,EAAE,SAAS,SAAS,GAAG;EACpF,MAAM,OAAO,IAAI,IAAI,MAAM,IAAI,GAAG;EAClC,MAAM,UAAU,MAAM,MAAM,QAAQ,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;EAChJ,MAAM,UAAU,MAAM,MAAM,QAAQ,MAAM,CAAC,EAAE,GAAG,WAAW,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC;EAChJ,MAAM,IACJ,KAAK;GAAE,MAAM,IAAI;GAAM,UAAU,IAAI;GAAU,YAAY,IAAI;EAAW,CAAC,IAC3E,QAAQ,QAAQ,KAAK,MAAM,OAAO,GAAG,SAAS,cAAc,KAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IACnF,QAAQ,QAAQ,KAAK,MAAM,OAAO,MAAM,EAAE,SAAS,eAAe,EAAE,cAAc,SAAS,KAAK,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;EACpH,IAAI,IAAI,kBAAkB,MAAM,IAAI,KAAK;GAAE,UAAU;GAAS,MAAM;GAAoB,MAAM,GAAG,GAAG;GAAG,SAAS,eAAe,EAAE,sBAAsB,kBAAkB,KAAK;EAAG,CAAC;CACpL;CACA,MAAM,SAAS,MAAM,KAAK,MAAM,MAAM,EAAE,SAAS,QAAQ;CACzD,MAAM,cAAc,KAAK;EACvB,QAAQ,UAAU;GAAE,OAAO,OAAO;GAAO,SAAS,OAAO;GAAS,MAAM,OAAO;GAAM,YAAY,OAAO;EAAW;EACnH,OAAO,MAAM,KAAK,QAAQ,MAAM,EAAE,SAAS,SAAS,EAAE,SAAS,SAAS,CAAC,CAAC,IAAI,MAAM;EACpF,OAAO,MAAM,KAAK,QAAQ,MAAM,EAAE,SAAS,eAAe,EAAE,cAAc,KAAK,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG;CACnG,CAAC;CACD,IAAI,cAAc,kBAAkB,aAAa,IAAI,KAAK;EAAE,UAAU;EAAS,MAAM;EAAoB,MAAM;EAAU,SAAS,sBAAsB,YAAY,sBAAsB,kBAAkB,YAAY;CAA4D,CAAC;CAErR,OAAO;AACT;AAKA,SAAS,aAAa,SAA2B,SAAkB,KAAyB;CAC1F,IAAI,CAAC,MAAM,QAAQ,SAAS,KAAK,KAAK,QAAQ,MAAM,WAAW,GAAG,OAAO,CAAC;EAAE,UAAU;EAAS,SAAS;CAAoC,CAAC;CAC7I,MAAM,SAAS,QAAQ,WAAW,QAAQ,YAAY;EAAE,MAAM;EAAY,WAAW,QAAQ;CAAU,IAAI,EAAE,MAAM,QAAQ;CAC3H,MAAM,OAAO;EAAE,SAAS;GAAE,OAAO,QAAQ;GAAO,MAAM,QAAQ,OAAO,EAAE,QAAQ,QAAQ,KAAK,IAAI,KAAA;EAAU;EAAG;CAAO;CACpH,OAAO,CAAC,GAAG,aAAa,MAAM,OAAO,GAAG,GAAG,oBAAoB,MAAM,SAAS,GAAG,CAAC,CAAC,CAChF,QAAQ,MAAM,EAAE,aAAa,QAAQ,CAAC,CACtC,KAAK,OAAO;EAAE,UAAU,EAAE;EAAU,QAAQ,EAAE;EAAQ,MAAM,EAAE,MAAM,QAAQ,cAAc,EAAE;EAAG,SAAS,GAAG,EAAE,KAAK,IAAI,EAAE;CAAU,EAAE;AACzI;AAWA,SAAgB,kBAAkB,MAAoC,SAAgC;CACpG,OAAO,oBAAoB,MAAM,SAAS,IAAI,QAAQ;EAAE,QAAQ;EAAO,WAAW;CAAK,CAAC,CAAC;AAC3F;AAGA,IAAM,UAAU,MAAkC,KAAK,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,CAAC,IAAK,IAAa,KAAA;AAElH,SAAS,oBAAoB,MAAoC,SAAkB,KAA4B;CAC7G,MAAM,MAAoB,CAAC;CAE3B,CADc,MAAM,QAAQ,KAAK,SAAS,KAAK,IAAI,KAAK,QAAQ,QAAQ,CAAC,EAAA,CACnE,SAAS,MAAgB,MAAM;EACnC,MAAM,aAAa,MAAM,YAAY,QAAQ,WAAW,KAAK,UAAU,EAAE,cAAc,aAAa,KAAA;EACpG,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,GAAG;GAC5D,MAAM,SAAS,aAAa;GAC5B,MAAM,OAAO,iBAAiB,EAAE,UAAU;GAC1C,MAAM,OAAO,GAAG,KAAK,UAAU,GAAG;GAClC,MAAM,QAAQ,UAAkC,MAAuC,IAAY,YACjG,IAAI,KAAK;IAAE;IAAU;IAAM,QAAQ,KAAK;IAAI,MAAM;IAAI,SAAS,GAAG,KAAK,GAAG;GAAU,CAAC;GACvF,IAAI,CAAC,UAAU,OAAO,WAAW,UAAU;GAE3C,IAAI,OAAO,KAAK,GAAG;IACjB,IAAI,iBAAiB,KAAK,CAAC,CAAC,WAAW,GAAG,SAAS,MAAM,KAAK,OAAO,OAAO,MAAM,CAAC,EAAE,KAAK,GAAG,GAAG,KAAK,OAAO,MAAM,GAAG;IACrH;GACF;GACA,IAAI,eAAe,KAAK,GAAG;GAC3B,IAAI;GACJ,IAAI;IACF,QAAQ,IAAI,SAAS,QAAQ,KAAK;GACpC,QAAQ;IACN;GACF;GACA,IAAI,CAAC,OAAO,KAAK,SAAS,gBAAgB,MAAM,IAAI,WAAW,IAAI,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC;EACjH;CACF,CAAC;CACD,OAAO;AACT;AAGA,SAAS,SACP,KACA,OACA,MACA,MACA,KACA;CACA,IAAI,CAAC,OAAO;CACZ,IAAI,OAAO,GAAG,GAAG;CACjB,MAAM,SAAS,OAAO,GAAG;CACzB,IAAI,CAAC,UAAU,CAAC,MAAM,YAAY;EAChC,IAAI,QAAQ,KAAA,KAAa,CAAC,eAAe,GAAG,GAAG,gBAAgB,OAAO,KAAK,MAAM,MAAM,GAAG;EAC1F;CACF;CACA,KAAK,MAAM,OAAO,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC,GAClE,IAAI,OAAO,QAAQ,YAAY,EAAE,OAAO,SAAS,KAAK,SAAS,gBAAgB,MAAM,uBAAuB,IAAI,2BAA2B;CAE7I,MAAM,OAAO,MAAM,yBAAyB,QAAQ,OAAO,MAAM,yBAAyB;CAC1F,KAAK,MAAM,CAAC,KAAK,MAAM,OAAO,QAAQ,MAAM,GAAG;EAC7C,MAAM,MAAM,OAAO,MAAM,WAAW,IAAI;EACxC,IAAI,CAAC,KAAK;GACR,IAAI,CAAC,MAAM,KAAK,WAAW,gBAAgB,GAAG,KAAK,GAAG,OAAO,6BAA6B,IAAI,EAAE;GAChG;EACF;EACA,IAAI,OAAO,CAAC,GACN;OAAA,iBAAiB,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,OAAO,IAAI,KAAK,GAAG,GAAG,KAAK,GAAG,IAAI,OAAO,MAAM,GAAG;EAAA,OAErG,IAAI,CAAC,eAAe,CAAC,GAAG,gBAAgB,KAAK,GAAG,GAAG,KAAK,GAAG,OAAO,MAAM,GAAG;CAClF;AACF;AAEA,SAAS,gBACP,QACA,OACA,MACA,MACA,KACA;CACA,IAAI;EACF,IAAI,CAAC,IAAI,SAAS,QAAQ,KAAK,GAAG,KAAK,SAAS,gBAAgB,MAAM,IAAI,WAAW,IAAI,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,CAAC;CACvI,QAAQ,CAER;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"forms-CCAE7sCu.js","names":[],"sources":["../../src/forms/conditions.ts","../../src/forms/model.ts"],"mappings":"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"}