@supernova-studio/supernova-sdk-beta 1.6.19 → 1.6.21

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,4 +1,4 @@
1
- import { Brand } from "../../model/base/SDKBrand";
1
+ import { Brand, BrandUpdateModel } from "../../model/base/SDKBrand";
2
2
  import { DataCore } from "../data/SDKDataCore";
3
3
  import { RemoteBrandIdentifier, RemoteVersionIdentifier } from "./SDKRemoteIdentifiers";
4
4
  export declare class AreaBrands {
@@ -15,4 +15,21 @@ export declare class AreaBrands {
15
15
  * @returns All brands in the specified version
16
16
  */
17
17
  getBrand(from: RemoteBrandIdentifier): Promise<Brand>;
18
+ /** Creates new brand and retrieves the newly created brand object.
19
+ * @param from - Remote brand to fetch from
20
+ * @param model - new brand model
21
+ * @returns Newly created brand object
22
+ */
23
+ createBrand(from: RemoteVersionIdentifier, model: BrandUpdateModel): Promise<Brand>;
24
+ /** Edits brand
25
+ * @param from - Remote brand to fetch from
26
+ * @param model - new version model
27
+ * @returns nothing
28
+ */
29
+ editBrand(from: RemoteBrandIdentifier, brand: Brand): Promise<void>;
30
+ /** Deletes brand
31
+ * @param from - Remote brand to fetch from
32
+ * @returns nothing
33
+ */
34
+ deleteBrand(from: RemoteBrandIdentifier): Promise<void>;
18
35
  }
@@ -1,4 +1,4 @@
1
- import { DesignSystemVersion } from "../../model/base/SDKDesignSystemVersion";
1
+ import { DesignSystemVersion, DesignSystemVersionUpdateModel } from "../../model/base/SDKDesignSystemVersion";
2
2
  import { DataCore } from "../data/SDKDataCore";
3
3
  import { RemoteVersionIdentifier } from "./SDKRemoteIdentifiers";
4
4
  export declare class AreaVersions {
@@ -7,6 +7,25 @@ export declare class AreaVersions {
7
7
  constructor(dataCore: DataCore);
8
8
  /** Fetches active design system version - the one to which all changes are being written currently. There is always one active version available for any provided design system. */
9
9
  getActiveVersion(designSystemId: string): Promise<DesignSystemVersion | null>;
10
+ /** Creates new version and retrieves the newly created version object.
11
+ * @param designSystemId - ID of the design system
12
+ * @param model - new version model
13
+ * @returns Newly created version object
14
+ */
15
+ createVersion(designSystemId: string, model: DesignSystemVersionUpdateModel): Promise<DesignSystemVersion>;
16
+ /** Edits version
17
+ * @param designSystemId - ID of the design system
18
+ * @param versionId - ID of version
19
+ * @param model - new version model
20
+ * @returns nothing
21
+ */
22
+ editVersion(designSystemId: string, versionId: string, model: DesignSystemVersionUpdateModel): Promise<void>;
23
+ /** Deletes version
24
+ * @param designSystemId - ID of the design system
25
+ * @param versionId - ID of version
26
+ * @returns nothing
27
+ */
28
+ deleteVersion(designSystemId: string, versionId: string): Promise<void>;
10
29
  /** Fetches all design system versions of provided design system */
11
30
  getVersions(designSystemId: string): Promise<Array<DesignSystemVersion>>;
12
31
  /** Fetches design system version by id */
@@ -72,6 +72,14 @@ export declare class AreaWorkspaces {
72
72
  * @returns Nothing
73
73
  */
74
74
  updateWorkspaceProfile(workspaceId: string, update: WorkspaceProfileUpdateModel): Promise<void>;
75
+ /** tests accessibility of IP allowlist settings
76
+ * @param workspaceId - ID of the workspace
77
+ * @param ipWhitelistSettings - settings to test
78
+ * @returns information if workspace is accesible by your IP
79
+ */
80
+ testIpWhitelistSettings(workspaceId: string, ipWhitelistSettings: WorkspaceIPWhitelistSettingsUpdateModel): Promise<{
81
+ accessible: boolean;
82
+ }>;
75
83
  /** Updates workspace onboarding state for a specific workspace
76
84
  * @param workspaceId - ID of the workspace
77
85
  * @param update - New onboarding state
@@ -1,9 +1,9 @@
1
1
  import { Acl } from "../../model/acl/SDKAcl";
2
2
  import { Asset } from "../../model/assets/SDKAsset";
3
3
  import { RenderedAsset } from "../../model/assets/SDKRenderedAsset";
4
- import { Brand } from "../../model/base/SDKBrand";
4
+ import { Brand, BrandUpdateModel } from "../../model/base/SDKBrand";
5
5
  import { DesignSystem } from "../../model/base/SDKDesignSystem";
6
- import { DesignSystemVersion } from "../../model/base/SDKDesignSystemVersion";
6
+ import { DesignSystemVersion, DesignSystemVersionUpdateModel } from "../../model/base/SDKDesignSystemVersion";
7
7
  import { Documentation } from "../../model/base/SDKDocumentation";
8
8
  import { Component } from "../../model/components/SDKComponent";
9
9
  import { DesignComponent } from "../../model/components/SDKDesignComponent";
@@ -231,6 +231,12 @@ export declare class DataCore {
231
231
  /** Download information about a single workspace and retrieve it resolved */
232
232
  workspace(workspaceId: string): Promise<Workspace>;
233
233
  createWorkspace(name: string, handle?: string): Promise<Workspace>;
234
+ createVersion(designSystemId: string, model: DesignSystemVersionUpdateModel): Promise<DesignSystemVersion>;
235
+ editVersion(designSystemId: string, versionId: string, model: DesignSystemVersionUpdateModel): Promise<void>;
236
+ deleteVersion(designSystemId: string, versionId: string): Promise<void>;
237
+ createBrand(designSystemId: string, versionId: any, model: BrandUpdateModel): Promise<Brand>;
238
+ editBrand(designSystemId: string, versionId: string, brandId: string, brand: Brand): Promise<void>;
239
+ deleteBrand(designSystemId: string, versionId: string, brandId: string): Promise<void>;
234
240
  /** Validate that workspace handle is available */
235
241
  validateIsWorkspaceHandleAvailable(handle: string): Promise<boolean>;
236
242
  workspaceOnboarding(workspaceId: string): Promise<WorkspaceOnboarding>;
@@ -238,6 +244,9 @@ export declare class DataCore {
238
244
  workspaceNPMRegistrySettings(workspaceId: string): Promise<WorkspaceNPMRegistrySettings | null>;
239
245
  workspaceSSOSettings(workspaceId: string): Promise<WorkspaceSSOSettings | null>;
240
246
  updateWorkspaceProfile(workspaceId: string, profile: WorkspaceProfileUpdateModel): Promise<void>;
247
+ testIpWhitelistSettings(workspaceId: string, ipWhitelistSettings: WorkspaceIPWhitelistSettingsUpdateModel): Promise<{
248
+ accessible: boolean;
249
+ }>;
241
250
  updateWorkspaceOnboarding(workspaceId: string, state: WorkspaceOnboardingUpdateModel): Promise<void>;
242
251
  updateWorkspaceAvatar(workspaceId: string, avatar: File): Promise<void>;
243
252
  updateWorkspaceSSOSettings(workspaceId: string, ssoSettings: WorkspaceSSOSettingsUpdateModel): Promise<void>;
@@ -18,6 +18,8 @@ import { WorkspaceOnboardingUpdateModel } from "../../../model/workspaces/SDKWor
18
18
  import { WorkspaceProfileUpdateModel } from "../../../model/workspaces/SDKWorkspaceProfile";
19
19
  import { WorkspaceSSOSettingsUpdateModel } from "../../../model/workspaces/SDKWorkspaceSSOSettings";
20
20
  import { DataBridge } from "../SDKDataBridge";
21
+ import { Brand, BrandRemoteModel, BrandUpdateModel } from "model/base/SDKBrand";
22
+ import { DesignSystemVersionRemoteModel, DesignSystemVersionUpdateModel } from "model/base/SDKDesignSystemVersion";
21
23
  export declare class DataCoreWriteRequests {
22
24
  private bridge;
23
25
  constructor(bridge: DataBridge);
@@ -35,8 +37,23 @@ export declare class DataCoreWriteRequests {
35
37
  logoutRemoteCurrentUser(): Promise<void>;
36
38
  /** Remote: Creates a new workspace */
37
39
  createRemoteWorkspace(name: string, handle?: string): Promise<WorkspaceRemoteModel>;
40
+ /** Remote: Creates a new version */
41
+ createRemoteVersion(designSystemId: string, model: DesignSystemVersionUpdateModel): Promise<DesignSystemVersionRemoteModel>;
42
+ /** Remote: Updates a version */
43
+ updateRemoteVersion(designSystemId: string, versionId: string, model: DesignSystemVersionUpdateModel): Promise<void>;
44
+ /** Remote: Deletes a version */
45
+ deleteRemoteVersion(designSystemId: string, versionId: string): Promise<void>;
46
+ /** Remote: Creates a new brand */
47
+ createRemoteBrand(designSystemId: string, versionId: string, model: BrandUpdateModel): Promise<BrandRemoteModel>;
48
+ /** Remote: Updates a brand */
49
+ updateRemoteBrand(designSystemId: string, versionId: string, brandId: string, brand: Brand): Promise<void>;
50
+ /** Remote: Deletes a brand */
51
+ deleteRemoteBrand(designSystemId: string, versionId: string, brandId: string): Promise<void>;
38
52
  /** Remote: Updates a workspace profile */
39
53
  updateRemoteWorkspaceProfile(workspaceId: string, profile: WorkspaceProfileUpdateModel): Promise<void>;
54
+ testIpWhitelistSettings(workspaceId: string, ipWhitelistSettings: WorkspaceIPWhitelistSettingsUpdateModel): Promise<{
55
+ accessible: boolean;
56
+ }>;
40
57
  /** Remote: Updates a workspace avatar */
41
58
  updateRemoteWorkspaceAvatar(workspaceId: string, avatar: File): Promise<void>;
42
59
  /** Remote: Updates a workspace onboarding */
@@ -115,6 +115,7 @@ export { WorkspaceSubscriptionStatus } from "./model/enums/SDKWorkspaceSubscript
115
115
  export { WorkspaceSubscriptionStatusInternal } from "./model/enums/SDKWorkspaceSubscriptionStatusInternal";
116
116
  export { WorkspaceNPMRegistryAuthType } from "./model/enums/SDKWorkspaceNPMRegistryAuthType";
117
117
  export { WorkspaceNPMRegistryType } from "./model/enums/SDKWorkspaceNPMRegistryType";
118
+ export { SourceType } from "./model/enums/SDKSourceType";
118
119
  export { DesignComponentOrigin } from "./model/support/SDKDesignComponentOrigin";
119
120
  export { Source } from "./model/support/SDKSource";
120
121
  export { Size } from "./model/support/SDKSize";
@@ -4,9 +4,13 @@ export type BrandRemoteModel = {
4
4
  persistentId: string;
5
5
  meta: {
6
6
  name: string;
7
- description: string;
7
+ description?: string;
8
8
  };
9
9
  };
10
+ export type BrandUpdateModel = {
11
+ name: string;
12
+ description?: string;
13
+ };
10
14
  type BrandTransportModel = Pick<Brand, "idInVersion" | "id" | "designSystemVersionId" | "name" | "description">;
11
15
  export declare class Brand {
12
16
  /** Unique identifier of the brand in this specific version */
@@ -10,6 +10,11 @@ export type DesignSystemVersionRemoteModel = {
10
10
  createdAt: string;
11
11
  changeLog: string;
12
12
  };
13
+ export type DesignSystemVersionUpdateModel = {
14
+ version: string;
15
+ name?: string;
16
+ description?: string;
17
+ };
13
18
  export type DesignSystemVersionTransportModel = Pick<DesignSystemVersion, "id" | "designSystemId" | "isReadonly" | "name" | "description" | "version" | "changeLog"> & {
14
19
  createdAt: string;
15
20
  };
@@ -9,67 +9,29 @@ export type SourceRemoteModel = {
9
9
  fileId: string;
10
10
  lastImportedAt?: string;
11
11
  };
12
- cloud?: {
13
- fileId: string;
14
- autoImportMode: "Never" | "Hourly";
15
- fileThumbnailUrl?: string;
16
- lastUpdatesCheckedAt?: string;
17
- lastImportedVersion?: {
18
- id: string;
19
- created_at: string;
20
- label?: string;
21
- description: string;
22
- };
23
- lastImportedAt?: string;
24
- lastImportResult?: {
25
- sourceId: string;
26
- brandId: string;
27
- tokensCreated: number;
28
- tokensUpdated: number;
29
- tokensDeleted: number;
30
- componentsCreated: number;
31
- componentsUpdated: number;
32
- componentsDeleted: number;
33
- componentAssetsCreated: number;
34
- componentAssetsUpdated: number;
35
- componentAssetsDeleted: number;
36
- isFailed: boolean;
37
- versionId: string;
38
- fileSize?: number;
39
- };
40
- lastImportFramesResult?: {
41
- sourceId: string;
42
- isFailed: string;
43
- error?: string;
44
- assetsInFile?: {
45
- frames: number;
46
- components: number;
47
- };
48
- invalidReferencesCount?: number;
49
- };
50
- ownerId: string;
51
- ownerUserName: string;
52
- state: string;
53
- };
12
+ cloud?: SourceRemoteModelCloud;
13
+ tokenStudio?: SourceRemoteModelTokensStudio;
14
+ scope: SourceScope;
54
15
  };
55
- export type SourceTransportModel = Pick<Source, "type" | "id" | "fileName" | "fileId" | "autoImportMode" | "fileThumbnailUrl" | "lastImportedVersion" | "lastImportResult" | "lastImportFramesResult" | "ownerId" | "ownerUserName" | "state" | "linkType" | "brandId"> & {
56
- lastUpdatesCheckedAt?: string;
57
- lastImportedAt?: string;
16
+ export type SourceScope = {
17
+ tokens: boolean;
18
+ components: boolean;
19
+ assets: boolean;
20
+ documentationFrames: boolean;
58
21
  };
59
- export declare class Source {
60
- type: SourceType;
61
- id: string;
62
- fileName: string | null;
63
- fileId: string | null;
64
- autoImportMode: "Never" | "Hourly" | null;
65
- fileThumbnailUrl: string | null;
66
- lastImportedVersion: {
22
+ export type SourceRemoteModelCloud = {
23
+ fileId?: string;
24
+ autoImportMode: "Never" | "Hourly";
25
+ fileThumbnailUrl?: string;
26
+ lastUpdatesCheckedAt?: string;
27
+ lastImportedVersion?: {
67
28
  id: string;
68
29
  created_at: string;
69
- label: string | null;
30
+ label?: string;
70
31
  description: string;
71
- } | null;
72
- lastImportResult: {
32
+ };
33
+ lastImportedAt?: string;
34
+ lastImportResult?: {
73
35
  sourceId: string;
74
36
  brandId: string;
75
37
  tokensCreated: number;
@@ -83,30 +45,74 @@ export declare class Source {
83
45
  componentAssetsDeleted: number;
84
46
  isFailed: boolean;
85
47
  versionId: string;
86
- fileSize: number | null;
87
- } | null;
88
- lastImportFramesResult: {
48
+ fileSize?: number;
49
+ warnings?: Array<{
50
+ warningType: string;
51
+ }>;
52
+ };
53
+ lastImportFramesResult?: {
89
54
  sourceId: string;
90
55
  isFailed: string;
91
- error: string | null;
92
- assetsInFile: {
56
+ error?: string;
57
+ assetsInFile?: {
93
58
  frames: number;
94
59
  components: number;
95
- } | null;
96
- invalidReferencesCount: number | null;
97
- } | null;
98
- ownerId: string | null;
99
- ownerUserName: string | null;
100
- state: string | null;
60
+ };
61
+ invalidReferencesCount?: number;
62
+ };
63
+ ownerId: string;
64
+ ownerUserName: string;
65
+ state: string;
66
+ };
67
+ export type SourceRemoteModelTokensStudio = {
68
+ connectionName: string;
69
+ lastImportedAt?: string;
70
+ settings?: {
71
+ dryRun?: boolean;
72
+ verbose?: boolean;
73
+ preciseCopy?: boolean;
74
+ };
75
+ lastImportedResults?: Array<{
76
+ mapping: {
77
+ tokensTheme?: string;
78
+ tokenSets?: string[];
79
+ supernovaBrand?: string;
80
+ supernovaTheme?: string;
81
+ };
82
+ tokensCreated: number;
83
+ tokensUpdated: number;
84
+ tokensDeleted: number;
85
+ isFailed: boolean;
86
+ error?: string;
87
+ themeId?: string;
88
+ }>;
89
+ };
90
+ export type SourceModelTokenStudio = Omit<SourceRemoteModelTokensStudio, "lastUpdatesCheckedAt" | "lastImportedAt"> & {
91
+ lastUpdatesCheckedAt?: Date;
92
+ lastImportedAt?: Date;
93
+ };
94
+ export type SourceModelCloud = Omit<SourceRemoteModelCloud, "lastUpdatesCheckedAt" | "lastImportedAt"> & {
95
+ lastUpdatesCheckedAt?: Date;
96
+ lastImportedAt?: Date;
97
+ };
98
+ export type SourceTransportModel = Pick<Source, "type" | "id" | "fileName" | "linkType" | "brandId" | "scope"> & {
99
+ cloud?: SourceRemoteModelCloud | null;
100
+ };
101
+ export declare class Source {
102
+ type: SourceType;
103
+ id: string;
104
+ fileName: string | null;
101
105
  linkType: "Design" | "Frames";
102
106
  brandId: string | null;
103
- lastUpdatesCheckedAt: Date | null;
104
- lastImportedAt: Date | null;
107
+ cloud: SourceModelCloud | null;
108
+ tokenStudio?: SourceModelTokenStudio | null;
109
+ scope: SourceScope;
110
+ get hasError(): boolean;
105
111
  constructor(model: SourceRemoteModel);
106
112
  /** Constructs representation that can be used to write full object to remote */
107
113
  toRemote(): SourceRemoteModel;
108
114
  /** Constructs representation that can be used to transport the instantiated object as JSON, for example for SSR <> Client use-cases. Reconstruct to class instance using `fromTransport` */
109
115
  toTransport(): SourceTransportModel;
110
116
  /** Reconstructs class from the transport model */
111
- static fromTransport(model: SourceTransportModel): Source;
117
+ static fromTransport(model: SourceTransportModel): SourceRemoteModel;
112
118
  }
@@ -7,5 +7,7 @@ export declare class TokenOrigin {
7
7
  id: string | null;
8
8
  name: string | null;
9
9
  sourceId: string | null;
10
+ referenceOriginId?: string | null;
11
+ referencePersistentId?: string | null;
10
12
  constructor(model: TokenOriginModel);
11
13
  }
@@ -198,3 +198,4 @@ export declare const checkSingleReferencedTokenById: (token: AnyToken, candidate
198
198
  export declare const replaceReferencedTokenIds: (token: AnyToken, currentId: string, newId: string, allTokens: Map<string, Token>) => void;
199
199
  export declare const replaceReferencedToken: (token: Token, existingToken: AnyToken, newToken: AnyToken) => void;
200
200
  export declare const replaceReferencedTokenByIds: (token: Token, existingTokenId: string, newTokenId: string) => void;
201
+ export declare const replaceOriginReferencePersistentIdByIds: (token: Token, existingTokenId: string, newTokenId: string) => void;
@@ -14,6 +14,8 @@ export type TokenRemoteModel = {
14
14
  id?: string;
15
15
  name?: string;
16
16
  sourceId?: string;
17
+ referenceOriginId?: string;
18
+ referencePersistentId?: string;
17
19
  };
18
20
  data: {
19
21
  aliasTo?: string;
@@ -4,10 +4,21 @@ export type UserRemoteModel = {
4
4
  email: string;
5
5
  createdAt: string;
6
6
  profile: UserProfileRemoteModel;
7
+ linkedIntegrations?: LinkedIntegrations;
8
+ };
9
+ export type LinkedIntegrations = {
10
+ figma?: UserLinkedIntegration;
11
+ };
12
+ type UserLinkedIntegration = {
13
+ id: string;
14
+ email?: string;
15
+ handle?: string;
16
+ avatarUrl?: string;
7
17
  };
8
18
  export type UserTransportModel = Pick<User, "id" | "email"> & {
9
19
  createdAt: string;
10
20
  profile: UserProfileTransportModel;
21
+ linkedIntegrations?: LinkedIntegrations;
11
22
  };
12
23
  export type UserAvatarUpdateModel = {
13
24
  avatar?: string;
@@ -21,6 +32,8 @@ export declare class User {
21
32
  createdAt: Date | null;
22
33
  /** User profile */
23
34
  profile: UserProfile;
35
+ /** Linked integrations */
36
+ linkedIntegrations: LinkedIntegrations | null;
24
37
  constructor(model: UserRemoteModel);
25
38
  /** Constructs representation that can be used to write full object to remote */
26
39
  toRemote(): UserRemoteModel;
@@ -29,3 +42,4 @@ export declare class User {
29
42
  /** Reconstructs class from the transport model */
30
43
  static fromTransport(model: UserTransportModel): User;
31
44
  }
45
+ export {};
@@ -1,6 +1,6 @@
1
1
  export type IPWhitelistEntry = {
2
2
  isEnabled: boolean;
3
- name: string;
3
+ name?: string;
4
4
  range: string;
5
5
  };
6
6
  export type WorkspaceIPWhitelistSettingsRemoteModel = {
@@ -17,6 +17,7 @@ export declare class DTJSONConverter {
17
17
  referenceResolver: DTTokenReferenceResolver;
18
18
  constructor(versionId: string, mapping: DTPluginToSupernovaMapPack);
19
19
  convertNodesToTokens(nodes: Array<DTParsedNode>, brand: Brand): Array<DTProcessedTokenNode>;
20
+ private remapRootNodeKey;
20
21
  private remapRootNodeKeys;
21
22
  private convertNodesToTokensForSupportedNodeTypes;
22
23
  private convertAtomicNode;
@@ -12,6 +12,7 @@ export declare class DTTokenReferenceResolver {
12
12
  unmappedValues(): Array<DTProcessedTokenNode>;
13
13
  tokensOfType(type: TokenType): Array<Token>;
14
14
  lookupReferencedToken(reference: string): Token | undefined;
15
+ lookupReferencedNode(reference: string): DTProcessedTokenNode | undefined;
15
16
  lookupAllReferencedTokens(reference: string): Array<{
16
17
  token: Token;
17
18
  key: string;