Skip to content

Commit 6a34c32

Browse files
authored
Merge branch 'main' into ai-textarea-sample
2 parents 08e1dde + 1304826 commit 6a34c32

40 files changed

Lines changed: 305 additions & 329 deletions

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,25 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [2.17.0](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.5...v2.17.0) (2025-12-05)
7+
8+
9+
### Bug Fixes
10+
11+
* **ui5-dynamic-page:** fit content paddings aligned with specification ([#12738](https://github.com/UI5/webcomponents/issues/12738)) ([00803e6](https://github.com/UI5/webcomponents/commit/00803e68e431c663e5fc1595ff3a45cf0b1876ce)), closes [#12652](https://github.com/UI5/webcomponents/issues/12652)
12+
* **ui5-search-item:** correct font size ([#12758](https://github.com/UI5/webcomponents/issues/12758)) ([35ae11a](https://github.com/UI5/webcomponents/commit/35ae11a9e10f1578a1c16e3e0f93221680f98aee))
13+
14+
15+
### Reverts
16+
17+
* Revert "feat(framework): scope theming css variables with component packages (#12491)" (#12775) ([3385623](https://github.com/UI5/webcomponents/commit/33856235e357a3d4d0b9391eab2a83a5b3010556)), closes [#12491](https://github.com/UI5/webcomponents/issues/12491) [#12775](https://github.com/UI5/webcomponents/issues/12775)
18+
* Revert "chore: scope theming variables used in illustrations (#12687)" (#12770) ([c9288ff](https://github.com/UI5/webcomponents/commit/c9288ff0f655fdd03262b71ac788e5688c904add)), closes [#12687](https://github.com/UI5/webcomponents/issues/12687) [#12770](https://github.com/UI5/webcomponents/issues/12770)
19+
* Revert "feat(framework): introduce loadBaseThemingCSSVariables configuration (#12699)" (#12767) ([db375d3](https://github.com/UI5/webcomponents/commit/db375d30b9f4a7e07961fabbdcefdcdc78a93f46)), closes [#12699](https://github.com/UI5/webcomponents/issues/12699) [#12767](https://github.com/UI5/webcomponents/issues/12767)
20+
21+
22+
23+
24+
625
# [2.17.0-rc.5](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.4...v2.17.0-rc.5) (2025-12-04)
726

827

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"packages/create-package",
1515
"packages/compat"
1616
],
17-
"version": "2.17.0-rc.5",
17+
"version": "2.17.0",
1818
"command": {
1919
"publish": {
2020
"allowBranch": "*",

packages/ai/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [2.17.0](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.5...v2.17.0) (2025-12-05)
7+
8+
**Note:** Version bump only for package @ui5/webcomponents-ai
9+
10+
11+
12+
13+
614
# [2.17.0-rc.5](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.4...v2.17.0-rc.5) (2025-12-04)
715

816

packages/ai/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ui5/webcomponents-ai",
3-
"version": "2.17.0-rc.5",
3+
"version": "2.17.0",
44
"description": "UI5 Web Components: webcomponents.ai",
55
"ui5": {
66
"webComponentsPackage": true
@@ -46,15 +46,15 @@
4646
"directory": "packages/ai"
4747
},
4848
"dependencies": {
49-
"@ui5/webcomponents": "2.17.0-rc.5",
50-
"@ui5/webcomponents-base": "2.17.0-rc.5",
51-
"@ui5/webcomponents-icons": "2.17.0-rc.5",
52-
"@ui5/webcomponents-theming": "2.17.0-rc.5"
49+
"@ui5/webcomponents": "2.17.0",
50+
"@ui5/webcomponents-base": "2.17.0",
51+
"@ui5/webcomponents-icons": "2.17.0",
52+
"@ui5/webcomponents-theming": "2.17.0"
5353
},
5454
"devDependencies": {
5555
"@custom-elements-manifest/analyzer": "^0.10.10",
5656
"@ui5/cypress-internal": "0.1.0",
57-
"@ui5/webcomponents-tools": "2.17.0-rc.5",
57+
"@ui5/webcomponents-tools": "2.17.0",
5858
"cypress": "^15.3.0",
5959
"vite": "5.4.21"
6060
}

packages/base/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [2.17.0](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.5...v2.17.0) (2025-12-05)
7+
8+
9+
### Reverts
10+
11+
* Revert "feat(framework): scope theming css variables with component packages (#12491)" (#12775) ([3385623](https://github.com/UI5/webcomponents/commit/33856235e357a3d4d0b9391eab2a83a5b3010556)), closes [#12491](https://github.com/UI5/webcomponents/issues/12491) [#12775](https://github.com/UI5/webcomponents/issues/12775)
12+
* Revert "feat(framework): introduce loadBaseThemingCSSVariables configuration (#12699)" (#12767) ([db375d3](https://github.com/UI5/webcomponents/commit/db375d30b9f4a7e07961fabbdcefdcdc78a93f46)), closes [#12699](https://github.com/UI5/webcomponents/issues/12699) [#12767](https://github.com/UI5/webcomponents/issues/12767)
13+
14+
15+
16+
17+
618
# [2.17.0-rc.5](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.4...v2.17.0-rc.5) (2025-12-04)
719

820

packages/base/lib/generate-styles/index.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
import fs from 'fs/promises';
22
import path from "path";
33
import CleanCSS from "clean-css";
4-
import { processComponentPackageFile } from '@ui5/webcomponents-tools/lib/css-processors/css-processor-themes.mjs';
54
import { pathToFileURL } from "url";
65

76
const generate = async () => {
8-
const packageJSON = JSON.parse(await fs.readFile("./package.json"))
97
await fs.mkdir("src/generated/css/", { recursive: true });
108

119
const files = (await fs.readdir("src/css/")).filter(file => file.endsWith(".css"));
1210
const filesPromises = files.map(async file => {
13-
const filePath = path.join("src/css/", file);
14-
let content = await fs.readFile(filePath);
11+
let content = await fs.readFile(path.join("src/css/", file));
1512
const res = new CleanCSS().minify(`${content}`);
16-
17-
// Scope used variables
18-
content = await processComponentPackageFile({ text: res.styles, path: filePath }, packageJSON);
19-
20-
content = `export default \`${content}\`;`;
21-
13+
content = `export default \`${res.styles}\`;`;
2214
return fs.writeFile(path.join("src/generated/css/", `${file}.ts`), content);
2315
});
2416

packages/base/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ui5/webcomponents-base",
3-
"version": "2.17.0-rc.5",
3+
"version": "2.17.0",
44
"description": "UI5 Web Components: webcomponents.base",
55
"author": "SAP SE (https://www.sap.com)",
66
"license": "Apache-2.0",
@@ -64,7 +64,7 @@
6464
"@openui5/sap.ui.core": "1.120.17",
6565
"@sap-theming/theming-base-content": "11.29.3",
6666
"@ui5/cypress-internal": "0.1.0",
67-
"@ui5/webcomponents-tools": "2.17.0-rc.5",
67+
"@ui5/webcomponents-tools": "2.17.0",
6868
"clean-css": "^5.2.2",
6969
"cypress": "^15.3.0",
7070
"mocha": "^11.7.2",

packages/base/src/theming/applyTheme.ts

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
2-
import { createOrUpdateStyle } from "../ManagedStyles.js";
2+
import { removeStyle, createOrUpdateStyle } from "../ManagedStyles.js";
33
import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
44
import { fireThemeLoaded } from "./ThemeLoaded.js";
5+
import { getFeature } from "../FeaturesRegistry.js";
56
import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoot.js";
7+
import type OpenUI5Support from "../features/OpenUI5Support.js";
68
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
79
import { getCurrentRuntimeIndex } from "../Runtimes.js";
810

@@ -29,6 +31,10 @@ const loadThemeBase = async (theme: string) => {
2931
}
3032
};
3133

34+
const deleteThemeBase = () => {
35+
removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
36+
};
37+
3238
const loadComponentPackages = async (theme: string, externalThemeName?: string) => {
3339
const registeredPackages = getRegisteredPackages();
3440

@@ -47,34 +53,42 @@ const loadComponentPackages = async (theme: string, externalThemeName?: string)
4753
};
4854

4955
const detectExternalTheme = async (theme: string) => {
50-
if (getThemeRoot()) {
51-
await attachCustomThemeStylesToHead(theme);
52-
}
53-
5456
// If theme designer theme is detected, use this
5557
const extTheme = getThemeDesignerTheme();
5658
if (extTheme) {
5759
return extTheme;
5860
}
61+
62+
// If OpenUI5Support is enabled, try to find out if it loaded variables
63+
const openUI5Support = getFeature<typeof OpenUI5Support>("OpenUI5Support");
64+
if (openUI5Support && openUI5Support.isOpenUI5Detected()) {
65+
const varsLoaded = openUI5Support.cssVariablesLoaded();
66+
if (varsLoaded) {
67+
return {
68+
themeName: openUI5Support.getConfigurationSettingsObject()?.theme, // just themeName
69+
baseThemeName: "", // baseThemeName is only relevant for custom themes
70+
};
71+
}
72+
} else if (getThemeRoot()) {
73+
await attachCustomThemeStylesToHead(theme);
74+
75+
return getThemeDesignerTheme();
76+
}
5977
};
6078

6179
const applyTheme = async (theme: string) => {
62-
// Detect external theme if available (e.g., from theme designer or custom theme root)
6380
const extTheme = await detectExternalTheme(theme);
6481

65-
// Determine which theme to use for component packages:
66-
// 1. If the requested theme is registered, use it directly
67-
// 2. If external theme exists, use its base theme (e.g., "my_custom_theme" extends "sap_fiori_3")
68-
// 3. Otherwise, fallback to the default theme
69-
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
70-
const effectiveTheme = packagesTheme || DEFAULT_THEME;
71-
72-
// Load base theme properties
73-
await loadThemeBase(effectiveTheme);
82+
// Only load theme_base properties if there is no externally loaded theme, or there is, but it is not being loaded
83+
if (!extTheme || theme !== extTheme.themeName) {
84+
await loadThemeBase(theme);
85+
} else {
86+
deleteThemeBase();
87+
}
7488

75-
// Load component-specific theme properties
76-
// Pass external theme name only if it matches the requested theme to avoid conflicts
77-
await loadComponentPackages(effectiveTheme, extTheme && extTheme.themeName === theme ? theme : undefined);
89+
// Always load component packages properties. For non-registered themes, try with the base theme, if any
90+
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
91+
await loadComponentPackages(packagesTheme || DEFAULT_THEME, extTheme && extTheme.themeName === theme ? theme : undefined);
7892

7993
fireThemeLoaded(theme);
8094
};

packages/compat/CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [2.17.0](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.5...v2.17.0) (2025-12-05)
7+
8+
9+
### Reverts
10+
11+
* Revert "feat(framework): introduce loadBaseThemingCSSVariables configuration (#12699)" (#12767) ([db375d3](https://github.com/UI5/webcomponents/commit/db375d30b9f4a7e07961fabbdcefdcdc78a93f46)), closes [#12699](https://github.com/UI5/webcomponents/issues/12699) [#12767](https://github.com/UI5/webcomponents/issues/12767)
12+
13+
14+
15+
16+
617
# [2.17.0-rc.5](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.4...v2.17.0-rc.5) (2025-12-04)
718

819

packages/compat/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ui5/webcomponents-compat",
3-
"version": "2.17.0-rc.5",
3+
"version": "2.17.0",
44
"description": "UI5 Web Components: webcomponents.compat",
55
"ui5": {
66
"webComponentsPackage": true
@@ -46,15 +46,15 @@
4646
"directory": "packages/compat"
4747
},
4848
"dependencies": {
49-
"@ui5/webcomponents": "2.17.0-rc.5",
50-
"@ui5/webcomponents-base": "2.17.0-rc.5",
51-
"@ui5/webcomponents-icons": "2.17.0-rc.5",
52-
"@ui5/webcomponents-theming": "2.17.0-rc.5"
49+
"@ui5/webcomponents": "2.17.0",
50+
"@ui5/webcomponents-base": "2.17.0",
51+
"@ui5/webcomponents-icons": "2.17.0",
52+
"@ui5/webcomponents-theming": "2.17.0"
5353
},
5454
"devDependencies": {
5555
"@custom-elements-manifest/analyzer": "^0.10.10",
5656
"@ui5/cypress-internal": "0.1.0",
57-
"@ui5/webcomponents-tools": "2.17.0-rc.5",
57+
"@ui5/webcomponents-tools": "2.17.0",
5858
"cypress": "^15.3.0",
5959
"vite": "5.4.21"
6060
}

0 commit comments

Comments
 (0)