@innovaccer/design-system 4.30.0 → 4.30.1

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## 4.30.1 (2026-09-09)
2
+
3
+ ### Highlights
4
+
5
+ - Added a portal selector for scoped CSS support.
6
+
7
+ ### Breaking changes
8
+
9
+ NA
10
+
11
+ ### Migration guide
12
+
13
+ NA
14
+
15
+ ### Deprecations
16
+
17
+ NA
18
+
19
+ ### Improvements
20
+
21
+ - style(scoped-css): add portal selector for scoped css (e6966cbf8)
22
+
23
+ ---
24
+
1
25
  ## 4.30.0 (2026-09-07)
2
26
 
3
27
  ### Highlights
package/css/SCOPED_CSS.md CHANGED
@@ -69,11 +69,19 @@ adds them to the prelude directly, targeting markup the components *already* ren
69
69
  [data-mds-root], /* your opt-in container */
70
70
  body > .Overlay-wrapper:has([data-layer]), /* Modal, Sidesheet, FullscreenModal */
71
71
  body > [data-test='DesignSystem-Popover'], /* Popover, Tooltip, Dropdown, Menu, … */
72
+ body > [data-floating-ui-portal], /* same components, via @floating-ui/react's FloatingPortal */
72
73
  body > [data-test='DesignSystem-Backdrop'], /* Backdrop */
73
74
  body > .Listbox-item--draggable /* Listbox drag ghost */
74
75
  )
75
76
  ```
76
77
 
78
+ `body > [data-floating-ui-portal]` is a second, additive root for the same Popover-built
79
+ components: `PopperWrapper` now renders through `@floating-ui/react`'s `FloatingPortal`, which
80
+ inserts its own `<div data-floating-ui-portal>` directly under `body` and nests the
81
+ `data-test='DesignSystem-Popover'` element one level inside *that* — no longer a direct child
82
+ of `body`. `data-floating-ui-portal` is set unconditionally by the library itself, so it keeps
83
+ matching regardless of a component's (now overridable via a `dataTest` prop) `data-test` value.
84
+
77
85
  Every popper-based component shares one root — `Popover` renders the popup element itself and
78
86
  Tooltip/Dropdown/Menu all go through it — so a single selector covers them all.
79
87
 
@@ -349,7 +349,7 @@
349
349
  opacity: 0;
350
350
  }
351
351
  }
352
- @scope ([data-mds-root], body > .Overlay-wrapper:has([data-layer]), body > [data-test='DesignSystem-Popover'], body > [data-test='DesignSystem-Backdrop'], body > .Listbox-item--draggable) {
352
+ @scope ([data-mds-root], body > .Overlay-wrapper:has([data-layer]), body > [data-test='DesignSystem-Popover'], body > [data-floating-ui-portal], body > [data-test='DesignSystem-Backdrop'], body > .Listbox-item--draggable) {
353
353
  /* Source: src/tokens/index.css */
354
354
  /**** Color Primitives ****/
355
355
  :scope {
@@ -34,6 +34,17 @@ const PORTAL_ROOT_SELECTORS = [
34
34
  'body > .Overlay-wrapper:has([data-layer])',
35
35
  /** Popover and everything built on it: Tooltip, Dropdown, Menu, DateRangePicker, … */
36
36
  "body > [data-test='DesignSystem-Popover']",
37
+ /**
38
+ * `PopperWrapper` now renders through `@floating-ui/react`'s `FloatingPortal`, which
39
+ * inserts its own `<div data-floating-ui-portal>` directly under `body` and nests the
40
+ * `data-test='DesignSystem-Popover'` element one level inside *that* — so the selector
41
+ * above no longer matches a direct child of `body` for any Popover-built component
42
+ * (Tooltip, Dropdown, Menu, Select, DateRangePicker, AvatarGroup, …). This selector
43
+ * targets the actual direct child instead. `data-floating-ui-portal` is set
44
+ * unconditionally by the library itself, so it doesn't depend on a component's
45
+ * (now overridable via a `dataTest` prop) `data-test` value.
46
+ */
47
+ 'body > [data-floating-ui-portal]',
37
48
  /** Backdrop, including the one Modal/Sidesheet render. */
38
49
  "body > [data-test='DesignSystem-Backdrop']",
39
50
  /**