@mastergo/plugin-typings 2.16.1 → 2.18.0-beta.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 (2) hide show
  1. package/dist/index.d.ts +361 -2
  2. package/package.json +3 -2
package/dist/index.d.ts CHANGED
@@ -1095,6 +1095,231 @@ declare global {
1095
1095
 
1096
1096
  type PluginEventType = keyof MGEventCallbackMap
1097
1097
 
1098
+ interface VariableAPI {
1099
+ // --- Collection ---
1100
+ createCollection(name?: string): Promise<Collection | null>
1101
+ getCollections(includeExternal?: boolean): Collection[]
1102
+ getCollectionById(id?: string): Collection | null
1103
+ deleteCollection(collectionId: string): void
1104
+ renameCollection(collectionId: string, name: string): void
1105
+ moveCollection(
1106
+ collectionId: string,
1107
+ options?: { afterId?: string; index?: number }
1108
+ ): void
1109
+
1110
+ // --- Mode ---
1111
+ getModes(collectionId?: string): CollectionMode[]
1112
+ getModeById(
1113
+ collectionId?: string,
1114
+ modeId?: string
1115
+ ): CollectionMode | null
1116
+ addMode(
1117
+ collectionId: string,
1118
+ name?: string
1119
+ ): Promise<CollectionMode | null>
1120
+ renameMode(collectionId: string, modeId: string, name: string): void
1121
+ deleteMode(collectionId: string, modeId: string): void
1122
+ setVariableMode(collectionId: string, modeId: string): void
1123
+ setPageVariableMode(
1124
+ collectionId: string,
1125
+ modeId: string,
1126
+ pageId?: string
1127
+ ): void
1128
+
1129
+ // --- Group ---
1130
+ getGroupList(collectionId?: string): VariableGroupNode[]
1131
+ createGroup(
1132
+ collectionId: string,
1133
+ variableIds: string[],
1134
+ groupName?: string
1135
+ ): void
1136
+ addVariablesToGroup(
1137
+ collectionId: string,
1138
+ groupPath: string,
1139
+ variableIds: string[]
1140
+ ): void
1141
+ removeVariablesFromGroup(
1142
+ collectionId: string,
1143
+ groupPath: string,
1144
+ variableIds: string[]
1145
+ ): void
1146
+ disbandGroup(
1147
+ collectionId: string,
1148
+ groupPath?: string,
1149
+ variableIds?: string[]
1150
+ ): void
1151
+ renameGroup(
1152
+ collectionId: string,
1153
+ newName: string,
1154
+ groupPath?: string,
1155
+ variableIds?: string[]
1156
+ ): void
1157
+ deleteGroup(
1158
+ collectionId: string,
1159
+ groupPath?: string,
1160
+ variableIds?: string[]
1161
+ ): void
1162
+
1163
+ // --- Variable ---
1164
+ createVariable(options: {
1165
+ name: string
1166
+ type: VariableType
1167
+ value?: any
1168
+ description?: string
1169
+ collectionId?: string
1170
+ }): Promise<Variable | null>
1171
+ getVariableById(id: string): Variable | null
1172
+ getVariables(options?: {
1173
+ collectionId?: string
1174
+ groupPath?: string
1175
+ type?: VariableType
1176
+ scopeType?: string
1177
+ }): Variable[]
1178
+ setVariableReference(options: {
1179
+ id: string
1180
+ reference: string | object
1181
+ modeId?: string
1182
+ index?: string
1183
+ textProperty?: string
1184
+ strokeProperty?: string
1185
+ radiusProperty?: string
1186
+ paddingProperty?: string
1187
+ gridProperty?: string
1188
+ effectProperty?: string
1189
+ }): void
1190
+ unlinkVariable(options: {
1191
+ id: string
1192
+ modeId?: string
1193
+ }): Promise<void>
1194
+ renameVariable(variableId: string, name: string): void
1195
+ setVariableValue(options: {
1196
+ id: string
1197
+ value: any
1198
+ modeId: string
1199
+ }): Variable | null
1200
+ addVariableValue(options: {
1201
+ id: string
1202
+ value?: any
1203
+ modeId: string
1204
+ }): Variable | null
1205
+ deleteVariableValue(options: {
1206
+ id: string
1207
+ index: string | string[]
1208
+ modeId: string
1209
+ }): Variable | null
1210
+ deleteVariable(variableId: string): void
1211
+ moveVariable(
1212
+ variableId: string,
1213
+ options?: { afterId?: string; index?: number }
1214
+ ): Promise<void>
1215
+
1216
+ // --- Variable Description / Alias ---
1217
+ getVariableDescription(variableId: string): string | null
1218
+ setVariableDescription(
1219
+ variableId: string,
1220
+ value: string
1221
+ ): Promise<Variable | null>
1222
+ resetVariableDescription(
1223
+ variableId: string
1224
+ ): Promise<Variable | null>
1225
+ getVariableAlias(variableId: string): string | null
1226
+ setVariableAlias(
1227
+ variableId: string,
1228
+ value: string
1229
+ ): Promise<Variable | null>
1230
+ resetVariableAlias(variableId: string): Promise<Variable | null>
1231
+
1232
+ // --- Component Property Variable ---
1233
+ setVariableInComponent(options: {
1234
+ id: string
1235
+ propertyId: string
1236
+ type: 'BOOLEAN' | 'CONTENT'
1237
+ }): void
1238
+ unlinkVariableInComponent(options: {
1239
+ propertyId: string
1240
+ type: 'BOOLEAN' | 'CONTENT'
1241
+ }): void
1242
+ createVariableInComponent(options: {
1243
+ name: string
1244
+ description?: string
1245
+ collectionId?: string
1246
+ layerId: string
1247
+ type: 'BOOLEAN' | 'CONTENT'
1248
+ value?: any
1249
+ }): Promise<string | null>
1250
+
1251
+ // --- Layer Property Variable ---
1252
+ createVariableInLayer(options: {
1253
+ name: string
1254
+ description?: string
1255
+ collectionId?: string
1256
+ layerId: string
1257
+ value?: any
1258
+ strokeProperty?: string
1259
+ radiusProperty?: string
1260
+ paddingProperty?: string
1261
+ dimensionProperty?: string
1262
+ baseProperty?: string
1263
+ effectProperty?: string
1264
+ gridProperty?: string
1265
+ textProperty?: string
1266
+ index?: number
1267
+ }): Promise<Variable | null>
1268
+ setVariableReferenceInLayer(options: {
1269
+ id: string
1270
+ layerId: string
1271
+ strokeProperty?: string
1272
+ radiusProperty?: string
1273
+ paddingProperty?: string
1274
+ dimensionProperty?: string
1275
+ baseProperty?: string
1276
+ effectProperty?: string
1277
+ gridProperty?: string
1278
+ textProperty?: string
1279
+ index?: number
1280
+ }): Promise<void>
1281
+ unlinkVariableReferenceInLayer(options: {
1282
+ layerId: string
1283
+ strokeProperty?: string
1284
+ radiusProperty?: string
1285
+ paddingProperty?: string
1286
+ dimensionProperty?: string
1287
+ baseProperty?: string
1288
+ effectProperty?: string
1289
+ gridProperty?: string
1290
+ textProperty?: string
1291
+ index?: number
1292
+ }): Promise<void>
1293
+
1294
+ // --- Variable Code Syntax ---
1295
+ getCodeSyntax(variableId: string): VariableCodeSyntax | null
1296
+ setCodeSyntax(
1297
+ variableId: string,
1298
+ codeSyntax: { web?: string; android?: string; ios?: string }
1299
+ ): Promise<Variable | null>
1300
+ resetCodeSyntax(
1301
+ variableId: string,
1302
+ platform?: string
1303
+ ): Promise<Variable | null>
1304
+
1305
+ // --- Variable Scopes ---
1306
+ getVariableScopes(variableId: string): ScopeName[]
1307
+ setVariableScopes(
1308
+ variableId: string,
1309
+ scopes: ScopeName[]
1310
+ ): Promise<Variable | null>
1311
+
1312
+ // --- Variable Indexes ---
1313
+ getVariableIndexes(
1314
+ variableId: string,
1315
+ modeId?: string
1316
+ ): string[]
1317
+
1318
+ // --- Font ---
1319
+ getFontFamilies(): FontFamilyInfo[]
1320
+ getFontWeights(fontFamily: string): FontWeightInfo[]
1321
+ }
1322
+
1098
1323
  interface PluginAPI {
1099
1324
  readonly document: DocumentNode
1100
1325
 
@@ -1162,6 +1387,7 @@ declare global {
1162
1387
  createPage(): PageNode
1163
1388
  createSlice(): SliceNode
1164
1389
  createConnector(): ConnectorNode
1390
+ createIntelligentContainer(children?: SceneNode[]): IntelligentContainerNode
1165
1391
  createNodeFromSvgAsync(svg: string): Promise<FrameNode>
1166
1392
 
1167
1393
  combineAsVariants(nodes: ComponentNode[]): ComponentSetNode
@@ -1225,12 +1451,14 @@ declare global {
1225
1451
  * @param type NodeStyleType
1226
1452
  * @param styleName
1227
1453
  * @param description optional
1454
+ * @param collectionId optional
1228
1455
  */
1229
1456
  createStyleByLayer<T extends NodeStyleType>(
1230
1457
  layerId: string,
1231
1458
  type: T,
1232
1459
  styleName: string,
1233
- description?: string
1460
+ description?: string,
1461
+ collectionId?: string
1234
1462
  ): NodeStyleReturnType<T>
1235
1463
 
1236
1464
  /**
@@ -1239,11 +1467,13 @@ declare global {
1239
1467
  * @param type styleType
1240
1468
  * @param styleName
1241
1469
  * @param description optional
1470
+ * @param collectionId optional
1242
1471
  */
1243
1472
  createStyle<T extends StyleType>(
1244
1473
  type: T,
1245
1474
  styleName: string,
1246
- description?: string
1475
+ description?: string,
1476
+ collectionId?: string
1247
1477
  ): StyleReturnType<T>
1248
1478
  /**
1249
1479
  * 创建某一个样式的副本
@@ -1267,6 +1497,8 @@ declare global {
1267
1497
  getLocalPaddingStyles(): PaddingStyle[]
1268
1498
  getLocalSpacingStyles(): SpacingStyle[]
1269
1499
 
1500
+ readonly variables: VariableAPI
1501
+
1270
1502
  listAvailableFontsAsync(): Promise<Font[]>
1271
1503
  loadFontAsync(fontName: FontName): Promise<boolean>
1272
1504
  createImage(imageData: Uint8Array, isSync?: boolean): Promise<Image>
@@ -1508,6 +1740,106 @@ declare global {
1508
1740
  | 'cornerRadius'
1509
1741
  | 'padding'
1510
1742
  | 'spacing'
1743
+ | 'effect'
1744
+ | 'text'
1745
+ | 'grid'
1746
+
1747
+ // #region Variable / Collection / Mode / Group types
1748
+
1749
+ type VariableType =
1750
+ | 'STRING'
1751
+ | 'BOOLEAN'
1752
+ | 'COLOR'
1753
+ | 'NUMBER'
1754
+ | 'PAINT'
1755
+ | 'TEXT'
1756
+ | 'EFFECT'
1757
+ | 'GRID'
1758
+ | 'STROKE_WIDTH'
1759
+ | 'CORNER_RADIUS'
1760
+ | 'PADDING'
1761
+ | 'SPACING'
1762
+
1763
+ type ScopeName =
1764
+ | 'all'
1765
+ | 'fill'
1766
+ | 'fillAll'
1767
+ | 'shapeFill'
1768
+ | 'textFill'
1769
+ | 'stroke'
1770
+ | 'effect'
1771
+ | 'grid'
1772
+ | 'widthHeight'
1773
+ | 'cornerRadius'
1774
+ | 'opacity'
1775
+ | 'layoutSpacing'
1776
+ | 'layoutPadding'
1777
+ | 'fontSize'
1778
+ | 'fontWeight'
1779
+ | 'textLineHeight'
1780
+ | 'textLetterSpacing'
1781
+ | 'textParagraphSpacing'
1782
+ | 'fontFamily'
1783
+ | 'textContent'
1784
+
1785
+ interface VariableCodeSyntax {
1786
+ readonly web?: string
1787
+ readonly android?: string
1788
+ readonly ios?: string
1789
+ }
1790
+
1791
+ interface Variable {
1792
+ readonly id: string
1793
+ readonly name: string
1794
+ readonly description: string
1795
+ readonly alias: string
1796
+ readonly type: VariableType
1797
+ readonly collectionId: string
1798
+ readonly isExternal: boolean
1799
+ readonly supportScope: boolean
1800
+ readonly codeSyntax?: VariableCodeSyntax
1801
+ readonly scopes?: ReadonlyArray<ScopeName>
1802
+ readonly modes: Record<string, ReadonlyArray<any>>
1803
+ }
1804
+
1805
+ interface Collection {
1806
+ readonly id: string
1807
+ readonly name: string
1808
+ readonly isExternal: boolean
1809
+ readonly modes: ReadonlyArray<CollectionMode>
1810
+ }
1811
+
1812
+ interface CollectionMode {
1813
+ readonly id: string
1814
+ readonly name: string
1815
+ readonly collectionId: string
1816
+ }
1817
+
1818
+ interface VariableGroupNode {
1819
+ readonly id: string
1820
+ readonly name: string
1821
+ readonly currentPath?: string
1822
+ readonly level: number
1823
+ readonly isLeaf: boolean
1824
+ readonly children?: ReadonlyArray<VariableGroupNode>
1825
+ }
1826
+
1827
+ interface FontFamilyInfo {
1828
+ readonly family: string
1829
+ readonly label: string
1830
+ readonly lang: string
1831
+ readonly isVariable: boolean
1832
+ }
1833
+
1834
+ interface FontWeightInfo {
1835
+ readonly postscriptName: string
1836
+ readonly label: string
1837
+ readonly style: string
1838
+ readonly weight: number
1839
+ readonly slant: number
1840
+ }
1841
+
1842
+ // #endregion
1511
1843
 
1512
1844
  interface BaseStyle extends Omit<PublishableMixin, 'documentationLinks'> {
1513
1845
  readonly id: string
@@ -1608,6 +1940,7 @@ declare global {
1608
1940
  | CornerRadiusStyle
1609
1941
  | PaddingStyle
1610
1942
  | SpacingStyle
1943
+ | Variable
1611
1944
 
1612
1945
  /// /////////////////////////////////////////////////////////////////////////////
1613
1946
  // Datatypes
@@ -1692,6 +2025,7 @@ declare global {
1692
2025
  }
1693
2026
 
1694
2027
  interface MotionBlurEffect {
2028
+ readonly type: 'MOTION_BLUR'
1695
2029
  readonly isVisible: boolean
1696
2030
  readonly radius: number
1697
2031
  readonly angle: number
@@ -2236,6 +2570,18 @@ declare global {
2236
2570
  resizeToFit(): void
2237
2571
  }
2238
2572
 
2573
+ interface IntelligentContainerNode
2574
+ extends DefaultContainerMixin,
2575
+ GeometryMixin,
2576
+ FrameContainerMixin,
2577
+ RectangleStrokeWeightMixin {
2578
+ readonly type: 'INTELLIGENT_CONTAINER'
2579
+ clone(): IntelligentContainerNode
2580
+ resizeToFit(): void
2581
+ shaderCode: string
2582
+ isPlaying: boolean
2583
+ }
2584
+
2239
2585
  interface RectangleNode
2240
2586
  extends DefaultShapeMixin,
2241
2587
  ConstraintMixin,
@@ -2621,6 +2967,7 @@ declare global {
2621
2967
  */
2622
2968
  id: string
2623
2969
  description?: string
2970
+ collectionId?: string
2624
2971
  }
2625
2972
 
2626
2973
  interface FlowStartingPoint {
@@ -2764,6 +3111,10 @@ declare global {
2764
3111
  cornerRadiuses: ReadonlyArray<TeamLibraryStyle>
2765
3112
  paddings: ReadonlyArray<TeamLibraryStyle>
2766
3113
  spacings: ReadonlyArray<TeamLibraryStyle>
3114
+ numbers: ReadonlyArray<TeamLibraryStyle>
3115
+ strings: ReadonlyArray<TeamLibraryStyle>
3116
+ bools: ReadonlyArray<TeamLibraryStyle>
3117
+ colors: ReadonlyArray<TeamLibraryStyle>
2767
3118
  }
2768
3119
  }>
2769
3120
 
@@ -2789,6 +3140,7 @@ declare global {
2789
3140
  | SliceNode
2790
3141
  | ConnectorNode
2791
3142
  | SectionNode
3143
+ | IntelligentContainerNode
2792
3144
 
2793
3145
  type NodeType =
2794
3146
  | 'DOCUMENT'
@@ -2809,6 +3161,7 @@ declare global {
2809
3161
  | 'SLICE'
2810
3162
  | 'CONNECTOR'
2811
3163
  | 'SECTION'
3164
+ | 'INTELLIGENT_CONTAINER'
2812
3165
 
2813
3166
  // d2c
2814
3167
  type CodeFile = {
@@ -2970,5 +3323,11 @@ declare global {
2970
3323
  ? PaddingStyle
2971
3324
  : T extends 'spacing'
2972
3325
  ? SpacingStyle
3326
+ : T extends 'effect'
3327
+ ? EffectStyle
3328
+ : T extends 'text'
3329
+ ? TextStyle
3330
+ : T extends 'grid'
3331
+ ? GridStyle
2973
3332
  : never
2974
3333
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastergo/plugin-typings",
3
- "version": "2.16.1",
3
+ "version": "2.18.0-beta.0",
4
4
  "description": "MasterGo插件API声明文件",
5
5
  "type": "module",
6
6
  "main": "",
@@ -68,5 +68,6 @@
68
68
  "commitizen": {
69
69
  "path": "cz-conventional-changelog"
70
70
  }
71
- }
71
+ },
72
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
72
73
  }