@pixi-ui-editor/schema 0.12.0 → 0.14.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.
@@ -1 +1 @@
1
- {"version":3,"file":"bindingKeys.js","sourceRoot":"","sources":["../src/bindingKeys.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAiH;IAEjH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzD,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { UINode } from \"./index.js\";\nimport type { MaterializedPrefabNodeOrigin } from \"./prefabs.js\";\n\n/**\n * Единственная реализация группировки binding-ключей: и validation документа, и Inspector спрашивают\n * именно её, поэтому «ключ занят» в UI и «ключ дублируется» в документе не могут разойтись.\n *\n * На вход идут materialized-ноды владельца (`resolveOwnerNodeGraph`), а не сырые `owner.nodes`: ключ\n * принадлежит конкретному view, поэтому нода внутри prefab-инстанса участвует в проверке наравне с\n * обычной нодой сцены. Ключ группируется по trimmed-значению; пустая строка остаётся отдельной\n * группой, чтобы вызывающий отличил «ключа нет» от «ключ состоит из пробелов».\n */\nexport function collectBindingKeys(nodes: readonly UINode[]): Map<string, string[]> {\n const keys = new Map<string, string[]>();\n for (const node of nodes) {\n if (node.bindingKey === undefined) continue;\n const key = node.bindingKey.trim();\n const owners = keys.get(key);\n if (owners === undefined) keys.set(key, [node.id]);\n else owners.push(node.id);\n }\n return keys;\n}\n\n/** Область владельца: собственные узлы сцены или определения пресета. Инстанс адресуется своим id. */\nexport const OWNER_BINDING_KEY_SCOPE = \"\";\n\n/**\n * Разбивает materialized-граф владельца на области, внутри которых ключ обязан быть уникальным.\n * Область — это то, относительно чего ключ разрешается, а не весь граф целиком: развёрнутое из\n * определения поддерево принадлежит своему инстансу, потому что игровой код спрашивает такой ключ\n * у конкретного инстанса (`materializedPrefabNodeId`), а не у сцены. Иначе пресет с ключом внутри\n * нельзя было бы разместить на сцене дважды: второй инстанс тиражировал бы тот же ключ.\n *\n * Локально добавленный узел попадает сразу в две области: он существует в единственном экземпляре и\n * авторится на сцене, поэтому участвует в области владельца, но живёт внутри инстанса, поэтому не\n * должен сталкиваться с унаследованными ключами того же инстанса.\n */\nexport function collectBindingKeyScopes(\n graph: { readonly nodes: readonly UINode[]; readonly origins: ReadonlyMap<string, MaterializedPrefabNodeOrigin> },\n): Map<string, UINode[]> {\n const scopes = new Map<string, UINode[]>([[OWNER_BINDING_KEY_SCOPE, []]]);\n const push = (scope: string, node: UINode) => {\n const existing = scopes.get(scope);\n if (existing === undefined) scopes.set(scope, [node]);\n else existing.push(node);\n };\n for (const node of graph.nodes) {\n const origin = graph.origins.get(node.id);\n if (origin === undefined) push(OWNER_BINDING_KEY_SCOPE, node);\n else {\n push(origin.instanceId, node);\n if (origin.kind === \"local\") push(OWNER_BINDING_KEY_SCOPE, node);\n }\n }\n return scopes;\n}\n"]}
1
+ {"version":3,"file":"bindingKeys.js","sourceRoot":"","sources":["../src/bindingKeys.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAiH;IAEjH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aACzD,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { UINode } from \"./index.js\";\r\nimport type { MaterializedPrefabNodeOrigin } from \"./prefabs.js\";\r\n\r\n/**\r\n * Единственная реализация группировки binding-ключей: и validation документа, и Inspector спрашивают\r\n * именно её, поэтому «ключ занят» в UI и «ключ дублируется» в документе не могут разойтись.\r\n *\r\n * На вход идут materialized-ноды владельца (`resolveOwnerNodeGraph`), а не сырые `owner.nodes`: ключ\r\n * принадлежит конкретному view, поэтому нода внутри prefab-инстанса участвует в проверке наравне с\r\n * обычной нодой сцены. Ключ группируется по trimmed-значению; пустая строка остаётся отдельной\r\n * группой, чтобы вызывающий отличил «ключа нет» от «ключ состоит из пробелов».\r\n */\r\nexport function collectBindingKeys(nodes: readonly UINode[]): Map<string, string[]> {\r\n const keys = new Map<string, string[]>();\r\n for (const node of nodes) {\r\n if (node.bindingKey === undefined) continue;\r\n const key = node.bindingKey.trim();\r\n const owners = keys.get(key);\r\n if (owners === undefined) keys.set(key, [node.id]);\r\n else owners.push(node.id);\r\n }\r\n return keys;\r\n}\r\n\r\n/** Область владельца: собственные узлы сцены или определения пресета. Инстанс адресуется своим id. */\r\nexport const OWNER_BINDING_KEY_SCOPE = \"\";\r\n\r\n/**\r\n * Разбивает materialized-граф владельца на области, внутри которых ключ обязан быть уникальным.\r\n * Область — это то, относительно чего ключ разрешается, а не весь граф целиком: развёрнутое из\r\n * определения поддерево принадлежит своему инстансу, потому что игровой код спрашивает такой ключ\r\n * у конкретного инстанса (`materializedPrefabNodeId`), а не у сцены. Иначе пресет с ключом внутри\r\n * нельзя было бы разместить на сцене дважды: второй инстанс тиражировал бы тот же ключ.\r\n *\r\n * Локально добавленный узел попадает сразу в две области: он существует в единственном экземпляре и\r\n * авторится на сцене, поэтому участвует в области владельца, но живёт внутри инстанса, поэтому не\r\n * должен сталкиваться с унаследованными ключами того же инстанса.\r\n */\r\nexport function collectBindingKeyScopes(\r\n graph: { readonly nodes: readonly UINode[]; readonly origins: ReadonlyMap<string, MaterializedPrefabNodeOrigin> },\r\n): Map<string, UINode[]> {\r\n const scopes = new Map<string, UINode[]>([[OWNER_BINDING_KEY_SCOPE, []]]);\r\n const push = (scope: string, node: UINode) => {\r\n const existing = scopes.get(scope);\r\n if (existing === undefined) scopes.set(scope, [node]);\r\n else existing.push(node);\r\n };\r\n for (const node of graph.nodes) {\r\n const origin = graph.origins.get(node.id);\r\n if (origin === undefined) push(OWNER_BINDING_KEY_SCOPE, node);\r\n else {\r\n push(origin.instanceId, node);\r\n if (origin.kind === \"local\") push(OWNER_BINDING_KEY_SCOPE, node);\r\n }\r\n }\r\n return scopes;\r\n}\r\n"]}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
2
  export { collectBindingKeys, collectBindingKeyScopes, OWNER_BINDING_KEY_SCOPE } from "./bindingKeys.js";
3
- export declare const CURRENT_SCHEMA_VERSION: 38;
3
+ export { rewriteNodeReferences, rewritePrefabInstanceReferencePatches, type NodeReferenceRewriter } from "./nodeReferences.js";
4
+ export declare const CURRENT_SCHEMA_VERSION: 40;
4
5
  export declare const LayoutProfileIdSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"desktop">, import("@sinclair/typebox").TLiteral<"mobile">]>;
5
6
  export type LayoutProfileId = Static<typeof LayoutProfileIdSchema>;
6
7
  declare const Alignment: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"upper-left">, import("@sinclair/typebox").TLiteral<"upper-center">, import("@sinclair/typebox").TLiteral<"upper-right">, import("@sinclair/typebox").TLiteral<"middle-left">, import("@sinclair/typebox").TLiteral<"middle-center">, import("@sinclair/typebox").TLiteral<"middle-right">, import("@sinclair/typebox").TLiteral<"lower-left">, import("@sinclair/typebox").TLiteral<"lower-center">, import("@sinclair/typebox").TLiteral<"lower-right">]>;
@@ -95,6 +96,16 @@ export declare function resolveSpineConnectorPositionMultiplier(connector: Pick<
95
96
  x: number;
96
97
  y: number;
97
98
  };
99
+ declare const BitmapTextStyle: import("@sinclair/typebox").TObject<{
100
+ assetId: import("@sinclair/typebox").TString;
101
+ fontSize: import("@sinclair/typebox").TNumber;
102
+ fill: import("@sinclair/typebox").TString;
103
+ align: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"left">, import("@sinclair/typebox").TLiteral<"center">, import("@sinclair/typebox").TLiteral<"right">]>;
104
+ verticalAlign: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"top">, import("@sinclair/typebox").TLiteral<"middle">, import("@sinclair/typebox").TLiteral<"bottom">]>;
105
+ letterSpacing: import("@sinclair/typebox").TNumber;
106
+ wordWrap: import("@sinclair/typebox").TBoolean;
107
+ }>;
108
+ export type BitmapTextStyle = Static<typeof BitmapTextStyle>;
98
109
  export declare const PrefabNodeOverrideSchema: import("@sinclair/typebox").TObject<{
99
110
  /** Адрес переопределяемого узла внутри инстанса; для вложенных пресетов это путь. */
100
111
  nodeId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TString]>;
@@ -1082,6 +1093,26 @@ export declare const UINodeSchema: import("@sinclair/typebox").TRecursive<import
1082
1093
  assetId: import("@sinclair/typebox").TString;
1083
1094
  autoSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1084
1095
  bindingKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1096
+ bitmapTextOverrides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1097
+ desktop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1098
+ assetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1099
+ fontSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1100
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1101
+ align: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"left">, import("@sinclair/typebox").TLiteral<"center">, import("@sinclair/typebox").TLiteral<"right">]>>;
1102
+ verticalAlign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"top">, import("@sinclair/typebox").TLiteral<"middle">, import("@sinclair/typebox").TLiteral<"bottom">]>>;
1103
+ letterSpacing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1104
+ wordWrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1105
+ }>>;
1106
+ mobile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
1107
+ assetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1108
+ fontSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1109
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1110
+ align: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"left">, import("@sinclair/typebox").TLiteral<"center">, import("@sinclair/typebox").TLiteral<"right">]>>;
1111
+ verticalAlign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"top">, import("@sinclair/typebox").TLiteral<"middle">, import("@sinclair/typebox").TLiteral<"bottom">]>>;
1112
+ letterSpacing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1113
+ wordWrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1114
+ }>>;
1115
+ }>>;
1085
1116
  children: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
1086
1117
  editorOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
1087
1118
  fill: import("@sinclair/typebox").TString;
@@ -1327,6 +1358,14 @@ export declare const UINodeSchema: import("@sinclair/typebox").TRecursive<import
1327
1358
  hoverAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1328
1359
  pressedAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1329
1360
  disabledAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1361
+ normalTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1362
+ hoverTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1363
+ pressedTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1364
+ disabledTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1365
+ normalOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1366
+ hoverOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1367
+ pressedOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1368
+ disabledOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1330
1369
  }>;
1331
1370
  transform: import("@sinclair/typebox").TObject<{
1332
1371
  x: import("@sinclair/typebox").TNumber;
@@ -1431,6 +1470,14 @@ export declare const UINodeSchema: import("@sinclair/typebox").TRecursive<import
1431
1470
  hoverAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1432
1471
  pressedAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1433
1472
  disabledAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1473
+ normalTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1474
+ hoverTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1475
+ pressedTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1476
+ disabledTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
1477
+ normalOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1478
+ hoverOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1479
+ pressedOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1480
+ disabledOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
1434
1481
  }>;
1435
1482
  }>>;
1436
1483
  transform: import("@sinclair/typebox").TObject<{
@@ -3091,6 +3138,26 @@ export declare const LocallyAddedNodeSchema: import("@sinclair/typebox").TRecurs
3091
3138
  assetId: import("@sinclair/typebox").TString;
3092
3139
  autoSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
3093
3140
  bindingKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3141
+ bitmapTextOverrides: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
3142
+ desktop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
3143
+ assetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3144
+ fontSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3145
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3146
+ align: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"left">, import("@sinclair/typebox").TLiteral<"center">, import("@sinclair/typebox").TLiteral<"right">]>>;
3147
+ verticalAlign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"top">, import("@sinclair/typebox").TLiteral<"middle">, import("@sinclair/typebox").TLiteral<"bottom">]>>;
3148
+ letterSpacing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3149
+ wordWrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
3150
+ }>>;
3151
+ mobile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
3152
+ assetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3153
+ fontSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3154
+ fill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3155
+ align: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"left">, import("@sinclair/typebox").TLiteral<"center">, import("@sinclair/typebox").TLiteral<"right">]>>;
3156
+ verticalAlign: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"top">, import("@sinclair/typebox").TLiteral<"middle">, import("@sinclair/typebox").TLiteral<"bottom">]>>;
3157
+ letterSpacing: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3158
+ wordWrap: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
3159
+ }>>;
3160
+ }>>;
3094
3161
  children: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
3095
3162
  editorOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
3096
3163
  fill: import("@sinclair/typebox").TString;
@@ -3336,6 +3403,14 @@ export declare const LocallyAddedNodeSchema: import("@sinclair/typebox").TRecurs
3336
3403
  hoverAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3337
3404
  pressedAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3338
3405
  disabledAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3406
+ normalTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3407
+ hoverTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3408
+ pressedTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3409
+ disabledTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3410
+ normalOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3411
+ hoverOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3412
+ pressedOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3413
+ disabledOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3339
3414
  }>;
3340
3415
  transform: import("@sinclair/typebox").TObject<{
3341
3416
  x: import("@sinclair/typebox").TNumber;
@@ -3440,6 +3515,14 @@ export declare const LocallyAddedNodeSchema: import("@sinclair/typebox").TRecurs
3440
3515
  hoverAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3441
3516
  pressedAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3442
3517
  disabledAssetId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3518
+ normalTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3519
+ hoverTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3520
+ pressedTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3521
+ disabledTint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3522
+ normalOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3523
+ hoverOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3524
+ pressedOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3525
+ disabledOpacity: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
3443
3526
  }>;
3444
3527
  }>>;
3445
3528
  transform: import("@sinclair/typebox").TObject<{
@@ -5166,6 +5249,26 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
5166
5249
  assetId: string;
5167
5250
  autoSize?: boolean | undefined;
5168
5251
  bindingKey?: string | undefined;
5252
+ bitmapTextOverrides?: {
5253
+ desktop?: {
5254
+ assetId?: string | undefined;
5255
+ fontSize?: number | undefined;
5256
+ fill?: string | undefined;
5257
+ align?: "center" | "left" | "right" | undefined;
5258
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
5259
+ letterSpacing?: number | undefined;
5260
+ wordWrap?: boolean | undefined;
5261
+ } | undefined;
5262
+ mobile?: {
5263
+ assetId?: string | undefined;
5264
+ fontSize?: number | undefined;
5265
+ fill?: string | undefined;
5266
+ align?: "center" | "left" | "right" | undefined;
5267
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
5268
+ letterSpacing?: number | undefined;
5269
+ wordWrap?: boolean | undefined;
5270
+ } | undefined;
5271
+ } | undefined;
5169
5272
  children: string[];
5170
5273
  editorOnly?: boolean | undefined;
5171
5274
  fill: string;
@@ -5411,6 +5514,14 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
5411
5514
  hoverAssetId?: string | undefined;
5412
5515
  pressedAssetId?: string | undefined;
5413
5516
  disabledAssetId?: string | undefined;
5517
+ normalTint?: string | undefined;
5518
+ hoverTint?: string | undefined;
5519
+ pressedTint?: string | undefined;
5520
+ disabledTint?: string | undefined;
5521
+ normalOpacity?: number | undefined;
5522
+ hoverOpacity?: number | undefined;
5523
+ pressedOpacity?: number | undefined;
5524
+ disabledOpacity?: number | undefined;
5414
5525
  };
5415
5526
  transform: {
5416
5527
  x: number;
@@ -5515,6 +5626,14 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
5515
5626
  hoverAssetId?: string | undefined;
5516
5627
  pressedAssetId?: string | undefined;
5517
5628
  disabledAssetId?: string | undefined;
5629
+ normalTint?: string | undefined;
5630
+ hoverTint?: string | undefined;
5631
+ pressedTint?: string | undefined;
5632
+ disabledTint?: string | undefined;
5633
+ normalOpacity?: number | undefined;
5634
+ hoverOpacity?: number | undefined;
5635
+ pressedOpacity?: number | undefined;
5636
+ disabledOpacity?: number | undefined;
5518
5637
  };
5519
5638
  }[];
5520
5639
  transform: {
@@ -6524,6 +6643,26 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
6524
6643
  assetId: string;
6525
6644
  autoSize?: boolean | undefined;
6526
6645
  bindingKey?: string | undefined;
6646
+ bitmapTextOverrides?: {
6647
+ desktop?: {
6648
+ assetId?: string | undefined;
6649
+ fontSize?: number | undefined;
6650
+ fill?: string | undefined;
6651
+ align?: "center" | "left" | "right" | undefined;
6652
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
6653
+ letterSpacing?: number | undefined;
6654
+ wordWrap?: boolean | undefined;
6655
+ } | undefined;
6656
+ mobile?: {
6657
+ assetId?: string | undefined;
6658
+ fontSize?: number | undefined;
6659
+ fill?: string | undefined;
6660
+ align?: "center" | "left" | "right" | undefined;
6661
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
6662
+ letterSpacing?: number | undefined;
6663
+ wordWrap?: boolean | undefined;
6664
+ } | undefined;
6665
+ } | undefined;
6527
6666
  children: string[];
6528
6667
  editorOnly?: boolean | undefined;
6529
6668
  fill: string;
@@ -6769,6 +6908,14 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
6769
6908
  hoverAssetId?: string | undefined;
6770
6909
  pressedAssetId?: string | undefined;
6771
6910
  disabledAssetId?: string | undefined;
6911
+ normalTint?: string | undefined;
6912
+ hoverTint?: string | undefined;
6913
+ pressedTint?: string | undefined;
6914
+ disabledTint?: string | undefined;
6915
+ normalOpacity?: number | undefined;
6916
+ hoverOpacity?: number | undefined;
6917
+ pressedOpacity?: number | undefined;
6918
+ disabledOpacity?: number | undefined;
6772
6919
  };
6773
6920
  transform: {
6774
6921
  x: number;
@@ -6873,6 +7020,14 @@ export declare const SceneSchema: import("@sinclair/typebox").TObject<{
6873
7020
  hoverAssetId?: string | undefined;
6874
7021
  pressedAssetId?: string | undefined;
6875
7022
  disabledAssetId?: string | undefined;
7023
+ normalTint?: string | undefined;
7024
+ hoverTint?: string | undefined;
7025
+ pressedTint?: string | undefined;
7026
+ disabledTint?: string | undefined;
7027
+ normalOpacity?: number | undefined;
7028
+ hoverOpacity?: number | undefined;
7029
+ pressedOpacity?: number | undefined;
7030
+ disabledOpacity?: number | undefined;
6876
7031
  };
6877
7032
  }[];
6878
7033
  transform: {
@@ -9234,6 +9389,26 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
9234
9389
  assetId: string;
9235
9390
  autoSize?: boolean | undefined;
9236
9391
  bindingKey?: string | undefined;
9392
+ bitmapTextOverrides?: {
9393
+ desktop?: {
9394
+ assetId?: string | undefined;
9395
+ fontSize?: number | undefined;
9396
+ fill?: string | undefined;
9397
+ align?: "center" | "left" | "right" | undefined;
9398
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
9399
+ letterSpacing?: number | undefined;
9400
+ wordWrap?: boolean | undefined;
9401
+ } | undefined;
9402
+ mobile?: {
9403
+ assetId?: string | undefined;
9404
+ fontSize?: number | undefined;
9405
+ fill?: string | undefined;
9406
+ align?: "center" | "left" | "right" | undefined;
9407
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
9408
+ letterSpacing?: number | undefined;
9409
+ wordWrap?: boolean | undefined;
9410
+ } | undefined;
9411
+ } | undefined;
9237
9412
  children: string[];
9238
9413
  editorOnly?: boolean | undefined;
9239
9414
  fill: string;
@@ -9479,6 +9654,14 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
9479
9654
  hoverAssetId?: string | undefined;
9480
9655
  pressedAssetId?: string | undefined;
9481
9656
  disabledAssetId?: string | undefined;
9657
+ normalTint?: string | undefined;
9658
+ hoverTint?: string | undefined;
9659
+ pressedTint?: string | undefined;
9660
+ disabledTint?: string | undefined;
9661
+ normalOpacity?: number | undefined;
9662
+ hoverOpacity?: number | undefined;
9663
+ pressedOpacity?: number | undefined;
9664
+ disabledOpacity?: number | undefined;
9482
9665
  };
9483
9666
  transform: {
9484
9667
  x: number;
@@ -9583,6 +9766,14 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
9583
9766
  hoverAssetId?: string | undefined;
9584
9767
  pressedAssetId?: string | undefined;
9585
9768
  disabledAssetId?: string | undefined;
9769
+ normalTint?: string | undefined;
9770
+ hoverTint?: string | undefined;
9771
+ pressedTint?: string | undefined;
9772
+ disabledTint?: string | undefined;
9773
+ normalOpacity?: number | undefined;
9774
+ hoverOpacity?: number | undefined;
9775
+ pressedOpacity?: number | undefined;
9776
+ disabledOpacity?: number | undefined;
9586
9777
  };
9587
9778
  }[];
9588
9779
  transform: {
@@ -10592,6 +10783,26 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
10592
10783
  assetId: string;
10593
10784
  autoSize?: boolean | undefined;
10594
10785
  bindingKey?: string | undefined;
10786
+ bitmapTextOverrides?: {
10787
+ desktop?: {
10788
+ assetId?: string | undefined;
10789
+ fontSize?: number | undefined;
10790
+ fill?: string | undefined;
10791
+ align?: "center" | "left" | "right" | undefined;
10792
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
10793
+ letterSpacing?: number | undefined;
10794
+ wordWrap?: boolean | undefined;
10795
+ } | undefined;
10796
+ mobile?: {
10797
+ assetId?: string | undefined;
10798
+ fontSize?: number | undefined;
10799
+ fill?: string | undefined;
10800
+ align?: "center" | "left" | "right" | undefined;
10801
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
10802
+ letterSpacing?: number | undefined;
10803
+ wordWrap?: boolean | undefined;
10804
+ } | undefined;
10805
+ } | undefined;
10595
10806
  children: string[];
10596
10807
  editorOnly?: boolean | undefined;
10597
10808
  fill: string;
@@ -10837,6 +11048,14 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
10837
11048
  hoverAssetId?: string | undefined;
10838
11049
  pressedAssetId?: string | undefined;
10839
11050
  disabledAssetId?: string | undefined;
11051
+ normalTint?: string | undefined;
11052
+ hoverTint?: string | undefined;
11053
+ pressedTint?: string | undefined;
11054
+ disabledTint?: string | undefined;
11055
+ normalOpacity?: number | undefined;
11056
+ hoverOpacity?: number | undefined;
11057
+ pressedOpacity?: number | undefined;
11058
+ disabledOpacity?: number | undefined;
10840
11059
  };
10841
11060
  transform: {
10842
11061
  x: number;
@@ -10941,6 +11160,14 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
10941
11160
  hoverAssetId?: string | undefined;
10942
11161
  pressedAssetId?: string | undefined;
10943
11162
  disabledAssetId?: string | undefined;
11163
+ normalTint?: string | undefined;
11164
+ hoverTint?: string | undefined;
11165
+ pressedTint?: string | undefined;
11166
+ disabledTint?: string | undefined;
11167
+ normalOpacity?: number | undefined;
11168
+ hoverOpacity?: number | undefined;
11169
+ pressedOpacity?: number | undefined;
11170
+ disabledOpacity?: number | undefined;
10944
11171
  };
10945
11172
  }[];
10946
11173
  transform: {
@@ -12313,7 +12540,7 @@ export declare const PrefabDefinitionSchema: import("@sinclair/typebox").TObject
12313
12540
  }>;
12314
12541
  export type PrefabDefinition = Static<typeof PrefabDefinitionSchema>;
12315
12542
  export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<{
12316
- schemaVersion: import("@sinclair/typebox").TLiteral<38>;
12543
+ schemaVersion: import("@sinclair/typebox").TLiteral<40>;
12317
12544
  project: import("@sinclair/typebox").TObject<{
12318
12545
  id: import("@sinclair/typebox").TString;
12319
12546
  name: import("@sinclair/typebox").TString;
@@ -13367,6 +13594,26 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
13367
13594
  assetId: string;
13368
13595
  autoSize?: boolean | undefined;
13369
13596
  bindingKey?: string | undefined;
13597
+ bitmapTextOverrides?: {
13598
+ desktop?: {
13599
+ assetId?: string | undefined;
13600
+ fontSize?: number | undefined;
13601
+ fill?: string | undefined;
13602
+ align?: "center" | "left" | "right" | undefined;
13603
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
13604
+ letterSpacing?: number | undefined;
13605
+ wordWrap?: boolean | undefined;
13606
+ } | undefined;
13607
+ mobile?: {
13608
+ assetId?: string | undefined;
13609
+ fontSize?: number | undefined;
13610
+ fill?: string | undefined;
13611
+ align?: "center" | "left" | "right" | undefined;
13612
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
13613
+ letterSpacing?: number | undefined;
13614
+ wordWrap?: boolean | undefined;
13615
+ } | undefined;
13616
+ } | undefined;
13370
13617
  children: string[];
13371
13618
  editorOnly?: boolean | undefined;
13372
13619
  fill: string;
@@ -13612,6 +13859,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
13612
13859
  hoverAssetId?: string | undefined;
13613
13860
  pressedAssetId?: string | undefined;
13614
13861
  disabledAssetId?: string | undefined;
13862
+ normalTint?: string | undefined;
13863
+ hoverTint?: string | undefined;
13864
+ pressedTint?: string | undefined;
13865
+ disabledTint?: string | undefined;
13866
+ normalOpacity?: number | undefined;
13867
+ hoverOpacity?: number | undefined;
13868
+ pressedOpacity?: number | undefined;
13869
+ disabledOpacity?: number | undefined;
13615
13870
  };
13616
13871
  transform: {
13617
13872
  x: number;
@@ -13716,6 +13971,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
13716
13971
  hoverAssetId?: string | undefined;
13717
13972
  pressedAssetId?: string | undefined;
13718
13973
  disabledAssetId?: string | undefined;
13974
+ normalTint?: string | undefined;
13975
+ hoverTint?: string | undefined;
13976
+ pressedTint?: string | undefined;
13977
+ disabledTint?: string | undefined;
13978
+ normalOpacity?: number | undefined;
13979
+ hoverOpacity?: number | undefined;
13980
+ pressedOpacity?: number | undefined;
13981
+ disabledOpacity?: number | undefined;
13719
13982
  };
13720
13983
  }[];
13721
13984
  transform: {
@@ -14725,6 +14988,26 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
14725
14988
  assetId: string;
14726
14989
  autoSize?: boolean | undefined;
14727
14990
  bindingKey?: string | undefined;
14991
+ bitmapTextOverrides?: {
14992
+ desktop?: {
14993
+ assetId?: string | undefined;
14994
+ fontSize?: number | undefined;
14995
+ fill?: string | undefined;
14996
+ align?: "center" | "left" | "right" | undefined;
14997
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
14998
+ letterSpacing?: number | undefined;
14999
+ wordWrap?: boolean | undefined;
15000
+ } | undefined;
15001
+ mobile?: {
15002
+ assetId?: string | undefined;
15003
+ fontSize?: number | undefined;
15004
+ fill?: string | undefined;
15005
+ align?: "center" | "left" | "right" | undefined;
15006
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
15007
+ letterSpacing?: number | undefined;
15008
+ wordWrap?: boolean | undefined;
15009
+ } | undefined;
15010
+ } | undefined;
14728
15011
  children: string[];
14729
15012
  editorOnly?: boolean | undefined;
14730
15013
  fill: string;
@@ -14970,6 +15253,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
14970
15253
  hoverAssetId?: string | undefined;
14971
15254
  pressedAssetId?: string | undefined;
14972
15255
  disabledAssetId?: string | undefined;
15256
+ normalTint?: string | undefined;
15257
+ hoverTint?: string | undefined;
15258
+ pressedTint?: string | undefined;
15259
+ disabledTint?: string | undefined;
15260
+ normalOpacity?: number | undefined;
15261
+ hoverOpacity?: number | undefined;
15262
+ pressedOpacity?: number | undefined;
15263
+ disabledOpacity?: number | undefined;
14973
15264
  };
14974
15265
  transform: {
14975
15266
  x: number;
@@ -15074,6 +15365,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
15074
15365
  hoverAssetId?: string | undefined;
15075
15366
  pressedAssetId?: string | undefined;
15076
15367
  disabledAssetId?: string | undefined;
15368
+ normalTint?: string | undefined;
15369
+ hoverTint?: string | undefined;
15370
+ pressedTint?: string | undefined;
15371
+ disabledTint?: string | undefined;
15372
+ normalOpacity?: number | undefined;
15373
+ hoverOpacity?: number | undefined;
15374
+ pressedOpacity?: number | undefined;
15375
+ disabledOpacity?: number | undefined;
15077
15376
  };
15078
15377
  }[];
15079
15378
  transform: {
@@ -17306,6 +17605,26 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
17306
17605
  assetId: string;
17307
17606
  autoSize?: boolean | undefined;
17308
17607
  bindingKey?: string | undefined;
17608
+ bitmapTextOverrides?: {
17609
+ desktop?: {
17610
+ assetId?: string | undefined;
17611
+ fontSize?: number | undefined;
17612
+ fill?: string | undefined;
17613
+ align?: "center" | "left" | "right" | undefined;
17614
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
17615
+ letterSpacing?: number | undefined;
17616
+ wordWrap?: boolean | undefined;
17617
+ } | undefined;
17618
+ mobile?: {
17619
+ assetId?: string | undefined;
17620
+ fontSize?: number | undefined;
17621
+ fill?: string | undefined;
17622
+ align?: "center" | "left" | "right" | undefined;
17623
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
17624
+ letterSpacing?: number | undefined;
17625
+ wordWrap?: boolean | undefined;
17626
+ } | undefined;
17627
+ } | undefined;
17309
17628
  children: string[];
17310
17629
  editorOnly?: boolean | undefined;
17311
17630
  fill: string;
@@ -17551,6 +17870,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
17551
17870
  hoverAssetId?: string | undefined;
17552
17871
  pressedAssetId?: string | undefined;
17553
17872
  disabledAssetId?: string | undefined;
17873
+ normalTint?: string | undefined;
17874
+ hoverTint?: string | undefined;
17875
+ pressedTint?: string | undefined;
17876
+ disabledTint?: string | undefined;
17877
+ normalOpacity?: number | undefined;
17878
+ hoverOpacity?: number | undefined;
17879
+ pressedOpacity?: number | undefined;
17880
+ disabledOpacity?: number | undefined;
17554
17881
  };
17555
17882
  transform: {
17556
17883
  x: number;
@@ -17655,6 +17982,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
17655
17982
  hoverAssetId?: string | undefined;
17656
17983
  pressedAssetId?: string | undefined;
17657
17984
  disabledAssetId?: string | undefined;
17985
+ normalTint?: string | undefined;
17986
+ hoverTint?: string | undefined;
17987
+ pressedTint?: string | undefined;
17988
+ disabledTint?: string | undefined;
17989
+ normalOpacity?: number | undefined;
17990
+ hoverOpacity?: number | undefined;
17991
+ pressedOpacity?: number | undefined;
17992
+ disabledOpacity?: number | undefined;
17658
17993
  };
17659
17994
  }[];
17660
17995
  transform: {
@@ -18664,6 +18999,26 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
18664
18999
  assetId: string;
18665
19000
  autoSize?: boolean | undefined;
18666
19001
  bindingKey?: string | undefined;
19002
+ bitmapTextOverrides?: {
19003
+ desktop?: {
19004
+ assetId?: string | undefined;
19005
+ fontSize?: number | undefined;
19006
+ fill?: string | undefined;
19007
+ align?: "center" | "left" | "right" | undefined;
19008
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
19009
+ letterSpacing?: number | undefined;
19010
+ wordWrap?: boolean | undefined;
19011
+ } | undefined;
19012
+ mobile?: {
19013
+ assetId?: string | undefined;
19014
+ fontSize?: number | undefined;
19015
+ fill?: string | undefined;
19016
+ align?: "center" | "left" | "right" | undefined;
19017
+ verticalAlign?: "bottom" | "middle" | "top" | undefined;
19018
+ letterSpacing?: number | undefined;
19019
+ wordWrap?: boolean | undefined;
19020
+ } | undefined;
19021
+ } | undefined;
18667
19022
  children: string[];
18668
19023
  editorOnly?: boolean | undefined;
18669
19024
  fill: string;
@@ -18909,6 +19264,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
18909
19264
  hoverAssetId?: string | undefined;
18910
19265
  pressedAssetId?: string | undefined;
18911
19266
  disabledAssetId?: string | undefined;
19267
+ normalTint?: string | undefined;
19268
+ hoverTint?: string | undefined;
19269
+ pressedTint?: string | undefined;
19270
+ disabledTint?: string | undefined;
19271
+ normalOpacity?: number | undefined;
19272
+ hoverOpacity?: number | undefined;
19273
+ pressedOpacity?: number | undefined;
19274
+ disabledOpacity?: number | undefined;
18912
19275
  };
18913
19276
  transform: {
18914
19277
  x: number;
@@ -19013,6 +19376,14 @@ export declare const ProjectDocumentSchema: import("@sinclair/typebox").TObject<
19013
19376
  hoverAssetId?: string | undefined;
19014
19377
  pressedAssetId?: string | undefined;
19015
19378
  disabledAssetId?: string | undefined;
19379
+ normalTint?: string | undefined;
19380
+ hoverTint?: string | undefined;
19381
+ pressedTint?: string | undefined;
19382
+ disabledTint?: string | undefined;
19383
+ normalOpacity?: number | undefined;
19384
+ hoverOpacity?: number | undefined;
19385
+ pressedOpacity?: number | undefined;
19386
+ disabledOpacity?: number | undefined;
19016
19387
  };
19017
19388
  }[];
19018
19389
  transform: {