@syntrologie/runtime-sdk 2.8.0-canary.134 → 2.8.0-canary.136
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.js +2 -2
- package/dist/{chunk-553DI4HR.js → chunk-I236BEB4.js} +5 -3
- package/dist/{chunk-553DI4HR.js.map → chunk-I236BEB4.js.map} +2 -2
- package/dist/{chunk-IK3HDTZ2.js → chunk-NVSX6GGM.js} +2 -2
- package/dist/{chunk-2YUKCCVW.js → chunk-VAGUKLGQ.js} +3 -3
- package/dist/{chunk-2YUKCCVW.js.map → chunk-VAGUKLGQ.js.map} +1 -1
- package/dist/{chunk-PAD665LL.js → chunk-YBZ66SNB.js} +3 -1
- package/dist/chunk-YBZ66SNB.js.map +7 -0
- package/dist/config/schema.d.ts +32 -0
- package/dist/config/schema.js +1 -1
- package/dist/controllers/ThemeController.d.ts +1 -0
- package/dist/index.js +4 -4
- package/dist/react.js +4 -4
- package/dist/smart-canvas.esm.js +4 -4
- package/dist/smart-canvas.esm.js.map +2 -2
- package/dist/smart-canvas.js +11 -5
- package/dist/smart-canvas.js.map +2 -2
- package/dist/smart-canvas.min.js +4 -4
- package/dist/smart-canvas.min.js.map +2 -2
- package/dist/theme/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/schema/canvas-config.schema.json +3 -0
- package/dist/chunk-PAD665LL.js.map +0 -7
- /package/dist/{chunk-IK3HDTZ2.js.map → chunk-NVSX6GGM.js.map} +0 -0
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-NVSX6GGM.js";
|
|
35
|
+
import "../chunk-YBZ66SNB.js";
|
|
36
36
|
import "../chunk-4HXPGXUC.js";
|
|
37
37
|
import "../chunk-JMHRHAEL.js";
|
|
38
38
|
export {
|
|
@@ -590,7 +590,8 @@ var darkDefaults = {
|
|
|
590
590
|
width: "clamp(380px, 25vw, 520px)",
|
|
591
591
|
transitionDuration: "300ms",
|
|
592
592
|
transitionEasing: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
593
|
-
transitionFade: "6%"
|
|
593
|
+
transitionFade: "6%",
|
|
594
|
+
padding: "0"
|
|
594
595
|
},
|
|
595
596
|
launcher: {
|
|
596
597
|
background: button.primary.backgroundDefault,
|
|
@@ -673,7 +674,8 @@ var lightDefaults = {
|
|
|
673
674
|
width: "clamp(380px, 25vw, 520px)",
|
|
674
675
|
transitionDuration: "300ms",
|
|
675
676
|
transitionEasing: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
676
|
-
transitionFade: "6%"
|
|
677
|
+
transitionFade: "6%",
|
|
678
|
+
padding: "0"
|
|
677
679
|
},
|
|
678
680
|
launcher: {
|
|
679
681
|
background: brand[3],
|
|
@@ -866,4 +868,4 @@ export {
|
|
|
866
868
|
ThemeProvider,
|
|
867
869
|
useTheme
|
|
868
870
|
};
|
|
869
|
-
//# sourceMappingURL=chunk-
|
|
871
|
+
//# sourceMappingURL=chunk-I236BEB4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../design-system/src/tokens/colors.ts", "../../design-system/src/tokens/panel-shell.ts", "../src/theme/defaultTheme.ts", "../src/theme/ThemeProvider.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * Syntro Design System - Color Tokens\n *\n * This file contains all color tokens from the Figma design system.\n * Colors are organized by scale and semantic meaning.\n *\n * @see https://www.figma.com/design/U0Ol5vM7FQvgPfIgCAgxgb/Design-System\n */\n\n// ============================================================================\n// BASE COLORS\n// ============================================================================\n\nexport const base = {\n white: '#ffffff',\n black: '#000000',\n} as const;\n\n// ============================================================================\n// BRAND COLORS\n// ============================================================================\n\nexport const brand = {\n 0: '#2c0b0a',\n 1: '#5b1715',\n 2: '#89221f',\n 3: '#b72e2a',\n 4: '#d44844',\n 5: '#dd6d69',\n 6: '#e5918f',\n 7: '#eeb6b4',\n 8: '#f6dada',\n 9: '#faebea',\n} as const;\n\n// ============================================================================\n// NEUTRAL COLORS\n// ============================================================================\n\nexport const slateGrey = {\n 0: '#07080a',\n 1: '#0f1318',\n 2: '#0e1114',\n 3: '#1c222a',\n 4: '#2b333f',\n 5: '#394454',\n 6: '#475569',\n 7: '#677384',\n 8: '#87919f',\n 9: '#a8afba',\n 10: '#cbd0d7',\n 11: '#e8eaee',\n 12: '#f6f7f9',\n} as const;\n\n// ============================================================================\n// SEMANTIC COLOR SCALES\n// ============================================================================\n\nexport const green = {\n 0: '#07230a',\n 1: '#0e4514',\n 2: '#16681e',\n 3: '#1d8a28',\n 4: '#24ad32',\n 5: '#4fbd5a',\n 6: '#7acd82',\n 7: '#a5deab',\n 8: '#d0eed3',\n 9: '#e5f6e7',\n} as const;\n\nexport const yellow = {\n 0: '#301f09',\n 1: '#5f3e12',\n 2: '#8f5e1b',\n 3: '#be7d24',\n 4: '#ee9c2d',\n 5: '#f1b057',\n 6: '#f5c481',\n 7: '#f8d7ab',\n 8: '#fcebd5',\n 9: '#fdf5ea',\n} as const;\n\nexport const red = {\n 0: '#330707',\n 1: '#660f0e',\n 2: '#991616',\n 3: '#cc1e1d',\n 4: '#ff2524',\n 5: '#ff5150',\n 6: '#ff7c7c',\n 7: '#ffa8a7',\n 8: '#ffd3d3',\n 9: '#ffe9e9',\n} as const;\n\nexport const blue = {\n 0: '#051533',\n 1: '#0a2a66',\n 2: '#0f3f98',\n 3: '#1454cb',\n 4: '#1969fe',\n 5: '#4787fe',\n 6: '#75a5fe',\n 7: '#a3c3ff',\n 8: '#d1e1ff',\n 9: '#e8f0ff',\n} as const;\n\nexport const orange = {\n 0: '#662500',\n 1: '#993d00',\n 2: '#cc5800',\n 3: '#ff7700',\n 4: '#fea85d',\n 5: '#fec58f',\n 6: '#ffd6ae',\n 7: '#fee6cd',\n 8: '#fff1e1',\n 9: '#fff8f0',\n} as const;\n\nexport const purple = {\n 0: '#151229',\n 1: '#2a2452',\n 2: '#40357c',\n 3: '#5547a5',\n 4: '#6a59ce',\n 5: '#887ad8',\n 6: '#a69be2',\n 7: '#c3bdeb',\n 8: '#e1def5',\n 9: '#f0eefa',\n} as const;\n\nexport const pink = {\n 0: '#37091f',\n 1: '#69123c',\n 2: '#9b1c58',\n 3: '#cd2575',\n 4: '#ff2e92',\n 5: '#ff58a8',\n 6: '#ff82be',\n 7: '#ffabd3',\n 8: '#ffd5e9',\n 9: '#ffeaf4',\n} as const;\n\n// ============================================================================\n// LEGACY COLORS (Being phased out)\n// ============================================================================\n\nexport const legacy = {\n aqua: {\n 0: '#0c5f8d',\n 1: '#146b99',\n 2: '#1d78a6',\n 3: '#2e89b6',\n 4: '#4a9fc4',\n 5: '#6bb4d1',\n 6: '#93cce0',\n 7: '#bddff0',\n 8: '#dceef8',\n 9: '#f2f8fc',\n },\n violet: {\n 0: '#6927da',\n 1: '#7839ee',\n 2: '#875bf7',\n 3: '#a48afb',\n 4: '#c3b4fd',\n 5: '#ddd6fe',\n 6: '#ece9fe',\n 7: '#f5f3ff',\n 8: '#fbfaff',\n },\n fuchsia: {\n 0: '#9f1ab1',\n 1: '#ba24d5',\n 2: '#d444f1',\n 3: '#e478fa',\n 4: '#eeaafd',\n 5: '#f6d0fe',\n 6: '#fbe8ff',\n 7: '#fdf4ff',\n 8: '#fefaff',\n },\n pink: {\n 0: '#a10f5f',\n 1: '#dd2590',\n 2: '#ee46bc',\n 3: '#f670c7',\n 4: '#faa7e0',\n 5: '#fcceee',\n 6: '#fce7f6',\n 7: '#fdf2fa',\n 8: '#fef6fb',\n },\n} as const;\n\n// ============================================================================\n// TEXT TOKENS\n// ============================================================================\n\nexport const text = {\n primary: slateGrey[10],\n secondary: slateGrey[9],\n tertiary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// BACKGROUND TOKENS\n// ============================================================================\n\nexport const background = {\n primary: slateGrey[2],\n secondary: slateGrey[0],\n} as const;\n\n// ============================================================================\n// BORDER TOKENS\n// ============================================================================\n\nexport const border = {\n primary: slateGrey[4],\n secondary: slateGrey[3],\n} as const;\n\n// ============================================================================\n// BUTTON TOKENS\n// ============================================================================\n\nexport const button = {\n primary: {\n text: base.white,\n icon: base.white,\n border: brand[3],\n backgroundDefault: brand[3],\n backgroundHover: brand[2],\n },\n neutral: {\n text: slateGrey[10],\n textHover: base.white,\n icon: slateGrey[10],\n iconHover: base.white,\n border: slateGrey[4],\n background: slateGrey[2],\n },\n link: {\n text: base.white,\n icon: base.white,\n hover: brand[5],\n },\n error: {\n text: red[5],\n hover: red[6],\n },\n success: {\n text: green[5],\n hover: green[6],\n },\n} as const;\n\n// ============================================================================\n// BADGE TOKENS\n// ============================================================================\n\nexport const badge = {\n slateGrey: {\n content: slateGrey[10],\n pillOutline: slateGrey[10],\n borderPrimary: slateGrey[5],\n borderSecondary: slateGrey[5],\n background: slateGrey[3],\n },\n brand: {\n content: brand[9],\n pillOutline: brand[9],\n borderPrimary: brand[6],\n borderSecondary: brand[6],\n background: brand[0],\n },\n red: {\n content: red[8],\n pillOutline: red[4],\n borderPrimary: red[2],\n borderSecondary: red[2],\n background: red[0],\n },\n yellow: {\n content: yellow[8],\n pillOutline: yellow[4],\n borderPrimary: yellow[2],\n borderSecondary: yellow[2],\n background: yellow[0],\n },\n green: {\n content: green[8],\n pillOutline: green[4],\n borderPrimary: green[2],\n borderSecondary: green[2],\n background: green[0],\n },\n purple: {\n content: purple[8],\n pillOutline: purple[4],\n borderPrimary: purple[2],\n borderSecondary: purple[2],\n background: purple[0],\n },\n blue: {\n content: blue[8],\n pillOutline: blue[4],\n borderPrimary: blue[2],\n borderSecondary: blue[2],\n background: blue[0],\n },\n orange: {\n content: orange[8],\n pillOutline: orange[4],\n borderPrimary: orange[2],\n borderSecondary: orange[2],\n background: orange[0],\n },\n pink: {\n content: pink[8],\n pillOutline: pink[4],\n borderPrimary: pink[2],\n borderSecondary: pink[2],\n background: pink[0],\n },\n} as const;\n\n// ============================================================================\n// BADGE BANNER TOKENS\n// ============================================================================\n\nexport const badgeBanner = {\n green: {\n content: green[8],\n border: green[2],\n background: green[0],\n },\n yellow: {\n content: yellow[8],\n border: yellow[2],\n background: yellow[0],\n },\n red: {\n content: red[8],\n border: red[2],\n background: red[0],\n },\n} as const;\n\n// ============================================================================\n// ALERT TOKENS\n// ============================================================================\n\nexport const alert = {\n green: {\n content: green[1],\n background: green[9],\n },\n yellow: {\n content: yellow[1],\n background: yellow[9],\n },\n red: {\n content: red[1],\n background: red[9],\n },\n} as const;\n\n// ============================================================================\n// TAG TOKENS\n// ============================================================================\n\nexport const tag = {\n content: slateGrey[10],\n border: slateGrey[4],\n background: slateGrey[3],\n} as const;\n\n// ============================================================================\n// MENU TOKENS\n// ============================================================================\n\nexport const menu = {\n backgroundDefault: slateGrey[2],\n backgroundHover: slateGrey[1],\n selected: slateGrey[3],\n} as const;\n\n// ============================================================================\n// INPUT/DROPDOWN TOKENS\n// ============================================================================\n\nexport const inputDropdown = {\n background: slateGrey[2],\n icon: slateGrey[10],\n borderDefault: slateGrey[4],\n borderSelected: brand[3],\n textLabel: slateGrey[9],\n textPlaceholder: slateGrey[8],\n textHint: slateGrey[8],\n} as const;\n\nexport const inputField = {\n backgroundDefault: slateGrey[2],\n backgroundDisabled: slateGrey[0],\n textLabel: slateGrey[9],\n textPlaceholder: slateGrey[8],\n textHint: slateGrey[8],\n textError: red[5],\n iconDefault: slateGrey[9],\n iconPlaceholder: slateGrey[10],\n iconError: red[5],\n borderDefault: slateGrey[4],\n borderSelected: brand[3],\n borderError: red[5],\n} as const;\n\n// ============================================================================\n// TOGGLE TOKENS\n// ============================================================================\n\nexport const toggle = {\n handleDefault: base.white,\n handleDisabled: slateGrey[10],\n off: {\n backgroundDefault: slateGrey[4],\n backgroundHover: slateGrey[5],\n backgroundDisabled: slateGrey[4],\n },\n on: {\n backgroundDefault: green[3],\n backgroundHover: green[2],\n backgroundDisabled: slateGrey[4],\n },\n} as const;\n\n// ============================================================================\n// CHECKBOX TOKENS\n// ============================================================================\n\nexport const checkbox = {\n off: {\n backgroundDefault: '#00000000',\n backgroundHover: slateGrey[5],\n backgroundDisabled: slateGrey[2],\n border: slateGrey[6],\n },\n on: {\n backgroundDefault: green[0],\n backgroundHover: green[1],\n backgroundDisabled: slateGrey[2],\n border: green[3],\n },\n} as const;\n\n// ============================================================================\n// AVATAR TOKENS\n// ============================================================================\n\nexport const avatar = {\n content: slateGrey[10],\n background: slateGrey[4],\n} as const;\n\n// ============================================================================\n// PROGRESS BAR & SLIDER TOKENS\n// ============================================================================\n\nexport const progressBarSlider = {\n background: slateGrey[4],\n active: green[3],\n} as const;\n\n// ============================================================================\n// CARD TOKENS\n// ============================================================================\n\nexport const card = {\n background: slateGrey[1],\n content: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// SIDEBAR TOKENS\n// ============================================================================\n\nexport const sidebar = {\n backgroundDefault: slateGrey[1],\n backgroundHover: slateGrey[3],\n backgroundActive: slateGrey[4],\n border: slateGrey[4],\n contentPrimary: slateGrey[10],\n contentSecondary: slateGrey[9],\n contentTertiary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// MODAL TOKENS\n// ============================================================================\n\nexport const modal = {\n background: slateGrey[1],\n content: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// TAB TOKENS\n// ============================================================================\n\nexport const tab = {\n activeBackground: slateGrey[3],\n activeContent: brand[5],\n inactiveContent: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// TABLE TOKENS\n// ============================================================================\n\nexport const table = {\n header: {\n textDefault: slateGrey[9],\n textHover: slateGrey[8],\n backgroundDefault: slateGrey[1],\n },\n border: slateGrey[4],\n cell: {\n textPrimary: slateGrey[10],\n textSecondary: slateGrey[9],\n backgroundDefault: slateGrey[2],\n backgroundHover: slateGrey[1],\n },\n} as const;\n\n// ============================================================================\n// BREADCRUMBS TOKENS\n// ============================================================================\n\nexport const breadcrumbs = {\n textPrimaryDefault: slateGrey[10],\n textPrimaryHover: slateGrey[10],\n textSecondaryDefault: slateGrey[8],\n textSecondaryHover: slateGrey[9],\n iconPrimary: slateGrey[10],\n iconSecondary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// LOADING INDICATOR TOKENS\n// ============================================================================\n\nexport const loadingIndicator = {\n background: green[1],\n active: green[5],\n} as const;\n\n// ============================================================================\n// DATE PICKER TOKENS\n// ============================================================================\n\nexport const datePicker = {\n textDefault: slateGrey[10],\n textSelected: base.white,\n textDisabled: slateGrey[7],\n backgroundDefault: slateGrey[2],\n backgroundMiddle: slateGrey[3],\n backgroundSelected: brand[3],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// MISC TOKENS\n// ============================================================================\n\nexport const scroll = slateGrey[9];\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\nexport const colors = {\n base,\n brand,\n slateGrey,\n green,\n yellow,\n red,\n blue,\n orange,\n purple,\n pink,\n legacy,\n text,\n background,\n border,\n button,\n badge,\n badgeBanner,\n alert,\n tag,\n menu,\n inputDropdown,\n inputField,\n toggle,\n checkbox,\n avatar,\n progressBarSlider,\n card,\n sidebar,\n modal,\n tab,\n table,\n breadcrumbs,\n loadingIndicator,\n datePicker,\n scroll,\n} as const;\n\nexport default colors;\n", "/**\n * Syntro Design System \u2014 Editor Panel Shell Tokens\n *\n * Single source of truth for the floating editor panel's visuals and behavior.\n * Consumed by:\n * - packages/shared-editor-ui/src/components/EditorPanelShell.tsx (React)\n * - packages/shared-editor-ui/src/controllers/PanelShellController.ts (Lit)\n *\n * Any change here updates both React and Lit panels in one step \u2014 no drift.\n */\n\nimport { base, brand } from './colors';\n\n// ============================================================================\n// Panel background & shadows\n// ============================================================================\n\n/** Dark gradient rendered behind the panel contents (backdrop-blur layered on). */\nexport const panelBackground =\n 'linear-gradient(160deg, rgba(7,8,10,0.84) 0%, rgba(14,17,20,0.88) 45%, rgba(15,19,24,0.84) 100%)';\n\n/** Outer shadows for the panel, indexed by dock state. */\nexport const panelShadows = {\n /** Free-floating panel \u2014 shadow all sides. */\n floating: '0 8px 60px rgba(0,0,0,0.5)',\n /** Docked to left \u2014 shadow cast rightward into page. */\n dockedLeft: '20px 0 60px rgba(0,0,0,0.5)',\n /** Docked to right \u2014 shadow cast leftward into page. */\n dockedRight: '-20px 0 60px rgba(0,0,0,0.5)',\n} as const;\n\n/** Backdrop-filter blur radius applied to the panel surface. */\nexport const panelBackdropBlur = '12px';\n\n// ============================================================================\n// FAB (floating action button) visuals\n// ============================================================================\n\nexport const fab = {\n /** Diameter in pixels. */\n size: 56,\n /** Inset from the panel's top-left corner in pixels. */\n inset: 12,\n /** Background color (always the brand black). */\n background: base.black,\n /** Icon / logo color. */\n color: base.white,\n /** Border \u2014 2px brand red ring. */\n border: `2px solid ${brand[3]}`,\n /** Shadow when the panel is open (inner ring for \"active\" state). */\n shadowOpen: '0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)',\n /** Shadow when the panel is closed. */\n shadowClosed: '0 4px 24px rgba(0,0,0,0.6)',\n} as const;\n\n// ============================================================================\n// Behavior: resize, drag, snap\n// ============================================================================\n\nexport const panelBehavior = {\n /** Minimum panel width when resizing or undocked. */\n minWidth: 480,\n /** Minimum panel height when resizing or undocked. */\n minHeight: 400,\n /** Edge thickness of resize handles in pixels. */\n handleSize: 8,\n /** Pixels the FAB must move before a press becomes a drag (vs a click). */\n dragThreshold: 5,\n /** Distance from a viewport edge that triggers edge-dock snapping. */\n snapThreshold: 20,\n} as const;\n\n// ============================================================================\n// Aggregate export\n// ============================================================================\n\nexport const panelShell = {\n background: panelBackground,\n shadows: panelShadows,\n backdropBlur: panelBackdropBlur,\n fab,\n behavior: panelBehavior,\n} as const;\n\nexport default panelShell;\n", "import {\n blue,\n border,\n brand,\n button,\n green,\n red,\n slateGrey,\n text,\n yellow,\n} from '@syntro/design-system/tokens';\n\nimport type { CanvasThemeConfig, CanvasThemeTokens } from './types';\n\n/**\n * Apply alpha transparency to a hex color.\n * Converts a 0-1 alpha value to a 2-digit hex suffix.\n */\nexport function withAlpha(hex: string, alpha: number): string {\n return `${hex}${Math.round(alpha * 255)\n .toString(16)\n .padStart(2, '0')}`;\n}\n\n/**\n * Default dark theme using Syntro Design System tokens\n */\nexport const darkTheme: CanvasThemeTokens = {\n // Brand colors\n colorPrimary: brand[3],\n colorPrimaryHover: brand[4],\n colorPrimaryMuted: brand[0],\n\n // Surface colors (with alpha for glass/vibrancy effects)\n colorBackground: withAlpha(slateGrey[1], 0.95),\n colorBackgroundElevated: withAlpha(slateGrey[3], 0.95),\n colorBackgroundSubtle: withAlpha(slateGrey[0], 0.2),\n colorSurface: withAlpha(slateGrey[4], 0.8),\n colorSurfaceHover: withAlpha(slateGrey[5], 0.8),\n\n // Text colors\n colorText: text.primary,\n colorTextSecondary: text.secondary,\n colorTextMuted: text.tertiary,\n colorTextInverse: slateGrey[1],\n\n // Border colors\n colorBorder: border.primary,\n colorBorderSubtle: border.secondary,\n\n // Semantic colors\n colorSuccess: green[4],\n colorSuccessMuted: green[0],\n colorWarning: yellow[4],\n colorWarningMuted: yellow[0],\n colorError: red[4],\n colorErrorMuted: red[0],\n colorInfo: blue[4],\n colorInfoMuted: blue[0],\n\n // Notification badge\n colorNotification: brand[4],\n colorNotificationMuted: withAlpha(brand[4], 0.4),\n\n // Glass morphism\n glassBackground: withAlpha(slateGrey[1], 0.6),\n glassBackgroundHover: withAlpha(slateGrey[1], 0.7),\n glassBorder: 'rgba(255, 255, 255, 0.08)',\n glassBlur: 'blur(24px)',\n glassSaturate: 'saturate(1.2)',\n\n // Typography (SF Pro stack)\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n fontFamilyMono: \"'SF Mono', 'Fira Code', Consolas, monospace\",\n fontSizeXs: '0.7rem',\n fontSizeSm: '0.8rem',\n fontSizeMd: '0.9rem',\n fontSizeLg: '1rem',\n fontSizeXl: '1.25rem',\n fontSizeXxl: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeightTight: '1.25',\n lineHeightNormal: '1.5',\n lineHeightRelaxed: '1.75',\n\n // Spacing\n spacingXs: '0.25rem',\n spacingSm: '0.5rem',\n spacingMd: '0.75rem',\n spacingLg: '1rem',\n spacingXl: '1.5rem',\n\n // Border radius\n borderRadiusSm: '6px',\n borderRadiusMd: '10px',\n borderRadiusLg: '14px',\n borderRadiusXl: '20px',\n borderRadiusFull: '9999px',\n\n // Shadows\n shadowSm: '0 1px 2px rgba(0, 0, 0, 0.2)',\n shadowMd: '0 2px 12px rgba(0, 0, 0, 0.3)',\n shadowLg: '0 8px 24px rgba(0, 0, 0, 0.4)',\n shadowXl: '0 16px 48px rgba(0, 0, 0, 0.5)',\n\n // Backdrop effects\n backdropBlur: 'blur(20px)',\n backdropSaturate: 'saturate(180%)',\n\n // Animation\n transitionFast: '0.1s ease',\n transitionNormal: '0.25s ease',\n transitionSlow: '0.4s ease',\n};\n\n/**\n * Light theme variant using Syntro Design System tokens\n */\nexport const lightTheme: CanvasThemeTokens = {\n // Brand colors\n colorPrimary: brand[3],\n colorPrimaryHover: brand[2],\n colorPrimaryMuted: withAlpha(brand[5], 0.1),\n\n // Surface colors\n colorBackground: withAlpha(slateGrey[12], 0.95),\n colorBackgroundElevated: withAlpha(slateGrey[11], 0.95),\n colorBackgroundSubtle: withAlpha(slateGrey[0], 0.02),\n colorSurface: withAlpha(slateGrey[11], 0.6),\n colorSurfaceHover: withAlpha(slateGrey[10], 0.6),\n\n // Text colors\n colorText: slateGrey[1],\n colorTextSecondary: slateGrey[6],\n colorTextMuted: slateGrey[8],\n colorTextInverse: slateGrey[12],\n\n // Border colors\n colorBorder: withAlpha(slateGrey[0], 0.12),\n colorBorderSubtle: withAlpha(slateGrey[0], 0.06),\n\n // Semantic colors\n colorSuccess: green[4],\n colorSuccessMuted: withAlpha(green[4], 0.12),\n colorWarning: yellow[4],\n colorWarningMuted: withAlpha(yellow[4], 0.12),\n colorError: red[4],\n colorErrorMuted: withAlpha(red[4], 0.12),\n colorInfo: blue[4],\n colorInfoMuted: withAlpha(blue[4], 0.12),\n\n // Notification badge\n colorNotification: brand[3],\n colorNotificationMuted: withAlpha(brand[3], 0.4),\n\n // Glass morphism\n glassBackground: withAlpha(slateGrey[12], 0.7),\n glassBackgroundHover: withAlpha(slateGrey[12], 0.8),\n glassBorder: 'rgba(0, 0, 0, 0.06)',\n glassBlur: 'blur(24px)',\n glassSaturate: 'saturate(1.2)',\n\n // Typography (same as dark)\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n fontFamilyMono: \"'SF Mono', 'Fira Code', Consolas, monospace\",\n fontSizeXs: '0.7rem',\n fontSizeSm: '0.8rem',\n fontSizeMd: '0.9rem',\n fontSizeLg: '1rem',\n fontSizeXl: '1.25rem',\n fontSizeXxl: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeightTight: '1.25',\n lineHeightNormal: '1.5',\n lineHeightRelaxed: '1.75',\n\n // Spacing (same as dark)\n spacingXs: '0.25rem',\n spacingSm: '0.5rem',\n spacingMd: '0.75rem',\n spacingLg: '1rem',\n spacingXl: '1.5rem',\n\n // Border radius (same as dark)\n borderRadiusSm: '6px',\n borderRadiusMd: '10px',\n borderRadiusLg: '14px',\n borderRadiusXl: '20px',\n borderRadiusFull: '9999px',\n\n // Shadows (lighter for light mode)\n shadowSm: '0 1px 2px rgba(0, 0, 0, 0.08)',\n shadowMd: '0 2px 12px rgba(0, 0, 0, 0.12)',\n shadowLg: '0 8px 24px rgba(0, 0, 0, 0.16)',\n shadowXl: '0 16px 48px rgba(0, 0, 0, 0.2)',\n\n // Backdrop effects\n backdropBlur: 'blur(20px)',\n backdropSaturate: 'saturate(180%)',\n\n // Animation\n transitionFast: '0.1s ease',\n transitionNormal: '0.25s ease',\n transitionSlow: '0.4s ease',\n};\n\n/**\n * Get default theme based on mode\n */\nexport function getDefaultTheme(mode: 'light' | 'dark' = 'dark'): CanvasThemeTokens {\n return mode === 'light' ? lightTheme : darkTheme;\n}\n\n/**\n * Convert theme tokens to CSS custom properties\n */\n// ---------------------------------------------------------------------------\n// Shared utility: camelCase \u2192 kebab-case\n// ---------------------------------------------------------------------------\n\nfunction kebabCase(str: string): string {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n/**\n * Convert theme tokens to CSS custom properties\n */\nexport function themeToCssVariables(theme: CanvasThemeTokens): Record<string, string> {\n const variables: Record<string, string> = {};\n for (const [key, value] of Object.entries(theme)) {\n variables[`--sc-${kebabCase(key)}`] = value;\n }\n return variables;\n}\n\n// ---------------------------------------------------------------------------\n// Default themes (nested by visual element)\n// ---------------------------------------------------------------------------\n\nexport const darkDefaults: Required<CanvasThemeConfig> = {\n mode: 'dark',\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n colorPrimary: brand[3],\n colorPrimaryHover: brand[4],\n borderRadius: '12px',\n canvas: {\n position: 'right',\n layout: 'overlay',\n background: withAlpha(slateGrey[1], 0.6),\n blur: 'blur(24px)',\n border: 'none',\n width: 'clamp(380px, 25vw, 520px)',\n transitionDuration: '300ms',\n transitionEasing: 'cubic-bezier(0.16, 1, 0.3, 1)',\n transitionFade: '6%',\n },\n launcher: {\n background: button.primary.backgroundDefault,\n backgroundHover: button.primary.backgroundHover,\n color: button.primary.icon,\n size: '56px',\n shadow: `0 8px 32px ${withAlpha(slateGrey[0], 0.6)}`,\n borderRadius: '9999px',\n },\n tile: {\n background: withAlpha(slateGrey[1], 0.6),\n backgroundHover: withAlpha(slateGrey[1], 0.7),\n border: '1px solid rgba(255, 255, 255, 0.08)',\n borderRadius: '14px',\n shadow: '0 2px 12px rgba(0, 0, 0, 0.3)',\n titleColor: text.primary,\n textColor: text.secondary,\n iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,\n iconShadow: `0 2px 8px ${brand[3]}40`,\n headerPadding: '0.375rem 0.75rem',\n bodyPadding: '0 0.75rem 0.5rem',\n gap: '0.25rem',\n },\n overlay: {\n background: withAlpha(slateGrey[1], 0.6),\n textColor: text.primary,\n titleColor: text.primary,\n arrowColor: withAlpha(slateGrey[1], 0.6),\n arrowSize: '8px',\n border: 'none',\n borderRadius: '0',\n scrimOpacity: '0',\n highlightRing: `2px solid ${brand[3]}`,\n },\n notification: {\n background: withAlpha(slateGrey[0], 0.95),\n textColor: text.primary,\n textSecondaryColor: text.secondary,\n border: `1px solid ${slateGrey[5]}`,\n borderRadius: '12px',\n successColor: green[4],\n warningColor: yellow[4],\n errorColor: red[4],\n iconBackground: withAlpha(brand[3], 0.15),\n progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[4]})`,\n },\n content: {\n background: withAlpha(slateGrey[3], 0.8),\n backgroundHover: withAlpha(slateGrey[5], 0.6),\n border: `1px solid ${withAlpha(slateGrey[5], 0.5)}`,\n borderRadius: '8px',\n textColor: text.primary,\n textSecondaryColor: text.secondary,\n itemDivider: 'none',\n itemGap: '6px',\n itemPadding: '12px 16px',\n itemFontSize: '15px',\n bodyPadding: '0 16px 12px 16px',\n bodyFontSize: '14px',\n categoryPadding: '8px 4px 4px 4px',\n categoryGap: '4px',\n categoryFontSize: '12px',\n searchBackground: withAlpha(slateGrey[3], 0.8),\n searchColor: text.primary,\n chevronColor: 'currentColor',\n },\n};\n\nexport const lightDefaults: Required<CanvasThemeConfig> = {\n mode: 'light',\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n colorPrimary: brand[3],\n colorPrimaryHover: brand[2],\n borderRadius: '12px',\n canvas: {\n position: 'right',\n layout: 'overlay',\n background: withAlpha(slateGrey[12], 0.7),\n blur: 'blur(24px)',\n border: 'none',\n width: 'clamp(380px, 25vw, 520px)',\n transitionDuration: '300ms',\n transitionEasing: 'cubic-bezier(0.16, 1, 0.3, 1)',\n transitionFade: '6%',\n },\n launcher: {\n background: brand[3],\n backgroundHover: brand[2],\n color: '#ffffff',\n size: '56px',\n shadow: '0 8px 32px rgba(0, 0, 0, 0.15)',\n borderRadius: '9999px',\n },\n tile: {\n background: withAlpha(slateGrey[12], 0.7),\n backgroundHover: withAlpha(slateGrey[12], 0.8),\n border: '1px solid rgba(0, 0, 0, 0.06)',\n borderRadius: '14px',\n shadow: '0 2px 12px rgba(0, 0, 0, 0.12)',\n titleColor: slateGrey[1],\n textColor: slateGrey[6],\n iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,\n iconShadow: `0 2px 8px ${brand[3]}40`,\n headerPadding: '0.375rem 0.75rem',\n bodyPadding: '0 0.75rem 0.5rem',\n gap: '0.25rem',\n },\n overlay: {\n background: withAlpha(slateGrey[12], 0.7),\n textColor: slateGrey[1],\n titleColor: slateGrey[1],\n arrowColor: withAlpha(slateGrey[12], 0.7),\n arrowSize: '8px',\n border: 'none',\n borderRadius: '0',\n scrimOpacity: '0',\n highlightRing: `2px solid ${brand[3]}`,\n },\n notification: {\n background: withAlpha(slateGrey[12], 0.95),\n textColor: slateGrey[1],\n textSecondaryColor: slateGrey[6],\n border: `1px solid ${withAlpha(slateGrey[0], 0.12)}`,\n borderRadius: '12px',\n successColor: green[4],\n warningColor: yellow[4],\n errorColor: red[4],\n iconBackground: withAlpha(brand[3], 0.1),\n progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[2]})`,\n },\n content: {\n background: withAlpha(slateGrey[12], 0.8),\n backgroundHover: withAlpha(slateGrey[11], 0.6),\n border: `1px solid ${slateGrey[11]}`,\n borderRadius: '8px',\n textColor: slateGrey[1],\n textSecondaryColor: slateGrey[6],\n itemDivider: 'none',\n itemGap: '6px',\n itemPadding: '12px 16px',\n itemFontSize: '15px',\n bodyPadding: '0 16px 12px 16px',\n bodyFontSize: '14px',\n categoryPadding: '8px 4px 4px 4px',\n categoryGap: '4px',\n categoryFontSize: '12px',\n searchBackground: slateGrey[12],\n searchColor: slateGrey[1],\n chevronColor: 'currentColor',\n },\n};\n\n// ---------------------------------------------------------------------------\n// Merge: deep-merge customer config on top of defaults\n// ---------------------------------------------------------------------------\n\nexport function mergeThemeConfig(customer: CanvasThemeConfig): Required<CanvasThemeConfig> {\n const base = customer.mode === 'light' ? lightDefaults : darkDefaults;\n return {\n mode: customer.mode ?? base.mode,\n fontFamily: customer.fontFamily ?? base.fontFamily,\n colorPrimary: customer.colorPrimary ?? base.colorPrimary,\n colorPrimaryHover: customer.colorPrimaryHover ?? base.colorPrimaryHover,\n borderRadius: customer.borderRadius ?? base.borderRadius,\n canvas: { ...base.canvas, ...customer.canvas },\n launcher: { ...base.launcher, ...customer.launcher },\n tile: { ...base.tile, ...customer.tile },\n overlay: { ...base.overlay, ...customer.overlay },\n notification: { ...base.notification, ...customer.notification },\n content: { ...base.content, ...customer.content },\n };\n}\n\n// ---------------------------------------------------------------------------\n// 3-layer merge: defaults \u2192 workspace theme \u2192 config theme\n// ---------------------------------------------------------------------------\n\nexport function mergeThemeWithWorkspace(\n workspaceTheme: CanvasThemeConfig,\n configTheme: CanvasThemeConfig\n): Required<CanvasThemeConfig> {\n const mode = configTheme.mode ?? workspaceTheme.mode ?? 'dark';\n const base = mode === 'light' ? lightDefaults : darkDefaults;\n return {\n mode,\n fontFamily: configTheme.fontFamily ?? workspaceTheme.fontFamily ?? base.fontFamily,\n colorPrimary: configTheme.colorPrimary ?? workspaceTheme.colorPrimary ?? base.colorPrimary,\n colorPrimaryHover:\n configTheme.colorPrimaryHover ?? workspaceTheme.colorPrimaryHover ?? base.colorPrimaryHover,\n borderRadius: configTheme.borderRadius ?? workspaceTheme.borderRadius ?? base.borderRadius,\n canvas: { ...base.canvas, ...workspaceTheme.canvas, ...configTheme.canvas },\n launcher: { ...base.launcher, ...workspaceTheme.launcher, ...configTheme.launcher },\n tile: { ...base.tile, ...workspaceTheme.tile, ...configTheme.tile },\n overlay: { ...base.overlay, ...workspaceTheme.overlay, ...configTheme.overlay },\n notification: {\n ...base.notification,\n ...workspaceTheme.notification,\n ...configTheme.notification,\n },\n content: { ...base.content, ...workspaceTheme.content, ...configTheme.content },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Flatten: nested config -> --sc-{element}-{property} CSS variables\n// ---------------------------------------------------------------------------\n\nconst ELEMENT_SECTIONS = [\n 'canvas',\n 'launcher',\n 'tile',\n 'overlay',\n 'notification',\n 'content',\n] as const;\n\nexport function flattenThemeConfig(config: Required<CanvasThemeConfig>): Record<string, string> {\n const vars: Record<string, string> = {};\n if (config.fontFamily) vars['--sc-font-family'] = config.fontFamily;\n if (config.colorPrimary) vars['--sc-color-primary'] = config.colorPrimary;\n if (config.colorPrimaryHover) vars['--sc-color-primary-hover'] = config.colorPrimaryHover;\n if (config.borderRadius) vars['--sc-border-radius'] = config.borderRadius;\n for (const section of ELEMENT_SECTIONS) {\n const sectionConfig = config[section];\n if (!sectionConfig) continue;\n for (const [key, value] of Object.entries(sectionConfig)) {\n if (value !== undefined) {\n vars[`--sc-${section}-${kebabCase(key)}`] = value;\n }\n }\n }\n return vars;\n}\n", "import { createContext, type ReactNode, useContext, useEffect, useMemo } from 'react';\n\nimport { flattenThemeConfig, mergeThemeConfig, mergeThemeWithWorkspace } from './defaultTheme';\nimport type { CanvasThemeConfig } from './types';\n\ninterface ThemeContextValue {\n config: Required<CanvasThemeConfig>;\n mode: 'light' | 'dark';\n cssVariables: Record<string, string>;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n /** Customer theme overrides (nested by visual element) */\n themeConfig?: CanvasThemeConfig;\n /** Workspace-level theme (applied between defaults and config overrides) */\n workspaceTheme?: CanvasThemeConfig;\n shadowRoot?: ShadowRoot | null;\n}\n\n/**\n * Theme provider: config \u2192 merge with defaults \u2192 flatten to CSS vars \u2192 inject into shadow root.\n * When workspaceTheme is provided, uses 3-layer merge: defaults \u2192 workspace \u2192 config.\n * No auto-detection. Fully deterministic.\n */\nexport function ThemeProvider({\n children,\n themeConfig,\n workspaceTheme,\n shadowRoot,\n}: ThemeProviderProps) {\n // Merge customer config with defaults (optionally via workspace layer)\n const merged = useMemo(\n () =>\n workspaceTheme\n ? mergeThemeWithWorkspace(workspaceTheme, themeConfig ?? {})\n : mergeThemeConfig(themeConfig ?? {}),\n [themeConfig, workspaceTheme]\n );\n\n // Flatten to CSS variables\n const cssVariables = useMemo(() => flattenThemeConfig(merged), [merged]);\n\n // Inject CSS variables into shadow root\n useEffect(() => {\n if (!shadowRoot) return;\n\n let styleEl = shadowRoot.querySelector<HTMLStyleElement>('#sc-theme-vars');\n if (!styleEl) {\n styleEl = document.createElement('style');\n styleEl.id = 'sc-theme-vars';\n shadowRoot.insertBefore(styleEl, shadowRoot.firstChild);\n }\n\n const cssRules = Object.entries(cssVariables)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n\n styleEl.textContent = `:host {\\n${cssRules}\\n}`;\n }, [shadowRoot, cssVariables]);\n\n const value: ThemeContextValue = {\n config: merged,\n mode: merged.mode,\n cssVariables,\n };\n\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;\n}\n\n/**\n * Hook to access theme context\n */\nexport function useTheme(): ThemeContextValue {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * Syntro Design System - Color Tokens\n *\n * This file contains all color tokens from the Figma design system.\n * Colors are organized by scale and semantic meaning.\n *\n * @see https://www.figma.com/design/U0Ol5vM7FQvgPfIgCAgxgb/Design-System\n */\n\n// ============================================================================\n// BASE COLORS\n// ============================================================================\n\nexport const base = {\n white: '#ffffff',\n black: '#000000',\n} as const;\n\n// ============================================================================\n// BRAND COLORS\n// ============================================================================\n\nexport const brand = {\n 0: '#2c0b0a',\n 1: '#5b1715',\n 2: '#89221f',\n 3: '#b72e2a',\n 4: '#d44844',\n 5: '#dd6d69',\n 6: '#e5918f',\n 7: '#eeb6b4',\n 8: '#f6dada',\n 9: '#faebea',\n} as const;\n\n// ============================================================================\n// NEUTRAL COLORS\n// ============================================================================\n\nexport const slateGrey = {\n 0: '#07080a',\n 1: '#0f1318',\n 2: '#0e1114',\n 3: '#1c222a',\n 4: '#2b333f',\n 5: '#394454',\n 6: '#475569',\n 7: '#677384',\n 8: '#87919f',\n 9: '#a8afba',\n 10: '#cbd0d7',\n 11: '#e8eaee',\n 12: '#f6f7f9',\n} as const;\n\n// ============================================================================\n// SEMANTIC COLOR SCALES\n// ============================================================================\n\nexport const green = {\n 0: '#07230a',\n 1: '#0e4514',\n 2: '#16681e',\n 3: '#1d8a28',\n 4: '#24ad32',\n 5: '#4fbd5a',\n 6: '#7acd82',\n 7: '#a5deab',\n 8: '#d0eed3',\n 9: '#e5f6e7',\n} as const;\n\nexport const yellow = {\n 0: '#301f09',\n 1: '#5f3e12',\n 2: '#8f5e1b',\n 3: '#be7d24',\n 4: '#ee9c2d',\n 5: '#f1b057',\n 6: '#f5c481',\n 7: '#f8d7ab',\n 8: '#fcebd5',\n 9: '#fdf5ea',\n} as const;\n\nexport const red = {\n 0: '#330707',\n 1: '#660f0e',\n 2: '#991616',\n 3: '#cc1e1d',\n 4: '#ff2524',\n 5: '#ff5150',\n 6: '#ff7c7c',\n 7: '#ffa8a7',\n 8: '#ffd3d3',\n 9: '#ffe9e9',\n} as const;\n\nexport const blue = {\n 0: '#051533',\n 1: '#0a2a66',\n 2: '#0f3f98',\n 3: '#1454cb',\n 4: '#1969fe',\n 5: '#4787fe',\n 6: '#75a5fe',\n 7: '#a3c3ff',\n 8: '#d1e1ff',\n 9: '#e8f0ff',\n} as const;\n\nexport const orange = {\n 0: '#662500',\n 1: '#993d00',\n 2: '#cc5800',\n 3: '#ff7700',\n 4: '#fea85d',\n 5: '#fec58f',\n 6: '#ffd6ae',\n 7: '#fee6cd',\n 8: '#fff1e1',\n 9: '#fff8f0',\n} as const;\n\nexport const purple = {\n 0: '#151229',\n 1: '#2a2452',\n 2: '#40357c',\n 3: '#5547a5',\n 4: '#6a59ce',\n 5: '#887ad8',\n 6: '#a69be2',\n 7: '#c3bdeb',\n 8: '#e1def5',\n 9: '#f0eefa',\n} as const;\n\nexport const pink = {\n 0: '#37091f',\n 1: '#69123c',\n 2: '#9b1c58',\n 3: '#cd2575',\n 4: '#ff2e92',\n 5: '#ff58a8',\n 6: '#ff82be',\n 7: '#ffabd3',\n 8: '#ffd5e9',\n 9: '#ffeaf4',\n} as const;\n\n// ============================================================================\n// LEGACY COLORS (Being phased out)\n// ============================================================================\n\nexport const legacy = {\n aqua: {\n 0: '#0c5f8d',\n 1: '#146b99',\n 2: '#1d78a6',\n 3: '#2e89b6',\n 4: '#4a9fc4',\n 5: '#6bb4d1',\n 6: '#93cce0',\n 7: '#bddff0',\n 8: '#dceef8',\n 9: '#f2f8fc',\n },\n violet: {\n 0: '#6927da',\n 1: '#7839ee',\n 2: '#875bf7',\n 3: '#a48afb',\n 4: '#c3b4fd',\n 5: '#ddd6fe',\n 6: '#ece9fe',\n 7: '#f5f3ff',\n 8: '#fbfaff',\n },\n fuchsia: {\n 0: '#9f1ab1',\n 1: '#ba24d5',\n 2: '#d444f1',\n 3: '#e478fa',\n 4: '#eeaafd',\n 5: '#f6d0fe',\n 6: '#fbe8ff',\n 7: '#fdf4ff',\n 8: '#fefaff',\n },\n pink: {\n 0: '#a10f5f',\n 1: '#dd2590',\n 2: '#ee46bc',\n 3: '#f670c7',\n 4: '#faa7e0',\n 5: '#fcceee',\n 6: '#fce7f6',\n 7: '#fdf2fa',\n 8: '#fef6fb',\n },\n} as const;\n\n// ============================================================================\n// TEXT TOKENS\n// ============================================================================\n\nexport const text = {\n primary: slateGrey[10],\n secondary: slateGrey[9],\n tertiary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// BACKGROUND TOKENS\n// ============================================================================\n\nexport const background = {\n primary: slateGrey[2],\n secondary: slateGrey[0],\n} as const;\n\n// ============================================================================\n// BORDER TOKENS\n// ============================================================================\n\nexport const border = {\n primary: slateGrey[4],\n secondary: slateGrey[3],\n} as const;\n\n// ============================================================================\n// BUTTON TOKENS\n// ============================================================================\n\nexport const button = {\n primary: {\n text: base.white,\n icon: base.white,\n border: brand[3],\n backgroundDefault: brand[3],\n backgroundHover: brand[2],\n },\n neutral: {\n text: slateGrey[10],\n textHover: base.white,\n icon: slateGrey[10],\n iconHover: base.white,\n border: slateGrey[4],\n background: slateGrey[2],\n },\n link: {\n text: base.white,\n icon: base.white,\n hover: brand[5],\n },\n error: {\n text: red[5],\n hover: red[6],\n },\n success: {\n text: green[5],\n hover: green[6],\n },\n} as const;\n\n// ============================================================================\n// BADGE TOKENS\n// ============================================================================\n\nexport const badge = {\n slateGrey: {\n content: slateGrey[10],\n pillOutline: slateGrey[10],\n borderPrimary: slateGrey[5],\n borderSecondary: slateGrey[5],\n background: slateGrey[3],\n },\n brand: {\n content: brand[9],\n pillOutline: brand[9],\n borderPrimary: brand[6],\n borderSecondary: brand[6],\n background: brand[0],\n },\n red: {\n content: red[8],\n pillOutline: red[4],\n borderPrimary: red[2],\n borderSecondary: red[2],\n background: red[0],\n },\n yellow: {\n content: yellow[8],\n pillOutline: yellow[4],\n borderPrimary: yellow[2],\n borderSecondary: yellow[2],\n background: yellow[0],\n },\n green: {\n content: green[8],\n pillOutline: green[4],\n borderPrimary: green[2],\n borderSecondary: green[2],\n background: green[0],\n },\n purple: {\n content: purple[8],\n pillOutline: purple[4],\n borderPrimary: purple[2],\n borderSecondary: purple[2],\n background: purple[0],\n },\n blue: {\n content: blue[8],\n pillOutline: blue[4],\n borderPrimary: blue[2],\n borderSecondary: blue[2],\n background: blue[0],\n },\n orange: {\n content: orange[8],\n pillOutline: orange[4],\n borderPrimary: orange[2],\n borderSecondary: orange[2],\n background: orange[0],\n },\n pink: {\n content: pink[8],\n pillOutline: pink[4],\n borderPrimary: pink[2],\n borderSecondary: pink[2],\n background: pink[0],\n },\n} as const;\n\n// ============================================================================\n// BADGE BANNER TOKENS\n// ============================================================================\n\nexport const badgeBanner = {\n green: {\n content: green[8],\n border: green[2],\n background: green[0],\n },\n yellow: {\n content: yellow[8],\n border: yellow[2],\n background: yellow[0],\n },\n red: {\n content: red[8],\n border: red[2],\n background: red[0],\n },\n} as const;\n\n// ============================================================================\n// ALERT TOKENS\n// ============================================================================\n\nexport const alert = {\n green: {\n content: green[1],\n background: green[9],\n },\n yellow: {\n content: yellow[1],\n background: yellow[9],\n },\n red: {\n content: red[1],\n background: red[9],\n },\n} as const;\n\n// ============================================================================\n// TAG TOKENS\n// ============================================================================\n\nexport const tag = {\n content: slateGrey[10],\n border: slateGrey[4],\n background: slateGrey[3],\n} as const;\n\n// ============================================================================\n// MENU TOKENS\n// ============================================================================\n\nexport const menu = {\n backgroundDefault: slateGrey[2],\n backgroundHover: slateGrey[1],\n selected: slateGrey[3],\n} as const;\n\n// ============================================================================\n// INPUT/DROPDOWN TOKENS\n// ============================================================================\n\nexport const inputDropdown = {\n background: slateGrey[2],\n icon: slateGrey[10],\n borderDefault: slateGrey[4],\n borderSelected: brand[3],\n textLabel: slateGrey[9],\n textPlaceholder: slateGrey[8],\n textHint: slateGrey[8],\n} as const;\n\nexport const inputField = {\n backgroundDefault: slateGrey[2],\n backgroundDisabled: slateGrey[0],\n textLabel: slateGrey[9],\n textPlaceholder: slateGrey[8],\n textHint: slateGrey[8],\n textError: red[5],\n iconDefault: slateGrey[9],\n iconPlaceholder: slateGrey[10],\n iconError: red[5],\n borderDefault: slateGrey[4],\n borderSelected: brand[3],\n borderError: red[5],\n} as const;\n\n// ============================================================================\n// TOGGLE TOKENS\n// ============================================================================\n\nexport const toggle = {\n handleDefault: base.white,\n handleDisabled: slateGrey[10],\n off: {\n backgroundDefault: slateGrey[4],\n backgroundHover: slateGrey[5],\n backgroundDisabled: slateGrey[4],\n },\n on: {\n backgroundDefault: green[3],\n backgroundHover: green[2],\n backgroundDisabled: slateGrey[4],\n },\n} as const;\n\n// ============================================================================\n// CHECKBOX TOKENS\n// ============================================================================\n\nexport const checkbox = {\n off: {\n backgroundDefault: '#00000000',\n backgroundHover: slateGrey[5],\n backgroundDisabled: slateGrey[2],\n border: slateGrey[6],\n },\n on: {\n backgroundDefault: green[0],\n backgroundHover: green[1],\n backgroundDisabled: slateGrey[2],\n border: green[3],\n },\n} as const;\n\n// ============================================================================\n// AVATAR TOKENS\n// ============================================================================\n\nexport const avatar = {\n content: slateGrey[10],\n background: slateGrey[4],\n} as const;\n\n// ============================================================================\n// PROGRESS BAR & SLIDER TOKENS\n// ============================================================================\n\nexport const progressBarSlider = {\n background: slateGrey[4],\n active: green[3],\n} as const;\n\n// ============================================================================\n// CARD TOKENS\n// ============================================================================\n\nexport const card = {\n background: slateGrey[1],\n content: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// SIDEBAR TOKENS\n// ============================================================================\n\nexport const sidebar = {\n backgroundDefault: slateGrey[1],\n backgroundHover: slateGrey[3],\n backgroundActive: slateGrey[4],\n border: slateGrey[4],\n contentPrimary: slateGrey[10],\n contentSecondary: slateGrey[9],\n contentTertiary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// MODAL TOKENS\n// ============================================================================\n\nexport const modal = {\n background: slateGrey[1],\n content: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// TAB TOKENS\n// ============================================================================\n\nexport const tab = {\n activeBackground: slateGrey[3],\n activeContent: brand[5],\n inactiveContent: slateGrey[9],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// TABLE TOKENS\n// ============================================================================\n\nexport const table = {\n header: {\n textDefault: slateGrey[9],\n textHover: slateGrey[8],\n backgroundDefault: slateGrey[1],\n },\n border: slateGrey[4],\n cell: {\n textPrimary: slateGrey[10],\n textSecondary: slateGrey[9],\n backgroundDefault: slateGrey[2],\n backgroundHover: slateGrey[1],\n },\n} as const;\n\n// ============================================================================\n// BREADCRUMBS TOKENS\n// ============================================================================\n\nexport const breadcrumbs = {\n textPrimaryDefault: slateGrey[10],\n textPrimaryHover: slateGrey[10],\n textSecondaryDefault: slateGrey[8],\n textSecondaryHover: slateGrey[9],\n iconPrimary: slateGrey[10],\n iconSecondary: slateGrey[8],\n} as const;\n\n// ============================================================================\n// LOADING INDICATOR TOKENS\n// ============================================================================\n\nexport const loadingIndicator = {\n background: green[1],\n active: green[5],\n} as const;\n\n// ============================================================================\n// DATE PICKER TOKENS\n// ============================================================================\n\nexport const datePicker = {\n textDefault: slateGrey[10],\n textSelected: base.white,\n textDisabled: slateGrey[7],\n backgroundDefault: slateGrey[2],\n backgroundMiddle: slateGrey[3],\n backgroundSelected: brand[3],\n border: slateGrey[4],\n} as const;\n\n// ============================================================================\n// MISC TOKENS\n// ============================================================================\n\nexport const scroll = slateGrey[9];\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\nexport const colors = {\n base,\n brand,\n slateGrey,\n green,\n yellow,\n red,\n blue,\n orange,\n purple,\n pink,\n legacy,\n text,\n background,\n border,\n button,\n badge,\n badgeBanner,\n alert,\n tag,\n menu,\n inputDropdown,\n inputField,\n toggle,\n checkbox,\n avatar,\n progressBarSlider,\n card,\n sidebar,\n modal,\n tab,\n table,\n breadcrumbs,\n loadingIndicator,\n datePicker,\n scroll,\n} as const;\n\nexport default colors;\n", "/**\n * Syntro Design System \u2014 Editor Panel Shell Tokens\n *\n * Single source of truth for the floating editor panel's visuals and behavior.\n * Consumed by:\n * - packages/shared-editor-ui/src/components/EditorPanelShell.tsx (React)\n * - packages/shared-editor-ui/src/controllers/PanelShellController.ts (Lit)\n *\n * Any change here updates both React and Lit panels in one step \u2014 no drift.\n */\n\nimport { base, brand } from './colors';\n\n// ============================================================================\n// Panel background & shadows\n// ============================================================================\n\n/** Dark gradient rendered behind the panel contents (backdrop-blur layered on). */\nexport const panelBackground =\n 'linear-gradient(160deg, rgba(7,8,10,0.84) 0%, rgba(14,17,20,0.88) 45%, rgba(15,19,24,0.84) 100%)';\n\n/** Outer shadows for the panel, indexed by dock state. */\nexport const panelShadows = {\n /** Free-floating panel \u2014 shadow all sides. */\n floating: '0 8px 60px rgba(0,0,0,0.5)',\n /** Docked to left \u2014 shadow cast rightward into page. */\n dockedLeft: '20px 0 60px rgba(0,0,0,0.5)',\n /** Docked to right \u2014 shadow cast leftward into page. */\n dockedRight: '-20px 0 60px rgba(0,0,0,0.5)',\n} as const;\n\n/** Backdrop-filter blur radius applied to the panel surface. */\nexport const panelBackdropBlur = '12px';\n\n// ============================================================================\n// FAB (floating action button) visuals\n// ============================================================================\n\nexport const fab = {\n /** Diameter in pixels. */\n size: 56,\n /** Inset from the panel's top-left corner in pixels. */\n inset: 12,\n /** Background color (always the brand black). */\n background: base.black,\n /** Icon / logo color. */\n color: base.white,\n /** Border \u2014 2px brand red ring. */\n border: `2px solid ${brand[3]}`,\n /** Shadow when the panel is open (inner ring for \"active\" state). */\n shadowOpen: '0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)',\n /** Shadow when the panel is closed. */\n shadowClosed: '0 4px 24px rgba(0,0,0,0.6)',\n} as const;\n\n// ============================================================================\n// Behavior: resize, drag, snap\n// ============================================================================\n\nexport const panelBehavior = {\n /** Minimum panel width when resizing or undocked. */\n minWidth: 480,\n /** Minimum panel height when resizing or undocked. */\n minHeight: 400,\n /** Edge thickness of resize handles in pixels. */\n handleSize: 8,\n /** Pixels the FAB must move before a press becomes a drag (vs a click). */\n dragThreshold: 5,\n /** Distance from a viewport edge that triggers edge-dock snapping. */\n snapThreshold: 20,\n} as const;\n\n// ============================================================================\n// Aggregate export\n// ============================================================================\n\nexport const panelShell = {\n background: panelBackground,\n shadows: panelShadows,\n backdropBlur: panelBackdropBlur,\n fab,\n behavior: panelBehavior,\n} as const;\n\nexport default panelShell;\n", "import {\n blue,\n border,\n brand,\n button,\n green,\n red,\n slateGrey,\n text,\n yellow,\n} from '@syntro/design-system/tokens';\n\nimport type { CanvasThemeConfig, CanvasThemeTokens } from './types';\n\n/**\n * Apply alpha transparency to a hex color.\n * Converts a 0-1 alpha value to a 2-digit hex suffix.\n */\nexport function withAlpha(hex: string, alpha: number): string {\n return `${hex}${Math.round(alpha * 255)\n .toString(16)\n .padStart(2, '0')}`;\n}\n\n/**\n * Default dark theme using Syntro Design System tokens\n */\nexport const darkTheme: CanvasThemeTokens = {\n // Brand colors\n colorPrimary: brand[3],\n colorPrimaryHover: brand[4],\n colorPrimaryMuted: brand[0],\n\n // Surface colors (with alpha for glass/vibrancy effects)\n colorBackground: withAlpha(slateGrey[1], 0.95),\n colorBackgroundElevated: withAlpha(slateGrey[3], 0.95),\n colorBackgroundSubtle: withAlpha(slateGrey[0], 0.2),\n colorSurface: withAlpha(slateGrey[4], 0.8),\n colorSurfaceHover: withAlpha(slateGrey[5], 0.8),\n\n // Text colors\n colorText: text.primary,\n colorTextSecondary: text.secondary,\n colorTextMuted: text.tertiary,\n colorTextInverse: slateGrey[1],\n\n // Border colors\n colorBorder: border.primary,\n colorBorderSubtle: border.secondary,\n\n // Semantic colors\n colorSuccess: green[4],\n colorSuccessMuted: green[0],\n colorWarning: yellow[4],\n colorWarningMuted: yellow[0],\n colorError: red[4],\n colorErrorMuted: red[0],\n colorInfo: blue[4],\n colorInfoMuted: blue[0],\n\n // Notification badge\n colorNotification: brand[4],\n colorNotificationMuted: withAlpha(brand[4], 0.4),\n\n // Glass morphism\n glassBackground: withAlpha(slateGrey[1], 0.6),\n glassBackgroundHover: withAlpha(slateGrey[1], 0.7),\n glassBorder: 'rgba(255, 255, 255, 0.08)',\n glassBlur: 'blur(24px)',\n glassSaturate: 'saturate(1.2)',\n\n // Typography (SF Pro stack)\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n fontFamilyMono: \"'SF Mono', 'Fira Code', Consolas, monospace\",\n fontSizeXs: '0.7rem',\n fontSizeSm: '0.8rem',\n fontSizeMd: '0.9rem',\n fontSizeLg: '1rem',\n fontSizeXl: '1.25rem',\n fontSizeXxl: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeightTight: '1.25',\n lineHeightNormal: '1.5',\n lineHeightRelaxed: '1.75',\n\n // Spacing\n spacingXs: '0.25rem',\n spacingSm: '0.5rem',\n spacingMd: '0.75rem',\n spacingLg: '1rem',\n spacingXl: '1.5rem',\n\n // Border radius\n borderRadiusSm: '6px',\n borderRadiusMd: '10px',\n borderRadiusLg: '14px',\n borderRadiusXl: '20px',\n borderRadiusFull: '9999px',\n\n // Shadows\n shadowSm: '0 1px 2px rgba(0, 0, 0, 0.2)',\n shadowMd: '0 2px 12px rgba(0, 0, 0, 0.3)',\n shadowLg: '0 8px 24px rgba(0, 0, 0, 0.4)',\n shadowXl: '0 16px 48px rgba(0, 0, 0, 0.5)',\n\n // Backdrop effects\n backdropBlur: 'blur(20px)',\n backdropSaturate: 'saturate(180%)',\n\n // Animation\n transitionFast: '0.1s ease',\n transitionNormal: '0.25s ease',\n transitionSlow: '0.4s ease',\n};\n\n/**\n * Light theme variant using Syntro Design System tokens\n */\nexport const lightTheme: CanvasThemeTokens = {\n // Brand colors\n colorPrimary: brand[3],\n colorPrimaryHover: brand[2],\n colorPrimaryMuted: withAlpha(brand[5], 0.1),\n\n // Surface colors\n colorBackground: withAlpha(slateGrey[12], 0.95),\n colorBackgroundElevated: withAlpha(slateGrey[11], 0.95),\n colorBackgroundSubtle: withAlpha(slateGrey[0], 0.02),\n colorSurface: withAlpha(slateGrey[11], 0.6),\n colorSurfaceHover: withAlpha(slateGrey[10], 0.6),\n\n // Text colors\n colorText: slateGrey[1],\n colorTextSecondary: slateGrey[6],\n colorTextMuted: slateGrey[8],\n colorTextInverse: slateGrey[12],\n\n // Border colors\n colorBorder: withAlpha(slateGrey[0], 0.12),\n colorBorderSubtle: withAlpha(slateGrey[0], 0.06),\n\n // Semantic colors\n colorSuccess: green[4],\n colorSuccessMuted: withAlpha(green[4], 0.12),\n colorWarning: yellow[4],\n colorWarningMuted: withAlpha(yellow[4], 0.12),\n colorError: red[4],\n colorErrorMuted: withAlpha(red[4], 0.12),\n colorInfo: blue[4],\n colorInfoMuted: withAlpha(blue[4], 0.12),\n\n // Notification badge\n colorNotification: brand[3],\n colorNotificationMuted: withAlpha(brand[3], 0.4),\n\n // Glass morphism\n glassBackground: withAlpha(slateGrey[12], 0.7),\n glassBackgroundHover: withAlpha(slateGrey[12], 0.8),\n glassBorder: 'rgba(0, 0, 0, 0.06)',\n glassBlur: 'blur(24px)',\n glassSaturate: 'saturate(1.2)',\n\n // Typography (same as dark)\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n fontFamilyMono: \"'SF Mono', 'Fira Code', Consolas, monospace\",\n fontSizeXs: '0.7rem',\n fontSizeSm: '0.8rem',\n fontSizeMd: '0.9rem',\n fontSizeLg: '1rem',\n fontSizeXl: '1.25rem',\n fontSizeXxl: '1.5rem',\n fontWeightNormal: '400',\n fontWeightMedium: '500',\n fontWeightSemibold: '600',\n fontWeightBold: '700',\n lineHeightTight: '1.25',\n lineHeightNormal: '1.5',\n lineHeightRelaxed: '1.75',\n\n // Spacing (same as dark)\n spacingXs: '0.25rem',\n spacingSm: '0.5rem',\n spacingMd: '0.75rem',\n spacingLg: '1rem',\n spacingXl: '1.5rem',\n\n // Border radius (same as dark)\n borderRadiusSm: '6px',\n borderRadiusMd: '10px',\n borderRadiusLg: '14px',\n borderRadiusXl: '20px',\n borderRadiusFull: '9999px',\n\n // Shadows (lighter for light mode)\n shadowSm: '0 1px 2px rgba(0, 0, 0, 0.08)',\n shadowMd: '0 2px 12px rgba(0, 0, 0, 0.12)',\n shadowLg: '0 8px 24px rgba(0, 0, 0, 0.16)',\n shadowXl: '0 16px 48px rgba(0, 0, 0, 0.2)',\n\n // Backdrop effects\n backdropBlur: 'blur(20px)',\n backdropSaturate: 'saturate(180%)',\n\n // Animation\n transitionFast: '0.1s ease',\n transitionNormal: '0.25s ease',\n transitionSlow: '0.4s ease',\n};\n\n/**\n * Get default theme based on mode\n */\nexport function getDefaultTheme(mode: 'light' | 'dark' = 'dark'): CanvasThemeTokens {\n return mode === 'light' ? lightTheme : darkTheme;\n}\n\n/**\n * Convert theme tokens to CSS custom properties\n */\n// ---------------------------------------------------------------------------\n// Shared utility: camelCase \u2192 kebab-case\n// ---------------------------------------------------------------------------\n\nfunction kebabCase(str: string): string {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n/**\n * Convert theme tokens to CSS custom properties\n */\nexport function themeToCssVariables(theme: CanvasThemeTokens): Record<string, string> {\n const variables: Record<string, string> = {};\n for (const [key, value] of Object.entries(theme)) {\n variables[`--sc-${kebabCase(key)}`] = value;\n }\n return variables;\n}\n\n// ---------------------------------------------------------------------------\n// Default themes (nested by visual element)\n// ---------------------------------------------------------------------------\n\nexport const darkDefaults: Required<CanvasThemeConfig> = {\n mode: 'dark',\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n colorPrimary: brand[3],\n colorPrimaryHover: brand[4],\n borderRadius: '12px',\n canvas: {\n position: 'right',\n layout: 'overlay',\n background: withAlpha(slateGrey[1], 0.6),\n blur: 'blur(24px)',\n border: 'none',\n width: 'clamp(380px, 25vw, 520px)',\n transitionDuration: '300ms',\n transitionEasing: 'cubic-bezier(0.16, 1, 0.3, 1)',\n transitionFade: '6%',\n padding: '0',\n },\n launcher: {\n background: button.primary.backgroundDefault,\n backgroundHover: button.primary.backgroundHover,\n color: button.primary.icon,\n size: '56px',\n shadow: `0 8px 32px ${withAlpha(slateGrey[0], 0.6)}`,\n borderRadius: '9999px',\n },\n tile: {\n background: withAlpha(slateGrey[1], 0.6),\n backgroundHover: withAlpha(slateGrey[1], 0.7),\n border: '1px solid rgba(255, 255, 255, 0.08)',\n borderRadius: '14px',\n shadow: '0 2px 12px rgba(0, 0, 0, 0.3)',\n titleColor: text.primary,\n textColor: text.secondary,\n iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,\n iconShadow: `0 2px 8px ${brand[3]}40`,\n headerPadding: '0.375rem 0.75rem',\n bodyPadding: '0 0.75rem 0.5rem',\n gap: '0.25rem',\n },\n overlay: {\n background: withAlpha(slateGrey[1], 0.6),\n textColor: text.primary,\n titleColor: text.primary,\n arrowColor: withAlpha(slateGrey[1], 0.6),\n arrowSize: '8px',\n border: 'none',\n borderRadius: '0',\n scrimOpacity: '0',\n highlightRing: `2px solid ${brand[3]}`,\n },\n notification: {\n background: withAlpha(slateGrey[0], 0.95),\n textColor: text.primary,\n textSecondaryColor: text.secondary,\n border: `1px solid ${slateGrey[5]}`,\n borderRadius: '12px',\n successColor: green[4],\n warningColor: yellow[4],\n errorColor: red[4],\n iconBackground: withAlpha(brand[3], 0.15),\n progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[4]})`,\n },\n content: {\n background: withAlpha(slateGrey[3], 0.8),\n backgroundHover: withAlpha(slateGrey[5], 0.6),\n border: `1px solid ${withAlpha(slateGrey[5], 0.5)}`,\n borderRadius: '8px',\n textColor: text.primary,\n textSecondaryColor: text.secondary,\n itemDivider: 'none',\n itemGap: '6px',\n itemPadding: '12px 16px',\n itemFontSize: '15px',\n bodyPadding: '0 16px 12px 16px',\n bodyFontSize: '14px',\n categoryPadding: '8px 4px 4px 4px',\n categoryGap: '4px',\n categoryFontSize: '12px',\n searchBackground: withAlpha(slateGrey[3], 0.8),\n searchColor: text.primary,\n chevronColor: 'currentColor',\n },\n};\n\nexport const lightDefaults: Required<CanvasThemeConfig> = {\n mode: 'light',\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif\",\n colorPrimary: brand[3],\n colorPrimaryHover: brand[2],\n borderRadius: '12px',\n canvas: {\n position: 'right',\n layout: 'overlay',\n background: withAlpha(slateGrey[12], 0.7),\n blur: 'blur(24px)',\n border: 'none',\n width: 'clamp(380px, 25vw, 520px)',\n transitionDuration: '300ms',\n transitionEasing: 'cubic-bezier(0.16, 1, 0.3, 1)',\n transitionFade: '6%',\n padding: '0',\n },\n launcher: {\n background: brand[3],\n backgroundHover: brand[2],\n color: '#ffffff',\n size: '56px',\n shadow: '0 8px 32px rgba(0, 0, 0, 0.15)',\n borderRadius: '9999px',\n },\n tile: {\n background: withAlpha(slateGrey[12], 0.7),\n backgroundHover: withAlpha(slateGrey[12], 0.8),\n border: '1px solid rgba(0, 0, 0, 0.06)',\n borderRadius: '14px',\n shadow: '0 2px 12px rgba(0, 0, 0, 0.12)',\n titleColor: slateGrey[1],\n textColor: slateGrey[6],\n iconBackground: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,\n iconShadow: `0 2px 8px ${brand[3]}40`,\n headerPadding: '0.375rem 0.75rem',\n bodyPadding: '0 0.75rem 0.5rem',\n gap: '0.25rem',\n },\n overlay: {\n background: withAlpha(slateGrey[12], 0.7),\n textColor: slateGrey[1],\n titleColor: slateGrey[1],\n arrowColor: withAlpha(slateGrey[12], 0.7),\n arrowSize: '8px',\n border: 'none',\n borderRadius: '0',\n scrimOpacity: '0',\n highlightRing: `2px solid ${brand[3]}`,\n },\n notification: {\n background: withAlpha(slateGrey[12], 0.95),\n textColor: slateGrey[1],\n textSecondaryColor: slateGrey[6],\n border: `1px solid ${withAlpha(slateGrey[0], 0.12)}`,\n borderRadius: '12px',\n successColor: green[4],\n warningColor: yellow[4],\n errorColor: red[4],\n iconBackground: withAlpha(brand[3], 0.1),\n progressGradient: `linear-gradient(90deg, ${brand[3]}, ${brand[2]})`,\n },\n content: {\n background: withAlpha(slateGrey[12], 0.8),\n backgroundHover: withAlpha(slateGrey[11], 0.6),\n border: `1px solid ${slateGrey[11]}`,\n borderRadius: '8px',\n textColor: slateGrey[1],\n textSecondaryColor: slateGrey[6],\n itemDivider: 'none',\n itemGap: '6px',\n itemPadding: '12px 16px',\n itemFontSize: '15px',\n bodyPadding: '0 16px 12px 16px',\n bodyFontSize: '14px',\n categoryPadding: '8px 4px 4px 4px',\n categoryGap: '4px',\n categoryFontSize: '12px',\n searchBackground: slateGrey[12],\n searchColor: slateGrey[1],\n chevronColor: 'currentColor',\n },\n};\n\n// ---------------------------------------------------------------------------\n// Merge: deep-merge customer config on top of defaults\n// ---------------------------------------------------------------------------\n\nexport function mergeThemeConfig(customer: CanvasThemeConfig): Required<CanvasThemeConfig> {\n const base = customer.mode === 'light' ? lightDefaults : darkDefaults;\n return {\n mode: customer.mode ?? base.mode,\n fontFamily: customer.fontFamily ?? base.fontFamily,\n colorPrimary: customer.colorPrimary ?? base.colorPrimary,\n colorPrimaryHover: customer.colorPrimaryHover ?? base.colorPrimaryHover,\n borderRadius: customer.borderRadius ?? base.borderRadius,\n canvas: { ...base.canvas, ...customer.canvas },\n launcher: { ...base.launcher, ...customer.launcher },\n tile: { ...base.tile, ...customer.tile },\n overlay: { ...base.overlay, ...customer.overlay },\n notification: { ...base.notification, ...customer.notification },\n content: { ...base.content, ...customer.content },\n };\n}\n\n// ---------------------------------------------------------------------------\n// 3-layer merge: defaults \u2192 workspace theme \u2192 config theme\n// ---------------------------------------------------------------------------\n\nexport function mergeThemeWithWorkspace(\n workspaceTheme: CanvasThemeConfig,\n configTheme: CanvasThemeConfig\n): Required<CanvasThemeConfig> {\n const mode = configTheme.mode ?? workspaceTheme.mode ?? 'dark';\n const base = mode === 'light' ? lightDefaults : darkDefaults;\n return {\n mode,\n fontFamily: configTheme.fontFamily ?? workspaceTheme.fontFamily ?? base.fontFamily,\n colorPrimary: configTheme.colorPrimary ?? workspaceTheme.colorPrimary ?? base.colorPrimary,\n colorPrimaryHover:\n configTheme.colorPrimaryHover ?? workspaceTheme.colorPrimaryHover ?? base.colorPrimaryHover,\n borderRadius: configTheme.borderRadius ?? workspaceTheme.borderRadius ?? base.borderRadius,\n canvas: { ...base.canvas, ...workspaceTheme.canvas, ...configTheme.canvas },\n launcher: { ...base.launcher, ...workspaceTheme.launcher, ...configTheme.launcher },\n tile: { ...base.tile, ...workspaceTheme.tile, ...configTheme.tile },\n overlay: { ...base.overlay, ...workspaceTheme.overlay, ...configTheme.overlay },\n notification: {\n ...base.notification,\n ...workspaceTheme.notification,\n ...configTheme.notification,\n },\n content: { ...base.content, ...workspaceTheme.content, ...configTheme.content },\n };\n}\n\n// ---------------------------------------------------------------------------\n// Flatten: nested config -> --sc-{element}-{property} CSS variables\n// ---------------------------------------------------------------------------\n\nconst ELEMENT_SECTIONS = [\n 'canvas',\n 'launcher',\n 'tile',\n 'overlay',\n 'notification',\n 'content',\n] as const;\n\nexport function flattenThemeConfig(config: Required<CanvasThemeConfig>): Record<string, string> {\n const vars: Record<string, string> = {};\n if (config.fontFamily) vars['--sc-font-family'] = config.fontFamily;\n if (config.colorPrimary) vars['--sc-color-primary'] = config.colorPrimary;\n if (config.colorPrimaryHover) vars['--sc-color-primary-hover'] = config.colorPrimaryHover;\n if (config.borderRadius) vars['--sc-border-radius'] = config.borderRadius;\n for (const section of ELEMENT_SECTIONS) {\n const sectionConfig = config[section];\n if (!sectionConfig) continue;\n for (const [key, value] of Object.entries(sectionConfig)) {\n if (value !== undefined) {\n vars[`--sc-${section}-${kebabCase(key)}`] = value;\n }\n }\n }\n return vars;\n}\n", "import { createContext, type ReactNode, useContext, useEffect, useMemo } from 'react';\n\nimport { flattenThemeConfig, mergeThemeConfig, mergeThemeWithWorkspace } from './defaultTheme';\nimport type { CanvasThemeConfig } from './types';\n\ninterface ThemeContextValue {\n config: Required<CanvasThemeConfig>;\n mode: 'light' | 'dark';\n cssVariables: Record<string, string>;\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n /** Customer theme overrides (nested by visual element) */\n themeConfig?: CanvasThemeConfig;\n /** Workspace-level theme (applied between defaults and config overrides) */\n workspaceTheme?: CanvasThemeConfig;\n shadowRoot?: ShadowRoot | null;\n}\n\n/**\n * Theme provider: config \u2192 merge with defaults \u2192 flatten to CSS vars \u2192 inject into shadow root.\n * When workspaceTheme is provided, uses 3-layer merge: defaults \u2192 workspace \u2192 config.\n * No auto-detection. Fully deterministic.\n */\nexport function ThemeProvider({\n children,\n themeConfig,\n workspaceTheme,\n shadowRoot,\n}: ThemeProviderProps) {\n // Merge customer config with defaults (optionally via workspace layer)\n const merged = useMemo(\n () =>\n workspaceTheme\n ? mergeThemeWithWorkspace(workspaceTheme, themeConfig ?? {})\n : mergeThemeConfig(themeConfig ?? {}),\n [themeConfig, workspaceTheme]\n );\n\n // Flatten to CSS variables\n const cssVariables = useMemo(() => flattenThemeConfig(merged), [merged]);\n\n // Inject CSS variables into shadow root\n useEffect(() => {\n if (!shadowRoot) return;\n\n let styleEl = shadowRoot.querySelector<HTMLStyleElement>('#sc-theme-vars');\n if (!styleEl) {\n styleEl = document.createElement('style');\n styleEl.id = 'sc-theme-vars';\n shadowRoot.insertBefore(styleEl, shadowRoot.firstChild);\n }\n\n const cssRules = Object.entries(cssVariables)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n\n styleEl.textContent = `:host {\\n${cssRules}\\n}`;\n }, [shadowRoot, cssVariables]);\n\n const value: ThemeContextValue = {\n config: merged,\n mode: merged.mode,\n cssVariables,\n };\n\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;\n}\n\n/**\n * Hook to access theme context\n */\nexport function useTheme(): ThemeContextValue {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["base", "value"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NotificationDeepLinkZ
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YBZ66SNB.js";
|
|
4
4
|
import {
|
|
5
5
|
TriggerWhenZ
|
|
6
6
|
} from "./chunk-4HXPGXUC.js";
|
|
@@ -249,4 +249,4 @@ export {
|
|
|
249
249
|
TourZ,
|
|
250
250
|
coreActionStepSchemas
|
|
251
251
|
};
|
|
252
|
-
//# sourceMappingURL=chunk-
|
|
252
|
+
//# sourceMappingURL=chunk-NVSX6GGM.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ThemeProvider,
|
|
3
3
|
blue,
|
|
4
4
|
useTheme
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-I236BEB4.js";
|
|
6
6
|
import {
|
|
7
7
|
__privateAdd,
|
|
8
8
|
__privateGet,
|
|
@@ -3639,7 +3639,7 @@ function getAntiFlickerSnippet(config = {}) {
|
|
|
3639
3639
|
}
|
|
3640
3640
|
|
|
3641
3641
|
// src/version.ts
|
|
3642
|
-
var SDK_VERSION = "2.8.0-canary.
|
|
3642
|
+
var SDK_VERSION = "2.8.0-canary.136";
|
|
3643
3643
|
|
|
3644
3644
|
// src/types.ts
|
|
3645
3645
|
var SDK_SCHEMA_VERSION = "2.0";
|
|
@@ -12724,4 +12724,4 @@ export {
|
|
|
12724
12724
|
encodeToken,
|
|
12725
12725
|
Syntro
|
|
12726
12726
|
};
|
|
12727
|
-
//# sourceMappingURL=chunk-
|
|
12727
|
+
//# sourceMappingURL=chunk-VAGUKLGQ.js.map
|