@mastergo/plugin-typings 2.13.2-beta.10 → 2.15.1-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 +360 -6
  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): GroupNode[]
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
 
@@ -1225,12 +1450,14 @@ declare global {
1225
1450
  * @param type NodeStyleType
1226
1451
  * @param styleName
1227
1452
  * @param description optional
1453
+ * @param collectionId optional
1228
1454
  */
1229
1455
  createStyleByLayer<T extends NodeStyleType>(
1230
1456
  layerId: string,
1231
1457
  type: T,
1232
1458
  styleName: string,
1233
- description?: string
1459
+ description?: string,
1460
+ collectionId?: string
1234
1461
  ): NodeStyleReturnType<T>
1235
1462
 
1236
1463
  /**
@@ -1239,11 +1466,13 @@ declare global {
1239
1466
  * @param type styleType
1240
1467
  * @param styleName
1241
1468
  * @param description optional
1469
+ * @param collectionId optional
1242
1470
  */
1243
1471
  createStyle<T extends StyleType>(
1244
1472
  type: T,
1245
1473
  styleName: string,
1246
- description?: string
1474
+ description?: string,
1475
+ collectionId?: string
1247
1476
  ): StyleReturnType<T>
1248
1477
  /**
1249
1478
  * 创建某一个样式的副本
@@ -1267,16 +1496,16 @@ declare global {
1267
1496
  getLocalPaddingStyles(): PaddingStyle[]
1268
1497
  getLocalSpacingStyles(): SpacingStyle[]
1269
1498
 
1499
+ readonly variables: VariableAPI
1500
+
1270
1501
  listAvailableFontsAsync(): Promise<Font[]>
1271
1502
  loadFontAsync(fontName: FontName): Promise<boolean>
1272
1503
  createImage(imageData: Uint8Array, isSync?: boolean): Promise<Image>
1273
1504
  getImageByHref(href: string): Image
1274
1505
  /**
1275
- * 导出多个图层组成的png图片
1276
- * @param layerIds 图层id数组
1277
- * @param scale 缩放比例
1506
+ * 导出多个图层组成的png图片, 可过滤图层id,设置导出图片的缩放倍率
1278
1507
  */
1279
- exportPngByLayerIds(layerIds: string[], scale?: number): string
1508
+ exportPng(params: GlobalExportPngSetting): string;
1280
1509
  /**
1281
1510
  * 导出多个图层组成的svg图片
1282
1511
  * @param layerIds 图层id数组
@@ -1308,6 +1537,12 @@ declare global {
1308
1537
  ) => void
1309
1538
  }
1310
1539
 
1540
+ interface GlobalExportPngSetting {
1541
+ ids?: string[];
1542
+ filterIds?: string[];
1543
+ scale?: number;
1544
+ }
1545
+
1311
1546
  interface User {
1312
1547
  id: string | null
1313
1548
  name: string | 'Anonymous'
@@ -1397,6 +1632,7 @@ declare global {
1397
1632
  exportSettings: ReadonlyArray<ExportSettings>
1398
1633
  export(settings?: ExportSettings): Uint8Array | string // Defaults to PNG format
1399
1634
  exportAsync(settings?: ExportSettings): Promise<Uint8Array | string>
1635
+ exportPng(settings?: Omit<GlobalExportPngSetting, 'ids'>): string
1400
1636
  }
1401
1637
 
1402
1638
  interface NotifyOptions {
@@ -1495,6 +1731,10 @@ declare global {
1495
1731
  | 'CORNER_RADIUS'
1496
1732
  | 'PADDING'
1497
1733
  | 'SPACING'
1734
+ | 'NUMBER'
1735
+ | 'STRING'
1736
+ | 'BOOLEAN'
1737
+ | 'COLOR'
1498
1738
  type NodeStyleType =
1499
1739
  | 'fill'
1500
1740
  | 'strokeFill'
@@ -1502,6 +1742,106 @@ declare global {
1502
1742
  | 'cornerRadius'
1503
1743
  | 'padding'
1504
1744
  | 'spacing'
1745
+ | 'effect'
1746
+ | 'text'
1747
+ | 'grid'
1748
+
1749
+ // #region Variable / Collection / Mode / Group types
1750
+
1751
+ type VariableType =
1752
+ | 'STRING'
1753
+ | 'BOOLEAN'
1754
+ | 'COLOR'
1755
+ | 'NUMBER'
1756
+ | 'PAINT'
1757
+ | 'TEXT'
1758
+ | 'EFFECT'
1759
+ | 'GRID'
1760
+ | 'STROKE_WIDTH'
1761
+ | 'CORNER_RADIUS'
1762
+ | 'PADDING'
1763
+ | 'SPACING'
1764
+
1765
+ type ScopeName =
1766
+ | 'all'
1767
+ | 'fill'
1768
+ | 'fillAll'
1769
+ | 'shapeFill'
1770
+ | 'textFill'
1771
+ | 'stroke'
1772
+ | 'effect'
1773
+ | 'grid'
1774
+ | 'widthHeight'
1775
+ | 'cornerRadius'
1776
+ | 'opacity'
1777
+ | 'layoutSpacing'
1778
+ | 'layoutPadding'
1779
+ | 'fontSize'
1780
+ | 'fontWeight'
1781
+ | 'textLineHeight'
1782
+ | 'textLetterSpacing'
1783
+ | 'textParagraphSpacing'
1784
+ | 'fontFamily'
1785
+ | 'textContent'
1786
+
1787
+ interface VariableCodeSyntax {
1788
+ readonly web?: string
1789
+ readonly android?: string
1790
+ readonly ios?: string
1791
+ }
1792
+
1793
+ interface Variable {
1794
+ readonly id: string
1795
+ readonly name: string
1796
+ readonly description: string
1797
+ readonly alias: string
1798
+ readonly type: VariableType
1799
+ readonly collectionId: string
1800
+ readonly isExternal: boolean
1801
+ readonly supportScope: boolean
1802
+ readonly codeSyntax?: VariableCodeSyntax
1803
+ readonly scopes?: ReadonlyArray<ScopeName>
1804
+ readonly modes: Record<string, ReadonlyArray<any>>
1805
+ }
1806
+
1807
+ interface Collection {
1808
+ readonly id: string
1809
+ readonly name: string
1810
+ readonly isExternal: boolean
1811
+ readonly modes: ReadonlyArray<CollectionMode>
1812
+ }
1813
+
1814
+ interface CollectionMode {
1815
+ readonly id: string
1816
+ readonly name: string
1817
+ readonly collectionId: string
1818
+ }
1819
+
1820
+ interface GroupNode {
1821
+ readonly id: string
1822
+ readonly name: string
1823
+ readonly currentPath?: string
1824
+ readonly level: number
1825
+ readonly isLeaf: boolean
1826
+ readonly children?: ReadonlyArray<GroupNode>
1827
+ }
1828
+
1829
+ interface FontFamilyInfo {
1830
+ readonly family: string
1831
+ readonly label: string
1832
+ readonly lang: string
1833
+ readonly isVariable: boolean
1834
+ }
1835
+
1836
+ interface FontWeightInfo {
1837
+ readonly postscriptName: string
1838
+ readonly label: string
1839
+ readonly style: string
1840
+ readonly weight: number
1841
+ readonly slant: number
1842
+ }
1843
+
1844
+ // #endregion
1505
1845
 
1506
1846
  interface BaseStyle extends Omit<PublishableMixin, 'documentationLinks'> {
1507
1847
  readonly id: string
@@ -1602,6 +1942,7 @@ declare global {
1602
1942
  | CornerRadiusStyle
1603
1943
  | PaddingStyle
1604
1944
  | SpacingStyle
1945
+ | Variable
1605
1946
 
1606
1947
  /// /////////////////////////////////////////////////////////////////////////////
1607
1948
  // Datatypes
@@ -2615,6 +2956,7 @@ declare global {
2615
2956
  */
2616
2957
  id: string
2617
2958
  description?: string
2959
+ collectionId?: string
2618
2960
  }
2619
2961
 
2620
2962
  interface FlowStartingPoint {
@@ -2758,6 +3100,10 @@ declare global {
2758
3100
  cornerRadiuses: ReadonlyArray<TeamLibraryStyle>
2759
3101
  paddings: ReadonlyArray<TeamLibraryStyle>
2760
3102
  spacings: ReadonlyArray<TeamLibraryStyle>
3103
+ numbers: ReadonlyArray<TeamLibraryStyle>
3104
+ strings: ReadonlyArray<TeamLibraryStyle>
3105
+ bools: ReadonlyArray<TeamLibraryStyle>
3106
+ colors: ReadonlyArray<TeamLibraryStyle>
2761
3107
  }
2762
3108
  }>
2763
3109
 
@@ -2950,6 +3296,8 @@ declare global {
2950
3296
  ? PaddingStyle
2951
3297
  : T extends 'SPACING'
2952
3298
  ? SpacingStyle
3299
+ : T extends 'NUMBER' | 'STRING' | 'BOOLEAN' | 'COLOR'
3300
+ ? Variable
2953
3301
  : never
2954
3302
 
2955
3303
  type NodeStyleReturnType<T extends NodeStyleType> = T extends 'fill'
@@ -2964,5 +3312,11 @@ declare global {
2964
3312
  ? PaddingStyle
2965
3313
  : T extends 'spacing'
2966
3314
  ? SpacingStyle
3315
+ : T extends 'effect'
3316
+ ? EffectStyle
3317
+ : T extends 'text'
3318
+ ? TextStyle
3319
+ : T extends 'grid'
3320
+ ? GridStyle
2967
3321
  : never
2968
3322
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastergo/plugin-typings",
3
- "version": "2.13.2-beta.10",
3
+ "version": "2.15.1-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
  }