@supernova-studio/supernova-sdk-beta 2.0.19 → 2.0.20

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,5 +1,6 @@
1
1
  import { DTODocumentationLinkPreviewRequest, DTODocumentationPageApprovalStateChangeInput } from "@supernova-studio/client";
2
- import { DesignSystem, DesignSystemSwitcher } from "../../model/base/SDKDesignSystem";
2
+ import { DesignSystem, DesignSystemAccessMode, DesignSystemSwitcher } from "../../model/base/SDKDesignSystem";
3
+ import { DesignSystemMemberList } from "../../model/base/SDKDesignSystemMemberList";
3
4
  import { CustomDomain } from "../../model/support/SDKCustomDomain";
4
5
  import { DataCore } from "../data/SDKDataCore";
5
6
  export declare class AreaDesignSystems {
@@ -21,11 +22,19 @@ export declare class AreaDesignSystems {
21
22
  * @returns custom domain information
22
23
  */
23
24
  designSystemCustomDomain(designSystemId: string): Promise<CustomDomain>;
25
+ /** Fetches specific design system's memberships
26
+ * @param designSystemId - Design system's identifier
27
+ * @returns Design system's memberships
28
+ */
29
+ designSystemMemberList(designSystemId: string): Promise<DesignSystemMemberList>;
24
30
  /** Creates a new design system and retrieves the newly created DS object
31
+ * @param workspaceId - Workspace to create the design system in
25
32
  * @param name - Name of the design system
33
+ * @param description - Description of the design system
34
+ * @param accessMode - Defines who can access the design system
26
35
  * @returns Newly created design system object
27
36
  */
28
- createDesignSystem(workspaceId: string, name: string, description?: string): Promise<DesignSystem>;
37
+ createDesignSystem(workspaceId: string, name: string, description?: string, accessMode?: DesignSystemAccessMode): Promise<DesignSystem>;
29
38
  getBlockDefinitions(designSystemId: string, versionId: string): Promise<import("../..").DocsBlockDefinition[]>;
30
39
  getUrlPreview(designSystemId: string, versionId: string, request: DTODocumentationLinkPreviewRequest): Promise<{
31
40
  linkPreview: {
@@ -97,6 +106,13 @@ export declare class AreaDesignSystems {
97
106
  * @returns nothing
98
107
  */
99
108
  updateDesignSystemCustomDomain(designSystemId: string, newDomain: string): Promise<CustomDomain>;
109
+ /** Updates design system's member list
110
+ * @param designSystemId - ID of the design system
111
+ * @param inviteUserIds - User IDs to invite
112
+ * @param removeUserIds - User IDs to remove
113
+ * @returns nothing
114
+ */
115
+ updateDesignSystemMemberList(designSystemId: string, inviteUserIds: Array<string>, removeUserIds: Array<string>): Promise<void>;
100
116
  /** Deletes a design system. This action is irreversible, all data will be lost, and can only be performed by the admins of the workspace
101
117
  * @param designSystemId - ID of the design system
102
118
  * @returns Nothing. RIP design system.
@@ -213,7 +213,7 @@ export declare class AreaTokens {
213
213
  /** Warning: INTERNAL, DO NOT USE YET, NOT STABLE INTERFACE. Write theme in bulk */
214
214
  writeTheme(to: RemoteVersionIdentifier, theme: TokenTheme): Promise<void>;
215
215
  /** Resolves tokens by applying themes to them and retrieves new token set where values correctly correspond to that theme */
216
- computeTokensByApplyingThemes(tokens: Array<Token>, themes: Array<TokenTheme>): Promise<Array<Token>>;
216
+ computeTokensByApplyingThemes(tokens: Array<Token>, themes: Array<TokenTheme>): Array<Token>;
217
217
  /** Separates groups by types */
218
218
  computeGroupTrees(groups: Array<TokenGroup>): Promise<Map<TokenType, Array<TokenGroup>>>;
219
219
  /** Get determistic mocked token data. Must be used with mocked token groups */
@@ -1,11 +1,12 @@
1
1
  import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignElementsDataDiffResponse, DTODocumentationLinkPreviewRequest, DTODocumentationPageAnchor, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOFigmaNode, // TODO? DTODeleteDocumentationTabGroupInput,
2
2
  DTOFigmaNodeRenderInput, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
3
- import { DocsBlockDefinition, ExportBuildStatus, ResourceFont, TokenThemeOverrideTranserObject } from "../../exports";
3
+ import { DesignSystemAccessMode, DocsBlockDefinition, ExportBuildStatus, ResourceFont, TokenThemeOverrideTranserObject } from "../../exports";
4
4
  import { Acl } from "../../model/acl/SDKAcl";
5
5
  import { Asset } from "../../model/assets/SDKAsset";
6
6
  import { RenderedAsset } from "../../model/assets/SDKRenderedAsset";
7
7
  import { Brand, BrandUpdateModel } from "../../model/base/SDKBrand";
8
8
  import { DesignSystem, DesignSystemSwitcher } from "../../model/base/SDKDesignSystem";
9
+ import { DesignSystemMemberList } from "../../model/base/SDKDesignSystemMemberList";
9
10
  import { DesignSystemVersion, DesignSystemVersionCreate, DesignSystemVersionCreationJob, DesignSystemVersionUpdateModel } from "../../model/base/SDKDesignSystemVersion";
10
11
  import { DocumentationLegacy, DocumentationLegacyModel } from "../../model/base/SDKDocumentationLegacy";
11
12
  import { Component } from "../../model/components/SDKComponent";
@@ -185,6 +186,8 @@ export declare class DataCore {
185
186
  createDocumentationPage(designSystemId: string, versionId: string, payload: Omit<DTOCreateDocumentationPageInputV2, "persistentId">): Promise<string>;
186
187
  /** Update page approval state */
187
188
  updateApprovalState(designSystemId: string, versionId: string, payload: DTODocumentationPageApprovalStateChangeInput): Promise<string>;
189
+ /** Update design system's member list */
190
+ updateDesignSystemMemberList(designSystemId: string, inviteUserIds: Array<string>, removeUserIds: Array<string>): Promise<void>;
188
191
  /** Create a group within documentation */
189
192
  createDocumentationGroup(designSystemId: string, versionId: string, payload: Omit<DTOCreateDocumentationGroupInput, "persistentId">): Promise<string>;
190
193
  /** Create a tab group within documentation */
@@ -458,7 +461,7 @@ export declare class DataCore {
458
461
  /** Download information about design systems that user has access to under a single workspace and retrieve it resolved */
459
462
  designSystems(workspaceId: any): Promise<Array<DesignSystem>>;
460
463
  /** Creates a design system */
461
- createDesignSystem(workspaceId: string, name: string, description?: string): Promise<DesignSystem>;
464
+ createDesignSystem(workspaceId: string, name: string, description?: string, accessMode?: DesignSystemAccessMode): Promise<DesignSystem>;
462
465
  getBlockDefinitions(designSystemId: string, versionId: string): Promise<Array<DocsBlockDefinition>>;
463
466
  getUrlPreview(designSystemId: string, versionId: string, request: DTODocumentationLinkPreviewRequest): Promise<{
464
467
  linkPreview: {
@@ -498,8 +501,10 @@ export declare class DataCore {
498
501
  designSystemCustomDomain(designSystemId: string): Promise<CustomDomain>;
499
502
  /** Download information about a desing system source within a design system design and retrieve it resolved */
500
503
  designSystemSource(designSystemId: string, sourceId: string): Promise<Source>;
501
- /** Download information about all desing system sources within a design system design and retrieve it resolved */
504
+ /** Download information about all design system sources within a design system design and retrieve it resolved */
502
505
  designSystemSources(designSystemId: string): Promise<Array<Source>>;
506
+ /** Download information about all design system members */
507
+ designSystemMemberList(designSystemId: string): Promise<DesignSystemMemberList>;
503
508
  getFigmaNodeStructures(designSystemId: string, versionId: string): Promise<Array<FigmaStructure>>;
504
509
  getFigmaNodeStructureDetail(designSystemId: string, versionId: string, figmaStructureId: string): Promise<FigmaStructureDetail>;
505
510
  deleteFigmaSource(designSystemId: string, sourceId: string): Promise<void>;
@@ -1,7 +1,6 @@
1
- import { DTODesignElementsDataDiffResponse, DTODocumentationLinkPreviewRequest, DTOFigmaNode, DTOGetDocumentationPageAnchorsResponse, DTOPipeline } from "@supernova-studio/client";
1
+ import { DTODesignElementsDataDiffResponse, DTODesignSystem, DTODesignSystemMemberListResponse, DTODocumentationLinkPreviewRequest, DTOFigmaNode, DTOGetDocumentationPageAnchorsResponse, DTOPipeline } from "@supernova-studio/client";
2
2
  import { AclRemoteModel } from "../../../model/acl/SDKAcl";
3
3
  import { BrandRemoteModel } from "../../../model/base/SDKBrand";
4
- import { DesignSystemRemoteModel } from "../../../model/base/SDKDesignSystem";
5
4
  import { DesignSystemVersionCreationJobRemoteModel, DesignSystemVersionRemoteModel } from "../../../model/base/SDKDesignSystemVersion";
6
5
  import { DocumentationLegacyModel } from "../../../model/base/SDKDocumentationLegacy";
7
6
  import { ComponentRemoteModel } from "../../../model/components/SDKComponent";
@@ -104,9 +103,9 @@ export declare class DataCoreReadRequests {
104
103
  getRemoteWorkspaceSubscription(workspaceId: string): Promise<WorkspaceSubscriptionRemoteModel>;
105
104
  getRemoteWorkspaceAvailableProducts(workspaceId: string): Promise<Array<WorkspaceProductRemoteModel>>;
106
105
  /** Remote: Get information about one specific design system */
107
- getRemoteDesignSystem(designSystemId: string): Promise<DesignSystemRemoteModel>;
106
+ getRemoteDesignSystem(designSystemId: string): Promise<DTODesignSystem>;
108
107
  /** Remote: Get information about all design systems under specific workspace */
109
- getRemoteDesignSystems(workspaceId: string): Promise<Array<DesignSystemRemoteModel>>;
108
+ getRemoteDesignSystems(workspaceId: string): Promise<Array<DTODesignSystem>>;
110
109
  /** Remote: Get custom domain */
111
110
  getRemoteCustomDomain(designSystemId: string): Promise<CustomDomainRemoteModel>;
112
111
  /** Remote: Get a single design source */
@@ -117,6 +116,8 @@ export declare class DataCoreReadRequests {
117
116
  getFigmaNodeStructures(designSystemId: string, versionId: string): Promise<Array<FigmaStructureModel>>;
118
117
  /** Remote: Get figma node detail */
119
118
  getFigmaNodeStructureDetail(designSystemId: string, versionId: string, figmaStructureId: string): Promise<FigmaStructureDetailModel>;
119
+ /** Remote: Get information about design system's members */
120
+ getRemoteDesignSystemMemberList(designSystemId: string): Promise<DTODesignSystemMemberListResponse>;
120
121
  /** Remote: Get design system documentation url */
121
122
  getRemoteDocumentationUrl(designSystemId: string, versionId: string): Promise<string | null>;
122
123
  /** Remote: Get documentation metadata */
@@ -1,7 +1,7 @@
1
- import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOFigmaNode, DTOFigmaNodeRenderInput, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
2
- import { TokenThemeOverrideTranserObject } from "../../../exports";
1
+ import { DTOCreateDocumentationGroupInput, DTOCreateDocumentationPageInputV2, DTOCreateDocumentationTabInput, DTODeleteDocumentationGroupInput, DTODeleteDocumentationPageInputV2, DTODeleteDocumentationTabGroupInput, DTODesignSystem, DTODocumentationPageApprovalStateChangeInput, DTODuplicateDocumentationGroupInput, DTODuplicateDocumentationPageInputV2, DTOFigmaNode, DTOFigmaNodeRenderInput, DTOMoveDocumentationGroupInput, DTOMoveDocumentationPageInputV2, DTOPublishDocumentationRequest, DTORestoreDocumentationGroupInput, DTORestoreDocumentationPageInput, DTOUpdateDocumentationGroupInput, DTOUpdateDocumentationPageInputV2 } from "@supernova-studio/client";
2
+ import { DesignSystemAccessMode, TokenThemeOverrideTranserObject } from "../../../exports";
3
3
  import { Brand, BrandRemoteModel, BrandUpdateModel } from "../../../model/base/SDKBrand";
4
- import { DesignSystem, DesignSystemRemoteModel, DesignSystemSwitcher } from "../../../model/base/SDKDesignSystem";
4
+ import { DesignSystem, DesignSystemSwitcher } from "../../../model/base/SDKDesignSystem";
5
5
  import { DesignSystemVersionCreateRemoteModel, DesignSystemVersionUpdateModel } from "../../../model/base/SDKDesignSystemVersion";
6
6
  import { DocumentationLegacyModel } from "../../../model/base/SDKDocumentationLegacy";
7
7
  import { Component, ComponentRemoteModel, ComponentUpdateRemoteModel } from "../../../model/components/SDKComponent";
@@ -29,7 +29,7 @@ import { UserProfileUpdateModel } from "../../../model/users/SDKUserProfile";
29
29
  import { UserWorkspaceNotificationSettingsUpdateModel } from "../../../model/users/SDKUserWorkspaceNotificationSettings";
30
30
  import { WorkspaceRemoteModel } from "../../../model/workspaces/SDKWorkspace";
31
31
  import { WorkspaceIPWhitelistSettingsUpdateModel } from "../../../model/workspaces/SDKWorkspaceIPWhitelistSettings";
32
- import { WorkspaceIntegrationType, WorkspaceIntegrationsRemoteModel } from "../../../model/workspaces/SDKWorkspaceIntegration";
32
+ import { WorkspaceIntegrationsRemoteModel, WorkspaceIntegrationType } from "../../../model/workspaces/SDKWorkspaceIntegration";
33
33
  import { WorkspaceIntegrationAccessTokenPayload } from "../../../model/workspaces/SDKWorkspaceIntegrationAccessToken";
34
34
  import { WorkspaceInvitationUpdateModel } from "../../../model/workspaces/SDKWorkspaceInvitation";
35
35
  import { WorkspaceNPMRegistrySettingsUpdateModel } from "../../../model/workspaces/SDKWorkspaceNPMRegistrySettings";
@@ -116,7 +116,7 @@ export declare class DataCoreWriteRequests {
116
116
  /** Remote: Restore the cancelled subscription */
117
117
  restoreRemoteWorkspaceSubscription(workspaceId: string): Promise<void>;
118
118
  /** Remote: Creates a new design system */
119
- createRemoteDesignSystem(workspaceId: string, name: string, description?: string): Promise<DesignSystemRemoteModel>;
119
+ createRemoteDesignSystem(workspaceId: string, name: string, description?: string, accessMode?: DesignSystemAccessMode): Promise<DTODesignSystem>;
120
120
  /** Remote: Updates a design system metadata */
121
121
  updateRemoteDesignSystemMetadata(designSystemId: string, name: string, description?: string): Promise<void>;
122
122
  /** Remote: Updates a design system multibrand capabilities */
@@ -136,6 +136,8 @@ export declare class DataCoreWriteRequests {
136
136
  updateRemoteDesignSystemDocumentationSlug(designSystem: DesignSystem, docUserSlug: string): Promise<void>;
137
137
  /** Remote: Deletes a design system */
138
138
  deleteDesignSystem(designSystemId: string): Promise<void>;
139
+ /** Remote: Updates a design system's member list */
140
+ updateRemoteDesignSystemMemberList(designSystemId: string, inviteUserIds: Array<string>, removeUserIds: Array<string>): Promise<void>;
139
141
  private elementAction;
140
142
  createRemoteDocumentationPage(designSystemId: string, versionId: string, data: DTOCreateDocumentationPageInputV2): Promise<any>;
141
143
  updateApprovalState(designSystemId: string, versionId: string, data: DTODocumentationPageApprovalStateChangeInput): Promise<any>;
@@ -34,6 +34,7 @@ export type { FeaturePermissionResolution } from "./model/workspaces/SDKWorkspac
34
34
  export { Brand } from "./model/base/SDKBrand";
35
35
  export type { BrandUpdateModel } from "./model/base/SDKBrand";
36
36
  export { DesignSystem } from "./model/base/SDKDesignSystem";
37
+ export type { DesignSystemAccessMode } from "./model/base/SDKDesignSystem";
37
38
  export { DesignSystemVersion } from "./model/base/SDKDesignSystemVersion";
38
39
  export type { DesignSystemVersionCreate, DesignSystemVersionUpdateModel, DesignSystemVersionCreationJob, } from "./model/base/SDKDesignSystemVersion";
39
40
  export { Membership } from "./model/membership/SDKMembership";
@@ -1,23 +1,9 @@
1
+ import { DTODesignSystem } from "@supernova-studio/client";
1
2
  export type DesignSystemSwitcher = {
2
3
  isEnabled: boolean;
3
4
  designSystemIds: Array<string>;
4
5
  };
5
- export type DesignSystemRemoteModel = {
6
- id: string;
7
- meta: {
8
- name: string;
9
- description: string;
10
- };
11
- workspaceId: string;
12
- isPublic: boolean;
13
- isMultibrand: boolean;
14
- isApprovalFeatureEnabled: boolean;
15
- approvalRequiredForPublishing: boolean;
16
- docSlug: string;
17
- docUserSlug?: string;
18
- docExporterId: string;
19
- designSystemSwitcher: DesignSystemSwitcher;
20
- };
6
+ export type DesignSystemAccessMode = "Open" | "InviteOnly";
21
7
  export type DesignSystemTransportModel = Pick<DesignSystem, "id" | "name" | "description" | "isPublic" | "isMultiBrand" | "documentationSlug" | "documentationUserSlug" | "documentationExporterId" | "designSystemSwitcher" | "workspaceId">;
22
8
  export declare class DesignSystem {
23
9
  /** Unique identifier of design system */
@@ -44,9 +30,8 @@ export declare class DesignSystem {
44
30
  documentationUserSlug: string | null;
45
31
  /** Binding multiple design systems together */
46
32
  designSystemSwitcher: DesignSystemSwitcher;
47
- constructor(model: DesignSystemRemoteModel);
48
- /** Constructs representation that can be used to write full object to remote */
49
- toRemote(): DesignSystemRemoteModel;
33
+ accessMode: DesignSystemAccessMode;
34
+ constructor(model: DTODesignSystem);
50
35
  /** 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` */
51
36
  toTransport(): DesignSystemTransportModel;
52
37
  /** Reconstructs class from the transport model */
@@ -0,0 +1,9 @@
1
+ import { DTODesignSystemMemberListResponse } from "@supernova-studio/client";
2
+ export type DesignSystemMembership = {
3
+ userId: string;
4
+ };
5
+ export declare class DesignSystemMemberList {
6
+ /** List of members that belong to the design system */
7
+ members: Array<DesignSystemMembership>;
8
+ constructor(model: DTODesignSystemMemberListResponse);
9
+ }
@@ -3,10 +3,6 @@ import { TokenType } from "../../../enums/SDKTokenType";
3
3
  import { DocsBlockPropertyData, DocsBlockPropertyDefinition, DocsBlockPropertyDefinitionModel } from "./SDKDocsBlockProperty";
4
4
  /** Token property - Additional non-value options */
5
5
  export type DocsBlockTokenPropertyOptions = {
6
- /** Default theme to be chosen */
7
- defaultTheme?: "none";
8
- /** Default value preview */
9
- defaultValuePreview?: "Split" | "Override";
10
6
  /** Token types that are allowed to be selected. All types allowed if nothing is provided */
11
7
  allowedTypes?: Array<TokenType>;
12
8
  /** How should the tokens be rendered in editor */
@@ -26,9 +22,20 @@ export type DocsBlockTokenPropertyData = DocsBlockPropertyData<Array<{
26
22
  }>> & {
27
23
  /** Selected token ids */
28
24
  selectedPropertyIds?: Array<string>;
29
- /** Selected theme ids */
25
+ /** Swatches with selected theme ids */
26
+ swatches?: Array<{
27
+ id: string;
28
+ selectedThemeIds: Array<string>;
29
+ }>;
30
+ /**
31
+ * Selected theme ids
32
+ * @deprecated Swatches will be used instead
33
+ */
30
34
  selectedThemeIds?: Array<string>;
31
- /** Display mode of themes associated with the token property */
35
+ /**
36
+ * Display mode of themes associated with the token property
37
+ * @deprecated Swatches will be used instead
38
+ */
32
39
  themeDisplayMode?: "Split" | "Override";
33
40
  };
34
41
  /** Token property - Definition model */
@@ -2,6 +2,7 @@ export declare enum UserRole {
2
2
  owner = "Owner",
3
3
  admin = "Admin",
4
4
  creator = "Creator",
5
+ contributor = "Contributor",
5
6
  billing = "Billing",
6
7
  viewer = "Viewer"
7
8
  }
@@ -35,7 +35,7 @@ export type GitObjectQuery = {
35
35
  export type NewPipelinePayloadDestination = "Github" | "Gitlab" | "Bitbucket" | "Azure" | "WebhookUrl" | "S3" | "Documentation";
36
36
  export type NewPipelinePayload = {
37
37
  brandPersistentId?: string;
38
- themePersistentId?: string;
38
+ themePersistentIds?: string[];
39
39
  designSystemId: string;
40
40
  destinations: {
41
41
  azure: AzureDestinationPayload | null;
@@ -97,7 +97,7 @@ export declare class Pipeline {
97
97
  };
98
98
  };
99
99
  brandPersistentId?: string;
100
- themePersistentId?: string;
100
+ themePersistentIds?: string[];
101
101
  latestJobs: Array<ExportBuild>;
102
102
  constructor(data: DTOPipeline);
103
103
  get isBuildOnly(): boolean;
@@ -32,7 +32,12 @@ export type PulsarContext = {
32
32
  dsId: string;
33
33
  versionId: string;
34
34
  brandId: string | null;
35
+ /**
36
+ * @deprecated
37
+ * Use themeIds instead
38
+ */
35
39
  themeId: string | null;
40
+ themeIds: string[] | null;
36
41
  };
37
42
  export interface PulsarBridgingInterface {
38
43
  export(fn: (sdk: Supernova, context: PulsarContext) => Promise<Array<AnyOutputFile>>): any;