@yahoo/uds-create-config 4.51.3 → 4.53.0

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 (36) hide show
  1. package/dist/capture/node-ops.js +1 -11
  2. package/dist/configs/CanvasConfig.js +5 -1
  3. package/dist/configs/system.js +6 -0
  4. package/dist/entities/canvas/node-gestures.d.ts +2 -0
  5. package/dist/entities/canvas/node-gestures.js +616 -0
  6. package/dist/{capture → entities/canvas}/node-patches.d.ts +6 -4
  7. package/dist/{capture → entities/canvas}/node-patches.js +16 -3
  8. package/dist/entities/system/Component.d.ts +47 -32
  9. package/dist/entities/system/Component.js +181 -30
  10. package/dist/entities/system/LinkedSystem.d.ts +10 -3
  11. package/dist/entities/system/Motion.d.ts +5 -1
  12. package/dist/entities/system/Motion.js +7 -2
  13. package/dist/entities/system/component-forwards.d.ts +46 -0
  14. package/dist/entities/system/component-forwards.js +131 -0
  15. package/dist/entities/system/token-values.d.ts +9 -1
  16. package/dist/entities/system/token-values.js +4 -3
  17. package/dist/framework/Config.d.ts +1 -1
  18. package/dist/framework/Config.js +1 -1
  19. package/dist/framework/defineSubEntity.d.ts +10 -1
  20. package/dist/framework/defineSubEntity.js +19 -1
  21. package/dist/framework/rejection.js +16 -4
  22. package/dist/framework/schema-version.d.ts +1 -1
  23. package/dist/framework/schema-version.js +5 -5
  24. package/dist/framework/schemas.js +14 -3
  25. package/dist/index.d.ts +7 -6
  26. package/dist/index.js +5 -5
  27. package/dist/migrations/20261001112308_style_rules_as_list.d.ts +12 -0
  28. package/dist/migrations/20261001112308_style_rules_as_list.js +8 -0
  29. package/dist/migrations/20261001130958_motion_exit_and_element_duplicate.d.ts +9 -0
  30. package/dist/migrations/20261001130958_motion_exit_and_element_duplicate.js +10 -0
  31. package/dist/migrations/20261001131000_layer_style_and_forward_ops.d.ts +11 -0
  32. package/dist/migrations/20261001131000_layer_style_and_forward_ops.js +10 -0
  33. package/dist/spec/slot.d.ts +19 -1
  34. package/dist/spec/slot.js +49 -11
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +2 -2
@@ -0,0 +1,131 @@
1
+ import { reject } from "../../framework/rejection.js";
2
+ import { isRef, kindOf, memberRef, pathOf } from "../../framework/utils/refs.js";
3
+ import { forwardedPropName } from "./element.js";
4
+ import { propOwner, resolveComponentProps } from "../../framework/projections.js";
5
+ import { forwardClaims } from "../../framework/prop-surface.js";
6
+ //#region src/entities/system/component-forwards.ts
7
+ function siteOf({ config, path, layer, member }) {
8
+ const body = member ?? config.resolve("component", path)?.toJSON();
9
+ const element = body?.layers?.[layer];
10
+ if (!body || !isRef(element) || kindOf(element) !== "component") return null;
11
+ const elementPath = pathOf(element);
12
+ const exposes = Object.keys(resolveComponentProps(config, elementPath));
13
+ if (exposes.length === 0) return null;
14
+ const own = body.forwards?.[layer];
15
+ let stored;
16
+ if (own === "*") stored = exposes;
17
+ else if (Array.isArray(own)) stored = own.map(forwardedPropName).filter((name) => !!name);
18
+ else stored = [];
19
+ const claims = forwardClaims(config, path);
20
+ return {
21
+ body,
22
+ elementPath,
23
+ options: [...exposes].sort((a, b) => a.localeCompare(b)).map((name) => {
24
+ let blocked;
25
+ const claimer = claims.forwarded.get(name);
26
+ if (claims.own.has(name)) blocked = { by: "own" };
27
+ else if (claimer !== void 0 && claimer !== layer) blocked = {
28
+ by: "layer",
29
+ layer: claimer
30
+ };
31
+ return {
32
+ name,
33
+ forwarded: stored.includes(name),
34
+ ...blocked ? { blocked } : {}
35
+ };
36
+ }),
37
+ forwarded: own !== void 0
38
+ };
39
+ }
40
+ /**
41
+ * What `layer` of the component at `path` can forward. An option the component declares itself, or a
42
+ * sibling layer already delivers, is listed with the reason it's blocked rather than left out. Null
43
+ * when the layer renders a tag, or its element declares no props.
44
+ */
45
+ function forwardOptions(args) {
46
+ const site = siteOf(args);
47
+ return site && {
48
+ options: site.options,
49
+ forwarded: site.forwarded
50
+ };
51
+ }
52
+ /** The names a forward ends up exposing: `'*'` is every unblocked prop, and a list joins what the
53
+ * layer forwards now unless it replaces it. `except` comes off either. */
54
+ function selectionOf({ site, data }) {
55
+ const names = new Set(site.options.map((option) => option.name));
56
+ const asked = data.props === "*" ? [] : data.props;
57
+ for (const name of [...asked, ...data.except ?? []]) if (!names.has(name)) reject("NOT_FOUND", `"${name}" is not a prop of the layer's element (${[...names].join(", ")}).`);
58
+ for (const name of asked) {
59
+ const blocked = site.options.find((option) => option.name === name)?.blocked;
60
+ if (!blocked) continue;
61
+ reject("ALREADY_EXISTS", blocked.by === "own" ? `"${name}" is declared by the component itself, which wins over a forward.` : `"${name}" is already forwarded from the "${blocked.layer}" layer.`);
62
+ }
63
+ const selectable = site.options.filter((option) => !option.blocked);
64
+ const kept = /* @__PURE__ */ new Set();
65
+ if (data.props === "*") for (const option of selectable) kept.add(option.name);
66
+ else {
67
+ if (!data.replace) {
68
+ for (const option of selectable) if (option.forwarded) kept.add(option.name);
69
+ }
70
+ for (const name of asked) kept.add(name);
71
+ }
72
+ for (const name of data.except ?? []) kept.delete(name);
73
+ return selectable.map((option) => option.name).filter((name) => kept.has(name));
74
+ }
75
+ /**
76
+ * The `forwards` write that makes `next` the layer's forwarded set, or null when it already is. An
77
+ * empty set deletes the entry, the full surface is `'*'` when no sibling layer has an entry of its
78
+ * own, and anything else is a list of member refs.
79
+ */
80
+ function forwardPatch({ config, path, layer, site, next }) {
81
+ const current = site.options.filter((option) => option.forwarded && !option.blocked).map((option) => option.name);
82
+ if (next.length === current.length && next.every((name) => current.includes(name))) return null;
83
+ const at = {
84
+ kind: "component",
85
+ path,
86
+ field: "forwards",
87
+ key: layer
88
+ };
89
+ if (next.length === 0) return site.forwarded ? {
90
+ ...at,
91
+ operation: "sub-delete"
92
+ } : null;
93
+ const hasSiblings = Object.keys(site.body.forwards ?? {}).some((sibling) => sibling !== layer);
94
+ const unowned = site.options.filter((option) => option.blocked?.by !== "own");
95
+ const data = !hasSiblings && unowned.length > 0 && unowned.every((option) => next.includes(option.name)) ? "*" : next.map((name) => memberRef("component", propOwner(config, site.elementPath, name) ?? site.elementPath, "props", name));
96
+ return {
97
+ ...at,
98
+ operation: "sub-upsert",
99
+ data
100
+ };
101
+ }
102
+ /**
103
+ * The generic `forwards` write that makes `layer` forward what `request` asks for: a `sub-upsert`
104
+ * with the refs minted (compacted to `'*'` where no sibling entry could collide), a `sub-delete`
105
+ * when nothing is left, or null when the layer already forwards exactly that. Refuses a prop the
106
+ * layer's element lacks, one the component declares itself or a sibling layer forwards, and a layer
107
+ * with nothing to forward.
108
+ */
109
+ function forwardsWrite({ config, path, layer, request }) {
110
+ const body = config.resolve("component", path)?.toJSON();
111
+ if (!body) reject("NOT_FOUND", `No component at "${path}".`);
112
+ if (!(layer in (body.layers ?? {}))) reject("NOT_FOUND", `"${layer}" is not one of this component's layers (${Object.keys(body.layers ?? {}).join(", ")}).`);
113
+ const site = siteOf({
114
+ config,
115
+ path,
116
+ layer
117
+ });
118
+ if (!site) reject("UNSUPPORTED", `The "${layer}" layer doesn't render a component with props, so it has nothing to forward.`);
119
+ return forwardPatch({
120
+ config,
121
+ path,
122
+ layer,
123
+ site,
124
+ next: selectionOf({
125
+ site,
126
+ data: request
127
+ })
128
+ });
129
+ }
130
+ //#endregion
131
+ export { forwardOptions, forwardsWrite };
@@ -13,6 +13,14 @@ interface TokenValueEntry {
13
13
  readonly px?: number;
14
14
  readonly ms?: number;
15
15
  }
16
+ /** A resolved token value as its CSS string and the numbers a JS caller reads off it. */
17
+ declare function parseTokenValue({
18
+ value,
19
+ rem
20
+ }: {
21
+ value: string | number; /** The pixels one `rem` is on the page, or `undefined` when the root is fluid and fixes none. */
22
+ rem: number | undefined;
23
+ }): TokenValueEntry;
16
24
  /** What a token resolved to, or why it did not. */
17
25
  type TokenValueState = /** One value, the same under every mode and state. */{
18
26
  readonly kind: 'value';
@@ -144,4 +152,4 @@ declare function spellTokenRead({
144
152
  reader: TokenReader;
145
153
  }): string;
146
154
  //#endregion
147
- export { RegisteredTokenValues, TOKEN_READERS, TokenGroupReader, TokenReader, TokenReaders, TokenValueEntry, TokenValueRow, TokenValueState, isTokenReader, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows };
155
+ export { RegisteredTokenValues, TOKEN_READERS, TokenGroupReader, TokenReader, TokenReaders, TokenValueEntry, TokenValueRow, TokenValueState, isTokenReader, parseTokenValue, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows };
@@ -19,7 +19,8 @@ import { cssVar, resolveTokenValue } from "../../framework/projections.js";
19
19
  * whatever the viewer's mode or state says on the page, so it is only ever reachable as its `var()`.
20
20
  */
21
21
  const NUMERIC = /^(-?(?:\d+(?:\.\d*)?|\.\d+))(px|rem|ms|s)?$/;
22
- function tokenValueEntry({ value, rem }) {
22
+ /** A resolved token value as its CSS string and the numbers a JS caller reads off it. */
23
+ function parseTokenValue({ value, rem }) {
23
24
  if (typeof value === "number") return {
24
25
  css: String(value),
25
26
  px: value
@@ -93,7 +94,7 @@ function stateOf({ config, path, rem }) {
93
94
  if (resolved === void 0) return { kind: "unresolved" };
94
95
  return {
95
96
  kind: "value",
96
- value: tokenValueEntry({
97
+ value: parseTokenValue({
97
98
  value: resolved,
98
99
  rem
99
100
  })
@@ -158,4 +159,4 @@ function spellTokenRead({ path, reader }) {
158
159
  return `Token.ref(${JSON.stringify(path)}).${reader}()`;
159
160
  }
160
161
  //#endregion
161
- export { TOKEN_READERS, isTokenReader, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows };
162
+ export { TOKEN_READERS, isTokenReader, parseTokenValue, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows };
@@ -72,7 +72,7 @@ interface RecordedSource {
72
72
  * The dense-counter `2` a short-lived scheme stamped before the chain existed reads as the mint
73
73
  * that replaced it (see `detectedWireVersion`).
74
74
  */
75
- declare const SERIALIZED_CONFIG_VERSION = 20260930183521;
75
+ declare const SERIALIZED_CONFIG_VERSION = 20261001131000;
76
76
  interface SerializedConfig {
77
77
  /** See {@link SERIALIZED_CONFIG_VERSION}. Always written; a stored artifact may lack it. */
78
78
  readonly version: number;
@@ -5250,7 +5250,7 @@ var Config = class Config {
5250
5250
  * links from the provided sources. A declared `linkedKind` with no provided source throws. */
5251
5251
  hydrateFrom(stored, options) {
5252
5252
  const claimed = schemaVersionOf(stored);
5253
- if (claimed > 20260930183521) throw new SchemaVersionTooNew(claimed);
5253
+ if (claimed > 20261001131e3) throw new SchemaVersionTooNew(claimed);
5254
5254
  const wire = upgradeSerializedConfig(stored);
5255
5255
  if (!Array.isArray(wire.ownedKinds) || typeof wire.items !== "object" || wire.items === null) throw new ConfigFormatError(`Config "${stored.name ?? "system-config"}" cannot be hydrated: this is not a serialized config-v2 config (no "ownedKinds"/"items"). A pre-cutover build artifact converts through the registered cutover migration — import the config type's module (e.g. \`configs/system\`) before hydrating, or port the repo once with \`uds migrate\`.`);
5256
5256
  const leftover = wire.options;
@@ -153,5 +153,14 @@ declare function defineSubEntity<F extends z.ZodTypeAny>(spec: {
153
153
  listedIn?: readonly string[];
154
154
  orphans?: readonly string[];
155
155
  }): SubEntityClass<F>;
156
+ /**
157
+ * A collection whose members carry their own identity (`defineSubEntity({ key })`), authored as a
158
+ * list of members or as the keyed record it is stored as. A list is keyed here, in the schema, so
159
+ * every way into stored state takes it: `register`, an item's create or update, and op data.
160
+ *
161
+ * Two members with the same key are one member, the later one, as the key derivation on write
162
+ * already treats a record whose keys disagree with their members.
163
+ */
164
+ declare function orList<F extends z.ZodTypeAny>(collection: SubEntityClass<F>): z.ZodUnion<readonly [z.ZodPipe<z.ZodArray<F>, z.ZodTransform<Record<string, z.output<F>>, z.core.output<F>[]>>, SubEntityClass<F>]>;
156
165
  //#endregion
157
- export { SubEntityClass, defineSubEntity };
166
+ export { SubEntityClass, defineSubEntity, orList };
@@ -118,5 +118,23 @@ function defineSubEntity(spec) {
118
118
  });
119
119
  return api;
120
120
  }
121
+ /**
122
+ * A collection whose members carry their own identity (`defineSubEntity({ key })`), authored as a
123
+ * list of members or as the keyed record it is stored as. A list is keyed here, in the schema, so
124
+ * every way into stored state takes it: `register`, an item's create or update, and op data.
125
+ *
126
+ * Two members with the same key are one member, the later one, as the key derivation on write
127
+ * already treats a record whose keys disagree with their members.
128
+ */
129
+ function orList(collection) {
130
+ const key = collection.key;
131
+ if (!key) throw new Error(`orList: "${collection.name}" declares no \`key\`, so a list of its members has nothing to be keyed by.`);
132
+ const listed = z.array(collection.valueType).transform((members) => {
133
+ const keyed = {};
134
+ for (const member of members) keyed[key(member)] = member;
135
+ return keyed;
136
+ });
137
+ return z.union([listed, collection]);
138
+ }
121
139
  //#endregion
122
- export { defineSubEntity };
140
+ export { defineSubEntity, orList };
@@ -69,7 +69,8 @@ function rejectInvalid(context, error) {
69
69
  /**
70
70
  * The issues a refusal reports. A union no member matched is one issue. A union that failed because a
71
71
  * member's own check refused the value reports that member's issues instead, at the union's path: the
72
- * check's sentence is the one a writer can act on, and "Invalid input" is not.
72
+ * check's sentence is the one a writer can act on, and "Invalid input" is not. So does a union of a
73
+ * list and a record given a record, since the record member's issues are about the value written.
73
74
  */
74
75
  function refusalIssues(error) {
75
76
  const out = [];
@@ -78,14 +79,25 @@ function refusalIssues(error) {
78
79
  out.push(issue);
79
80
  continue;
80
81
  }
81
- const refused = issue.errors.flat().filter((inner) => inner.code === "custom").map((inner) => ({
82
+ const under = (inner) => ({
82
83
  ...inner,
83
84
  path: [...issue.path, ...inner.path]
84
- }));
85
- out.push(...refused.length > 0 ? refused : [issue]);
85
+ });
86
+ const refused = issue.errors.flat().filter((inner) => inner.code === "custom").map(under);
87
+ if (refused.length > 0) {
88
+ out.push(...refused);
89
+ continue;
90
+ }
91
+ const typed = issue.errors.filter((member) => !wantedList(member));
92
+ out.push(...typed.length === 1 ? typed[0].map(under) : [issue]);
86
93
  }
87
94
  return out;
88
95
  }
96
+ /** Whether a union member refused the value only for not being a list. A union that lists the
97
+ * values it takes says so in its own message, which a member's narrower issue would replace. */
98
+ function wantedList(issues) {
99
+ return issues.length === 1 && issues[0]?.code === "invalid_type" && issues[0].expected === "array" && issues[0].path.length === 0;
100
+ }
89
101
  /**
90
102
  * One zod issue's path, with the offending key appended when zod reports it separately.
91
103
  *
@@ -15,7 +15,7 @@ import { Patch, SerializedConfig } from "./Config.js";
15
15
  * sets this constant to its own older timestamp; the merge ref then carries a registered migration
16
16
  * newer than the constant, and the assertion fails until the author re-mints.
17
17
  */
18
- declare const CURRENT_SCHEMA_VERSION = 20260930183521;
18
+ declare const CURRENT_SCHEMA_VERSION = 20261001131000;
19
19
  /** What the walkers need to see of an envelope — loose on purpose, so a typed `SerializedConfig`
20
20
  * and a raw old-shape record both flow in without casts. */
21
21
  interface VersionStamped {
@@ -13,7 +13,7 @@ import { ConfigFormatError } from "./rejection.js";
13
13
  * sets this constant to its own older timestamp; the merge ref then carries a registered migration
14
14
  * newer than the constant, and the assertion fails until the author re-mints.
15
15
  */
16
- const CURRENT_SCHEMA_VERSION = 20260930183521;
16
+ const CURRENT_SCHEMA_VERSION = 20261001131e3;
17
17
  /** The mint that moved `options` into the `settings` kind — restated here, rather than imported
18
18
  * from the migration that owns it, because that migration imports this module. */
19
19
  const SETTINGS_AS_KIND_VERSION = 20260908171448;
@@ -45,7 +45,7 @@ function registerSchemaMigrations(...migrations) {
45
45
  for (const migration of migrations) {
46
46
  if (migration.version !== 1 && !isMintTimestamp(migration.version)) throw new Error(`Schema migration version ${migration.version} is not a mint timestamp — mint one with \`date +%Y%m%d%H%M%S\`, like a supabase migration.`);
47
47
  if (REGISTERED.has(migration.version)) throw new Error(`A schema migration at version ${migration.version} is already registered.`);
48
- if (migration.version > 20260930183521) throw new Error(`Schema migration ${migration.version} is newer than CURRENT_SCHEMA_VERSION (${CURRENT_SCHEMA_VERSION}) — a stale branch merged, or the mint forgot to bump the constant. Re-mint: set CURRENT_SCHEMA_VERSION to the newest migration version.`);
48
+ if (migration.version > 20261001131e3) throw new Error(`Schema migration ${migration.version} is newer than CURRENT_SCHEMA_VERSION (${CURRENT_SCHEMA_VERSION}) — a stale branch merged, or the mint forgot to bump the constant. Re-mint: set CURRENT_SCHEMA_VERSION to the newest migration version.`);
49
49
  REGISTERED.set(migration.version, migration);
50
50
  }
51
51
  }
@@ -102,7 +102,7 @@ function pendingFor(version, target, options) {
102
102
  * Already-current input passes through untouched — same reference, so hot paths pay nothing.
103
103
  */
104
104
  function upgradeSerializedConfig(json, options) {
105
- const target = options?.target ?? 20260930183521;
105
+ const target = options?.target ?? 20261001131e3;
106
106
  const version = detectedWireVersion(json);
107
107
  if (version > target) throw new SchemaVersionTooNew(version, target);
108
108
  const raw = json;
@@ -160,7 +160,7 @@ function upgradedSources(json, options) {
160
160
  * meaning under the current schema and replay skips it — reported by the caller, not swallowed here.
161
161
  */
162
162
  function upgradePatch(patch, writtenAt, options) {
163
- const target = options?.target ?? 20260930183521;
163
+ const target = options?.target ?? 20261001131e3;
164
164
  if (writtenAt > target) throw new SchemaVersionTooNew(writtenAt, target);
165
165
  let current = patch;
166
166
  for (const migration of pendingFor(writtenAt, target, options)) {
@@ -179,7 +179,7 @@ function upgradePatch(patch, writtenAt, options) {
179
179
  * stamp would cause.
180
180
  */
181
181
  function upgradeDraftEntries(draft, options) {
182
- const target = options?.target ?? 20260930183521;
182
+ const target = options?.target ?? 20261001131e3;
183
183
  const entries = [];
184
184
  const held = [];
185
185
  const retired = [];
@@ -1,3 +1,4 @@
1
+ import { reject } from "./rejection.js";
1
2
  import { ref } from "./utils/refs.js";
2
3
  import { planDelete, planRename } from "./plan.js";
3
4
  import { compileSchema } from "./utils/compiled-schema.js";
@@ -425,14 +426,24 @@ function defaultSchemas(kind, declaredFields, groupFields, subEntities, { single
425
426
  data: i.data
426
427
  })
427
428
  };
429
+ const updateKey = (i, c) => {
430
+ if (i.key !== void 0 || !derivesKey) return k(i);
431
+ const derivedKey = c.memberKeyOf({
432
+ kind,
433
+ field,
434
+ member: i.data ?? {}
435
+ });
436
+ if (derivedKey === void 0) reject("UNSUPPORTED", `${kind} "${String(i.path)}": no \`${field}\` member is identified by this \`data\`; name its \`key\``);
437
+ return derivedKey;
438
+ };
428
439
  schemas[`sub-update/${field}`] = {
429
440
  input: envelope(memberUpdate, {
430
441
  ...address,
431
- key: z.string()
442
+ key: memberKeyInput
432
443
  }),
433
444
  readOnly: false,
434
445
  label: "Update",
435
- description: `Update a ${kind}'s \`${field}\` member \`key\`${inside} — a partial \`data\` whose KEYS ARE FIELD PATHS. \`{ "layers": … }\` replaces that field; \`{ "layers.root.bg": … }\` changes only that leaf and leaves every sibling alone; \`null\` at either address removes what is there. Nothing you don't name is touched, so two edits to one member compose in a single batch. Use \`sub-upsert/${field}\` to replace the member whole.`,
446
+ description: `Update a ${kind}'s \`${field}\` member \`key\`${inside}${derivesKey ? " (leave `key` out to address the member `data` identifies, created when absent)" : ""} — a partial \`data\` whose KEYS ARE FIELD PATHS. \`{ "layers": … }\` replaces that field; \`{ "layers.root.bg": … }\` changes only that leaf and leaves every sibling alone; \`null\` at either address removes what is there. Nothing you don't name is touched, so two edits to one member compose in a single batch. Use \`sub-upsert/${field}\` to replace the member whole.`,
436
447
  scope: "item",
437
448
  handler: (i, c) => c.apply({
438
449
  kind,
@@ -440,7 +451,7 @@ function defaultSchemas(kind, declaredFields, groupFields, subEntities, { single
440
451
  path: p(i),
441
452
  field,
442
453
  owner: o(i),
443
- key: k(i),
454
+ key: updateKey(i, c),
444
455
  data: i.data
445
456
  })
446
457
  };
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ import { ENTITY_PATH_MESSAGE, ExtendedRef, MINTED, collectRefs, entityRefOf, isE
10
10
  import { RefGraph, RefGraphEntry, RefIndex, RefIndexChange, RefTarget, TraverseOptions, buildRefGraph, buildRefIndex, refGraphOf, updateRefIndex } from "./framework/ref-graph.js";
11
11
  import { CreateInput, FieldsSchema, declaredField, deriveCreateSchema, deriveUpdateSchema, fieldKeys } from "./framework/utils/field-schema.js";
12
12
  import { DerivedOp, OpHandler, SchemaEntry, UserSchemas } from "./framework/schemas.js";
13
- import { SubEntityClass, defineSubEntity } from "./framework/defineSubEntity.js";
13
+ import { SubEntityClass, defineSubEntity, orList } from "./framework/defineSubEntity.js";
14
14
  import { LocalOverlay, SerializedSourceAnswer, SourceAnswer, SourceResolution, SourceResolutionSchemas, SourceResolver, SourceState, UNREACHABLE, resolutionSchema, sourceUnreachable } from "./framework/sources.js";
15
15
  import { ComputedFields, ComputedInput, EntityKind, opsForKind } from "./framework/registry.js";
16
16
  import { ComputedMap, DeriveMembers, DerivedEntityClass, defineDerivedEntity } from "./framework/defineDerivedEntity.js";
@@ -26,7 +26,7 @@ import { TimingValue, Transition, TransitionSegment, isTransition, renderTransit
26
26
  import { ComposedValue, ComposedValueAuthoring, ComposedValueForm, composedValueAuthoring, composedValueFormOf, composedValueForms, composedValueSchemas, isComposedValue, renderComposedValue } from "./entities/system/composed-values.js";
27
27
  import { AuthoredStyleBag, AuthoredStyleField, RegisteredStyleBag, StyleClass, StyleValue } from "./entities/system/style-bag.js";
28
28
  import { RootFontSize, parseRootFontSize } from "./css/root-font-size.js";
29
- import { RegisteredTokenValues, TOKEN_READERS, TokenGroupReader, TokenReader, TokenReaders, TokenValueEntry, TokenValueRow, TokenValueState, isTokenReader, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows } from "./entities/system/token-values.js";
29
+ import { RegisteredTokenValues, TOKEN_READERS, TokenGroupReader, TokenReader, TokenReaders, TokenValueEntry, TokenValueRow, TokenValueState, isTokenReader, parseTokenValue, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows } from "./entities/system/token-values.js";
30
30
  import { CheckedTokenRefPath, OverrideCondition, Token, TokenBody, TokenClass, TokenRefPath, TokenReference, defineOverride, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers } from "./entities/system/Token.js";
31
31
  import { RefMember, STYLE_PROP_VALUE_FORMS, STYLE_PROP_VALUE_LEAVES, StylePropLeaf, StylePropValue, StylePropValueCtx, StylePropValueKind, StyleProperty, StylePropertyClass, classifyStylePropValue, cssPropertyNames, leavesOfStylePropValue, stylePropValueFormOf, stylePropValueSchema, toCssPropertyName } from "./entities/system/StyleProperty.js";
32
32
  import { StoredPreviewCondition, UNCONDITIONAL_PREVIEW_KEY, storedPreview, unconditionalPreviewProps } from "./framework/preview-store.js";
@@ -35,9 +35,10 @@ import { ANATOMY_MARKER, ComponentSpec, ComponentSpecs, ComputedFunctions, Compu
35
35
  import { AsInput, AuthoredComponent, AuthoredProp, ComponentBuilder, ComponentPropsOf, GlyphComponent, GlyphValue, LayerElement, LayerMap, PropCondition, PropDecl, PropMap, RegisteredMembers, RenderArgs, SlotCodeForm, SlotDecl, StyleRuleInput, defineComponent } from "./entities/system/defineComponent.js";
36
36
  import { BindingKind, CodeSlot, ForwardClaims, PropRoute, SurfaceCompositeProp, SurfaceProp, SurfacePropCondition, SurfacePropKind, SurfaceScalarProp, SurfaceSlotProp, SurfaceStylePropertyProp, SurfaceVariantProp, codeSlotsOf, forwardClaims, forwardRoutes, forwardedLayers, glyphVariantProp, intoName, isValueSlot, layerPropRoutes, ownTextProp, propApplies, propRegistryRef, renderBindingsOf, routedProp, routedPropIn, routesContent, slotCodeForms, standsInForCode, surfaceProp, surfaceProps } from "./framework/prop-surface.js";
37
37
  import { PreviewElement, graftPreviewElements, isPreviewElement } from "./spec/preview-elements.js";
38
- import { Slot, SlotCell } from "./spec/slot.js";
38
+ import { Slot, SlotCell, SlotHost } from "./spec/slot.js";
39
39
  import { Cell, CellSlot, GoverningCondition } from "./spec/cell.js";
40
40
  import { Instance, InstanceSlot, InstanceSpec, instanceHolding } from "./spec/instance.js";
41
+ import { ForwardBlockedReason, ForwardOption, ForwardOptions, ForwardRequest } from "./entities/system/component-forwards.js";
41
42
  import { AuthoredPropBody, Component, ComponentBody, ComponentClass, ComponentCreateInput, ComponentElementBody, ComponentItemInput, ComponentPropBody, ComponentReference, ComponentStyleBody, ElementVisibility, ElementVisibilityInput, ElementVisibilitySchema, ExtendedComponentRef, ProjectedVisibility, PropShapeSchema, SLOT_CODE_FORMS, VariantValueBody, VariantValues, blankComponentBody, canonicalWhen, forwardedNames, layerRef, ownValues, ownsItsValues, valueRef } from "./entities/system/Component.js";
42
43
  import { LINK_SLUG, LINK_SLUG_MESSAGE, LinkDeclaration, LinkedSystem, LinkedSystemClass, LinkedSystemCreateInput, LinkedSystemItemInput, LinkedSystemResolver, LinkedSystemState, PinDirective, PinOptions, PinOptionsField, PinOptionsInput, ResolvedSource, Source, SourceUnavailable, borrowedGroup, borrowedItem, isLinkSlug, resolvedSource, sourceOfGroup, sourceOfItem, sourceSlugFor, sourceUnavailable, suggestLinkSlug } from "./entities/system/LinkedSystem.js";
43
44
  import { BreakOutcome, BreakPlan, BreakPlanInput, BreakPlanRow, BreakReach, LinkArrival, LinkPaths, LinkPlan, LinkPlanInput, LinkedElsewhere, OnLinked, SourceRowState, UnlinkPlan, UnlinkPlanInput, planBreak, planLink, planUnlink, sourceRowStates } from "./entities/system/link-plan.js";
@@ -50,7 +51,6 @@ import { GlyphExportRule, ICON_METADATA_FORMATS, IconMemberMetadata, IconMetadat
50
51
  import { Icon, IconClass, IconVariantAs, iconVariantAs } from "./entities/system/Icon.js";
51
52
  import { IconLibrary, glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, iconToolLibraries, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries } from "./entities/system/icon-library.js";
52
53
  import { GlyphSource, IconGlyph, glyphSourcesOf, iconResolver, nameIconsInTree } from "./capture/icon-resolver.js";
53
- import { specToNodePatches } from "./capture/node-patches.js";
54
54
  import { BUILD_DEFAULTS } from "./configs/build-options.js";
55
55
  import { ReactNativeSystem, ReactNativeSystemClass, ReactNativeSystemConfig } from "./configs/react-native-system.js";
56
56
  import { System, SystemClass, SystemConfig } from "./configs/system.js";
@@ -60,6 +60,7 @@ import { DocumentationLibrary, DocumentationLibraryClass } from "./configs/docum
60
60
  import { CssPropertyEntry } from "./css/properties.generated.js";
61
61
  import { ResolveValueTypeInput, ValueType, resolveValueType, sniffValueType } from "./css/value-type.js";
62
62
  import { CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, cssProperty, cssValueIssue, isCssProperty } from "./css/values.js";
63
+ import { PLACED_NODE_KEY, specToNodePatches } from "./entities/canvas/node-patches.js";
63
64
  import { Documentation, DocumentationClass } from "./entities/documentation/Documentation.js";
64
65
  import { NATIVE_ACTIVATIONS, NativeActivation, NativeModifier, NativeModifierClass } from "./entities/native/NativeModifier.js";
65
66
  import { CanvasSection, CanvasSectionClass, NativeSettings } from "./entities/native/NativeSettings.js";
@@ -77,7 +78,7 @@ import { Guidance, GuidanceClass, GuidanceScope, GuidanceSegment, guidanceReache
77
78
  import { GuidanceStyle, GuidanceStyleBody, GuidanceStyleClass } from "./entities/system/GuidanceStyle.js";
78
79
  import { modifierAxis, modifierCategory } from "./entities/system/modifier-axis.js";
79
80
  import { MODIFIER_CATEGORIES, Modifier, ModifierCategory, ModifierClass, ModifierGroupMeta, WEB_ACTIVATIONS, WebActivation, modeAxes, modifierAxes, modifierGroupFields, modifierInvariants, modifierLeaf } from "./entities/system/Modifier.js";
80
- import { Motion, MotionClass } from "./entities/system/Motion.js";
81
+ import { Motion, MotionClass, jsMotionPropFields } from "./entities/system/Motion.js";
81
82
  import { Operation, OperationClass } from "./entities/system/Operation.js";
82
83
  import { DeclaredRuntimeModule, declaredRuntimeModules } from "./entities/system/runtime-modules.js";
83
84
  import { SafelistEntry, safelistEntrySchema } from "./entities/system/safelist.js";
@@ -109,4 +110,4 @@ import { SpecNode, validateSpec } from "./framework/validate-spec.js";
109
110
  import { valueLeavesOf, valueSchemaOf } from "./framework/value-domain.js";
110
111
  import { views } from "./framework/views-facade.js";
111
112
  import { RN_STYLE_KEYS } from "./react-native/style-keys.generated.js";
112
- export { AI_LANES, ANATOMY_MARKER, AiChat, type AiChatClass, AiFlow, type AiFlowClass, type AiFlowOrigin, AiGeneration, type AiGenerationClass, type AiLane, AiMessage, type AiMessageClass, type AiMultiAgentMode, type AnatomyIssue, type AnatomyIssueKind, type AnatomyReport, type AnySystemConfig, type AsInput, type AttachedSources, type Authored, type AuthoredComponent, type AuthoredProp, type AuthoredPropBody, type AuthoredStyleBag, type AuthoredStyleField, type AuthoringSignatureOptions, BUILD_DEFAULTS, type BindingKind, type BreakOutcome, type BreakPlan, type BreakPlanInput, type BreakPlanRow, type BreakReach, BuildSection, type BuildSectionClass, CANVAS_ROLES, COMPONENT_ENTRY_STATIC, CONFIG_OPERATION_KIND, CSS_DEFAULTS, CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, CURRENT_SCHEMA_VERSION, Canvas, type CanvasClass, CanvasConfig, type CanvasConfigClass, CanvasRole, type CanvasRoleClass, type CanvasRoleName, CanvasSection, type CanvasSectionClass, type CaptureToSpecOptions, type CaptureToSpecResult, type CapturedChild, type CapturedElement, CapturedNode, type CapturedNodeJson, type Spec as CapturedSpec, type SpecElement as CapturedSpecElement, type CapturedText, type Cell, type CellSlot, type Change, type ChangeHook, type ChangeTarget, type CheckedTokenRefPath, type ChildrenPolicy, type ClassGrammar, type CodeSlot, type Collection, type ColorValue, Component, type ComponentBody, type ComponentBuilder, type ComponentClass, type ComponentContractOf, type ComponentCreateInput, type ComponentElementBody, type ComponentItemInput, type ComponentModuleSource, type ComponentPropBody, type ComponentPropsOf, type ComponentReference, type ComponentRegistryImport, type ComponentRegistryImportBinding, type ComponentRuleClass, type ComponentSpec, type ComponentSpecs, type ComponentStyleBody, type ComposedValue, type ComposedValueAuthoring, type ComposedValueForm, Composite, type CompositeClass, type ComputedFields, type ComputedFunctions, type ComputedInput, type ComputedMap, type ComputedValue, Config, type ConfigClass, type ConfigEdit, ConfigFormatError, type ConfigInstance, type ConfigIssue, type ConfigIssueCode, type ConfigKind, type ConfigOp, ConfigRejection, ConfigSession, type ConfigSessionOptions, type ConfigSink, type ConfigSource, type CopyPlan, type CopyPlanInput, type CopyPlanRow, type CreateInput, type CssGrammar, type CssPrefix, type CssPropertyEntry, CssSection, type CssSectionClass, DERIVED_COLOR_SPACE, DERIVED_MUTATIONS, type DanglingDirective, type DanglingLocalRef, type DanglingRef, type DeclaredRuntimeModule, type DeletePlan, type DeriveMembers, type DerivedColor, type DerivedEntityClass, type DerivedOp, Device, type DeviceClass, type DiffOptions, Documentation, type DocumentationClass, DocumentationLibrary, type DocumentationLibraryClass, type DomLikeElement, type DraftSource, ENTITY_PATH_MESSAGE, EXPORT_MEMBER, type Edition, type ElementVisibility, type ElementVisibilityInput, type ElementVisibilitySchema, Entity, type EntityAddress, type EntityChange, type EntityClass, type EntityKind, type EntityMap, type EntryGroup, type ExpandOptions, type ExpansionResult, type ExtendedComponentRef, type ExtendedRef, type FieldsSchema, File, type FileClass, Font, type FontClass, FontFile, type FontFileClass, type ForwardClaims, GROUP, GUIDANCE_LANES, GlobalStyle, type GlobalStyleClass, type GlyphComponent, type GlyphExportRule, type GlyphSource, type GlyphValue, type GoverningCondition, type Gradient, type GroupBody, type GroupComputedInput, Guidance, type GuidanceClass, type GuidanceLane, type GuidanceScope, type GuidanceSegment, GuidanceStyle, type GuidanceStyleBody, type GuidanceStyleClass, type HasSnapshot, type HydrationOptions, ICON_METADATA_FORMATS, Icon, type IconAnswer, type IconClass, type IconGlyph, type IconHook, type IconLibrary, type IconMemberMetadata, type IconMetadataAdapter, type IconMetadataDeclaration, type IconMetadataFile, type IconMetadataFormat, type IconTool, type IconVariantAs, type IdentifiedOp, type InferredRename, type Instance, type InstanceSlot, type InstanceSpec, type ItemOf, type KindRef, type KindSignature, type KindSlice, LINK_SLUG, LINK_SLUG_MESSAGE, type LayerElement, type LayerMap, type LayerPropDriver, type LayerStyleOptions, type LeafAddress, type LinkArrival, type LinkDeclaration, type LinkPaths, type LinkPlan, type LinkPlanInput, type LinkedElsewhere, LinkedSystem, type LinkedSystemClass, type LinkedSystemCreateInput, type LinkedSystemItemInput, type LinkedSystemResolver, type LinkedSystemState, type ListOptions, type LiveConfig, type LocalOverlay, MINTED, MODIFIER_CATEGORIES, type MarkerKind, type MisdeclaredOverlay, Modifier, type ModifierCategory, type ModifierClass, type ModifierGroupMeta, Motion, type MotionClass, NATIVE_ACTIVATIONS, type NativeActivation, NativeModifier, type NativeModifierClass, NativeSettings, NativeStyleProperty, NativeToken, Node, type NodeClass, type OnLinked, type OpHandler, type OpInput, Operation, type OperationClass, type OverlayVerb, type OverrideCondition, type OwnedRecords, PLAYGROUND_DEFAULTS, Package, type PackageClass, Page, type PageClass, type Patch, type PathOf, type PickedComposite, type PinDirective, type PinOptions, type PinOptionsField, type PinOptionsInput, type Plan, type PlanImpact, type PlanOp, PlaygroundSection, type PlaygroundSectionClass, type PreviewElement, type PreviewMatrix, type ProjectedVisibility, type PropCondition, type PropDecl, type PropDeclaration, type PropMap, type PropRoute, type PropShapeSchema, RN_STYLE_KEYS, ReactNativeSystem, type ReactNativeSystemClass, type ReactNativeSystemConfig, type RebaseConflict, type RebaseOrigin, type RebaseResult, type RecordedSource, type RedundantQualifier, type Ref, type RefGraph, type RefGraphEntry, type RefIndex, type RefIndexChange, type RefMember, type RefTarget, type RegisteredComponentContracts, type RegisteredEntities, type RegisteredMembers, type RegisteredModifiers, type RegisteredPaths, type RegisteredStyleBag, type RegisteredStyleProps, type RegisteredTokenValues, type RenamePlan, type RenderArgs, type RenderElement, type RenderSpec, type RenderedNode, type RenderedTarget, type RepeatRow, type RepeatSpec, type ResolveContext, type ResolveValueTypeInput, type ResolvedBinding, type ResolvedSource, type RootFontSize, SCRIPT_EXTENSIONS, SERIALIZED_CONFIG_VERSION, SIZE_TOLERANCE_PX, SLOT_CODE_FORMS, STYLE_PROPERTIES, STYLE_PROP_VALUE_FORMS, STYLE_PROP_VALUE_LEAVES, type SafelistEntry, type SchemaEntry, type SchemaMigration, SchemaVersionTooNew, type SerializedConfig, type SerializedSourceAnswer, Settings, type SettingsClass, type Shadow, type ShadowColor, type ShadowLayer, type ShadowParts, type SignatureOptions, type SkippedOp, type Slot, type SlotCell, type SlotCodeForm, type SlotDecl, type SlotTarget, Snapshot, type Source, type SourceAnswer, type SourceChange, type SourceMap, type SourceResolution, type SourceResolutionSchemas, type SourceResolver, type SourceRowState, type SourceState, type SourceUnavailable, type SourcesBySlug, type SourcesOf, type SpecNode, type SplitStyleProps, type StampedPatch, type StoredConfig, type StoredPreviewCondition, type StyleClass, type StylePropEntry, type StylePropLeaf, type StylePropValue, type StylePropValueCtx, type StylePropValueKind, StyleProperty, type StylePropertyClass, type StylePropertyItem, type StyleRuleInput, type StyleValue, type SubEntityClass, type SubPatch, type SurfaceCompositeProp, type SurfaceProp, type SurfacePropCondition, type SurfacePropKind, type SurfaceScalarProp, type SurfaceSlotProp, type SurfaceStylePropertyProp, type SurfaceVariantProp, System, type SystemClass, type SystemConfig, SystemSection, type SystemSectionClass, SystemSource, type SystemSourceClass, TOKEN_READERS, type TimingValue, Token, type TokenBinding, type TokenBody, type TokenClass, type TokenGroupReader, type TokenMatch, type TokenReader, type TokenReaders, type TokenRefPath, type TokenReference, type TokenValueEntry, type TokenValueRow, type TokenValueState, Tool, type ToolClass, type Transition, type TransitionSegment, type TraverseOptions, type TreeNode, UNCONDITIONAL_PREVIEW_KEY, UNREACHABLE, type UnadoptedDirective, type UnknownStyleLeaf, type UnlinkPlan, type UnlinkPlanInput, type UnreadableBorrow, type UnstatableCondition, type UnstatableOverride, type UpgradedDraft, type UserSchemas, VOID_ELEMENTS, type ValueOf, type ValueType, type VarNaming, type VariantValueBody, type VariantValues, type VisibilityOperator, type VisibilityTerm, WEB_ACTIVATIONS, type WalkOptions, type WebActivation, addressOf, alpha, anatomyElementComponent, anatomyIssueKey, anatomyTextProp, applyPathDelta, authoredBag, authoredValue, authoringSignatures, baseOf, bindStateRef, bindingPath, blankComponentBody, borrowedGroup, borrowedItem, boundElementType, brandGroup, buildRefGraph, buildRefIndex, canonicalWhen, capturedFromDom, changeOf, changeValueAt, changesOf, childrenPolicy, classGrammar, className, classPrefixOf, classifyOverlay, classifyStylePropValue, codeSlotsOf, collectRefs, componentClassBase, componentCompositeClasses, componentLayerClass, componentModuleFilePaths, componentModuleKey, componentModuleSource, componentMotionClasses, componentPropClasses, componentPropComposites, componentRegistryImports, componentRuleClasses, componentSpec, composedValueAuthoring, composedValueFormOf, composedValueForms, composedValueSchemas, condArms, condValue, containsMarker, createCanvasConfig, createSliceMemo, cssPrefixes, cssPropValue, cssProperty, cssPropertyNames, cssString, cssValueIssue, cssVar, cssVarRef, danglingDirectives, danglingLocalRefs, danglingSourcedRefs, darken, declaredField, declaredPropDefaults, declaredPropRouting, declaredRuntimeModules, defineComponent, defineConfig, defineDerivedEntity, defineEntity, defineOverride, defineSubEntity, deriveCreateSchema, deriveSpec, deriveUpdateSchema, describeBody, describePatch, detectedWireVersion, diffRendered, editOp, elementFromCaptured, entityRefOf, entryKeyOf, expandComponent, expandSpec, fieldKeys, fontFamilyStack, forceModeAttribute, forceModeAttributeOf, forceModeProp, forceModePropGroup, forceModePropValue, forceModeProps, forceStateAttribute, forwardClaims, forwardRoutes, forwardedLayers, forwardedNames, forwardsOf, globalStyleName, glyphComponentOf, glyphExportNames, glyphExportRule, glyphLibrariesOf, glyphPropsOf, glyphSourcesOf, glyphType, glyphVariantProp, graftPreviewElements, guidanceReaches, guidanceScopeOf, guidanceTextOf, heldLinked, iconCategories, iconLibraries, iconLibrary, iconMemberMetadata, iconMetadata, iconMetadataDeclaration, iconMetadataFile, iconMetadataFileJsonSchema, iconMetadataFormat, iconMetadataSourceFile, iconResolver, iconToolAxisOptions, iconToolFor, iconToolLibraries, iconToolOf, iconToolsOf, iconVariantAs, inferredRenames, inlineRuleComposites, inputOf, instanceHolding, instanceSpec, intoName, isAuthored, isBinaryAsset, isComposedValue, isConfigFormatError, isConfigRejection, isCssProperty, isDeclaredElementProp, isDerivedColor, isEntityPath, isExtendedRef, isForceModeProp, isGradient, isGroupBody, isIdentifier, isLinkSlug, isMintedRow, isNativeConfig, isPlainObject, isPreviewElement, isRef, isReservedWord, isShadow, isSystemConfig, isTokenReader, isTransition, isValueSlot, kebabComponent, keyedPreviewConditions, kindOf, kindsOf, layerPropDrivers, layerPropRoutes, layerRef, layerRoutedProps, layerStyles, layerTextProp, leafAddresses, leafVerb, leavesOfStylePropValue, librariesBoundBy, libraryHolding, lighten, linearGradient, linkedComponentModule, linkedModuleView, linkedVarNaming, liveStateProps, markerKind, matchEntities, matchTokens, memberFromLeaf, memberLeaves, memberOf, memberRef, memberVariantOptions, memoryConfigSource, misdeclaredOverlays, mix, modeAxes, modifierAxes, modifierAxis, modifierCategory, modifierGroupFields, modifierInvariants, modifierLeaf, modifierUtilitiesUsed, motionClassName, nameIconsInTree, namedFields, nativeTokenValue, negatedCssValue, normalizeName, normalizeStyleValue, opOf, opVerb, opacityPercentage, opsForKind, orRef, overlayVerb, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers, ownTextProp, ownValues, ownerOf, ownsItsValues, packageKey, packageName, parseRootFontSize, partsOf, pathDelta, pathOf, pathSegments, placedGlyphElement, planBreak, planCopy, planLink, planUnlink, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, previewSpec, propApplies, propInto, propOwner, propRegistryRef, propValueDomain, propValueFromAxis, propsIntoLayer, readStatePointer, readsState, redundantQualifiers, ref, refGraphOf, refLeaf, refListOf, refSchema, refTo, registerSchemaMigrations, renderBindingsOf, renderComposedValue, renderDerivedColor, renderGradient, renderShadow, renderSignature, renderStyleValue, renderTransition, renderedElement, renderedSignatureOf, renderedTarget, resolutionSchema, resolveBinding, resolveComponentProps, resolveFieldValue, resolveIconLibraries, resolveInputDir, resolveOutDir, resolveOutputAlias, resolveRegistryDir, resolveSourceAlias, resolveTokenValue, resolveTokenValueUnder, resolveValue, resolveValueType, resolveVisibility, resolvedSource, rewriteRefNamespace, rewriteRefSource, rewriteRefs, rnStyleKey, rootFontSize, rootLayerOf, routeOf, routedBag, routedProp, routedPropIn, routesContent, routesOf, ruleApplies, ruleCondition, runChangeHooks, safelistEntrySchema, schemaVersionOf, searchEntities, searchTokens, setAtPath, shadow, signatureOf, slotCodeForms, slotTargetsOf, snapshotHtml, sniffValueType, sourceEntries, sourceOf, sourceOfGroup, sourceOfItem, sourceRowStates, sourceSlugFor, sourceUnavailable, sourceUnreachable, sourceVarPrefix, specFromCapture, specToNodePatches, specWithResolvedVisibility, spellTokenRead, splitRef, splitStyleProps, stamp, standsInForCode, statePointerProp, stateRef, stateTest, storedPreview, styleAliasesOf, styleDeclarations, stylePropClassBase, stylePropClassName, stylePropClasses, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFormOf, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValueSchema, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, styleRuleMotionClasses, suggestLinkSlug, summarizeChanges, surfaceProp, surfaceProps, tablerExportName, tablerStyledExportName, toCssPropertyName, tokenBinding, tokenExists, tokenValueRow, tokenValueRows, touchedFields, transition, unadoptedDirectives, unconditionalPreviewProps, unknownStyleLeaves, unreadableBorrows, unstatableConditions, unstatableOverrides, updateRefIndex, upgradeDraftEntries, upgradePatch, upgradeSerializedConfig, validateComponentProps, validateSpec, valueAt, valueForwardsOf, valueLeavesOf, valueRef, valueSchemaOf, varPrefixOf, views, visibilityStateProps, visibilityTerms, withoutTruthyTerm, wrappedElementKey };
113
+ export { AI_LANES, ANATOMY_MARKER, AiChat, type AiChatClass, AiFlow, type AiFlowClass, type AiFlowOrigin, AiGeneration, type AiGenerationClass, type AiLane, AiMessage, type AiMessageClass, type AiMultiAgentMode, type AnatomyIssue, type AnatomyIssueKind, type AnatomyReport, type AnySystemConfig, type AsInput, type AttachedSources, type Authored, type AuthoredComponent, type AuthoredProp, type AuthoredPropBody, type AuthoredStyleBag, type AuthoredStyleField, type AuthoringSignatureOptions, BUILD_DEFAULTS, type BindingKind, type BreakOutcome, type BreakPlan, type BreakPlanInput, type BreakPlanRow, type BreakReach, BuildSection, type BuildSectionClass, CANVAS_ROLES, COMPONENT_ENTRY_STATIC, CONFIG_OPERATION_KIND, CSS_DEFAULTS, CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, CURRENT_SCHEMA_VERSION, Canvas, type CanvasClass, CanvasConfig, type CanvasConfigClass, CanvasRole, type CanvasRoleClass, type CanvasRoleName, CanvasSection, type CanvasSectionClass, type CaptureToSpecOptions, type CaptureToSpecResult, type CapturedChild, type CapturedElement, CapturedNode, type CapturedNodeJson, type Spec as CapturedSpec, type SpecElement as CapturedSpecElement, type CapturedText, type Cell, type CellSlot, type Change, type ChangeHook, type ChangeTarget, type CheckedTokenRefPath, type ChildrenPolicy, type ClassGrammar, type CodeSlot, type Collection, type ColorValue, Component, type ComponentBody, type ComponentBuilder, type ComponentClass, type ComponentContractOf, type ComponentCreateInput, type ComponentElementBody, type ComponentItemInput, type ComponentModuleSource, type ComponentPropBody, type ComponentPropsOf, type ComponentReference, type ComponentRegistryImport, type ComponentRegistryImportBinding, type ComponentRuleClass, type ComponentSpec, type ComponentSpecs, type ComponentStyleBody, type ComposedValue, type ComposedValueAuthoring, type ComposedValueForm, Composite, type CompositeClass, type ComputedFields, type ComputedFunctions, type ComputedInput, type ComputedMap, type ComputedValue, Config, type ConfigClass, type ConfigEdit, ConfigFormatError, type ConfigInstance, type ConfigIssue, type ConfigIssueCode, type ConfigKind, type ConfigOp, ConfigRejection, ConfigSession, type ConfigSessionOptions, type ConfigSink, type ConfigSource, type CopyPlan, type CopyPlanInput, type CopyPlanRow, type CreateInput, type CssGrammar, type CssPrefix, type CssPropertyEntry, CssSection, type CssSectionClass, DERIVED_COLOR_SPACE, DERIVED_MUTATIONS, type DanglingDirective, type DanglingLocalRef, type DanglingRef, type DeclaredRuntimeModule, type DeletePlan, type DeriveMembers, type DerivedColor, type DerivedEntityClass, type DerivedOp, Device, type DeviceClass, type DiffOptions, Documentation, type DocumentationClass, DocumentationLibrary, type DocumentationLibraryClass, type DomLikeElement, type DraftSource, ENTITY_PATH_MESSAGE, EXPORT_MEMBER, type Edition, type ElementVisibility, type ElementVisibilityInput, type ElementVisibilitySchema, Entity, type EntityAddress, type EntityChange, type EntityClass, type EntityKind, type EntityMap, type EntryGroup, type ExpandOptions, type ExpansionResult, type ExtendedComponentRef, type ExtendedRef, type FieldsSchema, File, type FileClass, Font, type FontClass, FontFile, type FontFileClass, type ForwardBlockedReason, type ForwardClaims, type ForwardOption, type ForwardOptions, type ForwardRequest, GROUP, GUIDANCE_LANES, GlobalStyle, type GlobalStyleClass, type GlyphComponent, type GlyphExportRule, type GlyphSource, type GlyphValue, type GoverningCondition, type Gradient, type GroupBody, type GroupComputedInput, Guidance, type GuidanceClass, type GuidanceLane, type GuidanceScope, type GuidanceSegment, GuidanceStyle, type GuidanceStyleBody, type GuidanceStyleClass, type HasSnapshot, type HydrationOptions, ICON_METADATA_FORMATS, Icon, type IconAnswer, type IconClass, type IconGlyph, type IconHook, type IconLibrary, type IconMemberMetadata, type IconMetadataAdapter, type IconMetadataDeclaration, type IconMetadataFile, type IconMetadataFormat, type IconTool, type IconVariantAs, type IdentifiedOp, type InferredRename, type Instance, type InstanceSlot, type InstanceSpec, type ItemOf, type KindRef, type KindSignature, type KindSlice, LINK_SLUG, LINK_SLUG_MESSAGE, type LayerElement, type LayerMap, type LayerPropDriver, type LayerStyleOptions, type LeafAddress, type LinkArrival, type LinkDeclaration, type LinkPaths, type LinkPlan, type LinkPlanInput, type LinkedElsewhere, LinkedSystem, type LinkedSystemClass, type LinkedSystemCreateInput, type LinkedSystemItemInput, type LinkedSystemResolver, type LinkedSystemState, type ListOptions, type LiveConfig, type LocalOverlay, MINTED, MODIFIER_CATEGORIES, type MarkerKind, type MisdeclaredOverlay, Modifier, type ModifierCategory, type ModifierClass, type ModifierGroupMeta, Motion, type MotionClass, NATIVE_ACTIVATIONS, type NativeActivation, NativeModifier, type NativeModifierClass, NativeSettings, NativeStyleProperty, NativeToken, Node, type NodeClass, type OnLinked, type OpHandler, type OpInput, Operation, type OperationClass, type OverlayVerb, type OverrideCondition, type OwnedRecords, PLACED_NODE_KEY, PLAYGROUND_DEFAULTS, Package, type PackageClass, Page, type PageClass, type Patch, type PathOf, type PickedComposite, type PinDirective, type PinOptions, type PinOptionsField, type PinOptionsInput, type Plan, type PlanImpact, type PlanOp, PlaygroundSection, type PlaygroundSectionClass, type PreviewElement, type PreviewMatrix, type ProjectedVisibility, type PropCondition, type PropDecl, type PropDeclaration, type PropMap, type PropRoute, type PropShapeSchema, RN_STYLE_KEYS, ReactNativeSystem, type ReactNativeSystemClass, type ReactNativeSystemConfig, type RebaseConflict, type RebaseOrigin, type RebaseResult, type RecordedSource, type RedundantQualifier, type Ref, type RefGraph, type RefGraphEntry, type RefIndex, type RefIndexChange, type RefMember, type RefTarget, type RegisteredComponentContracts, type RegisteredEntities, type RegisteredMembers, type RegisteredModifiers, type RegisteredPaths, type RegisteredStyleBag, type RegisteredStyleProps, type RegisteredTokenValues, type RenamePlan, type RenderArgs, type RenderElement, type RenderSpec, type RenderedNode, type RenderedTarget, type RepeatRow, type RepeatSpec, type ResolveContext, type ResolveValueTypeInput, type ResolvedBinding, type ResolvedSource, type RootFontSize, SCRIPT_EXTENSIONS, SERIALIZED_CONFIG_VERSION, SIZE_TOLERANCE_PX, SLOT_CODE_FORMS, STYLE_PROPERTIES, STYLE_PROP_VALUE_FORMS, STYLE_PROP_VALUE_LEAVES, type SafelistEntry, type SchemaEntry, type SchemaMigration, SchemaVersionTooNew, type SerializedConfig, type SerializedSourceAnswer, Settings, type SettingsClass, type Shadow, type ShadowColor, type ShadowLayer, type ShadowParts, type SignatureOptions, type SkippedOp, type Slot, type SlotCell, type SlotCodeForm, type SlotDecl, type SlotHost, type SlotTarget, Snapshot, type Source, type SourceAnswer, type SourceChange, type SourceMap, type SourceResolution, type SourceResolutionSchemas, type SourceResolver, type SourceRowState, type SourceState, type SourceUnavailable, type SourcesBySlug, type SourcesOf, type SpecNode, type SplitStyleProps, type StampedPatch, type StoredConfig, type StoredPreviewCondition, type StyleClass, type StylePropEntry, type StylePropLeaf, type StylePropValue, type StylePropValueCtx, type StylePropValueKind, StyleProperty, type StylePropertyClass, type StylePropertyItem, type StyleRuleInput, type StyleValue, type SubEntityClass, type SubPatch, type SurfaceCompositeProp, type SurfaceProp, type SurfacePropCondition, type SurfacePropKind, type SurfaceScalarProp, type SurfaceSlotProp, type SurfaceStylePropertyProp, type SurfaceVariantProp, System, type SystemClass, type SystemConfig, SystemSection, type SystemSectionClass, SystemSource, type SystemSourceClass, TOKEN_READERS, type TimingValue, Token, type TokenBinding, type TokenBody, type TokenClass, type TokenGroupReader, type TokenMatch, type TokenReader, type TokenReaders, type TokenRefPath, type TokenReference, type TokenValueEntry, type TokenValueRow, type TokenValueState, Tool, type ToolClass, type Transition, type TransitionSegment, type TraverseOptions, type TreeNode, UNCONDITIONAL_PREVIEW_KEY, UNREACHABLE, type UnadoptedDirective, type UnknownStyleLeaf, type UnlinkPlan, type UnlinkPlanInput, type UnreadableBorrow, type UnstatableCondition, type UnstatableOverride, type UpgradedDraft, type UserSchemas, VOID_ELEMENTS, type ValueOf, type ValueType, type VarNaming, type VariantValueBody, type VariantValues, type VisibilityOperator, type VisibilityTerm, WEB_ACTIVATIONS, type WalkOptions, type WebActivation, addressOf, alpha, anatomyElementComponent, anatomyIssueKey, anatomyTextProp, applyPathDelta, authoredBag, authoredValue, authoringSignatures, baseOf, bindStateRef, bindingPath, blankComponentBody, borrowedGroup, borrowedItem, boundElementType, brandGroup, buildRefGraph, buildRefIndex, canonicalWhen, capturedFromDom, changeOf, changeValueAt, changesOf, childrenPolicy, classGrammar, className, classPrefixOf, classifyOverlay, classifyStylePropValue, codeSlotsOf, collectRefs, componentClassBase, componentCompositeClasses, componentLayerClass, componentModuleFilePaths, componentModuleKey, componentModuleSource, componentMotionClasses, componentPropClasses, componentPropComposites, componentRegistryImports, componentRuleClasses, componentSpec, composedValueAuthoring, composedValueFormOf, composedValueForms, composedValueSchemas, condArms, condValue, containsMarker, createCanvasConfig, createSliceMemo, cssPrefixes, cssPropValue, cssProperty, cssPropertyNames, cssString, cssValueIssue, cssVar, cssVarRef, danglingDirectives, danglingLocalRefs, danglingSourcedRefs, darken, declaredField, declaredPropDefaults, declaredPropRouting, declaredRuntimeModules, defineComponent, defineConfig, defineDerivedEntity, defineEntity, defineOverride, defineSubEntity, deriveCreateSchema, deriveSpec, deriveUpdateSchema, describeBody, describePatch, detectedWireVersion, diffRendered, editOp, elementFromCaptured, entityRefOf, entryKeyOf, expandComponent, expandSpec, fieldKeys, fontFamilyStack, forceModeAttribute, forceModeAttributeOf, forceModeProp, forceModePropGroup, forceModePropValue, forceModeProps, forceStateAttribute, forwardClaims, forwardRoutes, forwardedLayers, forwardedNames, forwardsOf, globalStyleName, glyphComponentOf, glyphExportNames, glyphExportRule, glyphLibrariesOf, glyphPropsOf, glyphSourcesOf, glyphType, glyphVariantProp, graftPreviewElements, guidanceReaches, guidanceScopeOf, guidanceTextOf, heldLinked, iconCategories, iconLibraries, iconLibrary, iconMemberMetadata, iconMetadata, iconMetadataDeclaration, iconMetadataFile, iconMetadataFileJsonSchema, iconMetadataFormat, iconMetadataSourceFile, iconResolver, iconToolAxisOptions, iconToolFor, iconToolLibraries, iconToolOf, iconToolsOf, iconVariantAs, inferredRenames, inlineRuleComposites, inputOf, instanceHolding, instanceSpec, intoName, isAuthored, isBinaryAsset, isComposedValue, isConfigFormatError, isConfigRejection, isCssProperty, isDeclaredElementProp, isDerivedColor, isEntityPath, isExtendedRef, isForceModeProp, isGradient, isGroupBody, isIdentifier, isLinkSlug, isMintedRow, isNativeConfig, isPlainObject, isPreviewElement, isRef, isReservedWord, isShadow, isSystemConfig, isTokenReader, isTransition, isValueSlot, jsMotionPropFields, kebabComponent, keyedPreviewConditions, kindOf, kindsOf, layerPropDrivers, layerPropRoutes, layerRef, layerRoutedProps, layerStyles, layerTextProp, leafAddresses, leafVerb, leavesOfStylePropValue, librariesBoundBy, libraryHolding, lighten, linearGradient, linkedComponentModule, linkedModuleView, linkedVarNaming, liveStateProps, markerKind, matchEntities, matchTokens, memberFromLeaf, memberLeaves, memberOf, memberRef, memberVariantOptions, memoryConfigSource, misdeclaredOverlays, mix, modeAxes, modifierAxes, modifierAxis, modifierCategory, modifierGroupFields, modifierInvariants, modifierLeaf, modifierUtilitiesUsed, motionClassName, nameIconsInTree, namedFields, nativeTokenValue, negatedCssValue, normalizeName, normalizeStyleValue, opOf, opVerb, opacityPercentage, opsForKind, orList, orRef, overlayVerb, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers, ownTextProp, ownValues, ownerOf, ownsItsValues, packageKey, packageName, parseRootFontSize, parseTokenValue, partsOf, pathDelta, pathOf, pathSegments, placedGlyphElement, planBreak, planCopy, planLink, planUnlink, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, previewSpec, propApplies, propInto, propOwner, propRegistryRef, propValueDomain, propValueFromAxis, propsIntoLayer, readStatePointer, readsState, redundantQualifiers, ref, refGraphOf, refLeaf, refListOf, refSchema, refTo, registerSchemaMigrations, renderBindingsOf, renderComposedValue, renderDerivedColor, renderGradient, renderShadow, renderSignature, renderStyleValue, renderTransition, renderedElement, renderedSignatureOf, renderedTarget, resolutionSchema, resolveBinding, resolveComponentProps, resolveFieldValue, resolveIconLibraries, resolveInputDir, resolveOutDir, resolveOutputAlias, resolveRegistryDir, resolveSourceAlias, resolveTokenValue, resolveTokenValueUnder, resolveValue, resolveValueType, resolveVisibility, resolvedSource, rewriteRefNamespace, rewriteRefSource, rewriteRefs, rnStyleKey, rootFontSize, rootLayerOf, routeOf, routedBag, routedProp, routedPropIn, routesContent, routesOf, ruleApplies, ruleCondition, runChangeHooks, safelistEntrySchema, schemaVersionOf, searchEntities, searchTokens, setAtPath, shadow, signatureOf, slotCodeForms, slotTargetsOf, snapshotHtml, sniffValueType, sourceEntries, sourceOf, sourceOfGroup, sourceOfItem, sourceRowStates, sourceSlugFor, sourceUnavailable, sourceUnreachable, sourceVarPrefix, specFromCapture, specToNodePatches, specWithResolvedVisibility, spellTokenRead, splitRef, splitStyleProps, stamp, standsInForCode, statePointerProp, stateRef, stateTest, storedPreview, styleAliasesOf, styleDeclarations, stylePropClassBase, stylePropClassName, stylePropClasses, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFormOf, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValueSchema, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, styleRuleMotionClasses, suggestLinkSlug, summarizeChanges, surfaceProp, surfaceProps, tablerExportName, tablerStyledExportName, toCssPropertyName, tokenBinding, tokenExists, tokenValueRow, tokenValueRows, touchedFields, transition, unadoptedDirectives, unconditionalPreviewProps, unknownStyleLeaves, unreadableBorrows, unstatableConditions, unstatableOverrides, updateRefIndex, upgradeDraftEntries, upgradePatch, upgradeSerializedConfig, validateComponentProps, validateSpec, valueAt, valueForwardsOf, valueLeavesOf, valueRef, valueSchemaOf, varPrefixOf, views, visibilityStateProps, visibilityTerms, withoutTruthyTerm, wrappedElementKey };
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import { classifyOverlay, danglingDirectives, danglingSourcedRefs, leafAddresses
14
14
  import { opsForKind } from "./framework/registry.js";
15
15
  import { GROUP, brandGroup, isGroupBody } from "./framework/utils/group.js";
16
16
  import { defineEntity } from "./framework/defineEntity.js";
17
- import { defineSubEntity } from "./framework/defineSubEntity.js";
17
+ import { defineSubEntity, orList } from "./framework/defineSubEntity.js";
18
18
  import { VOID_ELEMENTS, childrenPolicy, forwardsOf, ownerOf, partsOf, renderedElement, renderedTarget, rootLayerOf } from "./entities/system/element.js";
19
19
  import { Font, FontFile, cssString, fontFamilyStack } from "./entities/system/Font.js";
20
20
  import { CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, cssProperty, cssValueIssue, isCssProperty } from "./css/values.js";
@@ -41,7 +41,7 @@ import { componentClassBase, componentCompositeClasses, componentLayerClass, com
41
41
  import { ANATOMY_MARKER, anatomyElementComponent, anatomyTextProp, boundElementType, componentSpec, deriveSpec, entryKeyOf, expandComponent, expandSpec, instanceSpec, layerTextProp, liveStateProps, previewSpec, propInto, propsIntoLayer, readStatePointer, resolveValue, resolveVisibility, routeOf, routesOf, slotTargetsOf, specWithResolvedVisibility, statePointerProp, valueForwardsOf, visibilityStateProps, visibilityTerms, withoutTruthyTerm, wrappedElementKey } from "./framework/render-spec.js";
42
42
  import { instanceHolding } from "./spec/instance.js";
43
43
  import { File, SCRIPT_EXTENSIONS, isBinaryAsset } from "./entities/system/File.js";
44
- import { TOKEN_READERS, isTokenReader, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows } from "./entities/system/token-values.js";
44
+ import { TOKEN_READERS, isTokenReader, parseTokenValue, rootFontSize, spellTokenRead, tokenExists, tokenValueRow, tokenValueRows } from "./entities/system/token-values.js";
45
45
  import { Token, defineOverride, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers } from "./entities/system/Token.js";
46
46
  import { Component, SLOT_CODE_FORMS, blankComponentBody, canonicalWhen, forwardedNames, layerRef, ownValues, ownsItsValues, valueRef } from "./entities/system/Component.js";
47
47
  import { CapturedNode, capturedFromDom, elementFromCaptured } from "./capture/captured-tree.js";
@@ -50,7 +50,7 @@ import { specFromCapture } from "./capture/capture-to-spec.js";
50
50
  import { Icon, iconVariantAs } from "./entities/system/Icon.js";
51
51
  import { glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, iconToolLibraries, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries } from "./entities/system/icon-library.js";
52
52
  import { glyphSourcesOf, iconResolver, nameIconsInTree } from "./capture/icon-resolver.js";
53
- import { specToNodePatches } from "./capture/node-patches.js";
53
+ import { PLACED_NODE_KEY, specToNodePatches } from "./entities/canvas/node-patches.js";
54
54
  import { Device } from "./entities/system/Device.js";
55
55
  import { addressOf, editOp, inputOf, opOf, opVerb } from "./framework/config-op.js";
56
56
  import { renderSignature, signatureOf } from "./framework/signature.js";
@@ -77,7 +77,7 @@ import { COMPONENT_ENTRY_STATIC, componentModuleFilePaths, componentModuleKey, c
77
77
  import { planCopy, sourceEntries } from "./entities/system/copy-plan.js";
78
78
  import { planBreak, planLink, planUnlink, sourceRowStates } from "./entities/system/link-plan.js";
79
79
  import { LINK_SLUG, LINK_SLUG_MESSAGE, LinkedSystem, borrowedGroup, borrowedItem, isLinkSlug, resolvedSource, sourceOfGroup, sourceOfItem, sourceSlugFor, sourceUnavailable, suggestLinkSlug } from "./entities/system/LinkedSystem.js";
80
- import { Motion } from "./entities/system/Motion.js";
80
+ import { Motion, jsMotionPropFields } from "./entities/system/Motion.js";
81
81
  import { danglingLocalRefs, unknownStyleLeaves } from "./framework/ref-integrity.js";
82
82
  import { System } from "./configs/system.js";
83
83
  import { AiChat, AiFlow, AiGeneration, AiMessage, Canvas, CanvasConfig, Node, Page, SystemSource, createCanvasConfig } from "./configs/CanvasConfig.js";
@@ -102,4 +102,4 @@ import { inferredRenames } from "./framework/rename-inference.js";
102
102
  import { ConfigSession, memoryConfigSource } from "./framework/session.js";
103
103
  import { EXPORT_MEMBER, packageKey, packageName } from "./framework/utils/package-path.js";
104
104
  import { validateSpec } from "./framework/validate-spec.js";
105
- export { AI_LANES, ANATOMY_MARKER, AiChat, AiFlow, AiGeneration, AiMessage, BUILD_DEFAULTS, BuildSection, CANVAS_ROLES, COMPONENT_ENTRY_STATIC, CONFIG_OPERATION_KIND, CSS_DEFAULTS, CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, CURRENT_SCHEMA_VERSION, Canvas, CanvasConfig, CanvasRole, CanvasSection, CapturedNode, Component, Composite, Config, ConfigFormatError, ConfigRejection, ConfigSession, CssSection, DERIVED_COLOR_SPACE, DERIVED_MUTATIONS, Device, Documentation, DocumentationLibrary, ENTITY_PATH_MESSAGE, EXPORT_MEMBER, Entity, File, Font, FontFile, GROUP, GUIDANCE_LANES, GlobalStyle, Guidance, GuidanceStyle, ICON_METADATA_FORMATS, Icon, LINK_SLUG, LINK_SLUG_MESSAGE, LinkedSystem, MINTED, MODIFIER_CATEGORIES, Modifier, Motion, NATIVE_ACTIVATIONS, NativeModifier, NativeSettings, NativeStyleProperty, NativeToken, Node, Operation, PLAYGROUND_DEFAULTS, Package, Page, PlaygroundSection, RN_STYLE_KEYS, ReactNativeSystem, SCRIPT_EXTENSIONS, SERIALIZED_CONFIG_VERSION, SIZE_TOLERANCE_PX, SLOT_CODE_FORMS, STYLE_PROPERTIES, STYLE_PROP_VALUE_FORMS, STYLE_PROP_VALUE_LEAVES, SchemaVersionTooNew, Settings, Snapshot, StyleProperty, System, SystemSection, SystemSource, TOKEN_READERS, Token, Tool, UNCONDITIONAL_PREVIEW_KEY, UNREACHABLE, VOID_ELEMENTS, WEB_ACTIVATIONS, addressOf, alpha, anatomyElementComponent, anatomyIssueKey, anatomyTextProp, applyPathDelta, authoredBag, authoredValue, authoringSignatures, baseOf, bindStateRef, bindingPath, blankComponentBody, borrowedGroup, borrowedItem, boundElementType, brandGroup, buildRefGraph, buildRefIndex, canonicalWhen, capturedFromDom, changeOf, changeValueAt, changesOf, childrenPolicy, classGrammar, className, classPrefixOf, classifyOverlay, classifyStylePropValue, codeSlotsOf, collectRefs, componentClassBase, componentCompositeClasses, componentLayerClass, componentModuleFilePaths, componentModuleKey, componentModuleSource, componentMotionClasses, componentPropClasses, componentPropComposites, componentRegistryImports, componentRuleClasses, componentSpec, composedValueAuthoring, composedValueFormOf, composedValueForms, composedValueSchemas, condArms, condValue, containsMarker, createCanvasConfig, createSliceMemo, cssPrefixes, cssPropValue, cssProperty, cssPropertyNames, cssString, cssValueIssue, cssVar, cssVarRef, danglingDirectives, danglingLocalRefs, danglingSourcedRefs, darken, declaredField, declaredPropDefaults, declaredPropRouting, declaredRuntimeModules, defineComponent, defineConfig, defineDerivedEntity, defineEntity, defineOverride, defineSubEntity, deriveCreateSchema, deriveSpec, deriveUpdateSchema, describeBody, describePatch, detectedWireVersion, diffRendered, editOp, elementFromCaptured, entityRefOf, entryKeyOf, expandComponent, expandSpec, fieldKeys, fontFamilyStack, forceModeAttribute, forceModeAttributeOf, forceModeProp, forceModePropGroup, forceModePropValue, forceModeProps, forceStateAttribute, forwardClaims, forwardRoutes, forwardedLayers, forwardedNames, forwardsOf, globalStyleName, glyphComponentOf, glyphExportNames, glyphExportRule, glyphLibrariesOf, glyphPropsOf, glyphSourcesOf, glyphType, glyphVariantProp, graftPreviewElements, guidanceReaches, guidanceScopeOf, guidanceTextOf, heldLinked, iconCategories, iconLibraries, iconLibrary, iconMemberMetadata, iconMetadata, iconMetadataDeclaration, iconMetadataFile, iconMetadataFileJsonSchema, iconMetadataFormat, iconMetadataSourceFile, iconResolver, iconToolAxisOptions, iconToolFor, iconToolLibraries, iconToolOf, iconToolsOf, iconVariantAs, inferredRenames, inlineRuleComposites, inputOf, instanceHolding, instanceSpec, intoName, isAuthored, isBinaryAsset, isComposedValue, isConfigFormatError, isConfigRejection, isCssProperty, isDeclaredElementProp, isDerivedColor, isEntityPath, isExtendedRef, isForceModeProp, isGradient, isGroupBody, isIdentifier, isLinkSlug, isMintedRow, isNativeConfig, isPlainObject, isPreviewElement, isRef, isReservedWord, isShadow, isSystemConfig, isTokenReader, isTransition, isValueSlot, kebabComponent, keyedPreviewConditions, kindOf, kindsOf, layerPropDrivers, layerPropRoutes, layerRef, layerRoutedProps, layerStyles, layerTextProp, leafAddresses, leafVerb, leavesOfStylePropValue, librariesBoundBy, libraryHolding, lighten, linearGradient, linkedComponentModule, linkedModuleView, linkedVarNaming, liveStateProps, markerKind, matchEntities, matchTokens, memberFromLeaf, memberLeaves, memberOf, memberRef, memberVariantOptions, memoryConfigSource, misdeclaredOverlays, mix, modeAxes, modifierAxes, modifierAxis, modifierCategory, modifierGroupFields, modifierInvariants, modifierLeaf, modifierUtilitiesUsed, motionClassName, nameIconsInTree, namedFields, nativeTokenValue, negatedCssValue, normalizeName, normalizeStyleValue, opOf, opVerb, opacityPercentage, opsForKind, orRef, overlayVerb, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers, ownTextProp, ownValues, ownerOf, ownsItsValues, packageKey, packageName, parseRootFontSize, partsOf, pathDelta, pathOf, pathSegments, placedGlyphElement, planBreak, planCopy, planLink, planUnlink, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, previewSpec, propApplies, propInto, propOwner, propRegistryRef, propValueDomain, propValueFromAxis, propsIntoLayer, readStatePointer, readsState, redundantQualifiers, ref, refGraphOf, refLeaf, refListOf, refSchema, refTo, registerSchemaMigrations, renderBindingsOf, renderComposedValue, renderDerivedColor, renderGradient, renderShadow, renderSignature, renderStyleValue, renderTransition, renderedElement, renderedSignatureOf, renderedTarget, resolutionSchema, resolveBinding, resolveComponentProps, resolveFieldValue, resolveIconLibraries, resolveInputDir, resolveOutDir, resolveOutputAlias, resolveRegistryDir, resolveSourceAlias, resolveTokenValue, resolveTokenValueUnder, resolveValue, resolveValueType, resolveVisibility, resolvedSource, rewriteRefNamespace, rewriteRefSource, rewriteRefs, rnStyleKey, rootFontSize, rootLayerOf, routeOf, routedBag, routedProp, routedPropIn, routesContent, routesOf, ruleApplies, ruleCondition, runChangeHooks, safelistEntrySchema, schemaVersionOf, searchEntities, searchTokens, setAtPath, shadow, signatureOf, slotCodeForms, slotTargetsOf, snapshotHtml, sniffValueType, sourceEntries, sourceOf, sourceOfGroup, sourceOfItem, sourceRowStates, sourceSlugFor, sourceUnavailable, sourceUnreachable, sourceVarPrefix, specFromCapture, specToNodePatches, specWithResolvedVisibility, spellTokenRead, splitRef, splitStyleProps, stamp, standsInForCode, statePointerProp, stateRef, stateTest, storedPreview, styleAliasesOf, styleDeclarations, stylePropClassBase, stylePropClassName, stylePropClasses, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFormOf, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValueSchema, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, styleRuleMotionClasses, suggestLinkSlug, summarizeChanges, surfaceProp, surfaceProps, tablerExportName, tablerStyledExportName, toCssPropertyName, tokenBinding, tokenExists, tokenValueRow, tokenValueRows, touchedFields, transition, unadoptedDirectives, unconditionalPreviewProps, unknownStyleLeaves, unreadableBorrows, unstatableConditions, unstatableOverrides, updateRefIndex, upgradeDraftEntries, upgradePatch, upgradeSerializedConfig, validateComponentProps, validateSpec, valueAt, valueForwardsOf, valueLeavesOf, valueRef, valueSchemaOf, varPrefixOf, views, visibilityStateProps, visibilityTerms, withoutTruthyTerm, wrappedElementKey };
105
+ export { AI_LANES, ANATOMY_MARKER, AiChat, AiFlow, AiGeneration, AiMessage, BUILD_DEFAULTS, BuildSection, CANVAS_ROLES, COMPONENT_ENTRY_STATIC, CONFIG_OPERATION_KIND, CSS_DEFAULTS, CSS_PROPERTY_NAMES, CSS_WIDE_KEYWORDS, CURRENT_SCHEMA_VERSION, Canvas, CanvasConfig, CanvasRole, CanvasSection, CapturedNode, Component, Composite, Config, ConfigFormatError, ConfigRejection, ConfigSession, CssSection, DERIVED_COLOR_SPACE, DERIVED_MUTATIONS, Device, Documentation, DocumentationLibrary, ENTITY_PATH_MESSAGE, EXPORT_MEMBER, Entity, File, Font, FontFile, GROUP, GUIDANCE_LANES, GlobalStyle, Guidance, GuidanceStyle, ICON_METADATA_FORMATS, Icon, LINK_SLUG, LINK_SLUG_MESSAGE, LinkedSystem, MINTED, MODIFIER_CATEGORIES, Modifier, Motion, NATIVE_ACTIVATIONS, NativeModifier, NativeSettings, NativeStyleProperty, NativeToken, Node, Operation, PLACED_NODE_KEY, PLAYGROUND_DEFAULTS, Package, Page, PlaygroundSection, RN_STYLE_KEYS, ReactNativeSystem, SCRIPT_EXTENSIONS, SERIALIZED_CONFIG_VERSION, SIZE_TOLERANCE_PX, SLOT_CODE_FORMS, STYLE_PROPERTIES, STYLE_PROP_VALUE_FORMS, STYLE_PROP_VALUE_LEAVES, SchemaVersionTooNew, Settings, Snapshot, StyleProperty, System, SystemSection, SystemSource, TOKEN_READERS, Token, Tool, UNCONDITIONAL_PREVIEW_KEY, UNREACHABLE, VOID_ELEMENTS, WEB_ACTIVATIONS, addressOf, alpha, anatomyElementComponent, anatomyIssueKey, anatomyTextProp, applyPathDelta, authoredBag, authoredValue, authoringSignatures, baseOf, bindStateRef, bindingPath, blankComponentBody, borrowedGroup, borrowedItem, boundElementType, brandGroup, buildRefGraph, buildRefIndex, canonicalWhen, capturedFromDom, changeOf, changeValueAt, changesOf, childrenPolicy, classGrammar, className, classPrefixOf, classifyOverlay, classifyStylePropValue, codeSlotsOf, collectRefs, componentClassBase, componentCompositeClasses, componentLayerClass, componentModuleFilePaths, componentModuleKey, componentModuleSource, componentMotionClasses, componentPropClasses, componentPropComposites, componentRegistryImports, componentRuleClasses, componentSpec, composedValueAuthoring, composedValueFormOf, composedValueForms, composedValueSchemas, condArms, condValue, containsMarker, createCanvasConfig, createSliceMemo, cssPrefixes, cssPropValue, cssProperty, cssPropertyNames, cssString, cssValueIssue, cssVar, cssVarRef, danglingDirectives, danglingLocalRefs, danglingSourcedRefs, darken, declaredField, declaredPropDefaults, declaredPropRouting, declaredRuntimeModules, defineComponent, defineConfig, defineDerivedEntity, defineEntity, defineOverride, defineSubEntity, deriveCreateSchema, deriveSpec, deriveUpdateSchema, describeBody, describePatch, detectedWireVersion, diffRendered, editOp, elementFromCaptured, entityRefOf, entryKeyOf, expandComponent, expandSpec, fieldKeys, fontFamilyStack, forceModeAttribute, forceModeAttributeOf, forceModeProp, forceModePropGroup, forceModePropValue, forceModeProps, forceStateAttribute, forwardClaims, forwardRoutes, forwardedLayers, forwardedNames, forwardsOf, globalStyleName, glyphComponentOf, glyphExportNames, glyphExportRule, glyphLibrariesOf, glyphPropsOf, glyphSourcesOf, glyphType, glyphVariantProp, graftPreviewElements, guidanceReaches, guidanceScopeOf, guidanceTextOf, heldLinked, iconCategories, iconLibraries, iconLibrary, iconMemberMetadata, iconMetadata, iconMetadataDeclaration, iconMetadataFile, iconMetadataFileJsonSchema, iconMetadataFormat, iconMetadataSourceFile, iconResolver, iconToolAxisOptions, iconToolFor, iconToolLibraries, iconToolOf, iconToolsOf, iconVariantAs, inferredRenames, inlineRuleComposites, inputOf, instanceHolding, instanceSpec, intoName, isAuthored, isBinaryAsset, isComposedValue, isConfigFormatError, isConfigRejection, isCssProperty, isDeclaredElementProp, isDerivedColor, isEntityPath, isExtendedRef, isForceModeProp, isGradient, isGroupBody, isIdentifier, isLinkSlug, isMintedRow, isNativeConfig, isPlainObject, isPreviewElement, isRef, isReservedWord, isShadow, isSystemConfig, isTokenReader, isTransition, isValueSlot, jsMotionPropFields, kebabComponent, keyedPreviewConditions, kindOf, kindsOf, layerPropDrivers, layerPropRoutes, layerRef, layerRoutedProps, layerStyles, layerTextProp, leafAddresses, leafVerb, leavesOfStylePropValue, librariesBoundBy, libraryHolding, lighten, linearGradient, linkedComponentModule, linkedModuleView, linkedVarNaming, liveStateProps, markerKind, matchEntities, matchTokens, memberFromLeaf, memberLeaves, memberOf, memberRef, memberVariantOptions, memoryConfigSource, misdeclaredOverlays, mix, modeAxes, modifierAxes, modifierAxis, modifierCategory, modifierGroupFields, modifierInvariants, modifierLeaf, modifierUtilitiesUsed, motionClassName, nameIconsInTree, namedFields, nativeTokenValue, negatedCssValue, normalizeName, normalizeStyleValue, opOf, opVerb, opacityPercentage, opsForKind, orList, orRef, overlayVerb, overrideCondition, overrideKey, overrideKeyModifiers, overrideModifiers, ownTextProp, ownValues, ownerOf, ownsItsValues, packageKey, packageName, parseRootFontSize, parseTokenValue, partsOf, pathDelta, pathOf, pathSegments, placedGlyphElement, planBreak, planCopy, planLink, planUnlink, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, previewSpec, propApplies, propInto, propOwner, propRegistryRef, propValueDomain, propValueFromAxis, propsIntoLayer, readStatePointer, readsState, redundantQualifiers, ref, refGraphOf, refLeaf, refListOf, refSchema, refTo, registerSchemaMigrations, renderBindingsOf, renderComposedValue, renderDerivedColor, renderGradient, renderShadow, renderSignature, renderStyleValue, renderTransition, renderedElement, renderedSignatureOf, renderedTarget, resolutionSchema, resolveBinding, resolveComponentProps, resolveFieldValue, resolveIconLibraries, resolveInputDir, resolveOutDir, resolveOutputAlias, resolveRegistryDir, resolveSourceAlias, resolveTokenValue, resolveTokenValueUnder, resolveValue, resolveValueType, resolveVisibility, resolvedSource, rewriteRefNamespace, rewriteRefSource, rewriteRefs, rnStyleKey, rootFontSize, rootLayerOf, routeOf, routedBag, routedProp, routedPropIn, routesContent, routesOf, ruleApplies, ruleCondition, runChangeHooks, safelistEntrySchema, schemaVersionOf, searchEntities, searchTokens, setAtPath, shadow, signatureOf, slotCodeForms, slotTargetsOf, snapshotHtml, sniffValueType, sourceEntries, sourceOf, sourceOfGroup, sourceOfItem, sourceRowStates, sourceSlugFor, sourceUnavailable, sourceUnreachable, sourceVarPrefix, specFromCapture, specToNodePatches, specWithResolvedVisibility, spellTokenRead, splitRef, splitStyleProps, stamp, standsInForCode, statePointerProp, stateRef, stateTest, storedPreview, styleAliasesOf, styleDeclarations, stylePropClassBase, stylePropClassName, stylePropClasses, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFormOf, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValueSchema, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, styleRuleMotionClasses, suggestLinkSlug, summarizeChanges, surfaceProp, surfaceProps, tablerExportName, tablerStyledExportName, toCssPropertyName, tokenBinding, tokenExists, tokenValueRow, tokenValueRows, touchedFields, transition, unadoptedDirectives, unconditionalPreviewProps, unknownStyleLeaves, unreadableBorrows, unstatableConditions, unstatableOverrides, updateRefIndex, upgradeDraftEntries, upgradePatch, upgradeSerializedConfig, validateComponentProps, validateSpec, valueAt, valueForwardsOf, valueLeavesOf, valueRef, valueSchemaOf, varPrefixOf, views, visibilityStateProps, visibilityTerms, withoutTruthyTerm, wrappedElementKey };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * An additive fence: a component's `styles` and `preview` may be written as a list of members, each
3
+ * keyed by its own condition, as well as the keyed record they are stored as. No stored byte moves.
4
+ *
5
+ * Identity, so a stamp at this version means a sealed source or a patch may carry the list, which an
6
+ * older client would refuse.
7
+ *
8
+ * Deletable once no stored config artifact is below this version.
9
+ */
10
+ import type { SchemaMigration } from '../framework/schema-version';
11
+ export declare const STYLE_RULES_AS_LIST_VERSION = 20261001112308;
12
+ export declare const styleRulesAsListMigration: SchemaMigration;
@@ -0,0 +1,8 @@
1
+ //#region src/migrations/20261001112308_style_rules_as_list.ts
2
+ const STYLE_RULES_AS_LIST_VERSION = 20261001112308;
3
+ const styleRulesAsListMigration = {
4
+ version: STYLE_RULES_AS_LIST_VERSION,
5
+ up: (json) => json
6
+ };
7
+ //#endregion
8
+ export { STYLE_RULES_AS_LIST_VERSION, styleRulesAsListMigration };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A JS motion may carry an `exit` state beside its other interaction states, and a component gains
3
+ * the `element-duplicate` op. The wire shape of every stored config is unchanged: `exit` is a new
4
+ * optional field no stored config held, and an op adds nothing to a stored envelope. Additive, so
5
+ * the envelope passes through as it is.
6
+ */
7
+ import type { SchemaMigration } from '../framework/schema-version';
8
+ export declare const MOTION_EXIT_AND_ELEMENT_DUPLICATE_VERSION = 20261001130958;
9
+ export declare const motionExitAndElementDuplicateMigration: SchemaMigration;