@supernova-studio/supernova-sdk-beta 1.6.14 → 1.6.16

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.
@@ -35197,6 +35197,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
35197
35197
  Object.defineProperty(exports, "__esModule", ({ value: true }));
35198
35198
  exports.AreaComponents = void 0;
35199
35199
  const SDKElementProperty_1 = __webpack_require__(/*! ../../model/elements/SDKElementProperty */ "./src/model/elements/SDKElementProperty.ts");
35200
+ const ComponentUtils_1 = __webpack_require__(/*! ../../utils/ComponentUtils */ "./src/utils/ComponentUtils.ts");
35200
35201
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
35201
35202
  // MARK: - Users Area
35202
35203
  class AreaComponents {
@@ -35243,7 +35244,7 @@ class AreaComponents {
35243
35244
  return this.dataCore.designComponentGroups(from.designSystemId, from.versionId);
35244
35245
  });
35245
35246
  }
35246
- /** Retrieves all remote properties for tokens
35247
+ /** Retrieves all remote properties for components
35247
35248
  * @param from - Remote version to fetch from
35248
35249
  * @returns All component properties in the specified version
35249
35250
  */
@@ -35252,6 +35253,15 @@ class AreaComponents {
35252
35253
  return this.dataCore.elementPropertyDefinitions(from.designSystemId, from.versionId, SDKElementProperty_1.ElementPropertyTargetElementType.component);
35253
35254
  });
35254
35255
  }
35256
+ /** Retrieves all remote property definitions for components
35257
+ * @param from - Remote version to fetch from
35258
+ * @returns All property definitions in the specified version
35259
+ */
35260
+ getComponentPropertyValues(from) {
35261
+ return __awaiter(this, void 0, void 0, function* () {
35262
+ return this.dataCore.elementPropertyValues(from.designSystemId, from.versionId);
35263
+ });
35264
+ }
35255
35265
  /** Retrieves all remote property views for components
35256
35266
  * @param from - Remote version to fetch from
35257
35267
  * @returns All component views in the specified version
@@ -35261,6 +35271,166 @@ class AreaComponents {
35261
35271
  return this.dataCore.elementViews(from.designSystemId, from.versionId, SDKElementProperty_1.ElementPropertyTargetElementType.component);
35262
35272
  });
35263
35273
  }
35274
+ // --- --- --- --- --- --- --- --- --- ---
35275
+ // MARK: - Create/Update
35276
+ /** Creates remote component. This method can only be used once per component and will assign persistent id to the component. Calling this version on component that already has id assigned will result in error
35277
+ * @param to - Remote version to write to
35278
+ * @param component - Component to create
35279
+ * @param parentId - Id of the group to add the component to. This is id of the group, not the versioned id
35280
+ * @returns New remote component ids
35281
+ */
35282
+ createComponent(to, component, parentId) {
35283
+ return __awaiter(this, void 0, void 0, function* () {
35284
+ return this.dataCore.createComponent(to.designSystemId, to.versionId, component, parentId);
35285
+ });
35286
+ }
35287
+ /** Creates local component. This component doesn't have id associated with it on remote, and must be created once with `createComponent` to be stored in design system
35288
+ * @returns New component filled with default values not associated with remote (yet)
35289
+ */
35290
+ createLocalComponent(versionId, brandId) {
35291
+ return ComponentUtils_1.ComponentUtils.createDefaultComponent(versionId, brandId);
35292
+ }
35293
+ /** Creates remote component group. This method can only be used once per group and will assign persistent id to the group. Calling this version on group that already has id assigned will result in error
35294
+ * @param to - Remote version to write to
35295
+ * @param group - Group to create
35296
+ * @param parentId - Id of the group to add the group to. This is id of the group, not the versioned id
35297
+ * @returns New remote component group ids
35298
+ */
35299
+ createComponentGroup(to, group, parentId) {
35300
+ return __awaiter(this, void 0, void 0, function* () {
35301
+ return this.dataCore.createComponentGroup(to.designSystemId, to.versionId, group, parentId);
35302
+ });
35303
+ }
35304
+ /** Creates local component group. This group doesn't have id associated with it on remote, and must be created once with `createComponentGroup` to be stored in design system
35305
+ * @param versionId - Id of the version to create the group in
35306
+ * @param brandId - Id of the brand to create the group in
35307
+ * @returns New group with id assigned
35308
+ */
35309
+ createLocalComponentGroup(versionId, brandId) {
35310
+ return ComponentUtils_1.ComponentUtils.createDefaultComponentGroup(versionId, brandId);
35311
+ }
35312
+ /** Updates remote component. This method can only be used on components that already exist in the version
35313
+ * @param to - Remote version to write to
35314
+ * @param component - Component to update
35315
+ * @returns Nothing
35316
+ */
35317
+ updateComponent(to, component) {
35318
+ return __awaiter(this, void 0, void 0, function* () {
35319
+ return this.dataCore.updateComponent(to.designSystemId, to.versionId, component);
35320
+ });
35321
+ }
35322
+ /** Updates remote component groups. This method can only be used on component groups that already exist in the version
35323
+ * @param to - Remote version to write to
35324
+ * @param component - Component group to update
35325
+ * @returns Nothing
35326
+ */
35327
+ updateComponentGroup(to, group) {
35328
+ return __awaiter(this, void 0, void 0, function* () {
35329
+ return this.dataCore.updateComponentGroup(to.designSystemId, to.versionId, group);
35330
+ });
35331
+ }
35332
+ /** Updates remote component property value. This also creates the property value if it doesn't exist
35333
+ * @param to - Remote version to write to
35334
+ * @param newValue - Value to set - this can be multiple things, from ID to raw string value to others
35335
+ * @param forComponent - Component to assign the value to
35336
+ * @param forProperty - Property to assign the value to
35337
+ */
35338
+ updateComponentPropertyValue(to, newValue, forComponent, forProperty) {
35339
+ return __awaiter(this, void 0, void 0, function* () {
35340
+ return this.dataCore.updateComponentPropertyValue(to.designSystemId, to.versionId, newValue, forComponent, forProperty);
35341
+ });
35342
+ }
35343
+ /** Deletes remote component property value
35344
+ * @param to - Remote version to write to
35345
+ * @param valueId - Value identifier
35346
+ */
35347
+ deleteComponentPropertyValue(to, valueId) {
35348
+ return __awaiter(this, void 0, void 0, function* () {
35349
+ return this.dataCore.deleteComponentPropertyValue(to.designSystemId, to.versionId, valueId);
35350
+ });
35351
+ }
35352
+ /** Create component property
35353
+ * @param to - Remote version to write to
35354
+ * @param model - Property creation model to create the property from
35355
+ */
35356
+ createComponentProperty(to, model) {
35357
+ return __awaiter(this, void 0, void 0, function* () {
35358
+ return this.dataCore.createComponentProperty(to.designSystemId, to.versionId, model);
35359
+ });
35360
+ }
35361
+ /** Update component property
35362
+ * @param to - Remote version to write to
35363
+ * @param propertyIdInVersion - Remote element property to update
35364
+ * @param model - Property update model to apply to property
35365
+ */
35366
+ updateComponentProperty(to, propertyIdInVersion, model) {
35367
+ return __awaiter(this, void 0, void 0, function* () {
35368
+ return this.dataCore.updateComponentProperty(to.designSystemId, to.versionId, propertyIdInVersion, model);
35369
+ });
35370
+ }
35371
+ /** Delete component property. This will remove all values associated with the property
35372
+ * @param to - Remote version to write to
35373
+ * @param propertyIdInVersion - Id of the property to delete
35374
+ */
35375
+ deleteComponentProperty(to, propertyIdInVersion) {
35376
+ return __awaiter(this, void 0, void 0, function* () {
35377
+ return this.dataCore.deleteComponentProperty(to.designSystemId, to.versionId, propertyIdInVersion);
35378
+ });
35379
+ }
35380
+ /** Resize specific component column
35381
+ * @param to - Remote version to write to
35382
+ * @param columnIdInVersion - Id of the column to update
35383
+ * @param newWidth - New width of the column
35384
+ */
35385
+ updateResizeComponentColumn(to, view, column, newWidth) {
35386
+ return __awaiter(this, void 0, void 0, function* () {
35387
+ return this.dataCore.updateResizeComponentColumn(to.designSystemId, to.versionId, view, column, newWidth);
35388
+ });
35389
+ }
35390
+ /** Move column to a new index and reorder all other columns around it
35391
+ * @param to - Remote version to write to
35392
+ * @param colum - Column object to move
35393
+ * @param newIndex - New index to move the component to
35394
+ */
35395
+ updateReorderComponentColumn(to, view, column, newIndex) {
35396
+ return __awaiter(this, void 0, void 0, function* () {
35397
+ return this.dataCore.updateReorderComponentColumn(to.designSystemId, to.versionId, view, column, newIndex);
35398
+ });
35399
+ }
35400
+ // --- --- --- --- --- --- --- --- --- ---
35401
+ // MARK: - Delete
35402
+ /** Deletes remote component. Calling this method on component that doesn't exist in the version will result in error
35403
+ * @param to - Remote version to write to
35404
+ * @param componentIdInVersion - Component idInVersion to delete
35405
+ * @returns Nothing
35406
+ */
35407
+ deleteComponent(to, componentIdInVersion) {
35408
+ return __awaiter(this, void 0, void 0, function* () {
35409
+ return this.dataCore.deleteComponent(to.designSystemId, to.versionId, componentIdInVersion);
35410
+ });
35411
+ }
35412
+ /** Deletes remote component group. This method will also fix the component group tree by moving any subgroups to parent - do note it will NOT delete contents of the group. Calling this method on group that doesn't exist in the version will result in error
35413
+ * @param to - Remote version to write to
35414
+ * @param componentGroupIdInVersion - Component group idInVersion to delete
35415
+ * @returns Nothing
35416
+ */
35417
+ ungroupComponentGroup(to, componentGroupIdInVersion) {
35418
+ return __awaiter(this, void 0, void 0, function* () {
35419
+ return this.dataCore.ungroupComponentGroup(to.designSystemId, to.versionId, componentGroupIdInVersion);
35420
+ });
35421
+ }
35422
+ /** Deletes remote component group and all its descendants. All items (groups and components) underneath will be deleted. Calling this method on group that doesn't exist in the version will result in error
35423
+ * @param to - Remote version to write to
35424
+ * @param componentGroupToDelete - Component group to delete
35425
+ * @param allComponents - Components for lookup
35426
+ * @param allComponentGroup - Component group for lookup
35427
+ * @returns Nothing
35428
+ */
35429
+ deleteComponentGroup(to, componentGroupToDelete, components, componentGroups) {
35430
+ return __awaiter(this, void 0, void 0, function* () {
35431
+ return this.dataCore.deleteComponentGroup(to.designSystemId, to.versionId, componentGroupToDelete, components, componentGroups);
35432
+ });
35433
+ }
35264
35434
  }
35265
35435
  exports.AreaComponents = AreaComponents;
35266
35436
 
@@ -35792,721 +35962,253 @@ exports.AreaPipelines = AreaPipelines;
35792
35962
  //
35793
35963
  Object.defineProperty(exports, "__esModule", ({ value: true }));
35794
35964
  exports.AreaTokenValues = void 0;
35795
- // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
35796
- // MARK: - Imports
35797
- const exports_1 = __webpack_require__(/*! ../../exports */ "./src/exports.ts");
35798
- const SDKThemeUtilities_1 = __webpack_require__(/*! ../../model/themes/SDKThemeUtilities */ "./src/model/themes/SDKThemeUtilities.ts");
35799
- const SDKColorToken_1 = __webpack_require__(/*! ../../model/tokens/SDKColorToken */ "./src/model/tokens/SDKColorToken.ts");
35800
- const SDKDimensionToken_1 = __webpack_require__(/*! ../../model/tokens/SDKDimensionToken */ "./src/model/tokens/SDKDimensionToken.ts");
35801
- const SDKStringToken_1 = __webpack_require__(/*! ../../model/tokens/SDKStringToken */ "./src/model/tokens/SDKStringToken.ts");
35802
- const SDKSupernovaError_1 = __webpack_require__(/*! ../errors/SDKSupernovaError */ "./src/core/errors/SDKSupernovaError.ts");
35803
- const lodash_1 = __webpack_require__(/*! lodash */ "../../node_modules/lodash/lodash.js");
35965
+ const TokenUtils_1 = __webpack_require__(/*! ../../utils/TokenUtils */ "./src/utils/TokenUtils.ts");
35804
35966
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
35805
35967
  // MARK: - Token Values Area
35806
35968
  class AreaTokenValues {
35807
35969
  /** Creates a new theme with updated overrides */
35808
35970
  tokenThemeByUpdatingOverride(theme, override) {
35809
- const overrides = theme.overriddenTokens;
35810
- const filteredOverrides = overrides.filter((o) => o.id !== override.id);
35811
- filteredOverrides.push(override);
35812
- theme.overriddenTokens = filteredOverrides;
35813
- return theme;
35971
+ return TokenUtils_1.TokenUtils.tokenThemeByUpdatingOverride(theme, override);
35814
35972
  }
35815
35973
  /** Creates a new theme with removed override */
35816
35974
  tokenThemeByRemovingOverride(theme, tokenId) {
35817
- const overrides = theme.overriddenTokens;
35818
- const filteredOverrides = overrides.filter((o) => o.id !== tokenId && o.idInVersion !== tokenId);
35819
- theme.overriddenTokens = filteredOverrides;
35820
- return theme;
35975
+ return TokenUtils_1.TokenUtils.tokenThemeByRemovingOverride(theme, tokenId);
35821
35976
  }
35822
35977
  /** Creates a new color token with updated .color value */
35823
35978
  colorTokenByUpdatingColor(token, newValue) {
35824
- this.checkNotReference(token);
35825
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35826
- if (newValue instanceof SDKColorToken_1.ColorToken) {
35827
- update.value = {
35828
- opacity: update.value.opacity,
35829
- color: {
35830
- r: newValue.value.color.r,
35831
- g: newValue.value.color.g,
35832
- b: newValue.value.color.b,
35833
- referencedTokenId: newValue.value.color.referencedTokenId,
35834
- },
35835
- referencedTokenId: newValue.id,
35836
- };
35837
- }
35838
- else {
35839
- update.value = {
35840
- opacity: update.value.opacity,
35841
- color: {
35842
- r: newValue.r,
35843
- g: newValue.g,
35844
- b: newValue.b,
35845
- referencedTokenId: newValue.referencedTokenId,
35846
- },
35847
- referencedTokenId: null,
35848
- };
35849
- }
35850
- return update;
35979
+ return TokenUtils_1.TokenUtils.colorTokenByUpdatingColor(token, newValue);
35851
35980
  }
35852
35981
  /** Creates a new color token with updated .opacity value */
35853
35982
  colorTokenByUpdatingOpacity(token, newValue) {
35854
- this.checkNotReference(token);
35855
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35856
- if (newValue instanceof exports_1.OpacityToken) {
35857
- update.value.opacity = {
35858
- measure: newValue.value.measure,
35859
- unit: newValue.value.unit,
35860
- referencedTokenId: newValue.id,
35861
- };
35862
- }
35863
- else {
35864
- update.value.opacity = {
35865
- measure: newValue,
35866
- unit: exports_1.Unit.raw,
35867
- referencedTokenId: null,
35868
- };
35869
- }
35870
- return update;
35983
+ return TokenUtils_1.TokenUtils.colorTokenByUpdatingOpacity(token, newValue);
35871
35984
  }
35872
35985
  /** Creates a new blur token with updated .type value */
35873
35986
  blurTokenByUpdatingType(token, newValue) {
35874
- this.checkNotReference(token);
35875
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35876
- update.value.type = newValue;
35877
- return update;
35987
+ return TokenUtils_1.TokenUtils.blurTokenByUpdatingType(token, newValue);
35878
35988
  }
35879
35989
  /** Creates a new blur token with updated .radius value */
35880
35990
  blurTokenByUpdatingRadius(token, newValue) {
35881
- this.checkNotReference(token);
35882
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35883
- update.value.radius = this.rawOrReferencedDimensionValue(newValue);
35884
- return update;
35991
+ return TokenUtils_1.TokenUtils.blurTokenByUpdatingRadius(token, newValue);
35885
35992
  }
35886
35993
  /** Creates a new typography token with updated .fontFamily value */
35887
35994
  typographyTokenByUpdatingFontFamily(token, newValue) {
35888
- this.checkNotReference(token);
35889
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35890
- if (newValue instanceof SDKStringToken_1.FontFamilyToken) {
35891
- update.value.fontFamily = {
35892
- text: newValue.value.text,
35893
- referencedTokenId: newValue.id,
35894
- };
35895
- }
35896
- else {
35897
- update.value.fontFamily = {
35898
- text: newValue.text,
35899
- referencedTokenId: null,
35900
- };
35901
- }
35902
- return update;
35995
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingFontFamily(token, newValue);
35903
35996
  }
35904
35997
  /** Creates a new typography token with updated .fontWeight value */
35905
35998
  typographyTokenByUpdatingFontWeight(token, newValue) {
35906
- this.checkNotReference(token);
35907
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35908
- if (newValue instanceof SDKStringToken_1.FontWeightToken) {
35909
- update.value.fontWeight = {
35910
- text: newValue.value.text,
35911
- referencedTokenId: newValue.id,
35912
- };
35913
- }
35914
- else {
35915
- update.value.fontWeight = {
35916
- text: newValue.text,
35917
- referencedTokenId: null,
35918
- };
35919
- }
35920
- return update;
35999
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingFontWeight(token, newValue);
35921
36000
  }
35922
36001
  /** Creates a new typography token with updated .fontSize value */
35923
36002
  typographyTokenByUpdatingFontSize(token, newValue) {
35924
- this.checkNotReference(token);
35925
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35926
- update.value.fontSize = this.rawOrReferencedDimensionValue(newValue);
35927
- return update;
36003
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingFontSize(token, newValue);
35928
36004
  }
35929
36005
  /** Creates a new typography token with updated .letterSpacing value */
35930
36006
  typographyTokenByUpdatingLetterSpacing(token, newValue) {
35931
- this.checkNotReference(token);
35932
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35933
- update.value.letterSpacing = this.rawOrReferencedDimensionValue(newValue);
35934
- return update;
36007
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingLetterSpacing(token, newValue);
35935
36008
  }
35936
36009
  /** Creates a new typography token with updated .lineHeight value */
35937
36010
  typographyTokenByUpdatingLineHeight(token, newValue) {
35938
- this.checkNotReference(token);
35939
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35940
- update.value.lineHeight = this.rawOrReferencedDimensionValue(newValue);
35941
- return update;
36011
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingLineHeight(token, newValue);
35942
36012
  }
35943
36013
  /** Creates a new typography token with updated .paragraphSpacing value */
35944
36014
  typographyTokenByUpdatingParagraphSpacing(token, newValue) {
35945
- this.checkNotReference(token);
35946
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35947
- update.value.paragraphSpacing = this.rawOrReferencedDimensionValue(newValue);
35948
- return update;
36015
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingParagraphSpacing(token, newValue);
35949
36016
  }
35950
36017
  /** Creates a new typography token with updated .paragraphSpacing value */
35951
36018
  typographyTokenByUpdatingParagraphIndent(token, newValue) {
35952
- this.checkNotReference(token);
35953
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35954
- update.value.paragraphIndent = this.rawOrReferencedDimensionValue(newValue);
35955
- return update;
36019
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingParagraphIndent(token, newValue);
35956
36020
  }
35957
36021
  /** Creates a new border token with updated .position value */
35958
36022
  typographyTokenByUpdatingTextDecoration(token, newValue) {
35959
- this.checkNotReference(token);
35960
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35961
- if (newValue instanceof exports_1.TextDecorationToken) {
35962
- update.value.textDecoration = {
35963
- value: newValue.value.value,
35964
- options: newValue.value.options,
35965
- referencedTokenId: newValue.id,
35966
- };
35967
- }
35968
- else {
35969
- update.value.textDecoration = {
35970
- value: newValue.value,
35971
- options: newValue.options,
35972
- referencedTokenId: null,
35973
- };
35974
- }
35975
- return update;
36023
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingTextDecoration(token, newValue);
36024
+ }
36025
+ /** Creates a new typography token with updated .textCase value */
36026
+ typographyTokenByUpdatingTextCase(token, newValue) {
36027
+ return TokenUtils_1.TokenUtils.typographyTokenByUpdatingTextCase(token, newValue);
35976
36028
  }
35977
36029
  /** Creates a new border token with updated .color value. Do note, opacity is ignored */
35978
36030
  borderTokenByUpdatingColor(token, newValue) {
35979
- this.checkNotReference(token);
35980
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
35981
- if (newValue instanceof SDKColorToken_1.ColorToken) {
35982
- update.value.color = {
35983
- opacity: update.value.color.opacity,
35984
- color: {
35985
- r: newValue.value.color.r,
35986
- g: newValue.value.color.g,
35987
- b: newValue.value.color.b,
35988
- referencedTokenId: newValue.value.color.referencedTokenId,
35989
- },
35990
- referencedTokenId: newValue.id,
35991
- };
35992
- }
35993
- else {
35994
- update.value.color = {
35995
- opacity: update.value.color.opacity,
35996
- color: {
35997
- r: newValue.r,
35998
- g: newValue.g,
35999
- b: newValue.b,
36000
- referencedTokenId: newValue.referencedTokenId,
36001
- },
36002
- referencedTokenId: null,
36003
- };
36004
- }
36005
- return update;
36031
+ return TokenUtils_1.TokenUtils.borderTokenByUpdatingColor(token, newValue);
36006
36032
  }
36007
36033
  /** Creates a new border token with updated color.opacity value */
36008
36034
  borderTokenByUpdatingOpacity(token, newValue) {
36009
- this.checkNotReference(token);
36010
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36011
- if (newValue instanceof exports_1.OpacityToken) {
36012
- update.value.color.opacity = {
36013
- measure: newValue.value.measure,
36014
- unit: newValue.value.unit,
36015
- referencedTokenId: newValue.id,
36016
- };
36017
- }
36018
- else {
36019
- update.value.color.opacity = {
36020
- measure: newValue,
36021
- unit: exports_1.Unit.raw,
36022
- referencedTokenId: null,
36023
- };
36024
- }
36025
- return update;
36035
+ return TokenUtils_1.TokenUtils.borderTokenByUpdatingOpacity(token, newValue);
36026
36036
  }
36027
36037
  /** Creates a new border token with updated .width value */
36028
36038
  borderTokenByUpdatingWidth(token, newValue) {
36029
- this.checkNotReference(token);
36030
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36031
- update.value.width = this.rawOrReferencedDimensionValue(newValue);
36032
- return update;
36039
+ return TokenUtils_1.TokenUtils.borderTokenByUpdatingWidth(token, newValue);
36033
36040
  }
36034
36041
  /** Creates a new border token with updated .position value */
36035
36042
  borderTokenByUpdatingPosition(token, newValue) {
36036
- this.checkNotReference(token);
36037
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36038
- update.value.position = newValue;
36039
- return update;
36043
+ return TokenUtils_1.TokenUtils.borderTokenByUpdatingPosition(token, newValue);
36040
36044
  }
36041
36045
  /** Creates a new border token with updated .style value */
36042
36046
  borderTokenByUpdatingStyle(token, newValue) {
36043
- this.checkNotReference(token);
36044
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36045
- update.value.style = newValue;
36046
- return update;
36047
+ return TokenUtils_1.TokenUtils.borderTokenByUpdatingStyle(token, newValue);
36047
36048
  }
36048
36049
  /** Creates a new dimension token with updated value */
36049
36050
  dimensionTokenByUpdatingValue(token, newValue) {
36050
- this.checkNotReference(token);
36051
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36052
- update.value = this.rawOrReferencedDimensionValue(newValue);
36053
- return update;
36051
+ return TokenUtils_1.TokenUtils.dimensionTokenByUpdatingValue(token, newValue);
36054
36052
  }
36055
36053
  /** Creates a new size token with updated value */
36056
36054
  sizeTokenByUpdatingValue(token, newValue) {
36057
- this.checkNotReference(token);
36058
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36059
- update.value = this.rawOrReferencedDimensionValue(newValue);
36060
- return update;
36055
+ return TokenUtils_1.TokenUtils.sizeTokenByUpdatingValue(token, newValue);
36061
36056
  }
36062
36057
  /** Creates a new space token with updated value */
36063
36058
  spaceTokenByUpdatingValue(token, newValue) {
36064
- this.checkNotReference(token);
36065
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36066
- update.value = this.rawOrReferencedDimensionValue(newValue);
36067
- return update;
36059
+ return TokenUtils_1.TokenUtils.spaceTokenByUpdatingValue(token, newValue);
36068
36060
  }
36069
36061
  /** Creates a new opacity token with updated value */
36070
36062
  opacityTokenByUpdatingValue(token, newValue) {
36071
- this.checkNotReference(token);
36072
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36073
- update.value = this.rawOrReferencedDimensionValue(newValue);
36074
- return update;
36063
+ return TokenUtils_1.TokenUtils.opacityTokenByUpdatingValue(token, newValue);
36075
36064
  }
36076
36065
  /** Creates a new font size token with updated value */
36077
36066
  fontSizeTokenByUpdatingValue(token, newValue) {
36078
- this.checkNotReference(token);
36079
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36080
- update.value = this.rawOrReferencedDimensionValue(newValue);
36081
- return update;
36067
+ return TokenUtils_1.TokenUtils.fontSizeTokenByUpdatingValue(token, newValue);
36082
36068
  }
36083
36069
  /** Creates a new font size token with updated value */
36084
36070
  lineHeightTokenByUpdatingValue(token, newValue) {
36085
- this.checkNotReference(token);
36086
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36087
- update.value = this.rawOrReferencedDimensionValue(newValue);
36088
- return update;
36071
+ return TokenUtils_1.TokenUtils.lineHeightTokenByUpdatingValue(token, newValue);
36089
36072
  }
36090
36073
  /** Creates a new letter spacing token with updated value */
36091
36074
  letterSpacingTokenByUpdatingValue(token, newValue) {
36092
- this.checkNotReference(token);
36093
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36094
- update.value = this.rawOrReferencedDimensionValue(newValue);
36095
- return update;
36075
+ return TokenUtils_1.TokenUtils.letterSpacingTokenByUpdatingValue(token, newValue);
36096
36076
  }
36097
36077
  /** Creates a new paragraph spacing token with updated value */
36098
36078
  paragraphSpacingTokenByUpdatingValue(token, newValue) {
36099
- this.checkNotReference(token);
36100
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36101
- update.value = this.rawOrReferencedDimensionValue(newValue);
36102
- return update;
36079
+ return TokenUtils_1.TokenUtils.paragraphSpacingTokenByUpdatingValue(token, newValue);
36103
36080
  }
36104
36081
  /** Creates a new border width token with updated value */
36105
36082
  borderWidthTokenByUpdatingValue(token, newValue) {
36106
- this.checkNotReference(token);
36107
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36108
- update.value = this.rawOrReferencedDimensionValue(newValue);
36109
- return update;
36083
+ return TokenUtils_1.TokenUtils.borderWidthTokenByUpdatingValue(token, newValue);
36110
36084
  }
36111
36085
  /** Creates a new radius token with updated value */
36112
36086
  radiusTokenByUpdatingValue(token, newValue) {
36113
- this.checkNotReference(token);
36114
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36115
- update.value = this.rawOrReferencedDimensionValue(newValue);
36116
- return update;
36087
+ return TokenUtils_1.TokenUtils.radiusTokenByUpdatingValue(token, newValue);
36117
36088
  }
36118
36089
  /** Creates a new duration token with updated value */
36119
36090
  durationTokenByUpdatingValue(token, newValue) {
36120
- this.checkNotReference(token);
36121
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36122
- update.value = this.rawOrReferencedDimensionValue(newValue);
36123
- return update;
36091
+ return TokenUtils_1.TokenUtils.durationTokenByUpdatingValue(token, newValue);
36124
36092
  }
36125
36093
  /** Creates a new z-index token with updated value */
36126
36094
  zIndexTokenByUpdatingValue(token, newValue) {
36127
- this.checkNotReference(token);
36128
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36129
- update.value = this.rawOrReferencedDimensionValue(newValue);
36130
- return update;
36095
+ return TokenUtils_1.TokenUtils.zIndexTokenByUpdatingValue(token, newValue);
36131
36096
  }
36132
36097
  /** Creates a new string token with updated value */
36133
36098
  stringTokenByUpdatingValue(token, newValue) {
36134
- this.checkNotReference(token);
36135
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36136
- update.value = this.rawOrReferencedStringValue(newValue);
36137
- return update;
36099
+ return TokenUtils_1.TokenUtils.stringTokenByUpdatingValue(token, newValue);
36138
36100
  }
36139
36101
  /** Creates a new product copy token with updated value */
36140
36102
  productCopyTokenByUpdatingValue(token, newValue) {
36141
- this.checkNotReference(token);
36142
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36143
- update.value = this.rawOrReferencedStringValue(newValue);
36144
- return update;
36103
+ return TokenUtils_1.TokenUtils.productCopyTokenByUpdatingValue(token, newValue);
36145
36104
  }
36146
36105
  /** Creates a new font family token with updated value */
36147
36106
  fontFamilyTokenByUpdatingValue(token, newValue) {
36148
- this.checkNotReference(token);
36149
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36150
- update.value = this.rawOrReferencedStringValue(newValue);
36151
- return update;
36107
+ return TokenUtils_1.TokenUtils.fontFamilyTokenByUpdatingValue(token, newValue);
36152
36108
  }
36153
36109
  /** Creates a new font weight token with updated value */
36154
36110
  fontWeightTokenByUpdatingValue(token, newValue) {
36155
- this.checkNotReference(token);
36156
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36157
- update.value = this.rawOrReferencedStringValue(newValue);
36158
- return update;
36111
+ return TokenUtils_1.TokenUtils.fontWeightTokenByUpdatingValue(token, newValue);
36159
36112
  }
36160
36113
  /** Creates a new text case token with updated value */
36161
36114
  textCaseTokenByUpdatingValue(token, newValue) {
36162
- this.checkNotReference(token);
36163
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36164
- update.value = {
36165
- value: newValue.value,
36166
- options: newValue.options,
36167
- referencedTokenId: null,
36168
- };
36169
- return update;
36115
+ return TokenUtils_1.TokenUtils.textCaseTokenByUpdatingValue(token, newValue);
36170
36116
  }
36171
36117
  /** Creates a new text case token with updated value */
36172
36118
  textDecorationTokenByUpdatingValue(token, newValue) {
36173
- this.checkNotReference(token);
36174
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36175
- update.value = {
36176
- value: newValue.value,
36177
- options: newValue.options,
36178
- referencedTokenId: null,
36179
- };
36180
- return update;
36119
+ return TokenUtils_1.TokenUtils.textDecorationTokenByUpdatingValue(token, newValue);
36181
36120
  }
36182
36121
  /** Creates a new visibility token with updated value */
36183
36122
  visibilityTokenByUpdatingValue(token, newValue) {
36184
- this.checkNotReference(token);
36185
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36186
- update.value = {
36187
- value: newValue.value,
36188
- options: newValue.options,
36189
- referencedTokenId: null,
36190
- };
36191
- return update;
36123
+ return TokenUtils_1.TokenUtils.visibilityTokenByUpdatingValue(token, newValue);
36192
36124
  }
36193
36125
  // --- --- --- --- --- --- --- --- --- ---
36194
36126
  // MARK: - Multi-layer token manipulation
36195
36127
  /** Creates a new shadow token with one new extra layer added at the end of all layers */
36196
36128
  shadowTokenByAddingLayer(token) {
36197
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36198
- const layer = {
36199
- color: {
36200
- color: {
36201
- r: 0,
36202
- g: 0,
36203
- b: 0,
36204
- referencedTokenId: null,
36205
- },
36206
- opacity: {
36207
- measure: 1,
36208
- unit: exports_1.Unit.raw,
36209
- referencedTokenId: null,
36210
- },
36211
- referencedTokenId: null,
36212
- },
36213
- opacity: {
36214
- measure: 1,
36215
- unit: exports_1.Unit.raw,
36216
- referencedTokenId: null,
36217
- },
36218
- radius: 0,
36219
- spread: 0,
36220
- type: exports_1.ShadowType.drop,
36221
- x: 0,
36222
- y: 4,
36223
- referencedTokenId: null,
36224
- };
36225
- update.value.push(layer);
36226
- return update;
36129
+ return TokenUtils_1.TokenUtils.shadowTokenByAddingLayer(token);
36227
36130
  }
36228
36131
  /** Creates a new shadow token by removing one of the layers */
36229
36132
  shadowTokenByRemovingLayer(token, layerIndex) {
36230
- this.validateLayerAccess(token, layerIndex);
36231
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36232
- update.value = update.value.splice(layerIndex, 1);
36233
- return update;
36133
+ return TokenUtils_1.TokenUtils.shadowTokenByRemovingLayer(token, layerIndex);
36234
36134
  }
36235
36135
  /** Creates a new shadow token with updated .color value. Do note, opacity is ignored */
36236
36136
  shadowTokenByUpdatingColor(token, layerIndex, newValue) {
36237
- this.validateLayerAccess(token, layerIndex);
36238
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36239
- const layer = update.value[layerIndex];
36240
- if (newValue instanceof SDKColorToken_1.ColorToken) {
36241
- layer.color = {
36242
- opacity: layer.color.opacity,
36243
- color: {
36244
- r: newValue.value.color.r,
36245
- g: newValue.value.color.g,
36246
- b: newValue.value.color.b,
36247
- referencedTokenId: newValue.value.color.referencedTokenId,
36248
- },
36249
- referencedTokenId: newValue.id,
36250
- };
36251
- }
36252
- else {
36253
- layer.color = {
36254
- opacity: layer.color.opacity,
36255
- color: {
36256
- r: newValue.r,
36257
- g: newValue.g,
36258
- b: newValue.b,
36259
- referencedTokenId: newValue.referencedTokenId,
36260
- },
36261
- referencedTokenId: null,
36262
- };
36263
- }
36264
- return update;
36137
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingColor(token, layerIndex, newValue);
36265
36138
  }
36266
36139
  /** Creates a new shadow token with updated .color value */
36267
36140
  shadowTokenByUpdatingOpacity(token, layerIndex, newValue) {
36268
- this.validateLayerAccess(token, layerIndex);
36269
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36270
- const layer = update.value[layerIndex];
36271
- if (newValue instanceof exports_1.OpacityToken) {
36272
- layer.opacity = {
36273
- measure: newValue.value.measure,
36274
- unit: newValue.value.unit,
36275
- referencedTokenId: newValue.id,
36276
- };
36277
- }
36278
- else {
36279
- layer.opacity = {
36280
- measure: newValue,
36281
- unit: exports_1.Unit.raw,
36282
- referencedTokenId: null,
36283
- };
36284
- }
36285
- return update;
36141
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingOpacity(token, layerIndex, newValue);
36286
36142
  }
36287
36143
  /** Creates a new shadow token with updated .x value */
36288
36144
  shadowTokenByUpdatingX(token, layerIndex, newValue) {
36289
- this.validateLayerAccess(token, layerIndex);
36290
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36291
- const layer = update.value[layerIndex];
36292
- layer.x = newValue;
36293
- return update;
36145
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingX(token, layerIndex, newValue);
36294
36146
  }
36295
36147
  /** Creates a new shadow token with updated .y value */
36296
36148
  shadowTokenByUpdatingY(token, layerIndex, newValue) {
36297
- this.validateLayerAccess(token, layerIndex);
36298
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36299
- const layer = update.value[layerIndex];
36300
- layer.y = newValue;
36301
- return update;
36149
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingY(token, layerIndex, newValue);
36302
36150
  }
36303
36151
  /** Creates a new shadow token with updated .radius value */
36304
36152
  shadowTokenByUpdatingRadius(token, layerIndex, newValue) {
36305
- this.validateLayerAccess(token, layerIndex);
36306
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36307
- const layer = update.value[layerIndex];
36308
- layer.radius = newValue;
36309
- return update;
36153
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingRadius(token, layerIndex, newValue);
36310
36154
  }
36311
36155
  /** Creates a new shadow token with updated .spread value */
36312
36156
  shadowTokenByUpdatingSpread(token, layerIndex, newValue) {
36313
- this.validateLayerAccess(token, layerIndex);
36314
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36315
- const layer = update.value[layerIndex];
36316
- layer.spread = newValue;
36317
- return update;
36157
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingSpread(token, layerIndex, newValue);
36318
36158
  }
36319
36159
  /** Creates a new shadow token with updated .type value */
36320
36160
  shadowTokenByUpdatingType(token, layerIndex, newValue) {
36321
- this.validateLayerAccess(token, layerIndex);
36322
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36323
- const layer = update.value[layerIndex];
36324
- layer.type = newValue;
36325
- return update;
36161
+ return TokenUtils_1.TokenUtils.shadowTokenByUpdatingType(token, layerIndex, newValue);
36326
36162
  }
36327
36163
  /** Creates a new gradient token with updated .to value */
36328
36164
  gradientTokenByUpdatingTo(token, layerIndex, newValue) {
36329
- this.validateLayerAccess(token, layerIndex);
36330
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36331
- const layer = update.value[layerIndex];
36332
- layer.to = newValue;
36333
- return update;
36165
+ return TokenUtils_1.TokenUtils.gradientTokenByUpdatingTo(token, layerIndex, newValue);
36334
36166
  }
36335
36167
  /** Creates a new gradient token with updated .from value */
36336
36168
  gradientTokenByUpdatingFrom(token, layerIndex, newValue) {
36337
- this.validateLayerAccess(token, layerIndex);
36338
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36339
- const layer = update.value[layerIndex];
36340
- layer.from = newValue;
36341
- return update;
36169
+ return TokenUtils_1.TokenUtils.gradientTokenByUpdatingFrom(token, layerIndex, newValue);
36342
36170
  }
36343
36171
  /** Creates a new gradient token with updated .to value */
36344
36172
  gradientTokenByUpdatingType(token, layerIndex, newValue) {
36345
- this.validateLayerAccess(token, layerIndex);
36346
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36347
- const layer = update.value[layerIndex];
36348
- layer.type = newValue;
36349
- return update;
36173
+ return TokenUtils_1.TokenUtils.gradientTokenByUpdatingType(token, layerIndex, newValue);
36350
36174
  }
36351
36175
  /** Creates a new gradient token with updated .aspectRatio value */
36352
36176
  gradientTokenByUpdatingAspectRatio(token, layerIndex, newValue) {
36353
- this.validateLayerAccess(token, layerIndex);
36354
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36355
- const layer = update.value[layerIndex];
36356
- layer.aspectRatio = newValue;
36357
- return update;
36177
+ return TokenUtils_1.TokenUtils.gradientTokenByUpdatingAspectRatio(token, layerIndex, newValue);
36358
36178
  }
36359
36179
  /** Creates a new gradient token with updated .to value */
36360
36180
  gradientTokenByUpdatingStops(token, layerIndex, newValue) {
36361
- this.validateLayerAccess(token, layerIndex);
36362
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36363
- const layer = update.value[layerIndex];
36364
- layer.stops = this.gradientStopsFromRawData(newValue);
36365
- return update;
36366
- }
36367
- /** Builds the gradient stop data from the elementary values */
36368
- gradientStopsFromRawData(value) {
36369
- const stops = new Array();
36370
- for (const v of value) {
36371
- if (v.color instanceof SDKColorToken_1.ColorToken) {
36372
- const stop = {
36373
- position: v.position,
36374
- color: {
36375
- opacity: v.color.value.opacity,
36376
- color: {
36377
- r: v.color.value.color.r,
36378
- g: v.color.value.color.g,
36379
- b: v.color.value.color.b,
36380
- referencedTokenId: v.color.value.color.referencedTokenId,
36381
- },
36382
- referencedTokenId: v.color.id,
36383
- },
36384
- };
36385
- stops.push(stop);
36386
- }
36387
- else {
36388
- const stop = {
36389
- position: v.position,
36390
- color: {
36391
- opacity: v.color.opacity,
36392
- color: {
36393
- r: v.color.color.r,
36394
- g: v.color.color.g,
36395
- b: v.color.color.b,
36396
- referencedTokenId: v.color.color.referencedTokenId,
36397
- },
36398
- referencedTokenId: null,
36399
- },
36400
- };
36401
- stops.push(stop);
36402
- }
36403
- }
36404
- return stops;
36181
+ return TokenUtils_1.TokenUtils.gradientTokenByUpdatingStops(token, layerIndex, newValue);
36405
36182
  }
36406
36183
  // --- --- --- --- --- --- --- --- --- ---
36407
36184
  // MARK: - Manipulating references
36408
36185
  /** Creates a new token where value is reference to the provided token. Token and reference must be of the same type */
36409
36186
  tokenByReferencing(token, reference) {
36410
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
36411
- if (token.id === reference.id) {
36412
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't create reference where token would reference itself");
36413
- }
36414
- if (token.tokenType !== reference.tokenType) {
36415
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't reference token of different type");
36416
- }
36417
- update.value = Object.assign(Object.assign({}, (0, lodash_1.cloneDeep)(reference.value)), { referencedTokenId: reference.id });
36418
- return update;
36187
+ return TokenUtils_1.TokenUtils.tokenByReferencing(token, reference);
36419
36188
  }
36420
36189
  /** Creates a new multilayer token where one of the layers is reference to the provided token. Token and reference must be of the same type */
36421
36190
  multilayerTokenByReferencing(token, layerIndex, reference) {
36422
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
36423
- if (token.id === reference.id) {
36424
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't create reference where token would reference itself");
36425
- }
36426
- if (token.tokenType !== reference.tokenType) {
36427
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't reference token of different type");
36428
- }
36429
- // TODO: Multilayer shadow & gradient copy of the references
36430
- return update;
36191
+ return TokenUtils_1.TokenUtils.multilayerTokenByReferencing(token, layerIndex, reference);
36431
36192
  }
36432
36193
  /** Creates a new token where value is raw, but taken from the previously referenced token. Token must have had reference before */
36433
36194
  tokenByDisconnectingReference(token) {
36434
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
36435
- if (!token.value.referencedTokenId) {
36436
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't create raw token from a token that isn't previously a reference");
36437
- }
36438
- update.value = Object.assign(Object.assign({}, (0, lodash_1.cloneDeep)(token.value)), { referencedTokenId: null });
36439
- return update;
36195
+ return TokenUtils_1.TokenUtils.tokenByDisconnectingReference(token);
36440
36196
  }
36441
36197
  /** Creates a new multilayer token where one of the layers value is raw, but taken from the previously referenced token. That layer must have had reference before */
36442
36198
  multilayerTokenByDisconnectingReference(token, layerIndex) {
36443
- const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
36444
- if (!token.value.referencedTokenId) {
36445
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Can't create raw token from a token that isn't previously a reference");
36446
- }
36447
- // TODO: Multilayer shadow & gradient disconnect of the references
36448
- return update;
36199
+ return TokenUtils_1.TokenUtils.multilayerTokenByDisconnectingReference(token, layerIndex);
36449
36200
  }
36450
36201
  /** Checks if token as a whole is a reference to another token */
36451
36202
  isReferencedToken(token) {
36452
- return (token.value.referencedTokenId !== null &&
36453
- token.value.referencedTokenId !== undefined);
36203
+ return TokenUtils_1.TokenUtils.isReferencedToken(token);
36454
36204
  }
36455
36205
  /** Checks if a token layer of multilayer token is a reference to another token */
36456
36206
  isReferencedMultilayerTokenLayer(token, layerIndex) {
36457
- this.validateLayerAccess(token, layerIndex);
36458
- const layer = token.value[layerIndex];
36459
- return (layer.referencedTokenId !== null && layer.referencedTokenId !== undefined);
36207
+ return TokenUtils_1.TokenUtils.isReferencedMultilayerTokenLayer(token, layerIndex);
36460
36208
  }
36461
36209
  /** Checks if a token was imported from some foreign source. Not imported tokens were always created in Supernova */
36462
36210
  isTokenImported(token) {
36463
- var _a, _b;
36464
- return (((_a = token.origin) === null || _a === void 0 ? void 0 : _a.sourceId) !== null && ((_b = token.origin) === null || _b === void 0 ? void 0 : _b.sourceId) !== undefined);
36465
- }
36466
- // --- --- --- --- --- --- --- --- --- ---
36467
- // MARK: - Conveniences
36468
- checkNotReference(token) {
36469
- if (token.value.referencedTokenId) {
36470
- throw SDKSupernovaError_1.SupernovaError.fromMessage("Performing value-replated operation on referenced token is not allowed");
36471
- }
36472
- }
36473
- rawOrReferencedDimensionValue(newValue) {
36474
- if (newValue instanceof SDKDimensionToken_1.DimensionCategoryToken) {
36475
- return {
36476
- measure: newValue.value.measure,
36477
- unit: newValue.value.unit,
36478
- referencedTokenId: newValue.id,
36479
- };
36480
- }
36481
- return {
36482
- measure: newValue.measure,
36483
- unit: newValue.unit,
36484
- referencedTokenId: null,
36485
- };
36486
- }
36487
- rawOrReferencedStringValue(newValue) {
36488
- if (newValue instanceof SDKStringToken_1.StringCategoryToken) {
36489
- return {
36490
- text: newValue.value.text,
36491
- referencedTokenId: newValue.id,
36492
- };
36493
- }
36494
- return {
36495
- text: newValue.text,
36496
- referencedTokenId: null,
36497
- };
36498
- }
36499
- validateLayerAccess(token, index) {
36500
- let layers;
36501
- if (token instanceof exports_1.ShadowToken) {
36502
- layers = token.shadowLayers;
36503
- }
36504
- else {
36505
- layers = token.gradientLayers;
36506
- }
36507
- if (index < 0 || index >= layers.length) {
36508
- throw SDKSupernovaError_1.SupernovaError.fromMessage(`Can't access layer at index ${index}, layer outside of allowed bounds`);
36509
- }
36211
+ return TokenUtils_1.TokenUtils.isTokenImported(token);
36510
36212
  }
36511
36213
  }
36512
36214
  exports.AreaTokenValues = AreaTokenValues;
@@ -37728,7 +37430,7 @@ class DataCore {
37728
37430
  }
37729
37431
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
37730
37432
  // MARK: - Elements: Tokens
37731
- /** Download all necesssary data for tokens and retrieve them resolved */
37433
+ /** Download all necessary data for tokens and retrieve them resolved */
37732
37434
  tokens(designSystemId, versionId, filter) {
37733
37435
  return __awaiter(this, void 0, void 0, function* () {
37734
37436
  // Batch requests together
@@ -37874,24 +37576,26 @@ class DataCore {
37874
37576
  /** Delete group from remote */
37875
37577
  deleteTokenGroup(designSystemId, versionId, tokenGroupToDelete, tokens, tokenGroups) {
37876
37578
  return __awaiter(this, void 0, void 0, function* () {
37877
- const itemsToDelete = this.itemsToDeleteFromGroup(tokenGroupToDelete, tokens, tokenGroups);
37878
- return this.writeTokenData(designSystemId, versionId, [], [], itemsToDelete.tokensToDelete, itemsToDelete.groupsToDelete);
37579
+ const toDelete = this.itemsToDeleteFromGroup(tokenGroupToDelete, tokens, tokenGroups);
37580
+ return this.writeTokenData(designSystemId, versionId, [], [], toDelete.itemsToDelete, toDelete.groupsToDelete);
37879
37581
  });
37880
37582
  }
37881
37583
  itemsToDeleteFromGroup(group, tokens, tokenGroups) {
37882
37584
  const groupsToDelete = [];
37883
- const tokensToDelete = tokens.filter((t) => group.childrenIds.includes(t.id));
37585
+ const tokensToDelete = tokens.filter((t) => {
37586
+ return group.childrenIds.includes(t.id);
37587
+ });
37884
37588
  groupsToDelete.push(...tokenGroups.filter((g) => group.childrenIds.includes(g.id)));
37885
37589
  // For each group, additionally, get all children
37886
37590
  for (const child of groupsToDelete) {
37887
37591
  const children = this.itemsToDeleteFromGroup(child, tokens, tokenGroups);
37888
- tokensToDelete.push(...children.tokensToDelete);
37592
+ tokensToDelete.push(...children.itemsToDelete);
37889
37593
  groupsToDelete.push(...children.groupsToDelete);
37890
37594
  }
37891
37595
  // Add top level group
37892
37596
  groupsToDelete.push(group);
37893
37597
  return {
37894
- tokensToDelete,
37598
+ itemsToDelete: tokensToDelete,
37895
37599
  groupsToDelete,
37896
37600
  };
37897
37601
  }
@@ -37958,9 +37662,9 @@ class DataCore {
37958
37662
  }
37959
37663
  /** Update column size */
37960
37664
  updateResizeTokenColumn(designSystemId, versionId, view, column, newWidth) {
37961
- var _a, _b;
37665
+ var _a, _b, _c;
37962
37666
  return __awaiter(this, void 0, void 0, function* () {
37963
- return this.write.updateResizeTokenColumn(designSystemId, versionId, view.id, column.type, column.id, (_a = column.themeId) !== null && _a !== void 0 ? _a : undefined, (_b = column.basePropertyType) !== null && _b !== void 0 ? _b : undefined, newWidth);
37667
+ return this.write.updateResizeTokenColumn(designSystemId, versionId, view.id, column.type, column.id, (_a = column.themeId) !== null && _a !== void 0 ? _a : undefined, (_b = column.basePropertyType) !== null && _b !== void 0 ? _b : undefined, (_c = column.propertyDefinitionId) !== null && _c !== void 0 ? _c : undefined, newWidth);
37964
37668
  });
37965
37669
  }
37966
37670
  /** Delete theme from remote */
@@ -38024,6 +37728,137 @@ class DataCore {
38024
37728
  return resolver.resolveGroupData(designComponentGroupData);
38025
37729
  });
38026
37730
  }
37731
+ /** Write new component to remote */
37732
+ createComponent(designSystemId, versionId, component, parentId) {
37733
+ return __awaiter(this, void 0, void 0, function* () {
37734
+ const componentWriteObject = component.toWriteObject();
37735
+ componentWriteObject.groupPersistentId = parentId;
37736
+ const remoteComponent = yield this.write.createRemoteComponent(designSystemId, versionId, componentWriteObject);
37737
+ return {
37738
+ id: remoteComponent.persistentId,
37739
+ idInVersion: remoteComponent.id,
37740
+ };
37741
+ });
37742
+ }
37743
+ /** Update existing component in remote */
37744
+ updateComponent(designSystemId, versionId, component) {
37745
+ return __awaiter(this, void 0, void 0, function* () {
37746
+ const componentWriteObject = component.toWriteObject();
37747
+ yield this.write.updateRemoteComponent(designSystemId, versionId, componentWriteObject);
37748
+ });
37749
+ }
37750
+ /** Write new component group to remote */
37751
+ createComponentGroup(designSystemId, versionId, group, parentId) {
37752
+ return __awaiter(this, void 0, void 0, function* () {
37753
+ const groupWriteObject = group.toWriteObject();
37754
+ groupWriteObject.parentId = parentId;
37755
+ const remoteGroup = yield this.write.createRemoteComponentGroup(designSystemId, versionId, groupWriteObject);
37756
+ return {
37757
+ id: remoteGroup.persistentId,
37758
+ idInVersion: remoteGroup.id,
37759
+ };
37760
+ });
37761
+ }
37762
+ /** Update existing component group in remote */
37763
+ updateComponentGroup(designSystemId, versionId, group) {
37764
+ return __awaiter(this, void 0, void 0, function* () {
37765
+ const componentGroupWriteObject = group.toWriteObject();
37766
+ yield this.write.updateRemoteComponentGroup(designSystemId, versionId, componentGroupWriteObject);
37767
+ });
37768
+ }
37769
+ /** Update component property at remote */
37770
+ updateComponentPropertyValue(designSystemId, versionId, newValue, component, property) {
37771
+ return __awaiter(this, void 0, void 0, function* () {
37772
+ return this.write.updateComponentPropertyValue(designSystemId, versionId, newValue, component.id, property.id);
37773
+ });
37774
+ }
37775
+ /** Delete component property in remote */
37776
+ deleteComponentPropertyValue(designSystemId, versionId, valueId) {
37777
+ return __awaiter(this, void 0, void 0, function* () {
37778
+ return this.write.deleteComponentPropertyValue(designSystemId, versionId, valueId);
37779
+ });
37780
+ }
37781
+ /** Create a custom property in remote */
37782
+ createComponentProperty(designSystemId, versionId, model) {
37783
+ return __awaiter(this, void 0, void 0, function* () {
37784
+ const payload = {
37785
+ meta: {
37786
+ name: model.name,
37787
+ description: model.description,
37788
+ },
37789
+ type: model.type,
37790
+ targetElementType: SDKElementProperty_1.ElementPropertyTargetElementType.component,
37791
+ codeName: model.codeName,
37792
+ columnWidth: model.columnWidth,
37793
+ linkElementType: model.linkElementType,
37794
+ options: model.options,
37795
+ persistentId: (0, uuid_1.v4)(),
37796
+ };
37797
+ const remoteProperty = yield this.write.createComponentProperty(designSystemId, versionId, payload);
37798
+ return {
37799
+ id: remoteProperty.persistentId,
37800
+ idInVersion: remoteProperty.id,
37801
+ };
37802
+ });
37803
+ }
37804
+ /** Create a custom property in remote */
37805
+ updateComponentProperty(designSystemId, versionId, propertyIdInVersion, model) {
37806
+ return __awaiter(this, void 0, void 0, function* () {
37807
+ const payload = {
37808
+ meta: {
37809
+ name: model.name,
37810
+ description: model.description,
37811
+ },
37812
+ codeName: model.codeName,
37813
+ options: model.options,
37814
+ };
37815
+ return this.write.updateComponentProperty(designSystemId, versionId, propertyIdInVersion, payload);
37816
+ });
37817
+ }
37818
+ /** Delete a custom property in remote */
37819
+ deleteComponentProperty(designSystemId, versionId, propertyId) {
37820
+ return __awaiter(this, void 0, void 0, function* () {
37821
+ return this.write.deleteComponentProperty(designSystemId, versionId, propertyId);
37822
+ });
37823
+ }
37824
+ /** Move column to a new index and reorder all other columns around it */
37825
+ updateReorderComponentColumn(designSystemId, versionId, view, column, newIndex) {
37826
+ return __awaiter(this, void 0, void 0, function* () {
37827
+ return this.write.updateReorderComponentColumn(designSystemId, versionId, view.id, column.id, newIndex);
37828
+ });
37829
+ }
37830
+ /** Update column size */
37831
+ updateResizeComponentColumn(designSystemId, versionId, view, column, newWidth) {
37832
+ var _a, _b, _c;
37833
+ return __awaiter(this, void 0, void 0, function* () {
37834
+ return this.write.updateResizeComponentColumn(designSystemId, versionId, view.id, column.type, column.id, (_a = column.themeId) !== null && _a !== void 0 ? _a : undefined, (_b = column.basePropertyType) !== null && _b !== void 0 ? _b : undefined, (_c = column.propertyDefinitionId) !== null && _c !== void 0 ? _c : undefined, newWidth);
37835
+ });
37836
+ }
37837
+ /** Delete component from remote */
37838
+ deleteComponent(designSystemId, versionId, componentId) {
37839
+ return __awaiter(this, void 0, void 0, function* () {
37840
+ return this.write.deleteRemoteComponent(designSystemId, versionId, componentId);
37841
+ });
37842
+ }
37843
+ /** Delete group from remote */
37844
+ ungroupComponentGroup(designSystemId, versionId, groupId) {
37845
+ return __awaiter(this, void 0, void 0, function* () {
37846
+ return this.write.ungroupRemoteComponentGroup(designSystemId, versionId, groupId);
37847
+ });
37848
+ }
37849
+ /** Delete group from remote */
37850
+ deleteComponentGroup(designSystemId, versionId, componentGroupToDelete, components, componentGroups) {
37851
+ return __awaiter(this, void 0, void 0, function* () {
37852
+ const toDelete = this.itemsToDeleteFromGroup(componentGroupToDelete, components, componentGroups);
37853
+ return this.writeComponentData(designSystemId, versionId, [], [], toDelete.itemsToDelete, toDelete.groupsToDelete);
37854
+ });
37855
+ }
37856
+ /** Write the component to remote */
37857
+ writeComponentData(designSystemId, versionId, components, groups, deleteComponents, deleteGroups) {
37858
+ return __awaiter(this, void 0, void 0, function* () {
37859
+ return this.write.writeComponentData(designSystemId, versionId, components.map((t) => t.toWriteObject()), groups.map((g) => g.toWriteObject()), deleteComponents, deleteGroups);
37860
+ });
37861
+ }
38027
37862
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
38028
37863
  // MARK: - Elements: Assets
38029
37864
  /** Download all necessary data for assets and retrieve them resolved */
@@ -38354,7 +38189,7 @@ class DataCore {
38354
38189
  // MARK: - Transactions
38355
38190
  bulkUpdateTokenData(designSystemId, versionId, data) {
38356
38191
  return __awaiter(this, void 0, void 0, function* () {
38357
- const primaryPromises = new Array();
38192
+ let primaryPromise = Promise.resolve();
38358
38193
  if (data.tokenMode === "create") {
38359
38194
  // Create token if it didn't exist. We don't have to update the top level group, because BE will do that for us
38360
38195
  const ids = yield this.createToken(designSystemId, versionId, data.token, data.tokenParent.id);
@@ -38363,10 +38198,10 @@ class DataCore {
38363
38198
  }
38364
38199
  else if (data.tokenMode === "update") {
38365
38200
  // Update token because it did exist. In this case, also update group where it belongs
38366
- primaryPromises.push(this.updateToken(designSystemId, versionId, data.token));
38367
- primaryPromises.push(this.updateTokenGroup(designSystemId, versionId, data.tokenParent));
38368
- // Run primary promises before everything else
38369
- yield Promise.all(primaryPromises);
38201
+ // but make sure that `this.updateToken` runs first and `this.updateTokenGroup` after it
38202
+ primaryPromise = primaryPromise
38203
+ .then(() => this.updateToken(designSystemId, versionId, data.token))
38204
+ .then(() => this.updateTokenGroup(designSystemId, versionId, data.tokenParent));
38370
38205
  }
38371
38206
  // Add all secondary updates
38372
38207
  const secondaryPromises = new Array();
@@ -38385,7 +38220,9 @@ class DataCore {
38385
38220
  secondaryPromises.push(this.updateTokenTheme(designSystemId, versionId, t));
38386
38221
  });
38387
38222
  }
38388
- return Promise.all(secondaryPromises);
38223
+ // NOTE: have the primary promise run first and secondary promises run after that
38224
+ yield primaryPromise;
38225
+ yield Promise.all(secondaryPromises);
38389
38226
  });
38390
38227
  }
38391
38228
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
@@ -39266,78 +39103,190 @@ class DataCoreWriteRequests {
39266
39103
  yield this.bridge.put(endpoint, payload);
39267
39104
  });
39268
39105
  }
39269
- updateResizeTokenColumn(designSystemId, versionId, viewId, columnType, columnId, columnThemeId, columnBasePropertyType, newWidth) {
39106
+ updateResizeTokenColumn(designSystemId, versionId, viewId, columnType, columnId, columnThemeId, columnBasePropertyType, columnPropertyDefinitionId, newWidth) {
39270
39107
  return __awaiter(this, void 0, void 0, function* () {
39271
39108
  const payload = {
39272
39109
  type: columnType,
39273
39110
  width: newWidth,
39274
39111
  themeId: columnThemeId,
39275
39112
  basePropertyType: columnBasePropertyType,
39113
+ propertyDefinitionId: columnPropertyDefinitionId,
39276
39114
  };
39277
- console.log(`updateResizeTokenColumn`, payload);
39278
39115
  const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-data-views/${viewId}/columns/${columnId}`);
39279
39116
  yield this.bridge.put(endpoint, payload);
39280
39117
  });
39281
39118
  }
39282
39119
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
39283
- // MARK: - TS Data
39284
- writeTokenStudioJSONData(designSystemId, versionId, data) {
39120
+ // MARK: - Components
39121
+ createRemoteComponent(designSystemId, versionId, component) {
39285
39122
  return __awaiter(this, void 0, void 0, function* () {
39286
- const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "bff/token-studio");
39287
- yield this.bridge.post(endpoint, data);
39288
- return true;
39123
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "components");
39124
+ const payload = yield this.bridge.post(endpoint, component);
39125
+ return payload.result.component;
39289
39126
  });
39290
39127
  }
39291
- }
39292
- exports.DataCoreWriteRequests = DataCoreWriteRequests;
39293
-
39294
-
39295
- /***/ }),
39296
-
39297
- /***/ "./src/core/errors/SDKSupernovaError.ts":
39298
- /*!**********************************************!*\
39299
- !*** ./src/core/errors/SDKSupernovaError.ts ***!
39300
- \**********************************************/
39301
- /***/ ((__unused_webpack_module, exports) => {
39302
-
39303
- "use strict";
39304
-
39305
- //
39306
- // SDKSupernovaError.ts
39307
- // Supernova SDK
39308
- //
39309
- // Created by Jiri Trecak.
39310
- //
39311
- Object.defineProperty(exports, "__esModule", ({ value: true }));
39312
- exports.SupernovaError = void 0;
39313
- const SupernovaNoNetworkResponse = "NO_NETWORK";
39314
- // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
39315
- // MARK: - Function Definition
39316
- /** Supernova-enhanced error. Contains both machine and user readable information about error */
39317
- class SupernovaError extends Error {
39318
- constructor(message, code, status, formErrors, requestId, serverTime, url) {
39319
- super(message);
39320
- this.code = code;
39321
- this.status = status;
39322
- this.formErrors = formErrors;
39323
- this.requestId = requestId;
39324
- this.serverTime = serverTime;
39325
- this.url = url;
39326
- }
39327
- /** Creates Supernova error from received but failed network response */
39328
- static fromNetworkResponse(response, url) {
39329
- var _a, _b, _c;
39330
- return new SupernovaError(response.message, response.reason, response.code, (_a = response.formErrors) !== null && _a !== void 0 ? _a : null, (_b = response.requestId) !== null && _b !== void 0 ? _b : null, (_c = response.serverTime) !== null && _c !== void 0 ? _c : null, url);
39128
+ updateRemoteComponent(designSystemId, versionId, component) {
39129
+ return __awaiter(this, void 0, void 0, function* () {
39130
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `components/${component.id}`);
39131
+ return this.bridge.put(endpoint, component);
39132
+ });
39331
39133
  }
39332
- /** Creates Supernova error with generic network failure message */
39333
- static fromNoNetworkResponse(url) {
39334
- return new SupernovaError("No network or internet unreachable", SupernovaNoNetworkResponse, 12163, // Internet connection lost
39335
- null, new Date().toISOString(), null, url);
39134
+ createRemoteComponentGroup(designSystemId, versionId, group) {
39135
+ return __awaiter(this, void 0, void 0, function* () {
39136
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "component-groups");
39137
+ const payload = yield this.bridge.post(endpoint, group);
39138
+ return payload.result.group;
39139
+ });
39336
39140
  }
39337
- /** Creates Supernova error from local validation failure code */
39338
- static fromCode(code) {
39339
- // Error was thrown in the processing layer - tooling etc.
39340
- return new SupernovaError(code, code, null, null, null, null, null);
39141
+ updateRemoteComponentGroup(designSystemId, versionId, group) {
39142
+ return __awaiter(this, void 0, void 0, function* () {
39143
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `component-groups/${group.id}`);
39144
+ return this.bridge.put(endpoint, group);
39145
+ });
39146
+ }
39147
+ deleteRemoteComponent(designSystemId, versionId, componentId) {
39148
+ return __awaiter(this, void 0, void 0, function* () {
39149
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `components/${componentId}`);
39150
+ return this.bridge.delete(endpoint);
39151
+ });
39152
+ }
39153
+ ungroupRemoteComponentGroup(designSystemId, versionId, componentGroupId) {
39154
+ return __awaiter(this, void 0, void 0, function* () {
39155
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `component-groups/${componentGroupId}`);
39156
+ return this.bridge.delete(endpoint);
39157
+ });
39158
+ }
39159
+ writeComponentData(designSystemId, versionId, components, groups, deleteComponents, deleteComponentGroups) {
39160
+ return __awaiter(this, void 0, void 0, function* () {
39161
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "bff/import");
39162
+ const payload = {
39163
+ components,
39164
+ componentGroups: groups,
39165
+ bulkDelete: {
39166
+ componentIds: deleteComponents.map((t) => t.idInVersion),
39167
+ componentGroupIds: deleteComponentGroups.map((t) => t.idInVersion),
39168
+ },
39169
+ };
39170
+ return this.bridge.post(endpoint, payload);
39171
+ });
39172
+ }
39173
+ updateComponentPropertyValue(designSystemId, versionId, newValue, componentId, propertyId) {
39174
+ return __awaiter(this, void 0, void 0, function* () {
39175
+ const payload = {
39176
+ value: newValue,
39177
+ definitionId: propertyId,
39178
+ targetElementId: componentId,
39179
+ };
39180
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-properties/values`);
39181
+ yield this.bridge.post(endpoint, payload);
39182
+ });
39183
+ }
39184
+ deleteComponentPropertyValue(designSystemId, versionId, valueId) {
39185
+ return __awaiter(this, void 0, void 0, function* () {
39186
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-properties/values/${valueId}`);
39187
+ yield this.bridge.delete(endpoint);
39188
+ });
39189
+ }
39190
+ createComponentProperty(designSystemId, versionId, model) {
39191
+ return __awaiter(this, void 0, void 0, function* () {
39192
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "element-properties/definitions");
39193
+ const payload = yield this.bridge.post(endpoint, model);
39194
+ return payload.result.definition;
39195
+ });
39196
+ }
39197
+ updateComponentProperty(designSystemId, versionId, propertyIdInVersion, model) {
39198
+ return __awaiter(this, void 0, void 0, function* () {
39199
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-properties/definitions/${propertyIdInVersion}`);
39200
+ return this.bridge.put(endpoint, model);
39201
+ });
39202
+ }
39203
+ deleteComponentProperty(designSystemId, versionId, propertyId) {
39204
+ return __awaiter(this, void 0, void 0, function* () {
39205
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-properties/definitions/${propertyId}`);
39206
+ yield this.bridge.delete(endpoint);
39207
+ });
39208
+ }
39209
+ updateReorderComponentColumn(designSystemId, versionId, viewId, columnId, newIndex) {
39210
+ return __awaiter(this, void 0, void 0, function* () {
39211
+ const payload = {
39212
+ newIndex,
39213
+ };
39214
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-data-views/${viewId}/columns/${columnId}/reorder`);
39215
+ yield this.bridge.put(endpoint, payload);
39216
+ });
39217
+ }
39218
+ updateResizeComponentColumn(designSystemId, versionId, viewId, columnType, columnId, columnThemeId, columnBasePropertyType, columnPropertyDefinitionId, newWidth) {
39219
+ return __awaiter(this, void 0, void 0, function* () {
39220
+ const payload = {
39221
+ type: columnType,
39222
+ width: newWidth,
39223
+ themeId: columnThemeId,
39224
+ basePropertyType: columnBasePropertyType,
39225
+ propertyDefinitionId: columnPropertyDefinitionId,
39226
+ };
39227
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, `element-data-views/${viewId}/columns/${columnId}`);
39228
+ yield this.bridge.put(endpoint, payload);
39229
+ });
39230
+ }
39231
+ // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
39232
+ // MARK: - TS Data
39233
+ writeTokenStudioJSONData(designSystemId, versionId, data) {
39234
+ return __awaiter(this, void 0, void 0, function* () {
39235
+ const endpoint = this.bridge.getVersionEndpoint(designSystemId, versionId, "bff/token-studio");
39236
+ yield this.bridge.post(endpoint, data);
39237
+ return true;
39238
+ });
39239
+ }
39240
+ }
39241
+ exports.DataCoreWriteRequests = DataCoreWriteRequests;
39242
+
39243
+
39244
+ /***/ }),
39245
+
39246
+ /***/ "./src/core/errors/SDKSupernovaError.ts":
39247
+ /*!**********************************************!*\
39248
+ !*** ./src/core/errors/SDKSupernovaError.ts ***!
39249
+ \**********************************************/
39250
+ /***/ ((__unused_webpack_module, exports) => {
39251
+
39252
+ "use strict";
39253
+
39254
+ //
39255
+ // SDKSupernovaError.ts
39256
+ // Supernova SDK
39257
+ //
39258
+ // Created by Jiri Trecak.
39259
+ //
39260
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
39261
+ exports.SupernovaError = void 0;
39262
+ const SupernovaNoNetworkResponse = "NO_NETWORK";
39263
+ // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
39264
+ // MARK: - Function Definition
39265
+ /** Supernova-enhanced error. Contains both machine and user readable information about error */
39266
+ class SupernovaError extends Error {
39267
+ constructor(message, code, status, formErrors, requestId, serverTime, url) {
39268
+ super(message);
39269
+ this.code = code;
39270
+ this.status = status;
39271
+ this.formErrors = formErrors;
39272
+ this.requestId = requestId;
39273
+ this.serverTime = serverTime;
39274
+ this.url = url;
39275
+ }
39276
+ /** Creates Supernova error from received but failed network response */
39277
+ static fromNetworkResponse(response, url) {
39278
+ var _a, _b, _c;
39279
+ return new SupernovaError(response.message, response.reason, response.code, (_a = response.formErrors) !== null && _a !== void 0 ? _a : null, (_b = response.requestId) !== null && _b !== void 0 ? _b : null, (_c = response.serverTime) !== null && _c !== void 0 ? _c : null, url);
39280
+ }
39281
+ /** Creates Supernova error with generic network failure message */
39282
+ static fromNoNetworkResponse(url) {
39283
+ return new SupernovaError("No network or internet unreachable", SupernovaNoNetworkResponse, 12163, // Internet connection lost
39284
+ null, new Date().toISOString(), null, url);
39285
+ }
39286
+ /** Creates Supernova error from local validation failure code */
39287
+ static fromCode(code) {
39288
+ // Error was thrown in the processing layer - tooling etc.
39289
+ return new SupernovaError(code, code, null, null, null, null, null);
39341
39290
  }
39342
39291
  /** Creates Supernova error from generic error message */
39343
39292
  static fromMessage(message) {
@@ -40245,7 +40194,34 @@ class TokenResolver {
40245
40194
  }
40246
40195
  }
40247
40196
  /*
40248
- * Step 3: Create mixin tokens that can potentially reference pure resolved tokens
40197
+ * Step 3: Create color tokens that can potentially reference pure resolved tokens
40198
+ */
40199
+ for (const rawToken of data) {
40200
+ // Skip creation of all tokens that can have reference
40201
+ if (rawToken.data.aliasTo) {
40202
+ continue;
40203
+ }
40204
+ // Construct colors
40205
+ if (rawToken.type === SDKTokenType_1.TokenType.color) {
40206
+ const token = this.constructValueToken(rawToken, sortedElementProperties, elementValues);
40207
+ this.resolvedTokens.set(token.id, token);
40208
+ }
40209
+ }
40210
+ /*
40211
+ * Step 4: Create all remaining color tokens
40212
+ */
40213
+ for (const rawToken of data) {
40214
+ // Skip creation of all tokens that are not references
40215
+ if (!rawToken.data.aliasTo) {
40216
+ continue;
40217
+ }
40218
+ if (rawToken.type === SDKTokenType_1.TokenType.color) {
40219
+ const token = this.constructReferencedToken(rawToken, sortedElementProperties, elementValues);
40220
+ this.resolvedTokens.set(token.id, token);
40221
+ }
40222
+ }
40223
+ /*
40224
+ * Step 5: Create mixin tokens that can potentially reference pure resolved tokens
40249
40225
  */
40250
40226
  for (const rawToken of data) {
40251
40227
  // Skip creation of all tokens that can have reference
@@ -40253,13 +40229,13 @@ class TokenResolver {
40253
40229
  continue;
40254
40230
  }
40255
40231
  // Construct raw typography, gradient, shadow and border colors
40256
- if (!(0, SDKTokenType_1.tokenTypeIsPure)(rawToken.type)) {
40232
+ if (!(0, SDKTokenType_1.tokenTypeIsPure)(rawToken.type) && rawToken.type !== SDKTokenType_1.TokenType.color) {
40257
40233
  const token = this.constructValueToken(rawToken, sortedElementProperties, elementValues);
40258
40234
  this.resolvedTokens.set(token.id, token);
40259
40235
  }
40260
40236
  }
40261
40237
  /*
40262
- * Step 4: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40238
+ * Step 6: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40263
40239
  */
40264
40240
  for (const rawToken of data) {
40265
40241
  // Skip creation of all tokens that are not references
@@ -40273,7 +40249,7 @@ class TokenResolver {
40273
40249
  }
40274
40250
  }
40275
40251
  /*
40276
- * Step 5: Assign parents to the tree
40252
+ * Step 7: Assign parents to the tree
40277
40253
  */
40278
40254
  for (const tokenGroup of tokenGroups) {
40279
40255
  for (const childId of tokenGroup.childrenIds) {
@@ -40392,10 +40368,6 @@ class TokenResolver {
40392
40368
  }
40393
40369
  constructPureValueForReplica(type, replica, override) {
40394
40370
  switch (type) {
40395
- case SDKTokenType_1.TokenType.color:
40396
- ;
40397
- replica.value = this.constructColorValue(override.data.value);
40398
- break;
40399
40371
  case SDKTokenType_1.TokenType.dimension:
40400
40372
  case SDKTokenType_1.TokenType.size:
40401
40373
  case SDKTokenType_1.TokenType.space:
@@ -40464,7 +40436,7 @@ class TokenResolver {
40464
40436
  if (override.data.aliasTo) {
40465
40437
  continue;
40466
40438
  }
40467
- // Construct raw colors, fonts, texts, radii and dimensions first
40439
+ // Construct raw fonts, texts, radii and dimensions first
40468
40440
  if ((0, SDKTokenType_1.tokenTypeIsPure)(override.type)) {
40469
40441
  if (!override.data.value) {
40470
40442
  throw new Error(`Override must always have alias or value, but ${override.tokenPersistentId} provided neither (1: raw)`);
@@ -40495,7 +40467,38 @@ class TokenResolver {
40495
40467
  }
40496
40468
  }
40497
40469
  /*
40498
- * Step 4: Create pure tokens that are references. End of this step will provide us with all possible tokens resolved for mixins later
40470
+ * Step 4: Create values for theme overrides that are color tokens
40471
+ */
40472
+ for (const override of overrideData) {
40473
+ // Skip creation of all tokens that can have reference in this step
40474
+ if (override.data.aliasTo) {
40475
+ continue;
40476
+ }
40477
+ if (override.type === SDKTokenType_1.TokenType.color) {
40478
+ const token = this.constructThemedValueToken(override, themeId);
40479
+ this.resolvedOverrides.set(token.id, token);
40480
+ }
40481
+ }
40482
+ /*
40483
+ * Step 5: Create color tokens that are references. End of this step will provide us with all possible tokens resolved for mixins later
40484
+ */
40485
+ for (const override of overrideData) {
40486
+ // Skip creation of all tokens that are not references
40487
+ if (!override.data.aliasTo) {
40488
+ continue;
40489
+ }
40490
+ if (override.type === SDKTokenType_1.TokenType.color &&
40491
+ !this.resolvedOverrides.get(override.tokenPersistentId)) {
40492
+ const resolvedOverride = this.resolvedOverrides.get(override.tokenPersistentId);
40493
+ if (!resolvedOverride) {
40494
+ // Only construct reference if it wasn't constructed already
40495
+ const replica = this.constructReferencedThemedToken(override, themeId);
40496
+ this.resolvedOverrides.set(replica.id, replica);
40497
+ }
40498
+ }
40499
+ }
40500
+ /*
40501
+ * Step 6: Create pure tokens that are references.
40499
40502
  */
40500
40503
  for (const override of overrideData) {
40501
40504
  // Skip creation of all tokens that can have reference in this step
@@ -40503,13 +40506,13 @@ class TokenResolver {
40503
40506
  continue;
40504
40507
  }
40505
40508
  // Construct raw typography, gradient, shadow and border colors
40506
- if (!(0, SDKTokenType_1.tokenTypeIsPure)(override.type)) {
40509
+ if (!(0, SDKTokenType_1.tokenTypeIsPure)(override.type) && override.type !== SDKTokenType_1.TokenType.color) {
40507
40510
  const token = this.constructThemedValueToken(override, themeId);
40508
40511
  this.resolvedOverrides.set(token.id, token);
40509
40512
  }
40510
40513
  }
40511
40514
  /*
40512
- * Step 5:Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40515
+ * Step 7: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40513
40516
  */
40514
40517
  for (const override of overrideData) {
40515
40518
  // Skip creation of all tokens that are not references
@@ -40523,7 +40526,7 @@ class TokenResolver {
40523
40526
  }
40524
40527
  }
40525
40528
  /*
40526
- * Step 5: Assign parents to the tree
40529
+ * Step 8: Assign parents to the tree
40527
40530
  */
40528
40531
  for (const tokenGroup of tokenGroups) {
40529
40532
  for (const childId of tokenGroup.childrenIds) {
@@ -40535,7 +40538,7 @@ class TokenResolver {
40535
40538
  }
40536
40539
  }
40537
40540
  /*
40538
- * Step 6: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40541
+ * Step 9: Create all remaining tokens, as all pure tokens that can be references and all value tokens with possible mixins were all resolved.
40539
40542
  */
40540
40543
  const theme = new SDKTokenTheme_1.TokenTheme(data, this.versionId);
40541
40544
  const themeOverrides = Array.from(this.resolvedOverrides.values());
@@ -40862,7 +40865,7 @@ class TokenResolver {
40862
40865
  r,
40863
40866
  g,
40864
40867
  b,
40865
- referencedTokenId: null
40868
+ referencedTokenId: null,
40866
40869
  },
40867
40870
  opacity,
40868
40871
  referencedTokenId: null,
@@ -40878,7 +40881,7 @@ class TokenResolver {
40878
40881
  b: color.color.b,
40879
40882
  // TEST: Proper resolution of color.
40880
40883
  // Maybe should set referencedTokenId above? Or here as one inside color.color.
40881
- referencedTokenId: color.referencedTokenId
40884
+ referencedTokenId: color.referencedTokenId,
40882
40885
  },
40883
40886
  opacity,
40884
40887
  referencedTokenId: null,
@@ -41293,16 +41296,22 @@ exports.TokenResolver = TokenResolver;
41293
41296
  "use strict";
41294
41297
 
41295
41298
  Object.defineProperty(exports, "__esModule", ({ value: true }));
41296
- exports.DocumentationPageBlockEmbedFigma = exports.DocumentationPageBlockDivider = exports.DocumentationPageBlockCustom = exports.DocumentationPageBlockCode = exports.DocumentationPageBlockCallout = exports.DocumentationPageBlockAssets = exports.DocumentationPageBlockAsset = exports.Documentation = exports.DesignComponent = exports.ElementDataViewColumnType = exports.ElementDataViewColumnBasePropertyType = exports.ElementDataViewColumn = exports.ElementDataView = exports.ElementPropertyOption = exports.ElementPropertyType = exports.ElementPropertyTargetElementType = exports.ElementPropertyLinkElementType = exports.ElementProperty = exports.Component = exports.RenderedAsset = exports.Asset = exports.ExporterConfigurationPropertyType = exports.ExporterConfigurationPropertyInputType = exports.ExporterConfigurationProperty = exports.ExporterCustomBlockVariant = exports.ExporterCustomBlockPropertyInputType = exports.ExporterCustomBlockPropertyType = exports.ExporterCustomBlockProperty = exports.ExporterCustomBlockMode = exports.ExporterCustomBlock = exports.Exporter = exports.Membership = exports.DesignSystemVersion = exports.DesignSystem = exports.Brand = exports.SubscriptionProductFeatures = exports.Acl = exports.UserProfile = exports.User = exports.WorkspaceNPMRegistrySettings = exports.WorkspaceSSOSettings = exports.WorkspaceIPWhitelistSettings = exports.WorkspaceSubscription = exports.WorkspaceOnboarding = exports.WorkspaceProfile = exports.Workspace = exports.Supernova = exports.DIMENSION_TOKEN_TYPES = exports.TokenUtilPreviewSegmentGenerator = exports.ElementPropertyValue = void 0;
41297
- exports.DocumentationGroupBehavior = exports.DocumentationCalloutType = exports.BorderStyle = exports.BorderPosition = exports.BlurType = exports.AssetScaleType = exports.AssetScale = exports.AssetFormat = exports.Alignment = exports.TokenGroup = exports.DesignComponentGroup = exports.AssetGroup = exports.RichTextSpanAttribute = exports.RichTextSpan = exports.DocumentationRichText = exports.DocumentationPageAsset = exports.DocumentationPageBlock = exports.DocumentationPage = exports.DocumentationItem = exports.DocumentationGroup = exports.DocumentationConfiguration = exports.DocumentationItemConfiguration = exports.DocumentationItemHeader = exports.DocumentationPageBlockTableColumn = exports.DocumentationPageBlockTableRow = exports.DocumentationPageBlockTableCell = exports.DocumentationPageBlockTable = exports.DocumentationPageBlockTabItem = exports.DocumentationPageBlockTab = exports.DocumentationPageBlockColumnItem = exports.DocumentationPageBlockColumn = exports.DocumentationPageUnorderedList = exports.DocumentationPageBlockTokenList = exports.DocumentationPageBlockTokenGroup = exports.DocumentationPageBlockToken = exports.DocumentationPageBlockText = exports.DocumentationPageBlockShortcuts = exports.DocumentationPageBlockShortcutType = exports.DocumentationPageBlockShortcut = exports.DocumentationPageBlockRenderCode = exports.DocumentationPageBlockQuote = exports.DocumentationPageOrderedList = exports.DocumentationPageBlockImage = exports.DocumentationPageBlockHeading = exports.DocumentationPageBlockFrames = exports.DocumentationPageBlockFrame = exports.DocumentationPageBlockEmbedYoutube = exports.DocumentationPageBlockEmbedStorybook = exports.DocumentationPageBlockEmbedLink = exports.DocumentationPageBlockEmbedGeneric = void 0;
41298
- exports.TextDecorationToken = exports.TextCaseToken = exports.FontWeightToken = exports.FontFamilyToken = exports.ProductCopyToken = exports.StringToken = exports.TypographyToken = exports.ShadowToken = exports.ZIndexToken = exports.DurationToken = exports.RadiusToken = exports.BorderWidthToken = exports.ParagraphSpacingToken = exports.LetterSpacingToken = exports.LineHeightToken = exports.FontSizeToken = exports.OpacityToken = exports.SpaceToken = exports.SizeToken = exports.DimensionToken = exports.GradientToken = exports.ColorToken = exports.BorderToken = exports.BlurToken = exports.TokenOrigin = exports.Size = exports.Source = exports.DesignComponentOrigin = exports.WorkspaceNPMRegistryType = exports.WorkspaceNPMRegistryAuthType = exports.WorkspaceSubscriptionStatusInternal = exports.WorkspaceSubscriptionStatus = exports.WorkspaceSubscriptionProduct = exports.WorkspaceSubscriptionPlanInterval = exports.VisibilityType = exports.UserRole = exports.Unit = exports.TokenType = exports.TextDecoration = exports.TextCase = exports.ShadowType = exports.RichTextSpanAttributeType = exports.GradientType = exports.FrameLayout = exports.FrameAlignment = exports.DocumentationPageBlockThemeType = exports.DocumentationPageBlockType = exports.DocumentationPageAssetType = exports.DocumentationItemType = exports.DocumentationHeadingType = void 0;
41299
- exports.SupernovaError = exports.UnreachableCaseError = exports.TokenTransform = exports.MarkdownTransformType = exports.MarkdownTransform = exports.DocSearchResultDataType = exports.DocSearch = exports.SupernovaToolsDesignTokensPlugin = exports.DTPluginToSupernovaMapType = exports.JSONBuilderNamingOption = exports.TokenJSONBuilder = exports.TokenUtilPreviewGenerator = exports.TokenThemeOverride = exports.TokenTheme = exports.Token = exports.VisibilityToken = void 0;
41299
+ exports.DocumentationPageBlockCallout = exports.DocumentationPageBlockAssets = exports.DocumentationPageBlockAsset = exports.Documentation = exports.DesignComponent = exports.ElementDataViewColumnType = exports.ElementDataViewColumnBasePropertyType = exports.ElementDataViewColumn = exports.ElementDataView = exports.ElementPropertyOption = exports.ElementPropertyType = exports.ElementPropertyTargetElementType = exports.ElementPropertyLinkElementType = exports.ElementProperty = exports.Component = exports.RenderedAsset = exports.Asset = exports.ExporterConfigurationPropertyType = exports.ExporterConfigurationPropertyInputType = exports.ExporterConfigurationProperty = exports.ExporterCustomBlockVariant = exports.ExporterCustomBlockPropertyInputType = exports.ExporterCustomBlockPropertyType = exports.ExporterCustomBlockProperty = exports.ExporterCustomBlockMode = exports.ExporterCustomBlock = exports.Exporter = exports.Membership = exports.DesignSystemVersion = exports.DesignSystem = exports.Brand = exports.SubscriptionProductFeatures = exports.Acl = exports.UserProfile = exports.User = exports.WorkspaceNPMRegistrySettings = exports.WorkspaceSSOSettings = exports.WorkspaceIPWhitelistSettings = exports.WorkspaceSubscription = exports.WorkspaceOnboarding = exports.WorkspaceProfile = exports.Workspace = exports.Supernova = exports.OPTION_TOKEN_TYPES = exports.STRING_TOKEN_TYPES = exports.DIMENSION_TOKEN_TYPES = exports.TokenUtils = exports.TokenUtilPreviewSegmentGenerator = exports.ElementPropertyValue = exports.ThemeUtilities = void 0;
41300
+ exports.BlurType = exports.AssetScaleType = exports.AssetScale = exports.AssetFormat = exports.Alignment = exports.TokenGroup = exports.DesignComponentGroup = exports.AssetGroup = exports.RichTextSpanAttribute = exports.RichTextSpan = exports.DocumentationRichText = exports.DocumentationPageAsset = exports.DocumentationPageBlock = exports.DocumentationPage = exports.DocumentationItem = exports.DocumentationGroup = exports.DocumentationConfiguration = exports.DocumentationItemConfiguration = exports.DocumentationItemHeader = exports.DocumentationPageBlockTableColumn = exports.DocumentationPageBlockTableRow = exports.DocumentationPageBlockTableCell = exports.DocumentationPageBlockTable = exports.DocumentationPageBlockTabItem = exports.DocumentationPageBlockTab = exports.DocumentationPageBlockColumnItem = exports.DocumentationPageBlockColumn = exports.DocumentationPageUnorderedList = exports.DocumentationPageBlockTokenList = exports.DocumentationPageBlockTokenGroup = exports.DocumentationPageBlockToken = exports.DocumentationPageBlockText = exports.DocumentationPageBlockShortcuts = exports.DocumentationPageBlockShortcutType = exports.DocumentationPageBlockShortcut = exports.DocumentationPageBlockRenderCode = exports.DocumentationPageBlockQuote = exports.DocumentationPageOrderedList = exports.DocumentationPageBlockImage = exports.DocumentationPageBlockHeading = exports.DocumentationPageBlockFrames = exports.DocumentationPageBlockFrame = exports.DocumentationPageBlockEmbedYoutube = exports.DocumentationPageBlockEmbedStorybook = exports.DocumentationPageBlockEmbedLink = exports.DocumentationPageBlockEmbedGeneric = exports.DocumentationPageBlockEmbedFigma = exports.DocumentationPageBlockDivider = exports.DocumentationPageBlockCustom = exports.DocumentationPageBlockCode = void 0;
41301
+ exports.ProductCopyToken = exports.StringToken = exports.TypographyToken = exports.ShadowToken = exports.ZIndexToken = exports.DurationToken = exports.RadiusToken = exports.BorderWidthToken = exports.ParagraphSpacingToken = exports.LetterSpacingToken = exports.LineHeightToken = exports.FontSizeToken = exports.OpacityToken = exports.SpaceToken = exports.SizeToken = exports.DimensionToken = exports.GradientToken = exports.ColorToken = exports.BorderToken = exports.BlurToken = exports.TokenOrigin = exports.Size = exports.Source = exports.DesignComponentOrigin = exports.WorkspaceNPMRegistryType = exports.WorkspaceNPMRegistryAuthType = exports.WorkspaceSubscriptionStatusInternal = exports.WorkspaceSubscriptionStatus = exports.WorkspaceSubscriptionProduct = exports.WorkspaceSubscriptionPlanInterval = exports.VisibilityType = exports.UserRole = exports.Unit = exports.TokenType = exports.TextDecoration = exports.TextCase = exports.ShadowType = exports.RichTextSpanAttributeType = exports.GradientType = exports.FrameLayout = exports.FrameAlignment = exports.DocumentationPageBlockThemeType = exports.DocumentationPageBlockType = exports.DocumentationPageAssetType = exports.DocumentationItemType = exports.DocumentationHeadingType = exports.DocumentationGroupBehavior = exports.DocumentationCalloutType = exports.BorderStyle = exports.BorderPosition = void 0;
41302
+ exports.SupernovaError = exports.UnreachableCaseError = exports.TokenTransform = exports.MarkdownTransformType = exports.MarkdownTransform = exports.DocSearchResultDataType = exports.DocSearch = exports.SupernovaToolsDesignTokensPlugin = exports.DTPluginToSupernovaMapType = exports.JSONBuilderNamingOption = exports.TokenJSONBuilder = exports.TokenUtilPreviewGenerator = exports.TokenThemeOverride = exports.TokenTheme = exports.Token = exports.VisibilityToken = exports.TextDecorationToken = exports.TextCaseToken = exports.FontWeightToken = exports.FontFamilyToken = void 0;
41303
+ var SDKThemeUtilities_1 = __webpack_require__(/*! ./model/themes/SDKThemeUtilities */ "./src/model/themes/SDKThemeUtilities.ts");
41304
+ Object.defineProperty(exports, "ThemeUtilities", ({ enumerable: true, get: function () { return SDKThemeUtilities_1.ThemeUtilities; } }));
41300
41305
  var SDKElementPropertyValue_1 = __webpack_require__(/*! ./model/elements/values/SDKElementPropertyValue */ "./src/model/elements/values/SDKElementPropertyValue.ts");
41301
41306
  Object.defineProperty(exports, "ElementPropertyValue", ({ enumerable: true, get: function () { return SDKElementPropertyValue_1.ElementPropertyValue; } }));
41302
41307
  var TokenUtilPreviewSegmentGenerator_1 = __webpack_require__(/*! ./tools/token-preview/TokenUtilPreviewSegmentGenerator */ "./src/tools/token-preview/TokenUtilPreviewSegmentGenerator.ts");
41303
41308
  Object.defineProperty(exports, "TokenUtilPreviewSegmentGenerator", ({ enumerable: true, get: function () { return TokenUtilPreviewSegmentGenerator_1.TokenUtilPreviewSegmentGenerator; } }));
41309
+ var TokenUtils_1 = __webpack_require__(/*! ./utils/TokenUtils */ "./src/utils/TokenUtils.ts");
41310
+ Object.defineProperty(exports, "TokenUtils", ({ enumerable: true, get: function () { return TokenUtils_1.TokenUtils; } }));
41304
41311
  var SDKTokenType_1 = __webpack_require__(/*! ./model/enums/SDKTokenType */ "./src/model/enums/SDKTokenType.ts");
41305
41312
  Object.defineProperty(exports, "DIMENSION_TOKEN_TYPES", ({ enumerable: true, get: function () { return SDKTokenType_1.DIMENSION_TOKEN_TYPES; } }));
41313
+ Object.defineProperty(exports, "STRING_TOKEN_TYPES", ({ enumerable: true, get: function () { return SDKTokenType_1.STRING_TOKEN_TYPES; } }));
41314
+ Object.defineProperty(exports, "OPTION_TOKEN_TYPES", ({ enumerable: true, get: function () { return SDKTokenType_1.OPTION_TOKEN_TYPES; } }));
41306
41315
  // Export main Supernova object
41307
41316
  var SDKSupernova_1 = __webpack_require__(/*! ./core/SDKSupernova */ "./src/core/SDKSupernova.ts");
41308
41317
  Object.defineProperty(exports, "Supernova", ({ enumerable: true, get: function () { return SDKSupernova_1.Supernova; } }));
@@ -42091,8 +42100,8 @@ class Component {
42091
42100
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
42092
42101
  // MARK: - Constructor
42093
42102
  constructor(model, properties, propertyValues) {
42094
- this.id = model.id;
42095
- this.persistentId = model.persistentId;
42103
+ this.idInVersion = model.id;
42104
+ this.id = model.persistentId;
42096
42105
  this.designSystemVersionId = model.designSystemVersionId;
42097
42106
  this.brandId = model.brandId;
42098
42107
  this.name = model.meta.name;
@@ -42100,7 +42109,7 @@ class Component {
42100
42109
  this.properties = properties;
42101
42110
  this.propertyValues = {};
42102
42111
  for (const value of propertyValues) {
42103
- if (value.targetElementId === this.persistentId) {
42112
+ if (value.targetElementId === this.id) {
42104
42113
  // Property value refers to this element
42105
42114
  for (const property of properties) {
42106
42115
  if (property.id === value.definitionId) {
@@ -42113,6 +42122,19 @@ class Component {
42113
42122
  this.createdAt = model.createdAt ? new Date(model.createdAt) : null;
42114
42123
  this.updatedAt = model.updatedAt ? new Date(model.updatedAt) : null;
42115
42124
  }
42125
+ toWriteObject() {
42126
+ var _a;
42127
+ return {
42128
+ id: this.idInVersion,
42129
+ brandId: this.brandId,
42130
+ designSystemVersionId: this.designSystemVersionId,
42131
+ persistentId: this.id,
42132
+ meta: {
42133
+ name: this.name,
42134
+ description: (_a = this.description) !== null && _a !== void 0 ? _a : "",
42135
+ },
42136
+ };
42137
+ }
42116
42138
  }
42117
42139
  exports.Component = Component;
42118
42140
 
@@ -44199,7 +44221,7 @@ exports.ElementProperty = ElementProperty;
44199
44221
  /*!********************************************************!*\
44200
44222
  !*** ./src/model/elements/SDKElementPropertyOption.ts ***!
44201
44223
  \********************************************************/
44202
- /***/ ((__unused_webpack_module, exports) => {
44224
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
44203
44225
 
44204
44226
  "use strict";
44205
44227
 
@@ -44211,6 +44233,8 @@ exports.ElementProperty = ElementProperty;
44211
44233
  //
44212
44234
  Object.defineProperty(exports, "__esModule", ({ value: true }));
44213
44235
  exports.ElementPropertyOption = void 0;
44236
+ const SDKColorToken_1 = __webpack_require__(/*! ../tokens/SDKColorToken */ "./src/model/tokens/SDKColorToken.ts");
44237
+ const color2k_1 = __webpack_require__(/*! color2k */ "../../node_modules/color2k/dist/index.exports.require.cjs.js");
44214
44238
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
44215
44239
  // MARK: - Object Definition
44216
44240
  class ElementPropertyOption {
@@ -44224,14 +44248,96 @@ class ElementPropertyOption {
44224
44248
  }
44225
44249
  /** Constructs directly manipulable update object for user profile */
44226
44250
  toUpdateObject() {
44251
+ var _a;
44227
44252
  return {
44228
44253
  id: this.id,
44229
44254
  name: this.name,
44230
44255
  backgroundColor: {
44231
- value: this.backgroundColor,
44256
+ value: (_a = SDKColorToken_1.ColorToken.colorStringToNormalizedServerValue(this.backgroundColor, true)) !== null && _a !== void 0 ? _a : SDKColorToken_1.ColorToken.normalizedDefaultServerValue(),
44232
44257
  },
44233
44258
  };
44234
44259
  }
44260
+ /** Returns background color represented as badge color. If badge color is different than what badge defines as base, return custom. Note: Only temporary implementation until BE supports it properly */
44261
+ asBadgeColor() {
44262
+ // Normalize current hex coming from BE and ignore alpha which is not supported by the badge
44263
+ if (!this.backgroundColor) {
44264
+ return "custom";
44265
+ }
44266
+ const rgba = (0, color2k_1.parseToRgba)(this.backgroundColor);
44267
+ const color = (0, color2k_1.toHex)(`rgba(${rgba[0]}, ${rgba[1]}, ${rgba[2]}, 1)`).toUpperCase();
44268
+ // Return badge color based on the hex or custom if not found
44269
+ switch (color) {
44270
+ case "#EDF5FF":
44271
+ return "blue";
44272
+ case "#D5FBFE":
44273
+ return "cyan";
44274
+ case "#FCF0FF":
44275
+ return "fuchsia";
44276
+ case "#EBFEF6":
44277
+ return "green";
44278
+ case "#EDEFF3":
44279
+ return "grey";
44280
+ case "#F6F7F9":
44281
+ return "light-grey";
44282
+ case "#FFF2E1":
44283
+ return "orange";
44284
+ case "#FDF0F7":
44285
+ return "pink";
44286
+ case "#F5F2FD":
44287
+ return "purple";
44288
+ case "#FEF1F2":
44289
+ return "red";
44290
+ case "#DFFDF6":
44291
+ return "teal";
44292
+ case "#FEF9C3":
44293
+ return "yellow";
44294
+ default:
44295
+ return "custom";
44296
+ }
44297
+ }
44298
+ /** Sets background color based on badge identifier color. Note: Only temporary implementation until BE supports it properly */
44299
+ setFromBadgeColor(color) {
44300
+ switch (color) {
44301
+ case "blue":
44302
+ this.backgroundColor = "#edf5ffff";
44303
+ break;
44304
+ case "cyan":
44305
+ this.backgroundColor = "#d5fbfeff";
44306
+ break;
44307
+ case "fuchsia":
44308
+ this.backgroundColor = "#fcf0ffff";
44309
+ break;
44310
+ case "green":
44311
+ this.backgroundColor = "#ebfef6ff";
44312
+ break;
44313
+ case "grey":
44314
+ this.backgroundColor = "#edeff3ff";
44315
+ break;
44316
+ case "light-grey":
44317
+ this.backgroundColor = "#f6f7f9ff";
44318
+ break;
44319
+ case "orange":
44320
+ this.backgroundColor = "#fff2e1ff";
44321
+ break;
44322
+ case "pink":
44323
+ this.backgroundColor = "#fdf0f7ff";
44324
+ break;
44325
+ case "purple":
44326
+ this.backgroundColor = "#f5f2fdff";
44327
+ break;
44328
+ case "red":
44329
+ this.backgroundColor = "#fef1f2ff";
44330
+ break;
44331
+ case "teal":
44332
+ this.backgroundColor = "#dffdf6ff";
44333
+ break;
44334
+ case "yellow":
44335
+ this.backgroundColor = "#fef9c3ff";
44336
+ break;
44337
+ default:
44338
+ throw new Error("Cannot set custom color using this method. Set background color directly");
44339
+ }
44340
+ }
44235
44341
  }
44236
44342
  exports.ElementPropertyOption = ElementPropertyOption;
44237
44343
 
@@ -45003,7 +45109,6 @@ exports.ALL_TOKEN_TYPES = [
45003
45109
  TokenType.blur,
45004
45110
  ];
45005
45111
  exports.PURE_TOKEN_TYPES = [
45006
- TokenType.color,
45007
45112
  ...exports.DIMENSION_TOKEN_TYPES,
45008
45113
  ...exports.STRING_TOKEN_TYPES,
45009
45114
  ...exports.OPTION_TOKEN_TYPES,
@@ -47065,7 +47170,7 @@ class BorderToken extends SDKToken_1.Token {
47065
47170
  return specificData;
47066
47171
  }
47067
47172
  static valueToWriteObject(value) {
47068
- var _a, _b, _c;
47173
+ var _a, _b, _c, _d;
47069
47174
  const valueObject = !value.referencedTokenId
47070
47175
  ? {
47071
47176
  color: {
@@ -47075,15 +47180,18 @@ class BorderToken extends SDKToken_1.Token {
47075
47180
  : {
47076
47181
  color: SDKColorToken_1.ColorToken.colorValueToHex8(value.color),
47077
47182
  opacity: {
47078
- value: {
47079
- measure: value.color.opacity.measure,
47080
- unit: value.color.opacity.unit,
47081
- },
47183
+ aliasTo: (_b = value.color.opacity.referencedTokenId) !== null && _b !== void 0 ? _b : undefined,
47184
+ value: value.color.opacity.referencedTokenId
47185
+ ? null
47186
+ : {
47187
+ measure: value.color.opacity.measure,
47188
+ unit: value.color.opacity.unit,
47189
+ },
47082
47190
  },
47083
47191
  },
47084
47192
  },
47085
47193
  width: {
47086
- aliasTo: (_b = value.width.referencedTokenId) !== null && _b !== void 0 ? _b : undefined,
47194
+ aliasTo: (_c = value.width.referencedTokenId) !== null && _c !== void 0 ? _c : undefined,
47087
47195
  value: value.width.referencedTokenId
47088
47196
  ? null
47089
47197
  : {
@@ -47096,7 +47204,7 @@ class BorderToken extends SDKToken_1.Token {
47096
47204
  }
47097
47205
  : undefined;
47098
47206
  return {
47099
- aliasTo: (_c = value.referencedTokenId) !== null && _c !== void 0 ? _c : undefined,
47207
+ aliasTo: (_d = value.referencedTokenId) !== null && _d !== void 0 ? _d : undefined,
47100
47208
  value: valueObject,
47101
47209
  };
47102
47210
  }
@@ -47189,7 +47297,7 @@ class ColorToken extends SDKToken_1.Token {
47189
47297
  static colorValueFromDefinition(definition) {
47190
47298
  const normalizedDefinition = this.normalizeColor(definition);
47191
47299
  const result = (0, parse_color_1.default)(normalizedDefinition);
47192
- if (!result) {
47300
+ if (!result || !result.rgba) {
47193
47301
  console.log(`Unable to parse provided color value '${definition}'. Hex, RGB, HSL, HSV or CMYK are supported. Fix the error to import the color value properly.`);
47194
47302
  // Handle gracefully
47195
47303
  return {
@@ -47365,6 +47473,19 @@ class ColorToken extends SDKToken_1.Token {
47365
47473
  .join("")
47366
47474
  .toLowerCase()}`;
47367
47475
  }
47476
+ /** Normalizes any color value to server readable value, and ignores alpha value optionally */
47477
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
47478
+ static colorStringToNormalizedServerValue(value, ignoreAlpha = false) {
47479
+ if (!value) {
47480
+ return null;
47481
+ }
47482
+ const rgba = (0, color2k_1.parseToRgba)(value);
47483
+ const color = (0, color2k_1.toHex)(`rgba(${rgba[0]}, ${rgba[1]}, ${rgba[2]}, ${ignoreAlpha ? "1" : rgba[3]})`).toLowerCase();
47484
+ return color.length === 7 ? `${color}ff` : color;
47485
+ }
47486
+ static normalizedDefaultServerValue() {
47487
+ return "#000000ff";
47488
+ }
47368
47489
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
47369
47490
  // MARK: - Updates
47370
47491
  updateWithRawValue(value) {
@@ -47391,7 +47512,7 @@ class ColorToken extends SDKToken_1.Token {
47391
47512
  return specificData;
47392
47513
  }
47393
47514
  static valueToWriteObject(value) {
47394
- var _a;
47515
+ var _a, _b;
47395
47516
  return {
47396
47517
  aliasTo: (_a = value.referencedTokenId) !== null && _a !== void 0 ? _a : undefined,
47397
47518
  value: value.referencedTokenId
@@ -47401,10 +47522,13 @@ class ColorToken extends SDKToken_1.Token {
47401
47522
  ? { aliasTo: value.color.referencedTokenId }
47402
47523
  : ColorToken.colorValueToHex8(value),
47403
47524
  opacity: {
47404
- value: {
47405
- unit: SDKUnit_1.Unit.raw,
47406
- measure: value.opacity.measure,
47407
- },
47525
+ aliasTo: (_b = value.opacity.referencedTokenId) !== null && _b !== void 0 ? _b : undefined,
47526
+ value: value.opacity.referencedTokenId
47527
+ ? null
47528
+ : {
47529
+ measure: value.opacity.measure,
47530
+ unit: value.opacity.unit,
47531
+ },
47408
47532
  },
47409
47533
  },
47410
47534
  };
@@ -47505,6 +47629,7 @@ class DimensionCategoryToken extends SDKToken_1.Token {
47505
47629
  case SDKTokenType_1.TokenType.fontSize:
47506
47630
  case SDKTokenType_1.TokenType.letterSpacing:
47507
47631
  case SDKTokenType_1.TokenType.paragraphSpacing:
47632
+ case SDKTokenType_1.TokenType.radius:
47508
47633
  return SDKUnit_1.SIZE_UNITS.includes(unit) ? unit : SDKUnit_1.Unit.pixels;
47509
47634
  case SDKTokenType_1.TokenType.lineHeight:
47510
47635
  return SDKUnit_1.LINE_HEIGHT_UNITS.includes(unit) ? unit : SDKUnit_1.Unit.raw;
@@ -47512,7 +47637,6 @@ class DimensionCategoryToken extends SDKToken_1.Token {
47512
47637
  // TODO: Consider transforming percent measure if it is referenced
47513
47638
  return SDKUnit_1.Unit.raw;
47514
47639
  case SDKTokenType_1.TokenType.borderWidth:
47515
- case SDKTokenType_1.TokenType.radius:
47516
47640
  return SDKUnit_1.Unit.pixels;
47517
47641
  case SDKTokenType_1.TokenType.duration:
47518
47642
  return SDKUnit_1.Unit.ms;
@@ -47533,7 +47657,9 @@ class DimensionCategoryToken extends SDKToken_1.Token {
47533
47657
  if (SDKTokenType_1.MS_DIMENSION_TOKEN_TYPES.includes(type)) {
47534
47658
  return SDKUnit_1.Unit.ms;
47535
47659
  }
47536
- if (type === SDKTokenType_1.TokenType.lineHeight && parsedDefinition !== undefined && parsedDefinition <= 10) {
47660
+ if (type === SDKTokenType_1.TokenType.lineHeight &&
47661
+ parsedDefinition !== undefined &&
47662
+ parsedDefinition <= 10) {
47537
47663
  return SDKUnit_1.Unit.raw;
47538
47664
  }
47539
47665
  if (type === SDKTokenType_1.TokenType.dimension && parsedDefinition !== undefined) {
@@ -47606,20 +47732,30 @@ class DimensionCategoryToken extends SDKToken_1.Token {
47606
47732
  }
47607
47733
  unit = SDKUnit_1.Unit.raw;
47608
47734
  }
47609
- else if ([SDKTokenType_1.TokenType.borderWidth, SDKTokenType_1.TokenType.radius].includes(type)) {
47735
+ else if ([SDKTokenType_1.TokenType.borderWidth].includes(type)) {
47610
47736
  unit = SDKUnit_1.Unit.pixels;
47611
47737
  }
47612
47738
  else if (type === SDKTokenType_1.TokenType.duration) {
47613
47739
  unit = SDKUnit_1.Unit.ms;
47614
47740
  }
47615
- else if ([SDKTokenType_1.TokenType.size, SDKTokenType_1.TokenType.space, SDKTokenType_1.TokenType.fontSize, SDKTokenType_1.TokenType.paragraphSpacing, SDKTokenType_1.TokenType.letterSpacing].includes(type) && !SDKUnit_1.SIZE_UNITS.includes(unit)) {
47741
+ else if ([
47742
+ SDKTokenType_1.TokenType.size,
47743
+ SDKTokenType_1.TokenType.space,
47744
+ SDKTokenType_1.TokenType.fontSize,
47745
+ SDKTokenType_1.TokenType.paragraphSpacing,
47746
+ SDKTokenType_1.TokenType.letterSpacing,
47747
+ SDKTokenType_1.TokenType.radius,
47748
+ ].includes(type) &&
47749
+ !SDKUnit_1.SIZE_UNITS.includes(unit)) {
47616
47750
  unit = SDKUnit_1.Unit.pixels;
47617
47751
  }
47618
- else if (type == SDKTokenType_1.TokenType.dimension && isUnitless) {
47752
+ else if (type === SDKTokenType_1.TokenType.dimension && isUnitless) {
47619
47753
  // Fallback to raw, for types that support raw and come unitless
47620
47754
  unit = SDKUnit_1.Unit.raw;
47621
47755
  }
47622
- else if (type === SDKTokenType_1.TokenType.lineHeight && (!SDKUnit_1.LINE_HEIGHT_UNITS.includes(unit) || (isUnitless && parsedMeasure <= 10))) {
47756
+ else if (type === SDKTokenType_1.TokenType.lineHeight &&
47757
+ (!SDKUnit_1.LINE_HEIGHT_UNITS.includes(unit) ||
47758
+ (isUnitless && parsedMeasure <= 10))) {
47623
47759
  // If the value of line height is larger than 10, import as pixels
47624
47760
  // Some reasoning: usually, the raw is used for relative values like 1.4, 1.8, 2.5, etc. where pixels are used when define for absolute values like 12px, 16px, 36px etc
47625
47761
  unit = SDKUnit_1.Unit.raw;
@@ -47681,11 +47817,27 @@ class DimensionCategoryToken extends SDKToken_1.Token {
47681
47817
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
47682
47818
  return DimensionToken.valueToString(this.value);
47683
47819
  }
47684
- static valueToString(value) {
47685
- const unit = value.unit;
47686
- const measure = value.measure;
47687
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
47688
- return `${measure}${DimensionToken.unitToString(unit)}`;
47820
+ static valueToString(value, options = {
47821
+ maxNumberOfDecimals: 2,
47822
+ clipTrailingZeroes: true,
47823
+ }) {
47824
+ const measureString = this.numberToString(value.measure, options);
47825
+ return `${measureString}${this.unitToString(value.unit)}`;
47826
+ }
47827
+ static numberToString(value, options = {
47828
+ maxNumberOfDecimals: 2,
47829
+ clipTrailingZeroes: true,
47830
+ }) {
47831
+ let measureString = value.toString();
47832
+ if ((options === null || options === void 0 ? void 0 : options.maxNumberOfDecimals) !== undefined) {
47833
+ const factor = Math.pow(10, options.maxNumberOfDecimals);
47834
+ const adjustedMeasure = Math.round(value * factor) / factor;
47835
+ measureString = adjustedMeasure.toFixed(options.maxNumberOfDecimals);
47836
+ }
47837
+ if (options === null || options === void 0 ? void 0 : options.clipTrailingZeroes) {
47838
+ measureString = parseFloat(measureString).toString();
47839
+ }
47840
+ return `${measureString}`;
47689
47841
  }
47690
47842
  static unitToString(unit) {
47691
47843
  switch (unit) {
@@ -51949,6 +52101,7 @@ class DTTokenMerger {
51949
52101
  const existingAsProcessedNodes = this.convertBaseTokensToProcessedNode(existing, groups);
51950
52102
  const existingMap = this.buildNodeMap(existingAsProcessedNodes);
51951
52103
  const extractedMap = this.buildNodeMap(extracted);
52104
+ const idInVersionToIgnore = [];
51952
52105
  // Existing: font-sizing/font-size/fontsizes/body
51953
52106
  // Extracted: measure/font-size/fontsizes/body
51954
52107
  // Maybe, instead we should run a migration to rename origin.ids?
@@ -51966,6 +52119,7 @@ class DTTokenMerger {
51966
52119
  node.token.id = oldToken.token.id;
51967
52120
  node.token.idInVersion = oldToken.token.idInVersion;
51968
52121
  toUpdate.push(node);
52122
+ idInVersionToIgnore.push(oldToken.token.idInVersion);
51969
52123
  }
51970
52124
  else {
51971
52125
  const newId = (0, uuid_1.v4)();
@@ -51981,8 +52135,12 @@ class DTTokenMerger {
51981
52135
  TokenUtils_1.TokenUtils.replaceIdForComplexTokens(node.token, oldId, newId);
51982
52136
  }
51983
52137
  }
52138
+ const extractedMapWithoutMatchedTokens = this.buildNodeMap([...extractedMap.values()].filter(t => !idInVersionToIgnore.includes(t.token.idInVersion)));
51984
52139
  for (const node of existingAsProcessedNodes) {
51985
- const isInExtractedMap = !!TokenUtils_1.TokenUtils.getTokenByKeyOrBackwardKey(node, extractedMap);
52140
+ if (idInVersionToIgnore.includes(node.token.idInVersion)) {
52141
+ continue;
52142
+ }
52143
+ const isInExtractedMap = !!TokenUtils_1.TokenUtils.getTokenByKeyOrBackwardKey(node, extractedMapWithoutMatchedTokens);
51986
52144
  if (!isInExtractedMap) {
51987
52145
  toDelete.push(node);
51988
52146
  // Any tokens and theme overrides that were imported from Figma are unlinked (turned into SN tokens)
@@ -54892,7 +55050,7 @@ class TokenUtilPreviewMetadataGenerator {
54892
55050
  }
54893
55051
  case SDKTokenType_1.TokenType.blur: {
54894
55052
  const t = token;
54895
- return SDKDimensionToken_1.DimensionToken.valueToString(t.value.radius);
55053
+ return SDKDimensionToken_1.DimensionToken.valueToString(t.value.radius, {});
54896
55054
  }
54897
55055
  case SDKTokenType_1.TokenType.shadow: {
54898
55056
  const t = token;
@@ -54909,16 +55067,16 @@ class TokenUtilPreviewMetadataGenerator {
54909
55067
  if (layer) {
54910
55068
  switch (layer.type) {
54911
55069
  case SDKGradientType_1.GradientType.linear:
54912
- return "linear gradient";
55070
+ return "linear";
54913
55071
  case SDKGradientType_1.GradientType.angular:
54914
- return "angular gradient";
55072
+ return "angular";
54915
55073
  case SDKGradientType_1.GradientType.radial:
54916
- return "radial gradient";
55074
+ return "radial";
54917
55075
  default:
54918
55076
  throw new Error(`Unknown gradient type`);
54919
55077
  }
54920
55078
  }
54921
- return "linear gradient";
55079
+ return "linear";
54922
55080
  }
54923
55081
  case SDKTokenType_1.TokenType.fontFamily: {
54924
55082
  const t = token;
@@ -55472,7 +55630,7 @@ class TokenUtilPreviewReferenceInfoGenerator {
55472
55630
  key: [this.label("Font weight")],
55473
55631
  value: [
55474
55632
  {
55475
- value: t.value.fontFamily.text,
55633
+ value: t.value.fontWeight.text,
55476
55634
  prefersReferenceName: false,
55477
55635
  referencedName: (_6 = (_5 = TokenUtils_1.TokenUtils.lookupReference((_4 = (_3 = t.value) === null || _3 === void 0 ? void 0 : _3.fontSize) === null || _4 === void 0 ? void 0 : _4.referencedTokenId, allTokens)) === null || _5 === void 0 ? void 0 : _5.name) !== null && _6 !== void 0 ? _6 : undefined,
55478
55636
  },
@@ -55576,7 +55734,7 @@ class TokenUtilPreviewReferenceInfoGenerator {
55576
55734
  var _a, _b, _c, _d;
55577
55735
  switch (token.tokenType) {
55578
55736
  case SDKTokenType_1.TokenType.shadow: {
55579
- const layer = token.value.values[layerIndex];
55737
+ const layer = token.value[layerIndex];
55580
55738
  let shadowType = "";
55581
55739
  switch (layer.type) {
55582
55740
  case exports_1.ShadowType.drop:
@@ -55655,7 +55813,7 @@ class TokenUtilPreviewReferenceInfoGenerator {
55655
55813
  };
55656
55814
  }
55657
55815
  case SDKTokenType_1.TokenType.gradient: {
55658
- const layer = token.value.values[layerIndex];
55816
+ const layer = token.value[layerIndex];
55659
55817
  const transform = new exports_1.TokenTransform();
55660
55818
  const cssString = transform.gradientTokenToCSS(layer);
55661
55819
  return {
@@ -55735,6 +55893,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
55735
55893
  exports.TokenUtilPreviewSegmentGenerator = void 0;
55736
55894
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
55737
55895
  // MARK: - Imports
55896
+ const exports_1 = __webpack_require__(/*! ../../exports */ "./src/exports.ts");
55738
55897
  const SDKBorderStyle_1 = __webpack_require__(/*! ../../model/enums/SDKBorderStyle */ "./src/model/enums/SDKBorderStyle.ts");
55739
55898
  const SDKTextCase_1 = __webpack_require__(/*! ../../model/enums/SDKTextCase */ "./src/model/enums/SDKTextCase.ts");
55740
55899
  const SDKTextDecoration_1 = __webpack_require__(/*! ../../model/enums/SDKTextDecoration */ "./src/model/enums/SDKTextDecoration.ts");
@@ -55743,29 +55902,33 @@ const SDKVisibilityType_1 = __webpack_require__(/*! ../../model/enums/SDKVisibil
55743
55902
  const SDKColorToken_1 = __webpack_require__(/*! ../../model/tokens/SDKColorToken */ "./src/model/tokens/SDKColorToken.ts");
55744
55903
  const SDKDimensionToken_1 = __webpack_require__(/*! ../../model/tokens/SDKDimensionToken */ "./src/model/tokens/SDKDimensionToken.ts");
55745
55904
  const TokenUtils_1 = __webpack_require__(/*! ../../utils/TokenUtils */ "./src/utils/TokenUtils.ts");
55746
- const SDKToolsTokenTransform_1 = __webpack_require__(/*! ../token-transform/SDKToolsTokenTransform */ "./src/tools/token-transform/SDKToolsTokenTransform.ts");
55747
55905
  // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
55748
55906
  // MARK: - Utility
55749
55907
  class TokenUtilPreviewSegmentGenerator {
55750
55908
  static resolvedSegmentsForToken(token, allTokens) {
55751
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42;
55909
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44;
55752
55910
  switch (token.tokenType) {
55753
55911
  case SDKTokenType_1.TokenType.color: {
55754
55912
  const t = token;
55755
55913
  const reference = TokenUtils_1.TokenUtils.lookupReference((_a = t.value) === null || _a === void 0 ? void 0 : _a.referencedTokenId, allTokens);
55756
- return [
55914
+ let segments = [
55757
55915
  {
55758
55916
  value: SDKColorToken_1.ColorToken.colorValueToHex6(t.value).toUpperCase(),
55759
55917
  prefersReferenceName: true,
55760
55918
  referencedName: (_b = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _b !== void 0 ? _b : undefined,
55761
55919
  },
55762
- "separator",
55763
- {
55764
- value: `${Math.round(t.value.opacity.measure * 100)}%`,
55765
- prefersReferenceName: false,
55766
- referencedName: (_c = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _c !== void 0 ? _c : undefined,
55767
- },
55768
55920
  ];
55921
+ if (t.value.opacity.measure !== 1) {
55922
+ segments = segments.concat([
55923
+ "separator",
55924
+ {
55925
+ value: `${Math.round(t.value.opacity.measure * 100)}%`,
55926
+ prefersReferenceName: false,
55927
+ referencedName: (_c = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _c !== void 0 ? _c : undefined,
55928
+ },
55929
+ ]);
55930
+ }
55931
+ return segments;
55769
55932
  }
55770
55933
  case SDKTokenType_1.TokenType.blur: {
55771
55934
  const t = token;
@@ -55780,24 +55943,73 @@ class TokenUtilPreviewSegmentGenerator {
55780
55943
  }
55781
55944
  case SDKTokenType_1.TokenType.shadow: {
55782
55945
  const t = token;
55783
- const value = t.value[0];
55784
- return TokenUtilPreviewSegmentGenerator.shadowValuesToSegments(value, allTokens);
55946
+ if (t.value.length === 1) {
55947
+ return TokenUtilPreviewSegmentGenerator.shadowValuesToSegments(t.value[0], allTokens);
55948
+ }
55949
+ // For multiple shadows, we just show the number of layers
55950
+ return [
55951
+ {
55952
+ value: t.value.length > 0
55953
+ ? `${t.value.length} shadow layers`
55954
+ : `No shadow layers`,
55955
+ prefersReferenceName: false,
55956
+ referencedName: undefined,
55957
+ },
55958
+ ];
55785
55959
  }
55786
55960
  case SDKTokenType_1.TokenType.gradient: {
55787
55961
  const t = token;
55788
55962
  const layer = t.value[0];
55789
- const transform = new SDKToolsTokenTransform_1.TokenTransform();
55790
- const cssString = transform.gradientTokenToCSS(layer);
55963
+ let type = "";
55791
55964
  if (layer) {
55792
- return [
55793
- {
55794
- value: cssString,
55795
- prefersReferenceName: false,
55796
- referencedName: undefined,
55797
- },
55798
- ];
55965
+ switch (layer.type) {
55966
+ case exports_1.GradientType.linear:
55967
+ type = "linear";
55968
+ break;
55969
+ case exports_1.GradientType.angular:
55970
+ type = "angular";
55971
+ break;
55972
+ case exports_1.GradientType.radial:
55973
+ type = "radial";
55974
+ break;
55975
+ default:
55976
+ throw new Error(`Unknown gradient type`);
55977
+ }
55799
55978
  }
55800
- return [];
55979
+ return [
55980
+ {
55981
+ value: type,
55982
+ prefersReferenceName: false,
55983
+ referencedName: undefined,
55984
+ },
55985
+ ];
55986
+ /*
55987
+ if (t.value.length === 1) {
55988
+ const layer = t.value[0]
55989
+ const transform = new TokenTransform()
55990
+ const cssString = transform.gradientTokenToCSS(layer)
55991
+
55992
+ return [
55993
+ {
55994
+ value: cssString,
55995
+ prefersReferenceName: false,
55996
+ referencedName: undefined,
55997
+ },
55998
+ ]
55999
+ }
56000
+
56001
+ // For multiple gradients, we just show the number of layers
56002
+ return [
56003
+ {
56004
+ value:
56005
+ t.value.length > 0
56006
+ ? `${t.value.length} gradient layers`
56007
+ : `No gradient layers`,
56008
+ prefersReferenceName: false,
56009
+ referencedName: undefined,
56010
+ },
56011
+ ]
56012
+ */
55801
56013
  }
55802
56014
  case SDKTokenType_1.TokenType.fontFamily: {
55803
56015
  const t = token;
@@ -55870,7 +56082,7 @@ class TokenUtilPreviewSegmentGenerator {
55870
56082
  const reference = TokenUtils_1.TokenUtils.lookupReference((_t = t.value) === null || _t === void 0 ? void 0 : _t.referencedTokenId, allTokens);
55871
56083
  return [
55872
56084
  {
55873
- value: `${t.value.measure}`,
56085
+ value: `${Math.round(t.value.measure * 100)}%`,
55874
56086
  prefersReferenceName: false,
55875
56087
  referencedName: (_u = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _u !== void 0 ? _u : undefined,
55876
56088
  },
@@ -55895,7 +56107,7 @@ class TokenUtilPreviewSegmentGenerator {
55895
56107
  default:
55896
56108
  break;
55897
56109
  }
55898
- return [
56110
+ let segments = [
55899
56111
  {
55900
56112
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value.width),
55901
56113
  prefersReferenceName: false,
@@ -55907,53 +56119,65 @@ class TokenUtilPreviewSegmentGenerator {
55907
56119
  referencedName: undefined,
55908
56120
  },
55909
56121
  {
55910
- value: SDKColorToken_1.ColorToken.colorValueToHex8(t.value.color).toUpperCase(),
56122
+ value: SDKColorToken_1.ColorToken.colorValueToHex6(t.value.color).toUpperCase(),
55911
56123
  prefersReferenceName: true,
55912
56124
  referencedName: (_2 = (_1 = TokenUtils_1.TokenUtils.lookupReference((_0 = (_z = t.value) === null || _z === void 0 ? void 0 : _z.color) === null || _0 === void 0 ? void 0 : _0.referencedTokenId, allTokens)) === null || _1 === void 0 ? void 0 : _1.name) !== null && _2 !== void 0 ? _2 : undefined,
55913
56125
  },
55914
56126
  ];
56127
+ if (t.value.color.opacity.measure < 1) {
56128
+ // Only add opacity if it is not 100%
56129
+ segments = segments.concat([
56130
+ "separator",
56131
+ {
56132
+ value: `${Math.round(t.value.color.opacity.measure * 100)}%`,
56133
+ prefersReferenceName: false,
56134
+ referencedName: (_4 = (_3 = TokenUtils_1.TokenUtils.lookupReference(t.value.color.opacity.referencedTokenId, allTokens)) === null || _3 === void 0 ? void 0 : _3.name) !== null && _4 !== void 0 ? _4 : undefined,
56135
+ },
56136
+ ]);
56137
+ }
56138
+ return segments;
55915
56139
  }
55916
56140
  case SDKTokenType_1.TokenType.radius: {
55917
56141
  const t = token;
55918
- const reference = TokenUtils_1.TokenUtils.lookupReference((_3 = t.value) === null || _3 === void 0 ? void 0 : _3.referencedTokenId, allTokens);
56142
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_5 = t.value) === null || _5 === void 0 ? void 0 : _5.referencedTokenId, allTokens);
55919
56143
  return [
55920
56144
  {
55921
56145
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
55922
56146
  prefersReferenceName: false,
55923
- referencedName: (_4 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _4 !== void 0 ? _4 : undefined,
56147
+ referencedName: (_6 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _6 !== void 0 ? _6 : undefined,
55924
56148
  },
55925
56149
  ];
55926
56150
  }
55927
56151
  case SDKTokenType_1.TokenType.borderWidth: {
55928
56152
  const t = token;
55929
- const reference = TokenUtils_1.TokenUtils.lookupReference((_5 = t.value) === null || _5 === void 0 ? void 0 : _5.referencedTokenId, allTokens);
56153
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_7 = t.value) === null || _7 === void 0 ? void 0 : _7.referencedTokenId, allTokens);
55930
56154
  return [
55931
56155
  {
55932
56156
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
55933
56157
  prefersReferenceName: false,
55934
- referencedName: (_6 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _6 !== void 0 ? _6 : undefined,
56158
+ referencedName: (_8 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _8 !== void 0 ? _8 : undefined,
55935
56159
  },
55936
56160
  ];
55937
56161
  }
55938
56162
  case SDKTokenType_1.TokenType.duration: {
55939
56163
  const t = token;
55940
- const reference = TokenUtils_1.TokenUtils.lookupReference((_7 = t.value) === null || _7 === void 0 ? void 0 : _7.referencedTokenId, allTokens);
56164
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_9 = t.value) === null || _9 === void 0 ? void 0 : _9.referencedTokenId, allTokens);
55941
56165
  return [
55942
56166
  {
55943
56167
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
55944
56168
  prefersReferenceName: false,
55945
- referencedName: (_8 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _8 !== void 0 ? _8 : undefined,
56169
+ referencedName: (_10 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _10 !== void 0 ? _10 : undefined,
55946
56170
  },
55947
56171
  ];
55948
56172
  }
55949
56173
  case SDKTokenType_1.TokenType.zIndex: {
55950
56174
  const t = token;
55951
- const reference = TokenUtils_1.TokenUtils.lookupReference((_9 = t.value) === null || _9 === void 0 ? void 0 : _9.referencedTokenId, allTokens);
56175
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_11 = t.value) === null || _11 === void 0 ? void 0 : _11.referencedTokenId, allTokens);
55952
56176
  return [
55953
56177
  {
55954
56178
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
55955
56179
  prefersReferenceName: false,
55956
- referencedName: (_10 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _10 !== void 0 ? _10 : undefined,
56180
+ referencedName: (_12 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _12 !== void 0 ? _12 : undefined,
55957
56181
  },
55958
56182
  ];
55959
56183
  }
@@ -55979,12 +56203,12 @@ class TokenUtilPreviewSegmentGenerator {
55979
56203
  default:
55980
56204
  throw new Error("Unknown text case");
55981
56205
  }
55982
- const reference = TokenUtils_1.TokenUtils.lookupReference((_11 = t.value) === null || _11 === void 0 ? void 0 : _11.referencedTokenId, allTokens);
56206
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_13 = t.value) === null || _13 === void 0 ? void 0 : _13.referencedTokenId, allTokens);
55983
56207
  return [
55984
56208
  {
55985
56209
  value,
55986
56210
  prefersReferenceName: false,
55987
- referencedName: (_12 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _12 !== void 0 ? _12 : undefined,
56211
+ referencedName: (_14 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _14 !== void 0 ? _14 : undefined,
55988
56212
  },
55989
56213
  ];
55990
56214
  }
@@ -56004,12 +56228,12 @@ class TokenUtilPreviewSegmentGenerator {
56004
56228
  default:
56005
56229
  throw new Error("Unknown text decoration option");
56006
56230
  }
56007
- const reference = TokenUtils_1.TokenUtils.lookupReference((_13 = t.value) === null || _13 === void 0 ? void 0 : _13.referencedTokenId, allTokens);
56231
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_15 = t.value) === null || _15 === void 0 ? void 0 : _15.referencedTokenId, allTokens);
56008
56232
  return [
56009
56233
  {
56010
56234
  value,
56011
56235
  prefersReferenceName: false,
56012
- referencedName: (_14 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _14 !== void 0 ? _14 : undefined,
56236
+ referencedName: (_16 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _16 !== void 0 ? _16 : undefined,
56013
56237
  },
56014
56238
  ];
56015
56239
  }
@@ -56026,67 +56250,67 @@ class TokenUtilPreviewSegmentGenerator {
56026
56250
  default:
56027
56251
  throw new Error("Unknown visibility option");
56028
56252
  }
56029
- const reference = TokenUtils_1.TokenUtils.lookupReference((_15 = t.value) === null || _15 === void 0 ? void 0 : _15.referencedTokenId, allTokens);
56253
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_17 = t.value) === null || _17 === void 0 ? void 0 : _17.referencedTokenId, allTokens);
56030
56254
  return [
56031
56255
  {
56032
56256
  value,
56033
56257
  prefersReferenceName: false,
56034
- referencedName: (_16 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _16 !== void 0 ? _16 : undefined,
56258
+ referencedName: (_18 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _18 !== void 0 ? _18 : undefined,
56035
56259
  },
56036
56260
  ];
56037
56261
  }
56038
56262
  case SDKTokenType_1.TokenType.productCopy: {
56039
56263
  const t = token;
56040
- const reference = TokenUtils_1.TokenUtils.lookupReference((_17 = t.value) === null || _17 === void 0 ? void 0 : _17.referencedTokenId, allTokens);
56264
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_19 = t.value) === null || _19 === void 0 ? void 0 : _19.referencedTokenId, allTokens);
56041
56265
  return [
56042
56266
  {
56043
56267
  value: t.value.text,
56044
56268
  prefersReferenceName: false,
56045
- referencedName: (_18 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _18 !== void 0 ? _18 : undefined,
56269
+ referencedName: (_20 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _20 !== void 0 ? _20 : undefined,
56046
56270
  },
56047
56271
  ];
56048
56272
  }
56049
56273
  case SDKTokenType_1.TokenType.string: {
56050
56274
  const t = token;
56051
- const reference = TokenUtils_1.TokenUtils.lookupReference((_19 = t.value) === null || _19 === void 0 ? void 0 : _19.referencedTokenId, allTokens);
56275
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_21 = t.value) === null || _21 === void 0 ? void 0 : _21.referencedTokenId, allTokens);
56052
56276
  return [
56053
56277
  {
56054
56278
  value: t.value.text,
56055
56279
  prefersReferenceName: false,
56056
- referencedName: (_20 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _20 !== void 0 ? _20 : undefined,
56280
+ referencedName: (_22 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _22 !== void 0 ? _22 : undefined,
56057
56281
  },
56058
56282
  ];
56059
56283
  }
56060
56284
  case SDKTokenType_1.TokenType.dimension: {
56061
56285
  const t = token;
56062
- const reference = TokenUtils_1.TokenUtils.lookupReference((_21 = t.value) === null || _21 === void 0 ? void 0 : _21.referencedTokenId, allTokens);
56286
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_23 = t.value) === null || _23 === void 0 ? void 0 : _23.referencedTokenId, allTokens);
56063
56287
  return [
56064
56288
  {
56065
56289
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
56066
56290
  prefersReferenceName: false,
56067
- referencedName: (_22 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _22 !== void 0 ? _22 : undefined,
56291
+ referencedName: (_24 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _24 !== void 0 ? _24 : undefined,
56068
56292
  },
56069
56293
  ];
56070
56294
  }
56071
56295
  case SDKTokenType_1.TokenType.size: {
56072
56296
  const t = token;
56073
- const reference = TokenUtils_1.TokenUtils.lookupReference((_23 = t.value) === null || _23 === void 0 ? void 0 : _23.referencedTokenId, allTokens);
56297
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_25 = t.value) === null || _25 === void 0 ? void 0 : _25.referencedTokenId, allTokens);
56074
56298
  return [
56075
56299
  {
56076
56300
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
56077
56301
  prefersReferenceName: false,
56078
- referencedName: (_24 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _24 !== void 0 ? _24 : undefined,
56302
+ referencedName: (_26 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _26 !== void 0 ? _26 : undefined,
56079
56303
  },
56080
56304
  ];
56081
56305
  }
56082
56306
  case SDKTokenType_1.TokenType.space: {
56083
56307
  const t = token;
56084
- const reference = TokenUtils_1.TokenUtils.lookupReference((_25 = t.value) === null || _25 === void 0 ? void 0 : _25.referencedTokenId, allTokens);
56308
+ const reference = TokenUtils_1.TokenUtils.lookupReference((_27 = t.value) === null || _27 === void 0 ? void 0 : _27.referencedTokenId, allTokens);
56085
56309
  return [
56086
56310
  {
56087
56311
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value),
56088
56312
  prefersReferenceName: false,
56089
- referencedName: (_26 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _26 !== void 0 ? _26 : undefined,
56313
+ referencedName: (_28 = reference === null || reference === void 0 ? void 0 : reference.name) !== null && _28 !== void 0 ? _28 : undefined,
56090
56314
  },
56091
56315
  ];
56092
56316
  }
@@ -56099,7 +56323,7 @@ class TokenUtilPreviewSegmentGenerator {
56099
56323
  {
56100
56324
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value.lineHeight),
56101
56325
  prefersReferenceName: false,
56102
- referencedName: (_30 = (_29 = TokenUtils_1.TokenUtils.lookupReference((_28 = (_27 = t.value) === null || _27 === void 0 ? void 0 : _27.lineHeight) === null || _28 === void 0 ? void 0 : _28.referencedTokenId, allTokens)) === null || _29 === void 0 ? void 0 : _29.name) !== null && _30 !== void 0 ? _30 : undefined,
56326
+ referencedName: (_32 = (_31 = TokenUtils_1.TokenUtils.lookupReference((_30 = (_29 = t.value) === null || _29 === void 0 ? void 0 : _29.lineHeight) === null || _30 === void 0 ? void 0 : _30.referencedTokenId, allTokens)) === null || _31 === void 0 ? void 0 : _31.name) !== null && _32 !== void 0 ? _32 : undefined,
56103
56327
  },
56104
56328
  ];
56105
56329
  }
@@ -56107,18 +56331,18 @@ class TokenUtilPreviewSegmentGenerator {
56107
56331
  {
56108
56332
  value: SDKDimensionToken_1.DimensionToken.valueToString(t.value.fontSize),
56109
56333
  prefersReferenceName: false,
56110
- referencedName: (_34 = (_33 = TokenUtils_1.TokenUtils.lookupReference((_32 = (_31 = t.value) === null || _31 === void 0 ? void 0 : _31.fontSize) === null || _32 === void 0 ? void 0 : _32.referencedTokenId, allTokens)) === null || _33 === void 0 ? void 0 : _33.name) !== null && _34 !== void 0 ? _34 : undefined,
56334
+ referencedName: (_36 = (_35 = TokenUtils_1.TokenUtils.lookupReference((_34 = (_33 = t.value) === null || _33 === void 0 ? void 0 : _33.fontSize) === null || _34 === void 0 ? void 0 : _34.referencedTokenId, allTokens)) === null || _35 === void 0 ? void 0 : _35.name) !== null && _36 !== void 0 ? _36 : undefined,
56111
56335
  },
56112
56336
  ...lineHeightFragments,
56113
56337
  {
56114
- value: t.value.fontWeight.text,
56338
+ value: t.value.fontFamily.text,
56115
56339
  prefersReferenceName: false,
56116
- referencedName: (_38 = (_37 = TokenUtils_1.TokenUtils.lookupReference((_36 = (_35 = t.value) === null || _35 === void 0 ? void 0 : _35.fontWeight) === null || _36 === void 0 ? void 0 : _36.referencedTokenId, allTokens)) === null || _37 === void 0 ? void 0 : _37.name) !== null && _38 !== void 0 ? _38 : undefined,
56340
+ referencedName: (_40 = (_39 = TokenUtils_1.TokenUtils.lookupReference((_38 = (_37 = t.value) === null || _37 === void 0 ? void 0 : _37.fontFamily) === null || _38 === void 0 ? void 0 : _38.referencedTokenId, allTokens)) === null || _39 === void 0 ? void 0 : _39.name) !== null && _40 !== void 0 ? _40 : undefined,
56117
56341
  },
56118
56342
  {
56119
- value: t.value.fontFamily.text,
56343
+ value: t.value.fontWeight.text,
56120
56344
  prefersReferenceName: false,
56121
- referencedName: (_42 = (_41 = TokenUtils_1.TokenUtils.lookupReference((_40 = (_39 = t.value) === null || _39 === void 0 ? void 0 : _39.fontFamily) === null || _40 === void 0 ? void 0 : _40.referencedTokenId, allTokens)) === null || _41 === void 0 ? void 0 : _41.name) !== null && _42 !== void 0 ? _42 : undefined,
56345
+ referencedName: (_44 = (_43 = TokenUtils_1.TokenUtils.lookupReference((_42 = (_41 = t.value) === null || _41 === void 0 ? void 0 : _41.fontWeight) === null || _42 === void 0 ? void 0 : _42.referencedTokenId, allTokens)) === null || _43 === void 0 ? void 0 : _43.name) !== null && _44 !== void 0 ? _44 : undefined,
56122
56346
  },
56123
56347
  ];
56124
56348
  }
@@ -56131,24 +56355,28 @@ class TokenUtilPreviewSegmentGenerator {
56131
56355
  if (!layer) {
56132
56356
  return [];
56133
56357
  }
56134
- return [
56358
+ let segments = [
56135
56359
  {
56136
- value: layer.x === 0 ? `0` : `${layer.x}px`,
56360
+ value: layer.x === 0 ? `0` : `${SDKDimensionToken_1.DimensionToken.numberToString(layer.x)}px`,
56137
56361
  prefersReferenceName: false,
56138
56362
  referencedName: undefined,
56139
56363
  },
56140
56364
  {
56141
- value: layer.y === 0 ? `0` : `${layer.y}px`,
56365
+ value: layer.y === 0 ? `0` : `${SDKDimensionToken_1.DimensionToken.numberToString(layer.y)}px`,
56142
56366
  prefersReferenceName: false,
56143
56367
  referencedName: undefined,
56144
56368
  },
56145
56369
  {
56146
- value: layer.radius === 0 ? `0` : `${layer.radius}px`,
56370
+ value: layer.radius === 0
56371
+ ? `0`
56372
+ : `${SDKDimensionToken_1.DimensionToken.numberToString(layer.radius)}px`,
56147
56373
  prefersReferenceName: false,
56148
56374
  referencedName: undefined,
56149
56375
  },
56150
56376
  {
56151
- value: layer.spread === 0 ? `0` : `${layer.spread}px`,
56377
+ value: layer.spread === 0
56378
+ ? `0`
56379
+ : `${SDKDimensionToken_1.DimensionToken.numberToString(layer.spread)}px`,
56152
56380
  prefersReferenceName: false,
56153
56381
  referencedName: undefined,
56154
56382
  },
@@ -56157,13 +56385,19 @@ class TokenUtilPreviewSegmentGenerator {
56157
56385
  prefersReferenceName: true,
56158
56386
  referencedName: (_b = (_a = TokenUtils_1.TokenUtils.lookupReference(layer.color.referencedTokenId, allTokens)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : undefined,
56159
56387
  },
56160
- "separator",
56161
- {
56162
- value: `${Math.round(layer.opacity.measure * 100)}%`,
56163
- prefersReferenceName: false,
56164
- referencedName: (_d = (_c = TokenUtils_1.TokenUtils.lookupReference(layer.opacity.referencedTokenId, allTokens)) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : undefined,
56165
- },
56166
56388
  ];
56389
+ if (layer.opacity.measure < 1) {
56390
+ // Only add opacity if it is not 100%
56391
+ segments = segments.concat([
56392
+ "separator",
56393
+ {
56394
+ value: `${Math.round(layer.opacity.measure * 100)}%`,
56395
+ prefersReferenceName: false,
56396
+ referencedName: (_d = (_c = TokenUtils_1.TokenUtils.lookupReference(layer.opacity.referencedTokenId, allTokens)) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : undefined,
56397
+ },
56398
+ ]);
56399
+ }
56400
+ return segments;
56167
56401
  }
56168
56402
  }
56169
56403
  exports.TokenUtilPreviewSegmentGenerator = TokenUtilPreviewSegmentGenerator;
@@ -56268,6 +56502,7 @@ class TokenUtilPreviewStyleGenerator {
56268
56502
  case SDKTokenType_1.TokenType.border: {
56269
56503
  const t = token;
56270
56504
  let style = "solid";
56505
+ const widthCssUnit = SDKDimensionToken_1.DimensionToken.unitToString(t.value.width.unit);
56271
56506
  switch (t.value.style) {
56272
56507
  case SDKBorderStyle_1.BorderStyle.dashed:
56273
56508
  style = "dashed";
@@ -56279,21 +56514,23 @@ class TokenUtilPreviewStyleGenerator {
56279
56514
  break;
56280
56515
  }
56281
56516
  return {
56282
- borderWidth: `${t.value.width.measure}px`,
56517
+ borderWidth: `${t.value.width.measure}${widthCssUnit}`,
56283
56518
  borderColor: SDKColorToken_1.ColorToken.colorValueToHex8(t.value.color).toUpperCase(),
56284
56519
  borderStyle: style,
56285
56520
  };
56286
56521
  }
56287
56522
  case SDKTokenType_1.TokenType.radius: {
56288
56523
  const t = token;
56524
+ const cssUnit = SDKDimensionToken_1.DimensionToken.unitToString(t.value.unit);
56289
56525
  return {
56290
- borderRadius: `${t.value.measure}px`,
56526
+ borderRadius: `${t.value.measure}${cssUnit}`,
56291
56527
  };
56292
56528
  }
56293
56529
  case SDKTokenType_1.TokenType.borderWidth: {
56294
56530
  const t = token;
56531
+ const cssUnit = SDKDimensionToken_1.DimensionToken.unitToString(t.value.unit);
56295
56532
  return {
56296
- borderWidth: `${t.value.measure}${t.value.unit}`,
56533
+ borderWidth: `${t.value.measure}${cssUnit}`,
56297
56534
  };
56298
56535
  }
56299
56536
  case SDKTokenType_1.TokenType.duration: {
@@ -56343,7 +56580,7 @@ class TokenUtilPreviewStyleGenerator {
56343
56580
  ? SDKDimensionToken_1.DimensionToken.valueToString(t.value.lineHeight)
56344
56581
  : undefined,
56345
56582
  fontWeight: t.value.fontWeight.text,
56346
- fontFamily: t.value.fontWeight.text,
56583
+ fontFamily: t.value.fontFamily.text,
56347
56584
  };
56348
56585
  }
56349
56586
  default:
@@ -56554,6 +56791,81 @@ class TokenTransform {
56554
56791
  exports.TokenTransform = TokenTransform;
56555
56792
 
56556
56793
 
56794
+ /***/ }),
56795
+
56796
+ /***/ "./src/utils/ComponentUtils.ts":
56797
+ /*!*************************************!*\
56798
+ !*** ./src/utils/ComponentUtils.ts ***!
56799
+ \*************************************/
56800
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
56801
+
56802
+ "use strict";
56803
+
56804
+ //
56805
+ // ComponentUtils.ts
56806
+ // Supernova SDK
56807
+ //
56808
+ // Created by Jiri Trecak.
56809
+ //
56810
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
56811
+ exports.ComponentUtils = void 0;
56812
+ // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
56813
+ // MARK: - Imports
56814
+ const SDKComponent_1 = __webpack_require__(/*! ../model/components/SDKComponent */ "./src/model/components/SDKComponent.ts");
56815
+ const SDKComponentGroup_1 = __webpack_require__(/*! ../model/groups/SDKComponentGroup */ "./src/model/groups/SDKComponentGroup.ts");
56816
+ const uuid_1 = __webpack_require__(/*! uuid */ "../../node_modules/uuid/dist/esm-node/index.js");
56817
+ // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
56818
+ // MARK: - Component utilities
56819
+ class ComponentUtils {
56820
+ /** Map components for lookup */
56821
+ static componentsToReferenceMap(components) {
56822
+ const map = new Map();
56823
+ components.forEach((component) => {
56824
+ map.set(component.id, component);
56825
+ });
56826
+ return map;
56827
+ }
56828
+ /** Map component groups for lookup */
56829
+ static componentGroupsToReferenceMap(groups) {
56830
+ const map = new Map();
56831
+ groups.forEach((group) => {
56832
+ map.set(group.id, group);
56833
+ });
56834
+ return map;
56835
+ }
56836
+ /** Creates a new component group. Default values will be used for all properties */
56837
+ static createDefaultComponentGroup(versionId, brandId, name) {
56838
+ return new SDKComponentGroup_1.ComponentGroup({
56839
+ id: undefined,
56840
+ persistentId: (0, uuid_1.v4)(),
56841
+ brandId,
56842
+ designSystemVersionId: versionId,
56843
+ isRoot: false,
56844
+ meta: {
56845
+ name: name !== null && name !== void 0 ? name : "Group",
56846
+ description: "",
56847
+ },
56848
+ childrenIds: [],
56849
+ createdAt: new Date().toISOString(),
56850
+ });
56851
+ }
56852
+ /** Creates a new component. Default values will be used for all properties */
56853
+ static createDefaultComponent(versionId, brandId, name) {
56854
+ return new SDKComponent_1.Component({
56855
+ id: undefined,
56856
+ persistentId: (0, uuid_1.v4)(),
56857
+ brandId,
56858
+ designSystemVersionId: versionId,
56859
+ meta: {
56860
+ name: name !== null && name !== void 0 ? name : "Group",
56861
+ description: "",
56862
+ },
56863
+ }, [], []);
56864
+ }
56865
+ }
56866
+ exports.ComponentUtils = ComponentUtils;
56867
+
56868
+
56557
56869
  /***/ }),
56558
56870
 
56559
56871
  /***/ "./src/utils/StringUtils.ts":
@@ -57083,6 +57395,7 @@ exports.TokenUtils = void 0;
57083
57395
  // MARK: - Imports
57084
57396
  const exports_1 = __webpack_require__(/*! ../exports */ "./src/exports.ts");
57085
57397
  const SDKTokenType_1 = __webpack_require__(/*! ../model/enums/SDKTokenType */ "./src/model/enums/SDKTokenType.ts");
57398
+ const SDKThemeUtilities_1 = __webpack_require__(/*! ../model/themes/SDKThemeUtilities */ "./src/model/themes/SDKThemeUtilities.ts");
57086
57399
  const SDKBlurToken_1 = __webpack_require__(/*! ../model/tokens/SDKBlurToken */ "./src/model/tokens/SDKBlurToken.ts");
57087
57400
  const SDKBorderToken_1 = __webpack_require__(/*! ../model/tokens/SDKBorderToken */ "./src/model/tokens/SDKBorderToken.ts");
57088
57401
  const SDKColorToken_1 = __webpack_require__(/*! ../model/tokens/SDKColorToken */ "./src/model/tokens/SDKColorToken.ts");
@@ -57097,7 +57410,10 @@ const SDKTypographyToken_1 = __webpack_require__(/*! ../model/tokens/SDKTypograp
57097
57410
  const SDKVisibilityToken_1 = __webpack_require__(/*! ../model/tokens/SDKVisibilityToken */ "./src/model/tokens/SDKVisibilityToken.ts");
57098
57411
  const SDKDTTokenReferenceResolver_1 = __webpack_require__(/*! ../tools/design-tokens/utilities/SDKDTTokenReferenceResolver */ "./src/tools/design-tokens/utilities/SDKDTTokenReferenceResolver.ts");
57099
57412
  const lodash_1 = __webpack_require__(/*! lodash */ "../../node_modules/lodash/lodash.js");
57413
+ const lodash_2 = __webpack_require__(/*! lodash */ "../../node_modules/lodash/lodash.js");
57100
57414
  const uuid_1 = __webpack_require__(/*! uuid */ "../../node_modules/uuid/dist/esm-node/index.js");
57415
+ // --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
57416
+ // MARK: - Implementation
57101
57417
  class TokenUtils {
57102
57418
  /** Map tokens for lookup */
57103
57419
  static tokensToReferenceMap(tokens) {
@@ -57301,155 +57617,877 @@ class TokenUtils {
57301
57617
  const value = 200;
57302
57618
  return SDKDimensionToken_1.DurationToken.create(SDKTokenType_1.TokenType.duration, versionId, brandId, "Token", "", value, undefined, properties, []);
57303
57619
  }
57304
- /** Creates a new default z-index token */
57305
- static createDefaultZIndexToken(versionId, brandId, properties) {
57306
- const value = 1;
57307
- return SDKDimensionToken_1.ZIndexToken.create(SDKTokenType_1.TokenType.zIndex, versionId, brandId, "Token", "", value, undefined, properties, []);
57620
+ /** Creates a new default z-index token */
57621
+ static createDefaultZIndexToken(versionId, brandId, properties) {
57622
+ const value = 1;
57623
+ return SDKDimensionToken_1.ZIndexToken.create(SDKTokenType_1.TokenType.zIndex, versionId, brandId, "Token", "", value, undefined, properties, []);
57624
+ }
57625
+ /** Creates a new default text case token */
57626
+ static createDefaultTextCaseToken(versionId, brandId, properties) {
57627
+ const value = "Original";
57628
+ return SDKTextCaseToken_1.TextCaseToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
57629
+ }
57630
+ /** Creates a new default text case token */
57631
+ static createDefaultTextDecorationToken(versionId, brandId, properties) {
57632
+ const value = "None";
57633
+ return SDKTextDecorationToken_1.TextDecorationToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
57634
+ }
57635
+ /** Creates a new default visibility token */
57636
+ static createDefaultVisibilityToken(versionId, brandId, properties) {
57637
+ const value = exports_1.VisibilityType.visible;
57638
+ return SDKVisibilityToken_1.VisibilityToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
57639
+ }
57640
+ /** Creates a new default generic token */
57641
+ static createDefaultBlurToken(versionId, brandId, properties) {
57642
+ const value = {
57643
+ radius: 10,
57644
+ type: "Background",
57645
+ };
57646
+ return SDKBlurToken_1.BlurToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
57647
+ }
57648
+ /** Creates a new default generic token */
57649
+ static createDefaultStringToken(versionId, brandId, properties) {
57650
+ const value = "";
57651
+ return SDKStringToken_1.StringToken.create(SDKTokenType_1.TokenType.string, versionId, brandId, "Token", "", value, undefined, properties, []);
57652
+ }
57653
+ /** Creates a new default generic token */
57654
+ static createDefaultProductCopyToken(versionId, brandId, properties) {
57655
+ const value = "";
57656
+ return SDKStringToken_1.ProductCopyToken.create(SDKTokenType_1.TokenType.productCopy, versionId, brandId, "Token", "", value, undefined, properties, []);
57657
+ }
57658
+ /** Creates a new default generic token */
57659
+ static createDefaultShadowToken(versionId, brandId, properties) {
57660
+ const value = {
57661
+ x: 0,
57662
+ y: 4,
57663
+ blur: 4,
57664
+ spread: 0,
57665
+ color: "#000000",
57666
+ opacity: 0.25,
57667
+ type: "dropShadow",
57668
+ };
57669
+ return SDKShadowToken_1.ShadowToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
57670
+ }
57671
+ /** Creates a new default generic token */
57672
+ static createDefaultBorderToken(versionId, brandId, properties) {
57673
+ const value = {
57674
+ color: "#000000",
57675
+ position: "outside",
57676
+ style: "solid",
57677
+ width: 1,
57678
+ };
57679
+ return SDKBorderToken_1.BorderToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
57680
+ }
57681
+ static replaceIdAcrossAllPossibleReferences(override, newId, allTokens) {
57682
+ const currentId = override.token.id;
57683
+ override.token.id = newId;
57684
+ this.replaceIdAcrossAllPossibleReferencesWithTokens(currentId, newId, allTokens.map((t) => t.token));
57685
+ }
57686
+ static replaceIdAcrossAllPossibleReferencesWithTokens(currentId, newId, allTokens) {
57687
+ const mappedTokens = TokenUtils.tokensToReferenceMap(allTokens);
57688
+ for (const t of allTokens) {
57689
+ const token = t;
57690
+ // Generic check for reference
57691
+ (0, SDKTokenValue_1.replaceReferencedTokenIds)(token, currentId, newId, mappedTokens);
57692
+ TokenUtils.replaceIdForComplexTokens(token, currentId, newId);
57693
+ }
57694
+ }
57695
+ static replaceIdForComplexTokens(token, currentId, newId) {
57696
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
57697
+ // Specific checks for tokens that can reference other values internally
57698
+ if (token instanceof SDKTypographyToken_1.TypographyToken) {
57699
+ if (((_a = token.value.fontWeight) === null || _a === void 0 ? void 0 : _a.referencedTokenId) &&
57700
+ ((_b = token.value.fontWeight) === null || _b === void 0 ? void 0 : _b.referencedTokenId) === currentId) {
57701
+ token.value.fontWeight.referencedTokenId = newId;
57702
+ }
57703
+ if (((_c = token.value.fontFamily) === null || _c === void 0 ? void 0 : _c.referencedTokenId) &&
57704
+ ((_d = token.value.fontFamily) === null || _d === void 0 ? void 0 : _d.referencedTokenId) === currentId) {
57705
+ token.value.fontFamily.referencedTokenId = newId;
57706
+ }
57707
+ if (((_e = token.value.fontSize) === null || _e === void 0 ? void 0 : _e.referencedTokenId) &&
57708
+ ((_f = token.value.fontSize) === null || _f === void 0 ? void 0 : _f.referencedTokenId) === currentId) {
57709
+ token.value.fontSize.referencedTokenId = newId;
57710
+ }
57711
+ if (((_g = token.value.letterSpacing) === null || _g === void 0 ? void 0 : _g.referencedTokenId) &&
57712
+ ((_h = token.value.letterSpacing) === null || _h === void 0 ? void 0 : _h.referencedTokenId) === currentId) {
57713
+ token.value.letterSpacing.referencedTokenId = newId;
57714
+ }
57715
+ if (((_j = token.value.lineHeight) === null || _j === void 0 ? void 0 : _j.referencedTokenId) &&
57716
+ ((_k = token.value.lineHeight) === null || _k === void 0 ? void 0 : _k.referencedTokenId) === currentId) {
57717
+ token.value.lineHeight.referencedTokenId = newId;
57718
+ }
57719
+ if (((_l = token.value.paragraphIndent) === null || _l === void 0 ? void 0 : _l.referencedTokenId) &&
57720
+ ((_m = token.value.paragraphIndent) === null || _m === void 0 ? void 0 : _m.referencedTokenId) === currentId) {
57721
+ token.value.paragraphIndent.referencedTokenId = newId;
57722
+ }
57723
+ if (((_o = token.value.paragraphSpacing) === null || _o === void 0 ? void 0 : _o.referencedTokenId) &&
57724
+ ((_p = token.value.paragraphSpacing) === null || _p === void 0 ? void 0 : _p.referencedTokenId) === currentId) {
57725
+ token.value.paragraphSpacing.referencedTokenId = newId;
57726
+ }
57727
+ if (((_q = token.value.textCase) === null || _q === void 0 ? void 0 : _q.referencedTokenId) &&
57728
+ ((_r = token.value.textCase) === null || _r === void 0 ? void 0 : _r.referencedTokenId) === currentId) {
57729
+ token.value.textCase.referencedTokenId = newId;
57730
+ }
57731
+ if (((_s = token.value.textDecoration) === null || _s === void 0 ? void 0 : _s.referencedTokenId) &&
57732
+ ((_t = token.value.textDecoration) === null || _t === void 0 ? void 0 : _t.referencedTokenId) === currentId) {
57733
+ token.value.textDecoration.referencedTokenId = newId;
57734
+ }
57735
+ }
57736
+ else if (token instanceof SDKShadowToken_1.ShadowToken) {
57737
+ for (const tokenValue of token.value) {
57738
+ if (((_u = tokenValue.color) === null || _u === void 0 ? void 0 : _u.referencedTokenId) &&
57739
+ ((_v = tokenValue.color) === null || _v === void 0 ? void 0 : _v.referencedTokenId) === currentId) {
57740
+ tokenValue.color.referencedTokenId = newId;
57741
+ }
57742
+ }
57743
+ }
57744
+ else if (token instanceof SDKBorderToken_1.BorderToken) {
57745
+ if (((_w = token.value.color) === null || _w === void 0 ? void 0 : _w.referencedTokenId) &&
57746
+ ((_x = token.value.color) === null || _x === void 0 ? void 0 : _x.referencedTokenId) === currentId) {
57747
+ token.value.color.referencedTokenId = newId;
57748
+ }
57749
+ if (((_y = token.value.width) === null || _y === void 0 ? void 0 : _y.referencedTokenId) &&
57750
+ ((_z = token.value.width) === null || _z === void 0 ? void 0 : _z.referencedTokenId) === currentId) {
57751
+ token.value.width.referencedTokenId = newId;
57752
+ }
57753
+ }
57754
+ else if (token instanceof SDKGradientToken_1.GradientToken) {
57755
+ for (const tokenValue of token.value) {
57756
+ for (const stop of tokenValue.stops) {
57757
+ if (((_0 = stop.color) === null || _0 === void 0 ? void 0 : _0.referencedTokenId) &&
57758
+ ((_1 = stop.color) === null || _1 === void 0 ? void 0 : _1.referencedTokenId) === currentId) {
57759
+ stop.color.referencedTokenId = newId;
57760
+ }
57761
+ }
57762
+ }
57763
+ }
57764
+ else if (token instanceof SDKBlurToken_1.BlurToken) {
57765
+ if (((_2 = token.value.radius) === null || _2 === void 0 ? void 0 : _2.referencedTokenId) &&
57766
+ ((_3 = token.value.radius) === null || _3 === void 0 ? void 0 : _3.referencedTokenId) === currentId) {
57767
+ token.value.radius.referencedTokenId = newId;
57768
+ }
57769
+ }
57770
+ }
57771
+ /** Creates a new theme with updated overrides */
57772
+ static tokenThemeByUpdatingOverride(theme, override) {
57773
+ const overrides = theme.overriddenTokens;
57774
+ const filteredOverrides = overrides.filter((o) => o.id !== override.id);
57775
+ filteredOverrides.push(override);
57776
+ theme.overriddenTokens = filteredOverrides;
57777
+ return theme;
57778
+ }
57779
+ /** Creates a new theme with removed override */
57780
+ static tokenThemeByRemovingOverride(theme, tokenId) {
57781
+ const overrides = theme.overriddenTokens;
57782
+ const filteredOverrides = overrides.filter((o) => o.id !== tokenId && o.idInVersion !== tokenId);
57783
+ theme.overriddenTokens = filteredOverrides;
57784
+ return theme;
57785
+ }
57786
+ /** Creates a new color token with updated .color value */
57787
+ static colorTokenByUpdatingColor(token, newValue) {
57788
+ this.checkNotReference(token);
57789
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57790
+ if (newValue instanceof SDKColorToken_1.ColorToken) {
57791
+ update.value = {
57792
+ opacity: update.value.opacity,
57793
+ color: {
57794
+ r: newValue.value.color.r,
57795
+ g: newValue.value.color.g,
57796
+ b: newValue.value.color.b,
57797
+ referencedTokenId: newValue.value.color.referencedTokenId,
57798
+ },
57799
+ referencedTokenId: newValue.id,
57800
+ };
57801
+ }
57802
+ else {
57803
+ update.value = {
57804
+ opacity: update.value.opacity,
57805
+ color: {
57806
+ r: newValue.r,
57807
+ g: newValue.g,
57808
+ b: newValue.b,
57809
+ referencedTokenId: newValue.referencedTokenId,
57810
+ },
57811
+ referencedTokenId: null,
57812
+ };
57813
+ }
57814
+ return update;
57815
+ }
57816
+ /** Creates a new color token with updated .opacity value */
57817
+ static colorTokenByUpdatingOpacity(token, newValue) {
57818
+ TokenUtils.checkNotReference(token);
57819
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57820
+ if (newValue instanceof SDKDimensionToken_1.OpacityToken) {
57821
+ update.value.opacity = {
57822
+ measure: newValue.value.measure,
57823
+ unit: newValue.value.unit,
57824
+ referencedTokenId: newValue.id,
57825
+ };
57826
+ }
57827
+ else {
57828
+ update.value.opacity = {
57829
+ measure: newValue,
57830
+ unit: exports_1.Unit.raw,
57831
+ referencedTokenId: null,
57832
+ };
57833
+ }
57834
+ return update;
57835
+ }
57836
+ /** Creates a new blur token with updated .type value */
57837
+ static blurTokenByUpdatingType(token, newValue) {
57838
+ this.checkNotReference(token);
57839
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57840
+ update.value.type = newValue;
57841
+ return update;
57842
+ }
57843
+ /** Creates a new blur token with updated .radius value */
57844
+ static blurTokenByUpdatingRadius(token, newValue) {
57845
+ this.checkNotReference(token);
57846
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57847
+ update.value.radius = this.rawOrReferencedDimensionValue(newValue);
57848
+ return update;
57849
+ }
57850
+ /** Creates a new typography token with updated .fontFamily value */
57851
+ static typographyTokenByUpdatingFontFamily(token, newValue) {
57852
+ this.checkNotReference(token);
57853
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57854
+ if (newValue instanceof SDKStringToken_1.FontFamilyToken) {
57855
+ update.value.fontFamily = {
57856
+ text: newValue.value.text,
57857
+ referencedTokenId: newValue.id,
57858
+ };
57859
+ }
57860
+ else {
57861
+ update.value.fontFamily = {
57862
+ text: newValue.text,
57863
+ referencedTokenId: null,
57864
+ };
57865
+ }
57866
+ return update;
57867
+ }
57868
+ /** Creates a new typography token with updated .fontWeight value */
57869
+ static typographyTokenByUpdatingFontWeight(token, newValue) {
57870
+ this.checkNotReference(token);
57871
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57872
+ if (newValue instanceof SDKStringToken_1.FontWeightToken) {
57873
+ update.value.fontWeight = {
57874
+ text: newValue.value.text,
57875
+ referencedTokenId: newValue.id,
57876
+ };
57877
+ }
57878
+ else {
57879
+ update.value.fontWeight = {
57880
+ text: newValue.text,
57881
+ referencedTokenId: null,
57882
+ };
57883
+ }
57884
+ return update;
57885
+ }
57886
+ /** Creates a new typography token with updated .fontSize value */
57887
+ static typographyTokenByUpdatingFontSize(token, newValue) {
57888
+ this.checkNotReference(token);
57889
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57890
+ update.value.fontSize = this.rawOrReferencedDimensionValue(newValue);
57891
+ return update;
57892
+ }
57893
+ /** Creates a new typography token with updated .letterSpacing value */
57894
+ static typographyTokenByUpdatingLetterSpacing(token, newValue) {
57895
+ this.checkNotReference(token);
57896
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57897
+ update.value.letterSpacing = this.rawOrReferencedDimensionValue(newValue);
57898
+ return update;
57899
+ }
57900
+ /** Creates a new typography token with updated .lineHeight value */
57901
+ static typographyTokenByUpdatingLineHeight(token, newValue) {
57902
+ this.checkNotReference(token);
57903
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57904
+ update.value.lineHeight = this.rawOrReferencedDimensionValue(newValue);
57905
+ return update;
57906
+ }
57907
+ /** Creates a new typography token with updated .paragraphSpacing value */
57908
+ static typographyTokenByUpdatingParagraphSpacing(token, newValue) {
57909
+ this.checkNotReference(token);
57910
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57911
+ update.value.paragraphSpacing = this.rawOrReferencedDimensionValue(newValue);
57912
+ return update;
57913
+ }
57914
+ /** Creates a new typography token with updated .paragraphSpacing value */
57915
+ static typographyTokenByUpdatingParagraphIndent(token, newValue) {
57916
+ this.checkNotReference(token);
57917
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57918
+ update.value.paragraphIndent = this.rawOrReferencedDimensionValue(newValue);
57919
+ return update;
57920
+ }
57921
+ /** Creates a new typography token with updated .textCase value */
57922
+ static typographyTokenByUpdatingTextCase(token, newValue) {
57923
+ this.checkNotReference(token);
57924
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57925
+ if (newValue instanceof SDKTextCaseToken_1.TextCaseToken) {
57926
+ update.value.textCase = {
57927
+ value: newValue.value.value,
57928
+ options: newValue.value.options,
57929
+ referencedTokenId: newValue.id,
57930
+ };
57931
+ }
57932
+ else {
57933
+ update.value.textCase = {
57934
+ value: newValue.value,
57935
+ options: newValue.options,
57936
+ referencedTokenId: null,
57937
+ };
57938
+ }
57939
+ return update;
57940
+ }
57941
+ /** Creates a new border token with updated .position value */
57942
+ static typographyTokenByUpdatingTextDecoration(token, newValue) {
57943
+ this.checkNotReference(token);
57944
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57945
+ if (newValue instanceof SDKTextDecorationToken_1.TextDecorationToken) {
57946
+ update.value.textDecoration = {
57947
+ value: newValue.value.value,
57948
+ options: newValue.value.options,
57949
+ referencedTokenId: newValue.id,
57950
+ };
57951
+ }
57952
+ else {
57953
+ update.value.textDecoration = {
57954
+ value: newValue.value,
57955
+ options: newValue.options,
57956
+ referencedTokenId: null,
57957
+ };
57958
+ }
57959
+ return update;
57960
+ }
57961
+ /** Creates a new border token with updated .color value. Do note, opacity is ignored */
57962
+ static borderTokenByUpdatingColor(token, newValue) {
57963
+ this.checkNotReference(token);
57964
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57965
+ if (newValue instanceof SDKColorToken_1.ColorToken) {
57966
+ update.value.color = {
57967
+ opacity: update.value.color.opacity,
57968
+ color: {
57969
+ r: newValue.value.color.r,
57970
+ g: newValue.value.color.g,
57971
+ b: newValue.value.color.b,
57972
+ referencedTokenId: newValue.value.color.referencedTokenId,
57973
+ },
57974
+ referencedTokenId: newValue.id,
57975
+ };
57976
+ }
57977
+ else {
57978
+ update.value.color = {
57979
+ opacity: update.value.color.opacity,
57980
+ color: {
57981
+ r: newValue.r,
57982
+ g: newValue.g,
57983
+ b: newValue.b,
57984
+ referencedTokenId: newValue.referencedTokenId,
57985
+ },
57986
+ referencedTokenId: null,
57987
+ };
57988
+ }
57989
+ return update;
57990
+ }
57991
+ /** Creates a new border token with updated color.opacity value */
57992
+ static borderTokenByUpdatingOpacity(token, newValue) {
57993
+ this.checkNotReference(token);
57994
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
57995
+ if (newValue instanceof SDKDimensionToken_1.OpacityToken) {
57996
+ update.value.color.opacity = {
57997
+ measure: newValue.value.measure,
57998
+ unit: newValue.value.unit,
57999
+ referencedTokenId: newValue.id,
58000
+ };
58001
+ }
58002
+ else {
58003
+ update.value.color.opacity = {
58004
+ measure: newValue,
58005
+ unit: exports_1.Unit.raw,
58006
+ referencedTokenId: null,
58007
+ };
58008
+ }
58009
+ return update;
58010
+ }
58011
+ /** Creates a new border token with updated .width value */
58012
+ static borderTokenByUpdatingWidth(token, newValue) {
58013
+ this.checkNotReference(token);
58014
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58015
+ update.value.width = this.rawOrReferencedDimensionValue(newValue);
58016
+ return update;
58017
+ }
58018
+ /** Creates a new border token with updated .position value */
58019
+ static borderTokenByUpdatingPosition(token, newValue) {
58020
+ this.checkNotReference(token);
58021
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58022
+ update.value.position = newValue;
58023
+ return update;
58024
+ }
58025
+ /** Creates a new border token with updated .style value */
58026
+ static borderTokenByUpdatingStyle(token, newValue) {
58027
+ this.checkNotReference(token);
58028
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58029
+ update.value.style = newValue;
58030
+ return update;
58031
+ }
58032
+ /** Creates a new dimension token with updated value */
58033
+ static dimensionTokenByUpdatingValue(token, newValue) {
58034
+ this.checkNotReference(token);
58035
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58036
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58037
+ return update;
58038
+ }
58039
+ /** Creates a new size token with updated value */
58040
+ static sizeTokenByUpdatingValue(token, newValue) {
58041
+ this.checkNotReference(token);
58042
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58043
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58044
+ return update;
58045
+ }
58046
+ /** Creates a new space token with updated value */
58047
+ static spaceTokenByUpdatingValue(token, newValue) {
58048
+ this.checkNotReference(token);
58049
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58050
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58051
+ return update;
58052
+ }
58053
+ /** Creates a new opacity token with updated value */
58054
+ static opacityTokenByUpdatingValue(token, newValue) {
58055
+ this.checkNotReference(token);
58056
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58057
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58058
+ return update;
58059
+ }
58060
+ /** Creates a new font size token with updated value */
58061
+ static fontSizeTokenByUpdatingValue(token, newValue) {
58062
+ this.checkNotReference(token);
58063
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58064
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58065
+ return update;
58066
+ }
58067
+ /** Creates a new font size token with updated value */
58068
+ static lineHeightTokenByUpdatingValue(token, newValue) {
58069
+ this.checkNotReference(token);
58070
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58071
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58072
+ return update;
58073
+ }
58074
+ /** Creates a new letter spacing token with updated value */
58075
+ static letterSpacingTokenByUpdatingValue(token, newValue) {
58076
+ this.checkNotReference(token);
58077
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58078
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58079
+ return update;
58080
+ }
58081
+ /** Creates a new paragraph spacing token with updated value */
58082
+ static paragraphSpacingTokenByUpdatingValue(token, newValue) {
58083
+ this.checkNotReference(token);
58084
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58085
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58086
+ return update;
58087
+ }
58088
+ /** Creates a new border width token with updated value */
58089
+ static borderWidthTokenByUpdatingValue(token, newValue) {
58090
+ this.checkNotReference(token);
58091
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58092
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58093
+ return update;
58094
+ }
58095
+ /** Creates a new radius token with updated value */
58096
+ static radiusTokenByUpdatingValue(token, newValue) {
58097
+ this.checkNotReference(token);
58098
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58099
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58100
+ return update;
58101
+ }
58102
+ /** Creates a new duration token with updated value */
58103
+ static durationTokenByUpdatingValue(token, newValue) {
58104
+ this.checkNotReference(token);
58105
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58106
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58107
+ return update;
58108
+ }
58109
+ /** Creates a new z-index token with updated value */
58110
+ static zIndexTokenByUpdatingValue(token, newValue) {
58111
+ this.checkNotReference(token);
58112
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58113
+ update.value = this.rawOrReferencedDimensionValue(newValue);
58114
+ return update;
58115
+ }
58116
+ /** Creates a new string token with updated value */
58117
+ static stringTokenByUpdatingValue(token, newValue) {
58118
+ this.checkNotReference(token);
58119
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58120
+ update.value = this.rawOrReferencedStringValue(newValue);
58121
+ return update;
58122
+ }
58123
+ /** Creates a new product copy token with updated value */
58124
+ static productCopyTokenByUpdatingValue(token, newValue) {
58125
+ this.checkNotReference(token);
58126
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58127
+ update.value = this.rawOrReferencedStringValue(newValue);
58128
+ return update;
58129
+ }
58130
+ /** Creates a new font family token with updated value */
58131
+ static fontFamilyTokenByUpdatingValue(token, newValue) {
58132
+ this.checkNotReference(token);
58133
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58134
+ update.value = this.rawOrReferencedStringValue(newValue);
58135
+ return update;
58136
+ }
58137
+ /** Creates a new font weight token with updated value */
58138
+ static fontWeightTokenByUpdatingValue(token, newValue) {
58139
+ this.checkNotReference(token);
58140
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58141
+ update.value = this.rawOrReferencedStringValue(newValue);
58142
+ return update;
58143
+ }
58144
+ /** Creates a new text case token with updated value */
58145
+ static textCaseTokenByUpdatingValue(token, newValue) {
58146
+ this.checkNotReference(token);
58147
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58148
+ update.value = {
58149
+ value: newValue.value,
58150
+ options: newValue.options,
58151
+ referencedTokenId: null,
58152
+ };
58153
+ return update;
58154
+ }
58155
+ /** Creates a new text case token with updated value */
58156
+ static textDecorationTokenByUpdatingValue(token, newValue) {
58157
+ this.checkNotReference(token);
58158
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58159
+ update.value = {
58160
+ value: newValue.value,
58161
+ options: newValue.options,
58162
+ referencedTokenId: null,
58163
+ };
58164
+ return update;
58165
+ }
58166
+ /** Creates a new visibility token with updated value */
58167
+ static visibilityTokenByUpdatingValue(token, newValue) {
58168
+ this.checkNotReference(token);
58169
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58170
+ update.value = {
58171
+ value: newValue.value,
58172
+ options: newValue.options,
58173
+ referencedTokenId: null,
58174
+ };
58175
+ return update;
58176
+ }
58177
+ // --- --- --- --- --- --- --- --- --- ---
58178
+ // MARK: - Multi-layer token manipulation
58179
+ /** Creates a new shadow token with one new extra layer added at the end of all layers */
58180
+ static shadowTokenByAddingLayer(token) {
58181
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58182
+ const layer = {
58183
+ color: {
58184
+ color: {
58185
+ r: 0,
58186
+ g: 0,
58187
+ b: 0,
58188
+ referencedTokenId: null,
58189
+ },
58190
+ opacity: {
58191
+ measure: 1,
58192
+ unit: exports_1.Unit.raw,
58193
+ referencedTokenId: null,
58194
+ },
58195
+ referencedTokenId: null,
58196
+ },
58197
+ opacity: {
58198
+ measure: 1,
58199
+ unit: exports_1.Unit.raw,
58200
+ referencedTokenId: null,
58201
+ },
58202
+ radius: 0,
58203
+ spread: 0,
58204
+ type: exports_1.ShadowType.drop,
58205
+ x: 0,
58206
+ y: 4,
58207
+ referencedTokenId: null,
58208
+ };
58209
+ update.value.push(layer);
58210
+ return update;
58211
+ }
58212
+ /** Creates a new shadow token by removing one of the layers */
58213
+ static shadowTokenByRemovingLayer(token, layerIndex) {
58214
+ this.validateLayerAccess(token, layerIndex);
58215
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58216
+ update.value = update.value.splice(layerIndex, 1);
58217
+ return update;
58218
+ }
58219
+ /** Creates a new shadow token with updated .color value. Do note, opacity is ignored */
58220
+ static shadowTokenByUpdatingColor(token, layerIndex, newValue) {
58221
+ this.validateLayerAccess(token, layerIndex);
58222
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58223
+ const layer = update.value[layerIndex];
58224
+ if (newValue instanceof SDKColorToken_1.ColorToken) {
58225
+ layer.color = {
58226
+ opacity: layer.color.opacity,
58227
+ color: {
58228
+ r: newValue.value.color.r,
58229
+ g: newValue.value.color.g,
58230
+ b: newValue.value.color.b,
58231
+ referencedTokenId: newValue.value.color.referencedTokenId,
58232
+ },
58233
+ referencedTokenId: newValue.id,
58234
+ };
58235
+ }
58236
+ else {
58237
+ layer.color = {
58238
+ opacity: layer.color.opacity,
58239
+ color: {
58240
+ r: newValue.r,
58241
+ g: newValue.g,
58242
+ b: newValue.b,
58243
+ referencedTokenId: newValue.referencedTokenId,
58244
+ },
58245
+ referencedTokenId: null,
58246
+ };
58247
+ }
58248
+ return update;
58249
+ }
58250
+ /** Creates a new shadow token with updated .color value */
58251
+ static shadowTokenByUpdatingOpacity(token, layerIndex, newValue) {
58252
+ this.validateLayerAccess(token, layerIndex);
58253
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58254
+ const layer = update.value[layerIndex];
58255
+ if (newValue instanceof SDKDimensionToken_1.OpacityToken) {
58256
+ layer.opacity = {
58257
+ measure: newValue.value.measure,
58258
+ unit: newValue.value.unit,
58259
+ referencedTokenId: newValue.id,
58260
+ };
58261
+ }
58262
+ else {
58263
+ layer.opacity = {
58264
+ measure: newValue,
58265
+ unit: exports_1.Unit.raw,
58266
+ referencedTokenId: null,
58267
+ };
58268
+ }
58269
+ return update;
58270
+ }
58271
+ /** Creates a new shadow token with updated .x value */
58272
+ static shadowTokenByUpdatingX(token, layerIndex, newValue) {
58273
+ this.validateLayerAccess(token, layerIndex);
58274
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58275
+ const layer = update.value[layerIndex];
58276
+ layer.x = newValue;
58277
+ return update;
58278
+ }
58279
+ /** Creates a new shadow token with updated .y value */
58280
+ static shadowTokenByUpdatingY(token, layerIndex, newValue) {
58281
+ this.validateLayerAccess(token, layerIndex);
58282
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58283
+ const layer = update.value[layerIndex];
58284
+ layer.y = newValue;
58285
+ return update;
58286
+ }
58287
+ /** Creates a new shadow token with updated .radius value */
58288
+ static shadowTokenByUpdatingRadius(token, layerIndex, newValue) {
58289
+ this.validateLayerAccess(token, layerIndex);
58290
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58291
+ const layer = update.value[layerIndex];
58292
+ layer.radius = newValue;
58293
+ return update;
58294
+ }
58295
+ /** Creates a new shadow token with updated .spread value */
58296
+ static shadowTokenByUpdatingSpread(token, layerIndex, newValue) {
58297
+ this.validateLayerAccess(token, layerIndex);
58298
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58299
+ const layer = update.value[layerIndex];
58300
+ layer.spread = newValue;
58301
+ return update;
58302
+ }
58303
+ /** Creates a new shadow token with updated .type value */
58304
+ static shadowTokenByUpdatingType(token, layerIndex, newValue) {
58305
+ this.validateLayerAccess(token, layerIndex);
58306
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58307
+ const layer = update.value[layerIndex];
58308
+ layer.type = newValue;
58309
+ return update;
58310
+ }
58311
+ /** Creates a new gradient token with updated .to value */
58312
+ static gradientTokenByUpdatingTo(token, layerIndex, newValue) {
58313
+ this.validateLayerAccess(token, layerIndex);
58314
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58315
+ const layer = update.value[layerIndex];
58316
+ layer.to = newValue;
58317
+ return update;
58318
+ }
58319
+ /** Creates a new gradient token with updated .from value */
58320
+ static gradientTokenByUpdatingFrom(token, layerIndex, newValue) {
58321
+ this.validateLayerAccess(token, layerIndex);
58322
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58323
+ const layer = update.value[layerIndex];
58324
+ layer.from = newValue;
58325
+ return update;
58326
+ }
58327
+ /** Creates a new gradient token with updated .to value */
58328
+ static gradientTokenByUpdatingType(token, layerIndex, newValue) {
58329
+ this.validateLayerAccess(token, layerIndex);
58330
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58331
+ const layer = update.value[layerIndex];
58332
+ layer.type = newValue;
58333
+ return update;
57308
58334
  }
57309
- /** Creates a new default text case token */
57310
- static createDefaultTextCaseToken(versionId, brandId, properties) {
57311
- const value = "Original";
57312
- return SDKTextCaseToken_1.TextCaseToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
58335
+ /** Creates a new gradient token with updated .aspectRatio value */
58336
+ static gradientTokenByUpdatingAspectRatio(token, layerIndex, newValue) {
58337
+ this.validateLayerAccess(token, layerIndex);
58338
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58339
+ const layer = update.value[layerIndex];
58340
+ layer.aspectRatio = newValue;
58341
+ return update;
57313
58342
  }
57314
- /** Creates a new default text case token */
57315
- static createDefaultTextDecorationToken(versionId, brandId, properties) {
57316
- const value = "None";
57317
- return SDKTextDecorationToken_1.TextDecorationToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
58343
+ /** Creates a new gradient token with updated .to value */
58344
+ static gradientTokenByUpdatingStops(token, layerIndex, newValue) {
58345
+ TokenUtils.validateLayerAccess(token, layerIndex);
58346
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58347
+ const layer = update.value[layerIndex];
58348
+ const stops = new Array();
58349
+ for (const v of newValue) {
58350
+ if (v.color instanceof SDKColorToken_1.ColorToken) {
58351
+ const stop = {
58352
+ position: v.position,
58353
+ color: {
58354
+ opacity: v.color.value.opacity,
58355
+ color: {
58356
+ r: v.color.value.color.r,
58357
+ g: v.color.value.color.g,
58358
+ b: v.color.value.color.b,
58359
+ referencedTokenId: v.color.value.color.referencedTokenId,
58360
+ },
58361
+ referencedTokenId: v.color.id,
58362
+ },
58363
+ };
58364
+ stops.push(stop);
58365
+ }
58366
+ else {
58367
+ const stop = {
58368
+ position: v.position,
58369
+ color: {
58370
+ opacity: v.color.opacity,
58371
+ color: {
58372
+ r: v.color.color.r,
58373
+ g: v.color.color.g,
58374
+ b: v.color.color.b,
58375
+ referencedTokenId: v.color.color.referencedTokenId,
58376
+ },
58377
+ referencedTokenId: null,
58378
+ },
58379
+ };
58380
+ stops.push(stop);
58381
+ }
58382
+ }
58383
+ layer.stops = stops;
58384
+ return update;
57318
58385
  }
57319
- /** Creates a new default visibility token */
57320
- static createDefaultVisibilityToken(versionId, brandId, properties) {
57321
- const value = exports_1.VisibilityType.visible;
57322
- return SDKVisibilityToken_1.VisibilityToken.create(versionId, brandId, "Token", "", value, undefined, properties, []);
58386
+ // --- --- --- --- --- --- --- --- --- ---
58387
+ // MARK: - Manipulating references
58388
+ /** Creates a new token where value is reference to the provided token. Token and reference must be of the same type */
58389
+ static tokenByReferencing(token, reference) {
58390
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
58391
+ if (token.id === reference.id) {
58392
+ throw exports_1.SupernovaError.fromMessage("Can't create reference where token would reference itself");
58393
+ }
58394
+ if (token.tokenType !== reference.tokenType) {
58395
+ throw exports_1.SupernovaError.fromMessage("Can't reference token of different type");
58396
+ }
58397
+ update.value = Object.assign(Object.assign({}, (0, lodash_2.cloneDeep)(reference.value)), { referencedTokenId: reference.id });
58398
+ return update;
57323
58399
  }
57324
- /** Creates a new default generic token */
57325
- static createDefaultBlurToken(versionId, brandId, properties) {
57326
- const value = {
57327
- radius: 10,
57328
- type: "Background",
57329
- };
57330
- return SDKBlurToken_1.BlurToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
58400
+ /** Creates a new multilayer token where one of the layers is reference to the provided token. Token and reference must be of the same type */
58401
+ static multilayerTokenByReferencing(token, layerIndex, reference) {
58402
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithValue(token);
58403
+ if (token.id === reference.id) {
58404
+ throw exports_1.SupernovaError.fromMessage("Can't create reference where token would reference itself");
58405
+ }
58406
+ if (token.tokenType !== reference.tokenType) {
58407
+ throw exports_1.SupernovaError.fromMessage("Can't reference token of different type");
58408
+ }
58409
+ // NOTE: make sure that token copy value is blank to have new value copied in
58410
+ update.value = [];
58411
+ update.value[layerIndex] = Object.assign(Object.assign({}, (0, lodash_2.cloneDeep)(reference.value[layerIndex])), { referencedTokenId: reference.id });
58412
+ return update;
57331
58413
  }
57332
- /** Creates a new default generic token */
57333
- static createDefaultStringToken(versionId, brandId, properties) {
57334
- const value = "";
57335
- return SDKStringToken_1.StringToken.create(SDKTokenType_1.TokenType.string, versionId, brandId, "Token", "", value, undefined, properties, []);
58414
+ /** Creates a new token where value is raw, but taken from the previously referenced token. Token must have had reference before */
58415
+ static tokenByDisconnectingReference(token, options = {}) {
58416
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
58417
+ if (!token.value.referencedTokenId && !options.supressErrorOnNoReference) {
58418
+ throw exports_1.SupernovaError.fromMessage("Can't create raw token from a token that isn't previously a reference");
58419
+ }
58420
+ update.value = Object.assign(Object.assign({}, (0, lodash_2.cloneDeep)(token.value)), { referencedTokenId: null });
58421
+ return update;
57336
58422
  }
57337
- /** Creates a new default generic token */
57338
- static createDefaultProductCopyToken(versionId, brandId, properties) {
57339
- const value = "";
57340
- return SDKStringToken_1.ProductCopyToken.create(SDKTokenType_1.TokenType.productCopy, versionId, brandId, "Token", "", value, undefined, properties, []);
58423
+ /** Creates a new multilayer token where one of the layers value is raw, but taken from the previously referenced token. That layer must have had reference before */
58424
+ static multilayerTokenByDisconnectingReference(token, layerIndex) {
58425
+ const update = SDKThemeUtilities_1.ThemeUtilities.replicateTokenWithoutValue(token);
58426
+ if (!token.value.referencedTokenId) {
58427
+ throw exports_1.SupernovaError.fromMessage("Can't create raw token from a token that isn't previously a reference");
58428
+ }
58429
+ // TODO: Multilayer shadow & gradient disconnect of the references
58430
+ return update;
57341
58431
  }
57342
- /** Creates a new default generic token */
57343
- static createDefaultShadowToken(versionId, brandId, properties) {
57344
- const value = {
57345
- x: 0,
57346
- y: 4,
57347
- blur: 4,
57348
- spread: 0,
57349
- color: "#000000",
57350
- opacity: 0.25,
57351
- type: "dropShadow",
57352
- };
57353
- return SDKShadowToken_1.ShadowToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
58432
+ /** Checks if token as a whole is a reference to another token */
58433
+ static isReferencedToken(token) {
58434
+ return (token.value.referencedTokenId !== null &&
58435
+ token.value.referencedTokenId !== undefined);
57354
58436
  }
57355
- /** Creates a new default generic token */
57356
- static createDefaultBorderToken(versionId, brandId, properties) {
57357
- const value = {
57358
- color: "#000000",
57359
- position: "outside",
57360
- style: "solid",
57361
- width: 1,
57362
- };
57363
- return SDKBorderToken_1.BorderToken.create(versionId, brandId, "Token", "", value, undefined, new SDKDTTokenReferenceResolver_1.DTTokenReferenceResolver(), properties, []);
58437
+ /** Checks if a token layer of multilayer token is a reference to another token */
58438
+ static isReferencedMultilayerTokenLayer(token, layerIndex) {
58439
+ this.validateLayerAccess(token, layerIndex);
58440
+ const layer = token.value[layerIndex];
58441
+ return (layer.referencedTokenId !== null && layer.referencedTokenId !== undefined);
57364
58442
  }
57365
- static replaceIdAcrossAllPossibleReferences(override, newId, allTokens) {
57366
- const currentId = override.token.id;
57367
- override.token.id = newId;
57368
- this.replaceIdAcrossAllPossibleReferencesWithTokens(currentId, newId, allTokens.map((t) => t.token));
58443
+ /** Checks if a token was imported from some foreign source. Not imported tokens were always created in Supernova */
58444
+ static isTokenImported(token) {
58445
+ var _a, _b;
58446
+ return (((_a = token.origin) === null || _a === void 0 ? void 0 : _a.sourceId) !== null && ((_b = token.origin) === null || _b === void 0 ? void 0 : _b.sourceId) !== undefined);
57369
58447
  }
57370
- static replaceIdAcrossAllPossibleReferencesWithTokens(currentId, newId, allTokens) {
57371
- const mappedTokens = TokenUtils.tokensToReferenceMap(allTokens);
57372
- for (const t of allTokens) {
57373
- const token = t;
57374
- // Generic check for reference
57375
- (0, SDKTokenValue_1.replaceReferencedTokenIds)(token, currentId, newId, mappedTokens);
57376
- TokenUtils.replaceIdForComplexTokens(token, currentId, newId);
58448
+ // --- --- --- --- --- --- --- --- --- ---
58449
+ // MARK: - Conveniences
58450
+ static checkNotReference(token) {
58451
+ if (token.value.referencedTokenId) {
58452
+ throw exports_1.SupernovaError.fromMessage("Performing value-replated operation on referenced token is not allowed");
57377
58453
  }
57378
58454
  }
57379
- static replaceIdForComplexTokens(token, currentId, newId) {
57380
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
57381
- // Specific checks for tokens that can reference other values internally
57382
- if (token instanceof SDKTypographyToken_1.TypographyToken) {
57383
- if (((_a = token.value.fontWeight) === null || _a === void 0 ? void 0 : _a.referencedTokenId) &&
57384
- ((_b = token.value.fontWeight) === null || _b === void 0 ? void 0 : _b.referencedTokenId) === currentId) {
57385
- token.value.fontWeight.referencedTokenId = newId;
57386
- }
57387
- if (((_c = token.value.fontFamily) === null || _c === void 0 ? void 0 : _c.referencedTokenId) &&
57388
- ((_d = token.value.fontFamily) === null || _d === void 0 ? void 0 : _d.referencedTokenId) === currentId) {
57389
- token.value.fontFamily.referencedTokenId = newId;
57390
- }
57391
- if (((_e = token.value.fontSize) === null || _e === void 0 ? void 0 : _e.referencedTokenId) &&
57392
- ((_f = token.value.fontSize) === null || _f === void 0 ? void 0 : _f.referencedTokenId) === currentId) {
57393
- token.value.fontSize.referencedTokenId = newId;
57394
- }
57395
- if (((_g = token.value.letterSpacing) === null || _g === void 0 ? void 0 : _g.referencedTokenId) &&
57396
- ((_h = token.value.letterSpacing) === null || _h === void 0 ? void 0 : _h.referencedTokenId) === currentId) {
57397
- token.value.letterSpacing.referencedTokenId = newId;
57398
- }
57399
- if (((_j = token.value.lineHeight) === null || _j === void 0 ? void 0 : _j.referencedTokenId) &&
57400
- ((_k = token.value.lineHeight) === null || _k === void 0 ? void 0 : _k.referencedTokenId) === currentId) {
57401
- token.value.lineHeight.referencedTokenId = newId;
57402
- }
57403
- if (((_l = token.value.paragraphIndent) === null || _l === void 0 ? void 0 : _l.referencedTokenId) &&
57404
- ((_m = token.value.paragraphIndent) === null || _m === void 0 ? void 0 : _m.referencedTokenId) === currentId) {
57405
- token.value.paragraphIndent.referencedTokenId = newId;
57406
- }
57407
- if (((_o = token.value.paragraphSpacing) === null || _o === void 0 ? void 0 : _o.referencedTokenId) &&
57408
- ((_p = token.value.paragraphSpacing) === null || _p === void 0 ? void 0 : _p.referencedTokenId) === currentId) {
57409
- token.value.paragraphSpacing.referencedTokenId = newId;
57410
- }
57411
- if (((_q = token.value.textCase) === null || _q === void 0 ? void 0 : _q.referencedTokenId) &&
57412
- ((_r = token.value.textCase) === null || _r === void 0 ? void 0 : _r.referencedTokenId) === currentId) {
57413
- token.value.textCase.referencedTokenId = newId;
57414
- }
57415
- if (((_s = token.value.textDecoration) === null || _s === void 0 ? void 0 : _s.referencedTokenId) &&
57416
- ((_t = token.value.textDecoration) === null || _t === void 0 ? void 0 : _t.referencedTokenId) === currentId) {
57417
- token.value.textDecoration.referencedTokenId = newId;
57418
- }
58455
+ static rawOrReferencedDimensionValue(newValue) {
58456
+ if (newValue instanceof SDKDimensionToken_1.DimensionCategoryToken) {
58457
+ return {
58458
+ measure: newValue.value.measure,
58459
+ unit: newValue.value.unit,
58460
+ referencedTokenId: newValue.id,
58461
+ };
57419
58462
  }
57420
- else if (token instanceof SDKShadowToken_1.ShadowToken) {
57421
- for (const tokenValue of token.value) {
57422
- if (((_u = tokenValue.color) === null || _u === void 0 ? void 0 : _u.referencedTokenId) &&
57423
- ((_v = tokenValue.color) === null || _v === void 0 ? void 0 : _v.referencedTokenId) === currentId) {
57424
- tokenValue.color.referencedTokenId = newId;
57425
- }
57426
- }
58463
+ return {
58464
+ measure: newValue.measure,
58465
+ unit: newValue.unit,
58466
+ referencedTokenId: null,
58467
+ };
58468
+ }
58469
+ static rawOrReferencedStringValue(newValue) {
58470
+ if (newValue instanceof SDKStringToken_1.StringCategoryToken) {
58471
+ return {
58472
+ text: newValue.value.text,
58473
+ referencedTokenId: newValue.id,
58474
+ };
57427
58475
  }
57428
- else if (token instanceof SDKBorderToken_1.BorderToken) {
57429
- if (((_w = token.value.color) === null || _w === void 0 ? void 0 : _w.referencedTokenId) &&
57430
- ((_x = token.value.color) === null || _x === void 0 ? void 0 : _x.referencedTokenId) === currentId) {
57431
- token.value.color.referencedTokenId = newId;
57432
- }
57433
- if (((_y = token.value.width) === null || _y === void 0 ? void 0 : _y.referencedTokenId) &&
57434
- ((_z = token.value.width) === null || _z === void 0 ? void 0 : _z.referencedTokenId) === currentId) {
57435
- token.value.width.referencedTokenId = newId;
57436
- }
58476
+ return {
58477
+ text: newValue.text,
58478
+ referencedTokenId: null,
58479
+ };
58480
+ }
58481
+ static validateLayerAccess(token, index) {
58482
+ let layers;
58483
+ if (token instanceof SDKShadowToken_1.ShadowToken) {
58484
+ layers = token.shadowLayers;
57437
58485
  }
57438
- else if (token instanceof SDKGradientToken_1.GradientToken) {
57439
- for (const tokenValue of token.value) {
57440
- for (const stop of tokenValue.stops) {
57441
- if (((_0 = stop.color) === null || _0 === void 0 ? void 0 : _0.referencedTokenId) &&
57442
- ((_1 = stop.color) === null || _1 === void 0 ? void 0 : _1.referencedTokenId) === currentId) {
57443
- stop.color.referencedTokenId = newId;
57444
- }
57445
- }
57446
- }
58486
+ else {
58487
+ layers = token.gradientLayers;
57447
58488
  }
57448
- else if (token instanceof SDKBlurToken_1.BlurToken) {
57449
- if (((_2 = token.value.radius) === null || _2 === void 0 ? void 0 : _2.referencedTokenId) &&
57450
- ((_3 = token.value.radius) === null || _3 === void 0 ? void 0 : _3.referencedTokenId) === currentId) {
57451
- token.value.radius.referencedTokenId = newId;
57452
- }
58489
+ if (index < 0 || index >= layers.length) {
58490
+ throw exports_1.SupernovaError.fromMessage(`Can't access layer at index ${index}, layer outside of allowed bounds`);
57453
58491
  }
57454
58492
  }
57455
58493
  static inlineValueIntoComplexTokens(token, candidateId, candidateValueToInline) {
@@ -57577,17 +58615,20 @@ class TokenUtils {
57577
58615
  static buildFallbackKey(node) {
57578
58616
  return this.buildKey(node.path, node.token.name)
57579
58617
  .replace(/^measure\//, this.mapTypeToPrefix(node.token.tokenType) + '/')
57580
- .replace(/^generic\//, this.mapTypeToPrefix(node.token.tokenType) + '/');
58618
+ .replace(/^generic\//, this.mapTypeToPrefix(node.token.tokenType) + '/')
58619
+ .replace(/^radius\//, this.mapTypeToPrefix(node.token.tokenType) + '/');
57581
58620
  }
57582
58621
  static buildFallbackKeyBack(node) {
57583
58622
  return this.buildKey(node.path, node.token.name)
57584
- .replace(/^(font-size|font-sizing|line-height|letter-spacing|paragraph-spacing|spacing|space|opacity|size|sizing)\//, 'measure/')
57585
- .replace(/^(font-family|font-weight)\//, 'generic/');
58623
+ .replace(/^(dimension|font-size|font-sizing|line-height|letter-spacing|paragraph-spacing|spacing|space|opacity|size|sizing)\//, 'measure/')
58624
+ .replace(/^(font-family|font-weight)\//, 'generic/')
58625
+ .replace(/^(border-radius)\//, 'radius/');
57586
58626
  }
57587
58627
  static buildFallbackKey2(node) {
57588
58628
  return this.buildKey(node.path, node.token.name)
57589
58629
  .replace(/^measure\//, this.mapTypeToPrefix2(node.token.tokenType) + '/')
57590
- .replace(/^generic\//, this.mapTypeToPrefix(node.token.tokenType) + '/');
58630
+ .replace(/^generic\//, this.mapTypeToPrefix(node.token.tokenType) + '/')
58631
+ .replace(/^radius\//, this.mapTypeToPrefix(node.token.tokenType) + '/');
57591
58632
  }
57592
58633
  static getTokenByKeyOrFallbackKeys(node, map) {
57593
58634
  var _a;
@@ -57597,11 +58638,10 @@ class TokenUtils {
57597
58638
  static getKeysByKeyOrFallbackKeys(node) {
57598
58639
  const key = TokenUtils.buildKey(node.path, node.token.name);
57599
58640
  const fallbackKey = TokenUtils.buildFallbackKey(node);
57600
- const fallbackKey2 = TokenUtils.buildFallbackKey(node);
58641
+ const fallbackKey2 = TokenUtils.buildFallbackKey2(node);
57601
58642
  // FIXMENOW: Verify and test
57602
58643
  const fallbackKey3 = TokenUtils.buildFallbackKeyBack(node);
57603
- if (key !== fallbackKey || key !== fallbackKey2)
57604
- console.log({ key, fallbackKey, fallbackKey2 });
58644
+ // if (key !== fallbackKey || key !== fallbackKey2) console.log({ key, fallbackKey, fallbackKey2 })
57605
58645
  return [key, fallbackKey, fallbackKey2, fallbackKey3];
57606
58646
  }
57607
58647
  static getTokenByKeyOrBackwardKey(node, map) {
@@ -57631,7 +58671,7 @@ TokenUtils.mapTypeToPrefix = (type) => {
57631
58671
  case SDKTokenType_1.TokenType.space:
57632
58672
  return 'spacing';
57633
58673
  case SDKTokenType_1.TokenType.radius:
57634
- return 'radius';
58674
+ return 'border-radius';
57635
58675
  case SDKTokenType_1.TokenType.fontFamily:
57636
58676
  return 'font-family';
57637
58677
  case SDKTokenType_1.TokenType.fontWeight: