@syntrologie/runtime-sdk 2.4.0-canary.21 → 2.4.0-canary.23
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/actions/schema.d.ts +3603 -36279
- package/dist/actions/schema.js +2 -2
- package/dist/{chunk-2UYZ5DWI.js → chunk-5SKKLUOS.js} +42 -4
- package/dist/chunk-5SKKLUOS.js.map +7 -0
- package/dist/{chunk-IPU3WVPY.js → chunk-FFIHKDHW.js} +217 -32
- package/dist/chunk-FFIHKDHW.js.map +7 -0
- package/dist/{chunk-HF3D7YFQ.js → chunk-MCX3AKSH.js} +21 -23
- package/dist/chunk-MCX3AKSH.js.map +7 -0
- package/dist/components/ShadowCanvasOverlay.d.ts +2 -1
- package/dist/config/schema.d.ts +890 -96
- package/dist/config/schema.js +3 -1
- package/dist/hooks/useShadowCanvasConfig.d.ts +3 -1
- package/dist/index.js +65 -64
- package/dist/index.js.map +2 -2
- package/dist/react.js +3 -3
- package/dist/smart-canvas.esm.js +62 -47
- package/dist/smart-canvas.esm.js.map +3 -3
- package/dist/smart-canvas.js +334 -113
- package/dist/smart-canvas.js.map +3 -3
- package/dist/smart-canvas.min.js +61 -46
- package/dist/smart-canvas.min.js.map +3 -3
- package/dist/theme/types.d.ts +2 -1
- package/dist/version.d.ts +1 -1
- package/package.json +9 -8
- package/schema/canvas-config.schema.json +1333 -388
- package/dist/chunk-2UYZ5DWI.js.map +0 -7
- package/dist/chunk-HF3D7YFQ.js.map +0 -7
- package/dist/chunk-IPU3WVPY.js.map +0 -7
package/dist/actions/schema.js
CHANGED
|
@@ -31,8 +31,8 @@ import {
|
|
|
31
31
|
WaitZ,
|
|
32
32
|
WidgetConfigZ,
|
|
33
33
|
coreActionStepSchemas
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-MCX3AKSH.js";
|
|
35
|
+
import "../chunk-5SKKLUOS.js";
|
|
36
36
|
import "../chunk-P5G4KT2U.js";
|
|
37
37
|
export {
|
|
38
38
|
AddClassZ,
|
|
@@ -20,6 +20,8 @@ var TileNotificationRuleZ = z.object({
|
|
|
20
20
|
var TileZ = z.object({
|
|
21
21
|
id: z.string(),
|
|
22
22
|
title: z.string().optional(),
|
|
23
|
+
subtitle: z.string().optional(),
|
|
24
|
+
icon: z.string().optional(),
|
|
23
25
|
priority: z.number().optional(),
|
|
24
26
|
widget: z.string(),
|
|
25
27
|
props: z.record(z.unknown()).optional(),
|
|
@@ -28,6 +30,7 @@ var TileZ = z.object({
|
|
|
28
30
|
}).strict();
|
|
29
31
|
var CanvasElementConfigZ = z.object({
|
|
30
32
|
position: z.enum(["left", "right"]).optional(),
|
|
33
|
+
layout: z.enum(["overlay", "push"]).optional(),
|
|
31
34
|
background: z.string().optional(),
|
|
32
35
|
blur: z.string().optional(),
|
|
33
36
|
border: z.string().optional(),
|
|
@@ -38,7 +41,8 @@ var LauncherElementConfigZ = z.object({
|
|
|
38
41
|
backgroundHover: z.string().optional(),
|
|
39
42
|
color: z.string().optional(),
|
|
40
43
|
size: z.string().optional(),
|
|
41
|
-
shadow: z.string().optional()
|
|
44
|
+
shadow: z.string().optional(),
|
|
45
|
+
borderRadius: z.string().optional()
|
|
42
46
|
});
|
|
43
47
|
var TileElementConfigZ = z.object({
|
|
44
48
|
background: z.string().optional(),
|
|
@@ -49,11 +53,17 @@ var TileElementConfigZ = z.object({
|
|
|
49
53
|
titleColor: z.string().optional(),
|
|
50
54
|
textColor: z.string().optional(),
|
|
51
55
|
iconBackground: z.string().optional(),
|
|
52
|
-
iconShadow: z.string().optional()
|
|
56
|
+
iconShadow: z.string().optional(),
|
|
57
|
+
headerPadding: z.string().optional(),
|
|
58
|
+
bodyPadding: z.string().optional(),
|
|
59
|
+
gap: z.string().optional()
|
|
53
60
|
});
|
|
54
61
|
var OverlayElementConfigZ = z.object({
|
|
55
62
|
background: z.string().optional(),
|
|
56
63
|
textColor: z.string().optional(),
|
|
64
|
+
titleColor: z.string().optional(),
|
|
65
|
+
arrowColor: z.string().optional(),
|
|
66
|
+
arrowSize: z.string().optional(),
|
|
57
67
|
border: z.string().optional(),
|
|
58
68
|
borderRadius: z.string().optional(),
|
|
59
69
|
scrimOpacity: z.string().optional(),
|
|
@@ -71,6 +81,31 @@ var NotificationElementConfigZ = z.object({
|
|
|
71
81
|
iconBackground: z.string().optional(),
|
|
72
82
|
progressGradient: z.string().optional()
|
|
73
83
|
});
|
|
84
|
+
var ContentElementConfigZ = z.object({
|
|
85
|
+
background: z.string().optional(),
|
|
86
|
+
backgroundHover: z.string().optional(),
|
|
87
|
+
border: z.string().optional(),
|
|
88
|
+
borderRadius: z.string().optional(),
|
|
89
|
+
textColor: z.string().optional(),
|
|
90
|
+
textSecondaryColor: z.string().optional(),
|
|
91
|
+
// Accordion layout
|
|
92
|
+
itemDivider: z.string().optional(),
|
|
93
|
+
itemGap: z.string().optional(),
|
|
94
|
+
itemPadding: z.string().optional(),
|
|
95
|
+
itemFontSize: z.string().optional(),
|
|
96
|
+
// Expanded content
|
|
97
|
+
bodyPadding: z.string().optional(),
|
|
98
|
+
bodyFontSize: z.string().optional(),
|
|
99
|
+
// Category headers
|
|
100
|
+
categoryPadding: z.string().optional(),
|
|
101
|
+
categoryGap: z.string().optional(),
|
|
102
|
+
categoryFontSize: z.string().optional(),
|
|
103
|
+
// Search
|
|
104
|
+
searchBackground: z.string().optional(),
|
|
105
|
+
searchColor: z.string().optional(),
|
|
106
|
+
// Chevron
|
|
107
|
+
chevronColor: z.string().optional()
|
|
108
|
+
});
|
|
74
109
|
var CanvasThemeConfigZ = z.object({
|
|
75
110
|
mode: z.enum(["dark", "light"]).optional(),
|
|
76
111
|
fontFamily: z.string().optional(),
|
|
@@ -81,11 +116,13 @@ var CanvasThemeConfigZ = z.object({
|
|
|
81
116
|
launcher: LauncherElementConfigZ.optional(),
|
|
82
117
|
tile: TileElementConfigZ.optional(),
|
|
83
118
|
overlay: OverlayElementConfigZ.optional(),
|
|
84
|
-
notification: NotificationElementConfigZ.optional()
|
|
119
|
+
notification: NotificationElementConfigZ.optional(),
|
|
120
|
+
content: ContentElementConfigZ.optional()
|
|
85
121
|
}).strict();
|
|
86
122
|
var LauncherConfigZ = z.object({
|
|
87
123
|
enabled: z.boolean().optional(),
|
|
88
124
|
label: z.string().optional(),
|
|
125
|
+
icon: z.string().optional(),
|
|
89
126
|
position: z.string().optional(),
|
|
90
127
|
animate: z.boolean().optional(),
|
|
91
128
|
animationStyle: z.enum(["pulse", "bounce", "glow"]).optional(),
|
|
@@ -118,9 +155,10 @@ export {
|
|
|
118
155
|
TileElementConfigZ,
|
|
119
156
|
OverlayElementConfigZ,
|
|
120
157
|
NotificationElementConfigZ,
|
|
158
|
+
ContentElementConfigZ,
|
|
121
159
|
CanvasThemeConfigZ,
|
|
122
160
|
LauncherConfigZ,
|
|
123
161
|
CanvasConfigResponseZ,
|
|
124
162
|
configSchemas
|
|
125
163
|
};
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-5SKKLUOS.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/config/schema.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Zod schemas for canvas configuration types.\n *\n * Single source of truth for tile, theme, launcher, and top-level\n * CanvasConfigResponse shapes. These schemas are converted to JSON Schema\n * during build and merged into the unified canvas-config.schema.json.\n *\n * Design decisions:\n * - `.strict()` on top-level objects \u2192 `additionalProperties: false` in JSON Schema\n * - Element sub-schemas (canvas, tile, etc.) are NOT strict to allow future expansion\n */\n\nimport { z } from 'zod';\nimport { ActivationConfigZ } from '../decisions/schema';\n\n// ============================================================================\n// Tile Notification Sub-Types\n// ============================================================================\n\nconst NotificationDeepLinkZ = z\n .object({\n tileId: z.string(),\n itemId: z.string().optional(),\n })\n .strict();\n\nconst TileNotificationRuleZ = z\n .object({\n on: z.string(),\n title: z.string(),\n body: z.string().optional(),\n icon: z.string().optional(),\n ttl: z.number().optional(),\n cooldown: z.number().optional(),\n deepLink: NotificationDeepLinkZ.optional(),\n })\n .strict();\n\n// ============================================================================\n// Tile\n// ============================================================================\n\nexport const TileZ = z\n .object({\n id: z.string(),\n title: z.string().optional(),\n subtitle: z.string().optional(),\n icon: z.string().optional(),\n priority: z.number().optional(),\n widget: z.string(),\n props: z.record(z.unknown()).optional(),\n activation: ActivationConfigZ.optional(),\n notifications: z.array(TileNotificationRuleZ).optional(),\n })\n .strict();\n\n// ============================================================================\n// Theme Config \u2014 Element Sub-Schemas\n// ============================================================================\n\nexport const CanvasElementConfigZ = z.object({\n position: z.enum(['left', 'right']).optional(),\n layout: z.enum(['overlay', 'push']).optional(),\n background: z.string().optional(),\n blur: z.string().optional(),\n border: z.string().optional(),\n width: z.string().optional(),\n});\n\nexport const LauncherElementConfigZ = z.object({\n background: z.string().optional(),\n backgroundHover: z.string().optional(),\n color: z.string().optional(),\n size: z.string().optional(),\n shadow: z.string().optional(),\n borderRadius: z.string().optional(),\n});\n\nexport const TileElementConfigZ = z.object({\n background: z.string().optional(),\n backgroundHover: z.string().optional(),\n border: z.string().optional(),\n borderRadius: z.string().optional(),\n shadow: z.string().optional(),\n titleColor: z.string().optional(),\n textColor: z.string().optional(),\n iconBackground: z.string().optional(),\n iconShadow: z.string().optional(),\n headerPadding: z.string().optional(),\n bodyPadding: z.string().optional(),\n gap: z.string().optional(),\n});\n\nexport const OverlayElementConfigZ = z.object({\n background: z.string().optional(),\n textColor: z.string().optional(),\n titleColor: z.string().optional(),\n arrowColor: z.string().optional(),\n arrowSize: z.string().optional(),\n border: z.string().optional(),\n borderRadius: z.string().optional(),\n scrimOpacity: z.string().optional(),\n highlightRing: z.string().optional(),\n});\n\nexport const NotificationElementConfigZ = z.object({\n background: z.string().optional(),\n textColor: z.string().optional(),\n textSecondaryColor: z.string().optional(),\n border: z.string().optional(),\n borderRadius: z.string().optional(),\n successColor: z.string().optional(),\n warningColor: z.string().optional(),\n errorColor: z.string().optional(),\n iconBackground: z.string().optional(),\n progressGradient: z.string().optional(),\n});\n\nexport const ContentElementConfigZ = z.object({\n background: z.string().optional(),\n backgroundHover: z.string().optional(),\n border: z.string().optional(),\n borderRadius: z.string().optional(),\n textColor: z.string().optional(),\n textSecondaryColor: z.string().optional(),\n // Accordion layout\n itemDivider: z.string().optional(),\n itemGap: z.string().optional(),\n itemPadding: z.string().optional(),\n itemFontSize: z.string().optional(),\n // Expanded content\n bodyPadding: z.string().optional(),\n bodyFontSize: z.string().optional(),\n // Category headers\n categoryPadding: z.string().optional(),\n categoryGap: z.string().optional(),\n categoryFontSize: z.string().optional(),\n // Search\n searchBackground: z.string().optional(),\n searchColor: z.string().optional(),\n // Chevron\n chevronColor: z.string().optional(),\n});\n\n// ============================================================================\n// Theme Config \u2014 Top-Level\n// ============================================================================\n\nexport const CanvasThemeConfigZ = z\n .object({\n mode: z.enum(['dark', 'light']).optional(),\n fontFamily: z.string().optional(),\n colorPrimary: z.string().optional(),\n colorPrimaryHover: z.string().optional(),\n borderRadius: z.string().optional(),\n canvas: CanvasElementConfigZ.optional(),\n launcher: LauncherElementConfigZ.optional(),\n tile: TileElementConfigZ.optional(),\n overlay: OverlayElementConfigZ.optional(),\n notification: NotificationElementConfigZ.optional(),\n content: ContentElementConfigZ.optional(),\n })\n .strict();\n\n// ============================================================================\n// Launcher Config\n// ============================================================================\n\nexport const LauncherConfigZ = z\n .object({\n enabled: z.boolean().optional(),\n label: z.string().optional(),\n icon: z.string().optional(),\n position: z.string().optional(),\n animate: z.boolean().optional(),\n animationStyle: z.enum(['pulse', 'bounce', 'glow']).optional(),\n notificationCount: z.number().optional(),\n })\n .strict();\n\n// ============================================================================\n// Canvas Config Response (top-level)\n// ============================================================================\n\nexport const CanvasConfigResponseZ = z\n .object({\n schemaVersion: z.string().optional(),\n fetchedAt: z.string().datetime(),\n configVersion: z.string().optional(),\n canvasTitle: z.string().optional(),\n tiles: z.array(TileZ),\n actions: z.array(z.any()),\n theme: CanvasThemeConfigZ.optional(),\n launcher: LauncherConfigZ.optional(),\n verificationSteps: z.array(z.string()).optional(),\n })\n .strict();\n\n// ============================================================================\n// Export: Array for unified schema generation\n// ============================================================================\n\n/**\n * Config schemas for unified JSON Schema generation.\n * The generator imports this array and converts each to a JSON Schema $def.\n */\nexport const configSchemas = [\n { defName: 'tile', schema: TileZ },\n { defName: 'themeConfig', schema: CanvasThemeConfigZ },\n { defName: 'launcherConfig', schema: LauncherConfigZ },\n { defName: 'canvasConfigResponse', schema: CanvasConfigResponseZ },\n];\n\n// ============================================================================\n// Named Exports\n// ============================================================================\n\nexport { NotificationDeepLinkZ, TileNotificationRuleZ };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -2413,7 +2413,7 @@ var executeHighlight = async (action, context) => {
|
|
|
2413
2413
|
};
|
|
2414
2414
|
};
|
|
2415
2415
|
var executePulse = async (action, context) => {
|
|
2416
|
-
var _a2;
|
|
2416
|
+
var _a2, _b, _c;
|
|
2417
2417
|
let anchorEl = context.resolveAnchor(action.anchorId);
|
|
2418
2418
|
if (!anchorEl && context.waitForAnchor) {
|
|
2419
2419
|
anchorEl = await context.waitForAnchor(action.anchorId, 3e3);
|
|
@@ -2423,24 +2423,67 @@ var executePulse = async (action, context) => {
|
|
|
2423
2423
|
return { cleanup: () => {
|
|
2424
2424
|
} };
|
|
2425
2425
|
}
|
|
2426
|
-
const duration = (_a2 = action.duration) != null ? _a2 :
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2426
|
+
const duration = (_a2 = action.duration) != null ? _a2 : 4e3;
|
|
2427
|
+
await new Promise((resolve) => requestAnimationFrame(resolve));
|
|
2428
|
+
const parseHex = (hex) => ({
|
|
2429
|
+
r: parseInt(hex.slice(1, 3), 16),
|
|
2430
|
+
g: parseInt(hex.slice(3, 5), 16),
|
|
2431
|
+
b: parseInt(hex.slice(5, 7), 16)
|
|
2432
|
+
});
|
|
2433
|
+
const fallback = { r: 79, g: 70, b: 229 };
|
|
2434
|
+
let primary = fallback;
|
|
2435
|
+
let secondary = null;
|
|
2436
|
+
try {
|
|
2437
|
+
const styles = getComputedStyle(context.overlayRoot);
|
|
2438
|
+
const pHex = (_b = styles.getPropertyValue("--sc-color-primary")) == null ? void 0 : _b.trim();
|
|
2439
|
+
const sHex = (_c = styles.getPropertyValue("--sc-color-primary-hover")) == null ? void 0 : _c.trim();
|
|
2440
|
+
if ((pHex == null ? void 0 : pHex.startsWith("#")) && pHex.length >= 7) {
|
|
2441
|
+
primary = parseHex(pHex);
|
|
2442
|
+
}
|
|
2443
|
+
if ((sHex == null ? void 0 : sHex.startsWith("#")) && sHex.length >= 7) {
|
|
2444
|
+
secondary = parseHex(sHex);
|
|
2445
|
+
}
|
|
2446
|
+
} catch {
|
|
2447
|
+
}
|
|
2448
|
+
const existing = document.querySelector("[data-syntro-pulse-styles]");
|
|
2449
|
+
if (existing)
|
|
2450
|
+
existing.remove();
|
|
2451
|
+
const style = document.createElement("style");
|
|
2452
|
+
style.setAttribute("data-syntro-pulse-styles", "");
|
|
2453
|
+
const { r: pr, g: pg, b: pb } = primary;
|
|
2454
|
+
if (secondary) {
|
|
2455
|
+
const { r: sr, g: sg, b: sb } = secondary;
|
|
2430
2456
|
style.textContent = `
|
|
2431
2457
|
@keyframes syntro-pulse-anim {
|
|
2432
2458
|
0%, 100% {
|
|
2433
|
-
box-shadow: 0 0 0 0 rgba(
|
|
2459
|
+
box-shadow: 0 0 0 0 rgba(${pr}, ${pg}, ${pb}, 0.35);
|
|
2460
|
+
}
|
|
2461
|
+
25% {
|
|
2462
|
+
box-shadow: 0 0 0 12px rgba(${pr}, ${pg}, ${pb}, 0);
|
|
2434
2463
|
}
|
|
2435
2464
|
50% {
|
|
2436
|
-
box-shadow: 0 0 0
|
|
2465
|
+
box-shadow: 0 0 0 0 rgba(${sr}, ${sg}, ${sb}, 0.35);
|
|
2466
|
+
}
|
|
2467
|
+
75% {
|
|
2468
|
+
box-shadow: 0 0 0 12px rgba(${sr}, ${sg}, ${sb}, 0);
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
`;
|
|
2472
|
+
} else {
|
|
2473
|
+
style.textContent = `
|
|
2474
|
+
@keyframes syntro-pulse-anim {
|
|
2475
|
+
0%, 100% {
|
|
2476
|
+
box-shadow: 0 0 0 0 rgba(${pr}, ${pg}, ${pb}, 0.35);
|
|
2477
|
+
}
|
|
2478
|
+
50% {
|
|
2479
|
+
box-shadow: 0 0 0 12px rgba(${pr}, ${pg}, ${pb}, 0);
|
|
2437
2480
|
}
|
|
2438
2481
|
}
|
|
2439
2482
|
`;
|
|
2440
|
-
document.head.appendChild(style);
|
|
2441
2483
|
}
|
|
2484
|
+
document.head.appendChild(style);
|
|
2442
2485
|
const originalAnimation = anchorEl.style.animation;
|
|
2443
|
-
anchorEl.style.animation = "syntro-pulse-anim
|
|
2486
|
+
anchorEl.style.animation = "syntro-pulse-anim 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite";
|
|
2444
2487
|
anchorEl.setAttribute("data-syntro-pulse", "true");
|
|
2445
2488
|
const timeoutId = setTimeout(() => {
|
|
2446
2489
|
anchorEl.style.animation = originalAnimation;
|
|
@@ -2461,7 +2504,7 @@ var executePulse = async (action, context) => {
|
|
|
2461
2504
|
};
|
|
2462
2505
|
};
|
|
2463
2506
|
var executeBadge = async (action, context) => {
|
|
2464
|
-
var _a2;
|
|
2507
|
+
var _a2, _b;
|
|
2465
2508
|
let anchorEl = context.resolveAnchor(action.anchorId);
|
|
2466
2509
|
if (!anchorEl && context.waitForAnchor) {
|
|
2467
2510
|
anchorEl = await context.waitForAnchor(action.anchorId, 3e3);
|
|
@@ -2471,6 +2514,14 @@ var executeBadge = async (action, context) => {
|
|
|
2471
2514
|
return { cleanup: () => {
|
|
2472
2515
|
} };
|
|
2473
2516
|
}
|
|
2517
|
+
let badgeColor = "#4f46e5";
|
|
2518
|
+
try {
|
|
2519
|
+
const primary = (_a2 = getComputedStyle(context.overlayRoot).getPropertyValue("--sc-color-primary")) == null ? void 0 : _a2.trim();
|
|
2520
|
+
if ((primary == null ? void 0 : primary.startsWith("#")) && primary.length >= 7) {
|
|
2521
|
+
badgeColor = primary;
|
|
2522
|
+
}
|
|
2523
|
+
} catch {
|
|
2524
|
+
}
|
|
2474
2525
|
const badge2 = document.createElement("div");
|
|
2475
2526
|
badge2.textContent = action.content;
|
|
2476
2527
|
badge2.setAttribute("data-syntro-badge", action.anchorId.selector);
|
|
@@ -2481,13 +2532,13 @@ var executeBadge = async (action, context) => {
|
|
|
2481
2532
|
fontWeight: "600",
|
|
2482
2533
|
lineHeight: "1",
|
|
2483
2534
|
color: "white",
|
|
2484
|
-
background:
|
|
2535
|
+
background: badgeColor,
|
|
2485
2536
|
borderRadius: "9999px",
|
|
2486
2537
|
pointerEvents: "none",
|
|
2487
2538
|
zIndex: "2147483646",
|
|
2488
2539
|
whiteSpace: "nowrap"
|
|
2489
2540
|
});
|
|
2490
|
-
const position = (
|
|
2541
|
+
const position = (_b = action.position) != null ? _b : "top-right";
|
|
2491
2542
|
const originalPosition = anchorEl.style.position;
|
|
2492
2543
|
if (getComputedStyle(anchorEl).position === "static") {
|
|
2493
2544
|
anchorEl.style.position = "relative";
|
|
@@ -3240,7 +3291,7 @@ function getAntiFlickerSnippet(config = {}) {
|
|
|
3240
3291
|
}
|
|
3241
3292
|
|
|
3242
3293
|
// src/version.ts
|
|
3243
|
-
var SDK_VERSION = "2.4.0-canary.
|
|
3294
|
+
var SDK_VERSION = "2.4.0-canary.23";
|
|
3244
3295
|
|
|
3245
3296
|
// src/types.ts
|
|
3246
3297
|
var SDK_SCHEMA_VERSION = "2.0";
|
|
@@ -3899,7 +3950,7 @@ function NotificationToastStack({
|
|
|
3899
3950
|
]
|
|
3900
3951
|
}
|
|
3901
3952
|
),
|
|
3902
|
-
/* @__PURE__ */ jsx2("div", { style: { height: "2px", background: "rgba(
|
|
3953
|
+
/* @__PURE__ */ jsx2("div", { style: { height: "2px", background: "rgba(0, 0, 0, 0.08)" }, children: /* @__PURE__ */ jsx2(
|
|
3903
3954
|
"div",
|
|
3904
3955
|
{
|
|
3905
3956
|
className: "syntro-toast-progress",
|
|
@@ -4508,17 +4559,19 @@ var darkDefaults = {
|
|
|
4508
4559
|
borderRadius: "12px",
|
|
4509
4560
|
canvas: {
|
|
4510
4561
|
position: "right",
|
|
4562
|
+
layout: "overlay",
|
|
4511
4563
|
background: withAlpha(slateGrey[1], 0.6),
|
|
4512
4564
|
blur: "blur(24px)",
|
|
4513
4565
|
border: "none",
|
|
4514
|
-
width: "clamp(
|
|
4566
|
+
width: "clamp(380px, 25vw, 520px)"
|
|
4515
4567
|
},
|
|
4516
4568
|
launcher: {
|
|
4517
4569
|
background: button.primary.backgroundDefault,
|
|
4518
4570
|
backgroundHover: button.primary.backgroundHover,
|
|
4519
4571
|
color: button.primary.icon,
|
|
4520
4572
|
size: "56px",
|
|
4521
|
-
shadow: `0 8px 32px ${withAlpha(slateGrey[0], 0.6)}
|
|
4573
|
+
shadow: `0 8px 32px ${withAlpha(slateGrey[0], 0.6)}`,
|
|
4574
|
+
borderRadius: "9999px"
|
|
4522
4575
|
},
|
|
4523
4576
|
tile: {
|
|
4524
4577
|
background: withAlpha(slateGrey[1], 0.6),
|
|
@@ -4529,11 +4582,17 @@ var darkDefaults = {
|
|
|
4529
4582
|
titleColor: text.primary,
|
|
4530
4583
|
textColor: text.secondary,
|
|
4531
4584
|
iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,
|
|
4532
|
-
iconShadow: `0 2px 8px ${brand[3]}40
|
|
4585
|
+
iconShadow: `0 2px 8px ${brand[3]}40`,
|
|
4586
|
+
headerPadding: "0.375rem 0.75rem",
|
|
4587
|
+
bodyPadding: "0 0.75rem 0.5rem",
|
|
4588
|
+
gap: "0.25rem"
|
|
4533
4589
|
},
|
|
4534
4590
|
overlay: {
|
|
4535
4591
|
background: withAlpha(slateGrey[1], 0.6),
|
|
4536
4592
|
textColor: text.primary,
|
|
4593
|
+
titleColor: text.primary,
|
|
4594
|
+
arrowColor: withAlpha(slateGrey[1], 0.6),
|
|
4595
|
+
arrowSize: "8px",
|
|
4537
4596
|
border: "none",
|
|
4538
4597
|
borderRadius: "0",
|
|
4539
4598
|
scrimOpacity: "0",
|
|
@@ -4550,6 +4609,26 @@ var darkDefaults = {
|
|
|
4550
4609
|
errorColor: red[4],
|
|
4551
4610
|
iconBackground: withAlpha(brand[3], 0.15),
|
|
4552
4611
|
progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[4]})`
|
|
4612
|
+
},
|
|
4613
|
+
content: {
|
|
4614
|
+
background: withAlpha(slateGrey[3], 0.8),
|
|
4615
|
+
backgroundHover: withAlpha(slateGrey[5], 0.6),
|
|
4616
|
+
border: `1px solid ${withAlpha(slateGrey[5], 0.5)}`,
|
|
4617
|
+
borderRadius: "8px",
|
|
4618
|
+
textColor: text.primary,
|
|
4619
|
+
textSecondaryColor: text.secondary,
|
|
4620
|
+
itemDivider: "none",
|
|
4621
|
+
itemGap: "6px",
|
|
4622
|
+
itemPadding: "12px 16px",
|
|
4623
|
+
itemFontSize: "15px",
|
|
4624
|
+
bodyPadding: "0 16px 12px 16px",
|
|
4625
|
+
bodyFontSize: "14px",
|
|
4626
|
+
categoryPadding: "8px 4px 4px 4px",
|
|
4627
|
+
categoryGap: "4px",
|
|
4628
|
+
categoryFontSize: "12px",
|
|
4629
|
+
searchBackground: withAlpha(slateGrey[3], 0.8),
|
|
4630
|
+
searchColor: text.primary,
|
|
4631
|
+
chevronColor: "currentColor"
|
|
4553
4632
|
}
|
|
4554
4633
|
};
|
|
4555
4634
|
var lightDefaults = {
|
|
@@ -4560,17 +4639,19 @@ var lightDefaults = {
|
|
|
4560
4639
|
borderRadius: "12px",
|
|
4561
4640
|
canvas: {
|
|
4562
4641
|
position: "right",
|
|
4642
|
+
layout: "overlay",
|
|
4563
4643
|
background: withAlpha(slateGrey[12], 0.7),
|
|
4564
4644
|
blur: "blur(24px)",
|
|
4565
4645
|
border: "none",
|
|
4566
|
-
width: "clamp(
|
|
4646
|
+
width: "clamp(380px, 25vw, 520px)"
|
|
4567
4647
|
},
|
|
4568
4648
|
launcher: {
|
|
4569
4649
|
background: brand[3],
|
|
4570
4650
|
backgroundHover: brand[2],
|
|
4571
4651
|
color: "#ffffff",
|
|
4572
4652
|
size: "56px",
|
|
4573
|
-
shadow: "0 8px 32px rgba(0, 0, 0, 0.15)"
|
|
4653
|
+
shadow: "0 8px 32px rgba(0, 0, 0, 0.15)",
|
|
4654
|
+
borderRadius: "9999px"
|
|
4574
4655
|
},
|
|
4575
4656
|
tile: {
|
|
4576
4657
|
background: withAlpha(slateGrey[12], 0.7),
|
|
@@ -4581,11 +4662,17 @@ var lightDefaults = {
|
|
|
4581
4662
|
titleColor: slateGrey[1],
|
|
4582
4663
|
textColor: slateGrey[6],
|
|
4583
4664
|
iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,
|
|
4584
|
-
iconShadow: `0 2px 8px ${brand[3]}40
|
|
4665
|
+
iconShadow: `0 2px 8px ${brand[3]}40`,
|
|
4666
|
+
headerPadding: "0.375rem 0.75rem",
|
|
4667
|
+
bodyPadding: "0 0.75rem 0.5rem",
|
|
4668
|
+
gap: "0.25rem"
|
|
4585
4669
|
},
|
|
4586
4670
|
overlay: {
|
|
4587
4671
|
background: withAlpha(slateGrey[12], 0.7),
|
|
4588
4672
|
textColor: slateGrey[1],
|
|
4673
|
+
titleColor: slateGrey[1],
|
|
4674
|
+
arrowColor: withAlpha(slateGrey[12], 0.7),
|
|
4675
|
+
arrowSize: "8px",
|
|
4589
4676
|
border: "none",
|
|
4590
4677
|
borderRadius: "0",
|
|
4591
4678
|
scrimOpacity: "0",
|
|
@@ -4602,6 +4689,26 @@ var lightDefaults = {
|
|
|
4602
4689
|
errorColor: red[4],
|
|
4603
4690
|
iconBackground: withAlpha(brand[3], 0.1),
|
|
4604
4691
|
progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[2]})`
|
|
4692
|
+
},
|
|
4693
|
+
content: {
|
|
4694
|
+
background: withAlpha(slateGrey[12], 0.8),
|
|
4695
|
+
backgroundHover: withAlpha(slateGrey[11], 0.6),
|
|
4696
|
+
border: `1px solid ${slateGrey[11]}`,
|
|
4697
|
+
borderRadius: "8px",
|
|
4698
|
+
textColor: slateGrey[1],
|
|
4699
|
+
textSecondaryColor: slateGrey[6],
|
|
4700
|
+
itemDivider: "none",
|
|
4701
|
+
itemGap: "6px",
|
|
4702
|
+
itemPadding: "12px 16px",
|
|
4703
|
+
itemFontSize: "15px",
|
|
4704
|
+
bodyPadding: "0 16px 12px 16px",
|
|
4705
|
+
bodyFontSize: "14px",
|
|
4706
|
+
categoryPadding: "8px 4px 4px 4px",
|
|
4707
|
+
categoryGap: "4px",
|
|
4708
|
+
categoryFontSize: "12px",
|
|
4709
|
+
searchBackground: slateGrey[12],
|
|
4710
|
+
searchColor: slateGrey[1],
|
|
4711
|
+
chevronColor: "currentColor"
|
|
4605
4712
|
}
|
|
4606
4713
|
};
|
|
4607
4714
|
function mergeThemeConfig(customer) {
|
|
@@ -4617,7 +4724,8 @@ function mergeThemeConfig(customer) {
|
|
|
4617
4724
|
launcher: { ...base2.launcher, ...customer.launcher },
|
|
4618
4725
|
tile: { ...base2.tile, ...customer.tile },
|
|
4619
4726
|
overlay: { ...base2.overlay, ...customer.overlay },
|
|
4620
|
-
notification: { ...base2.notification, ...customer.notification }
|
|
4727
|
+
notification: { ...base2.notification, ...customer.notification },
|
|
4728
|
+
content: { ...base2.content, ...customer.content }
|
|
4621
4729
|
};
|
|
4622
4730
|
}
|
|
4623
4731
|
function mergeThemeWithWorkspace(workspaceTheme, configTheme) {
|
|
@@ -4638,10 +4746,18 @@ function mergeThemeWithWorkspace(workspaceTheme, configTheme) {
|
|
|
4638
4746
|
...base2.notification,
|
|
4639
4747
|
...workspaceTheme.notification,
|
|
4640
4748
|
...configTheme.notification
|
|
4641
|
-
}
|
|
4749
|
+
},
|
|
4750
|
+
content: { ...base2.content, ...workspaceTheme.content, ...configTheme.content }
|
|
4642
4751
|
};
|
|
4643
4752
|
}
|
|
4644
|
-
var ELEMENT_SECTIONS = [
|
|
4753
|
+
var ELEMENT_SECTIONS = [
|
|
4754
|
+
"canvas",
|
|
4755
|
+
"launcher",
|
|
4756
|
+
"tile",
|
|
4757
|
+
"overlay",
|
|
4758
|
+
"notification",
|
|
4759
|
+
"content"
|
|
4760
|
+
];
|
|
4645
4761
|
function flattenThemeConfig(config) {
|
|
4646
4762
|
const vars = {};
|
|
4647
4763
|
if (config.fontFamily) vars["--sc-font-family"] = config.fontFamily;
|
|
@@ -4718,6 +4834,7 @@ function ShadowCanvasOverlay({
|
|
|
4718
4834
|
onToggle,
|
|
4719
4835
|
telemetry,
|
|
4720
4836
|
launcherLabel: _launcherLabel = "Adaptives",
|
|
4837
|
+
launcherIcon,
|
|
4721
4838
|
launcherAnimate = false,
|
|
4722
4839
|
launcherAnimationStyle: _launcherAnimationStyle = "pulse",
|
|
4723
4840
|
notificationCount: _notificationCount,
|
|
@@ -4861,7 +4978,38 @@ function ShadowCanvasOverlay({
|
|
|
4861
4978
|
);
|
|
4862
4979
|
const isFocused = displayMode === "focused";
|
|
4863
4980
|
const isRight = config.canvas.position === "right";
|
|
4981
|
+
const isPush = config.canvas.layout === "push";
|
|
4982
|
+
const containerRef = useRef5(null);
|
|
4864
4983
|
const zIndex = 2147483600;
|
|
4984
|
+
useEffect7(() => {
|
|
4985
|
+
var _a3, _b2;
|
|
4986
|
+
if (!isPush) return;
|
|
4987
|
+
const root = document.documentElement;
|
|
4988
|
+
const prop = isRight ? "marginRight" : "marginLeft";
|
|
4989
|
+
const prevTransition = root.style.transition;
|
|
4990
|
+
root.style.transition = `${prop} 340ms cubic-bezier(0.16, 1, 0.3, 1)`;
|
|
4991
|
+
if (isOpen) {
|
|
4992
|
+
const width = (_b2 = (_a3 = containerRef.current) == null ? void 0 : _a3.offsetWidth) != null ? _b2 : 380;
|
|
4993
|
+
root.style[prop] = `${width}px`;
|
|
4994
|
+
} else {
|
|
4995
|
+
root.style[prop] = "0px";
|
|
4996
|
+
}
|
|
4997
|
+
return () => {
|
|
4998
|
+
root.style[prop] = "";
|
|
4999
|
+
root.style.transition = prevTransition;
|
|
5000
|
+
};
|
|
5001
|
+
}, [isPush, isOpen, isRight]);
|
|
5002
|
+
useEffect7(() => {
|
|
5003
|
+
if (!isPush || !isOpen) return;
|
|
5004
|
+
const container = containerRef.current;
|
|
5005
|
+
if (!container) return;
|
|
5006
|
+
const prop = isRight ? "marginRight" : "marginLeft";
|
|
5007
|
+
const observer = new ResizeObserver(([entry]) => {
|
|
5008
|
+
document.documentElement.style[prop] = `${entry.contentRect.width}px`;
|
|
5009
|
+
});
|
|
5010
|
+
observer.observe(container);
|
|
5011
|
+
return () => observer.disconnect();
|
|
5012
|
+
}, [isPush, isOpen, isRight]);
|
|
4865
5013
|
const containerStyle = {
|
|
4866
5014
|
display: "flex",
|
|
4867
5015
|
flexDirection: "column",
|
|
@@ -4909,7 +5057,7 @@ function ShadowCanvasOverlay({
|
|
|
4909
5057
|
zIndex
|
|
4910
5058
|
},
|
|
4911
5059
|
children: /* @__PURE__ */ jsxs3("div", { style: wrapperStyle, children: [
|
|
4912
|
-
/* @__PURE__ */ jsxs3("div", { "data-shadow-canvas-id": "overlay-container", style: containerStyle, children: [
|
|
5060
|
+
/* @__PURE__ */ jsxs3("div", { ref: containerRef, "data-shadow-canvas-id": "overlay-container", style: containerStyle, children: [
|
|
4913
5061
|
isFocused && canvasTitle && /* @__PURE__ */ jsx6("header", { style: { color: "white", padding: "1.5rem 1.5rem 0" }, children: /* @__PURE__ */ jsx6(
|
|
4914
5062
|
"p",
|
|
4915
5063
|
{
|
|
@@ -5034,7 +5182,7 @@ function ShadowCanvasOverlay({
|
|
|
5034
5182
|
justifyContent: "center",
|
|
5035
5183
|
width: "var(--sc-launcher-size, 56px)",
|
|
5036
5184
|
height: "var(--sc-launcher-size, 56px)",
|
|
5037
|
-
borderRadius: "9999px",
|
|
5185
|
+
borderRadius: "var(--sc-launcher-border-radius, 9999px)",
|
|
5038
5186
|
color: "var(--sc-launcher-color)",
|
|
5039
5187
|
boxShadow: "var(--sc-launcher-shadow)",
|
|
5040
5188
|
transition: dragRef.current ? "none" : "transform 0.2s ease, opacity 0.3s ease, background-color 0.2s ease",
|
|
@@ -5061,7 +5209,7 @@ function ShadowCanvasOverlay({
|
|
|
5061
5209
|
}
|
|
5062
5210
|
},
|
|
5063
5211
|
children: [
|
|
5064
|
-
/* @__PURE__ */
|
|
5212
|
+
isOpen ? /* @__PURE__ */ jsxs3(
|
|
5065
5213
|
"svg",
|
|
5066
5214
|
{
|
|
5067
5215
|
width: "24",
|
|
@@ -5075,16 +5223,45 @@ function ShadowCanvasOverlay({
|
|
|
5075
5223
|
"aria-hidden": "true",
|
|
5076
5224
|
focusable: "false",
|
|
5077
5225
|
style: { transition: "transform 200ms ease" },
|
|
5078
|
-
children:
|
|
5226
|
+
children: [
|
|
5079
5227
|
/* @__PURE__ */ jsx6("path", { d: "M18 6L6 18" }),
|
|
5080
5228
|
/* @__PURE__ */ jsx6("path", { d: "M6 6l12 12" })
|
|
5081
|
-
]
|
|
5229
|
+
]
|
|
5230
|
+
}
|
|
5231
|
+
) : launcherIcon ? /* @__PURE__ */ jsx6(
|
|
5232
|
+
"img",
|
|
5233
|
+
{
|
|
5234
|
+
src: launcherIcon,
|
|
5235
|
+
alt: "",
|
|
5236
|
+
"aria-hidden": "true",
|
|
5237
|
+
style: {
|
|
5238
|
+
width: "60%",
|
|
5239
|
+
height: "60%",
|
|
5240
|
+
objectFit: "contain",
|
|
5241
|
+
pointerEvents: "none"
|
|
5242
|
+
}
|
|
5243
|
+
}
|
|
5244
|
+
) : /* @__PURE__ */ jsxs3(
|
|
5245
|
+
"svg",
|
|
5246
|
+
{
|
|
5247
|
+
width: "24",
|
|
5248
|
+
height: "24",
|
|
5249
|
+
viewBox: "0 0 24 24",
|
|
5250
|
+
fill: "none",
|
|
5251
|
+
stroke: "currentColor",
|
|
5252
|
+
strokeWidth: "2",
|
|
5253
|
+
strokeLinecap: "round",
|
|
5254
|
+
strokeLinejoin: "round",
|
|
5255
|
+
"aria-hidden": "true",
|
|
5256
|
+
focusable: "false",
|
|
5257
|
+
style: { transition: "transform 200ms ease" },
|
|
5258
|
+
children: [
|
|
5082
5259
|
/* @__PURE__ */ jsx6("path", { d: "M12 3l1.912 5.813a2 2 0 0 0 1.275 1.275L21 12l-5.813 1.912a2 2 0 0 0-1.275 1.275L12 21l-1.912-5.813a2 2 0 0 0-1.275-1.275L3 12l5.813-1.912a2 2 0 0 0 1.275-1.275L12 3Z" }),
|
|
5083
5260
|
/* @__PURE__ */ jsx6("path", { d: "M5 3v4" }),
|
|
5084
5261
|
/* @__PURE__ */ jsx6("path", { d: "M3 5h4" }),
|
|
5085
5262
|
/* @__PURE__ */ jsx6("path", { d: "M19 17v4" }),
|
|
5086
5263
|
/* @__PURE__ */ jsx6("path", { d: "M17 19h4" })
|
|
5087
|
-
]
|
|
5264
|
+
]
|
|
5088
5265
|
}
|
|
5089
5266
|
),
|
|
5090
5267
|
!isOpen && notifications.length > 0 && /* @__PURE__ */ jsxs3("div", { style: { position: "absolute", top: -2, right: -2, pointerEvents: "none" }, children: [
|
|
@@ -5154,7 +5331,8 @@ function useShadowCanvasConfig({
|
|
|
5154
5331
|
fetcher,
|
|
5155
5332
|
experiments,
|
|
5156
5333
|
runtime: runtime3,
|
|
5157
|
-
pageUrl
|
|
5334
|
+
pageUrl,
|
|
5335
|
+
pollIntervalMs
|
|
5158
5336
|
}) {
|
|
5159
5337
|
const [state, setState] = useState6({
|
|
5160
5338
|
tiles: [],
|
|
@@ -5209,6 +5387,13 @@ function useShadowCanvasConfig({
|
|
|
5209
5387
|
return experiments.onFeaturesChanged(() => load());
|
|
5210
5388
|
}
|
|
5211
5389
|
}, [load, experiments, pageUrl]);
|
|
5390
|
+
useEffect8(() => {
|
|
5391
|
+
if (!pollIntervalMs) return;
|
|
5392
|
+
const id = setInterval(() => {
|
|
5393
|
+
load();
|
|
5394
|
+
}, pollIntervalMs);
|
|
5395
|
+
return () => clearInterval(id);
|
|
5396
|
+
}, [load, pollIntervalMs]);
|
|
5212
5397
|
return useMemo5(() => state, [state]);
|
|
5213
5398
|
}
|
|
5214
5399
|
|
|
@@ -8374,7 +8559,7 @@ function evaluateCondition(condition, evalContext) {
|
|
|
8374
8559
|
case "page_url": {
|
|
8375
8560
|
const { url } = condition;
|
|
8376
8561
|
const currentUrl = context.page.url;
|
|
8377
|
-
const pattern = url.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(
|
|
8562
|
+
const pattern = url.replace(/\*\*/g, "\0GLOBSTAR\0").replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, "[^/]*").replace(/\0GLOBSTAR\0/g, ".*");
|
|
8378
8563
|
const regex = new RegExp(`^${pattern}$`);
|
|
8379
8564
|
return regex.test(currentUrl);
|
|
8380
8565
|
}
|
|
@@ -10933,4 +11118,4 @@ export {
|
|
|
10933
11118
|
encodeToken,
|
|
10934
11119
|
Syntro
|
|
10935
11120
|
};
|
|
10936
|
-
//# sourceMappingURL=chunk-
|
|
11121
|
+
//# sourceMappingURL=chunk-FFIHKDHW.js.map
|