@blackbaud/skyux-branding-builder 0.0.2

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 (48) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +3 -0
  3. package/index.d.ts +8 -0
  4. package/index.js +4 -0
  5. package/index.js.map +1 -0
  6. package/package.json +45 -0
  7. package/src/plugins/build-assets-manifest-plugin.d.mts +2 -0
  8. package/src/plugins/build-assets-manifest-plugin.mjs +64 -0
  9. package/src/plugins/build-assets-manifest-plugin.mjs.map +1 -0
  10. package/src/plugins/build-style-dictionary-plugin.d.mts +3 -0
  11. package/src/plugins/build-style-dictionary-plugin.mjs +240 -0
  12. package/src/plugins/build-style-dictionary-plugin.mjs.map +1 -0
  13. package/src/plugins/prepare-package-plugin.d.mts +2 -0
  14. package/src/plugins/prepare-package-plugin.mjs +28 -0
  15. package/src/plugins/prepare-package-plugin.mjs.map +1 -0
  16. package/src/plugins/shared/assets-config.d.ts +8 -0
  17. package/src/plugins/shared/assets-config.js +2 -0
  18. package/src/plugins/shared/assets-config.js.map +1 -0
  19. package/src/plugins/shared/assets-font-config.d.ts +6 -0
  20. package/src/plugins/shared/assets-font-config.js +2 -0
  21. package/src/plugins/shared/assets-font-config.js.map +1 -0
  22. package/src/plugins/shared/assets-image-config.d.ts +3 -0
  23. package/src/plugins/shared/assets-image-config.js +2 -0
  24. package/src/plugins/shared/assets-image-config.js.map +1 -0
  25. package/src/plugins/shared/assets-images-config.d.ts +4 -0
  26. package/src/plugins/shared/assets-images-config.js +2 -0
  27. package/src/plugins/shared/assets-images-config.js.map +1 -0
  28. package/src/plugins/shared/assets-strings-config.d.ts +3 -0
  29. package/src/plugins/shared/assets-strings-config.js +2 -0
  30. package/src/plugins/shared/assets-strings-config.js.map +1 -0
  31. package/src/plugins/shared/assets-utils.d.mts +3 -0
  32. package/src/plugins/shared/assets-utils.mjs +63 -0
  33. package/src/plugins/shared/assets-utils.mjs.map +1 -0
  34. package/src/types/breakpoint.d.ts +1 -0
  35. package/src/types/breakpoint.js +2 -0
  36. package/src/types/breakpoint.js.map +1 -0
  37. package/src/types/reference-token-set.d.ts +7 -0
  38. package/src/types/reference-token-set.js +2 -0
  39. package/src/types/reference-token-set.js.map +1 -0
  40. package/src/types/responsive.d.ts +4 -0
  41. package/src/types/responsive.js +2 -0
  42. package/src/types/responsive.js.map +1 -0
  43. package/src/types/token-config.d.ts +9 -0
  44. package/src/types/token-config.js +2 -0
  45. package/src/types/token-config.js.map +1 -0
  46. package/src/types/token-set.d.ts +8 -0
  47. package/src/types/token-set.js +2 -0
  48. package/src/types/token-set.js.map +1 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # 0.0.1 (2025-08-21)
2
+ - implement shared plugins for generating tokens, manifest assets, and preparing a package
3
+
4
+ # 0.0.2 (2025-08-21)
5
+ - Update build configuration
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # SKY UX Branding Builder
2
+
3
+ A TypeScript package that provides vite plugins for building SKY UX design tokens.
package/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export type { Breakpoint } from './src/types/breakpoint.ts';
2
+ export type { Responsive } from './src/types/responsive.ts';
3
+ export type { ReferenceTokenSet } from './src/types/reference-token-set.ts';
4
+ export type { TokenConfig } from './src/types/token-config.ts';
5
+ export type { TokenSet } from './src/types/token-set.ts';
6
+ export { buildStyleDictionaryPlugin } from './src/plugins/build-style-dictionary-plugin.mjs';
7
+ export { buildAssetsManifestPlugin } from './src/plugins/build-assets-manifest-plugin.mjs';
8
+ export { preparePackagePlugin } from './src/plugins/prepare-package-plugin.mjs';
package/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { buildStyleDictionaryPlugin } from './src/plugins/build-style-dictionary-plugin.mjs';
2
+ export { buildAssetsManifestPlugin } from './src/plugins/build-assets-manifest-plugin.mjs';
3
+ export { preparePackagePlugin } from './src/plugins/prepare-package-plugin.mjs';
4
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@blackbaud/skyux-branding-builder",
3
+ "version": "0.0.2",
4
+ "description": "style dictionary builder for design tokens",
5
+ "main": "index.js",
6
+ "type": "module",
7
+ "pipelineSettings": {
8
+ "publishToNPM": true
9
+ },
10
+ "scripts": {
11
+ "test": "vitest run",
12
+ "dev": "vite",
13
+ "build": "npm run clean && tsc --project tsconfig.build.json",
14
+ "build:vite": "vite build",
15
+ "postbuild": "node ./scripts/prepare-package.js",
16
+ "clean": "rm -rf dist",
17
+ "preview": "vite preview"
18
+ },
19
+ "author": "",
20
+ "license": "MIT",
21
+ "devDependencies": {
22
+ "@eslint/js": "9.32.0",
23
+ "@tokens-studio/sd-transforms": "1.2.12",
24
+ "@trivago/prettier-plugin-sort-imports": "5.2.2",
25
+ "@types/fs-extra": "^11.0.4",
26
+ "@types/node": "22.15.3",
27
+ "@vitest/coverage-v8": "3.2.4",
28
+ "eslint": "9.32.0",
29
+ "eslint-config-prettier": "10.1.8",
30
+ "fs-extra": "11.3.0",
31
+ "glob": "11.0.1",
32
+ "inquirer": "12.4.3",
33
+ "minimist": "1.2.8",
34
+ "prettier": "3.6.2",
35
+ "style-dictionary": "4.3.3",
36
+ "typescript": "5.8.2",
37
+ "typescript-eslint": "8.38.0",
38
+ "vite": "7.0.6",
39
+ "vitest": "3.2.4"
40
+ },
41
+ "engines": {
42
+ "node": ">= 4.2.1",
43
+ "npm": ">= 3"
44
+ }
45
+ }
@@ -0,0 +1,2 @@
1
+ import type { Plugin } from 'vite';
2
+ export declare function buildAssetsManifestPlugin(projectName: string): Plugin;
@@ -0,0 +1,64 @@
1
+ import { fixAssetsUrl } from './shared/assets-utils.mjs';
2
+ import { existsSync } from 'fs';
3
+ import { readFile } from 'fs/promises';
4
+ import { join } from 'path';
5
+ function transformSrc(src, projectName) {
6
+ return src.startsWith('~/assets')
7
+ ? fixAssetsUrl('./', src, projectName)
8
+ : src;
9
+ }
10
+ function transformAssetsJson(code, projectName) {
11
+ try {
12
+ const assetsConfig = JSON.parse(code);
13
+ // Resolve asset paths in fonts
14
+ if (assetsConfig.fonts) {
15
+ for (const fontConfig of assetsConfig.fonts) {
16
+ fontConfig.src = transformSrc(fontConfig.src, projectName);
17
+ }
18
+ }
19
+ // Resolve asset paths in images
20
+ if (assetsConfig.images) {
21
+ for (const imageConfig of Object.values(assetsConfig.images)) {
22
+ imageConfig.src = transformSrc(imageConfig.src, projectName);
23
+ }
24
+ }
25
+ return JSON.stringify(assetsConfig, null, 2);
26
+ }
27
+ catch (error) {
28
+ console.error('Error transforming assets.json:', error);
29
+ return null;
30
+ }
31
+ }
32
+ export function buildAssetsManifestPlugin(projectName) {
33
+ return {
34
+ name: 'build-assets-manifest',
35
+ async generateBundle() {
36
+ const assetsJsonPath = join('public', 'assets', 'assets.json');
37
+ if (!existsSync(assetsJsonPath)) {
38
+ console.warn('assets.json not found in public/assets folder');
39
+ return;
40
+ }
41
+ try {
42
+ const assetsContent = await readFile(assetsJsonPath, 'utf-8');
43
+ if (!assetsContent) {
44
+ console.warn('assets.json is empty');
45
+ return;
46
+ }
47
+ const transformedContent = transformAssetsJson(assetsContent, projectName);
48
+ if (!transformedContent) {
49
+ console.warn('Failed to transform assets.json');
50
+ return;
51
+ }
52
+ this.emitFile({
53
+ type: 'asset',
54
+ fileName: 'assets/assets.json',
55
+ source: transformedContent,
56
+ });
57
+ }
58
+ catch (error) {
59
+ console.error('Error processing assets.json:', error);
60
+ }
61
+ },
62
+ };
63
+ }
64
+ //# sourceMappingURL=build-assets-manifest-plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-assets-manifest-plugin.mjs","sourceRoot":"","sources":["../../../src/plugins/build-assets-manifest-plugin.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,SAAS,YAAY,CAAC,GAAW,EAAE,WAAmB;IACpD,OAAO,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC/B,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,WAAmB;IAC5D,IAAI,CAAC;QACH,MAAM,YAAY,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpD,+BAA+B;QAC/B,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5C,UAAU,CAAC,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,WAAW,CAAC,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,KAAK,CAAC,cAAc;YAClB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAE/D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAE9D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,aAAa,EACb,WAAW,CACZ,CAAC;gBAEF,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,oBAAoB;oBAC9B,MAAM,EAAE,kBAAkB;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from 'vite';
2
+ import { TokenConfig } from '../types/token-config.js';
3
+ export declare function buildStyleDictionaryPlugin(tokenConfig: TokenConfig): Plugin;
@@ -0,0 +1,240 @@
1
+ import { sync } from 'glob';
2
+ import path from 'path';
3
+ import StyleDictionary from 'style-dictionary';
4
+ import { formattedVariables, sortByName } from 'style-dictionary/utils';
5
+ 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
+ }
36
+ async function generateDictionaryFiles(tokenConfig, skyOptions) {
37
+ 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, {
41
+ ...skyOptions,
42
+ generateUrlAtProperties: true,
43
+ }));
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));
48
+ const files = await referenceTokenDictionary.formatPlatform('css');
49
+ files.forEach((file) => {
50
+ if (referenceTokenSet.responsive) {
51
+ const originalOutput = file.output;
52
+ // NOTE: No return character after original output as we have already added one there when we alphabetize
53
+ file.output =
54
+ referenceTokenSet.responsive.breakpoint === 'xs'
55
+ ? originalOutput
56
+ : `@media (min-width: ${getMediaQueryMinWidth(referenceTokenSet.responsive.breakpoint)}) {\n${originalOutput}}\n`;
57
+ file.breakpoint = referenceTokenSet.responsive.breakpoint;
58
+ }
59
+ });
60
+ allFiles = allFiles.concat(files);
61
+ }));
62
+ }));
63
+ // We need to order the files by breakpoint so that the media queries are seen by the browser in the correct order.
64
+ // Media queries do not count towards css specificity, so the order in which they are defined matters.
65
+ const breakpointOrder = [undefined, 'xs', 's', 'm', 'l'];
66
+ allFiles.sort((a, b) => {
67
+ const aIndex = breakpointOrder.indexOf(a.breakpoint);
68
+ const bIndex = breakpointOrder.indexOf(b.breakpoint);
69
+ return aIndex - bIndex;
70
+ });
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;
120
+ }
121
+ export function buildStyleDictionaryPlugin(tokenConfig) {
122
+ register(StyleDictionary);
123
+ StyleDictionary.registerTransform({
124
+ name: 'name/prefixed-kebab',
125
+ transitive: true,
126
+ type: 'name',
127
+ transform: (token) => {
128
+ return `${token.isSource ? '' : 'sky-'}${token.path.join('-')}`;
129
+ },
130
+ });
131
+ StyleDictionary.registerTransform({
132
+ name: 'size/zero-rem',
133
+ type: 'value',
134
+ filter: (token) => (token.$type === 'dimension' || token.$type === 'fontSize') &&
135
+ token.$value === '0',
136
+ transform: () => '0rem',
137
+ });
138
+ StyleDictionary.registerTransform({
139
+ name: 'assets-path',
140
+ type: 'value',
141
+ filter: isUrlToken,
142
+ transform: (token, _, options) => fixAssetsUrlValue(options.platforms?.css?.options?.skyOptions?.assetsBasePath, token.$value, tokenConfig.projectName),
143
+ });
144
+ // Register custom tokens-studio transform group without the resolveMath transform to allow browsers to do the `calc`.
145
+ // Include the standard css transforms and the custom name transform.
146
+ StyleDictionary.registerTransformGroup({
147
+ name: 'custom/tokens-studio',
148
+ transforms: [
149
+ ...getTransforms({
150
+ platform: 'css',
151
+ }).filter((transform) => transform !== 'ts/resolveMath'),
152
+ ...StyleDictionary.hooks.transformGroups['css'],
153
+ 'name/prefixed-kebab',
154
+ 'size/zero-rem',
155
+ 'assets-path',
156
+ ],
157
+ });
158
+ StyleDictionary.registerFormat({
159
+ name: 'css/alphabetize-variables',
160
+ format: function ({ dictionary, options }) {
161
+ const { outputReferences, outputReferenceFallbacks, skyOptions } = options;
162
+ let properties = '';
163
+ if (skyOptions.generateUrlAtProperties) {
164
+ properties = dictionary.allTokens
165
+ .filter(isUrlToken)
166
+ .sort(sortByName)
167
+ .map((token) => `@property --${token.name} {
168
+ syntax: '<url>';
169
+ inherits: true;
170
+ initial-value: url('data:,');
171
+ }`)
172
+ .join('\n\n');
173
+ }
174
+ dictionary.allTokens = dictionary.allTokens.sort(sortByName);
175
+ const variables = formattedVariables({
176
+ format: 'css',
177
+ dictionary,
178
+ outputReferences,
179
+ outputReferenceFallbacks,
180
+ usesDtcg: true,
181
+ });
182
+ return `${properties ? properties + '\n\n' : ''}${skyOptions?.selectorPrefix ?? ''}${options.selector} {
183
+ ${variables}
184
+ }
185
+ `;
186
+ },
187
+ });
188
+ return {
189
+ name: 'transform-style-dictionary',
190
+ async transform(_code, id) {
191
+ const rootPath = tokenConfig.rootPath || 'src/tokens/';
192
+ const files = sync(`${rootPath}**/*.json`);
193
+ for (const file of files) {
194
+ this.addWatchFile(path.join(process.cwd(), file));
195
+ }
196
+ if (id.includes('src/dev/tokens.css')) {
197
+ const assetsBasePath = '/assets/';
198
+ const allFiles = await generateDictionaryFiles(tokenConfig, {
199
+ assetsBasePath,
200
+ selectorPrefix: '.local-dev-tokens',
201
+ });
202
+ let localTokens = allFiles.reduce((acc, file) => acc + file.output, '');
203
+ localTokens = await addAssetsCss(tokenConfig, assetsBasePath, localTokens);
204
+ return localTokens;
205
+ }
206
+ return undefined;
207
+ },
208
+ async generateBundle() {
209
+ const assetsBasePath = '../';
210
+ const allFiles = await generateDictionaryFiles(tokenConfig, {
211
+ assetsBasePath,
212
+ selectorPrefix: '',
213
+ });
214
+ const compositeFiles = {};
215
+ for (const file of allFiles) {
216
+ if (file.destination) {
217
+ const fileParts = file.destination.split('/');
218
+ const tokenSetType = fileParts[1];
219
+ const fileName = `bundles/${tokenSetType}.css`;
220
+ // For backwards compatibility with older versions of SKY UX; remove this in a future
221
+ // breaking change.
222
+ const compatFileName = `assets/scss/${tokenSetType}.css`;
223
+ let fileContents = compositeFiles[fileName] || '';
224
+ fileContents = fileContents.concat(file.output ?? '');
225
+ compositeFiles[fileName] = fileContents;
226
+ compositeFiles[compatFileName] = fileContents;
227
+ }
228
+ }
229
+ for (const fileName of Object.keys(compositeFiles)) {
230
+ const fileContents = await addAssetsCss(tokenConfig, assetsBasePath, compositeFiles[fileName]);
231
+ this.emitFile({
232
+ type: 'asset',
233
+ fileName: fileName.replace('dist/', ''),
234
+ source: fileContents,
235
+ });
236
+ }
237
+ },
238
+ };
239
+ }
240
+ //# sourceMappingURL=build-style-dictionary-plugin.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,2 @@
1
+ import { Plugin } from 'vite';
2
+ export declare function preparePackagePlugin(rootPath: string): Plugin;
@@ -0,0 +1,28 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'node:path';
3
+ export function preparePackagePlugin(rootPath) {
4
+ return {
5
+ name: 'transform-package',
6
+ async generateBundle() {
7
+ const packageJson = fs.readFileSync(path.join(rootPath, 'package.json'));
8
+ const readMe = fs.readFileSync(path.join(rootPath, 'README.md'));
9
+ const changelog = fs.readFileSync(path.join(rootPath, 'CHANGELOG.md'));
10
+ this.emitFile({
11
+ type: 'asset',
12
+ fileName: 'package.json',
13
+ source: packageJson,
14
+ });
15
+ this.emitFile({
16
+ type: 'asset',
17
+ fileName: 'README.md',
18
+ source: readMe,
19
+ });
20
+ this.emitFile({
21
+ type: 'asset',
22
+ fileName: 'CHANGELOG.md',
23
+ source: changelog,
24
+ });
25
+ },
26
+ };
27
+ }
28
+ //# sourceMappingURL=prepare-package-plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-package-plugin.mjs","sourceRoot":"","sources":["../../../src/plugins/prepare-package-plugin.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,KAAK,CAAC,cAAc;YAClB,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { AssetsFontConfig } from './assets-font-config.js';
2
+ import { AssetsImagesConfig } from './assets-images-config.js';
3
+ import { AssetsStringsConfig } from './assets-strings-config.js';
4
+ export interface AssetsConfig {
5
+ fonts?: AssetsFontConfig[];
6
+ images?: AssetsImagesConfig;
7
+ strings?: AssetsStringsConfig;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assets-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-config.js","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface AssetsFontConfig {
2
+ family: string;
3
+ src: string;
4
+ weight: string;
5
+ style: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assets-font-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-font-config.js","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-font-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface AssetsImageConfig {
2
+ src: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assets-image-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-image-config.js","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-image-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { AssetsImageConfig } from './assets-image-config.js';
2
+ export interface AssetsImagesConfig {
3
+ favicon: AssetsImageConfig;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assets-images-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-images-config.js","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-images-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface AssetsStringsConfig {
2
+ title: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assets-strings-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-strings-config.js","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-strings-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare function fixAssetsUrl(basePath: string | undefined, value: string, projectName: string): string;
2
+ export declare function fixAssetsUrlValue(basePath: string | undefined, value: string, projectName: string): string;
3
+ export declare function generateAssetsCss(basePath: string, projectName: string): Promise<string>;
@@ -0,0 +1,63 @@
1
+ import { existsSync } from 'fs';
2
+ import { readFile } from 'fs/promises';
3
+ import { join } from 'path';
4
+ export function fixAssetsUrl(basePath, value, projectName) {
5
+ const effectiveBasePath = getBasePath(basePath, projectName);
6
+ if (effectiveBasePath !== undefined) {
7
+ if (effectiveBasePath === basePath) {
8
+ // Local path - replace ~/assets/ with the base path
9
+ value = value.replace(/~\/assets\//g, effectiveBasePath);
10
+ }
11
+ else {
12
+ // CDN path - replace ~/ with the CDN base path
13
+ value = value.replace(/~\//g, effectiveBasePath);
14
+ }
15
+ }
16
+ return value;
17
+ }
18
+ export function fixAssetsUrlValue(basePath, value, projectName) {
19
+ const rawUrl = fixAssetsUrl(basePath, value, projectName);
20
+ return `url('${rawUrl}')`;
21
+ }
22
+ export async function generateAssetsCss(basePath, projectName) {
23
+ const assetsJsonPath = join('public', 'assets', 'assets.json');
24
+ try {
25
+ // Check if assets.json exists
26
+ if (!existsSync(assetsJsonPath)) {
27
+ console.warn('assets.json not found in public/assets folder');
28
+ return '';
29
+ }
30
+ // Read and parse assets.json
31
+ const assetsContent = await readFile(assetsJsonPath, 'utf-8');
32
+ const assetsConfig = JSON.parse(assetsContent);
33
+ if (!assetsConfig.fonts || assetsConfig.fonts.length === 0) {
34
+ console.warn('No fonts found in assets.json');
35
+ return '';
36
+ }
37
+ // Generate CSS font declarations
38
+ const fontFaceDeclarations = assetsConfig.fonts
39
+ .map((font) => {
40
+ return `@font-face {
41
+ font-family: '${font.family}';
42
+ src: ${fixAssetsUrlValue(basePath, font.src, projectName)};
43
+ font-weight: ${font.weight};
44
+ font-style: ${font.style};
45
+ font-display: swap;
46
+ }`;
47
+ })
48
+ .join('\n\n');
49
+ return fontFaceDeclarations;
50
+ }
51
+ catch (error) {
52
+ console.error('Error generating font CSS:', error);
53
+ throw error;
54
+ }
55
+ }
56
+ function getBasePath(basePath, projectName) {
57
+ const packageVersion = process.env.PACKAGEJSON_VERSION;
58
+ if (packageVersion) {
59
+ return `https://sky.blackbaudcdn.net/static/${projectName}/${packageVersion}/`;
60
+ }
61
+ return basePath;
62
+ }
63
+ //# sourceMappingURL=assets-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-utils.mjs","sourceRoot":"","sources":["../../../../src/plugins/shared/assets-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,MAAM,UAAU,YAAY,CAC1B,QAA4B,EAC5B,KAAa,EACb,WAAmB;IAEnB,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE7D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACnC,oDAAoD;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAA4B,EAC5B,KAAa,EACb,WAAmB;IAEnB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1D,OAAO,QAAQ,MAAM,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,WAAmB;IAEnB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,8BAA8B;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAiB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,iCAAiC;QACjC,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK;aAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,OAAO;kBACG,IAAI,CAAC,MAAM;SACpB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;iBAC1C,IAAI,CAAC,MAAM;gBACZ,IAAI,CAAC,KAAK;;EAExB,CAAC;QACG,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,QAA4B,EAC5B,WAAmB;IAEnB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAEvD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,uCAAuC,WAAW,IAAI,cAAc,GAAG,CAAC;IACjF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1 @@
1
+ export type Breakpoint = 'xs' | 's' | 'm' | 'l';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=breakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoint.js","sourceRoot":"","sources":["../../../src/types/breakpoint.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Responsive } from './responsive.js';
2
+ export type ReferenceTokenSet = {
3
+ name: string;
4
+ path: string;
5
+ responsive?: Responsive;
6
+ selector?: string;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reference-token-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-token-set.js","sourceRoot":"","sources":["../../../src/types/reference-token-set.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { Breakpoint } from './breakpoint.js';
2
+ export type Responsive = {
3
+ breakpoint: Breakpoint;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive.js","sourceRoot":"","sources":["../../../src/types/responsive.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { TokenSet } from './token-set.js';
2
+ export type TokenConfig = {
3
+ /**
4
+ defaults to `src/tokens/`.
5
+ */
6
+ rootPath?: string;
7
+ projectName: string;
8
+ tokenSets: TokenSet[];
9
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-config.js","sourceRoot":"","sources":["../../../src/types/token-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ReferenceTokenSet } from './reference-token-set.js';
2
+ export type TokenSet = {
3
+ name: string;
4
+ path: string;
5
+ selector: string;
6
+ outputPath: string;
7
+ referenceTokens: ReferenceTokenSet[];
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-set.js","sourceRoot":"","sources":["../../../src/types/token-set.ts"],"names":[],"mappings":""}