Skip to content

Commit 43e4bf0

Browse files
authored
Merge branch 'main' into main
2 parents dd4070e + b818abb commit 43e4bf0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1088
-361
lines changed

.github/workflows/release.yaml

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@ on:
1919
required: false
2020
default: ''
2121
type: string
22-
npm_tag:
23-
description: 'tag (hotfix only)'
24-
required: false
25-
default: ''
26-
type: string
2722

2823
# Scheduled automatic RC releases
2924
schedule:
@@ -58,17 +53,6 @@ jobs:
5853
- name: Build
5954
run: yarn ci:releasebuild
6055

61-
- name: Dry Run
62-
run: |
63-
yarn lerna version ${{ github.event.inputs.new_version || '' }} \
64-
--conventional-graduate \
65-
--force-conventional-graduate \
66-
--yes \
67-
--exact \
68-
--dry-run
69-
70-
yarn lerna publish --dry-run
71-
7256
- name: Version Bump
7357
env:
7458
GH_TOKEN: ${{ secrets.UI5_WEBCOMP_BOT_GH_TOKEN }}
@@ -153,17 +137,6 @@ jobs:
153137
- name: Build
154138
run: yarn ci:releasebuild
155139

156-
- name: Dry Run
157-
run: |
158-
yarn lerna version \
159-
--conventional-prerelease \
160-
--force-publish \
161-
--yes \
162-
--exact \
163-
--dry-run
164-
165-
yarn lerna publish --dry-run
166-
167140
- name: Version Bump
168141
env:
169142
GH_TOKEN: ${{ secrets.UI5_WEBCOMP_BOT_GH_TOKEN }}
@@ -206,7 +179,7 @@ jobs:
206179
207180
# ✅ Job 3: Hotfix Release Flow
208181
hotfix-release:
209-
if: ${{ github.event.inputs.release_type == 'hotfix' }}
182+
if: ${{ github.event.inputs.release_type == 'hotfix' && github.event.inputs.new_version != '' }}
210183
permissions:
211184
contents: write
212185
id-token: write
@@ -232,17 +205,6 @@ jobs:
232205
- name: Build
233206
run: yarn ci:releasebuild
234207

235-
- name: Dry Run
236-
run: |
237-
yarn lerna version ${{ github.event.inputs.new_version || '' }} \
238-
--conventional-graduate \
239-
--force-conventional-graduate \
240-
--yes \
241-
--exact \
242-
--dry-run
243-
244-
yarn lerna publish --dry-run
245-
246208
- name: Version Bump
247209
env:
248210
GH_TOKEN: ${{ secrets.UI5_WEBCOMP_BOT_GH_TOKEN }}
@@ -257,7 +219,9 @@ jobs:
257219
--create-release github
258220
259221
- name: Publish
260-
run: yarn lerna publish from-git --yes --dist-tag ${{ github.event.inputs.npm_tag || 'sf' }}
222+
run: |
223+
major_minor=$(echo "${{ github.event.inputs.new_version }}" | cut -d. -f1,2)
224+
yarn lerna publish from-git --yes --dist-tag "hotfix-${major_minor}"
261225
262226
# ✅ Job 4: Experimental Release Flow
263227
experimental-release:

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,26 @@
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-rc.2](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.1...v2.17.0-rc.2) (2025-11-13)
7+
8+
9+
### Bug Fixes
10+
11+
* **tools:** fix wc-dev test command ([#12662](https://github.com/UI5/webcomponents/issues/12662)) ([7dd11fb](https://github.com/UI5/webcomponents/commit/7dd11fbb88711a74d3602328a492a923552fd4ef))
12+
* **ui5-popover:** fix horizontal placement (Start and End) in rtl mode ([#12606](https://github.com/UI5/webcomponents/issues/12606)) ([8135904](https://github.com/UI5/webcomponents/commit/813590444b04dda4fa089499720d6e2fc4a1f63e))
13+
* **ui5-slider/ui5-range-slider:** add border to progress indicator ([#12653](https://github.com/UI5/webcomponents/issues/12653)) ([e9fa794](https://github.com/UI5/webcomponents/commit/e9fa7948cfbc44f7d5396274e00d2e0d8b4e459b))
14+
15+
16+
### Features
17+
18+
* **ui5-bar:** introduce `accessibleName` and `accessibleNameRef` properties ([#12626](https://github.com/UI5/webcomponents/issues/12626)) ([984f829](https://github.com/UI5/webcomponents/commit/984f829d615140b1f80139afe67dc8bb559a4ccf)), closes [#12591](https://github.com/UI5/webcomponents/issues/12591)
19+
* **ui5-toolbar-button:** add showOverflowText property for conditional text display ([#12542](https://github.com/UI5/webcomponents/issues/12542)) ([7e2a07d](https://github.com/UI5/webcomponents/commit/7e2a07d928e68d95421844eb2d9d9042d3aaa8fc)), closes [#12381](https://github.com/UI5/webcomponents/issues/12381)
20+
* **ui5-view-settings-dialog:** provide part for header ([#12627](https://github.com/UI5/webcomponents/issues/12627)) ([3206b90](https://github.com/UI5/webcomponents/commit/3206b906785424cac46ceeb6f7d9d61131635316)), closes [#12479](https://github.com/UI5/webcomponents/issues/12479)
21+
22+
23+
24+
25+
626
# [2.17.0-rc.1](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.0...v2.17.0-rc.1) (2025-11-07)
727

828

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.1",
17+
"version": "2.17.0-rc.2",
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-rc.2](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.1...v2.17.0-rc.2) (2025-11-13)
7+
8+
**Note:** Version bump only for package @ui5/webcomponents-ai
9+
10+
11+
12+
13+
614
# [2.17.0-rc.1](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.0...v2.17.0-rc.1) (2025-11-07)
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.1",
3+
"version": "2.17.0-rc.2",
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.1",
50-
"@ui5/webcomponents-base": "2.17.0-rc.1",
51-
"@ui5/webcomponents-icons": "2.17.0-rc.1",
52-
"@ui5/webcomponents-theming": "2.17.0-rc.1"
49+
"@ui5/webcomponents": "2.17.0-rc.2",
50+
"@ui5/webcomponents-base": "2.17.0-rc.2",
51+
"@ui5/webcomponents-icons": "2.17.0-rc.2",
52+
"@ui5/webcomponents-theming": "2.17.0-rc.2"
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.1",
57+
"@ui5/webcomponents-tools": "2.17.0-rc.2",
5858
"chokidar-cli": "^3.0.0",
5959
"cypress": "^15.3.0",
6060
"eslint": "^7.22.0",

packages/base/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-rc.2](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.1...v2.17.0-rc.2) (2025-11-13)
7+
8+
**Note:** Version bump only for package @ui5/webcomponents-base
9+
10+
11+
12+
13+
614
# [2.17.0-rc.1](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.0...v2.17.0-rc.1) (2025-11-07)
715

816
**Note:** Version bump only for package @ui5/webcomponents-base

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
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';
45
import { pathToFileURL } from "url";
56

67
const generate = async () => {
8+
const packageJSON = JSON.parse(await fs.readFile("./package.json"))
79
await fs.mkdir("src/generated/css/", { recursive: true });
810

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

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.1",
3+
"version": "2.17.0-rc.2",
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.1",
67+
"@ui5/webcomponents-tools": "2.17.0-rc.2",
6868
"chokidar-cli": "^3.0.0",
6969
"clean-css": "^5.2.2",
7070
"cypress": "^15.3.0",

packages/base/src/theming/applyTheme.ts

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

@@ -31,10 +29,6 @@ const loadThemeBase = async (theme: string) => {
3129
}
3230
};
3331

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

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

5549
const detectExternalTheme = async (theme: string) => {
50+
if (getThemeRoot()) {
51+
await attachCustomThemeStylesToHead(theme);
52+
}
53+
5654
// If theme designer theme is detected, use this
5755
const extTheme = getThemeDesignerTheme();
5856
if (extTheme) {
5957
return extTheme;
6058
}
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-
}
7759
};
7860

7961
const applyTheme = async (theme: string) => {
62+
// Detect external theme if available (e.g., from theme designer or custom theme root)
8063
const extTheme = await detectExternalTheme(theme);
8164

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-
}
88-
89-
// Always load component packages properties. For non-registered themes, try with the base theme, if any
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
9069
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
91-
await loadComponentPackages(packagesTheme || DEFAULT_THEME, extTheme && extTheme.themeName === theme ? theme : undefined);
70+
const effectiveTheme = packagesTheme || DEFAULT_THEME;
71+
72+
// Load base theme properties
73+
await loadThemeBase(effectiveTheme);
74+
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);
9278

9379
fireThemeLoaded(theme);
9480
};

packages/compat/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-rc.2](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.1...v2.17.0-rc.2) (2025-11-13)
7+
8+
**Note:** Version bump only for package @ui5/webcomponents-compat
9+
10+
11+
12+
13+
614
# [2.17.0-rc.1](https://github.com/UI5/webcomponents/compare/v2.17.0-rc.0...v2.17.0-rc.1) (2025-11-07)
715

816
**Note:** Version bump only for package @ui5/webcomponents-compat

0 commit comments

Comments
 (0)