@crossworks/share-ui 0.232.68 → 0.232.73
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/package.json +3 -3
- package/src/app-frame-html.test.ts +10 -0
- package/src/app-frame-html.ts +16 -0
- package/src/help-topics.ts +1 -0
- package/src/nav-items.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossworks/share-ui",
|
|
3
|
-
"version": "0.232.
|
|
3
|
+
"version": "0.232.73",
|
|
4
4
|
"description": "The server-rendered share surface — the /s/<token> presenters, view-payload contract, mini-app sandbox, and the few primitives they need. Lives in MANTLE (the server renders these), published for jackdaw to consume; may depend only on @mantle/{client-types,content-core} (the jackdaw-repo-split boundary).",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./app-presenter": "./src/app-presenter.tsx",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@firecms/neat": "1.0.2",
|
|
39
|
-
"@mantle/client-types": "npm:@crossworks/client-types@0.232.
|
|
40
|
-
"@mantle/content-core": "npm:@crossworks/content-core@0.232.
|
|
39
|
+
"@mantle/client-types": "npm:@crossworks/client-types@0.232.73",
|
|
40
|
+
"@mantle/content-core": "npm:@crossworks/content-core@0.232.73",
|
|
41
41
|
"@radix-ui/react-label": "^2.1.12",
|
|
42
42
|
"@radix-ui/react-slot": "^1.3.0",
|
|
43
43
|
"class-variance-authority": "^0.7.1",
|
|
@@ -94,4 +94,14 @@ describe('buildAppFrameHtml — the Neat backdrop', () => {
|
|
|
94
94
|
expect(withNeat('k-1')).toContain('data-neat-license="k-1"');
|
|
95
95
|
expect(withNeat()).not.toContain('data-neat-license');
|
|
96
96
|
});
|
|
97
|
+
|
|
98
|
+
it('makes --card translucent over a Neat ground, and ONLY then', () => {
|
|
99
|
+
// The derived token sits on :root and the override on body — a custom
|
|
100
|
+
// property may not reference itself on the same element. No spec ⇒ no
|
|
101
|
+
// override, so apps on a plain brain stay pixel-identical.
|
|
102
|
+
const html = withNeat();
|
|
103
|
+
expect(html).toContain('--card-on-neat:color-mix(in oklab,var(--card) 70%,transparent)');
|
|
104
|
+
expect(html).toContain('body{--card:var(--card-on-neat)}');
|
|
105
|
+
expect(frame('console.log(1)')).not.toContain('--card-on-neat');
|
|
106
|
+
});
|
|
97
107
|
});
|
package/src/app-frame-html.ts
CHANGED
|
@@ -250,6 +250,22 @@ body{overflow:auto}`
|
|
|
250
250
|
.min-h-screen,.min-h-dvh,.min-h-svh,.min-h-lvh{min-height:0!important}
|
|
251
251
|
.h-screen,.h-dvh,.h-svh,.h-lvh{height:auto!important}`
|
|
252
252
|
}</style>
|
|
253
|
+
${
|
|
254
|
+
/* Translucent card surfaces — ONLY when a Neat ground is painted below
|
|
255
|
+
(no spec ⇒ no override, existing apps stay pixel-identical). 70% is the
|
|
256
|
+
workspace ListCard's idle alpha, so app cards and host cards read as one
|
|
257
|
+
system. Token-level on purpose: apps consume the card colour through
|
|
258
|
+
var(--card) (Tailwind bg-card), so one override restyles them all with no
|
|
259
|
+
per-app opt-in. The derived token lives on html and the override on body
|
|
260
|
+
because a custom property may not reference itself on the same element —
|
|
261
|
+
html still sees the theme's solid --card, body swaps in the mix, and a
|
|
262
|
+
live theme flip recomputes both. --popover stays solid: floating layers
|
|
263
|
+
need an opaque ground, same as the host app. */
|
|
264
|
+
opts.neatSpec
|
|
265
|
+
? `<style>:root{--card-on-neat:color-mix(in oklab,var(--card) 70%,transparent)}body{--card:var(--card-on-neat)}</style>
|
|
266
|
+
`
|
|
267
|
+
: ''
|
|
268
|
+
}
|
|
253
269
|
</head>
|
|
254
270
|
<body class="text-foreground">
|
|
255
271
|
${
|
package/src/help-topics.ts
CHANGED
|
@@ -58,6 +58,7 @@ const ROUTE_TOPICS: ReadonlyArray<readonly [route: string, topic: string]> = [
|
|
|
58
58
|
['/settings/calendar', 'calendar'],
|
|
59
59
|
['/settings/profile', 'profile'],
|
|
60
60
|
['/settings/mcp', 'mcp'],
|
|
61
|
+
['/settings/connectors', 'connectors'],
|
|
61
62
|
['/settings/network', 'network'],
|
|
62
63
|
['/settings/config', 'config'],
|
|
63
64
|
['/settings/entities', 'entities'],
|
package/src/nav-items.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
BookText,
|
|
7
7
|
Bot,
|
|
8
8
|
Boxes,
|
|
9
|
+
Cable,
|
|
9
10
|
CalendarDays,
|
|
10
11
|
CheckSquare,
|
|
11
12
|
Container,
|
|
@@ -153,6 +154,7 @@ export const NAV_GROUPS: NavGroup[] = [
|
|
|
153
154
|
{ name: 'Profile', href: '/settings/profile', icon: User },
|
|
154
155
|
{ name: 'API keys', href: '/settings/keys', icon: Key },
|
|
155
156
|
{ name: 'MCP', href: '/settings/mcp', icon: Plug },
|
|
157
|
+
{ name: 'Connectors', href: '/settings/connectors', icon: Cable },
|
|
156
158
|
{ name: 'Agents', href: '/settings/agents', icon: Bot },
|
|
157
159
|
{ name: 'AI workers', href: '/settings/ai-workers', icon: Cpu },
|
|
158
160
|
{ name: 'Worker groups', href: '/settings/worker-groups', icon: UsersRound },
|