@mastergo/plugin-typings 2.14.0-beta.0 → 2.15.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.ts +352 -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
 
@@ -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,6 +1496,8 @@ 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>
@@ -1500,6 +1731,10 @@ declare global {
1500
1731
  | 'CORNER_RADIUS'
1501
1732
  | 'PADDING'
1502
1733
  | 'SPACING'
1734
+ | 'NUMBER'
1735
+ | 'STRING'
1736
+ | 'BOOLEAN'
1737
+ | 'COLOR'
1503
1738
  type NodeStyleType =
1504
1739
  | 'fill'
1505
1740
  | 'strokeFill'
@@ -1507,6 +1742,106 @@ declare global {
1507
1742
  | 'cornerRadius'
1508
1743
  | 'padding'
1509
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 VariableGroupNode {
1821
+ readonly id: string
1822
+ readonly name: string
1823
+ readonly currentPath?: string
1824
+ readonly level: number
1825
+ readonly isLeaf: boolean
1826
+ readonly children?: ReadonlyArray<VariableGroupNode>
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
1510
1845
 
1511
1846
  interface BaseStyle extends Omit<PublishableMixin, 'documentationLinks'> {
1512
1847
  readonly id: string
@@ -1607,6 +1942,7 @@ declare global {
1607
1942
  | CornerRadiusStyle
1608
1943
  | PaddingStyle
1609
1944
  | SpacingStyle
1945
+ | Variable
1610
1946
 
1611
1947
  /// /////////////////////////////////////////////////////////////////////////////
1612
1948
  // Datatypes
@@ -1691,6 +2027,7 @@ declare global {
1691
2027
  }
1692
2028
 
1693
2029
  interface MotionBlurEffect {
2030
+ readonly type: 'MOTION_BLUR'
1694
2031
  readonly isVisible: boolean
1695
2032
  readonly radius: number
1696
2033
  readonly angle: number
@@ -2620,6 +2957,7 @@ declare global {
2620
2957
  */
2621
2958
  id: string
2622
2959
  description?: string
2960
+ collectionId?: string
2623
2961
  }
2624
2962
 
2625
2963
  interface FlowStartingPoint {
@@ -2763,6 +3101,10 @@ declare global {
2763
3101
  cornerRadiuses: ReadonlyArray<TeamLibraryStyle>
2764
3102
  paddings: ReadonlyArray<TeamLibraryStyle>
2765
3103
  spacings: ReadonlyArray<TeamLibraryStyle>
3104
+ numbers: ReadonlyArray<TeamLibraryStyle>
3105
+ strings: ReadonlyArray<TeamLibraryStyle>
3106
+ bools: ReadonlyArray<TeamLibraryStyle>
3107
+ colors: ReadonlyArray<TeamLibraryStyle>
2766
3108
  }
2767
3109
  }>
2768
3110
 
@@ -2955,6 +3297,8 @@ declare global {
2955
3297
  ? PaddingStyle
2956
3298
  : T extends 'SPACING'
2957
3299
  ? SpacingStyle
3300
+ : T extends 'NUMBER' | 'STRING' | 'BOOLEAN' | 'COLOR'
3301
+ ? Variable
2958
3302
  : never
2959
3303
 
2960
3304
  type NodeStyleReturnType<T extends NodeStyleType> = T extends 'fill'
@@ -2969,5 +3313,11 @@ declare global {
2969
3313
  ? PaddingStyle
2970
3314
  : T extends 'spacing'
2971
3315
  ? SpacingStyle
3316
+ : T extends 'effect'
3317
+ ? EffectStyle
3318
+ : T extends 'text'
3319
+ ? TextStyle
3320
+ : T extends 'grid'
3321
+ ? GridStyle
2972
3322
  : never
2973
3323
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastergo/plugin-typings",
3
- "version": "2.14.0-beta.0",
3
+ "version": "2.15.1-beta.1",
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
  }