@syntrologie/runtime-sdk 2.1.0 → 2.2.0-canary.10
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 +50 -43
- package/README.md +7 -7
- package/dist/RuntimeProvider.d.ts +1 -1
- package/dist/ShadowRootContext.d.ts +19 -0
- package/dist/SmartCanvasApp.d.ts +7 -4
- package/dist/SmartCanvasElement.d.ts +7 -2
- package/dist/SmartCanvasPortal.d.ts +1 -1
- package/dist/actions/executors/core-flow.d.ts +19 -0
- package/dist/actions/executors/index.d.ts +4 -3
- package/dist/actions/executors/tour.d.ts +1 -1
- package/dist/actions/index.d.ts +4 -3
- package/dist/actions/schema.d.ts +1229 -0
- package/dist/actions/schema.js +67 -0
- package/dist/actions/schema.js.map +7 -0
- package/dist/api.d.ts +4 -2
- package/dist/apps/builtinRuntimeModules.generated.d.ts +20 -0
- package/dist/apps/examples/gamification-app.example.d.ts +4 -4
- package/dist/apps/index.d.ts +7 -7
- package/dist/blocks/data/index.d.ts +1 -1
- package/dist/blocks/index.d.ts +2 -2
- package/dist/blocks/interactive/index.d.ts +1 -1
- package/dist/blocks/notification/NotificationBlock.d.ts +1 -1
- package/dist/blocks/notification/index.d.ts +1 -1
- package/dist/bootstrap.d.ts +4 -4
- package/dist/chunk-AYTRRBR5.js +251 -0
- package/dist/chunk-AYTRRBR5.js.map +7 -0
- package/dist/chunk-VLWWR22N.js +9266 -0
- package/dist/chunk-VLWWR22N.js.map +7 -0
- package/dist/components/ShadowCanvasOverlay.d.ts +2 -2
- package/dist/components/TileCard.d.ts +1 -1
- package/dist/context/ContextManager.d.ts +1 -1
- package/dist/context/index.d.ts +3 -3
- package/dist/decisions/engine.d.ts +1 -1
- package/dist/decisions/index.d.ts +3 -3
- package/dist/decisions/schema.d.ts +24 -24
- package/dist/decisions/strategies/rules.d.ts +1 -1
- package/dist/decisions/strategies/score.d.ts +1 -1
- package/dist/editorLoader.d.ts +4 -4
- package/dist/events/EventAccumulator.d.ts +1 -1
- package/dist/events/EventBus.d.ts +1 -1
- package/dist/events/index.d.ts +7 -6
- package/dist/events/registerConfigPredicates.d.ts +19 -0
- package/dist/experiments/adapters/growthbook.d.ts +1 -1
- package/dist/experiments/index.d.ts +2 -2
- package/dist/experiments/registry.d.ts +1 -1
- package/dist/fetchers/index.d.ts +2 -2
- package/dist/hooks/useShadowCanvasConfig.d.ts +1 -1
- package/dist/hostPatcher/index.d.ts +2 -2
- package/dist/index.d.ts +24 -21
- package/dist/index.js +2349 -75
- package/dist/index.js.map +7 -1
- package/dist/metrics/index.d.ts +1 -1
- package/dist/notifications/index.d.ts +6 -6
- package/dist/overlays/runtime/index.d.ts +3 -3
- package/dist/overlays/runtime/overlay/root.d.ts +17 -1
- package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
- package/dist/react.js +90 -134
- package/dist/react.js.map +7 -1
- package/dist/render/RenderContext.d.ts +2 -2
- package/dist/render/index.d.ts +2 -2
- package/dist/render/types.d.ts +2 -2
- package/dist/runtime.d.ts +8 -8
- package/dist/smart-canvas.esm.js +158 -126
- package/dist/smart-canvas.esm.js.map +4 -4
- package/dist/smart-canvas.js +18872 -16744
- package/dist/smart-canvas.js.map +4 -4
- package/dist/smart-canvas.min.js +158 -126
- package/dist/smart-canvas.min.js.map +4 -4
- package/dist/state/StateStore.d.ts +1 -1
- package/dist/state/helpers/cooldowns.d.ts +1 -1
- package/dist/state/helpers/dismissals.d.ts +1 -1
- package/dist/state/helpers/frequency.d.ts +1 -1
- package/dist/state/index.d.ts +3 -3
- package/dist/surfaces/index.d.ts +3 -3
- package/dist/surfaces/positioning.d.ts +1 -1
- package/dist/telemetry/adapters/posthog.d.ts +2 -2
- package/dist/telemetry/index.d.ts +3 -3
- package/dist/telemetry/registry.d.ts +1 -1
- package/dist/telemetry/types.d.ts +5 -0
- package/dist/theme/ThemeProvider.d.ts +1 -1
- package/dist/theme/extractHostTheme.d.ts +1 -1
- package/dist/theme/index.d.ts +4 -4
- package/dist/types-only.d.ts +1 -1
- package/dist/types-only.js +1 -11
- package/dist/types-only.js.map +7 -1
- package/dist/types.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/widgets/index.d.ts +1 -1
- package/package.json +29 -17
- package/schema/canvas-config.base.schema.json +351 -0
- package/schema/canvas-config.schema.json +3308 -444
- package/scripts/validate-config.mjs +54 -58
- package/dist/RuntimeProvider.js +0 -113
- package/dist/RuntimeProvider.js.map +0 -1
- package/dist/SmartCanvasApp.js +0 -143
- package/dist/SmartCanvasApp.js.map +0 -1
- package/dist/SmartCanvasElement.js +0 -138
- package/dist/SmartCanvasElement.js.map +0 -1
- package/dist/SmartCanvasPortal.js +0 -17
- package/dist/SmartCanvasPortal.js.map +0 -1
- package/dist/actions/ActionEngine.js +0 -272
- package/dist/actions/ActionEngine.js.map +0 -1
- package/dist/actions/executors/index.js +0 -240
- package/dist/actions/executors/index.js.map +0 -1
- package/dist/actions/executors/tour.js +0 -332
- package/dist/actions/executors/tour.js.map +0 -1
- package/dist/actions/index.js +0 -12
- package/dist/actions/index.js.map +0 -1
- package/dist/actions/types.js +0 -8
- package/dist/actions/types.js.map +0 -1
- package/dist/actions/validation.js +0 -577
- package/dist/actions/validation.js.map +0 -1
- package/dist/adaptives/adaptive-chatbot/index.js +0 -9
- package/dist/adaptives/adaptive-chatbot/index.js.map +0 -7
- package/dist/adaptives/adaptive-content/index.js +0 -22
- package/dist/adaptives/adaptive-content/index.js.map +0 -7
- package/dist/adaptives/adaptive-faq/index.js +0 -11
- package/dist/adaptives/adaptive-faq/index.js.map +0 -7
- package/dist/adaptives/adaptive-gamification/index.js +0 -2
- package/dist/adaptives/adaptive-gamification/index.js.map +0 -7
- package/dist/adaptives/adaptive-nav/index.js +0 -12
- package/dist/adaptives/adaptive-nav/index.js.map +0 -7
- package/dist/adaptives/adaptive-overlays/index.js +0 -94
- package/dist/adaptives/adaptive-overlays/index.js.map +0 -7
- package/dist/antiFlicker.js +0 -39
- package/dist/antiFlicker.js.map +0 -1
- package/dist/api.js +0 -205
- package/dist/api.js.map +0 -1
- package/dist/apps/AppContext.js +0 -91
- package/dist/apps/AppContext.js.map +0 -1
- package/dist/apps/AppLoader.js +0 -293
- package/dist/apps/AppLoader.js.map +0 -1
- package/dist/apps/AppRegistry.js +0 -317
- package/dist/apps/AppRegistry.js.map +0 -1
- package/dist/apps/examples/gamification-app.example.js +0 -329
- package/dist/apps/examples/gamification-app.example.js.map +0 -1
- package/dist/apps/index.js +0 -16
- package/dist/apps/index.js.map +0 -1
- package/dist/apps/types.js +0 -8
- package/dist/apps/types.js.map +0 -1
- package/dist/blocks/data/ComparisonBlock.js +0 -95
- package/dist/blocks/data/ComparisonBlock.js.map +0 -1
- package/dist/blocks/data/StatsBlock.js +0 -102
- package/dist/blocks/data/StatsBlock.js.map +0 -1
- package/dist/blocks/data/index.js +0 -3
- package/dist/blocks/data/index.js.map +0 -1
- package/dist/blocks/index.js +0 -93
- package/dist/blocks/index.js.map +0 -1
- package/dist/blocks/interactive/ChecklistBlock.js +0 -111
- package/dist/blocks/interactive/ChecklistBlock.js.map +0 -1
- package/dist/blocks/interactive/RatingBlock.js +0 -147
- package/dist/blocks/interactive/RatingBlock.js.map +0 -1
- package/dist/blocks/interactive/index.js +0 -3
- package/dist/blocks/interactive/index.js.map +0 -1
- package/dist/blocks/notification/NotificationBlock.js +0 -171
- package/dist/blocks/notification/NotificationBlock.js.map +0 -1
- package/dist/blocks/notification/index.js +0 -2
- package/dist/blocks/notification/index.js.map +0 -1
- package/dist/blocks/theme-tokens.js +0 -25
- package/dist/blocks/theme-tokens.js.map +0 -1
- package/dist/bootstrap.js +0 -448
- package/dist/bootstrap.js.map +0 -1
- package/dist/bundle-entry.js +0 -9
- package/dist/bundle-entry.js.map +0 -1
- package/dist/components/ShadowCanvasOverlay.js +0 -327
- package/dist/components/ShadowCanvasOverlay.js.map +0 -1
- package/dist/components/TileCard.js +0 -103
- package/dist/components/TileCard.js.map +0 -1
- package/dist/components/TileWheel.js +0 -50
- package/dist/components/TileWheel.js.map +0 -1
- package/dist/config-validator.js +0 -173
- package/dist/config-validator.js.map +0 -1
- package/dist/configFetcher.js +0 -131
- package/dist/configFetcher.js.map +0 -1
- package/dist/context/ContextManager.js +0 -269
- package/dist/context/ContextManager.js.map +0 -1
- package/dist/context/index.js +0 -7
- package/dist/context/index.js.map +0 -1
- package/dist/context/schema.js +0 -50
- package/dist/context/schema.js.map +0 -1
- package/dist/context/types.js +0 -8
- package/dist/context/types.js.map +0 -1
- package/dist/controller.js +0 -34
- package/dist/controller.js.map +0 -1
- package/dist/decisions/engine.js +0 -117
- package/dist/decisions/engine.js.map +0 -1
- package/dist/decisions/index.js +0 -10
- package/dist/decisions/index.js.map +0 -1
- package/dist/decisions/schema.js +0 -151
- package/dist/decisions/schema.js.map +0 -1
- package/dist/decisions/strategies/rules.js +0 -166
- package/dist/decisions/strategies/rules.js.map +0 -1
- package/dist/decisions/strategies/score.js +0 -29
- package/dist/decisions/strategies/score.js.map +0 -1
- package/dist/decisions/types.js +0 -2
- package/dist/decisions/types.js.map +0 -1
- package/dist/earlyPatcher.js +0 -20
- package/dist/earlyPatcher.js.map +0 -1
- package/dist/editorLoader.js +0 -254
- package/dist/editorLoader.js.map +0 -1
- package/dist/events/EventAccumulator.js +0 -101
- package/dist/events/EventAccumulator.js.map +0 -1
- package/dist/events/EventBus.js +0 -152
- package/dist/events/EventBus.js.map +0 -1
- package/dist/events/index.js +0 -11
- package/dist/events/index.js.map +0 -1
- package/dist/events/normalizers/canvas.js +0 -116
- package/dist/events/normalizers/canvas.js.map +0 -1
- package/dist/events/normalizers/posthog.js +0 -171
- package/dist/events/normalizers/posthog.js.map +0 -1
- package/dist/events/schema.js +0 -30
- package/dist/events/schema.js.map +0 -1
- package/dist/events/types.js +0 -54
- package/dist/events/types.js.map +0 -1
- package/dist/experiments/adapters/growthbook.js +0 -81
- package/dist/experiments/adapters/growthbook.js.map +0 -1
- package/dist/experiments/index.js +0 -4
- package/dist/experiments/index.js.map +0 -1
- package/dist/experiments/registry.js +0 -30
- package/dist/experiments/registry.js.map +0 -1
- package/dist/experiments/types.js +0 -2
- package/dist/experiments/types.js.map +0 -1
- package/dist/fetchers/cdnFetcher.js +0 -96
- package/dist/fetchers/cdnFetcher.js.map +0 -1
- package/dist/fetchers/experimentsFetcher.js +0 -109
- package/dist/fetchers/experimentsFetcher.js.map +0 -1
- package/dist/fetchers/index.js +0 -5
- package/dist/fetchers/index.js.map +0 -1
- package/dist/fetchers/mergeConfigs.js +0 -38
- package/dist/fetchers/mergeConfigs.js.map +0 -1
- package/dist/fetchers/registry.js +0 -58
- package/dist/fetchers/registry.js.map +0 -1
- package/dist/fetchers/types.js +0 -2
- package/dist/fetchers/types.js.map +0 -1
- package/dist/hooks/useCanvasOverlays.js +0 -128
- package/dist/hooks/useCanvasOverlays.js.map +0 -1
- package/dist/hooks/useHostPatches.js +0 -40
- package/dist/hooks/useHostPatches.js.map +0 -1
- package/dist/hooks/useShadowCanvasConfig.js +0 -63
- package/dist/hooks/useShadowCanvasConfig.js.map +0 -1
- package/dist/hostPatcher/core/patcher.js +0 -181
- package/dist/hostPatcher/core/patcher.js.map +0 -1
- package/dist/hostPatcher/core/sanitizer.js +0 -66
- package/dist/hostPatcher/core/sanitizer.js.map +0 -1
- package/dist/hostPatcher/core/types.js +0 -2
- package/dist/hostPatcher/core/types.js.map +0 -1
- package/dist/hostPatcher/index.js +0 -7
- package/dist/hostPatcher/index.js.map +0 -1
- package/dist/hostPatcher/policy/defaultPolicy.js +0 -23
- package/dist/hostPatcher/policy/defaultPolicy.js.map +0 -1
- package/dist/hostPatcher/utils/anchors.js +0 -105
- package/dist/hostPatcher/utils/anchors.js.map +0 -1
- package/dist/hostPatcher/utils/observer.js +0 -11
- package/dist/hostPatcher/utils/observer.js.map +0 -1
- package/dist/logger.js +0 -81
- package/dist/logger.js.map +0 -1
- package/dist/metrics/index.js +0 -5
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/sessionMetrics.js +0 -178
- package/dist/metrics/sessionMetrics.js.map +0 -1
- package/dist/notifications/NotificationToastStack.js +0 -118
- package/dist/notifications/NotificationToastStack.js.map +0 -1
- package/dist/notifications/index.js +0 -6
- package/dist/notifications/index.js.map +0 -1
- package/dist/notifications/matcher.js +0 -66
- package/dist/notifications/matcher.js.map +0 -1
- package/dist/notifications/types.js +0 -13
- package/dist/notifications/types.js.map +0 -1
- package/dist/notifications/useNotifications.js +0 -104
- package/dist/notifications/useNotifications.js.map +0 -1
- package/dist/notifications/useNotifyWatcher.js +0 -62
- package/dist/notifications/useNotifyWatcher.js.map +0 -1
- package/dist/overlays/fetcher.js +0 -15
- package/dist/overlays/fetcher.js.map +0 -1
- package/dist/overlays/recipeRegistry.js +0 -32
- package/dist/overlays/recipeRegistry.js.map +0 -1
- package/dist/overlays/runtime/anchor/resolve.js +0 -87
- package/dist/overlays/runtime/anchor/resolve.js.map +0 -1
- package/dist/overlays/runtime/index.js +0 -8
- package/dist/overlays/runtime/index.js.map +0 -1
- package/dist/overlays/runtime/overlay/highlight.js +0 -160
- package/dist/overlays/runtime/overlay/highlight.js.map +0 -1
- package/dist/overlays/runtime/overlay/modal.js +0 -78
- package/dist/overlays/runtime/overlay/modal.js.map +0 -1
- package/dist/overlays/runtime/overlay/root.js +0 -297
- package/dist/overlays/runtime/overlay/root.js.map +0 -1
- package/dist/overlays/runtime/overlay/runner.js +0 -602
- package/dist/overlays/runtime/overlay/runner.js.map +0 -1
- package/dist/overlays/runtime/overlay/tooltip.js +0 -232
- package/dist/overlays/runtime/overlay/tooltip.js.map +0 -1
- package/dist/overlays/runtime/utils/dom.js +0 -12
- package/dist/overlays/runtime/utils/dom.js.map +0 -1
- package/dist/overlays/schema.js +0 -52
- package/dist/overlays/schema.js.map +0 -1
- package/dist/overlays/types.js +0 -2
- package/dist/overlays/types.js.map +0 -1
- package/dist/render/RenderContext.js +0 -69
- package/dist/render/RenderContext.js.map +0 -1
- package/dist/render/index.js +0 -3
- package/dist/render/index.js.map +0 -1
- package/dist/render/types.js +0 -2
- package/dist/render/types.js.map +0 -1
- package/dist/runtime.js +0 -237
- package/dist/runtime.js.map +0 -1
- package/dist/state/StateStore.js +0 -176
- package/dist/state/StateStore.js.map +0 -1
- package/dist/state/helpers/cooldowns.js +0 -31
- package/dist/state/helpers/cooldowns.js.map +0 -1
- package/dist/state/helpers/dismissals.js +0 -34
- package/dist/state/helpers/dismissals.js.map +0 -1
- package/dist/state/helpers/frequency.js +0 -43
- package/dist/state/helpers/frequency.js.map +0 -1
- package/dist/state/index.js +0 -7
- package/dist/state/index.js.map +0 -1
- package/dist/state/schema.js +0 -25
- package/dist/state/schema.js.map +0 -1
- package/dist/state/types.js +0 -9
- package/dist/state/types.js.map +0 -1
- package/dist/store/example.js +0 -43
- package/dist/store/example.js.map +0 -1
- package/dist/store/mini-effector.js +0 -88
- package/dist/store/mini-effector.js.map +0 -1
- package/dist/surfaces/Surfaces.js +0 -361
- package/dist/surfaces/Surfaces.js.map +0 -1
- package/dist/surfaces/index.js +0 -12
- package/dist/surfaces/index.js.map +0 -1
- package/dist/surfaces/positioning.js +0 -228
- package/dist/surfaces/positioning.js.map +0 -1
- package/dist/surfaces/types.js +0 -23
- package/dist/surfaces/types.js.map +0 -1
- package/dist/telemetry/adapters/noop.js +0 -42
- package/dist/telemetry/adapters/noop.js.map +0 -1
- package/dist/telemetry/adapters/posthog.js +0 -180
- package/dist/telemetry/adapters/posthog.js.map +0 -1
- package/dist/telemetry/index.js +0 -4
- package/dist/telemetry/index.js.map +0 -1
- package/dist/telemetry/registry.js +0 -29
- package/dist/telemetry/registry.js.map +0 -1
- package/dist/telemetry/types.js +0 -2
- package/dist/telemetry/types.js.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -109
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/defaultTheme.js +0 -190
- package/dist/theme/defaultTheme.js.map +0 -1
- package/dist/theme/extractHostTheme.js +0 -259
- package/dist/theme/extractHostTheme.js.map +0 -1
- package/dist/theme/index.js +0 -7
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/types.js +0 -6
- package/dist/theme/types.js.map +0 -1
- package/dist/token.js +0 -44
- package/dist/token.js.map +0 -1
- package/dist/types.js +0 -17
- package/dist/types.js.map +0 -1
- package/dist/version.js +0 -14
- package/dist/version.js.map +0 -1
- package/dist/widgets/WidgetRegistry.js +0 -190
- package/dist/widgets/WidgetRegistry.js.map +0 -1
- package/dist/widgets/index.js +0 -7
- package/dist/widgets/index.js.map +0 -1
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { base, brand, button, slateGrey, red, text } from '@syntro/design-system/tokens';
|
|
3
|
-
import { useEffect, useState, useCallback, useRef } from 'react';
|
|
4
|
-
import { createPortal } from 'react-dom';
|
|
5
|
-
import { CanvasEvents } from '../events/normalizers/canvas';
|
|
6
|
-
import { StandardEvents } from '../events/types';
|
|
7
|
-
import { useNotifications } from '../notifications/useNotifications';
|
|
8
|
-
import { useNotifyWatcher } from '../notifications/useNotifyWatcher';
|
|
9
|
-
import { NotificationToastStack } from '../notifications/NotificationToastStack';
|
|
10
|
-
import { useRuntime } from '../RuntimeProvider';
|
|
11
|
-
import { withAlpha } from '../theme';
|
|
12
|
-
import { TileCard } from './TileCard';
|
|
13
|
-
// Inject launcher animation styles once
|
|
14
|
-
const LAUNCHER_STYLES_ID = 'syntro-launcher-styles';
|
|
15
|
-
function ensureLauncherStyles() {
|
|
16
|
-
if (typeof document === 'undefined')
|
|
17
|
-
return;
|
|
18
|
-
if (document.getElementById(LAUNCHER_STYLES_ID))
|
|
19
|
-
return;
|
|
20
|
-
const style = document.createElement('style');
|
|
21
|
-
style.id = LAUNCHER_STYLES_ID;
|
|
22
|
-
style.textContent = `
|
|
23
|
-
@keyframes syntro-launcher-pulse {
|
|
24
|
-
0%, 100% {
|
|
25
|
-
box-shadow: 0 20px 45px ${slateGrey[0]}59, 0 0 0 0 ${brand[3]}66;
|
|
26
|
-
}
|
|
27
|
-
50% {
|
|
28
|
-
box-shadow: 0 20px 45px ${slateGrey[0]}59, 0 0 0 8px ${brand[3]}00;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
@keyframes syntro-launcher-glow {
|
|
32
|
-
0%, 100% {
|
|
33
|
-
border-color: ${slateGrey[5]};
|
|
34
|
-
}
|
|
35
|
-
50% {
|
|
36
|
-
border-color: ${brand[4]}99;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
.syntro-launcher-animate {
|
|
40
|
-
animation: syntro-launcher-pulse 2s ease-in-out infinite, syntro-launcher-glow 2s ease-in-out infinite;
|
|
41
|
-
}
|
|
42
|
-
.syntro-launcher-animate:hover {
|
|
43
|
-
animation: none;
|
|
44
|
-
}
|
|
45
|
-
@keyframes syntro-badge-ping {
|
|
46
|
-
0% { transform: scale(1); opacity: 1; }
|
|
47
|
-
75%, 100% { transform: scale(2.2); opacity: 0; }
|
|
48
|
-
}
|
|
49
|
-
@keyframes syntro-badge-glow {
|
|
50
|
-
0%, 100% { box-shadow: 0 0 8px 2px ${withAlpha(brand[4], 0.3)}; }
|
|
51
|
-
50% { box-shadow: 0 0 20px 6px ${withAlpha(brand[4], 0.5)}; }
|
|
52
|
-
}
|
|
53
|
-
@keyframes syntro-badge-bounce {
|
|
54
|
-
0%, 100% { transform: translateY(0); }
|
|
55
|
-
25% { transform: translateY(-6px); }
|
|
56
|
-
50% { transform: translateY(-3px); }
|
|
57
|
-
}
|
|
58
|
-
.syntro-badge-ping { animation: syntro-badge-ping 1.5s cubic-bezier(0,0,0.2,1) infinite; }
|
|
59
|
-
.syntro-badge-glow { animation: syntro-badge-glow 2s ease-in-out infinite; }
|
|
60
|
-
.syntro-badge-bounce { animation: syntro-badge-bounce 2s ease-in-out infinite; }
|
|
61
|
-
`;
|
|
62
|
-
document.head.appendChild(style);
|
|
63
|
-
}
|
|
64
|
-
const DEFAULT_THEME = {
|
|
65
|
-
position: 'right',
|
|
66
|
-
baseWidth: 'clamp(320px, 16.666vw, 420px)',
|
|
67
|
-
expandedWidth: '40vw',
|
|
68
|
-
zIndex: 2147483600,
|
|
69
|
-
backdropBlur: '18px',
|
|
70
|
-
mode: 'dark',
|
|
71
|
-
colorPrimary: brand[3],
|
|
72
|
-
colorBackground: slateGrey[1],
|
|
73
|
-
colorText: text.primary,
|
|
74
|
-
colorTextSecondary: text.secondary,
|
|
75
|
-
borderRadius: '12px',
|
|
76
|
-
glassBackground: withAlpha(slateGrey[1], 0.6),
|
|
77
|
-
glassBlur: 'blur(24px)',
|
|
78
|
-
glassSaturate: 'saturate(1.2)',
|
|
79
|
-
};
|
|
80
|
-
export function ShadowCanvasOverlay({ isOpen, onToggle, telemetry, launcherLabel = 'Adaptives', launcherAnimate = false, launcherAnimationStyle: _launcherAnimationStyle = 'pulse', notificationCount, footerSlot, tiles, isLoading, error, canvasTitle, displayMode = 'standard', theme: themeOverride, }) {
|
|
81
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
82
|
-
const [mounted, setMounted] = useState(false);
|
|
83
|
-
const [launcherPos, setLauncherPos] = useState(null);
|
|
84
|
-
const dragRef = useRef(null);
|
|
85
|
-
// Get runtime for publishing events to the EventBus
|
|
86
|
-
const runtime = useRuntime();
|
|
87
|
-
// Notification toast system
|
|
88
|
-
const { notifications, dismiss: dismissNotification } = useNotifications((_a = runtime === null || runtime === void 0 ? void 0 : runtime.events) !== null && _a !== void 0 ? _a : null, tiles);
|
|
89
|
-
// Watch for notify-bearing actions crossing showWhen thresholds (runs even with drawer closed)
|
|
90
|
-
useNotifyWatcher(runtime, tiles, runtime === null || runtime === void 0 ? void 0 : runtime.apps);
|
|
91
|
-
const handleNotificationClick = useCallback((notif) => {
|
|
92
|
-
// Publish telemetry event
|
|
93
|
-
if (runtime) {
|
|
94
|
-
runtime.events.publish(StandardEvents.NOTIFICATION_CLICKED, {
|
|
95
|
-
notificationId: notif.id,
|
|
96
|
-
tileId: notif.tileId,
|
|
97
|
-
itemId: notif.itemId,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
// Open canvas if closed
|
|
101
|
-
if (!isOpen) {
|
|
102
|
-
onToggle();
|
|
103
|
-
}
|
|
104
|
-
// Publish deep link event for the target adaptive to handle
|
|
105
|
-
if (runtime && notif.tileId) {
|
|
106
|
-
runtime.events.publish(StandardEvents.NOTIFICATION_DEEP_LINK, {
|
|
107
|
-
tileId: notif.tileId,
|
|
108
|
-
itemId: notif.itemId,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
// Dismiss the clicked toast
|
|
112
|
-
dismissNotification(notif.id);
|
|
113
|
-
}, [runtime, isOpen, onToggle, dismissNotification]);
|
|
114
|
-
const theme = { ...DEFAULT_THEME, ...themeOverride };
|
|
115
|
-
// Track tile viewed events
|
|
116
|
-
useEffect(() => {
|
|
117
|
-
if (!isOpen)
|
|
118
|
-
return;
|
|
119
|
-
tiles.forEach((tile) => {
|
|
120
|
-
// Telemetry tracking (PostHog)
|
|
121
|
-
telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(tile.id, 'overlay');
|
|
122
|
-
// EventBus publishing
|
|
123
|
-
if (runtime) {
|
|
124
|
-
const event = CanvasEvents.tileViewed(tile.id, 'overlay');
|
|
125
|
-
runtime.events.publish(event.name, event.props, event.source);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
}, [telemetry, runtime, isOpen, tiles]);
|
|
129
|
-
useEffect(() => {
|
|
130
|
-
setMounted(true);
|
|
131
|
-
ensureLauncherStyles();
|
|
132
|
-
}, []);
|
|
133
|
-
const toggle = useCallback(() => {
|
|
134
|
-
const next = !isOpen;
|
|
135
|
-
// Telemetry tracking (PostHog)
|
|
136
|
-
if (next) {
|
|
137
|
-
telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened('overlay');
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasClosed('overlay');
|
|
141
|
-
}
|
|
142
|
-
// EventBus publishing
|
|
143
|
-
if (runtime) {
|
|
144
|
-
const event = next
|
|
145
|
-
? CanvasEvents.canvasOpened('overlay')
|
|
146
|
-
: CanvasEvents.canvasClosed('overlay');
|
|
147
|
-
runtime.events.publish(event.name, event.props, event.source);
|
|
148
|
-
}
|
|
149
|
-
onToggle();
|
|
150
|
-
}, [isOpen, telemetry, runtime, onToggle]);
|
|
151
|
-
// Drag-to-reposition: pointerdown starts tracking, pointermove updates position,
|
|
152
|
-
// pointerup commits. If total movement < 5px, treat as a click instead.
|
|
153
|
-
const onLauncherPointerDown = useCallback((e) => {
|
|
154
|
-
const rect = e.currentTarget.getBoundingClientRect();
|
|
155
|
-
dragRef.current = {
|
|
156
|
-
startX: e.clientX,
|
|
157
|
-
startY: e.clientY,
|
|
158
|
-
startElX: rect.left,
|
|
159
|
-
startElY: rect.top,
|
|
160
|
-
dragged: false,
|
|
161
|
-
};
|
|
162
|
-
e.currentTarget.setPointerCapture(e.pointerId);
|
|
163
|
-
}, []);
|
|
164
|
-
const onLauncherPointerMove = useCallback((e) => {
|
|
165
|
-
const drag = dragRef.current;
|
|
166
|
-
if (!drag)
|
|
167
|
-
return;
|
|
168
|
-
const dx = e.clientX - drag.startX;
|
|
169
|
-
const dy = e.clientY - drag.startY;
|
|
170
|
-
if (Math.abs(dx) > 5 || Math.abs(dy) > 5) {
|
|
171
|
-
drag.dragged = true;
|
|
172
|
-
}
|
|
173
|
-
if (drag.dragged) {
|
|
174
|
-
setLauncherPos({ x: drag.startElX + dx, y: drag.startElY + dy });
|
|
175
|
-
}
|
|
176
|
-
}, []);
|
|
177
|
-
const onLauncherPointerUp = useCallback((e) => {
|
|
178
|
-
const drag = dragRef.current;
|
|
179
|
-
dragRef.current = null;
|
|
180
|
-
if (drag && !drag.dragged) {
|
|
181
|
-
toggle();
|
|
182
|
-
}
|
|
183
|
-
}, [toggle]);
|
|
184
|
-
const isFocused = displayMode === 'focused';
|
|
185
|
-
const isRight = theme.position === 'right';
|
|
186
|
-
const isLightMode = theme.mode === 'light';
|
|
187
|
-
const containerStyle = {
|
|
188
|
-
display: 'flex',
|
|
189
|
-
flexDirection: 'column',
|
|
190
|
-
width: isFocused ? theme.expandedWidth : theme.baseWidth,
|
|
191
|
-
minWidth: '320px',
|
|
192
|
-
height: '100%',
|
|
193
|
-
maxHeight: '100%',
|
|
194
|
-
pointerEvents: 'auto',
|
|
195
|
-
opacity: isOpen ? 1 : 0,
|
|
196
|
-
transition: isOpen
|
|
197
|
-
? 'transform 340ms cubic-bezier(0.16, 1, 0.3, 1), opacity 280ms ease-out'
|
|
198
|
-
: 'transform 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms ease-in',
|
|
199
|
-
color: theme.colorText || text.primary,
|
|
200
|
-
// Standard mode: no tint, just blur with a tight fade mask at the leading edge
|
|
201
|
-
// Focused mode: full frosted glass
|
|
202
|
-
background: isFocused ? ((_b = theme.glassBackground) !== null && _b !== void 0 ? _b : withAlpha(slateGrey[1], 0.6)) : 'transparent',
|
|
203
|
-
backdropFilter: isFocused
|
|
204
|
-
? `${(_c = theme.glassBlur) !== null && _c !== void 0 ? _c : 'blur(24px)'} ${(_d = theme.glassSaturate) !== null && _d !== void 0 ? _d : 'saturate(1.2)'}`
|
|
205
|
-
: 'blur(6px)',
|
|
206
|
-
WebkitBackdropFilter: isFocused
|
|
207
|
-
? `${(_e = theme.glassBlur) !== null && _e !== void 0 ? _e : 'blur(24px)'} ${(_f = theme.glassSaturate) !== null && _f !== void 0 ? _f : 'saturate(1.2)'}`
|
|
208
|
-
: 'blur(6px)',
|
|
209
|
-
// Tight fade mask so blur cuts off sharply at the leading edge
|
|
210
|
-
...(!isFocused
|
|
211
|
-
? {
|
|
212
|
-
maskImage: isRight
|
|
213
|
-
? 'linear-gradient(to right, transparent, black 6%)'
|
|
214
|
-
: 'linear-gradient(to left, transparent, black 6%)',
|
|
215
|
-
WebkitMaskImage: isRight
|
|
216
|
-
? 'linear-gradient(to right, transparent, black 6%)'
|
|
217
|
-
: 'linear-gradient(to left, transparent, black 6%)',
|
|
218
|
-
}
|
|
219
|
-
: {}),
|
|
220
|
-
border: 'none',
|
|
221
|
-
borderRadius: '0',
|
|
222
|
-
boxShadow: 'none',
|
|
223
|
-
// Transform logic
|
|
224
|
-
transform: isOpen ? 'translateX(0)' : isRight ? 'translateX(120%)' : 'translateX(-120%)',
|
|
225
|
-
};
|
|
226
|
-
const wrapperStyle = {
|
|
227
|
-
position: 'absolute',
|
|
228
|
-
inset: 0,
|
|
229
|
-
display: 'flex',
|
|
230
|
-
flexDirection: isRight ? 'row-reverse' : 'row',
|
|
231
|
-
alignItems: 'stretch',
|
|
232
|
-
pointerEvents: 'none',
|
|
233
|
-
padding: '0',
|
|
234
|
-
};
|
|
235
|
-
const content = (_jsx("div", { "data-shadow-canvas-id": "overlay-root", style: {
|
|
236
|
-
position: 'fixed',
|
|
237
|
-
inset: 0,
|
|
238
|
-
pointerEvents: isOpen ? 'auto' : 'none',
|
|
239
|
-
zIndex: theme.zIndex,
|
|
240
|
-
}, children: _jsxs("div", { style: wrapperStyle, children: [_jsxs("div", { style: containerStyle, children: [isFocused && canvasTitle && (_jsx("header", { style: { color: 'white', padding: '1.5rem 1.5rem 0' }, children: _jsx("p", { style: {
|
|
241
|
-
margin: 0,
|
|
242
|
-
fontSize: '0.7rem',
|
|
243
|
-
textTransform: 'uppercase',
|
|
244
|
-
letterSpacing: '0.5em',
|
|
245
|
-
color: text.tertiary,
|
|
246
|
-
}, children: canvasTitle }) })), _jsx("div", { style: { flex: 1, overflowY: 'auto', padding: isFocused ? '0' : '1rem' }, children: isLoading ? (_jsx("div", { style: { color: text.primary, padding: isFocused ? '1rem' : '0' }, children: "Loading..." })) : error ? (_jsxs("div", { style: { color: red[8], padding: isFocused ? '1rem' : '0' }, children: ["Failed to load: ", error] })) : isFocused ? (
|
|
247
|
-
/* Focused Mode: Render first tile full size */
|
|
248
|
-
tiles.length > 0 ? (_jsx(TileCard, { config: tiles[0], surface: "overlay", telemetry: telemetry, style: { width: '100%', height: '100%' } })) : null) : (
|
|
249
|
-
/* Standard Mode: Stacked cards — widgets always visible */
|
|
250
|
-
_jsx("div", { style: {
|
|
251
|
-
display: 'flex',
|
|
252
|
-
flexDirection: 'column',
|
|
253
|
-
gap: '0.75rem',
|
|
254
|
-
width: '100%',
|
|
255
|
-
}, children: tiles.map((tile) => (_jsx(TileCard, { config: tile, surface: "overlay", telemetry: telemetry, style: { width: '100%' } }, tile.id))) })) }), footerSlot] }), _jsx("div", { onClick: toggle, style: {
|
|
256
|
-
flex: '1 1 auto',
|
|
257
|
-
pointerEvents: isOpen ? 'auto' : 'none',
|
|
258
|
-
cursor: 'default',
|
|
259
|
-
} })] }) }));
|
|
260
|
-
if (!mounted)
|
|
261
|
-
return null;
|
|
262
|
-
return (_jsxs(_Fragment, { children: [createPortal(_jsxs("div", { "data-shadow-canvas-id": "overlay-launcher", style: {
|
|
263
|
-
position: 'fixed',
|
|
264
|
-
inset: 0,
|
|
265
|
-
pointerEvents: 'none',
|
|
266
|
-
zIndex: theme.zIndex + 47,
|
|
267
|
-
}, children: [_jsx(NotificationToastStack, { notifications: notifications, onDismiss: dismissNotification, onClickNotification: handleNotificationClick, position: theme.position }), _jsxs("button", { "aria-label": "Toggle shadow canvas", className: launcherAnimate && !isOpen ? 'syntro-launcher-animate' : undefined, style: {
|
|
268
|
-
position: 'fixed',
|
|
269
|
-
...(launcherPos
|
|
270
|
-
? { top: launcherPos.y, left: launcherPos.x }
|
|
271
|
-
: {
|
|
272
|
-
bottom: '2.5rem',
|
|
273
|
-
right: isRight ? '2.5rem' : undefined,
|
|
274
|
-
left: !isRight ? '2.5rem' : undefined,
|
|
275
|
-
}),
|
|
276
|
-
pointerEvents: 'auto',
|
|
277
|
-
display: 'flex',
|
|
278
|
-
alignItems: 'center',
|
|
279
|
-
justifyContent: 'center',
|
|
280
|
-
width: '56px',
|
|
281
|
-
height: '56px',
|
|
282
|
-
borderRadius: '9999px',
|
|
283
|
-
color: button.primary.icon,
|
|
284
|
-
boxShadow: `0 8px 32px ${withAlpha(slateGrey[0], 0.6)}`,
|
|
285
|
-
transition: dragRef.current
|
|
286
|
-
? 'none'
|
|
287
|
-
: 'transform 0.2s ease, opacity 0.3s ease, background-color 0.2s ease',
|
|
288
|
-
outline: 'none',
|
|
289
|
-
padding: 0,
|
|
290
|
-
border: 'none',
|
|
291
|
-
backgroundColor: button.primary.backgroundDefault,
|
|
292
|
-
cursor: ((_g = dragRef.current) === null || _g === void 0 ? void 0 : _g.dragged) ? 'grabbing' : 'pointer',
|
|
293
|
-
touchAction: 'none',
|
|
294
|
-
}, onPointerDown: onLauncherPointerDown, onPointerMove: onLauncherPointerMove, onPointerUp: onLauncherPointerUp, onMouseEnter: (e) => {
|
|
295
|
-
var _a;
|
|
296
|
-
if (!((_a = dragRef.current) === null || _a === void 0 ? void 0 : _a.dragged)) {
|
|
297
|
-
e.currentTarget.style.backgroundColor = button.primary.backgroundHover;
|
|
298
|
-
}
|
|
299
|
-
}, onMouseLeave: (e) => {
|
|
300
|
-
var _a;
|
|
301
|
-
if (!((_a = dragRef.current) === null || _a === void 0 ? void 0 : _a.dragged)) {
|
|
302
|
-
e.currentTarget.style.backgroundColor = button.primary.backgroundDefault;
|
|
303
|
-
}
|
|
304
|
-
}, children: [_jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: { transition: 'transform 200ms ease' }, children: isOpen ? (_jsxs(_Fragment, { children: [_jsx("path", { d: "M18 6L6 18" }), _jsx("path", { d: "M6 6l12 12" })] })) : (_jsxs(_Fragment, { children: [_jsx("path", { d: "M12 3l1.912 5.813a2 2 0 0 0 1.275 1.275L21 12l-5.813 1.912a2 2 0 0 0-1.275 1.275L12 21l-1.912-5.813a2 2 0 0 0-1.275-1.275L3 12l5.813-1.912a2 2 0 0 0 1.275-1.275L12 3Z" }), _jsx("path", { d: "M5 3v4" }), _jsx("path", { d: "M3 5h4" }), _jsx("path", { d: "M19 17v4" }), _jsx("path", { d: "M17 19h4" })] })) }), !isOpen && notifications.length > 0 && (_jsxs("div", { style: { position: 'absolute', top: -2, right: -2, pointerEvents: 'none' }, children: [_jsx("span", { className: "syntro-badge-ping", style: {
|
|
305
|
-
position: 'absolute',
|
|
306
|
-
inset: 0,
|
|
307
|
-
borderRadius: '9999px',
|
|
308
|
-
background: withAlpha(brand[4], 0.4),
|
|
309
|
-
} }), _jsx("span", { className: "syntro-badge-glow", style: {
|
|
310
|
-
position: 'absolute',
|
|
311
|
-
inset: -4,
|
|
312
|
-
borderRadius: '9999px',
|
|
313
|
-
} }), _jsx("span", { className: "syntro-badge-bounce", style: {
|
|
314
|
-
position: 'relative',
|
|
315
|
-
display: 'flex',
|
|
316
|
-
alignItems: 'center',
|
|
317
|
-
justifyContent: 'center',
|
|
318
|
-
width: 20,
|
|
319
|
-
height: 20,
|
|
320
|
-
borderRadius: '9999px',
|
|
321
|
-
background: brand[4],
|
|
322
|
-
color: base.white,
|
|
323
|
-
fontSize: 11,
|
|
324
|
-
fontWeight: 700,
|
|
325
|
-
}, children: notifications.length > 99 ? '99+' : notifications.length })] }))] })] }), document.body), isOpen ? createPortal(content, document.body) : null] }));
|
|
326
|
-
}
|
|
327
|
-
//# sourceMappingURL=ShadowCanvasOverlay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowCanvasOverlay.js","sourceRoot":"","sources":["../../src/components/ShadowCanvasOverlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { brand, slateGrey, text, border } from '@syntro/design-system/tokens';
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { useRuntime } from '../RuntimeProvider';
|
|
5
|
-
import { withAlpha } from '../theme';
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
// WidgetMount - mounts a registered widget into a DOM container
|
|
8
|
-
// ---------------------------------------------------------------------------
|
|
9
|
-
function WidgetMount({ widgetId, props, }) {
|
|
10
|
-
const runtime = useRuntime();
|
|
11
|
-
const containerRef = useRef(null);
|
|
12
|
-
const handleRef = useRef(null);
|
|
13
|
-
const registry = runtime === null || runtime === void 0 ? void 0 : runtime.widgets;
|
|
14
|
-
useEffect(() => {
|
|
15
|
-
if (!containerRef.current || !registry)
|
|
16
|
-
return;
|
|
17
|
-
// If widget is not registered, bail out
|
|
18
|
-
if (!registry.has(widgetId)) {
|
|
19
|
-
console.warn(`[TileCard] Widget not found in registry: ${widgetId}`);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
// Mount the widget
|
|
23
|
-
const handle = registry.mount(widgetId, containerRef.current, props);
|
|
24
|
-
handleRef.current = handle;
|
|
25
|
-
return () => {
|
|
26
|
-
handle.unmount();
|
|
27
|
-
handleRef.current = null;
|
|
28
|
-
};
|
|
29
|
-
}, [registry, widgetId, props]);
|
|
30
|
-
if (!registry || !registry.has(widgetId)) {
|
|
31
|
-
return (_jsxs("div", { style: {
|
|
32
|
-
padding: '0.75rem',
|
|
33
|
-
fontSize: '0.8rem',
|
|
34
|
-
color: text.tertiary,
|
|
35
|
-
fontStyle: 'italic',
|
|
36
|
-
}, children: ["Widget not available: ", widgetId] }));
|
|
37
|
-
}
|
|
38
|
-
return _jsx("div", { ref: containerRef, style: { width: '100%', minHeight: '40px' } });
|
|
39
|
-
}
|
|
40
|
-
export function TileCard({ config, surface: _surface, telemetry: _telemetry, style, }) {
|
|
41
|
-
const { title, widget, props } = config;
|
|
42
|
-
const [, setTick] = useState(0);
|
|
43
|
-
// Force a re-render once the runtime becomes available so WidgetMount can
|
|
44
|
-
// pick up the registry. This covers the case where TileCard renders before
|
|
45
|
-
// the RuntimeProvider has propagated the runtime value.
|
|
46
|
-
const runtime = useRuntime();
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
if (runtime)
|
|
49
|
-
setTick((t) => t + 1);
|
|
50
|
-
}, [runtime]);
|
|
51
|
-
const [hovered, setHovered] = useState(false);
|
|
52
|
-
const onMouseEnter = useCallback(() => setHovered(true), []);
|
|
53
|
-
const onMouseLeave = useCallback(() => setHovered(false), []);
|
|
54
|
-
const cardStyle = {
|
|
55
|
-
display: 'flex',
|
|
56
|
-
flexDirection: 'column',
|
|
57
|
-
borderRadius: '14px',
|
|
58
|
-
background: hovered ? withAlpha(slateGrey[1], 0.7) : withAlpha(slateGrey[1], 0.6),
|
|
59
|
-
backdropFilter: 'blur(16px) saturate(1.2)',
|
|
60
|
-
WebkitBackdropFilter: 'blur(16px) saturate(1.2)',
|
|
61
|
-
border: '1px solid rgba(255, 255, 255, 0.08)',
|
|
62
|
-
boxShadow: '0 2px 12px rgba(0, 0, 0, 0.3)',
|
|
63
|
-
color: text.primary,
|
|
64
|
-
fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif",
|
|
65
|
-
overflow: 'hidden',
|
|
66
|
-
cursor: 'default',
|
|
67
|
-
transition: 'all 0.25s ease',
|
|
68
|
-
transform: hovered ? 'scale(1.01)' : 'scale(1)',
|
|
69
|
-
...style,
|
|
70
|
-
};
|
|
71
|
-
const headerStyle = {
|
|
72
|
-
display: 'flex',
|
|
73
|
-
alignItems: 'center',
|
|
74
|
-
gap: '0.75rem',
|
|
75
|
-
padding: '0.875rem 1rem',
|
|
76
|
-
minHeight: '72px',
|
|
77
|
-
};
|
|
78
|
-
const iconStyle = {
|
|
79
|
-
width: '40px',
|
|
80
|
-
height: '40px',
|
|
81
|
-
borderRadius: '10px',
|
|
82
|
-
background: `linear-gradient(135deg, ${brand[3]} 0%, ${brand[3]}cc 100%)`,
|
|
83
|
-
display: 'flex',
|
|
84
|
-
alignItems: 'center',
|
|
85
|
-
justifyContent: 'center',
|
|
86
|
-
fontSize: '1.25rem',
|
|
87
|
-
flexShrink: 0,
|
|
88
|
-
boxShadow: `0 2px 8px ${brand[3]}40`,
|
|
89
|
-
};
|
|
90
|
-
return (_jsxs("article", { "data-shadow-canvas-id": `tile-${config.id}`, style: cardStyle, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [_jsxs("div", { style: headerStyle, children: [_jsx("div", { style: iconStyle, children: '+' }), _jsx("div", { style: { flex: 1, minWidth: 0 }, children: _jsx("h3", { style: {
|
|
91
|
-
fontSize: '0.95rem',
|
|
92
|
-
fontWeight: 600,
|
|
93
|
-
color: text.primary,
|
|
94
|
-
margin: '0.125rem 0 0',
|
|
95
|
-
whiteSpace: 'nowrap',
|
|
96
|
-
overflow: 'hidden',
|
|
97
|
-
textOverflow: 'ellipsis',
|
|
98
|
-
}, children: title !== null && title !== void 0 ? title : widget }) })] }), _jsx("div", { style: {
|
|
99
|
-
padding: '0 1rem 1rem',
|
|
100
|
-
borderTop: `1px solid ${border.secondary}`,
|
|
101
|
-
}, children: _jsx("div", { style: { paddingTop: '0.875rem' }, children: _jsx(WidgetMount, { widgetId: widget, props: props }) }) })] }));
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=TileCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TileCard.js","sourceRoot":"","sources":["../../src/components/TileCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { brand, slateGrey, border } from '@syntro/design-system/tokens';
|
|
3
|
-
import { useEffect, useMemo, useState } from 'react';
|
|
4
|
-
import { TileCard } from './TileCard';
|
|
5
|
-
export function TileWheel({ tiles, intervalMs = 7000, telemetry }) {
|
|
6
|
-
const [index, setIndex] = useState(0);
|
|
7
|
-
const ordered = useMemo(() => [...tiles].sort((a, b) => { var _a, _b; return ((_a = a.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = b.priority) !== null && _b !== void 0 ? _b : 0); }), [tiles]);
|
|
8
|
-
useEffect(() => {
|
|
9
|
-
telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened('wheel');
|
|
10
|
-
}, [telemetry]);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
if (ordered.length <= 1)
|
|
13
|
-
return;
|
|
14
|
-
const id = setInterval(() => {
|
|
15
|
-
setIndex((prev) => (prev + 1) % ordered.length);
|
|
16
|
-
}, intervalMs);
|
|
17
|
-
return () => clearInterval(id);
|
|
18
|
-
}, [ordered, intervalMs]);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
const current = ordered[index];
|
|
21
|
-
if (current) {
|
|
22
|
-
telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(current.id, 'wheel');
|
|
23
|
-
}
|
|
24
|
-
}, [index, ordered, telemetry]);
|
|
25
|
-
if (!ordered.length)
|
|
26
|
-
return null;
|
|
27
|
-
return (_jsxs("div", { style: {
|
|
28
|
-
position: 'relative',
|
|
29
|
-
overflow: 'hidden',
|
|
30
|
-
borderRadius: '1.5rem',
|
|
31
|
-
border: `1px solid ${border.primary}`,
|
|
32
|
-
background: slateGrey[1],
|
|
33
|
-
padding: '1.5rem',
|
|
34
|
-
boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
|
|
35
|
-
}, "data-shadow-canvas-id": "wheel", children: [_jsx("div", { style: {
|
|
36
|
-
display: 'flex',
|
|
37
|
-
transition: 'transform 700ms ease-out',
|
|
38
|
-
transform: `translateX(-${index * 100}%)`,
|
|
39
|
-
width: `${ordered.length * 100}%`,
|
|
40
|
-
}, children: ordered.map((tile) => (_jsx("div", { style: { width: '100%', flexShrink: 0, padding: '0 1rem' }, children: _jsx(TileCard, { config: tile, surface: "wheel", telemetry: telemetry }) }, tile.id))) }), _jsx("div", { style: { marginTop: '1rem', display: 'flex', justifyContent: 'center', gap: '0.5rem' }, children: ordered.map((tile, idx) => (_jsx("button", { style: {
|
|
41
|
-
height: '0.5rem',
|
|
42
|
-
width: '1.5rem',
|
|
43
|
-
borderRadius: '9999px',
|
|
44
|
-
background: idx === index ? brand[3] : slateGrey[6],
|
|
45
|
-
border: 'none',
|
|
46
|
-
cursor: 'pointer',
|
|
47
|
-
padding: 0,
|
|
48
|
-
}, onClick: () => setIndex(idx) }, tile.id))) })] }));
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=TileWheel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TileWheel.js","sourceRoot":"","sources":["../../src/components/TileWheel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,SAAS,EAAkB;IAC/E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,EAClE,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAChC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,CACL,eACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,aAAa,MAAM,CAAC,OAAO,EAAE;YACrC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,uCAAuC;SACnD,2BACqB,OAAO,aAE7B,cACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,0BAA0B;oBACtC,SAAS,EAAE,eAAe,KAAK,GAAG,GAAG,IAAI;oBACzC,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG;iBAClC,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,cAAmB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAC3E,KAAC,QAAQ,IAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,OAAO,EAAC,SAAS,EAAE,SAAS,GAAI,IADxD,IAAI,CAAC,EAAE,CAEX,CACP,CAAC,GACE,EACN,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,YACxF,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1B,iBAEE,KAAK,EAAE;wBACL,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,QAAQ;wBACf,YAAY,EAAE,QAAQ;wBACtB,UAAU,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;wBACnD,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,CAAC;qBACX,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAVvB,IAAI,CAAC,EAAE,CAWZ,CACH,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|