@ethisyscore/plugin-ui 1.59.0 → 1.62.0
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/dist/platform-react/index.cjs +47 -2
- package/dist/platform-react/index.cjs.map +1 -1
- package/dist/platform-react/index.d.cts +39 -2
- package/dist/platform-react/index.d.ts +39 -2
- package/dist/platform-react/index.js +46 -4
- package/dist/platform-react/index.js.map +1 -1
- package/package.json +1 -1
- package/styles/plugin-base.css +30 -2
package/package.json
CHANGED
package/styles/plugin-base.css
CHANGED
|
@@ -53,9 +53,37 @@
|
|
|
53
53
|
to `rounded-3xl` via CSS in its `components`/`utilities` layers, which can lose
|
|
54
54
|
to MUI's 4px default inside a plugin's cascade. Pin the gogo radius here,
|
|
55
55
|
unlayered + root-scoped (specificity 0,2,0) so it wins regardless of layer
|
|
56
|
-
placement.
|
|
57
|
-
|
|
56
|
+
placement. Since portal containment landed, portaled Paper (menus/dialogs/
|
|
57
|
+
pickers) renders INSIDE the root too, so this now reaches those as well — the
|
|
58
|
+
same radius the host applies to its own. */
|
|
58
59
|
.ehx-plugin-root .MuiCard-root,
|
|
59
60
|
.ehx-plugin-root .MuiPaper-rounded {
|
|
60
61
|
border-radius: var(--border-radius-3xl);
|
|
61
62
|
}
|
|
63
|
+
|
|
64
|
+
/* Portal container rendered by `PluginPortalScope` at the end of every plugin
|
|
65
|
+
surface. MUI's portalling components (Modal/Popper and everything built on
|
|
66
|
+
them) default to it, which keeps dialogs, menus, poppers and tooltips inside
|
|
67
|
+
the plugin root and therefore inside the plugin's SCOPED CSS.
|
|
68
|
+
`position: fixed` at the viewport origin, zero-sized:
|
|
69
|
+
- fixed + top/left 0 gives Popper's `position: absolute` children a
|
|
70
|
+
containing block whose origin matches the viewport coordinates Popper
|
|
71
|
+
computes (a static container would resolve against whatever positioned
|
|
72
|
+
ancestor happens to sit above it, offsetting every popper).
|
|
73
|
+
- zero size means the element itself never covers content or takes clicks;
|
|
74
|
+
overlays overflow it visibly, as intended.
|
|
75
|
+
- the z-index matches MUI's `modal` token so overlays clear host chrome
|
|
76
|
+
(app bar 1100, drawer 1200) from inside the plugin's stacking context.
|
|
77
|
+
The host's own portal container is deliberately unpositioned ("no overflow/
|
|
78
|
+
position to avoid stacking context") and can afford to be: it is a direct child
|
|
79
|
+
of `.gogo-ui`, a sibling of the `relative overflow-hidden` content div. A plugin
|
|
80
|
+
root sits INSIDE that div, so an unpositioned container here would put every
|
|
81
|
+
overlay inside an overflow-clipping, positioned ancestor. Hence the difference. */
|
|
82
|
+
.ehx-plugin-root > .ehx-plugin-portal-root {
|
|
83
|
+
position: fixed;
|
|
84
|
+
top: 0;
|
|
85
|
+
left: 0;
|
|
86
|
+
width: 0;
|
|
87
|
+
height: 0;
|
|
88
|
+
z-index: 1300;
|
|
89
|
+
}
|