@cloudscape-design/components-themeable 3.0.1359 → 3.0.1360

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theming.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.test.d.ts","sourceRoot":"","sources":["../../../src-themeable/__tests__/theming.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ // SPDX-License-Identifier: Apache-2.0
8
+ const mapValues_js_1 = __importDefault(require("lodash/mapValues.js"));
9
+ const preset = {
10
+ propertiesMap: {
11
+ borderRadiusButton: '--border-radius-button-aaaaaa',
12
+ colorBorderButtonNormalDefault: '--color-border-button-normal-default-bbbbbb',
13
+ },
14
+ };
15
+ jest.mock('@cloudscape-design/theming-build', () => ({
16
+ buildThemedComponents: jest.fn().mockResolvedValue(undefined),
17
+ }));
18
+ jest.mock('../internal/template/internal/generated/theming/index.cjs', () => ({
19
+ preset,
20
+ }));
21
+ const theming_build_1 = require("@cloudscape-design/theming-build");
22
+ const theming_1 = require("../theming");
23
+ describe('buildThemedComponents', () => {
24
+ test('does not pass website token versions by default', async () => {
25
+ const theme = {};
26
+ await (0, theming_1.buildThemedComponents)({ theme, outputDir: '/tmp/output', baseThemeId: 'visual-refresh' });
27
+ expect(theming_build_1.buildThemedComponents).toHaveBeenCalledWith(expect.objectContaining({
28
+ preset,
29
+ }));
30
+ });
31
+ test('passes stable website token versions when the feature flag is enabled', async () => {
32
+ const theme = {};
33
+ await (0, theming_1.buildThemedComponents)({
34
+ theme,
35
+ outputDir: '/tmp/output',
36
+ baseThemeId: 'visual-refresh',
37
+ ...{ __tokenHashSeed: 'website' },
38
+ });
39
+ expect(theming_build_1.buildThemedComponents).toHaveBeenCalledWith(expect.objectContaining({
40
+ preset: {
41
+ ...preset,
42
+ tokenVersions: (0, mapValues_js_1.default)(preset.propertiesMap, () => 'website'),
43
+ },
44
+ }));
45
+ });
46
+ });
47
+ //# sourceMappingURL=theming.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.test.js","sourceRoot":"","sources":["../../../src-themeable/__tests__/theming.test.ts"],"names":[],"mappings":";;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,uEAA4C;AAE5C,MAAM,MAAM,GAAG;IACb,aAAa,EAAE;QACb,kBAAkB,EAAE,+BAA+B;QACnD,8BAA8B,EAAE,6CAA6C;KAC9E;CACF,CAAC;AAEF,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CAC9D,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM;CACP,CAAC,CAAC,CAAC;AAEJ,oEAA6F;AAE7F,wCAAmD;AAEnD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,KAAK,GAAG,EAAS,CAAC;QAExB,MAAM,IAAA,+BAAqB,EAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,qCAAgB,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,KAAK,GAAG,EAAS,CAAC;QAExB,MAAM,IAAA,+BAAqB,EAAC;YAC1B,KAAK;YACL,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,gBAAgB;YAC7B,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,CAAC,qCAAgB,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,aAAa,EAAE,IAAA,sBAAS,EAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;aAChE;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport mapValues from 'lodash/mapValues.js';\n\nconst preset = {\n propertiesMap: {\n borderRadiusButton: '--border-radius-button-aaaaaa',\n colorBorderButtonNormalDefault: '--color-border-button-normal-default-bbbbbb',\n },\n};\n\njest.mock('@cloudscape-design/theming-build', () => ({\n buildThemedComponents: jest.fn().mockResolvedValue(undefined),\n}));\n\njest.mock('../internal/template/internal/generated/theming/index.cjs', () => ({\n preset,\n}));\n\nimport { buildThemedComponents as themingCoreBuild } from '@cloudscape-design/theming-build';\n\nimport { buildThemedComponents } from '../theming';\n\ndescribe('buildThemedComponents', () => {\n test('does not pass website token versions by default', async () => {\n const theme = {} as any;\n\n await buildThemedComponents({ theme, outputDir: '/tmp/output', baseThemeId: 'visual-refresh' });\n\n expect(themingCoreBuild).toHaveBeenCalledWith(\n expect.objectContaining({\n preset,\n })\n );\n });\n\n test('passes stable website token versions when the feature flag is enabled', async () => {\n const theme = {} as any;\n\n await buildThemedComponents({\n theme,\n outputDir: '/tmp/output',\n baseThemeId: 'visual-refresh',\n ...{ __tokenHashSeed: 'website' },\n });\n\n expect(themingCoreBuild).toHaveBeenCalledWith(\n expect.objectContaining({\n preset: {\n ...preset,\n tokenVersions: mapValues(preset.propertiesMap, () => 'website'),\n },\n })\n );\n });\n});\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "85f92b8bf579bc3df4c6ef264694dfcc765637aa"
2
+ "commit": "0c1c9fd2e4302cc7d8b08b5db18cbe1b7ee4c5bc"
3
3
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Build environment
3
- $awsui-commit-hash: "85f92b8b";
3
+ $awsui-commit-hash: "0c1c9fd2";
4
4
  // Manually managed CSS-variables
5
5
  $maxContentWidth: --awsui-max-content-width-esndbs;
6
6
  $minContentWidth: --awsui-min-content-width-esndbs;
@@ -56,5 +56,5 @@
56
56
  }
57
57
  }
58
58
  :root {
59
- --awsui-version-info-85f92b8b: true;
59
+ --awsui-version-info-0c1c9fd2: true;
60
60
  }
@@ -1,6 +1,6 @@
1
1
  export var PACKAGE_SOURCE = "components";
2
- export var PACKAGE_VERSION = "3.0.0 (85f92b8b)";
3
- export var GIT_SHA = "85f92b8b";
2
+ export var PACKAGE_VERSION = "3.0.0 (0c1c9fd2)";
3
+ export var GIT_SHA = "0c1c9fd2";
4
4
  export var THEME = "open-source-visual-refresh";
5
5
  export var SYSTEM = "core";
6
6
  export var ALWAYS_VISUAL_REFRESH = true;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "PACKAGE_SOURCE": "components",
3
- "PACKAGE_VERSION": "3.0.0 (85f92b8b)",
4
- "GIT_SHA": "85f92b8b",
3
+ "PACKAGE_VERSION": "3.0.0 (0c1c9fd2)",
4
+ "GIT_SHA": "0c1c9fd2",
5
5
  "THEME": "default",
6
6
  "SYSTEM": "core",
7
7
  "ALWAYS_VISUAL_REFRESH": false,
package/lib/theming.d.ts CHANGED
@@ -5,5 +5,5 @@ export interface BuildThemedComponentsParams {
5
5
  outputDir: string;
6
6
  baseThemeId?: string;
7
7
  }
8
- export declare function buildThemedComponents({ theme, outputDir, baseThemeId }: BuildThemedComponentsParams): Promise<void>;
8
+ export declare function buildThemedComponents({ theme, outputDir, baseThemeId, ...rest }: BuildThemedComponentsParams): Promise<void>;
9
9
  //# sourceMappingURL=theming.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theming.d.ts","sourceRoot":"","sources":["../../src-themeable/theming.ts"],"names":[],"mappings":"AAMA,OAAO,EAAU,aAAa,EAAE,MAAM,0DAA0D,CAAC;AAOjG,MAAM,MAAM,KAAK,GAAG,aAAa,CAAC;AAClC,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnH"}
1
+ {"version":3,"file":"theming.d.ts","sourceRoot":"","sources":["../../src-themeable/theming.ts"],"names":[],"mappings":"AAMA,OAAO,EAAU,aAAa,EAAE,MAAM,0DAA0D,CAAC;AAOjG,MAAM,MAAM,KAAK,GAAG,aAAa,CAAC;AAClC,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,WAAW,EACX,GAAG,IAAI,EACR,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7C"}
package/lib/theming.js CHANGED
@@ -10,10 +10,19 @@ const internalDir = (0, path_1.join)(__dirname, './internal');
10
10
  const scssDir = (0, path_1.join)(internalDir, './scss');
11
11
  const templateDir = (0, path_1.join)(internalDir, './template');
12
12
  const designTokensTemplateDir = (0, path_1.join)(internalDir, './template-tokens');
13
- function buildThemedComponents({ theme, outputDir, baseThemeId }) {
13
+ function buildThemedComponents({ theme, outputDir, baseThemeId, ...rest }) {
14
+ // Website-only escape hatch to avoid token hash collisions in generated output.
15
+ const version = rest.__tokenHashSeed;
14
16
  return (0, theming_build_1.buildThemedComponents)({
15
17
  override: theme,
16
- preset: index_cjs_1.preset,
18
+ preset: {
19
+ ...index_cjs_1.preset,
20
+ ...(version
21
+ ? {
22
+ tokenVersions: Object.fromEntries(Object.entries(index_cjs_1.preset.propertiesMap).map(([token]) => [token, version])),
23
+ }
24
+ : {}),
25
+ },
17
26
  baseThemeId,
18
27
  componentsOutputDir: (0, path_1.join)(outputDir, 'components'),
19
28
  designTokensOutputDir: (0, path_1.join)(outputDir, 'design-tokens'),
@@ -1 +1 @@
1
- {"version":3,"file":"theming.js","sourceRoot":"","sources":["../../src-themeable/theming.ts"],"names":[],"mappings":";;AAoBA,sDAWC;AA/BD,qEAAqE;AACrE,sCAAsC;AACtC,+BAA4B;AAE5B,oEAA6F;AAE7F,wFAAiG;AAEjG,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,uBAAuB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AASvE,SAAgB,qBAAqB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAA+B;IAClG,OAAO,IAAA,qCAAgB,EAAC;QACtB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAN,kBAAM;QACN,WAAW;QACX,mBAAmB,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC;QAClD,qBAAqB,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,eAAe,CAAC;QACvD,WAAW;QACX,uBAAuB;QACvB,OAAO;KACR,CAAC,CAAC;AACL,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { join } from 'path';\n\nimport { buildThemedComponents as themingCoreBuild } from '@cloudscape-design/theming-build';\n\nimport { preset, TypedOverride } from './internal/template/internal/generated/theming/index.cjs';\n\nconst internalDir = join(__dirname, './internal');\nconst scssDir = join(internalDir, './scss');\nconst templateDir = join(internalDir, './template');\nconst designTokensTemplateDir = join(internalDir, './template-tokens');\n\nexport type Theme = TypedOverride;\nexport interface BuildThemedComponentsParams {\n theme: Theme;\n outputDir: string;\n baseThemeId?: string;\n}\n\nexport function buildThemedComponents({ theme, outputDir, baseThemeId }: BuildThemedComponentsParams): Promise<void> {\n return themingCoreBuild({\n override: theme,\n preset,\n baseThemeId,\n componentsOutputDir: join(outputDir, 'components'),\n designTokensOutputDir: join(outputDir, 'design-tokens'),\n templateDir,\n designTokensTemplateDir,\n scssDir,\n });\n}\n"]}
1
+ {"version":3,"file":"theming.js","sourceRoot":"","sources":["../../src-themeable/theming.ts"],"names":[],"mappings":";;AAoBA,sDAyBC;AA7CD,qEAAqE;AACrE,sCAAsC;AACtC,+BAA4B;AAE5B,oEAA6F;AAE7F,wFAAiG;AAEjG,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAClD,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,uBAAuB,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AASvE,SAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,WAAW,EACX,GAAG,IAAI,EACqB;IAC5B,gFAAgF;IAChF,MAAM,OAAO,GAAI,IAAY,CAAC,eAAe,CAAC;IAC9C,OAAO,IAAA,qCAAgB,EAAC;QACtB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE;YACN,GAAG,kBAAM;YACT,GAAG,CAAC,OAAO;gBACT,CAAC,CAAC;oBACE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;iBAC3G;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,WAAW;QACX,mBAAmB,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,YAAY,CAAC;QAClD,qBAAqB,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,eAAe,CAAC;QACvD,WAAW;QACX,uBAAuB;QACvB,OAAO;KACR,CAAC,CAAC;AACL,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { join } from 'path';\n\nimport { buildThemedComponents as themingCoreBuild } from '@cloudscape-design/theming-build';\n\nimport { preset, TypedOverride } from './internal/template/internal/generated/theming/index.cjs';\n\nconst internalDir = join(__dirname, './internal');\nconst scssDir = join(internalDir, './scss');\nconst templateDir = join(internalDir, './template');\nconst designTokensTemplateDir = join(internalDir, './template-tokens');\n\nexport type Theme = TypedOverride;\nexport interface BuildThemedComponentsParams {\n theme: Theme;\n outputDir: string;\n baseThemeId?: string;\n}\n\nexport function buildThemedComponents({\n theme,\n outputDir,\n baseThemeId,\n ...rest\n}: BuildThemedComponentsParams): Promise<void> {\n // Website-only escape hatch to avoid token hash collisions in generated output.\n const version = (rest as any).__tokenHashSeed;\n return themingCoreBuild({\n override: theme,\n preset: {\n ...preset,\n ...(version\n ? {\n tokenVersions: Object.fromEntries(Object.entries(preset.propertiesMap).map(([token]) => [token, version])),\n }\n : {}),\n },\n baseThemeId,\n componentsOutputDir: join(outputDir, 'components'),\n designTokensOutputDir: join(outputDir, 'design-tokens'),\n templateDir,\n designTokensTemplateDir,\n scssDir,\n });\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudscape-design/components-themeable",
3
- "version": "3.0.1359",
3
+ "version": "3.0.1360",
4
4
  "files": [
5
5
  "lib"
6
6
  ],