Skip to content

feat: add support for Shadow DOM for DropdownContainer#3033

Open
i-runets wants to merge 3 commits intodevelopfrom
fix/focus-lock-inside-shadow-dom
Open

feat: add support for Shadow DOM for DropdownContainer#3033
i-runets wants to merge 3 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
Ivan Runets added 3 commits March 31, 2026 13:36
- 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 5c4d015 to 0aa3de6 Compare March 31, 2026 10:37
@github-actions
Copy link
Copy Markdown

Generated by: track-bundle-size
Generated at: Tue, 31 Mar 2026 10:52:51 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.82
js:-6.24
css:-3.58
🆗 623.78 - 762.39
@epam/app 5586.96 5523.39 -63.56
js:-62.7
css:-0.87
🆗 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.27 +3.46
js:+3.49
css:-0.03
🆗 83.53 - 102.09
@epam/uui-components 257.49 259.2 +1.71
js:+0.72
css:+0.99
🆗 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.77 +13.75
js:+13.75
css:0
🆗 162.92 - 199.13
@epam/uui-editor 174.1 174.1 -0.01
js:-0.01
css:0
🆗 156.69 - 191.51
@epam/uui-timeline 75.5 75.5 +0
js:0
css:+0
🆗 67.95 - 83.05
@epam/uui 527.51 547.28 +19.76
js:+3.9
css:+15.87
🆗 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.3",
  "timestamp": "2026-03-31",
  "sizes": {
    "templateApp": {
      "css": 253802,
      "js": 445862
    },
    "@epam/app": {
      "css": 719629,
      "js": 4936325
    },
    "@epam/electric": {
      "css": 2275,
      "js": 2883
    },
    "@epam/promo": {
      "css": 47756,
      "js": 9145
    },
    "@epam/uui-extra": {
      "css": 0,
      "js": 213
    },
    "@epam/loveship": {
      "css": 55348,
      "js": 43230
    },
    "@epam/uui-components": {
      "css": 24608,
      "js": 240814
    },
    "@epam/uui-core": {
      "css": 0,
      "js": 336983
    },
    "@epam/uui-db": {
      "css": 0,
      "js": 42718
    },
    "@epam/uui-docs": {
      "css": 2152,
      "js": 197291
    },
    "@epam/uui-editor": {
      "css": 12952,
      "js": 165320
    },
    "@epam/uui-timeline": {
      "css": 2203,
      "js": 75109
    },
    "@epam/uui": {
      "css": 214985,
      "js": 345422
    }
  }
}

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

Total amount of exported types/props without JSDoc comments

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

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.

1 participant