@ggui-ai/dev-stack 0.10.0 → 0.12.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/hub-preview/client.js +575 -59
- package/package.json +7 -7
|
@@ -34212,7 +34212,7 @@ config(en_default());
|
|
|
34212
34212
|
|
|
34213
34213
|
// ../protocol/dist/gadgets/stdlib-gadgets.js
|
|
34214
34214
|
var STDLIB_GADGETS_PACKAGE = "@ggui-ai/gadgets";
|
|
34215
|
-
var STDLIB_GADGETS_VERSION = "0.
|
|
34215
|
+
var STDLIB_GADGETS_VERSION = "0.12.0";
|
|
34216
34216
|
var STDLIB_GADGETS = [
|
|
34217
34217
|
{
|
|
34218
34218
|
package: STDLIB_GADGETS_PACKAGE,
|
|
@@ -34976,14 +34976,29 @@ var updateOutputSchema = external_exports.object({
|
|
|
34976
34976
|
* existing props back believing it changed the UI, and this field is
|
|
34977
34977
|
* its feedback channel.
|
|
34978
34978
|
*/
|
|
34979
|
-
warning: external_exports.string().optional()
|
|
34979
|
+
warning: external_exports.string().optional(),
|
|
34980
|
+
/**
|
|
34981
|
+
* Schema attestation (ggui#560): identity hash of the enforced props
|
|
34982
|
+
* schema this mutation was validated against — the same schema the
|
|
34983
|
+
* paired handshake disclosed. Present when the session declares a
|
|
34984
|
+
* `propsSpec`; equal to the handshake's `propsSchemaHash` under the
|
|
34985
|
+
* session-continuity guarantee, so a mismatch is the observable form
|
|
34986
|
+
* of a contract changing mid-session.
|
|
34987
|
+
*/
|
|
34988
|
+
propsSchemaHash: external_exports.string().optional(),
|
|
34989
|
+
/** Present with `propsSchemaHash`; same profile classifier as the handshake's. */
|
|
34990
|
+
propsSchemaProfile: external_exports.string().optional()
|
|
34980
34991
|
});
|
|
34981
34992
|
var amendOutputSchema = external_exports.object({
|
|
34982
34993
|
sessionId: external_exports.string(),
|
|
34983
34994
|
updated: external_exports.boolean(),
|
|
34984
34995
|
resourceUri: external_exports.string(),
|
|
34985
34996
|
/** Same no-op feedback channel as ggui_update's `warning`. */
|
|
34986
|
-
warning: external_exports.string().optional()
|
|
34997
|
+
warning: external_exports.string().optional(),
|
|
34998
|
+
/** Schema attestation (ggui#560) — same semantics as ggui_update's. */
|
|
34999
|
+
propsSchemaHash: external_exports.string().optional(),
|
|
35000
|
+
/** Present with `propsSchemaHash`. */
|
|
35001
|
+
propsSchemaProfile: external_exports.string().optional()
|
|
34987
35002
|
});
|
|
34988
35003
|
var declareToolCatalogInputSchema = external_exports.object({
|
|
34989
35004
|
toolCatalog: external_exports.record(external_exports.string(), external_exports.object({ name: external_exports.string(), version: external_exports.string().optional() }).strict()).describe("Per-app canonical tool identities: bare tool name -> its server's initialize-declared serverInfo. Host/library-supplied; not an agent action.")
|
|
@@ -35147,10 +35162,27 @@ var invokeRequestSchema = external_exports.object({
|
|
|
35147
35162
|
var GGUI_CSS_VAR_KEY_RE = /^--ggui-[a-zA-Z0-9-]+$/;
|
|
35148
35163
|
var CSS_VALUE_SAFE_RE = /^[^;{}<>@]*$/;
|
|
35149
35164
|
var cssValue = external_exports.string().min(1).max(256).regex(CSS_VALUE_SAFE_RE, "css value contains a disallowed character").refine((v) => !v.includes("/*"), "css value may not contain a comment");
|
|
35165
|
+
var cssVariableMap = external_exports.record(external_exports.string().regex(GGUI_CSS_VAR_KEY_RE, "css var key must be --ggui-*"), cssValue).refine((m) => Object.keys(m).length <= 200, "too many css variables (max 200)");
|
|
35150
35166
|
var appThemeSchema = external_exports.object({
|
|
35151
35167
|
mode: external_exports.enum(["light", "dark"]),
|
|
35152
|
-
cssVariables:
|
|
35153
|
-
name: external_exports.string().min(1).max(64).optional()
|
|
35168
|
+
cssVariables: cssVariableMap,
|
|
35169
|
+
name: external_exports.string().min(1).max(64).optional(),
|
|
35170
|
+
/**
|
|
35171
|
+
* The REGISTERED base ladder, delivered (runtime theme
|
|
35172
|
+
* registration): both modes' resolved variable sets ride the
|
|
35173
|
+
* envelope so a mid-session mode switch is a local operation and
|
|
35174
|
+
* delivery never depends on the iframe being able to fetch. The
|
|
35175
|
+
* renderer injects the mode-selected set BELOW `cssVariables` (the
|
|
35176
|
+
* per-app overlay) in the documented precedence. `documentHash` is
|
|
35177
|
+
* the registration's identity: it joins painted ladders to
|
|
35178
|
+
* registration records, and a receiver holding the hash may be
|
|
35179
|
+
* served a future envelope without the variable sets.
|
|
35180
|
+
*/
|
|
35181
|
+
base: external_exports.object({
|
|
35182
|
+
documentHash: external_exports.string().regex(/^[0-9a-f]{64}$/, "documentHash must be sha256 lowercase hex"),
|
|
35183
|
+
light: cssVariableMap,
|
|
35184
|
+
dark: cssVariableMap
|
|
35185
|
+
}).strict().optional()
|
|
35154
35186
|
}).strict();
|
|
35155
35187
|
|
|
35156
35188
|
// ../protocol/dist/registry/canonicalize-contract.js
|
|
@@ -36641,7 +36673,10 @@ var sizeStyles = {
|
|
|
36641
36673
|
var variantStyles = {
|
|
36642
36674
|
primary: {
|
|
36643
36675
|
backgroundColor: "var(--ggui-color-primary-600, #0284c7)",
|
|
36644
|
-
|
|
36676
|
+
// The on-accent PAIR, never a literal (ggui#589 round 7): a theme
|
|
36677
|
+
// whose primary is bright (slime) pairs dark ink via onPrimary —
|
|
36678
|
+
// hardcoded white was unreadable on it.
|
|
36679
|
+
color: "var(--ggui-color-onPrimary, #ffffff)",
|
|
36645
36680
|
border: "none"
|
|
36646
36681
|
},
|
|
36647
36682
|
secondary: {
|
|
@@ -36661,7 +36696,7 @@ var variantStyles = {
|
|
|
36661
36696
|
},
|
|
36662
36697
|
danger: {
|
|
36663
36698
|
backgroundColor: "var(--ggui-color-error-600, #dc2626)",
|
|
36664
|
-
color: "#ffffff",
|
|
36699
|
+
color: "var(--ggui-color-onError, #ffffff)",
|
|
36665
36700
|
border: "none"
|
|
36666
36701
|
}
|
|
36667
36702
|
};
|
|
@@ -36834,7 +36869,7 @@ function Checkbox({ label, checked, onChange, disabled, description, indetermina
|
|
|
36834
36869
|
alignItems: "center",
|
|
36835
36870
|
justifyContent: "center",
|
|
36836
36871
|
transition: "all 0.2s"
|
|
36837
|
-
}, children: (checked || indeterminate) && (0, import_jsx_runtime12.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", style: { color: "#ffffff" }, children: indeterminate ? (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6H9.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) : (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6L5 8.5L9.5 3.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), (label || description) && (0, import_jsx_runtime12.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "2px" }, children: [label && (0, import_jsx_runtime12.jsx)("span", { style: {
|
|
36872
|
+
}, children: (checked || indeterminate) && (0, import_jsx_runtime12.jsx)("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", style: { color: "var(--ggui-color-onPrimary, #ffffff)" }, children: indeterminate ? (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6H9.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) : (0, import_jsx_runtime12.jsx)("path", { d: "M2.5 6L5 8.5L9.5 3.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), (label || description) && (0, import_jsx_runtime12.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "2px" }, children: [label && (0, import_jsx_runtime12.jsx)("span", { style: {
|
|
36838
36873
|
fontSize: "var(--ggui-font-size-sm, 14px)",
|
|
36839
36874
|
fontWeight: "var(--ggui-font-weight-medium, 500)",
|
|
36840
36875
|
color: "var(--ggui-color-onSurfaceVariant, #52525b)"
|
|
@@ -41364,7 +41399,9 @@ function Tooltip({ children, content, position = "top", delay = 200, style, clas
|
|
|
41364
41399
|
left: coords.left,
|
|
41365
41400
|
transform: getTransform(),
|
|
41366
41401
|
backgroundColor: "var(--ggui-color-onSurface, #18181b)",
|
|
41367
|
-
|
|
41402
|
+
// Inverse pair: text on the inverted (onSurface) ground is
|
|
41403
|
+
// the surface color — white was only right for light themes.
|
|
41404
|
+
color: "var(--ggui-color-surface, #ffffff)",
|
|
41368
41405
|
padding: "6px 10px",
|
|
41369
41406
|
borderRadius: "var(--ggui-shape-radius-md, 8px)",
|
|
41370
41407
|
fontSize: "var(--ggui-font-size-xs, 12px)",
|
|
@@ -41517,7 +41554,7 @@ function Tabs({ items, activeKey, onChange, variant = "line", size = "md", fullW
|
|
|
41517
41554
|
if (variant === "pills") {
|
|
41518
41555
|
return {
|
|
41519
41556
|
...base,
|
|
41520
|
-
color: isActive ? "#ffffff" : "var(--ggui-color-onSurfaceVariant, #52525b)",
|
|
41557
|
+
color: isActive ? "var(--ggui-color-onPrimary, #ffffff)" : "var(--ggui-color-onSurfaceVariant, #52525b)",
|
|
41521
41558
|
backgroundColor: isActive ? "var(--ggui-color-primary-600, #0284c7)" : "transparent",
|
|
41522
41559
|
borderRadius: "var(--ggui-shape-radius-md, 6px)"
|
|
41523
41560
|
};
|
|
@@ -43840,19 +43877,19 @@ function walkTokens(obj, prefix, out) {
|
|
|
43840
43877
|
}
|
|
43841
43878
|
}
|
|
43842
43879
|
}
|
|
43843
|
-
function buildCssVariables(
|
|
43880
|
+
function buildCssVariables(theme9) {
|
|
43844
43881
|
const lines = [];
|
|
43845
|
-
walkTokens(
|
|
43846
|
-
walkTokens(
|
|
43847
|
-
walkTokens(
|
|
43848
|
-
walkTokens(
|
|
43882
|
+
walkTokens(theme9.color, "color", lines);
|
|
43883
|
+
walkTokens(theme9.font, "font", lines);
|
|
43884
|
+
walkTokens(theme9.spacing, "spacing", lines);
|
|
43885
|
+
walkTokens(theme9.shape, "shape", lines);
|
|
43849
43886
|
walkTokens({
|
|
43850
|
-
duration:
|
|
43851
|
-
easing:
|
|
43852
|
-
transition:
|
|
43887
|
+
duration: theme9.motion.duration,
|
|
43888
|
+
easing: theme9.motion.easing,
|
|
43889
|
+
transition: theme9.motion.transition
|
|
43853
43890
|
}, "motion", lines);
|
|
43854
|
-
walkTokens(
|
|
43855
|
-
walkTokens(
|
|
43891
|
+
walkTokens(theme9.accessibility, "accessibility", lines);
|
|
43892
|
+
walkTokens(theme9.zIndex, "zIndex", lines);
|
|
43856
43893
|
return lines.join("\n");
|
|
43857
43894
|
}
|
|
43858
43895
|
function expandKeyframe(name, compact) {
|
|
@@ -43869,34 +43906,139 @@ function expandKeyframe(name, compact) {
|
|
|
43869
43906
|
${stops.join("\n")}
|
|
43870
43907
|
}`;
|
|
43871
43908
|
}
|
|
43872
|
-
function buildCssKeyframes(
|
|
43909
|
+
function buildCssKeyframes(theme9) {
|
|
43873
43910
|
const blocks = [];
|
|
43874
|
-
for (const [name, token] of Object.entries(
|
|
43911
|
+
for (const [name, token] of Object.entries(theme9.motion.keyframes)) {
|
|
43875
43912
|
if (name.startsWith("$"))
|
|
43876
43913
|
continue;
|
|
43877
43914
|
blocks.push(expandKeyframe(name, String(token.$value)));
|
|
43878
43915
|
}
|
|
43879
43916
|
return blocks.join("\n\n");
|
|
43880
43917
|
}
|
|
43881
|
-
function parseTheme(id,
|
|
43882
|
-
const cssVariablesBody = buildCssVariables(
|
|
43918
|
+
function parseTheme(id, theme9) {
|
|
43919
|
+
const cssVariablesBody = buildCssVariables(theme9);
|
|
43883
43920
|
const cssVariables = `:root {
|
|
43884
43921
|
${cssVariablesBody}
|
|
43885
43922
|
}`;
|
|
43886
|
-
const cssKeyframes = buildCssKeyframes(
|
|
43923
|
+
const cssKeyframes = buildCssKeyframes(theme9);
|
|
43887
43924
|
const css = cssKeyframes ? `${cssVariables}
|
|
43888
43925
|
|
|
43889
43926
|
${cssKeyframes}` : cssVariables;
|
|
43890
43927
|
return {
|
|
43891
43928
|
id,
|
|
43892
|
-
name:
|
|
43893
|
-
description:
|
|
43894
|
-
metadata:
|
|
43929
|
+
name: theme9.$name,
|
|
43930
|
+
description: theme9.$description,
|
|
43931
|
+
metadata: theme9.$metadata,
|
|
43895
43932
|
cssVariables,
|
|
43896
43933
|
cssKeyframes,
|
|
43897
43934
|
css
|
|
43898
43935
|
};
|
|
43899
43936
|
}
|
|
43937
|
+
var consumed_tokens_manifest_default = {
|
|
43938
|
+
version: 1,
|
|
43939
|
+
tokens: [
|
|
43940
|
+
"--ggui-color-container",
|
|
43941
|
+
"--ggui-color-error-100",
|
|
43942
|
+
"--ggui-color-error-200",
|
|
43943
|
+
"--ggui-color-error-50",
|
|
43944
|
+
"--ggui-color-error-500",
|
|
43945
|
+
"--ggui-color-error-600",
|
|
43946
|
+
"--ggui-color-error-700",
|
|
43947
|
+
"--ggui-color-error-800",
|
|
43948
|
+
"--ggui-color-info-100",
|
|
43949
|
+
"--ggui-color-info-200",
|
|
43950
|
+
"--ggui-color-info-50",
|
|
43951
|
+
"--ggui-color-info-500",
|
|
43952
|
+
"--ggui-color-info-700",
|
|
43953
|
+
"--ggui-color-info-800",
|
|
43954
|
+
"--ggui-color-neutral-100",
|
|
43955
|
+
"--ggui-color-neutral-200",
|
|
43956
|
+
"--ggui-color-neutral-300",
|
|
43957
|
+
"--ggui-color-neutral-400",
|
|
43958
|
+
"--ggui-color-neutral-50",
|
|
43959
|
+
"--ggui-color-neutral-500",
|
|
43960
|
+
"--ggui-color-neutral-600",
|
|
43961
|
+
"--ggui-color-neutral-800",
|
|
43962
|
+
"--ggui-color-onContainer",
|
|
43963
|
+
"--ggui-color-onError",
|
|
43964
|
+
"--ggui-color-onPrimary",
|
|
43965
|
+
"--ggui-color-onSurface",
|
|
43966
|
+
"--ggui-color-onSurfaceVariant",
|
|
43967
|
+
"--ggui-color-outline",
|
|
43968
|
+
"--ggui-color-outlineVariant",
|
|
43969
|
+
"--ggui-color-primary",
|
|
43970
|
+
"--ggui-color-primary-100",
|
|
43971
|
+
"--ggui-color-primary-200",
|
|
43972
|
+
"--ggui-color-primary-300",
|
|
43973
|
+
"--ggui-color-primary-400",
|
|
43974
|
+
"--ggui-color-primary-50",
|
|
43975
|
+
"--ggui-color-primary-500",
|
|
43976
|
+
"--ggui-color-primary-600",
|
|
43977
|
+
"--ggui-color-primary-700",
|
|
43978
|
+
"--ggui-color-primary-800",
|
|
43979
|
+
"--ggui-color-primary-900",
|
|
43980
|
+
"--ggui-color-success-100",
|
|
43981
|
+
"--ggui-color-success-200",
|
|
43982
|
+
"--ggui-color-success-50",
|
|
43983
|
+
"--ggui-color-success-500",
|
|
43984
|
+
"--ggui-color-success-700",
|
|
43985
|
+
"--ggui-color-success-800",
|
|
43986
|
+
"--ggui-color-surface",
|
|
43987
|
+
"--ggui-color-surface-gradient",
|
|
43988
|
+
"--ggui-color-surface-subtle",
|
|
43989
|
+
"--ggui-color-surface-sunken",
|
|
43990
|
+
"--ggui-color-surfaceVariant",
|
|
43991
|
+
"--ggui-color-warning-100",
|
|
43992
|
+
"--ggui-color-warning-200",
|
|
43993
|
+
"--ggui-color-warning-50",
|
|
43994
|
+
"--ggui-color-warning-500",
|
|
43995
|
+
"--ggui-color-warning-700",
|
|
43996
|
+
"--ggui-color-warning-800",
|
|
43997
|
+
"--ggui-flash-color",
|
|
43998
|
+
"--ggui-font-family-mono",
|
|
43999
|
+
"--ggui-font-family-sans",
|
|
44000
|
+
"--ggui-font-lineHeight-normal",
|
|
44001
|
+
"--ggui-font-size-2xl",
|
|
44002
|
+
"--ggui-font-size-3xl",
|
|
44003
|
+
"--ggui-font-size-4xl",
|
|
44004
|
+
"--ggui-font-size-base",
|
|
44005
|
+
"--ggui-font-size-lg",
|
|
44006
|
+
"--ggui-font-size-sm",
|
|
44007
|
+
"--ggui-font-size-xl",
|
|
44008
|
+
"--ggui-font-size-xs",
|
|
44009
|
+
"--ggui-font-weight-bold",
|
|
44010
|
+
"--ggui-font-weight-medium",
|
|
44011
|
+
"--ggui-font-weight-normal",
|
|
44012
|
+
"--ggui-font-weight-semibold",
|
|
44013
|
+
"--ggui-radius-md",
|
|
44014
|
+
"--ggui-radius-sm",
|
|
44015
|
+
"--ggui-shape-radius-full",
|
|
44016
|
+
"--ggui-shape-radius-lg",
|
|
44017
|
+
"--ggui-shape-radius-md",
|
|
44018
|
+
"--ggui-shape-radius-sm",
|
|
44019
|
+
"--ggui-shape-radius-xl",
|
|
44020
|
+
"--ggui-shape-shadow-lg",
|
|
44021
|
+
"--ggui-shape-shadow-md",
|
|
44022
|
+
"--ggui-shape-shadow-sm",
|
|
44023
|
+
"--ggui-shape-shadow-xl",
|
|
44024
|
+
"--ggui-spacing-1",
|
|
44025
|
+
"--ggui-spacing-10",
|
|
44026
|
+
"--ggui-spacing-12",
|
|
44027
|
+
"--ggui-spacing-2",
|
|
44028
|
+
"--ggui-spacing-2xl",
|
|
44029
|
+
"--ggui-spacing-3",
|
|
44030
|
+
"--ggui-spacing-4",
|
|
44031
|
+
"--ggui-spacing-5",
|
|
44032
|
+
"--ggui-spacing-6",
|
|
44033
|
+
"--ggui-spacing-8",
|
|
44034
|
+
"--ggui-spacing-lg",
|
|
44035
|
+
"--ggui-spacing-md",
|
|
44036
|
+
"--ggui-spacing-sm",
|
|
44037
|
+
"--ggui-spacing-xl",
|
|
44038
|
+
"--ggui-spacing-xs"
|
|
44039
|
+
]
|
|
44040
|
+
};
|
|
44041
|
+
var consumedTokenManifest = consumed_tokens_manifest_default.tokens;
|
|
43900
44042
|
var standardSemanticScales = {
|
|
43901
44043
|
light: {
|
|
43902
44044
|
success: {
|
|
@@ -44242,7 +44384,7 @@ var gguiLight = {
|
|
|
44242
44384
|
"50": { $value: "#fbf3e0", $type: "color" },
|
|
44243
44385
|
"100": { $value: "#f3e1b0", $type: "color" },
|
|
44244
44386
|
"200": { $value: "#e6c46e", $type: "color" },
|
|
44245
|
-
"500": { $value: "#
|
|
44387
|
+
"500": { $value: "#8e680c", $type: "color" },
|
|
44246
44388
|
// draft
|
|
44247
44389
|
"600": { $value: "#86620b", $type: "color" },
|
|
44248
44390
|
"700": { $value: "#654a08", $type: "color" },
|
|
@@ -44252,7 +44394,7 @@ var gguiLight = {
|
|
|
44252
44394
|
"50": { $value: "#fbe7e3", $type: "color" },
|
|
44253
44395
|
"100": { $value: "#f4bbb1", $type: "color" },
|
|
44254
44396
|
"200": { $value: "#ea8a7a", $type: "color" },
|
|
44255
|
-
"500": { $value: "#
|
|
44397
|
+
"500": { $value: "#cc3520", $type: "color" },
|
|
44256
44398
|
// signal
|
|
44257
44399
|
"600": { $value: "#ae2d1b", $type: "color" },
|
|
44258
44400
|
"700": { $value: "#822214", $type: "color" },
|
|
@@ -44624,7 +44766,7 @@ var cyberpunkLight = {
|
|
|
44624
44766
|
"400": { $value: "#22d3ee", $type: "color" },
|
|
44625
44767
|
"500": { $value: "#06b6d4", $type: "color" },
|
|
44626
44768
|
"600": { $value: "#0891b2", $type: "color" },
|
|
44627
|
-
"700": { $value: "#
|
|
44769
|
+
"700": { $value: "#1085a5", $type: "color" },
|
|
44628
44770
|
"800": { $value: "#155e75", $type: "color" },
|
|
44629
44771
|
"900": { $value: "#164e63", $type: "color" }
|
|
44630
44772
|
},
|
|
@@ -44634,7 +44776,7 @@ var cyberpunkLight = {
|
|
|
44634
44776
|
"200": { $value: "#1a1a24", $type: "color" },
|
|
44635
44777
|
"300": { $value: "#25252f", $type: "color" },
|
|
44636
44778
|
"400": { $value: "#3a3a48", $type: "color" },
|
|
44637
|
-
"500": { $value: "#
|
|
44779
|
+
"500": { $value: "#5d5d74", $type: "color" },
|
|
44638
44780
|
"600": { $value: "#8888a0", $type: "color" },
|
|
44639
44781
|
"700": { $value: "#aaaabe", $type: "color" },
|
|
44640
44782
|
"800": { $value: "#d0d0e0", $type: "color" },
|
|
@@ -44761,7 +44903,7 @@ var cyberpunkDark = {
|
|
|
44761
44903
|
"200": { $value: "#111118", $type: "color" },
|
|
44762
44904
|
"300": { $value: "#1a1a24", $type: "color" },
|
|
44763
44905
|
"400": { $value: "#3a3a48", $type: "color" },
|
|
44764
|
-
"500": { $value: "#
|
|
44906
|
+
"500": { $value: "#5a5a70", $type: "color" },
|
|
44765
44907
|
"600": { $value: "#8888a0", $type: "color" },
|
|
44766
44908
|
"700": { $value: "#aaaabe", $type: "color" },
|
|
44767
44909
|
"800": { $value: "#d0d0e0", $type: "color" },
|
|
@@ -44997,7 +45139,7 @@ var zenLight = {
|
|
|
44997
45139
|
"200": { $value: "#e7e4de", $type: "color" },
|
|
44998
45140
|
"300": { $value: "#d5d0c8", $type: "color" },
|
|
44999
45141
|
"400": { $value: "#b8b0a4", $type: "color" },
|
|
45000
|
-
"500": { $value: "#
|
|
45142
|
+
"500": { $value: "#988d81", $type: "color" },
|
|
45001
45143
|
"600": { $value: "#7a7068", $type: "color" },
|
|
45002
45144
|
"700": { $value: "#5e5650", $type: "color" },
|
|
45003
45145
|
"800": { $value: "#3e3a36", $type: "color" },
|
|
@@ -45010,7 +45152,7 @@ var zenLight = {
|
|
|
45010
45152
|
"50": { $type: "color", $value: "#f0f4ee" },
|
|
45011
45153
|
"100": { $type: "color", $value: "#dde6d8" },
|
|
45012
45154
|
"200": { $type: "color", $value: "#c6d4be" },
|
|
45013
|
-
"500": { $type: "color", $value: "#
|
|
45155
|
+
"500": { $type: "color", $value: "#5b7950" },
|
|
45014
45156
|
"600": { $type: "color", $value: "#58754d" },
|
|
45015
45157
|
"700": { $type: "color", $value: "#43583a" },
|
|
45016
45158
|
"800": { $type: "color", $value: "#2f3e29" }
|
|
@@ -45019,7 +45161,7 @@ var zenLight = {
|
|
|
45019
45161
|
"50": { $type: "color", $value: "#faf6ea" },
|
|
45020
45162
|
"100": { $type: "color", $value: "#f4ebcb" },
|
|
45021
45163
|
"200": { $type: "color", $value: "#ecdda4" },
|
|
45022
|
-
"500": { $type: "color", $value: "#
|
|
45164
|
+
"500": { $type: "color", $value: "#886f29" },
|
|
45023
45165
|
"600": { $type: "color", $value: "#a88a3a" },
|
|
45024
45166
|
"700": { $type: "color", $value: "#7e672c" },
|
|
45025
45167
|
"800": { $type: "color", $value: "#59481f" }
|
|
@@ -45147,7 +45289,7 @@ var zenDark = {
|
|
|
45147
45289
|
"50": { $type: "color", $value: "#faeae9" },
|
|
45148
45290
|
"100": { $type: "color", $value: "#f1cac8" },
|
|
45149
45291
|
"200": { $type: "color", $value: "#e4a5a1" },
|
|
45150
|
-
"500": { $type: "color", $value: "#
|
|
45292
|
+
"500": { $type: "color", $value: "#d17570" },
|
|
45151
45293
|
"600": { $type: "color", $value: "#a85753" },
|
|
45152
45294
|
"700": { $type: "color", $value: "#7d403c" },
|
|
45153
45295
|
"800": { $type: "color", $value: "#552a27" }
|
|
@@ -45350,7 +45492,7 @@ var neonNoirLight = {
|
|
|
45350
45492
|
"400": { $value: "#f472b6", $type: "color" },
|
|
45351
45493
|
"500": { $value: "#ec4899", $type: "color" },
|
|
45352
45494
|
"600": { $value: "#db2777", $type: "color" },
|
|
45353
|
-
"700": { $value: "#
|
|
45495
|
+
"700": { $value: "#e42574", $type: "color" },
|
|
45354
45496
|
"800": { $value: "#9d174d", $type: "color" },
|
|
45355
45497
|
"900": { $value: "#831843", $type: "color" }
|
|
45356
45498
|
},
|
|
@@ -45360,7 +45502,7 @@ var neonNoirLight = {
|
|
|
45360
45502
|
"200": { $value: "#19191e", $type: "color" },
|
|
45361
45503
|
"300": { $value: "#232329", $type: "color" },
|
|
45362
45504
|
"400": { $value: "#3b3b44", $type: "color" },
|
|
45363
|
-
"500": { $value: "#
|
|
45505
|
+
"500": { $value: "#5e5e6c", $type: "color" },
|
|
45364
45506
|
"600": { $value: "#8a8a9a", $type: "color" },
|
|
45365
45507
|
"700": { $value: "#b0b0be", $type: "color" },
|
|
45366
45508
|
"800": { $value: "#d4d4de", $type: "color" },
|
|
@@ -45392,7 +45534,7 @@ var neonNoirLight = {
|
|
|
45392
45534
|
outline: { $value: "#3b3b44", $type: "color" },
|
|
45393
45535
|
outlineVariant: { $value: "#232329", $type: "color" },
|
|
45394
45536
|
// Primary role pair — onPrimary is deep noir so hot pink CTAs pop.
|
|
45395
|
-
onPrimary: { $value: "#
|
|
45537
|
+
onPrimary: { $value: "#ffffff", $type: "color" },
|
|
45396
45538
|
primaryContainer: { $value: "#9d174d", $type: "color" },
|
|
45397
45539
|
// primary-800
|
|
45398
45540
|
onPrimaryContainer: { $value: "#fce7f3", $type: "color" },
|
|
@@ -45654,15 +45796,31 @@ var botanicalLight = {
|
|
|
45654
45796
|
"200": { $value: "#f8f0df", $type: "color" },
|
|
45655
45797
|
"300": { $value: "#f0e4c9", $type: "color" },
|
|
45656
45798
|
"400": { $value: "#dccba5", $type: "color" },
|
|
45657
|
-
"500": { $value: "#
|
|
45799
|
+
"500": { $value: "#aa8e56", $type: "color" },
|
|
45658
45800
|
"600": { $value: "#9a8660", $type: "color" },
|
|
45659
45801
|
"700": { $value: "#746448", $type: "color" },
|
|
45660
45802
|
"800": { $value: "#504530", $type: "color" },
|
|
45661
45803
|
"900": { $value: "#352e20", $type: "color" }
|
|
45662
45804
|
},
|
|
45663
|
-
|
|
45664
|
-
|
|
45665
|
-
error
|
|
45805
|
+
// #594 founder-approved light override (2026-08-22): shared success-500
|
|
45806
|
+
// is sub-AA as TEXT on botanical's warm paper — override the 500 stop
|
|
45807
|
+
// only, light only (same pattern as warning/error below).
|
|
45808
|
+
success: {
|
|
45809
|
+
...standardSemanticScales.light.success,
|
|
45810
|
+
"500": { $type: "color", $value: "#17843f" }
|
|
45811
|
+
},
|
|
45812
|
+
// #594 founder-approved light overrides (2026-08-22): the shared
|
|
45813
|
+
// standardSemantic 500s are sub-AA as TEXT on botanical's warm paper
|
|
45814
|
+
// (#fefcf8) — override ONLY the 500 stop, only in light; the shared
|
|
45815
|
+
// scales stay untouched for every other theme and for dark.
|
|
45816
|
+
warning: {
|
|
45817
|
+
...standardSemanticScales.light.warning,
|
|
45818
|
+
"500": { $type: "color", $value: "#a06707" }
|
|
45819
|
+
},
|
|
45820
|
+
error: {
|
|
45821
|
+
...standardSemanticScales.light.error,
|
|
45822
|
+
"500": { $type: "color", $value: "#e51414" }
|
|
45823
|
+
},
|
|
45666
45824
|
info: standardSemanticScales.light.info,
|
|
45667
45825
|
// Semantic roles
|
|
45668
45826
|
surface: { $value: "#fefcf8", $type: "color" },
|
|
@@ -45674,7 +45832,7 @@ var botanicalLight = {
|
|
|
45674
45832
|
outline: { $value: "#f0e4c9", $type: "color" },
|
|
45675
45833
|
outlineVariant: { $value: "#f8f0df", $type: "color" },
|
|
45676
45834
|
// Primary role pair — onPrimary is cream for the leaf-green brand hex.
|
|
45677
|
-
onPrimary: { $value: "#
|
|
45835
|
+
onPrimary: { $value: "#332407", $type: "color" },
|
|
45678
45836
|
primaryContainer: { $value: "#dcfce7", $type: "color" },
|
|
45679
45837
|
// primary-100
|
|
45680
45838
|
onPrimaryContainer: { $value: "#14532d", $type: "color" },
|
|
@@ -45973,7 +46131,7 @@ var claudicLight = {
|
|
|
45973
46131
|
"50": { $value: "#f4f7ec", $type: "color" },
|
|
45974
46132
|
"100": { $value: "#e3ecd0", $type: "color" },
|
|
45975
46133
|
"200": { $value: "#c8d8a5", $type: "color" },
|
|
45976
|
-
"500": { $value: "#
|
|
46134
|
+
"500": { $value: "#5c7a35", $type: "color" },
|
|
45977
46135
|
// brand: olive
|
|
45978
46136
|
"600": { $value: "#587634", $type: "color" },
|
|
45979
46137
|
"700": { $value: "#465c29", $type: "color" },
|
|
@@ -45983,7 +46141,7 @@ var claudicLight = {
|
|
|
45983
46141
|
"50": { $value: "#fbf3e3", $type: "color" },
|
|
45984
46142
|
"100": { $value: "#f6e2bb", $type: "color" },
|
|
45985
46143
|
"200": { $value: "#eac786", $type: "color" },
|
|
45986
|
-
"500": { $value: "#
|
|
46144
|
+
"500": { $value: "#956922", $type: "color" },
|
|
45987
46145
|
// brand: amber-orange
|
|
45988
46146
|
"600": { $value: "#a87725", $type: "color" },
|
|
45989
46147
|
"700": { $value: "#825c1d", $type: "color" },
|
|
@@ -46023,7 +46181,7 @@ var claudicLight = {
|
|
|
46023
46181
|
outline: { $value: "#dad8cc", $type: "color" },
|
|
46024
46182
|
outlineVariant: { $value: "#ebe9df", $type: "color" },
|
|
46025
46183
|
// Primary role pair — text on Crail CTAs is ivory, container is Crail-50.
|
|
46026
|
-
onPrimary: { $value: "#
|
|
46184
|
+
onPrimary: { $value: "#15130a", $type: "color" },
|
|
46027
46185
|
// Ivory
|
|
46028
46186
|
primaryContainer: { $value: "#fbf2ee", $type: "color" },
|
|
46029
46187
|
// primary-50
|
|
@@ -46134,7 +46292,7 @@ var claudicDark = {
|
|
|
46134
46292
|
"50": { $value: "#2a1410", $type: "color" },
|
|
46135
46293
|
"100": { $value: "#52271f", $type: "color" },
|
|
46136
46294
|
"200": { $value: "#7a3a2e", $type: "color" },
|
|
46137
|
-
"500": { $value: "#
|
|
46295
|
+
"500": { $value: "#d7705f", $type: "color" },
|
|
46138
46296
|
// brand: brick (lifted for dark)
|
|
46139
46297
|
"600": { $value: "#df8576", $type: "color" },
|
|
46140
46298
|
"700": { $value: "#e3a294", $type: "color" },
|
|
@@ -46383,7 +46541,7 @@ var indigoLight = {
|
|
|
46383
46541
|
"50": { $value: "#ecfdf5", $type: "color" },
|
|
46384
46542
|
"100": { $value: "#d1fae5", $type: "color" },
|
|
46385
46543
|
"200": { $value: "#a7f3d0", $type: "color" },
|
|
46386
|
-
"500": { $value: "#
|
|
46544
|
+
"500": { $value: "#0b815a", $type: "color" },
|
|
46387
46545
|
// brand emerald
|
|
46388
46546
|
"600": { $value: "#0b8259", $type: "color" },
|
|
46389
46547
|
"700": { $value: "#086847", $type: "color" },
|
|
@@ -46393,7 +46551,7 @@ var indigoLight = {
|
|
|
46393
46551
|
"50": { $value: "#fff8eb", $type: "color" },
|
|
46394
46552
|
"100": { $value: "#fdecc8", $type: "color" },
|
|
46395
46553
|
"200": { $value: "#fbd897", $type: "color" },
|
|
46396
|
-
"500": { $value: "#
|
|
46554
|
+
"500": { $value: "#a66210", $type: "color" },
|
|
46397
46555
|
// brand amber
|
|
46398
46556
|
"600": { $value: "#b86b0e", $type: "color" },
|
|
46399
46557
|
"700": { $value: "#90530a", $type: "color" },
|
|
@@ -46504,7 +46662,7 @@ var indigoDark = {
|
|
|
46504
46662
|
"300": { $value: "#2a2839", $type: "color" },
|
|
46505
46663
|
// outline
|
|
46506
46664
|
"400": { $value: "#3e3c50", $type: "color" },
|
|
46507
|
-
"500": { $value: "#
|
|
46665
|
+
"500": { $value: "#636176", $type: "color" },
|
|
46508
46666
|
// muted
|
|
46509
46667
|
"600": { $value: "#8b8898", $type: "color" },
|
|
46510
46668
|
"700": { $value: "#b8b6c2", $type: "color" },
|
|
@@ -46614,6 +46772,355 @@ var theme7 = {
|
|
|
46614
46772
|
light: indigoLight,
|
|
46615
46773
|
dark: indigoDark
|
|
46616
46774
|
};
|
|
46775
|
+
var shared8 = {
|
|
46776
|
+
font: {
|
|
46777
|
+
family: {
|
|
46778
|
+
sans: {
|
|
46779
|
+
$value: '"DM Sans", system-ui, -apple-system, sans-serif',
|
|
46780
|
+
$type: "fontFamily"
|
|
46781
|
+
},
|
|
46782
|
+
mono: {
|
|
46783
|
+
$value: '"JetBrains Mono", ui-monospace, monospace',
|
|
46784
|
+
$type: "fontFamily"
|
|
46785
|
+
}
|
|
46786
|
+
},
|
|
46787
|
+
size: {
|
|
46788
|
+
sm: { $value: "0.875rem", $type: "dimension" },
|
|
46789
|
+
base: { $value: "1rem", $type: "dimension" },
|
|
46790
|
+
lg: { $value: "1.125rem", $type: "dimension" },
|
|
46791
|
+
xl: { $value: "1.25rem", $type: "dimension" },
|
|
46792
|
+
"2xl": { $value: "1.5rem", $type: "dimension" }
|
|
46793
|
+
},
|
|
46794
|
+
weight: {
|
|
46795
|
+
normal: { $value: "400", $type: "fontWeight" },
|
|
46796
|
+
medium: { $value: "500", $type: "fontWeight" },
|
|
46797
|
+
semibold: { $value: "600", $type: "fontWeight" },
|
|
46798
|
+
bold: { $value: "700", $type: "fontWeight" }
|
|
46799
|
+
},
|
|
46800
|
+
lineHeight: {
|
|
46801
|
+
tight: { $value: "1.25", $type: "number" },
|
|
46802
|
+
normal: { $value: "1.5", $type: "number" },
|
|
46803
|
+
relaxed: { $value: "1.75", $type: "number" }
|
|
46804
|
+
}
|
|
46805
|
+
},
|
|
46806
|
+
spacing: {
|
|
46807
|
+
"1": { $value: "0.25rem", $type: "dimension" },
|
|
46808
|
+
"2": { $value: "0.5rem", $type: "dimension" },
|
|
46809
|
+
"3": { $value: "0.75rem", $type: "dimension" },
|
|
46810
|
+
"4": { $value: "1rem", $type: "dimension" },
|
|
46811
|
+
"5": { $value: "1.25rem", $type: "dimension" },
|
|
46812
|
+
"6": { $value: "1.5rem", $type: "dimension" },
|
|
46813
|
+
"8": { $value: "2rem", $type: "dimension" },
|
|
46814
|
+
"10": { $value: "2.5rem", $type: "dimension" },
|
|
46815
|
+
"12": { $value: "3rem", $type: "dimension" }
|
|
46816
|
+
},
|
|
46817
|
+
// NOTE: `shape` is per-mode (round 4) — radius is shared via
|
|
46818
|
+
// `sharedRadius` below, but shadows split: dark wants near-none ink
|
|
46819
|
+
// (a visible black blob under a card on a dark surface was the
|
|
46820
|
+
// round-3 "borders looking ugly" residual's shadow half), light
|
|
46821
|
+
// wants classic soft grey.
|
|
46822
|
+
motion: {
|
|
46823
|
+
duration: {
|
|
46824
|
+
fast: { $value: "120ms", $type: "duration" },
|
|
46825
|
+
normal: { $value: "200ms", $type: "duration" },
|
|
46826
|
+
slow: { $value: "400ms", $type: "duration" },
|
|
46827
|
+
ambient: { $value: "2000ms", $type: "duration" }
|
|
46828
|
+
},
|
|
46829
|
+
easing: {
|
|
46830
|
+
default: { $value: "cubic-bezier(0.4, 0, 0.2, 1)", $type: "cubicBezier" },
|
|
46831
|
+
bounce: {
|
|
46832
|
+
$value: "cubic-bezier(0.68, -0.55, 0.27, 1.55)",
|
|
46833
|
+
$type: "cubicBezier"
|
|
46834
|
+
},
|
|
46835
|
+
spring: { $value: "cubic-bezier(0.22, 1, 0.36, 1)", $type: "cubicBezier" }
|
|
46836
|
+
},
|
|
46837
|
+
transition: {
|
|
46838
|
+
fast: { $value: "120ms cubic-bezier(0.4, 0, 0.2, 1)", $type: "transition" },
|
|
46839
|
+
normal: { $value: "200ms cubic-bezier(0.4, 0, 0.2, 1)", $type: "transition" },
|
|
46840
|
+
slow: { $value: "400ms cubic-bezier(0.4, 0, 0.2, 1)", $type: "transition" },
|
|
46841
|
+
colors: {
|
|
46842
|
+
$value: "color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1)",
|
|
46843
|
+
$type: "transition"
|
|
46844
|
+
},
|
|
46845
|
+
opacity: { $value: "opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)", $type: "transition" },
|
|
46846
|
+
transform: { $value: "transform 200ms cubic-bezier(0.22, 1, 0.36, 1)", $type: "transition" }
|
|
46847
|
+
},
|
|
46848
|
+
keyframes: {
|
|
46849
|
+
"fade-in": {
|
|
46850
|
+
$value: "0%{opacity:0}100%{opacity:1}",
|
|
46851
|
+
$type: "keyframes"
|
|
46852
|
+
},
|
|
46853
|
+
"slide-up": {
|
|
46854
|
+
$value: "0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}",
|
|
46855
|
+
$type: "keyframes"
|
|
46856
|
+
},
|
|
46857
|
+
"pulse-soft": {
|
|
46858
|
+
$value: "0%{opacity:1}50%{opacity:0.65}100%{opacity:1}",
|
|
46859
|
+
$type: "keyframes"
|
|
46860
|
+
}
|
|
46861
|
+
}
|
|
46862
|
+
},
|
|
46863
|
+
accessibility: {
|
|
46864
|
+
focusRing: {
|
|
46865
|
+
color: { $value: "#B8FF3A", $type: "color" },
|
|
46866
|
+
width: { $value: "2px", $type: "dimension" },
|
|
46867
|
+
offset: { $value: "2px", $type: "dimension" }
|
|
46868
|
+
},
|
|
46869
|
+
reducedMotion: {
|
|
46870
|
+
duration: { $value: "0ms", $type: "duration" }
|
|
46871
|
+
},
|
|
46872
|
+
highContrast: {
|
|
46873
|
+
borderWidth: { $value: "2px", $type: "dimension" },
|
|
46874
|
+
textColor: { $value: "#FFFFFF", $type: "color" },
|
|
46875
|
+
backgroundColor: { $value: "#000000", $type: "color" },
|
|
46876
|
+
linkColor: { $value: "#CCFF66", $type: "color" }
|
|
46877
|
+
}
|
|
46878
|
+
},
|
|
46879
|
+
zIndex: standardZIndex
|
|
46880
|
+
};
|
|
46881
|
+
var sharedRadius = {
|
|
46882
|
+
sm: { $value: "0.375rem", $type: "dimension" },
|
|
46883
|
+
md: { $value: "0.5rem", $type: "dimension" },
|
|
46884
|
+
lg: { $value: "0.75rem", $type: "dimension" },
|
|
46885
|
+
xl: { $value: "1rem", $type: "dimension" },
|
|
46886
|
+
full: { $value: "9999px", $type: "dimension" }
|
|
46887
|
+
};
|
|
46888
|
+
var darkShadows = {
|
|
46889
|
+
sm: { $value: "0 1px 2px rgba(0, 0, 0, 0.2)", $type: "shadow" },
|
|
46890
|
+
md: { $value: "0 2px 8px rgba(0, 0, 0, 0.25)", $type: "shadow" },
|
|
46891
|
+
lg: { $value: "0 6px 16px rgba(0, 0, 0, 0.28)", $type: "shadow" },
|
|
46892
|
+
xl: { $value: "0 10px 24px rgba(0, 0, 0, 0.3)", $type: "shadow" }
|
|
46893
|
+
};
|
|
46894
|
+
var lightShadows = {
|
|
46895
|
+
sm: { $value: "0 1px 2px rgba(26, 29, 36, 0.06)", $type: "shadow" },
|
|
46896
|
+
md: { $value: "0 2px 8px rgba(26, 29, 36, 0.08)", $type: "shadow" },
|
|
46897
|
+
lg: { $value: "0 6px 16px rgba(26, 29, 36, 0.1)", $type: "shadow" },
|
|
46898
|
+
xl: { $value: "0 12px 28px rgba(26, 29, 36, 0.12)", $type: "shadow" }
|
|
46899
|
+
};
|
|
46900
|
+
var guueyBrandDark = {
|
|
46901
|
+
$name: "guuey-brand-v1",
|
|
46902
|
+
$description: "The guuey product brand (dark) \u2014 slate-ink surfaces, slime #B8FF3A accent, DM Sans.",
|
|
46903
|
+
$metadata: {
|
|
46904
|
+
font: "DM Sans",
|
|
46905
|
+
fontUrl: "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap",
|
|
46906
|
+
philosophy: "Agent-native. Slime on slate.",
|
|
46907
|
+
// Round 5 (founder-ruled): the guuey host clips the view with its
|
|
46908
|
+
// own rounded rim — the HOST owns the card silhouette; the theme
|
|
46909
|
+
// paints no border on the root layer. Inner hairlines stay.
|
|
46910
|
+
frameless: true
|
|
46911
|
+
},
|
|
46912
|
+
color: {
|
|
46913
|
+
// Inverted dark ladder — 50 darkest, 900 lightest; slime pinned at
|
|
46914
|
+
// 500, the portal's lifted #CCFF66 at the hover stop (600).
|
|
46915
|
+
primary: {
|
|
46916
|
+
"50": { $value: "#141D05", $type: "color" },
|
|
46917
|
+
"100": { $value: "#28390B", $type: "color" },
|
|
46918
|
+
"200": { $value: "#3F5A11", $type: "color" },
|
|
46919
|
+
"300": { $value: "#5F8719", $type: "color" },
|
|
46920
|
+
"400": { $value: "#8CC627", $type: "color" },
|
|
46921
|
+
"500": { $value: "#B8FF3A", $type: "color" },
|
|
46922
|
+
// slime (brand)
|
|
46923
|
+
"600": { $value: "#CCFF66", $type: "color" },
|
|
46924
|
+
// lifted hover (portal)
|
|
46925
|
+
"700": { $value: "#DBFF8F", $type: "color" },
|
|
46926
|
+
// pressed / emphasized
|
|
46927
|
+
"800": { $value: "#E9FFB8", $type: "color" },
|
|
46928
|
+
"900": { $value: "#F6FFE0", $type: "color" }
|
|
46929
|
+
},
|
|
46930
|
+
// Slate-ink foundation from the portal surface family: sunken →
|
|
46931
|
+
// surface → elevated → surfaceVariant, then up through the greys
|
|
46932
|
+
// to paper (#F6F5EE).
|
|
46933
|
+
neutral: {
|
|
46934
|
+
"50": { $value: "#0E1014", $type: "color" },
|
|
46935
|
+
// sunken
|
|
46936
|
+
"100": { $value: "#1A1D24", $type: "color" },
|
|
46937
|
+
// surface
|
|
46938
|
+
"200": { $value: "#232630", $type: "color" },
|
|
46939
|
+
// elevated
|
|
46940
|
+
"300": { $value: "#242938", $type: "color" },
|
|
46941
|
+
// surfaceVariant
|
|
46942
|
+
"400": { $value: "#3B4152", $type: "color" },
|
|
46943
|
+
"500": { $value: "#878C99", $type: "color" },
|
|
46944
|
+
// hint text
|
|
46945
|
+
"600": { $value: "#B7BAC4", $type: "color" },
|
|
46946
|
+
// secondary text
|
|
46947
|
+
"700": { $value: "#D5D6DC", $type: "color" },
|
|
46948
|
+
"800": { $value: "#E8E7E2", $type: "color" },
|
|
46949
|
+
"900": { $value: "#F6F5EE", $type: "color" }
|
|
46950
|
+
// paper (text)
|
|
46951
|
+
},
|
|
46952
|
+
// BRAND RULE: success IS slime — never green. Same family as
|
|
46953
|
+
// primary so an "Available" pill and a slime CTA read as one brand.
|
|
46954
|
+
success: {
|
|
46955
|
+
"50": { $value: "#141D05", $type: "color" },
|
|
46956
|
+
"100": { $value: "#28390B", $type: "color" },
|
|
46957
|
+
"200": { $value: "#3F5A11", $type: "color" },
|
|
46958
|
+
"500": { $value: "#B8FF3A", $type: "color" },
|
|
46959
|
+
// slime (brand rule)
|
|
46960
|
+
"600": { $value: "#CCFF66", $type: "color" },
|
|
46961
|
+
"700": { $value: "#DBFF8F", $type: "color" },
|
|
46962
|
+
"800": { $value: "#E9FFB8", $type: "color" }
|
|
46963
|
+
},
|
|
46964
|
+
warning: {
|
|
46965
|
+
"50": { $value: "#33240A", $type: "color" },
|
|
46966
|
+
"100": { $value: "#5C420F", $type: "color" },
|
|
46967
|
+
"200": { $value: "#8A6318", $type: "color" },
|
|
46968
|
+
"500": { $value: "#FFB020", $type: "color" },
|
|
46969
|
+
// portal warning
|
|
46970
|
+
"600": { $value: "#FFC24D", $type: "color" },
|
|
46971
|
+
"700": { $value: "#FFD37D", $type: "color" },
|
|
46972
|
+
"800": { $value: "#FFE5AE", $type: "color" }
|
|
46973
|
+
},
|
|
46974
|
+
error: {
|
|
46975
|
+
"50": { $value: "#33110E", $type: "color" },
|
|
46976
|
+
"100": { $value: "#5E1F1B", $type: "color" },
|
|
46977
|
+
"200": { $value: "#8F2F2A", $type: "color" },
|
|
46978
|
+
"500": { $value: "#FF5B5B", $type: "color" },
|
|
46979
|
+
// portal error
|
|
46980
|
+
"600": { $value: "#FF7D7A", $type: "color" },
|
|
46981
|
+
"700": { $value: "#FF9F9C", $type: "color" },
|
|
46982
|
+
"800": { $value: "#FFC3C0", $type: "color" }
|
|
46983
|
+
},
|
|
46984
|
+
info: {
|
|
46985
|
+
"50": { $value: "#0A2733", $type: "color" },
|
|
46986
|
+
"100": { $value: "#12455C", $type: "color" },
|
|
46987
|
+
"200": { $value: "#1E6A8A", $type: "color" },
|
|
46988
|
+
"500": { $value: "#3AC8FF", $type: "color" },
|
|
46989
|
+
// portal info
|
|
46990
|
+
"600": { $value: "#66D4FF", $type: "color" },
|
|
46991
|
+
"700": { $value: "#92E0FF", $type: "color" },
|
|
46992
|
+
"800": { $value: "#BFECFF", $type: "color" }
|
|
46993
|
+
},
|
|
46994
|
+
// M3 roles — portal values verbatim.
|
|
46995
|
+
surface: { $value: "#1A1D24", $type: "color" },
|
|
46996
|
+
onSurface: { $value: "#F6F5EE", $type: "color" },
|
|
46997
|
+
surfaceVariant: { $value: "#242938", $type: "color" },
|
|
46998
|
+
onSurfaceVariant: { $value: "#B7BAC4", $type: "color" },
|
|
46999
|
+
container: { $value: "#232630", $type: "color" },
|
|
47000
|
+
// elevated
|
|
47001
|
+
onContainer: { $value: "#F6F5EE", $type: "color" },
|
|
47002
|
+
// Round 4 (portal stops): .14 IS the base hairline; .18 is the
|
|
47003
|
+
// STRONG stop (no DtcgTheme slot — strong/interactive strokes
|
|
47004
|
+
// ride primary borders + the slime focusRing, receipted by the
|
|
47005
|
+
// Select button). Dividers sit softer still.
|
|
47006
|
+
outline: { $value: "rgba(246, 245, 238, 0.14)", $type: "color" },
|
|
47007
|
+
outlineVariant: { $value: "rgba(246, 245, 238, 0.1)", $type: "color" },
|
|
47008
|
+
onPrimary: { $value: "#0E1014", $type: "color" },
|
|
47009
|
+
// ink on slime
|
|
47010
|
+
primaryContainer: { $value: "#242938", $type: "color" },
|
|
47011
|
+
// portal
|
|
47012
|
+
onPrimaryContainer: { $value: "#CCFF66", $type: "color" },
|
|
47013
|
+
// portal
|
|
47014
|
+
onError: { $value: "#33110E", $type: "color" },
|
|
47015
|
+
errorContainer: { $value: "#5E1F1B", $type: "color" },
|
|
47016
|
+
onErrorContainer: { $value: "#FFC3C0", $type: "color" },
|
|
47017
|
+
// Pink accent — the portal's tertiary. (Purple #9B6AFF has no
|
|
47018
|
+
// DtcgTheme slot; see the file docstring.)
|
|
47019
|
+
tertiary: { $value: "#FF4FB0", $type: "color" },
|
|
47020
|
+
onTertiary: { $value: "#0E1014", $type: "color" },
|
|
47021
|
+
tertiaryContainer: { $value: "#451A35", $type: "color" },
|
|
47022
|
+
onTertiaryContainer: { $value: "#FFC1E4", $type: "color" }
|
|
47023
|
+
},
|
|
47024
|
+
...shared8,
|
|
47025
|
+
shape: { radius: sharedRadius, shadow: darkShadows }
|
|
47026
|
+
};
|
|
47027
|
+
var guueyBrandLight = {
|
|
47028
|
+
$name: "guuey-brand-v1",
|
|
47029
|
+
$description: "The guuey product brand (light, provisional) \u2014 paper surfaces, slime accent held for fills, darkened slime for text emphasis.",
|
|
47030
|
+
$metadata: guueyBrandDark.$metadata,
|
|
47031
|
+
color: {
|
|
47032
|
+
// Normal (non-inverted) ramps; slime stays the 500 fill anchor,
|
|
47033
|
+
// text-emphasis stops (600/700) darken for contrast on paper.
|
|
47034
|
+
primary: {
|
|
47035
|
+
"50": { $value: "#F6FFE0", $type: "color" },
|
|
47036
|
+
"100": { $value: "#E9FFB8", $type: "color" },
|
|
47037
|
+
"200": { $value: "#DBFF8F", $type: "color" },
|
|
47038
|
+
"300": { $value: "#CCFF66", $type: "color" },
|
|
47039
|
+
"400": { $value: "#B8FF3A", $type: "color" },
|
|
47040
|
+
"500": { $value: "#9FE01C", $type: "color" },
|
|
47041
|
+
"600": { $value: "#7DB214", $type: "color" },
|
|
47042
|
+
// 700 is the 'emphasized' TEXT stop — AA on paper (round 7 sweep).
|
|
47043
|
+
"700": { $value: "#476809", $type: "color" },
|
|
47044
|
+
"800": { $value: "#3F5A11", $type: "color" },
|
|
47045
|
+
"900": { $value: "#28390B", $type: "color" }
|
|
47046
|
+
},
|
|
47047
|
+
neutral: {
|
|
47048
|
+
"50": { $value: "#FBFAF6", $type: "color" },
|
|
47049
|
+
"100": { $value: "#F6F5EE", $type: "color" },
|
|
47050
|
+
"200": { $value: "#E8E7E2", $type: "color" },
|
|
47051
|
+
"300": { $value: "#D5D6DC", $type: "color" },
|
|
47052
|
+
"400": { $value: "#B7BAC4", $type: "color" },
|
|
47053
|
+
"500": { $value: "#6E7380", $type: "color" },
|
|
47054
|
+
"600": { $value: "#4A4F5C", $type: "color" },
|
|
47055
|
+
"700": { $value: "#333846", $type: "color" },
|
|
47056
|
+
"800": { $value: "#242938", $type: "color" },
|
|
47057
|
+
"900": { $value: "#1A1D24", $type: "color" }
|
|
47058
|
+
},
|
|
47059
|
+
// Semantic -500s are TEXT stops on paper ('success'/'warning'/…
|
|
47060
|
+
// tones + Alert) — every 500 below clears AA on #FFFFFF (round 7
|
|
47061
|
+
// sweep; the pre-sweep pastel values measured 2.5–4.3).
|
|
47062
|
+
success: {
|
|
47063
|
+
"50": { $value: "#F6FFE0", $type: "color" },
|
|
47064
|
+
"100": { $value: "#E9FFB8", $type: "color" },
|
|
47065
|
+
"200": { $value: "#DBFF8F", $type: "color" },
|
|
47066
|
+
"500": { $value: "#517709", $type: "color" },
|
|
47067
|
+
"600": { $value: "#476809", $type: "color" },
|
|
47068
|
+
"700": { $value: "#35510B", $type: "color" },
|
|
47069
|
+
"800": { $value: "#28390B", $type: "color" }
|
|
47070
|
+
},
|
|
47071
|
+
warning: {
|
|
47072
|
+
"50": { $value: "#FFF4DD", $type: "color" },
|
|
47073
|
+
"100": { $value: "#FFE5AE", $type: "color" },
|
|
47074
|
+
"200": { $value: "#FFD37D", $type: "color" },
|
|
47075
|
+
"500": { $value: "#9C6205", $type: "color" },
|
|
47076
|
+
"600": { $value: "#7C4D04", $type: "color" },
|
|
47077
|
+
"700": { $value: "#5E3A03", $type: "color" },
|
|
47078
|
+
"800": { $value: "#3F2702", $type: "color" }
|
|
47079
|
+
},
|
|
47080
|
+
error: {
|
|
47081
|
+
"50": { $value: "#FFE9E8", $type: "color" },
|
|
47082
|
+
"100": { $value: "#FFC3C0", $type: "color" },
|
|
47083
|
+
"200": { $value: "#FF9F9C", $type: "color" },
|
|
47084
|
+
"500": { $value: "#CC2F2F", $type: "color" },
|
|
47085
|
+
"600": { $value: "#A62626", $type: "color" },
|
|
47086
|
+
"700": { $value: "#7E1D1D", $type: "color" },
|
|
47087
|
+
"800": { $value: "#5E1F1B", $type: "color" }
|
|
47088
|
+
},
|
|
47089
|
+
info: {
|
|
47090
|
+
"50": { $value: "#E5F7FF", $type: "color" },
|
|
47091
|
+
"100": { $value: "#BFECFF", $type: "color" },
|
|
47092
|
+
"200": { $value: "#92E0FF", $type: "color" },
|
|
47093
|
+
"500": { $value: "#0B739E", $type: "color" },
|
|
47094
|
+
"600": { $value: "#085572", $type: "color" },
|
|
47095
|
+
"700": { $value: "#06455D", $type: "color" },
|
|
47096
|
+
"800": { $value: "#0A3346", $type: "color" }
|
|
47097
|
+
},
|
|
47098
|
+
surface: { $value: "#FFFFFF", $type: "color" },
|
|
47099
|
+
onSurface: { $value: "#1A1D24", $type: "color" },
|
|
47100
|
+
surfaceVariant: { $value: "#F6F5EE", $type: "color" },
|
|
47101
|
+
onSurfaceVariant: { $value: "#4A4F5C", $type: "color" },
|
|
47102
|
+
container: { $value: "#FBFAF6", $type: "color" },
|
|
47103
|
+
onContainer: { $value: "#1A1D24", $type: "color" },
|
|
47104
|
+
outline: { $value: "rgba(26, 29, 36, 0.18)", $type: "color" },
|
|
47105
|
+
outlineVariant: { $value: "rgba(26, 29, 36, 0.10)", $type: "color" },
|
|
47106
|
+
onPrimary: { $value: "#0E1014", $type: "color" },
|
|
47107
|
+
primaryContainer: { $value: "#E9FFB8", $type: "color" },
|
|
47108
|
+
onPrimaryContainer: { $value: "#28390B", $type: "color" },
|
|
47109
|
+
onError: { $value: "#FFFFFF", $type: "color" },
|
|
47110
|
+
errorContainer: { $value: "#FFE9E8", $type: "color" },
|
|
47111
|
+
onErrorContainer: { $value: "#8A1F1F", $type: "color" },
|
|
47112
|
+
tertiary: { $value: "#D6247F", $type: "color" },
|
|
47113
|
+
onTertiary: { $value: "#FFFFFF", $type: "color" },
|
|
47114
|
+
tertiaryContainer: { $value: "#FFDCEE", $type: "color" },
|
|
47115
|
+
onTertiaryContainer: { $value: "#6B1240", $type: "color" }
|
|
47116
|
+
},
|
|
47117
|
+
...shared8,
|
|
47118
|
+
shape: { radius: sharedRadius, shadow: lightShadows }
|
|
47119
|
+
};
|
|
47120
|
+
var theme8 = {
|
|
47121
|
+
light: guueyBrandLight,
|
|
47122
|
+
dark: guueyBrandDark
|
|
47123
|
+
};
|
|
46617
47124
|
var themes = /* @__PURE__ */ new Map([
|
|
46618
47125
|
["ggui", theme],
|
|
46619
47126
|
["indigo", theme7],
|
|
@@ -46621,7 +47128,11 @@ var themes = /* @__PURE__ */ new Map([
|
|
|
46621
47128
|
["premium-cyberpunk", theme2],
|
|
46622
47129
|
["premium-zen", theme3],
|
|
46623
47130
|
["premium-neon-noir", theme4],
|
|
46624
|
-
["premium-botanical", theme5]
|
|
47131
|
+
["premium-botanical", theme5],
|
|
47132
|
+
// Registered under the EXACT AppTheme.name the guuey widget stamps,
|
|
47133
|
+
// so the runtime's theme-name→registry binding (ggui#589 ask 3)
|
|
47134
|
+
// selects it as the base ladder with no sender-side change.
|
|
47135
|
+
["guuey-brand-v1", theme8]
|
|
46625
47136
|
]);
|
|
46626
47137
|
var parsedCache = /* @__PURE__ */ new Map();
|
|
46627
47138
|
function resolveMode(reg, requested) {
|
|
@@ -46723,26 +47234,31 @@ function getScopedCssTokens(scopeClass, mode = "light") {
|
|
|
46723
47234
|
return getScopedThemeCss(getDefaultThemeId(), scopeClass, mode);
|
|
46724
47235
|
}
|
|
46725
47236
|
function getScopedThemeCss(themeId, scopeClass, mode = "light") {
|
|
46726
|
-
const
|
|
46727
|
-
if (!
|
|
47237
|
+
const theme9 = getTheme(themeId, mode);
|
|
47238
|
+
if (!theme9) {
|
|
46728
47239
|
const defaultId = getDefaultThemeId();
|
|
46729
47240
|
if (themeId === defaultId)
|
|
46730
47241
|
return "";
|
|
46731
47242
|
return getScopedThemeCss(defaultId, scopeClass, mode);
|
|
46732
47243
|
}
|
|
46733
|
-
const primary500 = resolvePrimary500Hex(
|
|
46734
|
-
const scoped = withColorMixFallback(
|
|
47244
|
+
const primary500 = resolvePrimary500Hex(theme9.cssVariables);
|
|
47245
|
+
const scoped = withColorMixFallback(theme9.cssVariables.replace(/^:root\s*\{/, `.${scopeClass} {`), `.${scopeClass}`, primary500);
|
|
46735
47246
|
const baseInherits = `.${scopeClass} {
|
|
46736
47247
|
font-family: var(--ggui-font-family-sans);
|
|
46737
47248
|
color: var(--ggui-color-onSurface);
|
|
46738
47249
|
background-color: transparent;
|
|
46739
47250
|
}`;
|
|
46740
47251
|
const gradientTokens = buildGradientTokens(scopeClass, primary500);
|
|
47252
|
+
const framelessRule = theme9.metadata?.frameless === true ? `
|
|
47253
|
+
.${scopeClass} > :where(:not(style)) { border: none !important; }` : "";
|
|
46741
47254
|
return `${scoped}
|
|
46742
47255
|
${baseInherits}
|
|
46743
47256
|
${gradientTokens}
|
|
46744
|
-
${
|
|
46745
|
-
|
|
47257
|
+
${theme9.cssKeyframes}
|
|
47258
|
+
${structuralScaffolding(scopeClass)}${framelessRule}`;
|
|
47259
|
+
}
|
|
47260
|
+
function structuralScaffolding(scopeClass) {
|
|
47261
|
+
return `.${scopeClass} *, .${scopeClass} *::before, .${scopeClass} *::after { box-sizing: border-box; }
|
|
46746
47262
|
.${scopeClass} h1, .${scopeClass} h2, .${scopeClass} h3, .${scopeClass} h4, .${scopeClass} h5, .${scopeClass} h6, .${scopeClass} button, .${scopeClass} input, .${scopeClass} textarea, .${scopeClass} select { font-family: inherit; }`;
|
|
46747
47263
|
}
|
|
46748
47264
|
function buildGradientTokens(scopeClass, primary500Hex) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ggui-ai/dev-stack",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Shared local dev engine for the ggui protocol: local UI registry discovery, compile-on-demand, filesystem watcher with SSE, and a read-only HTTP surface for dev tooling. Framework-neutral — agent runtime supervision plugs in via an adapter seam, so no agent SDK is hardcoded.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ggui",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"chokidar": "^4.0.3",
|
|
30
30
|
"esbuild": "^0.25.12",
|
|
31
|
-
"@ggui-ai/
|
|
32
|
-
"@ggui-ai/
|
|
33
|
-
"@ggui-ai/
|
|
31
|
+
"@ggui-ai/agent-runtime": "0.12.0",
|
|
32
|
+
"@ggui-ai/ui-registry": "0.12.0",
|
|
33
|
+
"@ggui-ai/project-config": "0.12.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^24.0.0",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"react-dom": "^19.0.0",
|
|
41
41
|
"typescript": "^5.0.0",
|
|
42
42
|
"vitest": "^3.2.6",
|
|
43
|
-
"@ggui-ai/
|
|
44
|
-
"@ggui-ai/
|
|
45
|
-
"@ggui-ai/wire": "0.
|
|
43
|
+
"@ggui-ai/design": "0.12.0",
|
|
44
|
+
"@ggui-ai/mcp-apps-react": "0.12.0",
|
|
45
|
+
"@ggui-ai/wire": "0.12.0"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|