Skip to content

feat: add support for Shadow DOM for DropdownContainer#3033

Merged
MSt1ch merged 6 commits intodevelopfrom
fix/focus-lock-inside-shadow-dom
Apr 6, 2026
Merged

feat: add support for Shadow DOM for DropdownContainer#3033
MSt1ch merged 6 commits intodevelopfrom
fix/focus-lock-inside-shadow-dom

Conversation

@i-runets
Copy link
Copy Markdown
Collaborator

@i-runets i-runets commented Feb 11, 2026

Description:

  • Add support for shadow DOM for all components that use DropdownContainer with focusLock={true}
  • Fix autoFocus is always true even when false is passed through params

Issue link:

QA notes:

@i-runets i-runets self-assigned this Feb 11, 2026
@i-runets i-runets force-pushed the fix/focus-lock-inside-shadow-dom branch 2 times, most recently from 4112d34 to cdf414d Compare February 12, 2026 08:07
@i-runets i-runets force-pushed the fix/focus-lock-inside-shadow-dom branch from cdf414d to 42675fc Compare March 25, 2026 12:04
@i-runets i-runets marked this pull request as ready for review March 31, 2026 10:34
@i-runets i-runets force-pushed the fix/focus-lock-inside-shadow-dom branch from 5c4d015 to 0aa3de6 Compare March 31, 2026 10:37
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Generated by: track-bundle-size
Generated at: Mon, 06 Apr 2026 12:24:35 GMT
Bundle size diff (in kBytes). Not gzipped. Both CSS & JS included.
Baseline: v6.3.1 (2025-12-03)
CI Status: ok

Module Baseline Size
(v6.3.1)
Size Diff Within
Threshold
Threshold
(min - max)
templateApp 693.09 683.26 -9.83
js:-6.23
css:-3.6
🆗 623.78 - 762.39
@epam/app 5586.96 5523.41 -63.54
js:-62.65
css:-0.9
🆗 5028.26 - 6145.65
@epam/electric 5.04 5.04 0
js:0
css:0
🆗 4.53 - 5.54
@epam/promo 55.61 55.57 -0.05
js:0
css:-0.05
🆗 50.05 - 61.17
@epam/uui-extra 0.21 0.21 0
js:0
css:0
🆗 0.19 - 0.23
@epam/loveship 92.81 96.23 +3.43
js:+3.47
css:-0.05
🆗 83.53 - 102.09
@epam/uui-components 257.49 259.21 +1.72
js:+0.72
css:+1
🆗 231.75 - 283.25
@epam/uui-core 324.75 329.08 +4.33
js:+4.33
css:0
🆗 292.27 - 357.23
@epam/uui-db 41.63 41.72 +0.08
js:+0.08
css:0
🆗 37.47 - 45.8
@epam/uui-docs 181.03 194.76 +13.74
js:+13.75
css:0
🆗 162.92 - 199.13
@epam/uui-editor 174.1 174.11 +0.01
js:+0.01
css:+0
🆗 156.69 - 191.51
@epam/uui-timeline 75.5 75.49 -0.01
js:0
css:0
🆗 67.95 - 83.05
@epam/uui 527.51 547.25 +19.74
js:+3.9
css:+15.84
🆗 474.76 - 580.26
new sizes (raw)

To set the sizes as a new baseline, you can copy/paste next content to the uui-build/config/bundleSizeBaseLine.json and commit the file.

{
  "version": "6.4.4",
  "timestamp": "2026-04-06",
  "sizes": {
    "templateApp": {
      "css": 253789,
      "js": 445868
    },
    "@epam/app": {
      "css": 719597,
      "js": 4936380
    },
    "@epam/electric": {
      "css": 2275,
      "js": 2883
    },
    "@epam/promo": {
      "css": 47756,
      "js": 9145
    },
    "@epam/uui-extra": {
      "css": 0,
      "js": 213
    },
    "@epam/loveship": {
      "css": 55330,
      "js": 43216
    },
    "@epam/uui-components": {
      "css": 24622,
      "js": 240817
    },
    "@epam/uui-core": {
      "css": 0,
      "js": 336983
    },
    "@epam/uui-db": {
      "css": 0,
      "js": 42718
    },
    "@epam/uui-docs": {
      "css": 2152,
      "js": 197287
    },
    "@epam/uui-editor": {
      "css": 12954,
      "js": 165333
    },
    "@epam/uui-timeline": {
      "css": 2199,
      "js": 75104
    },
    "@epam/uui": {
      "css": 214962,
      "js": 345421
    }
  }
}

Generated by: generate-components-api
CI Status: ok

Total amount of exported types/props without JSDoc comments

Amount
Types 337 (+0) 🆗
Props 220 (+0) 🆗

Ivan Runets added 3 commits April 2, 2026 15:52
- Updated `UuiEnhancedApp` to accept a `shadowRootHost` for Shadow DOM integration.
- Introduced a new example demonstrating UUI context usage within a Shadow DOM.
- Updated documentation and type definitions to reflect the new `shadowRootHost` property.
- fixed `autoFocus` always being `true` even when `false` is passed through params.
…focus handling

- Removed `shadowRootHost` from `useUuiServices` and related components.
- Updated `DropdownContainer` to manage focus lock correctly without relying on `shadowRootHost`.
- Deleted example demonstrating Shadow DOM usage as it is no longer supported.
- Updated changelog to reflect changes in focus handling for `DropdownContainer`.
@i-runets i-runets force-pushed the fix/focus-lock-inside-shadow-dom branch from 0aa3de6 to 1e2e2df Compare April 2, 2026 12:53
Ivan Runets and others added 3 commits April 3, 2026 10:58
- Added `waitForImagesLoaded` method to `AbsPage` to ensure images are fully loaded before taking screenshots.
- Updated `expectScreenshot` methods in `IntegrationTestPage` and `PreviewPage` to utilize the new loading method with configurable timeout.
- Imported `slowTestExpectTimeout` from configuration for better control over slow test scenarios.
- Updated related screenshot files to reflect changes in test execution.
@MSt1ch MSt1ch merged commit 918bd1a into develop Apr 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants