@blackbaud/skyux-branding-builder 0.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/index.d.ts +8 -0
  3. package/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/plugins/build-style-dictionary-plugin.mjs +118 -92
  6. package/src/plugins/build-style-dictionary-plugin.mjs.map +1 -1
  7. package/src/plugins/shared/public-api-classes-utils.d.mts +4 -0
  8. package/src/plugins/shared/public-api-classes-utils.mjs +105 -0
  9. package/src/plugins/shared/public-api-classes-utils.mjs.map +1 -0
  10. package/src/plugins/shared/public-api-tokens-utils.d.mts +5 -0
  11. package/src/plugins/shared/public-api-tokens-utils.mjs +134 -0
  12. package/src/plugins/shared/public-api-tokens-utils.mjs.map +1 -0
  13. package/src/plugins/shared/style-dictionary-config.d.mts +14 -0
  14. package/src/plugins/shared/style-dictionary-config.mjs +108 -0
  15. package/src/plugins/shared/style-dictionary-config.mjs.map +1 -0
  16. package/src/types/generated-file.d.ts +6 -0
  17. package/src/types/generated-file.js +2 -0
  18. package/src/types/generated-file.js.map +1 -0
  19. package/src/types/public-api-class-group.d.ts +8 -0
  20. package/src/types/public-api-class-group.js +2 -0
  21. package/src/types/public-api-class-group.js.map +1 -0
  22. package/src/types/public-api-class.d.ts +7 -0
  23. package/src/types/public-api-class.js +2 -0
  24. package/src/types/public-api-class.js.map +1 -0
  25. package/src/types/public-api-classes.d.ts +6 -0
  26. package/src/types/public-api-classes.js +2 -0
  27. package/src/types/public-api-classes.js.map +1 -0
  28. package/src/types/public-api-token-group.d.ts +7 -0
  29. package/src/types/public-api-token-group.js +2 -0
  30. package/src/types/public-api-token-group.js.map +1 -0
  31. package/src/types/public-api-token.d.ts +6 -0
  32. package/src/types/public-api-token.js +2 -0
  33. package/src/types/public-api-token.js.map +1 -0
  34. package/src/types/public-api-tokens.d.ts +6 -0
  35. package/src/types/public-api-tokens.js +2 -0
  36. package/src/types/public-api-tokens.js.map +1 -0
  37. package/src/types/public-class-set.d.ts +4 -0
  38. package/src/types/public-class-set.js +2 -0
  39. package/src/types/public-class-set.js.map +1 -0
  40. package/src/types/public-token-set.d.ts +4 -0
  41. package/src/types/public-token-set.js +2 -0
  42. package/src/types/public-token-set.js.map +1 -0
  43. package/src/types/sky-style-dictionary-config.d.ts +7 -0
  44. package/src/types/sky-style-dictionary-config.js +2 -0
  45. package/src/types/sky-style-dictionary-config.js.map +1 -0
  46. package/src/types/sky-token-options.d.ts +6 -0
  47. package/src/types/sky-token-options.js +2 -0
  48. package/src/types/sky-token-options.js.map +1 -0
  49. package/src/types/token-set.d.ts +4 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
- # 0.0.1 (2025-08-21)
2
- - implement shared plugins for generating tokens, manifest assets, and preparing a package
1
+ # 1.1.0 (2026-03-04)
2
+ - Add support for public API custom properties and classes. [#5](https://github.com/blackbaud/skyux-branding-builder/pull/5)
3
+
4
+ # 1.0.0 (2025-08-22)
5
+ - Release 1.0.0 version of @blackbaud/skyux-branding-builder
3
6
 
4
7
  # 0.0.2 (2025-08-21)
5
- - Update build configuration
8
+ - Update build configuration
9
+
10
+ # 0.0.1 (2025-08-21)
11
+ - implement shared plugins for generating tokens, manifest assets, and preparing a package
package/index.d.ts CHANGED
@@ -3,6 +3,14 @@ export type { Responsive } from './src/types/responsive.ts';
3
3
  export type { ReferenceTokenSet } from './src/types/reference-token-set.ts';
4
4
  export type { TokenConfig } from './src/types/token-config.ts';
5
5
  export type { TokenSet } from './src/types/token-set.ts';
6
+ export type { PublicTokenSet } from './src/types/public-token-set.ts';
7
+ export type { PublicClassSet } from './src/types/public-class-set.ts';
8
+ export type { PublicApiTokens } from './src/types/public-api-tokens.js';
9
+ export type { PublicApiTokenGroup } from './src/types/public-api-token-group.js';
10
+ export type { PublicApiToken } from './src/types/public-api-token.ts';
11
+ export type { PublicApiClasses } from './src/types/public-api-classes.ts';
12
+ export type { PublicApiClassGroup } from './src/types/public-api-class-group.ts';
13
+ export type { PublicApiClass } from './src/types/public-api-class.ts';
6
14
  export { buildStyleDictionaryPlugin } from './src/plugins/build-style-dictionary-plugin.mjs';
7
15
  export { buildAssetsManifestPlugin } from './src/plugins/build-assets-manifest-plugin.mjs';
8
16
  export { preparePackagePlugin } from './src/plugins/prepare-package-plugin.mjs';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blackbaud/skyux-branding-builder",
3
- "version": "0.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "style dictionary builder for design tokens",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,50 +1,30 @@
1
+ import { readFile } from 'fs/promises';
1
2
  import { sync } from 'glob';
2
3
  import path from 'path';
3
4
  import StyleDictionary from 'style-dictionary';
4
5
  import { formattedVariables, sortByName } from 'style-dictionary/utils';
5
6
  import { getTransforms, register } from '@tokens-studio/sd-transforms';
6
- import { generateAssetsCss, fixAssetsUrlValue, } from './shared/assets-utils.mjs';
7
- const DEFAULT_SD_CONFIG = {
8
- preprocessors: ['tokens-studio'],
9
- platforms: {
10
- css: {
11
- transformGroup: 'custom/tokens-studio',
12
- options: {
13
- outputReferences: true,
14
- showFileHeader: false,
15
- },
16
- buildPath: `dist/`,
17
- },
18
- },
19
- };
20
- function isUrlToken(token) {
21
- return (token.$extensions?.['com.blackbaud.developer.sky-token-format'] === 'url');
22
- }
23
- function getMediaQueryMinWidth(breakpoint) {
24
- switch (breakpoint) {
25
- case 'xs':
26
- default:
27
- return '0px';
28
- case 's':
29
- return '768px';
30
- case 'm':
31
- return '992px';
32
- case 'l':
33
- return '1200px';
34
- }
35
- }
7
+ import { fixAssetsUrlValue } from './shared/assets-utils.mjs';
8
+ import { buildPublicApiGroups, collectPublicTokenCssProperties, mergePublicApiResults, } from './shared/public-api-tokens-utils.mjs';
9
+ import { generatePublicClassesCss, mergePublicApiClassesResults, validatePublicClassesCssProperties, } from './shared/public-api-classes-utils.mjs';
10
+ import { addAssetsCss, getBaseDictionaryConfig, getMediaQueryMinWidth, getPublicDictionaryConfig, getReferenceDictionaryConfig, isUrlToken, } from './shared/style-dictionary-config.mjs';
36
11
  async function generateDictionaryFiles(tokenConfig, skyOptions) {
37
12
  const sd = new StyleDictionary(undefined);
38
- let allFiles = [];
39
- await Promise.all(tokenConfig.tokenSets.map(async (tokenSet) => {
40
- const tokenDictionary = await sd.extend(getBaseDictionaryConfig(tokenConfig, tokenSet, {
13
+ const rootPath = tokenConfig.rootPath || 'src/tokens/';
14
+ const results = await Promise.all(tokenConfig.tokenSets.map(async (tokenSet) => {
15
+ const tokenFiles = [];
16
+ const publicTokenCssFiles = [];
17
+ const publicTokenJsonFiles = [];
18
+ const publicClassFiles = [];
19
+ const publicClassJsonFiles = [];
20
+ const tokenDictionary = await sd.extend(getBaseDictionaryConfig(rootPath, tokenSet, {
41
21
  ...skyOptions,
42
22
  generateUrlAtProperties: true,
43
23
  }));
44
- const files = await tokenDictionary.formatPlatform('css');
45
- allFiles = allFiles.concat(files);
46
- await Promise.all(tokenSet.referenceTokens.map(async (referenceTokenSet) => {
47
- const referenceTokenDictionary = await sd.extend(getReferenceDictionaryConfig(tokenConfig, tokenSet, referenceTokenSet, skyOptions));
24
+ const sourceCssFiles = await tokenDictionary.formatPlatform('css');
25
+ tokenFiles.push(...sourceCssFiles);
26
+ const referenceTokenResults = await Promise.all(tokenSet.referenceTokens.map(async (referenceTokenSet) => {
27
+ const referenceTokenDictionary = await sd.extend(getReferenceDictionaryConfig(rootPath, tokenSet, referenceTokenSet, skyOptions));
48
28
  const files = await referenceTokenDictionary.formatPlatform('css');
49
29
  files.forEach((file) => {
50
30
  if (referenceTokenSet.responsive) {
@@ -57,66 +37,60 @@ async function generateDictionaryFiles(tokenConfig, skyOptions) {
57
37
  file.breakpoint = referenceTokenSet.responsive.breakpoint;
58
38
  }
59
39
  });
60
- allFiles = allFiles.concat(files);
40
+ return files;
61
41
  }));
42
+ tokenFiles.push(...referenceTokenResults.flat());
43
+ if (tokenSet.publicTokens?.length) {
44
+ const publicResults = await Promise.all(tokenSet.publicTokens.map(async (publicTokenSet) => {
45
+ const publicTokenDictionary = await sd.extend(getPublicDictionaryConfig(rootPath, tokenSet, publicTokenSet, skyOptions));
46
+ const cssFiles = await publicTokenDictionary.formatPlatform('css');
47
+ const jsonFiles = await publicTokenDictionary.formatPlatform('json');
48
+ return { cssFiles, jsonFiles };
49
+ }));
50
+ publicTokenCssFiles.push(...publicResults.flatMap((r) => r.cssFiles));
51
+ publicTokenJsonFiles.push(...publicResults.flatMap((r) => r.jsonFiles));
52
+ }
53
+ if (tokenSet.publicClasses?.length) {
54
+ // Build the set of known CSS custom properties from this token set's public tokens.
55
+ const knownCssProperties = new Set();
56
+ for (const file of publicTokenJsonFiles) {
57
+ const parsed = JSON.parse(file.output);
58
+ collectPublicTokenCssProperties(parsed, knownCssProperties);
59
+ }
60
+ const classResults = await Promise.all(tokenSet.publicClasses.map(async (publicClassSet) => {
61
+ const json = await readFile(path.join(process.cwd(), `${rootPath}${publicClassSet.path}`), 'utf-8');
62
+ const publicApiClasses = JSON.parse(json);
63
+ validatePublicClassesCssProperties(publicApiClasses, knownCssProperties, publicClassSet.name);
64
+ return {
65
+ css: {
66
+ output: generatePublicClassesCss(publicApiClasses, tokenSet.selector),
67
+ destination: `${tokenSet.name}/${publicClassSet.name}.css`,
68
+ },
69
+ json: {
70
+ output: JSON.stringify(publicApiClasses),
71
+ destination: `${tokenSet.name}/${publicClassSet.name}.json`,
72
+ },
73
+ };
74
+ }));
75
+ publicClassFiles.push(...classResults.map((r) => r.css));
76
+ publicClassJsonFiles.push(...classResults.map((r) => r.json));
77
+ }
78
+ return { setTokenFiles: tokenFiles, setPublicTokenCssFiles: publicTokenCssFiles, setPublicTokenJsonFiles: publicTokenJsonFiles, setPublicClassFiles: publicClassFiles, setPublicClassJsonFiles: publicClassJsonFiles };
62
79
  }));
80
+ const tokenFiles = results.flatMap((r) => r.setTokenFiles);
81
+ const publicTokenCssFiles = results.flatMap((r) => r.setPublicTokenCssFiles);
82
+ const publicTokenJsonFiles = results.flatMap((r) => r.setPublicTokenJsonFiles);
83
+ const publicClassFiles = results.flatMap((r) => r.setPublicClassFiles);
84
+ const publicClassJsonFiles = results.flatMap((r) => r.setPublicClassJsonFiles);
63
85
  // We need to order the files by breakpoint so that the media queries are seen by the browser in the correct order.
64
86
  // Media queries do not count towards css specificity, so the order in which they are defined matters.
65
87
  const breakpointOrder = [undefined, 'xs', 's', 'm', 'l'];
66
- allFiles.sort((a, b) => {
88
+ tokenFiles.sort((a, b) => {
67
89
  const aIndex = breakpointOrder.indexOf(a.breakpoint);
68
90
  const bIndex = breakpointOrder.indexOf(b.breakpoint);
69
91
  return aIndex - bIndex;
70
92
  });
71
- return allFiles;
72
- }
73
- function getBaseDictionaryConfig(tokenConfig, tokenSet, skyOptions) {
74
- const config = {
75
- ...DEFAULT_SD_CONFIG,
76
- };
77
- const rootPath = tokenConfig.rootPath || 'src/tokens/';
78
- config.source = [`${rootPath}${tokenSet.path}`];
79
- const cssOptions = (config.platforms.css.options ??= {});
80
- Object.assign(cssOptions, {
81
- skyOptions,
82
- selector: tokenSet.selector,
83
- });
84
- config.platforms.css.files = [
85
- {
86
- destination: `${tokenSet.name}/${tokenSet.name}.css`,
87
- format: 'css/alphabetize-variables',
88
- filter: (token) => token.filePath.includes(tokenSet.path),
89
- },
90
- ];
91
- return config;
92
- }
93
- function getReferenceDictionaryConfig(tokenConfig, tokenSet, referenceTokenSet, skyOptions) {
94
- const config = {
95
- ...DEFAULT_SD_CONFIG,
96
- };
97
- const rootPath = tokenConfig.rootPath || 'src/tokens/';
98
- config.source = [`${rootPath}${tokenSet.path}`];
99
- config.include = [`${rootPath}${referenceTokenSet.path}`];
100
- const cssOptions = (config.platforms.css.options ??= {});
101
- Object.assign(cssOptions, {
102
- skyOptions,
103
- selector: `${tokenSet.selector}${referenceTokenSet.selector || ''}`,
104
- });
105
- config.platforms.css.files = [
106
- {
107
- destination: `${tokenSet.name}/${referenceTokenSet.name}.css`,
108
- format: 'css/alphabetize-variables',
109
- filter: (token) => token.filePath.includes(referenceTokenSet.path),
110
- },
111
- ];
112
- return config;
113
- }
114
- async function addAssetsCss(tokenConfig, basePath, fileContents) {
115
- const assetsCss = await generateAssetsCss(basePath, tokenConfig.projectName);
116
- if (assetsCss) {
117
- fileContents = `${assetsCss}\n\n${fileContents}`;
118
- }
119
- return fileContents;
93
+ return { tokenFiles, publicTokenCssFiles, publicTokenJsonFiles, publicClassFiles, publicClassJsonFiles };
120
94
  }
121
95
  export function buildStyleDictionaryPlugin(tokenConfig) {
122
96
  register(StyleDictionary);
@@ -139,7 +113,7 @@ export function buildStyleDictionaryPlugin(tokenConfig) {
139
113
  name: 'assets-path',
140
114
  type: 'value',
141
115
  filter: isUrlToken,
142
- transform: (token, _, options) => fixAssetsUrlValue(options.platforms?.css?.options?.skyOptions?.assetsBasePath, token.$value, tokenConfig.projectName),
116
+ transform: (token, platformConfig) => fixAssetsUrlValue(platformConfig.options?.skyOptions?.assetsBasePath, token.$value, tokenConfig.projectName),
143
117
  });
144
118
  // Register custom tokens-studio transform group without the resolveMath transform to allow browsers to do the `calc`.
145
119
  // Include the standard css transforms and the custom name transform.
@@ -178,6 +152,14 @@ export function buildStyleDictionaryPlugin(tokenConfig) {
178
152
  outputReferences,
179
153
  outputReferenceFallbacks,
180
154
  usesDtcg: true,
155
+ ...(skyOptions.showDescriptions
156
+ ? {
157
+ formatting: {
158
+ commentStyle: 'long',
159
+ commentPosition: 'above',
160
+ },
161
+ }
162
+ : {}),
181
163
  });
182
164
  return `${properties ? properties + '\n\n' : ''}${skyOptions?.selectorPrefix ?? ''}${options.selector} {
183
165
  ${variables}
@@ -185,6 +167,14 @@ ${variables}
185
167
  `;
186
168
  },
187
169
  });
170
+ StyleDictionary.registerFormat({
171
+ name: 'json/public-api',
172
+ format: function ({ dictionary }) {
173
+ const tokenTree = dictionary.unfilteredTokens ?? dictionary.tokens;
174
+ const result = buildPublicApiGroups(dictionary.allTokens, tokenTree);
175
+ return JSON.stringify(result, null, 2);
176
+ },
177
+ });
188
178
  return {
189
179
  name: 'transform-style-dictionary',
190
180
  async transform(_code, id) {
@@ -195,10 +185,11 @@ ${variables}
195
185
  }
196
186
  if (id.includes('src/dev/tokens.css')) {
197
187
  const assetsBasePath = '/assets/';
198
- const allFiles = await generateDictionaryFiles(tokenConfig, {
188
+ const { tokenFiles, publicTokenCssFiles } = await generateDictionaryFiles(tokenConfig, {
199
189
  assetsBasePath,
200
190
  selectorPrefix: '.local-dev-tokens',
201
191
  });
192
+ const allFiles = tokenFiles.concat(publicTokenCssFiles);
202
193
  let localTokens = allFiles.reduce((acc, file) => acc + file.output, '');
203
194
  localTokens = await addAssetsCss(tokenConfig, assetsBasePath, localTokens);
204
195
  return localTokens;
@@ -207,12 +198,13 @@ ${variables}
207
198
  },
208
199
  async generateBundle() {
209
200
  const assetsBasePath = '../';
210
- const allFiles = await generateDictionaryFiles(tokenConfig, {
201
+ const { tokenFiles, publicTokenCssFiles, publicTokenJsonFiles, publicClassFiles, publicClassJsonFiles } = await generateDictionaryFiles(tokenConfig, {
211
202
  assetsBasePath,
212
203
  selectorPrefix: '',
213
204
  });
214
205
  const compositeFiles = {};
215
- for (const file of allFiles) {
206
+ const publicApiFileName = 'bundles/public-api.css';
207
+ for (const file of tokenFiles) {
216
208
  if (file.destination) {
217
209
  const fileParts = file.destination.split('/');
218
210
  const tokenSetType = fileParts[1];
@@ -226,6 +218,16 @@ ${variables}
226
218
  compositeFiles[compatFileName] = fileContents;
227
219
  }
228
220
  }
221
+ for (const file of publicTokenCssFiles) {
222
+ let fileContents = compositeFiles[publicApiFileName] || '';
223
+ fileContents = fileContents.concat(file.output ?? '');
224
+ compositeFiles[publicApiFileName] = fileContents;
225
+ }
226
+ for (const file of publicClassFiles) {
227
+ let fileContents = compositeFiles[publicApiFileName] || '';
228
+ fileContents = fileContents.concat(file.output ?? '');
229
+ compositeFiles[publicApiFileName] = fileContents;
230
+ }
229
231
  for (const fileName of Object.keys(compositeFiles)) {
230
232
  const fileContents = await addAssetsCss(tokenConfig, assetsBasePath, compositeFiles[fileName]);
231
233
  this.emitFile({
@@ -234,6 +236,30 @@ ${variables}
234
236
  source: fileContents,
235
237
  });
236
238
  }
239
+ const publicApiJsonData = {};
240
+ for (const file of publicTokenJsonFiles) {
241
+ const parsed = JSON.parse(file.output);
242
+ mergePublicApiResults(publicApiJsonData, parsed);
243
+ }
244
+ if (publicApiJsonData.groups || publicApiJsonData.tokens) {
245
+ this.emitFile({
246
+ type: 'asset',
247
+ fileName: 'bundles/public-api-tokens.json',
248
+ source: JSON.stringify(publicApiJsonData, null, 2),
249
+ });
250
+ }
251
+ const publicApiClassesJsonData = {};
252
+ for (const file of publicClassJsonFiles) {
253
+ const parsed = JSON.parse(file.output);
254
+ mergePublicApiClassesResults(publicApiClassesJsonData, parsed);
255
+ }
256
+ if (publicApiClassesJsonData.groups || publicApiClassesJsonData.classes) {
257
+ this.emitFile({
258
+ type: 'asset',
259
+ fileName: 'bundles/public-api-classes.json',
260
+ source: JSON.stringify(publicApiClassesJsonData, null, 2),
261
+ });
262
+ }
237
263
  },
238
264
  };
239
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-style-dictionary-plugin.mjs","sourceRoot":"","sources":["../../../src/plugins/build-style-dictionary-plugin.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-style-dictionary-plugin.mjs","sourceRoot":"","sources":["../../../src/plugins/build-style-dictionary-plugin.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { PublicApiClasses } from '../../types/public-api-classes.js';
2
+ export declare function generatePublicClassesCss(publicApiClasses: PublicApiClasses, selector: string): string;
3
+ export declare function validatePublicClassesCssProperties(publicApiClasses: PublicApiClasses, knownCssProperties: Set<string>, setName: string): void;
4
+ export declare function mergePublicApiClassesResults(target: PublicApiClasses, source: PublicApiClasses): void;
@@ -0,0 +1,105 @@
1
+ export function generatePublicClassesCss(publicApiClasses, selector) {
2
+ const classes = collectAllClasses(publicApiClasses);
3
+ const lines = [];
4
+ for (const cls of classes) {
5
+ lines.push(`${selector} .${cls.className} {`);
6
+ for (const [prop, value] of Object.entries(cls.properties)) {
7
+ lines.push(` ${prop}: ${value};`);
8
+ }
9
+ lines.push('}');
10
+ }
11
+ lines.push('');
12
+ return lines.join('\n');
13
+ }
14
+ export function validatePublicClassesCssProperties(publicApiClasses, knownCssProperties, setName) {
15
+ const errors = [];
16
+ for (const cls of publicApiClasses.classes ?? []) {
17
+ checkClassCssProperties(cls.className, cls.properties, knownCssProperties, errors);
18
+ }
19
+ for (const group of publicApiClasses.groups ?? []) {
20
+ walkGroupCssProperties(group, knownCssProperties, errors);
21
+ }
22
+ if (errors.length) {
23
+ throw new Error(`Invalid CSS custom property references in "${setName}":\n${errors.join('\n')}`);
24
+ }
25
+ }
26
+ export function mergePublicApiClassesResults(target, source) {
27
+ if (source.classes) {
28
+ target.classes ??= [];
29
+ for (const cls of source.classes) {
30
+ if (!target.classes.some((c) => c.className === cls.className)) {
31
+ target.classes.push(cls);
32
+ }
33
+ }
34
+ }
35
+ if (source.groups) {
36
+ target.groups ??= [];
37
+ mergePublicApiClassGroupArrays(target.groups, source.groups);
38
+ }
39
+ }
40
+ function collectAllClasses(publicApiClasses) {
41
+ const result = [];
42
+ for (const cls of publicApiClasses.classes ?? []) {
43
+ result.push(cls);
44
+ }
45
+ for (const group of publicApiClasses.groups ?? []) {
46
+ collectGroupClasses(group, result);
47
+ }
48
+ return result;
49
+ }
50
+ function collectGroupClasses(group, result) {
51
+ for (const cls of group.classes ?? []) {
52
+ result.push(cls);
53
+ }
54
+ for (const subgroup of group.groups ?? []) {
55
+ collectGroupClasses(subgroup, result);
56
+ }
57
+ }
58
+ function mergePublicApiClassGroupArrays(target, source) {
59
+ for (const srcGroup of source) {
60
+ const existing = target.find((g) => g.name === srcGroup.name);
61
+ if (existing) {
62
+ if (srcGroup.description && !existing.description) {
63
+ existing.description = srcGroup.description;
64
+ }
65
+ if (srcGroup.classes) {
66
+ existing.classes ??= [];
67
+ for (const cls of srcGroup.classes) {
68
+ if (!existing.classes.some((c) => c.className === cls.className)) {
69
+ existing.classes.push(cls);
70
+ }
71
+ }
72
+ }
73
+ if (srcGroup.groups) {
74
+ existing.groups ??= [];
75
+ mergePublicApiClassGroupArrays(existing.groups, srcGroup.groups);
76
+ }
77
+ }
78
+ else {
79
+ target.push(srcGroup);
80
+ }
81
+ }
82
+ }
83
+ function checkClassCssProperties(className, properties, knownCssProperties, errors) {
84
+ if (!properties)
85
+ return;
86
+ for (const value of Object.values(properties)) {
87
+ for (const ref of extractCustomPropertyReferences(value)) {
88
+ if (!knownCssProperties.has(ref)) {
89
+ errors.push(` .${className}: "${ref}" is not defined in publicTokens`);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ function walkGroupCssProperties(group, knownCssProperties, errors) {
95
+ for (const cls of group.classes ?? []) {
96
+ checkClassCssProperties(cls.className, cls.properties, knownCssProperties, errors);
97
+ }
98
+ for (const subgroup of group.groups ?? []) {
99
+ walkGroupCssProperties(subgroup, knownCssProperties, errors);
100
+ }
101
+ }
102
+ function extractCustomPropertyReferences(value) {
103
+ return [...value.matchAll(/var\((--[^,)]+)/g)].map((m) => m[1].trim());
104
+ }
105
+ //# sourceMappingURL=public-api-classes-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-classes-utils.mjs","sourceRoot":"","sources":["../../../../src/plugins/shared/public-api-classes-utils.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Token, TransformedTokens } from 'style-dictionary';
2
+ import { PublicApiTokens } from '../../types/public-api-tokens.js';
3
+ export declare function buildPublicApiGroups(allTokens: Token[], tokenTree: TransformedTokens): PublicApiTokens;
4
+ export declare function mergePublicApiResults(target: PublicApiTokens, source: PublicApiTokens): void;
5
+ export declare function collectPublicTokenCssProperties(api: PublicApiTokens, result?: Set<string>): Set<string>;
@@ -0,0 +1,134 @@
1
+ const EXTENSIONS_NAMESPACE = 'com.blackbaud.developer.docs';
2
+ export function buildPublicApiGroups(allTokens, tokenTree) {
3
+ const result = {};
4
+ for (const token of allTokens) {
5
+ // Walk the token's path through the raw token tree, collecting any ancestor
6
+ // nodes that declare a groupName extension. This becomes an ordered list of
7
+ // groups from outermost to innermost (e.g. [Colors, Text Colors]).
8
+ const groupPath = [];
9
+ let current = tokenTree;
10
+ for (const segment of token.path) {
11
+ current = current[segment];
12
+ const node = current;
13
+ const nodeExt = getDocsExt(node.$extensions);
14
+ if (nodeExt.groupName) {
15
+ groupPath.push({
16
+ groupName: nodeExt.groupName,
17
+ description: node.$description,
18
+ });
19
+ }
20
+ }
21
+ const tokenExt = getDocsExt(token.$extensions);
22
+ const tokenEntry = {
23
+ name: tokenExt.name ?? token.name ?? '',
24
+ customProperty: `--${token.name}`,
25
+ };
26
+ if (token.$description) {
27
+ tokenEntry.description = token.$description;
28
+ }
29
+ if (tokenExt.deprecatedCustomProperty) {
30
+ tokenEntry.deprecatedCustomProperty = tokenExt.deprecatedCustomProperty;
31
+ }
32
+ // Tokens with no group ancestry go to the top-level tokens array.
33
+ if (groupPath.length === 0) {
34
+ result.tokens ??= [];
35
+ result.tokens.push(tokenEntry);
36
+ }
37
+ else {
38
+ // Walk (or create) the nested group structure, then place the token in
39
+ // the innermost group.
40
+ result.groups ??= [];
41
+ let currentGroups = result.groups;
42
+ for (let i = 0; i < groupPath.length; i++) {
43
+ const { groupName, description } = groupPath[i];
44
+ let group = currentGroups.find((g) => g.groupName === groupName);
45
+ if (!group) {
46
+ group = { groupName };
47
+ currentGroups.push(group);
48
+ }
49
+ if (description && !group.description) {
50
+ group.description = description;
51
+ }
52
+ if (i < groupPath.length - 1) {
53
+ // Intermediate group: descend into its subgroups.
54
+ group.groups ??= [];
55
+ currentGroups = group.groups;
56
+ }
57
+ else {
58
+ // Leaf group: append the token here.
59
+ group.tokens ??= [];
60
+ group.tokens.push(tokenEntry);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+ export function mergePublicApiResults(target, source) {
68
+ if (source.tokens) {
69
+ target.tokens ??= [];
70
+ for (const token of source.tokens) {
71
+ if (!target.tokens.some((t) => t.customProperty === token.customProperty)) {
72
+ target.tokens.push(token);
73
+ }
74
+ }
75
+ }
76
+ if (source.groups) {
77
+ target.groups ??= [];
78
+ mergePublicApiGroupArrays(target.groups, source.groups);
79
+ }
80
+ }
81
+ export function collectPublicTokenCssProperties(api, result = new Set()) {
82
+ if (api.tokens) {
83
+ for (const token of api.tokens) {
84
+ result.add(token.customProperty);
85
+ }
86
+ }
87
+ if (api.groups) {
88
+ for (const group of api.groups) {
89
+ collectGroupCssProperties(group, result);
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ function getDocsExt(extensions) {
95
+ return (extensions?.[EXTENSIONS_NAMESPACE] ?? {});
96
+ }
97
+ function mergePublicApiGroupArrays(target, source) {
98
+ for (const srcGroup of source) {
99
+ const existing = target.find((g) => g.groupName === srcGroup.groupName);
100
+ if (existing) {
101
+ if (srcGroup.description && !existing.description) {
102
+ existing.description = srcGroup.description;
103
+ }
104
+ if (srcGroup.tokens) {
105
+ existing.tokens ??= [];
106
+ for (const token of srcGroup.tokens) {
107
+ if (!existing.tokens.some((t) => t.customProperty === token.customProperty)) {
108
+ existing.tokens.push(token);
109
+ }
110
+ }
111
+ }
112
+ if (srcGroup.groups) {
113
+ existing.groups ??= [];
114
+ mergePublicApiGroupArrays(existing.groups, srcGroup.groups);
115
+ }
116
+ }
117
+ else {
118
+ target.push(srcGroup);
119
+ }
120
+ }
121
+ }
122
+ function collectGroupCssProperties(group, result) {
123
+ if (group.tokens) {
124
+ for (const token of group.tokens) {
125
+ result.add(token.customProperty);
126
+ }
127
+ }
128
+ if (group.groups) {
129
+ for (const subgroup of group.groups) {
130
+ collectGroupCssProperties(subgroup, result);
131
+ }
132
+ }
133
+ }
134
+ //# sourceMappingURL=public-api-tokens-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-tokens-utils.mjs","sourceRoot":"","sources":["../../../../src/plugins/shared/public-api-tokens-utils.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Token } from 'style-dictionary';
2
+ import { Breakpoint } from '../../types/breakpoint.js';
3
+ import { PublicTokenSet } from '../../types/public-token-set.js';
4
+ import { ReferenceTokenSet } from '../../types/reference-token-set.js';
5
+ import { SkyStyleDictionaryConfig } from '../../types/sky-style-dictionary-config.js';
6
+ import { SkyTokenOptions } from '../../types/sky-token-options.js';
7
+ import { TokenConfig } from '../../types/token-config.js';
8
+ import { TokenSet } from '../../types/token-set.js';
9
+ export declare function isUrlToken(token: Token): boolean;
10
+ export declare function getMediaQueryMinWidth(breakpoint: Breakpoint): string;
11
+ export declare function getBaseDictionaryConfig(rootPath: string, tokenSet: TokenSet, skyOptions: SkyTokenOptions): SkyStyleDictionaryConfig;
12
+ export declare function getReferenceDictionaryConfig(rootPath: string, tokenSet: TokenSet, referenceTokenSet: ReferenceTokenSet, skyOptions: SkyTokenOptions): SkyStyleDictionaryConfig;
13
+ export declare function getPublicDictionaryConfig(rootPath: string, tokenSet: TokenSet, publicTokenSet: PublicTokenSet, skyOptions: SkyTokenOptions): SkyStyleDictionaryConfig;
14
+ export declare function addAssetsCss(tokenConfig: TokenConfig, basePath: string, fileContents: string): Promise<string>;
@@ -0,0 +1,108 @@
1
+ import path from 'path';
2
+ import { generateAssetsCss } from './assets-utils.mjs';
3
+ const DEFAULT_SD_CONFIG = {
4
+ preprocessors: ['tokens-studio'],
5
+ platforms: {
6
+ css: {
7
+ transformGroup: 'custom/tokens-studio',
8
+ options: {
9
+ outputReferences: true,
10
+ showFileHeader: false,
11
+ },
12
+ buildPath: `dist/`,
13
+ }
14
+ },
15
+ };
16
+ export function isUrlToken(token) {
17
+ return (token.$extensions?.['com.blackbaud.developer.sky-token-format'] === 'url');
18
+ }
19
+ export function getMediaQueryMinWidth(breakpoint) {
20
+ switch (breakpoint) {
21
+ case 'xs':
22
+ default:
23
+ return '0px';
24
+ case 's':
25
+ return '768px';
26
+ case 'm':
27
+ return '992px';
28
+ case 'l':
29
+ return '1200px';
30
+ }
31
+ }
32
+ export function getBaseDictionaryConfig(rootPath, tokenSet, skyOptions) {
33
+ const config = structuredClone(DEFAULT_SD_CONFIG);
34
+ config.source = [`${rootPath}${tokenSet.path}`];
35
+ const cssOptions = (config.platforms.css.options ??= {});
36
+ Object.assign(cssOptions, {
37
+ skyOptions,
38
+ selector: tokenSet.selector,
39
+ });
40
+ config.platforms.css.files = [
41
+ {
42
+ destination: `${tokenSet.name}/${tokenSet.name}.css`,
43
+ format: 'css/alphabetize-variables',
44
+ filter: (token) => token.isSource,
45
+ },
46
+ ];
47
+ return config;
48
+ }
49
+ export function getReferenceDictionaryConfig(rootPath, tokenSet, referenceTokenSet, skyOptions) {
50
+ const config = structuredClone(DEFAULT_SD_CONFIG);
51
+ config.source = [`${rootPath}${tokenSet.path}`];
52
+ config.include = [`${rootPath}${referenceTokenSet.path}`];
53
+ const cssOptions = (config.platforms.css.options ??= {});
54
+ Object.assign(cssOptions, {
55
+ skyOptions,
56
+ selector: `${tokenSet.selector}${referenceTokenSet.selector || ''}`,
57
+ });
58
+ config.platforms.css.files = [
59
+ {
60
+ destination: `${tokenSet.name}/${referenceTokenSet.name}.css`,
61
+ format: 'css/alphabetize-variables',
62
+ filter: (token) => !token.isSource,
63
+ },
64
+ ];
65
+ return config;
66
+ }
67
+ export function getPublicDictionaryConfig(rootPath, tokenSet, publicTokenSet, skyOptions) {
68
+ const config = structuredClone(DEFAULT_SD_CONFIG);
69
+ config.source = [`${rootPath}${tokenSet.path}`];
70
+ config.include = [
71
+ `${rootPath}${publicTokenSet.path}`,
72
+ ...tokenSet.referenceTokens.map((referenceTokenSet) => `${rootPath}${referenceTokenSet.path}`),
73
+ ];
74
+ const cssOptions = (config.platforms.css.options ??= {});
75
+ Object.assign(cssOptions, {
76
+ skyOptions: { ...skyOptions, showDescriptions: true },
77
+ selector: tokenSet.selector,
78
+ });
79
+ config.platforms.css.files = [
80
+ {
81
+ destination: `${tokenSet.name}/${publicTokenSet.name}.css`,
82
+ format: 'css/alphabetize-variables',
83
+ filter: (token) => path.normalize(token.filePath) ===
84
+ path.normalize(`${rootPath}${publicTokenSet.path}`),
85
+ },
86
+ ];
87
+ config.platforms.json = {
88
+ transformGroup: 'custom/tokens-studio',
89
+ buildPath: 'dist/',
90
+ files: [
91
+ {
92
+ destination: `${tokenSet.name}/${publicTokenSet.name}.json`,
93
+ format: 'json/public-api',
94
+ filter: (token) => path.normalize(token.filePath) ===
95
+ path.normalize(`${rootPath}${publicTokenSet.path}`),
96
+ },
97
+ ],
98
+ };
99
+ return config;
100
+ }
101
+ export async function addAssetsCss(tokenConfig, basePath, fileContents) {
102
+ const assetsCss = await generateAssetsCss(basePath, tokenConfig.projectName);
103
+ if (assetsCss) {
104
+ fileContents = `${assetsCss}\n\n${fileContents}`;
105
+ }
106
+ return fileContents;
107
+ }
108
+ //# sourceMappingURL=style-dictionary-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-dictionary-config.mjs","sourceRoot":"","sources":["../../../../src/plugins/shared/style-dictionary-config.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Breakpoint } from './breakpoint.js';
2
+ export interface GeneratedFile {
3
+ output: unknown;
4
+ destination: string | undefined;
5
+ breakpoint?: Breakpoint;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generated-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-file.js","sourceRoot":"","sources":["../../../src/types/generated-file.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { PublicApiClass } from './public-api-class.js';
2
+ export interface PublicApiClassGroup {
3
+ name: string;
4
+ description?: string;
5
+ groups?: PublicApiClassGroup[];
6
+ classes?: PublicApiClass[];
7
+ imageToken?: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-class-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-class-group.js","sourceRoot":"","sources":["../../../src/types/public-api-class-group.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface PublicApiClass {
2
+ name: string;
3
+ className: string;
4
+ properties: Record<string, string>;
5
+ description?: string;
6
+ deprecatedClassName?: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-class.js","sourceRoot":"","sources":["../../../src/types/public-api-class.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { PublicApiClass } from './public-api-class.js';
2
+ import { PublicApiClassGroup } from './public-api-class-group.js';
3
+ export interface PublicApiClasses {
4
+ groups?: PublicApiClassGroup[];
5
+ classes?: PublicApiClass[];
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-classes.js","sourceRoot":"","sources":["../../../src/types/public-api-classes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { PublicApiToken } from './public-api-token.js';
2
+ export interface PublicApiTokenGroup {
3
+ groupName: string;
4
+ description?: string;
5
+ groups?: PublicApiTokenGroup[];
6
+ tokens?: PublicApiToken[];
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-token-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-token-group.js","sourceRoot":"","sources":["../../../src/types/public-api-token-group.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface PublicApiToken {
2
+ name: string;
3
+ customProperty: string;
4
+ description?: string;
5
+ deprecatedCustomProperty?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-token.js","sourceRoot":"","sources":["../../../src/types/public-api-token.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { PublicApiTokenGroup } from './public-api-token-group.js';
2
+ import { PublicApiToken } from './public-api-token.js';
3
+ export interface PublicApiTokens {
4
+ groups?: PublicApiTokenGroup[];
5
+ tokens?: PublicApiToken[];
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-api-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api-tokens.js","sourceRoot":"","sources":["../../../src/types/public-api-tokens.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type PublicClassSet = {
2
+ name: string;
3
+ path: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-class-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-class-set.js","sourceRoot":"","sources":["../../../src/types/public-class-set.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export type PublicTokenSet = {
2
+ name: string;
3
+ path: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-token-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-token-set.js","sourceRoot":"","sources":["../../../src/types/public-token-set.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Config, PlatformConfig } from 'style-dictionary';
2
+ export interface SkyStyleDictionaryConfig extends Config {
3
+ platforms: {
4
+ css: PlatformConfig;
5
+ json?: PlatformConfig;
6
+ };
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sky-style-dictionary-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-style-dictionary-config.js","sourceRoot":"","sources":["../../../src/types/sky-style-dictionary-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface SkyTokenOptions {
2
+ assetsBasePath: string;
3
+ generateUrlAtProperties?: boolean;
4
+ showDescriptions?: boolean;
5
+ selectorPrefix: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sky-token-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-token-options.js","sourceRoot":"","sources":["../../../src/types/sky-token-options.ts"],"names":[],"mappings":""}
@@ -1,3 +1,5 @@
1
+ import { PublicClassSet } from './public-class-set.js';
2
+ import { PublicTokenSet } from './public-token-set.js';
1
3
  import { ReferenceTokenSet } from './reference-token-set.js';
2
4
  export type TokenSet = {
3
5
  name: string;
@@ -5,4 +7,6 @@ export type TokenSet = {
5
7
  selector: string;
6
8
  outputPath: string;
7
9
  referenceTokens: ReferenceTokenSet[];
10
+ publicTokens?: PublicTokenSet[];
11
+ publicClasses?: PublicClassSet[];
8
12
  };