@syntrologie/runtime-sdk 0.2.20 → 1.0.0-canary.1
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/CAPABILITIES.md +756 -284
- package/README.md +310 -68
- package/dist/RuntimeProvider.d.ts +51 -0
- package/dist/RuntimeProvider.js +113 -0
- package/dist/RuntimeProvider.js.map +1 -0
- package/dist/SmartCanvasApp.d.ts +16 -10
- package/dist/SmartCanvasApp.js +45 -49
- package/dist/SmartCanvasApp.js.map +1 -1
- package/dist/SmartCanvasElement.d.ts +5 -5
- package/dist/SmartCanvasElement.js +24 -14
- package/dist/SmartCanvasElement.js.map +1 -1
- package/dist/SmartCanvasPortal.d.ts +2 -2
- package/dist/SmartCanvasPortal.js +2 -2
- package/dist/actions/ActionEngine.d.ts +11 -0
- package/dist/actions/ActionEngine.js +274 -0
- package/dist/actions/ActionEngine.js.map +1 -0
- package/dist/actions/executors/index.d.ts +117 -0
- package/dist/actions/executors/index.js +242 -0
- package/dist/actions/executors/index.js.map +1 -0
- package/dist/actions/executors/tour.d.ts +18 -0
- package/dist/actions/executors/tour.js +332 -0
- package/dist/actions/executors/tour.js.map +1 -0
- package/dist/actions/index.d.ts +10 -0
- package/dist/actions/index.js +12 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/types.d.ts +399 -0
- package/dist/actions/types.js +8 -0
- package/dist/actions/types.js.map +1 -0
- package/dist/actions/validation.d.ts +14 -0
- package/dist/actions/validation.js +602 -0
- package/dist/actions/validation.js.map +1 -0
- package/dist/antiFlicker.js +1 -1
- package/dist/api.d.ts +40 -26
- package/dist/api.js +90 -59
- package/dist/api.js.map +1 -1
- package/dist/apps/AppContext.d.ts +31 -0
- package/dist/apps/AppContext.js +93 -0
- package/dist/apps/AppContext.js.map +1 -0
- package/dist/apps/AppLoader.d.ts +84 -0
- package/dist/apps/AppLoader.js +256 -0
- package/dist/apps/AppLoader.js.map +1 -0
- package/dist/apps/AppRegistry.d.ts +102 -0
- package/dist/apps/AppRegistry.js +317 -0
- package/dist/apps/AppRegistry.js.map +1 -0
- package/dist/apps/adaptive-chatbot/index.js +7 -0
- package/dist/apps/adaptive-chatbot/index.js.map +7 -0
- package/dist/apps/examples/gamification-app.example.d.ts +305 -0
- package/dist/apps/examples/gamification-app.example.js +329 -0
- package/dist/apps/examples/gamification-app.example.js.map +1 -0
- package/dist/apps/faq/index.js +11 -0
- package/dist/apps/faq/index.js.map +7 -0
- package/dist/apps/gamification/index.js +2 -0
- package/dist/apps/gamification/index.js.map +7 -0
- package/dist/apps/index.d.ts +15 -0
- package/dist/apps/index.js +17 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/nav/index.js +11 -0
- package/dist/apps/nav/index.js.map +7 -0
- package/dist/apps/types.d.ts +231 -0
- package/dist/apps/types.js +8 -0
- package/dist/apps/types.js.map +1 -0
- package/dist/blocks/data/ComparisonBlock.d.ts +1 -1
- package/dist/blocks/data/ComparisonBlock.js +40 -40
- package/dist/blocks/data/ComparisonBlock.js.map +1 -1
- package/dist/blocks/data/StatsBlock.d.ts +1 -1
- package/dist/blocks/data/StatsBlock.js +41 -41
- package/dist/blocks/data/StatsBlock.js.map +1 -1
- package/dist/blocks/data/index.d.ts +2 -2
- package/dist/blocks/data/index.js +2 -2
- package/dist/blocks/index.d.ts +5 -5
- package/dist/blocks/index.js +29 -29
- package/dist/blocks/index.js.map +1 -1
- package/dist/blocks/interactive/ChecklistBlock.d.ts +1 -1
- package/dist/blocks/interactive/ChecklistBlock.js +60 -60
- package/dist/blocks/interactive/ChecklistBlock.js.map +1 -1
- package/dist/blocks/interactive/RatingBlock.d.ts +1 -1
- package/dist/blocks/interactive/RatingBlock.js +75 -65
- package/dist/blocks/interactive/RatingBlock.js.map +1 -1
- package/dist/blocks/interactive/index.d.ts +2 -2
- package/dist/blocks/interactive/index.js +2 -2
- package/dist/blocks/notification/NotificationBlock.d.ts +2 -2
- package/dist/blocks/notification/NotificationBlock.js +67 -63
- package/dist/blocks/notification/NotificationBlock.js.map +1 -1
- package/dist/blocks/notification/index.d.ts +1 -1
- package/dist/blocks/notification/index.js +1 -1
- package/dist/bootstrap.d.ts +47 -9
- package/dist/bootstrap.js +237 -69
- package/dist/bootstrap.js.map +1 -1
- package/dist/components/ShadowCanvasOverlay.d.ts +6 -6
- package/dist/components/ShadowCanvasOverlay.js +144 -107
- package/dist/components/ShadowCanvasOverlay.js.map +1 -1
- package/dist/components/TileCard.d.ts +5 -5
- package/dist/components/TileCard.js +204 -154
- package/dist/components/TileCard.js.map +1 -1
- package/dist/components/TileWheel.d.ts +3 -3
- package/dist/components/TileWheel.js +7 -7
- package/dist/components/TileWheel.js.map +1 -1
- package/dist/config-validator.d.ts +49 -0
- package/dist/config-validator.js +173 -0
- package/dist/config-validator.js.map +1 -0
- package/dist/configFetcher.d.ts +2 -2
- package/dist/configFetcher.js +20 -8
- package/dist/configFetcher.js.map +1 -1
- package/dist/context/ContextManager.d.ts +66 -0
- package/dist/context/ContextManager.js +268 -0
- package/dist/context/ContextManager.js.map +1 -0
- package/dist/context/index.d.ts +7 -0
- package/dist/context/index.js +7 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/schema.d.ts +360 -0
- package/dist/context/schema.js +50 -0
- package/dist/context/schema.js.map +1 -0
- package/dist/context/types.d.ts +101 -0
- package/dist/context/types.js +8 -0
- package/dist/context/types.js.map +1 -0
- package/dist/decisions/engine.d.ts +43 -0
- package/dist/decisions/engine.js +112 -0
- package/dist/decisions/engine.js.map +1 -0
- package/dist/decisions/index.d.ts +9 -0
- package/dist/decisions/index.js +10 -0
- package/dist/decisions/index.js.map +1 -0
- package/dist/decisions/schema.d.ts +2166 -0
- package/dist/decisions/schema.js +143 -0
- package/dist/decisions/schema.js.map +1 -0
- package/dist/decisions/strategies/rules.d.ts +24 -0
- package/dist/decisions/strategies/rules.js +152 -0
- package/dist/decisions/strategies/rules.js.map +1 -0
- package/dist/decisions/strategies/score.d.ts +10 -0
- package/dist/decisions/strategies/score.js +29 -0
- package/dist/decisions/strategies/score.js.map +1 -0
- package/dist/decisions/types.d.ts +242 -0
- package/dist/decisions/types.js +2 -0
- package/dist/decisions/types.js.map +1 -0
- package/dist/earlyPatcher.d.ts +8 -20
- package/dist/earlyPatcher.js +13 -62
- package/dist/earlyPatcher.js.map +1 -1
- package/dist/editorLoader.d.ts +12 -0
- package/dist/editorLoader.js +132 -48
- package/dist/editorLoader.js.map +1 -1
- package/dist/events/EventBus.d.ts +59 -0
- package/dist/events/EventBus.js +152 -0
- package/dist/events/EventBus.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.js +10 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/normalizers/canvas.d.ts +67 -0
- package/dist/events/normalizers/canvas.js +116 -0
- package/dist/events/normalizers/canvas.js.map +1 -0
- package/dist/events/normalizers/posthog.d.ts +53 -0
- package/dist/events/normalizers/posthog.js +163 -0
- package/dist/events/normalizers/posthog.js.map +1 -0
- package/dist/events/schema.d.ts +70 -0
- package/dist/events/schema.js +30 -0
- package/dist/events/schema.js.map +1 -0
- package/dist/events/types.d.ts +79 -0
- package/dist/events/types.js +49 -0
- package/dist/events/types.js.map +1 -0
- package/dist/experiments/adapters/growthbook.d.ts +4 -4
- package/dist/experiments/adapters/growthbook.js +5 -5
- package/dist/experiments/adapters/growthbook.js.map +1 -1
- package/dist/experiments/index.d.ts +3 -3
- package/dist/experiments/index.js +1 -1
- package/dist/experiments/registry.d.ts +2 -2
- package/dist/experiments/registry.js +2 -2
- package/dist/experiments/types.d.ts +5 -1
- package/dist/fetchers/cdnFetcher.d.ts +1 -1
- package/dist/fetchers/cdnFetcher.js +4 -8
- package/dist/fetchers/cdnFetcher.js.map +1 -1
- package/dist/fetchers/experimentsFetcher.d.ts +2 -2
- package/dist/fetchers/experimentsFetcher.js +7 -7
- package/dist/fetchers/experimentsFetcher.js.map +1 -1
- package/dist/fetchers/index.d.ts +3 -3
- package/dist/fetchers/index.js +2 -2
- package/dist/fetchers/index.js.map +1 -1
- package/dist/fetchers/registry.d.ts +1 -1
- package/dist/fetchers/registry.js +4 -4
- package/dist/fetchers/types.d.ts +1 -1
- package/dist/hooks/useCanvasOverlays.d.ts +8 -5
- package/dist/hooks/useCanvasOverlays.js +66 -17
- package/dist/hooks/useCanvasOverlays.js.map +1 -1
- package/dist/hooks/useHostPatches.d.ts +2 -2
- package/dist/hooks/useHostPatches.js +8 -8
- package/dist/hooks/useHostPatches.js.map +1 -1
- package/dist/hooks/useShadowCanvasConfig.d.ts +9 -9
- package/dist/hooks/useShadowCanvasConfig.js +24 -8
- package/dist/hooks/useShadowCanvasConfig.js.map +1 -1
- package/dist/hostPatcher/core/patcher.d.ts +1 -1
- package/dist/hostPatcher/core/patcher.js +18 -9
- package/dist/hostPatcher/core/patcher.js.map +1 -1
- package/dist/hostPatcher/core/sanitizer.js +24 -3
- package/dist/hostPatcher/core/sanitizer.js.map +1 -1
- package/dist/hostPatcher/policy/defaultPolicy.js +15 -5
- package/dist/hostPatcher/policy/defaultPolicy.js.map +1 -1
- package/dist/hostPatcher/utils/anchors.js +4 -6
- package/dist/hostPatcher/utils/anchors.js.map +1 -1
- package/dist/index.d.ts +34 -21
- package/dist/index.js +46 -19
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +29 -0
- package/dist/logger.js +81 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics/index.d.ts +1 -1
- package/dist/metrics/index.js +1 -1
- package/dist/metrics/sessionMetrics.d.ts +1 -1
- package/dist/metrics/sessionMetrics.js +6 -6
- package/dist/overlays/fetcher.d.ts +2 -2
- package/dist/overlays/fetcher.js +4 -4
- package/dist/overlays/recipeRegistry.js +2 -2
- package/dist/overlays/recipeRegistry.js.map +1 -1
- package/dist/overlays/runtime/anchor/resolve.js +1 -1
- package/dist/overlays/runtime/anchor/resolve.js.map +1 -1
- package/dist/overlays/runtime/index.d.ts +7 -7
- package/dist/overlays/runtime/index.js +7 -7
- package/dist/overlays/runtime/overlay/highlight.js +39 -39
- package/dist/overlays/runtime/overlay/highlight.js.map +1 -1
- package/dist/overlays/runtime/overlay/modal.js +5 -5
- package/dist/overlays/runtime/overlay/modal.js.map +1 -1
- package/dist/overlays/runtime/overlay/root.js +1 -1
- package/dist/overlays/runtime/overlay/runner.js +70 -23
- package/dist/overlays/runtime/overlay/runner.js.map +1 -1
- package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
- package/dist/overlays/runtime/overlay/tooltip.js +10 -10
- package/dist/overlays/runtime/overlay/tooltip.js.map +1 -1
- package/dist/overlays/runtime/utils/dom.js +4 -1
- package/dist/overlays/runtime/utils/dom.js.map +1 -1
- package/dist/overlays/schema.d.ts +98 -98
- package/dist/overlays/schema.js +12 -8
- package/dist/overlays/schema.js.map +1 -1
- package/dist/react.d.ts +7 -7
- package/dist/react.js +4 -4
- package/dist/react.js.map +1 -1
- package/dist/render/RenderContext.d.ts +2 -2
- package/dist/render/RenderContext.js +5 -5
- package/dist/render/RenderContext.js.map +1 -1
- package/dist/render/index.d.ts +3 -3
- package/dist/render/index.js +1 -1
- package/dist/render/types.d.ts +4 -4
- package/dist/runtime.d.ts +110 -0
- package/dist/runtime.js +206 -0
- package/dist/runtime.js.map +1 -0
- package/dist/smart-canvas.esm.js +155 -78
- package/dist/smart-canvas.esm.js.map +4 -4
- package/dist/smart-canvas.js +44390 -37343
- package/dist/smart-canvas.js.map +4 -4
- package/dist/smart-canvas.min.js +156 -78
- package/dist/smart-canvas.min.js.map +4 -4
- package/dist/state/StateStore.d.ts +41 -0
- package/dist/state/StateStore.js +170 -0
- package/dist/state/StateStore.js.map +1 -0
- package/dist/state/helpers/cooldowns.d.ts +7 -0
- package/dist/state/helpers/cooldowns.js +31 -0
- package/dist/state/helpers/cooldowns.js.map +1 -0
- package/dist/state/helpers/dismissals.d.ts +7 -0
- package/dist/state/helpers/dismissals.js +34 -0
- package/dist/state/helpers/dismissals.js.map +1 -0
- package/dist/state/helpers/frequency.d.ts +8 -0
- package/dist/state/helpers/frequency.js +43 -0
- package/dist/state/helpers/frequency.js.map +1 -0
- package/dist/state/index.d.ts +7 -0
- package/dist/state/index.js +7 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/schema.d.ts +49 -0
- package/dist/state/schema.js +25 -0
- package/dist/state/schema.js.map +1 -0
- package/dist/state/types.d.ts +137 -0
- package/dist/state/types.js +9 -0
- package/dist/state/types.js.map +1 -0
- package/dist/store/example.d.ts +1 -0
- package/dist/store/example.js +43 -0
- package/dist/store/example.js.map +1 -0
- package/dist/store/mini-effector.d.ts +46 -0
- package/dist/store/mini-effector.js +88 -0
- package/dist/store/mini-effector.js.map +1 -0
- package/dist/surfaces/Surfaces.d.ts +11 -0
- package/dist/surfaces/Surfaces.js +361 -0
- package/dist/surfaces/Surfaces.js.map +1 -0
- package/dist/surfaces/index.d.ts +9 -0
- package/dist/surfaces/index.js +12 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/positioning.d.ts +50 -0
- package/dist/surfaces/positioning.js +228 -0
- package/dist/surfaces/positioning.js.map +1 -0
- package/dist/surfaces/types.d.ts +167 -0
- package/dist/surfaces/types.js +23 -0
- package/dist/surfaces/types.js.map +1 -0
- package/dist/telemetry/adapters/noop.d.ts +12 -0
- package/dist/telemetry/adapters/noop.js +42 -0
- package/dist/telemetry/adapters/noop.js.map +1 -0
- package/dist/telemetry/adapters/posthog.d.ts +9 -3
- package/dist/telemetry/adapters/posthog.js +36 -14
- package/dist/telemetry/adapters/posthog.js.map +1 -1
- package/dist/telemetry/index.d.ts +4 -3
- package/dist/telemetry/index.js +3 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/registry.d.ts +2 -2
- package/dist/telemetry/registry.js +4 -2
- package/dist/telemetry/registry.js.map +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/theme/ThemeProvider.d.ts +2 -2
- package/dist/theme/ThemeProvider.js +21 -21
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/defaultTheme.d.ts +2 -2
- package/dist/theme/defaultTheme.js +111 -111
- package/dist/theme/defaultTheme.js.map +1 -1
- package/dist/theme/extractHostTheme.d.ts +1 -1
- package/dist/theme/extractHostTheme.js +42 -44
- package/dist/theme/extractHostTheme.js.map +1 -1
- package/dist/theme/index.d.ts +5 -5
- package/dist/theme/index.js +3 -3
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/types.d.ts +2 -2
- package/dist/token.d.ts +2 -0
- package/dist/token.js +3 -6
- package/dist/token.js.map +1 -1
- package/dist/types-only.d.ts +32 -0
- package/dist/types-only.js +11 -0
- package/dist/types-only.js.map +1 -0
- package/dist/types.d.ts +95 -54
- package/dist/types.js +15 -2
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +13 -0
- package/dist/version.js +14 -0
- package/dist/version.js.map +1 -0
- package/dist/widgets/WidgetRegistry.d.ts +139 -0
- package/dist/widgets/WidgetRegistry.js +182 -0
- package/dist/widgets/WidgetRegistry.js.map +1 -0
- package/dist/widgets/index.d.ts +7 -0
- package/dist/widgets/index.js +7 -0
- package/dist/widgets/index.js.map +1 -0
- package/package.json +27 -11
- package/schema/canvas-config.schema.json +666 -227
- package/schema/runtime-context.schema.json +127 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { darkTheme, lightTheme } from
|
|
1
|
+
import { darkTheme, lightTheme } from './defaultTheme';
|
|
2
2
|
/**
|
|
3
3
|
* Common CSS variable prefixes used by popular frameworks
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const _CSS_VAR_PATTERNS = [
|
|
6
6
|
// Tailwind
|
|
7
7
|
/^--color-/,
|
|
8
8
|
/^--tw-/,
|
|
@@ -35,7 +35,7 @@ const CSS_VAR_PATTERNS = [
|
|
|
35
35
|
*/
|
|
36
36
|
function extractCssVariables() {
|
|
37
37
|
const variables = {};
|
|
38
|
-
if (typeof document ===
|
|
38
|
+
if (typeof document === 'undefined')
|
|
39
39
|
return variables;
|
|
40
40
|
try {
|
|
41
41
|
const root = document.documentElement;
|
|
@@ -44,9 +44,9 @@ function extractCssVariables() {
|
|
|
44
44
|
for (const sheet of document.styleSheets) {
|
|
45
45
|
try {
|
|
46
46
|
for (const rule of sheet.cssRules) {
|
|
47
|
-
if (rule instanceof CSSStyleRule && rule.selectorText ===
|
|
47
|
+
if (rule instanceof CSSStyleRule && rule.selectorText === ':root') {
|
|
48
48
|
for (const prop of rule.style) {
|
|
49
|
-
if (prop.startsWith(
|
|
49
|
+
if (prop.startsWith('--')) {
|
|
50
50
|
const value = rule.style.getPropertyValue(prop).trim();
|
|
51
51
|
if (value) {
|
|
52
52
|
variables[prop] = value;
|
|
@@ -62,7 +62,7 @@ function extractCssVariables() {
|
|
|
62
62
|
}
|
|
63
63
|
// Also check computed style for inline CSS variables
|
|
64
64
|
for (const prop of computedStyle) {
|
|
65
|
-
if (prop.startsWith(
|
|
65
|
+
if (prop.startsWith('--') && !variables[prop]) {
|
|
66
66
|
const value = computedStyle.getPropertyValue(prop).trim();
|
|
67
67
|
if (value) {
|
|
68
68
|
variables[prop] = value;
|
|
@@ -71,7 +71,7 @@ function extractCssVariables() {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
catch (err) {
|
|
74
|
-
console.warn(
|
|
74
|
+
console.warn('[SmartCanvas] Error extracting CSS variables:', err);
|
|
75
75
|
}
|
|
76
76
|
return variables;
|
|
77
77
|
}
|
|
@@ -82,7 +82,7 @@ function getComputedColor(element, property) {
|
|
|
82
82
|
try {
|
|
83
83
|
const style = getComputedStyle(element);
|
|
84
84
|
const value = style.getPropertyValue(property);
|
|
85
|
-
return value && value !==
|
|
85
|
+
return value && value !== 'rgba(0, 0, 0, 0)' ? value.trim() : null;
|
|
86
86
|
}
|
|
87
87
|
catch {
|
|
88
88
|
return null;
|
|
@@ -92,24 +92,24 @@ function getComputedColor(element, property) {
|
|
|
92
92
|
* Find primary color by analyzing interactive elements
|
|
93
93
|
*/
|
|
94
94
|
function findPrimaryColor() {
|
|
95
|
-
if (typeof document ===
|
|
95
|
+
if (typeof document === 'undefined')
|
|
96
96
|
return null;
|
|
97
97
|
// Look for common button/link patterns
|
|
98
98
|
const selectors = [
|
|
99
99
|
'button[class*="primary"]',
|
|
100
100
|
'button[class*="brand"]',
|
|
101
|
-
|
|
101
|
+
'.btn-primary',
|
|
102
102
|
"[data-variant='primary']",
|
|
103
103
|
"a[class*='primary']",
|
|
104
|
-
|
|
104
|
+
'.cta',
|
|
105
105
|
'button:not([disabled]):not([class*="secondary"]):not([class*="ghost"])',
|
|
106
106
|
];
|
|
107
107
|
for (const selector of selectors) {
|
|
108
108
|
try {
|
|
109
109
|
const element = document.querySelector(selector);
|
|
110
110
|
if (element) {
|
|
111
|
-
const bgColor = getComputedColor(element,
|
|
112
|
-
if (bgColor && bgColor !==
|
|
111
|
+
const bgColor = getComputedColor(element, 'background-color');
|
|
112
|
+
if (bgColor && bgColor !== 'transparent' && !bgColor.includes('255, 255, 255')) {
|
|
113
113
|
return bgColor;
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -119,9 +119,9 @@ function findPrimaryColor() {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
// Fallback: check links
|
|
122
|
-
const link = document.querySelector(
|
|
122
|
+
const link = document.querySelector('a:not([class])') || document.querySelector('a');
|
|
123
123
|
if (link) {
|
|
124
|
-
const color = getComputedColor(link,
|
|
124
|
+
const color = getComputedColor(link, 'color');
|
|
125
125
|
if (color)
|
|
126
126
|
return color;
|
|
127
127
|
}
|
|
@@ -132,15 +132,15 @@ function findPrimaryColor() {
|
|
|
132
132
|
*/
|
|
133
133
|
function detectDarkMode() {
|
|
134
134
|
var _a, _b;
|
|
135
|
-
if (typeof document ===
|
|
135
|
+
if (typeof document === 'undefined')
|
|
136
136
|
return true;
|
|
137
137
|
// Check prefers-color-scheme
|
|
138
|
-
if ((_b = (_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window,
|
|
138
|
+
if ((_b = (_a = window.matchMedia) === null || _a === void 0 ? void 0 : _a.call(window, '(prefers-color-scheme: dark)')) === null || _b === void 0 ? void 0 : _b.matches) {
|
|
139
139
|
return true;
|
|
140
140
|
}
|
|
141
141
|
// Check body background luminance
|
|
142
142
|
const body = document.body;
|
|
143
|
-
const bgColor = getComputedColor(body,
|
|
143
|
+
const bgColor = getComputedColor(body, 'background-color');
|
|
144
144
|
if (bgColor) {
|
|
145
145
|
const match = bgColor.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
|
|
146
146
|
if (match) {
|
|
@@ -151,9 +151,9 @@ function detectDarkMode() {
|
|
|
151
151
|
}
|
|
152
152
|
// Check for dark mode classes
|
|
153
153
|
const html = document.documentElement;
|
|
154
|
-
if (html.classList.contains(
|
|
155
|
-
html.dataset.theme ===
|
|
156
|
-
body.classList.contains(
|
|
154
|
+
if (html.classList.contains('dark') ||
|
|
155
|
+
html.dataset.theme === 'dark' ||
|
|
156
|
+
body.classList.contains('dark')) {
|
|
157
157
|
return true;
|
|
158
158
|
}
|
|
159
159
|
return false;
|
|
@@ -167,12 +167,12 @@ export function extractHostTheme() {
|
|
|
167
167
|
let primaryColor = null;
|
|
168
168
|
// First check CSS variables
|
|
169
169
|
const primaryVarNames = [
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
170
|
+
'--primary',
|
|
171
|
+
'--color-primary',
|
|
172
|
+
'--brand-color',
|
|
173
|
+
'--accent-color',
|
|
174
|
+
'--theme-primary',
|
|
175
|
+
'--app-primary',
|
|
176
176
|
];
|
|
177
177
|
for (const varName of primaryVarNames) {
|
|
178
178
|
if (cssVariables[varName]) {
|
|
@@ -185,25 +185,21 @@ export function extractHostTheme() {
|
|
|
185
185
|
primaryColor = findPrimaryColor();
|
|
186
186
|
}
|
|
187
187
|
// Extract other colors
|
|
188
|
-
const backgroundColor = cssVariables[
|
|
189
|
-
cssVariables[
|
|
190
|
-
getComputedColor(document.body,
|
|
191
|
-
const textColor = cssVariables[
|
|
192
|
-
cssVariables[
|
|
193
|
-
getComputedColor(document.body,
|
|
194
|
-
const borderColor = cssVariables[
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const borderRadius = cssVariables["--radius"] ||
|
|
198
|
-
cssVariables["--border-radius"] ||
|
|
199
|
-
null;
|
|
200
|
-
const fontFamily = getComputedColor(document.body, "font-family");
|
|
188
|
+
const backgroundColor = cssVariables['--background'] ||
|
|
189
|
+
cssVariables['--color-background'] ||
|
|
190
|
+
getComputedColor(document.body, 'background-color');
|
|
191
|
+
const textColor = cssVariables['--foreground'] ||
|
|
192
|
+
cssVariables['--color-text'] ||
|
|
193
|
+
getComputedColor(document.body, 'color');
|
|
194
|
+
const borderColor = cssVariables['--border'] || cssVariables['--color-border'] || null;
|
|
195
|
+
const borderRadius = cssVariables['--radius'] || cssVariables['--border-radius'] || null;
|
|
196
|
+
const fontFamily = getComputedColor(document.body, 'font-family');
|
|
201
197
|
return {
|
|
202
198
|
primaryColor,
|
|
203
199
|
backgroundColor,
|
|
204
|
-
surfaceColor: cssVariables[
|
|
200
|
+
surfaceColor: cssVariables['--card'] || cssVariables['--surface'] || null,
|
|
205
201
|
textColor,
|
|
206
|
-
textSecondaryColor: cssVariables[
|
|
202
|
+
textSecondaryColor: cssVariables['--muted-foreground'] || cssVariables['--color-text-secondary'] || null,
|
|
207
203
|
borderColor,
|
|
208
204
|
borderRadius,
|
|
209
205
|
fontFamily,
|
|
@@ -222,7 +218,9 @@ export function mergeWithExtractedTheme(extracted, baseTheme) {
|
|
|
222
218
|
merged.colorPrimary = extracted.primaryColor;
|
|
223
219
|
// Generate hover variant (slightly lighter)
|
|
224
220
|
merged.colorPrimaryHover = extracted.primaryColor; // TODO: compute lighter variant
|
|
225
|
-
merged.colorPrimaryMuted = extracted.primaryColor
|
|
221
|
+
merged.colorPrimaryMuted = extracted.primaryColor
|
|
222
|
+
.replace(')', ', 0.15)')
|
|
223
|
+
.replace('rgb', 'rgba');
|
|
226
224
|
}
|
|
227
225
|
if (extracted.backgroundColor) {
|
|
228
226
|
merged.colorBackground = extracted.backgroundColor;
|
|
@@ -252,7 +250,7 @@ export function mergeWithExtractedTheme(extracted, baseTheme) {
|
|
|
252
250
|
* Returns merged theme tokens ready to use
|
|
253
251
|
*/
|
|
254
252
|
export function autoDetectTheme(baseTheme) {
|
|
255
|
-
if (typeof document ===
|
|
253
|
+
if (typeof document === 'undefined') {
|
|
256
254
|
return baseTheme !== null && baseTheme !== void 0 ? baseTheme : darkTheme;
|
|
257
255
|
}
|
|
258
256
|
const extracted = extractHostTheme();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractHostTheme.js","sourceRoot":"","sources":["../../src/theme/extractHostTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"extractHostTheme.js","sourceRoot":"","sources":["../../src/theme/extractHostTheme.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type { CanvasThemeTokens, ExtractedTheme, ThemeMode, ThemeAppearance
|
|
2
|
-
export { darkTheme, lightTheme, getDefaultTheme, themeToCssVariables
|
|
3
|
-
export { extractHostTheme, mergeWithExtractedTheme, autoDetectTheme
|
|
4
|
-
export { ThemeProvider, useTheme, useThemeToken, useThemeVar
|
|
5
|
-
export type { ThemeProviderProps } from
|
|
1
|
+
export type { CanvasThemeTokens, ExtractedTheme, ThemeMode, ThemeAppearance } from './types';
|
|
2
|
+
export { darkTheme, lightTheme, getDefaultTheme, themeToCssVariables } from './defaultTheme';
|
|
3
|
+
export { extractHostTheme, mergeWithExtractedTheme, autoDetectTheme } from './extractHostTheme';
|
|
4
|
+
export { ThemeProvider, useTheme, useThemeToken, useThemeVar } from './ThemeProvider';
|
|
5
|
+
export type { ThemeProviderProps } from './ThemeProvider';
|
package/dist/theme/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Default themes
|
|
2
|
-
export { darkTheme, lightTheme, getDefaultTheme, themeToCssVariables
|
|
2
|
+
export { darkTheme, lightTheme, getDefaultTheme, themeToCssVariables } from './defaultTheme';
|
|
3
3
|
// Theme extraction
|
|
4
|
-
export { extractHostTheme, mergeWithExtractedTheme, autoDetectTheme
|
|
4
|
+
export { extractHostTheme, mergeWithExtractedTheme, autoDetectTheme } from './extractHostTheme';
|
|
5
5
|
// Theme provider and hooks
|
|
6
|
-
export { ThemeProvider, useTheme, useThemeToken, useThemeVar
|
|
6
|
+
export { ThemeProvider, useTheme, useThemeToken, useThemeVar } from './ThemeProvider';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/theme/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAGA,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE7F,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhG,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/theme/types.d.ts
CHANGED
|
@@ -80,12 +80,12 @@ export interface ExtractedTheme {
|
|
|
80
80
|
/**
|
|
81
81
|
* Theme mode
|
|
82
82
|
*/
|
|
83
|
-
export type ThemeMode =
|
|
83
|
+
export type ThemeMode = 'light' | 'dark' | 'auto';
|
|
84
84
|
/**
|
|
85
85
|
* User-provided theme overrides via appearance config
|
|
86
86
|
*/
|
|
87
87
|
export interface ThemeAppearance {
|
|
88
88
|
mode?: ThemeMode;
|
|
89
89
|
variables?: Partial<Record<`--sc-${string}`, string>>;
|
|
90
|
-
baseTheme?:
|
|
90
|
+
baseTheme?: 'system' | 'light' | 'dark';
|
|
91
91
|
}
|
package/dist/token.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export interface SyntroTokenPayload {
|
|
|
20
20
|
f?: string;
|
|
21
21
|
/** Fetcher-specific options (e.g., configId for cdn fetcher) */
|
|
22
22
|
o?: Record<string, string>;
|
|
23
|
+
/** Debug mode - enables console logging (default: false) */
|
|
24
|
+
d?: boolean;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Decode a Syntro token into its payload.
|
package/dist/token.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* It bundles all necessary credentials (experiments, telemetry, config) into
|
|
6
6
|
* a single string that clients can use to initialize the SDK.
|
|
7
7
|
*/
|
|
8
|
-
const TOKEN_PREFIX =
|
|
8
|
+
const TOKEN_PREFIX = 'syn_';
|
|
9
9
|
/**
|
|
10
10
|
* Decode a Syntro token into its payload.
|
|
11
11
|
*
|
|
@@ -19,7 +19,7 @@ export function decodeToken(token) {
|
|
|
19
19
|
}
|
|
20
20
|
const base64 = token.slice(TOKEN_PREFIX.length);
|
|
21
21
|
// Convert base64url to standard base64
|
|
22
|
-
const standardBase64 = base64.replace(/-/g,
|
|
22
|
+
const standardBase64 = base64.replace(/-/g, '+').replace(/_/g, '/');
|
|
23
23
|
const json = atob(standardBase64);
|
|
24
24
|
const payload = JSON.parse(json);
|
|
25
25
|
if (payload.v !== 1) {
|
|
@@ -38,10 +38,7 @@ export function decodeToken(token) {
|
|
|
38
38
|
export function encodeToken(payload) {
|
|
39
39
|
const json = JSON.stringify(payload);
|
|
40
40
|
// Convert to base64url (URL-safe, no padding)
|
|
41
|
-
const base64 = btoa(json)
|
|
42
|
-
.replace(/\+/g, "-")
|
|
43
|
-
.replace(/\//g, "_")
|
|
44
|
-
.replace(/=+$/, "");
|
|
41
|
+
const base64 = btoa(json).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
45
42
|
return TOKEN_PREFIX + base64;
|
|
46
43
|
}
|
|
47
44
|
//# sourceMappingURL=token.js.map
|
package/dist/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,YAAY,GAAG,MAAM,CAAC;AA4B5B;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,uCAAuC;IACvC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;IAEvD,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,8CAA8C;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrF,OAAO,YAAY,GAAG,MAAM,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types-only export for app packages.
|
|
3
|
+
*
|
|
4
|
+
* This file re-exports action types without importing any runtime code,
|
|
5
|
+
* allowing app packages to import types without circular dependency issues.
|
|
6
|
+
*
|
|
7
|
+
* Apps should import from "@syntrologie/runtime-sdk/types" instead of
|
|
8
|
+
* the main entry point when they only need type definitions.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Props passed to editor panel components.
|
|
12
|
+
*/
|
|
13
|
+
export interface EditorPanelProps {
|
|
14
|
+
/** The current config for this app's portion */
|
|
15
|
+
config: Record<string, unknown>;
|
|
16
|
+
/** Callback when config changes */
|
|
17
|
+
onChange: (config: Record<string, unknown>) => void;
|
|
18
|
+
/** Editor utilities */
|
|
19
|
+
editor: {
|
|
20
|
+
/** Mark the editor as dirty (has unsaved changes) */
|
|
21
|
+
setDirty: (dirty: boolean) => void;
|
|
22
|
+
/** Navigate back to home */
|
|
23
|
+
navigateHome: () => Promise<boolean>;
|
|
24
|
+
/** Save the current config */
|
|
25
|
+
save: () => Promise<void>;
|
|
26
|
+
/** Publish the current config */
|
|
27
|
+
publish: (captureScreenshot?: boolean) => Promise<void>;
|
|
28
|
+
};
|
|
29
|
+
/** Platform client for API calls (optional) */
|
|
30
|
+
platformClient?: unknown;
|
|
31
|
+
}
|
|
32
|
+
export type { StaticSurfaceSlot, InlineSurfaceSlot, AdjacentSurfaceSlot, SurfaceSlot, HighlightStyle, BadgePosition, TooltipContent, TooltipTrigger, InsertPosition, WidgetConfig, HighlightAction, PulseAction, BadgeAction, TooltipAction, InsertHtmlAction, SetTextAction, SetAttrAction, AddClassAction, RemoveClassAction, SetStyleAction, MountWidgetAction, ScrollToAction, NavigateAction, ActionStep, ActionKind, ActionState, ActionHandle, BatchActionHandle, ActiveAction, ValidationError, ValidationWarning, ValidationResult, ExecutorCleanup, ExecutorUpdate, ExecutorResult, ActionExecutor, ExecutorContext, } from './actions/types';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types-only export for app packages.
|
|
3
|
+
*
|
|
4
|
+
* This file re-exports action types without importing any runtime code,
|
|
5
|
+
* allowing app packages to import types without circular dependency issues.
|
|
6
|
+
*
|
|
7
|
+
* Apps should import from "@syntrologie/runtime-sdk/types" instead of
|
|
8
|
+
* the main entry point when they only need type definitions.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types-only.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-only.js","sourceRoot":"","sources":["../src/types-only.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|