@stigmer/react 3.1.16 → 3.1.17
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/README.md +16 -1
- package/package.json +4 -4
- package/provider.d.ts +32 -0
- package/provider.d.ts.map +1 -1
- package/provider.js +25 -1
- package/provider.js.map +1 -1
- package/src/__tests__/provider-container.layout.test.tsx +165 -0
- package/src/__tests__/provider-theme-scope.test.tsx +31 -0
- package/src/provider.tsx +42 -0
- package/src/styles.css +14 -0
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ Three things are required:
|
|
|
61
61
|
| `executionTarget` | `"local" \| "cloud"` | No | Default execution target for sessions and workflow executions created in this provider. Omit to let the server decide. See [Local Execution](#local-execution). |
|
|
62
62
|
| `runnerAdapter` | `RunnerAdapter` | No | Runner lifecycle adapter, required when `executionTarget` is `"local"`. Omit for cloud. See [Local Execution](#local-execution). |
|
|
63
63
|
| `preset` | `ThemePresetId` | No | Built-in theme preset to apply. Omit for the default Stigmer palette. |
|
|
64
|
-
| `className` | `string` | No | Additional CSS classes
|
|
64
|
+
| `className` | `string` | No | Additional CSS classes for theming. Applied to the scoping container *and* mirrored onto the portal container, so token overrides reach portaled surfaces — not a layout channel (see [Style Isolation](#style-isolation)). |
|
|
65
65
|
|
|
66
66
|
### `useStigmer()` Hook
|
|
67
67
|
|
|
@@ -198,6 +198,21 @@ Returns `"light"` or `"dark"` — never `"system"`. The provider resolves `"syst
|
|
|
198
198
|
|
|
199
199
|
This means you can mount `<StigmerProvider>` inside a sidebar, modal, or any section of your page and Stigmer's styles stay contained.
|
|
200
200
|
|
|
201
|
+
### Sizing
|
|
202
|
+
|
|
203
|
+
The scoping container ships with no layout styling — it sizes to its content, so document-flow embeddings need nothing. For fixed-height embeddings (docked panes, split layouts), height-filling components like `SessionViewer` need a percentage-height chain to reach them; opt the container into that chain from host CSS:
|
|
204
|
+
|
|
205
|
+
```css
|
|
206
|
+
.stgm[data-stgm-root] {
|
|
207
|
+
height: 100%;
|
|
208
|
+
min-height: 0;
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
This is opt-in rather than an SDK default because `height: 100%` is not safe in arbitrary layouts (under a `flex-1` parent it resolves against the flexed size and balloons) — only the host knows its layout.
|
|
213
|
+
|
|
214
|
+
Two marker attributes are stable public selectors: `data-stgm-root` on the in-tree container, `data-stgm-portal` on the portal container appended to `document.body`. See the [theming guide](../../docs/sdk/theme/theming.mdx) for the full sizing and embedding reference.
|
|
215
|
+
|
|
201
216
|
## Local Execution
|
|
202
217
|
|
|
203
218
|
By default, agent and workflow execution runs in the cloud — the Stigmer server provisions a sandbox with a runner. Desktop apps, CLIs, and self-hosted deployments can instead run execution on the client. Two provider props control this.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/react",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.17",
|
|
4
4
|
"description": "React provider and client hook for the Stigmer platform SDK",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@bufbuild/protovalidate": "^1.1.1",
|
|
39
39
|
"@dagrejs/dagre": "^1.1.4",
|
|
40
|
-
"@stigmer/theme": "3.1.
|
|
40
|
+
"@stigmer/theme": "3.1.17",
|
|
41
41
|
"diff": "^8.0.3",
|
|
42
42
|
"fflate": "^0.8.2",
|
|
43
43
|
"hast-util-to-jsx-runtime": "^2.3.6",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"@codemirror/state": "^6.0.0",
|
|
61
61
|
"@codemirror/view": "^6.0.0",
|
|
62
62
|
"@lezer/highlight": "^1.0.0",
|
|
63
|
-
"@stigmer/protos": "3.1.
|
|
64
|
-
"@stigmer/sdk": "3.1.
|
|
63
|
+
"@stigmer/protos": "3.1.17",
|
|
64
|
+
"@stigmer/sdk": "3.1.17",
|
|
65
65
|
"@tanstack/react-table": "^8.20.0",
|
|
66
66
|
"@xyflow/react": "^12.0.0",
|
|
67
67
|
"elkjs": "^0.9.0",
|
package/provider.d.ts
CHANGED
|
@@ -78,6 +78,14 @@ export interface StigmerProviderProps {
|
|
|
78
78
|
/**
|
|
79
79
|
* Additional CSS class names applied to the scoping container element.
|
|
80
80
|
* The container always includes the `stgm` class for style isolation.
|
|
81
|
+
*
|
|
82
|
+
* This is a **theming channel, not a layout channel**: the class is
|
|
83
|
+
* mirrored onto the portal container on `document.body` (see #182) so
|
|
84
|
+
* that token overrides scoped to it reach portaled surfaces (popovers,
|
|
85
|
+
* dialogs, menus). Layout styles passed here would therefore also size
|
|
86
|
+
* that off-tree element. To style the in-tree container alone — e.g.
|
|
87
|
+
* the fixed-height embedding recipe (#260) — target the stable
|
|
88
|
+
* `.stgm[data-stgm-root]` selector from host CSS instead.
|
|
81
89
|
*/
|
|
82
90
|
readonly className?: string;
|
|
83
91
|
/**
|
|
@@ -152,6 +160,30 @@ export interface StigmerProviderProps {
|
|
|
152
160
|
* `@stigmer/react/styles.css` get isolated styles that do not
|
|
153
161
|
* leak into the host application.
|
|
154
162
|
*
|
|
163
|
+
* **Sizing.** The container ships with no layout styling — it sizes
|
|
164
|
+
* to its content, so document-flow embeddings need nothing. For
|
|
165
|
+
* fixed-height embeddings (docked panes, split layouts), where
|
|
166
|
+
* height-filling components like `SessionViewer` need a CSS
|
|
167
|
+
* percentage-height chain to reach them, opt in from host CSS via
|
|
168
|
+
* the stable `data-stgm-root` selector (#260):
|
|
169
|
+
*
|
|
170
|
+
* ```css
|
|
171
|
+
* .stgm[data-stgm-root] {
|
|
172
|
+
* height: 100%;
|
|
173
|
+
* min-height: 0;
|
|
174
|
+
* }
|
|
175
|
+
* ```
|
|
176
|
+
*
|
|
177
|
+
* This is deliberately not an SDK default: `height: 100%` resolves
|
|
178
|
+
* against flexed sizes under flex-item parents (a `flex-1` content
|
|
179
|
+
* column makes it balloon even in a content-sized page), so only
|
|
180
|
+
* the host — which knows its layout — can apply it safely.
|
|
181
|
+
*
|
|
182
|
+
* Two stable selector hooks are part of the public contract:
|
|
183
|
+
* `data-stgm-root` marks the in-tree container (and only it);
|
|
184
|
+
* `data-stgm-portal` marks the portal container appended to
|
|
185
|
+
* `document.body` for portaled surfaces.
|
|
186
|
+
*
|
|
155
187
|
* The `colorMode` prop controls dark/light appearance via a
|
|
156
188
|
* `data-stgm-color-mode` attribute on the scoping container.
|
|
157
189
|
* Host applications pass their theme state directly — no ancestor
|
package/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAUpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,cAAwB,EACxB,eAAe,EACf,aAAa,EACb,MAAM,EACN,SAAS,EACT,SAAmB,EACnB,eAAe,GAChB,EAAE,oBAAoB,2CAgDtB"}
|
package/provider.js
CHANGED
|
@@ -22,6 +22,30 @@ const EMPTY_REVIEW_RENDERERS = {};
|
|
|
22
22
|
* `@stigmer/react/styles.css` get isolated styles that do not
|
|
23
23
|
* leak into the host application.
|
|
24
24
|
*
|
|
25
|
+
* **Sizing.** The container ships with no layout styling — it sizes
|
|
26
|
+
* to its content, so document-flow embeddings need nothing. For
|
|
27
|
+
* fixed-height embeddings (docked panes, split layouts), where
|
|
28
|
+
* height-filling components like `SessionViewer` need a CSS
|
|
29
|
+
* percentage-height chain to reach them, opt in from host CSS via
|
|
30
|
+
* the stable `data-stgm-root` selector (#260):
|
|
31
|
+
*
|
|
32
|
+
* ```css
|
|
33
|
+
* .stgm[data-stgm-root] {
|
|
34
|
+
* height: 100%;
|
|
35
|
+
* min-height: 0;
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* This is deliberately not an SDK default: `height: 100%` resolves
|
|
40
|
+
* against flexed sizes under flex-item parents (a `flex-1` content
|
|
41
|
+
* column makes it balloon even in a content-sized page), so only
|
|
42
|
+
* the host — which knows its layout — can apply it safely.
|
|
43
|
+
*
|
|
44
|
+
* Two stable selector hooks are part of the public contract:
|
|
45
|
+
* `data-stgm-root` marks the in-tree container (and only it);
|
|
46
|
+
* `data-stgm-portal` marks the portal container appended to
|
|
47
|
+
* `document.body` for portaled surfaces.
|
|
48
|
+
*
|
|
25
49
|
* The `colorMode` prop controls dark/light appearance via a
|
|
26
50
|
* `data-stgm-color-mode` attribute on the scoping container.
|
|
27
51
|
* Host applications pass their theme state directly — no ancestor
|
|
@@ -51,7 +75,7 @@ export function StigmerProvider({ client, children, deploymentMode = "cloud", ex
|
|
|
51
75
|
const portalContainer = usePortalContainer(scope);
|
|
52
76
|
const registryState = useModelRegistryFetch(client);
|
|
53
77
|
const taskKindRegistryState = useTaskKindRegistryFetch(client);
|
|
54
|
-
return (_jsx(StigmerContext.Provider, { value: client, children: _jsx(DeploymentModeContext.Provider, { value: deploymentMode, children: _jsx(ExecutionTargetContext.Provider, { value: executionTarget, children: _jsx(RunnerAdapterContext.Provider, { value: runnerAdapter ?? null, children: _jsx(ColorModeContext.Provider, { value: resolvedMode, children: _jsx(ModelRegistryContext.Provider, { value: registryState, children: _jsx(TaskKindRegistryContext.Provider, { value: taskKindRegistryState, children: _jsx(ReviewRendererContext.Provider, { value: reviewRenderers ?? EMPTY_REVIEW_RENDERERS, children: _jsx(PortalContainerContext.Provider, { value: portalContainer, children: _jsx("div", { className: scope.className, "data-stgm-color-mode": scope.colorMode, children: children }) }) }) }) }) }) }) }) }) }));
|
|
78
|
+
return (_jsx(StigmerContext.Provider, { value: client, children: _jsx(DeploymentModeContext.Provider, { value: deploymentMode, children: _jsx(ExecutionTargetContext.Provider, { value: executionTarget, children: _jsx(RunnerAdapterContext.Provider, { value: runnerAdapter ?? null, children: _jsx(ColorModeContext.Provider, { value: resolvedMode, children: _jsx(ModelRegistryContext.Provider, { value: registryState, children: _jsx(TaskKindRegistryContext.Provider, { value: taskKindRegistryState, children: _jsx(ReviewRendererContext.Provider, { value: reviewRenderers ?? EMPTY_REVIEW_RENDERERS, children: _jsx(PortalContainerContext.Provider, { value: portalContainer, children: _jsx("div", { className: scope.className, "data-stgm-root": "", "data-stgm-color-mode": scope.colorMode, children: children }) }) }) }) }) }) }) }) }) }));
|
|
55
79
|
}
|
|
56
80
|
const RETRY_DELAYS_MS = [1_000, 2_000, 4_000];
|
|
57
81
|
const TOKEN_POLL_INTERVAL_MS = 500;
|
package/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAGhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAsJ5E,MAAM,sBAAsB,GAAoB,EAAE,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,OAAO,EACxB,eAAe,EACf,aAAa,EACb,MAAM,EACN,SAAS,EACT,SAAS,GAAG,OAAO,EACnB,eAAe,GACM;IACrB,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,YAAY,GAChB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAElD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACpC,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YACnD,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YACrD,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,IAAI,IAAI,YACzD,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC5C,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YACjD,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,qBAAqB,YAC5D,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,IAAI,sBAAsB,YAC9E,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YAUrD,cACE,SAAS,EAAE,KAAK,CAAC,SAAS,oBACX,EAAE,0BACK,KAAK,CAAC,SAAS,YAEpC,QAAQ,GACL,GAC0B,GACH,GACA,GACL,GACN,GACE,GACA,GACH,GACT,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,MAAe;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsC;QACtE,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAE3B,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,MAAmB,EAAE,EAAE;QACxD,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,iBAAiB,EAAE,CAAC;gBACxD,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC3B,KAAK,GAAG,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAE9B,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE3E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;oBAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAE3B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;gBACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAEvC,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;oBACtC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC;wBACP,MAAM,EAAE,EAAE;wBACV,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC3D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,EAAE,CAAC;QAEV,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,KAAoB,EACpB,WAAqC;IAErC,MAAM,OAAO,GAAG,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC;IAChD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,MAAM,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAY,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa;CACjF,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS;CACnF,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,IAAa;IAC9C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,WAAW,GAAI,IAAgC,CAAC,WAAW,CAAC;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,CAAC,EAAgC,EAAE,CAC1C,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAA6B,CAAC,IAAI,KAAK,QAAQ,CAC9F;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAc;QACtB,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;QAC5C,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;QAC5C,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAkB,CAAC;YAClD,CAAC,CAAE,CAAC,CAAC,QAA2C;YAChD,CAAC,CAAC,aAAa;QACjB,IAAI,EAAG,CAAC,CAAC,IAAe,IAAI,EAAE;QAC9B,eAAe,EAAG,CAAC,CAAC,eAA0B,IAAI,EAAE;QACpD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAE,CAAC,CAAC,MAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAG,CAAC,CAAC,IAAe,IAAI,EAAE;gBAC9B,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;gBAC5C,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;gBAC5C,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAc,CAAC;oBAC3C,CAAC,CAAE,CAAC,CAAC,IAAqD;oBAC1D,CAAC,CAAE,QAAkB;gBACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;gBAC7B,YAAY,EAAE,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACxD,YAAY,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC7E,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,UAAuB,CAAC,CAAC,CAAC,SAAS;gBAChF,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC9D,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClE,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC1E,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,eAA4B,CAAC,CAAC,CAAC,SAAS;aAChG,CAAC,CAAC;YACL,CAAC,CAAC,EAAE;QACN,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;YACvC,CAAC,CAAE,CAAC,CAAC,WAAyC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvD,EAAE,EAAG,CAAC,CAAC,EAAa,IAAI,EAAE;gBAC1B,WAAW,EAAG,CAAC,CAAC,WAAsB,IAAI,EAAE;gBAC5C,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;aAC3E,CAAC,CAAC;YACL,CAAC,CAAC,EAAE;QACN,gBAAgB,EACd,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ;YAClE,CAAC,CAAE,CAAC,CAAC,gBAA4C;YACjD,CAAC,CAAC,EAAE;QACR,gBAAgB,EACd,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ;YAClE,CAAC,CAAE,CAAC,CAAC,gBAA4C;YACjD,CAAC,CAAC,SAAS;QACf,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,YAAyB,CAAC,CAAC,CAAC,SAAS;QACtF,gBAAgB,EAAG,CAAC,CAAC,gBAA2B,IAAI,EAAE;QACtD,UAAU,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI;QACjC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,KAAK,IAAI;KAC5D,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,MAAe;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyC;QACzE,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAE3B,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,MAAmB,EAAE,EAAE;QACxD,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,iBAAiB,EAAE,CAAC;gBACxD,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC3B,KAAK,GAAG,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAE9B,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE3E,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;oBACnC,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAE3B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;gBACzC,eAAe,CAAC,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAEvC,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;oBACtC,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC;wBACP,WAAW,EAAE,EAAE;wBACf,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC3D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,EAAE,CAAC;QAEV,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAChC,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAeD;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CACpB,YAA+B,EAC/B,WAAmB,EACnB,SAA6B;IAE7B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;QAC7C,SAAS,EAAE,YAAY;KACxB,CAAC,EACF,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC/B,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,YAAY,CAAC,EAAE,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;QACJ,qEAAqE;QACrE,gDAAgD;IAChD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAC/B,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
// Layout-contract regression suite for the provider's in-tree container
|
|
2
|
+
// (#260, DD-019). Runs in a real Chromium via `vitest.a11y.config.ts` —
|
|
3
|
+
// resolving percentage heights and flex min-size behavior requires a real
|
|
4
|
+
// layout engine, which happy-dom does not have.
|
|
5
|
+
//
|
|
6
|
+
// The contract has two halves, and both need guarding:
|
|
7
|
+
//
|
|
8
|
+
// 1. The SDK ships NO sizing for the container. A default `height: 100%`
|
|
9
|
+
// looks benign but balloons under flex-item parents (flexbox treats a
|
|
10
|
+
// flexed size as definite for percentage resolution — a `flex-1` prose
|
|
11
|
+
// column made the container jump from ~320px to ~4800px on our own
|
|
12
|
+
// docs site), so sizing is the host's call.
|
|
13
|
+
// 2. The documented opt-in recipe — host CSS targeting the stable
|
|
14
|
+
// `.stgm[data-stgm-root]` selector — must actually deliver fixed-height
|
|
15
|
+
// embedding: percentage chains pass through, and the container shrinks
|
|
16
|
+
// inside flex layouts so content scrolls internally.
|
|
17
|
+
//
|
|
18
|
+
// Like the a11y harness (DD-21), this renders against the SHIPPED
|
|
19
|
+
// stylesheet (`dist/styles.css`, built by `npm run build:libs`), so the
|
|
20
|
+
// contract is verified on the artifact consumers actually load.
|
|
21
|
+
|
|
22
|
+
import "../../dist/styles.css";
|
|
23
|
+
|
|
24
|
+
import { describe, it, expect, afterEach } from "vitest";
|
|
25
|
+
import { render, cleanup } from "@testing-library/react";
|
|
26
|
+
import type { Stigmer } from "@stigmer/sdk";
|
|
27
|
+
import { StigmerProvider } from "../provider";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The exact host CSS recipe documented for fixed-height embeddings.
|
|
31
|
+
* Unlayered on purpose — that is how hosts author it, and it must beat
|
|
32
|
+
* anything the SDK ships in `@layer stgm`.
|
|
33
|
+
*/
|
|
34
|
+
const FIXED_HEIGHT_RECIPE = `
|
|
35
|
+
.stgm[data-stgm-root] {
|
|
36
|
+
height: 100%;
|
|
37
|
+
min-height: 0;
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
let recipeStyle: HTMLStyleElement | null = null;
|
|
42
|
+
|
|
43
|
+
function applyFixedHeightRecipe(): void {
|
|
44
|
+
recipeStyle = document.createElement("style");
|
|
45
|
+
recipeStyle.textContent = FIXED_HEIGHT_RECIPE;
|
|
46
|
+
document.head.appendChild(recipeStyle);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
afterEach(() => {
|
|
50
|
+
cleanup();
|
|
51
|
+
recipeStyle?.remove();
|
|
52
|
+
recipeStyle = null;
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// A minimal client: the provider eagerly fetches the model/task-kind
|
|
56
|
+
// registries on mount. Returning a null credential keeps that work
|
|
57
|
+
// non-blocking (it polls for a token) so rendering is synchronous and
|
|
58
|
+
// never touches the network during the test.
|
|
59
|
+
function makeClient(): Stigmer {
|
|
60
|
+
return {
|
|
61
|
+
baseUrl: "https://example.test",
|
|
62
|
+
getAuthCredential: async () => null,
|
|
63
|
+
fetch: (async () => {
|
|
64
|
+
throw new Error("network disabled in test");
|
|
65
|
+
}) as unknown as typeof globalThis.fetch,
|
|
66
|
+
} as unknown as Stigmer;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getInTreeContainer(): HTMLElement {
|
|
70
|
+
const child = document.querySelector('[data-testid="probe"]');
|
|
71
|
+
const container = child?.closest("[data-stgm-root]") as HTMLElement | null;
|
|
72
|
+
expect(container, "provider must render an in-tree [data-stgm-root] container").not.toBeNull();
|
|
73
|
+
return container!;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
describe("StigmerProvider container layout contract (#260)", () => {
|
|
77
|
+
describe("default: the SDK ships no container sizing", () => {
|
|
78
|
+
it("sizes to content under a definite-height parent", () => {
|
|
79
|
+
render(
|
|
80
|
+
<div style={{ height: 480, overflow: "hidden" }}>
|
|
81
|
+
<StigmerProvider client={makeClient()}>
|
|
82
|
+
<div data-testid="probe" style={{ height: 120 }} />
|
|
83
|
+
</StigmerProvider>
|
|
84
|
+
</div>,
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
expect(getInTreeContainer().getBoundingClientRect().height).toBe(120);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it("sizes to content under a flex-item parent (the flex-1 prose-column shape that a default height rule would balloon)", () => {
|
|
91
|
+
render(
|
|
92
|
+
<div style={{ display: "flex", flexDirection: "column" }}>
|
|
93
|
+
<div style={{ flex: "1 1 0%" }}>
|
|
94
|
+
<StigmerProvider client={makeClient()}>
|
|
95
|
+
<div data-testid="probe" style={{ height: 120 }} />
|
|
96
|
+
</StigmerProvider>
|
|
97
|
+
<div style={{ height: 300 }} />
|
|
98
|
+
</div>
|
|
99
|
+
</div>,
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
expect(getInTreeContainer().getBoundingClientRect().height).toBe(120);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
describe("opt-in: the documented host CSS recipe", () => {
|
|
107
|
+
it("passes a percentage-height chain through to descendants under a definite-height parent", () => {
|
|
108
|
+
applyFixedHeightRecipe();
|
|
109
|
+
|
|
110
|
+
// The exact embedding shape from the issue: a fixed-height pane
|
|
111
|
+
// with an h-full-style chain below the provider.
|
|
112
|
+
render(
|
|
113
|
+
<div style={{ height: 480, overflow: "hidden" }}>
|
|
114
|
+
<StigmerProvider client={makeClient()}>
|
|
115
|
+
<div data-testid="probe" style={{ height: "100%" }} />
|
|
116
|
+
</StigmerProvider>
|
|
117
|
+
</div>,
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
const container = getInTreeContainer();
|
|
121
|
+
const probe = document.querySelector('[data-testid="probe"]') as HTMLElement;
|
|
122
|
+
|
|
123
|
+
expect(container.getBoundingClientRect().height).toBe(480);
|
|
124
|
+
expect(probe.getBoundingClientRect().height).toBe(480);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it("shrinks below content as a flex child so internal-scroll panes can work", () => {
|
|
128
|
+
applyFixedHeightRecipe();
|
|
129
|
+
|
|
130
|
+
// As a flex item the container's default would be `min-height:
|
|
131
|
+
// auto`, which floors it at its content height (500px here) and
|
|
132
|
+
// defeats the fill-remaining-space pattern. The recipe's
|
|
133
|
+
// `min-height: 0` lets the 300px column allocate 200px to the
|
|
134
|
+
// container after the fixed 100px header.
|
|
135
|
+
render(
|
|
136
|
+
<div style={{ display: "flex", flexDirection: "column", height: 300 }}>
|
|
137
|
+
<div style={{ flexShrink: 0, height: 100 }} />
|
|
138
|
+
<StigmerProvider client={makeClient()}>
|
|
139
|
+
<div data-testid="probe" style={{ height: 500 }} />
|
|
140
|
+
</StigmerProvider>
|
|
141
|
+
</div>,
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
expect(getInTreeContainer().getBoundingClientRect().height).toBe(200);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
it("never reaches the portal container", () => {
|
|
148
|
+
applyFixedHeightRecipe();
|
|
149
|
+
|
|
150
|
+
render(
|
|
151
|
+
<div style={{ height: 480 }}>
|
|
152
|
+
<StigmerProvider client={makeClient()}>
|
|
153
|
+
<div data-testid="probe" />
|
|
154
|
+
</StigmerProvider>
|
|
155
|
+
</div>,
|
|
156
|
+
);
|
|
157
|
+
|
|
158
|
+
const portal = document.body.querySelector("[data-stgm-portal]") as HTMLElement;
|
|
159
|
+
expect(portal).not.toBeNull();
|
|
160
|
+
// The recipe targets [data-stgm-root]; the portal container must
|
|
161
|
+
// stay unsized (it hosts position-fixed surfaces only).
|
|
162
|
+
expect(portal.getBoundingClientRect().height).toBe(0);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
});
|
|
@@ -91,4 +91,35 @@ describe("StigmerProvider theme scope", () => {
|
|
|
91
91
|
expect(portal.getAttribute("data-stgm-color-mode")).toBe("dark");
|
|
92
92
|
expect(portal.className).toBe(inTree.className);
|
|
93
93
|
});
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Regression test for #260: the two scope containers must stay
|
|
97
|
+
* distinguishable via their stable marker attributes. `data-stgm-root`
|
|
98
|
+
* is the documented in-tree-only styling seam (e.g. the fixed-height
|
|
99
|
+
* embedding recipe); if it ever leaked onto the portal container, host
|
|
100
|
+
* CSS targeting the seam would size a stray element at the end of
|
|
101
|
+
* `document.body`.
|
|
102
|
+
*/
|
|
103
|
+
it("marks the in-tree container with data-stgm-root and the portal with data-stgm-portal, never both", () => {
|
|
104
|
+
render(
|
|
105
|
+
<StigmerProvider client={makeClient()}>
|
|
106
|
+
<div data-testid="scope-child" />
|
|
107
|
+
</StigmerProvider>,
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
const child = document.querySelector('[data-testid="scope-child"]');
|
|
111
|
+
const inTree = child?.closest(".stgm") as HTMLElement | null;
|
|
112
|
+
const portal = document.body.querySelector(
|
|
113
|
+
"[data-stgm-portal]",
|
|
114
|
+
) as HTMLElement | null;
|
|
115
|
+
|
|
116
|
+
expect(inTree).not.toBeNull();
|
|
117
|
+
expect(portal).not.toBeNull();
|
|
118
|
+
|
|
119
|
+
expect(inTree!.hasAttribute("data-stgm-root")).toBe(true);
|
|
120
|
+
expect(inTree!.hasAttribute("data-stgm-portal")).toBe(false);
|
|
121
|
+
|
|
122
|
+
expect(portal!.hasAttribute("data-stgm-portal")).toBe(true);
|
|
123
|
+
expect(portal!.hasAttribute("data-stgm-root")).toBe(false);
|
|
124
|
+
});
|
|
94
125
|
});
|
package/src/provider.tsx
CHANGED
|
@@ -102,6 +102,14 @@ export interface StigmerProviderProps {
|
|
|
102
102
|
/**
|
|
103
103
|
* Additional CSS class names applied to the scoping container element.
|
|
104
104
|
* The container always includes the `stgm` class for style isolation.
|
|
105
|
+
*
|
|
106
|
+
* This is a **theming channel, not a layout channel**: the class is
|
|
107
|
+
* mirrored onto the portal container on `document.body` (see #182) so
|
|
108
|
+
* that token overrides scoped to it reach portaled surfaces (popovers,
|
|
109
|
+
* dialogs, menus). Layout styles passed here would therefore also size
|
|
110
|
+
* that off-tree element. To style the in-tree container alone — e.g.
|
|
111
|
+
* the fixed-height embedding recipe (#260) — target the stable
|
|
112
|
+
* `.stgm[data-stgm-root]` selector from host CSS instead.
|
|
105
113
|
*/
|
|
106
114
|
readonly className?: string;
|
|
107
115
|
/**
|
|
@@ -179,6 +187,30 @@ const EMPTY_REVIEW_RENDERERS: ReviewRenderers = {};
|
|
|
179
187
|
* `@stigmer/react/styles.css` get isolated styles that do not
|
|
180
188
|
* leak into the host application.
|
|
181
189
|
*
|
|
190
|
+
* **Sizing.** The container ships with no layout styling — it sizes
|
|
191
|
+
* to its content, so document-flow embeddings need nothing. For
|
|
192
|
+
* fixed-height embeddings (docked panes, split layouts), where
|
|
193
|
+
* height-filling components like `SessionViewer` need a CSS
|
|
194
|
+
* percentage-height chain to reach them, opt in from host CSS via
|
|
195
|
+
* the stable `data-stgm-root` selector (#260):
|
|
196
|
+
*
|
|
197
|
+
* ```css
|
|
198
|
+
* .stgm[data-stgm-root] {
|
|
199
|
+
* height: 100%;
|
|
200
|
+
* min-height: 0;
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* This is deliberately not an SDK default: `height: 100%` resolves
|
|
205
|
+
* against flexed sizes under flex-item parents (a `flex-1` content
|
|
206
|
+
* column makes it balloon even in a content-sized page), so only
|
|
207
|
+
* the host — which knows its layout — can apply it safely.
|
|
208
|
+
*
|
|
209
|
+
* Two stable selector hooks are part of the public contract:
|
|
210
|
+
* `data-stgm-root` marks the in-tree container (and only it);
|
|
211
|
+
* `data-stgm-portal` marks the portal container appended to
|
|
212
|
+
* `document.body` for portaled surfaces.
|
|
213
|
+
*
|
|
182
214
|
* The `colorMode` prop controls dark/light appearance via a
|
|
183
215
|
* `data-stgm-color-mode` attribute on the scoping container.
|
|
184
216
|
* Host applications pass their theme state directly — no ancestor
|
|
@@ -232,8 +264,18 @@ export function StigmerProvider({
|
|
|
232
264
|
<TaskKindRegistryContext.Provider value={taskKindRegistryState}>
|
|
233
265
|
<ReviewRendererContext.Provider value={reviewRenderers ?? EMPTY_REVIEW_RENDERERS}>
|
|
234
266
|
<PortalContainerContext.Provider value={portalContainer}>
|
|
267
|
+
{/*
|
|
268
|
+
The in-tree scoping container. `data-stgm-root` is a
|
|
269
|
+
stable public selector — the documented seam for hosts
|
|
270
|
+
to style THIS element only (e.g. the fixed-height
|
|
271
|
+
embedding recipe, #260). It must never be mirrored
|
|
272
|
+
onto the portal container, whose own `data-stgm-portal`
|
|
273
|
+
marker keeps host in-tree-only CSS away from the
|
|
274
|
+
off-tree element.
|
|
275
|
+
*/}
|
|
235
276
|
<div
|
|
236
277
|
className={scope.className}
|
|
278
|
+
data-stgm-root=""
|
|
237
279
|
data-stgm-color-mode={scope.colorMode}
|
|
238
280
|
>
|
|
239
281
|
{children}
|
package/src/styles.css
CHANGED
|
@@ -158,6 +158,20 @@
|
|
|
158
158
|
-moz-osx-font-smoothing: grayscale;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
/* The provider's in-tree container ([data-stgm-root]) ships with NO
|
|
162
|
+
layout styling — deliberately (#260, DD-019). A default
|
|
163
|
+
`height: 100%` looks benign ("resolves to auto under auto-height
|
|
164
|
+
parents") but is not: when the container's parent is a flex item
|
|
165
|
+
(e.g. a `flex-1` prose column), flexbox treats the item's flexed
|
|
166
|
+
size as definite for percentage resolution, and the container
|
|
167
|
+
balloons to it even in a fully content-sized page. Fixed-height
|
|
168
|
+
embedders instead opt in from host CSS, where the layout is known:
|
|
169
|
+
|
|
170
|
+
.stgm[data-stgm-root] { height: 100%; min-height: 0; }
|
|
171
|
+
|
|
172
|
+
`data-stgm-root` is the stable public selector for exactly this.
|
|
173
|
+
Do not add sizing rules for it here. */
|
|
174
|
+
|
|
161
175
|
@keyframes stgm-fade-in-up {
|
|
162
176
|
from {
|
|
163
177
|
opacity: 0;
|