@syntrologie/runtime-sdk 0.2.21 → 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.
Files changed (311) hide show
  1. package/CAPABILITIES.md +721 -460
  2. package/README.md +310 -68
  3. package/dist/RuntimeProvider.d.ts +51 -0
  4. package/dist/RuntimeProvider.js +113 -0
  5. package/dist/RuntimeProvider.js.map +1 -0
  6. package/dist/SmartCanvasApp.d.ts +16 -10
  7. package/dist/SmartCanvasApp.js +45 -49
  8. package/dist/SmartCanvasApp.js.map +1 -1
  9. package/dist/SmartCanvasElement.d.ts +5 -5
  10. package/dist/SmartCanvasElement.js +24 -14
  11. package/dist/SmartCanvasElement.js.map +1 -1
  12. package/dist/SmartCanvasPortal.d.ts +2 -2
  13. package/dist/SmartCanvasPortal.js +2 -2
  14. package/dist/actions/ActionEngine.d.ts +11 -0
  15. package/dist/actions/ActionEngine.js +274 -0
  16. package/dist/actions/ActionEngine.js.map +1 -0
  17. package/dist/actions/executors/index.d.ts +117 -0
  18. package/dist/actions/executors/index.js +242 -0
  19. package/dist/actions/executors/index.js.map +1 -0
  20. package/dist/actions/executors/tour.d.ts +18 -0
  21. package/dist/actions/executors/tour.js +332 -0
  22. package/dist/actions/executors/tour.js.map +1 -0
  23. package/dist/actions/index.d.ts +10 -0
  24. package/dist/actions/index.js +12 -0
  25. package/dist/actions/index.js.map +1 -0
  26. package/dist/actions/types.d.ts +399 -0
  27. package/dist/actions/types.js +8 -0
  28. package/dist/actions/types.js.map +1 -0
  29. package/dist/actions/validation.d.ts +14 -0
  30. package/dist/actions/validation.js +602 -0
  31. package/dist/actions/validation.js.map +1 -0
  32. package/dist/antiFlicker.js +1 -1
  33. package/dist/api.d.ts +40 -26
  34. package/dist/api.js +86 -56
  35. package/dist/api.js.map +1 -1
  36. package/dist/apps/AppContext.d.ts +31 -0
  37. package/dist/apps/AppContext.js +93 -0
  38. package/dist/apps/AppContext.js.map +1 -0
  39. package/dist/apps/AppLoader.d.ts +84 -0
  40. package/dist/apps/AppLoader.js +256 -0
  41. package/dist/apps/AppLoader.js.map +1 -0
  42. package/dist/apps/AppRegistry.d.ts +102 -0
  43. package/dist/apps/AppRegistry.js +317 -0
  44. package/dist/apps/AppRegistry.js.map +1 -0
  45. package/dist/apps/adaptive-chatbot/index.js +7 -0
  46. package/dist/apps/adaptive-chatbot/index.js.map +7 -0
  47. package/dist/apps/examples/gamification-app.example.d.ts +305 -0
  48. package/dist/apps/examples/gamification-app.example.js +329 -0
  49. package/dist/apps/examples/gamification-app.example.js.map +1 -0
  50. package/dist/apps/faq/index.js +11 -0
  51. package/dist/apps/faq/index.js.map +7 -0
  52. package/dist/apps/gamification/index.js +2 -0
  53. package/dist/apps/gamification/index.js.map +7 -0
  54. package/dist/apps/index.d.ts +15 -0
  55. package/dist/apps/index.js +17 -0
  56. package/dist/apps/index.js.map +1 -0
  57. package/dist/apps/nav/index.js +11 -0
  58. package/dist/apps/nav/index.js.map +7 -0
  59. package/dist/apps/types.d.ts +231 -0
  60. package/dist/apps/types.js +8 -0
  61. package/dist/apps/types.js.map +1 -0
  62. package/dist/blocks/data/ComparisonBlock.d.ts +1 -1
  63. package/dist/blocks/data/ComparisonBlock.js +40 -40
  64. package/dist/blocks/data/ComparisonBlock.js.map +1 -1
  65. package/dist/blocks/data/StatsBlock.d.ts +1 -1
  66. package/dist/blocks/data/StatsBlock.js +41 -41
  67. package/dist/blocks/data/StatsBlock.js.map +1 -1
  68. package/dist/blocks/data/index.d.ts +2 -2
  69. package/dist/blocks/data/index.js +2 -2
  70. package/dist/blocks/index.d.ts +5 -5
  71. package/dist/blocks/index.js +29 -29
  72. package/dist/blocks/index.js.map +1 -1
  73. package/dist/blocks/interactive/ChecklistBlock.d.ts +1 -1
  74. package/dist/blocks/interactive/ChecklistBlock.js +60 -60
  75. package/dist/blocks/interactive/ChecklistBlock.js.map +1 -1
  76. package/dist/blocks/interactive/RatingBlock.d.ts +1 -1
  77. package/dist/blocks/interactive/RatingBlock.js +75 -65
  78. package/dist/blocks/interactive/RatingBlock.js.map +1 -1
  79. package/dist/blocks/interactive/index.d.ts +2 -2
  80. package/dist/blocks/interactive/index.js +2 -2
  81. package/dist/blocks/notification/NotificationBlock.d.ts +2 -2
  82. package/dist/blocks/notification/NotificationBlock.js +67 -63
  83. package/dist/blocks/notification/NotificationBlock.js.map +1 -1
  84. package/dist/blocks/notification/index.d.ts +1 -1
  85. package/dist/blocks/notification/index.js +1 -1
  86. package/dist/bootstrap.d.ts +32 -8
  87. package/dist/bootstrap.js +204 -85
  88. package/dist/bootstrap.js.map +1 -1
  89. package/dist/components/ShadowCanvasOverlay.d.ts +6 -6
  90. package/dist/components/ShadowCanvasOverlay.js +144 -107
  91. package/dist/components/ShadowCanvasOverlay.js.map +1 -1
  92. package/dist/components/TileCard.d.ts +5 -5
  93. package/dist/components/TileCard.js +204 -154
  94. package/dist/components/TileCard.js.map +1 -1
  95. package/dist/components/TileWheel.d.ts +3 -3
  96. package/dist/components/TileWheel.js +7 -7
  97. package/dist/components/TileWheel.js.map +1 -1
  98. package/dist/config-validator.d.ts +49 -0
  99. package/dist/config-validator.js +173 -0
  100. package/dist/config-validator.js.map +1 -0
  101. package/dist/configFetcher.d.ts +2 -2
  102. package/dist/configFetcher.js +20 -8
  103. package/dist/configFetcher.js.map +1 -1
  104. package/dist/context/ContextManager.d.ts +3 -3
  105. package/dist/context/ContextManager.js +15 -15
  106. package/dist/context/ContextManager.js.map +1 -1
  107. package/dist/context/index.d.ts +4 -4
  108. package/dist/context/index.js +3 -3
  109. package/dist/context/schema.d.ts +17 -17
  110. package/dist/context/schema.js +1 -1
  111. package/dist/decisions/engine.d.ts +5 -5
  112. package/dist/decisions/engine.js +13 -13
  113. package/dist/decisions/index.d.ts +6 -6
  114. package/dist/decisions/index.js +5 -5
  115. package/dist/decisions/schema.d.ts +97 -97
  116. package/dist/decisions/schema.js +20 -20
  117. package/dist/decisions/strategies/rules.d.ts +1 -1
  118. package/dist/decisions/strategies/rules.js +24 -24
  119. package/dist/decisions/strategies/rules.js.map +1 -1
  120. package/dist/decisions/strategies/score.d.ts +1 -1
  121. package/dist/decisions/strategies/score.js +3 -3
  122. package/dist/decisions/types.d.ts +19 -19
  123. package/dist/earlyPatcher.d.ts +8 -20
  124. package/dist/earlyPatcher.js +13 -62
  125. package/dist/earlyPatcher.js.map +1 -1
  126. package/dist/editorLoader.d.ts +2 -0
  127. package/dist/editorLoader.js +104 -58
  128. package/dist/editorLoader.js.map +1 -1
  129. package/dist/events/EventBus.d.ts +3 -3
  130. package/dist/events/EventBus.js +5 -7
  131. package/dist/events/EventBus.js.map +1 -1
  132. package/dist/events/index.d.ts +6 -6
  133. package/dist/events/index.js +5 -5
  134. package/dist/events/normalizers/canvas.d.ts +2 -2
  135. package/dist/events/normalizers/canvas.js +3 -3
  136. package/dist/events/normalizers/canvas.js.map +1 -1
  137. package/dist/events/normalizers/posthog.d.ts +25 -1
  138. package/dist/events/normalizers/posthog.js +35 -27
  139. package/dist/events/normalizers/posthog.js.map +1 -1
  140. package/dist/events/schema.d.ts +13 -13
  141. package/dist/events/schema.js +2 -2
  142. package/dist/events/types.d.ts +7 -1
  143. package/dist/events/types.js +29 -21
  144. package/dist/events/types.js.map +1 -1
  145. package/dist/experiments/adapters/growthbook.d.ts +4 -4
  146. package/dist/experiments/adapters/growthbook.js +5 -5
  147. package/dist/experiments/adapters/growthbook.js.map +1 -1
  148. package/dist/experiments/index.d.ts +3 -3
  149. package/dist/experiments/index.js +1 -1
  150. package/dist/experiments/registry.d.ts +2 -2
  151. package/dist/experiments/registry.js +2 -2
  152. package/dist/experiments/types.d.ts +5 -1
  153. package/dist/fetchers/cdnFetcher.d.ts +1 -1
  154. package/dist/fetchers/cdnFetcher.js +4 -8
  155. package/dist/fetchers/cdnFetcher.js.map +1 -1
  156. package/dist/fetchers/experimentsFetcher.d.ts +2 -2
  157. package/dist/fetchers/experimentsFetcher.js +7 -7
  158. package/dist/fetchers/experimentsFetcher.js.map +1 -1
  159. package/dist/fetchers/index.d.ts +3 -3
  160. package/dist/fetchers/index.js +2 -2
  161. package/dist/fetchers/index.js.map +1 -1
  162. package/dist/fetchers/registry.d.ts +1 -1
  163. package/dist/fetchers/registry.js +4 -4
  164. package/dist/fetchers/types.d.ts +1 -1
  165. package/dist/hooks/useCanvasOverlays.d.ts +8 -5
  166. package/dist/hooks/useCanvasOverlays.js +66 -17
  167. package/dist/hooks/useCanvasOverlays.js.map +1 -1
  168. package/dist/hooks/useHostPatches.d.ts +2 -2
  169. package/dist/hooks/useHostPatches.js +8 -8
  170. package/dist/hooks/useHostPatches.js.map +1 -1
  171. package/dist/hooks/useShadowCanvasConfig.d.ts +5 -9
  172. package/dist/hooks/useShadowCanvasConfig.js +7 -5
  173. package/dist/hooks/useShadowCanvasConfig.js.map +1 -1
  174. package/dist/hostPatcher/core/patcher.d.ts +1 -1
  175. package/dist/hostPatcher/core/patcher.js +18 -9
  176. package/dist/hostPatcher/core/patcher.js.map +1 -1
  177. package/dist/hostPatcher/core/sanitizer.js +24 -3
  178. package/dist/hostPatcher/core/sanitizer.js.map +1 -1
  179. package/dist/hostPatcher/policy/defaultPolicy.js +15 -5
  180. package/dist/hostPatcher/policy/defaultPolicy.js.map +1 -1
  181. package/dist/hostPatcher/utils/anchors.js +4 -6
  182. package/dist/hostPatcher/utils/anchors.js.map +1 -1
  183. package/dist/index.d.ts +34 -27
  184. package/dist/index.js +36 -24
  185. package/dist/index.js.map +1 -1
  186. package/dist/logger.d.ts +29 -0
  187. package/dist/logger.js +81 -0
  188. package/dist/logger.js.map +1 -0
  189. package/dist/metrics/index.d.ts +1 -1
  190. package/dist/metrics/index.js +1 -1
  191. package/dist/metrics/sessionMetrics.d.ts +1 -1
  192. package/dist/metrics/sessionMetrics.js +6 -6
  193. package/dist/overlays/fetcher.d.ts +2 -2
  194. package/dist/overlays/fetcher.js +4 -4
  195. package/dist/overlays/recipeRegistry.js +2 -2
  196. package/dist/overlays/recipeRegistry.js.map +1 -1
  197. package/dist/overlays/runtime/anchor/resolve.js +1 -1
  198. package/dist/overlays/runtime/anchor/resolve.js.map +1 -1
  199. package/dist/overlays/runtime/index.d.ts +7 -7
  200. package/dist/overlays/runtime/index.js +7 -7
  201. package/dist/overlays/runtime/overlay/highlight.js +39 -39
  202. package/dist/overlays/runtime/overlay/highlight.js.map +1 -1
  203. package/dist/overlays/runtime/overlay/modal.js +5 -5
  204. package/dist/overlays/runtime/overlay/modal.js.map +1 -1
  205. package/dist/overlays/runtime/overlay/root.js +1 -1
  206. package/dist/overlays/runtime/overlay/runner.js +70 -23
  207. package/dist/overlays/runtime/overlay/runner.js.map +1 -1
  208. package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
  209. package/dist/overlays/runtime/overlay/tooltip.js +10 -10
  210. package/dist/overlays/runtime/overlay/tooltip.js.map +1 -1
  211. package/dist/overlays/runtime/utils/dom.js +4 -1
  212. package/dist/overlays/runtime/utils/dom.js.map +1 -1
  213. package/dist/overlays/schema.d.ts +146 -146
  214. package/dist/overlays/schema.js +12 -8
  215. package/dist/overlays/schema.js.map +1 -1
  216. package/dist/react.d.ts +7 -7
  217. package/dist/react.js +4 -4
  218. package/dist/react.js.map +1 -1
  219. package/dist/render/RenderContext.d.ts +2 -2
  220. package/dist/render/RenderContext.js +5 -5
  221. package/dist/render/RenderContext.js.map +1 -1
  222. package/dist/render/index.d.ts +3 -3
  223. package/dist/render/index.js +1 -1
  224. package/dist/render/types.d.ts +4 -4
  225. package/dist/runtime.d.ts +32 -8
  226. package/dist/runtime.js +87 -13
  227. package/dist/runtime.js.map +1 -1
  228. package/dist/smart-canvas.esm.js +155 -78
  229. package/dist/smart-canvas.esm.js.map +4 -4
  230. package/dist/smart-canvas.js +38776 -33216
  231. package/dist/smart-canvas.js.map +4 -4
  232. package/dist/smart-canvas.min.js +156 -78
  233. package/dist/smart-canvas.min.js.map +4 -4
  234. package/dist/state/StateStore.d.ts +1 -1
  235. package/dist/state/StateStore.js +9 -9
  236. package/dist/state/StateStore.js.map +1 -1
  237. package/dist/state/helpers/cooldowns.d.ts +1 -1
  238. package/dist/state/helpers/cooldowns.js +1 -1
  239. package/dist/state/helpers/dismissals.d.ts +1 -1
  240. package/dist/state/helpers/dismissals.js +1 -1
  241. package/dist/state/helpers/frequency.d.ts +1 -1
  242. package/dist/state/helpers/frequency.js +1 -1
  243. package/dist/state/index.d.ts +4 -4
  244. package/dist/state/index.js +3 -3
  245. package/dist/state/schema.d.ts +1 -1
  246. package/dist/state/schema.js +1 -1
  247. package/dist/store/example.d.ts +1 -0
  248. package/dist/store/example.js +43 -0
  249. package/dist/store/example.js.map +1 -0
  250. package/dist/store/mini-effector.d.ts +46 -0
  251. package/dist/store/mini-effector.js +88 -0
  252. package/dist/store/mini-effector.js.map +1 -0
  253. package/dist/surfaces/Surfaces.d.ts +11 -0
  254. package/dist/surfaces/Surfaces.js +361 -0
  255. package/dist/surfaces/Surfaces.js.map +1 -0
  256. package/dist/surfaces/index.d.ts +9 -0
  257. package/dist/surfaces/index.js +12 -0
  258. package/dist/surfaces/index.js.map +1 -0
  259. package/dist/surfaces/positioning.d.ts +50 -0
  260. package/dist/surfaces/positioning.js +228 -0
  261. package/dist/surfaces/positioning.js.map +1 -0
  262. package/dist/surfaces/types.d.ts +167 -0
  263. package/dist/surfaces/types.js +23 -0
  264. package/dist/surfaces/types.js.map +1 -0
  265. package/dist/telemetry/adapters/noop.d.ts +12 -0
  266. package/dist/telemetry/adapters/noop.js +42 -0
  267. package/dist/telemetry/adapters/noop.js.map +1 -0
  268. package/dist/telemetry/adapters/posthog.d.ts +8 -2
  269. package/dist/telemetry/adapters/posthog.js +36 -14
  270. package/dist/telemetry/adapters/posthog.js.map +1 -1
  271. package/dist/telemetry/index.d.ts +4 -3
  272. package/dist/telemetry/index.js +3 -2
  273. package/dist/telemetry/index.js.map +1 -1
  274. package/dist/telemetry/registry.d.ts +2 -2
  275. package/dist/telemetry/registry.js +4 -2
  276. package/dist/telemetry/registry.js.map +1 -1
  277. package/dist/telemetry/types.d.ts +1 -1
  278. package/dist/theme/ThemeProvider.d.ts +2 -2
  279. package/dist/theme/ThemeProvider.js +21 -21
  280. package/dist/theme/ThemeProvider.js.map +1 -1
  281. package/dist/theme/defaultTheme.d.ts +2 -2
  282. package/dist/theme/defaultTheme.js +111 -111
  283. package/dist/theme/defaultTheme.js.map +1 -1
  284. package/dist/theme/extractHostTheme.d.ts +1 -1
  285. package/dist/theme/extractHostTheme.js +42 -44
  286. package/dist/theme/extractHostTheme.js.map +1 -1
  287. package/dist/theme/index.d.ts +5 -5
  288. package/dist/theme/index.js +3 -3
  289. package/dist/theme/index.js.map +1 -1
  290. package/dist/theme/types.d.ts +2 -2
  291. package/dist/token.d.ts +2 -0
  292. package/dist/token.js +3 -6
  293. package/dist/token.js.map +1 -1
  294. package/dist/types-only.d.ts +32 -0
  295. package/dist/types-only.js +11 -0
  296. package/dist/types-only.js.map +1 -0
  297. package/dist/types.d.ts +89 -56
  298. package/dist/types.js +15 -2
  299. package/dist/types.js.map +1 -1
  300. package/dist/version.d.ts +13 -0
  301. package/dist/version.js +14 -0
  302. package/dist/version.js.map +1 -0
  303. package/dist/widgets/WidgetRegistry.d.ts +139 -0
  304. package/dist/widgets/WidgetRegistry.js +182 -0
  305. package/dist/widgets/WidgetRegistry.js.map +1 -0
  306. package/dist/widgets/index.d.ts +7 -0
  307. package/dist/widgets/index.js +7 -0
  308. package/dist/widgets/index.js.map +1 -0
  309. package/package.json +26 -10
  310. package/schema/canvas-config.schema.json +488 -254
  311. package/schema/runtime-context.schema.json +1 -5
@@ -1,139 +1,172 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { useState, useEffect, useRef } from "react";
3
- import { renderBlock, isNewBlockType } from "../blocks";
4
- import { getRecipeStartRoute } from "../overlays/recipeRegistry";
5
- function ChatbotBlock({ config, telemetry, surface, }) {
2
+ import { useState, useEffect, useRef, useCallback } from 'react';
3
+ import { renderBlock, isNewBlockType } from '../blocks';
4
+ import { useRuntime } from '../RuntimeProvider';
5
+ import { CanvasEvents } from '../events/normalizers/canvas';
6
+ function ChatbotBlock({ config, telemetry, surface }) {
6
7
  const [messages, setMessages] = useState([
7
- { author: "Lumi", text: "Hi! Need clarity on a deduction?" },
8
+ { author: 'Lumi', text: 'Hi! Need clarity on a deduction?' },
8
9
  ]);
9
- const [input, setInput] = useState("");
10
+ const [input, setInput] = useState('');
11
+ // Get runtime for publishing events to the EventBus
12
+ const runtime = useRuntime();
10
13
  const handleSubmit = (event) => {
11
14
  event.preventDefault();
12
15
  if (!input.trim())
13
16
  return;
14
- setMessages((prev) => [...prev, { author: "You", text: input.trim() }]);
17
+ setMessages((prev) => [...prev, { author: 'You', text: input.trim() }]);
15
18
  setTimeout(() => {
16
19
  setMessages((prev) => [
17
20
  ...prev,
18
21
  {
19
- author: "Lumi",
20
- text: "I will route that to the experimentation server stub for now.",
22
+ author: 'Lumi',
23
+ text: 'I will route that to the experimentation server stub for now.',
21
24
  },
22
25
  ]);
23
26
  }, 600);
24
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("chatbot_message", config.id, surface);
25
- setInput("");
27
+ // Telemetry tracking (PostHog)
28
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction('chatbot_message', config.id, surface);
29
+ // EventBus publishing
30
+ if (runtime) {
31
+ const event = CanvasEvents.tileAction(config.id, 'chatbot_message', surface);
32
+ runtime.events.publish(event.name, event.props, event.source);
33
+ }
34
+ setInput('');
26
35
  };
27
- return (_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem", height: "100%" }, children: [_jsx("div", { style: {
36
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.75rem', height: '100%' }, children: [_jsx("div", { style: {
28
37
  flex: 1,
29
- overflowY: "auto",
30
- padding: "0.75rem",
31
- background: "rgba(0, 0, 0, 0.2)",
32
- borderRadius: "8px",
33
- fontSize: "0.85rem",
34
- }, children: messages.map((message, idx) => (_jsxs("p", { style: { margin: "0 0 0.5rem" }, children: [_jsxs("span", { style: { fontWeight: 600, color: "#94a3b8" }, children: [message.author, ":"] }), " ", _jsx("span", { style: { color: "#e2e8f0" }, children: message.text })] }, `${message.author}-${idx}`))) }), _jsxs("form", { onSubmit: handleSubmit, style: { display: "flex", gap: "0.5rem" }, children: [_jsx("input", { style: {
38
+ overflowY: 'auto',
39
+ padding: '0.75rem',
40
+ background: 'rgba(0, 0, 0, 0.2)',
41
+ borderRadius: '8px',
42
+ fontSize: '0.85rem',
43
+ }, children: messages.map((message, idx) => (_jsxs("p", { style: { margin: '0 0 0.5rem' }, children: [_jsxs("span", { style: { fontWeight: 600, color: '#94a3b8' }, children: [message.author, ":"] }), ' ', _jsx("span", { style: { color: '#e2e8f0' }, children: message.text })] }, `${message.author}-${idx}`))) }), _jsxs("form", { onSubmit: handleSubmit, style: { display: 'flex', gap: '0.5rem' }, children: [_jsx("input", { style: {
35
44
  flex: 1,
36
- padding: "0.5rem 0.75rem",
37
- borderRadius: "6px",
38
- border: "1px solid rgba(255, 255, 255, 0.1)",
39
- background: "rgba(0, 0, 0, 0.3)",
40
- color: "#f1f5f9",
41
- fontSize: "0.85rem",
42
- outline: "none",
45
+ padding: '0.5rem 0.75rem',
46
+ borderRadius: '6px',
47
+ border: '1px solid rgba(255, 255, 255, 0.1)',
48
+ background: 'rgba(0, 0, 0, 0.3)',
49
+ color: '#f1f5f9',
50
+ fontSize: '0.85rem',
51
+ outline: 'none',
43
52
  }, value: input, onChange: (event) => setInput(event.target.value), placeholder: "Ask anything..." }), _jsx("button", { style: {
44
- padding: "0.5rem 0.75rem",
45
- borderRadius: "6px",
46
- border: "none",
47
- background: "#6366f1",
48
- color: "white",
53
+ padding: '0.5rem 0.75rem',
54
+ borderRadius: '6px',
55
+ border: 'none',
56
+ background: '#6366f1',
57
+ color: 'white',
49
58
  fontWeight: 600,
50
- fontSize: "0.8rem",
51
- cursor: "pointer",
59
+ fontSize: '0.8rem',
60
+ cursor: 'pointer',
52
61
  }, type: "submit", children: "Send" })] })] }));
53
62
  }
54
- function CustomRendererWrapper({ renderer, config, surface, telemetry, isExpanded, }) {
63
+ function CustomRendererWrapper({ renderer, config, surface, telemetry, isExpanded, runtime, }) {
55
64
  const containerRef = useRef(null);
56
65
  useEffect(() => {
57
66
  if (!containerRef.current)
58
67
  return;
59
- // Pass isExpanded to tile components so they can adjust their rendering
60
- const cleanup = renderer.mount(containerRef.current, { config, surface, telemetry, isExpanded });
68
+ // Pass isExpanded and runtime to tile components so they can adjust their rendering
69
+ const cleanup = renderer.mount(containerRef.current, {
70
+ config,
71
+ surface,
72
+ telemetry,
73
+ isExpanded,
74
+ runtime,
75
+ });
61
76
  return () => {
62
77
  if (cleanup)
63
78
  cleanup();
64
79
  };
65
- }, [renderer, config, surface, telemetry, isExpanded]);
66
- return _jsx("div", { ref: containerRef, style: { width: "100%", height: "100%" } });
80
+ }, [renderer, config, surface, telemetry, isExpanded, runtime]);
81
+ return _jsx("div", { ref: containerRef, style: { width: '100%', height: '100%' } });
67
82
  }
68
83
  export function TileCard({ config, surface, telemetry, style, customRenderers, isExpanded = false, onToggleExpand, }) {
69
84
  var _a, _b, _c;
70
85
  const { title, subtitle, content, style: configStyle } = config;
71
- const accentColor = (_a = configStyle === null || configStyle === void 0 ? void 0 : configStyle.accentColor) !== null && _a !== void 0 ? _a : "#6366f1";
86
+ // Get runtime for publishing events to the EventBus
87
+ const runtime = useRuntime();
88
+ // Helper to track action events (telemetry + EventBus)
89
+ const trackAction = useCallback((actionId) => {
90
+ // Telemetry tracking (PostHog)
91
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction(actionId, config.id, surface);
92
+ // EventBus publishing
93
+ if (runtime) {
94
+ const event = CanvasEvents.tileAction(config.id, actionId, surface);
95
+ runtime.events.publish(event.name, event.props, event.source);
96
+ }
97
+ }, [telemetry, runtime, config.id, surface]);
98
+ const accentColor = (_a = configStyle === null || configStyle === void 0 ? void 0 : configStyle.accentColor) !== null && _a !== void 0 ? _a : '#6366f1';
72
99
  // Collapsed height - consistent like macOS notification center
73
- const collapsedHeight = "72px";
100
+ const collapsedHeight = '72px';
74
101
  const cardStyle = {
75
- display: "flex",
76
- flexDirection: "column",
77
- borderRadius: "14px",
78
- background: (_b = configStyle === null || configStyle === void 0 ? void 0 : configStyle.background) !== null && _b !== void 0 ? _b : "rgba(28, 28, 30, 0.95)",
79
- border: "1px solid rgba(255, 255, 255, 0.08)",
80
- boxShadow: "0 2px 12px rgba(0, 0, 0, 0.3)",
81
- color: (_c = configStyle === null || configStyle === void 0 ? void 0 : configStyle.textColor) !== null && _c !== void 0 ? _c : "#f5f5f7",
102
+ display: 'flex',
103
+ flexDirection: 'column',
104
+ borderRadius: '14px',
105
+ background: (_b = configStyle === null || configStyle === void 0 ? void 0 : configStyle.background) !== null && _b !== void 0 ? _b : 'rgba(28, 28, 30, 0.95)',
106
+ border: '1px solid rgba(255, 255, 255, 0.08)',
107
+ boxShadow: '0 2px 12px rgba(0, 0, 0, 0.3)',
108
+ color: (_c = configStyle === null || configStyle === void 0 ? void 0 : configStyle.textColor) !== null && _c !== void 0 ? _c : '#f5f5f7',
82
109
  fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif",
83
- overflow: "hidden",
84
- cursor: onToggleExpand ? "pointer" : "default",
85
- transition: "all 0.25s ease",
110
+ overflow: 'hidden',
111
+ cursor: onToggleExpand ? 'pointer' : 'default',
112
+ transition: 'all 0.25s ease',
86
113
  ...style,
87
114
  };
88
115
  const headerStyle = {
89
- display: "flex",
90
- alignItems: "center",
91
- gap: "0.75rem",
92
- padding: "0.875rem 1rem",
116
+ display: 'flex',
117
+ alignItems: 'center',
118
+ gap: '0.75rem',
119
+ padding: '0.875rem 1rem',
93
120
  minHeight: collapsedHeight,
94
121
  };
95
122
  const iconStyle = {
96
- width: "40px",
97
- height: "40px",
98
- borderRadius: "10px",
123
+ width: '40px',
124
+ height: '40px',
125
+ borderRadius: '10px',
99
126
  background: `linear-gradient(135deg, ${accentColor} 0%, ${accentColor}cc 100%)`,
100
- display: "flex",
101
- alignItems: "center",
102
- justifyContent: "center",
103
- fontSize: "1.25rem",
127
+ display: 'flex',
128
+ alignItems: 'center',
129
+ justifyContent: 'center',
130
+ fontSize: '1.25rem',
104
131
  flexShrink: 0,
105
132
  boxShadow: `0 2px 8px ${accentColor}40`,
106
133
  };
107
134
  const getIcon = () => {
108
135
  switch (content.type) {
109
- case "chatbot": return "💬";
110
- case "metric": return "📊";
111
- case "embed": return "🔗";
112
- case "custom": return "⚙️";
113
- case "checklist": return "📋";
114
- default: return "📄";
136
+ case 'chatbot':
137
+ return '💬';
138
+ case 'metric':
139
+ return '📊';
140
+ case 'embed':
141
+ return '🔗';
142
+ case 'custom':
143
+ return '⚙️';
144
+ case 'checklist':
145
+ return '📋';
146
+ default:
147
+ return '📄';
115
148
  }
116
149
  };
117
150
  const getPreview = () => {
118
151
  var _a;
119
152
  switch (content.type) {
120
- case "metric":
121
- return `${content.metricValue}${content.metricUnit ? ` ${content.metricUnit}` : ""}`;
122
- case "text":
123
- return content.headline || ((_a = content.body) === null || _a === void 0 ? void 0 : _a.slice(0, 50)) || "";
124
- case "chatbot":
125
- return "Tap to chat";
126
- case "embed":
127
- return "Tap to view";
128
- case "custom":
129
- return "Tap to expand";
130
- case "checklist": {
153
+ case 'metric':
154
+ return `${content.metricValue}${content.metricUnit ? ` ${content.metricUnit}` : ''}`;
155
+ case 'text':
156
+ return content.headline || ((_a = content.body) === null || _a === void 0 ? void 0 : _a.slice(0, 50)) || '';
157
+ case 'chatbot':
158
+ return 'Tap to chat';
159
+ case 'embed':
160
+ return 'Tap to view';
161
+ case 'custom':
162
+ return 'Tap to expand';
163
+ case 'checklist': {
131
164
  const items = content.items || [];
132
165
  const completed = items.filter((i) => i.completed).length;
133
166
  return `${completed} of ${items.length} complete`;
134
167
  }
135
168
  default:
136
- return "";
169
+ return '';
137
170
  }
138
171
  };
139
172
  const renderExpandedContent = () => {
@@ -143,10 +176,10 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
143
176
  const blockContent = renderBlock(content, {
144
177
  accentColor,
145
178
  onDismiss: () => {
146
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("block_dismissed", config.id, surface);
179
+ trackAction('block_dismissed');
147
180
  },
148
- onRatingSubmit: (value) => {
149
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("rating_submitted", config.id, surface);
181
+ onRatingSubmit: (_value) => {
182
+ trackAction('rating_submitted');
150
183
  },
151
184
  });
152
185
  if (blockContent) {
@@ -155,37 +188,47 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
155
188
  }
156
189
  // Fall back to legacy rendering
157
190
  switch (content.type) {
158
- case "chatbot":
159
- return (_jsx("div", { style: { height: "200px" }, children: _jsx(ChatbotBlock, { config: config, surface: surface, telemetry: telemetry }) }));
160
- case "metric":
161
- return (_jsxs("div", { style: { textAlign: "center", padding: "0.5rem 0" }, children: [_jsxs("p", { style: {
162
- fontSize: "3rem",
191
+ case 'chatbot':
192
+ return (_jsx("div", { style: { height: '200px' }, children: _jsx(ChatbotBlock, { config: config, surface: surface, telemetry: telemetry }) }));
193
+ case 'metric':
194
+ return (_jsxs("div", { style: { textAlign: 'center', padding: '0.5rem 0' }, children: [_jsxs("p", { style: {
195
+ fontSize: '3rem',
163
196
  fontWeight: 700,
164
197
  color: accentColor,
165
198
  margin: 0,
166
- letterSpacing: "-0.02em",
167
- }, children: [content.metricValue, content.metricUnit && (_jsx("span", { style: { fontSize: "1.25rem", fontWeight: 400, color: "#8e8e93", marginLeft: "0.5rem" }, children: content.metricUnit }))] }), content.headline && (_jsx("p", { style: { fontSize: "0.85rem", color: "#8e8e93", margin: "0.5rem 0 0" }, children: content.headline }))] }));
168
- case "embed":
199
+ letterSpacing: '-0.02em',
200
+ }, children: [content.metricValue, content.metricUnit && (_jsx("span", { style: {
201
+ fontSize: '1.25rem',
202
+ fontWeight: 400,
203
+ color: '#8e8e93',
204
+ marginLeft: '0.5rem',
205
+ }, children: content.metricUnit }))] }), content.headline && (_jsx("p", { style: { fontSize: '0.85rem', color: '#8e8e93', margin: '0.5rem 0 0' }, children: content.headline }))] }));
206
+ case 'embed':
169
207
  return content.embedUrl ? (_jsx("iframe", { src: content.embedUrl, sandbox: "allow-scripts allow-same-origin", referrerPolicy: "no-referrer", style: {
170
- width: "100%",
171
- height: "200px",
172
- borderRadius: "8px",
173
- border: "1px solid rgba(255, 255, 255, 0.1)",
174
- background: "rgba(0, 0, 0, 0.2)",
208
+ width: '100%',
209
+ height: '200px',
210
+ borderRadius: '8px',
211
+ border: '1px solid rgba(255, 255, 255, 0.1)',
212
+ background: 'rgba(0, 0, 0, 0.2)',
175
213
  }, title: (_a = content.headline) !== null && _a !== void 0 ? _a : config.title })) : null;
176
- case "custom": {
214
+ case 'custom': {
177
215
  // Support both legacy `customRendererKey` and new `component` field
178
216
  const key = content.component || content.customRendererKey;
179
217
  if (!key || !customRenderers || !customRenderers[key]) {
180
- return _jsxs("div", { style: { color: "#ff6b6b", fontSize: "0.85rem", padding: "0.5rem 0" }, children: ["Unknown component: ", key] });
218
+ return (_jsxs("div", { style: { color: '#ff6b6b', fontSize: '0.85rem', padding: '0.5rem 0' }, children: ["Unknown component: ", key] }));
181
219
  }
182
- return (_jsx(CustomRendererWrapper, { renderer: customRenderers[key], config: config, surface: surface, telemetry: telemetry, isExpanded: isExpanded }));
220
+ return (_jsx(CustomRendererWrapper, { renderer: customRenderers[key], config: config, surface: surface, telemetry: telemetry, isExpanded: isExpanded, runtime: runtime }));
183
221
  }
184
- case "text":
222
+ case 'text':
185
223
  default: {
186
224
  // Use type assertion for legacy content types
187
225
  const legacyContent = content;
188
- return (_jsxs("div", { style: { padding: "0.25rem 0" }, children: [legacyContent.headline && (_jsx("p", { style: { fontSize: "1rem", fontWeight: 600, color: "#f5f5f7", margin: "0 0 0.5rem" }, children: legacyContent.headline })), legacyContent.body && (_jsx("p", { style: { fontSize: "0.9rem", color: "#8e8e93", margin: 0, lineHeight: 1.5 }, children: legacyContent.body }))] }));
226
+ return (_jsxs("div", { style: { padding: '0.25rem 0' }, children: [legacyContent.headline && (_jsx("p", { style: {
227
+ fontSize: '1rem',
228
+ fontWeight: 600,
229
+ color: '#f5f5f7',
230
+ margin: '0 0 0.5rem',
231
+ }, children: legacyContent.headline })), legacyContent.body && (_jsx("p", { style: { fontSize: '0.9rem', color: '#8e8e93', margin: 0, lineHeight: 1.5 }, children: legacyContent.body }))] }));
189
232
  }
190
233
  }
191
234
  };
@@ -195,66 +238,69 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
195
238
  return;
196
239
  onToggleExpand === null || onToggleExpand === void 0 ? void 0 : onToggleExpand();
197
240
  }, children: [_jsxs("div", { style: headerStyle, children: [_jsx("div", { style: iconStyle, children: getIcon() }), _jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [subtitle && (_jsx("p", { style: {
198
- fontSize: "0.7rem",
199
- textTransform: "uppercase",
200
- letterSpacing: "0.05em",
201
- color: "#8e8e93",
241
+ fontSize: '0.7rem',
242
+ textTransform: 'uppercase',
243
+ letterSpacing: '0.05em',
244
+ color: '#8e8e93',
202
245
  margin: 0,
203
246
  }, children: subtitle })), _jsx("h3", { style: {
204
- fontSize: "0.95rem",
247
+ fontSize: '0.95rem',
205
248
  fontWeight: 600,
206
- color: "#f5f5f7",
207
- margin: "0.125rem 0 0",
208
- whiteSpace: "nowrap",
209
- overflow: "hidden",
210
- textOverflow: "ellipsis",
249
+ color: '#f5f5f7',
250
+ margin: '0.125rem 0 0',
251
+ whiteSpace: 'nowrap',
252
+ overflow: 'hidden',
253
+ textOverflow: 'ellipsis',
211
254
  }, children: title }), !isExpanded && (_jsx("p", { style: {
212
- fontSize: "0.8rem",
213
- color: "#8e8e93",
214
- margin: "0.125rem 0 0",
215
- whiteSpace: "nowrap",
216
- overflow: "hidden",
217
- textOverflow: "ellipsis",
255
+ fontSize: '0.8rem',
256
+ color: '#8e8e93',
257
+ margin: '0.125rem 0 0',
258
+ whiteSpace: 'nowrap',
259
+ overflow: 'hidden',
260
+ textOverflow: 'ellipsis',
218
261
  }, children: getPreview() }))] }), _jsx("div", { style: {
219
- color: "#8e8e93",
220
- fontSize: "0.85rem",
221
- transform: isExpanded ? "rotate(180deg)" : "rotate(0deg)",
222
- transition: "transform 0.2s ease",
262
+ color: '#8e8e93',
263
+ fontSize: '0.85rem',
264
+ transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)',
265
+ transition: 'transform 0.2s ease',
223
266
  }, children: "\u25BC" })] }), isExpanded && (_jsxs("div", { "data-expanded-content": true, style: {
224
- padding: "0 1rem 1rem",
225
- borderTop: "1px solid rgba(255, 255, 255, 0.06)",
226
- }, onClick: (e) => e.stopPropagation(), children: [_jsx("div", { style: { paddingTop: "0.875rem" }, children: renderExpandedContent() }), ('actions' in content) && content.actions && content.actions.length > 0 && (_jsx("div", { style: {
227
- marginTop: "1rem",
228
- paddingTop: "0.75rem",
229
- borderTop: "1px solid rgba(255, 255, 255, 0.06)",
230
- display: "flex",
231
- gap: "0.5rem",
267
+ padding: '0 1rem 1rem',
268
+ borderTop: '1px solid rgba(255, 255, 255, 0.06)',
269
+ }, onClick: (e) => e.stopPropagation(), children: [_jsx("div", { style: { paddingTop: '0.875rem' }, children: renderExpandedContent() }), 'actions' in content &&
270
+ content.actions &&
271
+ content.actions.length > 0 && (_jsx("div", { style: {
272
+ marginTop: '1rem',
273
+ paddingTop: '0.75rem',
274
+ borderTop: '1px solid rgba(255, 255, 255, 0.06)',
275
+ display: 'flex',
276
+ gap: '0.5rem',
232
277
  }, children: content.actions.map((action, idx) => (_jsx("button", { onClick: (e) => {
233
278
  e.stopPropagation();
234
- if (action.href && typeof window !== "undefined") {
235
- window.open(action.href, "_blank", "noreferrer");
279
+ if (action.href && typeof window !== 'undefined') {
280
+ window.open(action.href, '_blank', 'noreferrer');
236
281
  }
237
282
  if (action.onClickId) {
238
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction(action.onClickId, config.id, surface);
283
+ trackAction(action.onClickId);
239
284
  // Handle special syntro: prefixed actions
240
- if (action.onClickId.startsWith('syntro:restart-tour:') || action.onClickId.startsWith('syntro:start-tour:')) {
241
- const tourId = action.onClickId.replace('syntro:restart-tour:', '').replace('syntro:start-tour:', '');
242
- const storageKey = `syntro_tour_${tourId}`;
285
+ if (action.onClickId.startsWith('syntro:restart-tour:') ||
286
+ action.onClickId.startsWith('syntro:start-tour:')) {
287
+ const tourId = action.onClickId
288
+ .replace('syntro:restart-tour:', '')
289
+ .replace('syntro:start-tour:', '');
243
290
  try {
244
- localStorage.removeItem(storageKey);
291
+ // Clear any existing tour state and start fresh
245
292
  localStorage.removeItem('syntro_active_tour');
246
- localStorage.setItem('syntro_active_tour', JSON.stringify({ tourId, stepId: '', timestamp: Date.now() }));
293
+ // Use v2 format: { tourId, currentStepId, startedAt }
294
+ // currentStepId='' means start from the beginning (uses startStep or first step)
295
+ localStorage.setItem('syntro_active_tour', JSON.stringify({
296
+ tourId,
297
+ currentStepId: '',
298
+ startedAt: Date.now(),
299
+ }));
247
300
  console.log(`[SmartCanvas] Starting tour "${tourId}"...`);
248
- // Navigate to first step's route if different from current page
249
- const startRoute = getRecipeStartRoute(tourId);
250
- const currentPath = window.location.pathname;
251
- if (startRoute && startRoute !== currentPath) {
252
- console.log(`[SmartCanvas] Navigating to tour start route: ${startRoute}`);
253
- window.location.href = startRoute;
254
- }
255
- else {
256
- window.location.reload();
257
- }
301
+ // Reload the page to trigger the tour
302
+ // The tour executor will pick up the state and start the tour
303
+ window.location.reload();
258
304
  }
259
305
  catch (err) {
260
306
  console.warn('[SmartCanvas] Failed to start tour:', err);
@@ -263,15 +309,19 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
263
309
  }
264
310
  }, style: {
265
311
  flex: 1,
266
- padding: "0.625rem 1rem",
267
- borderRadius: "8px",
268
- fontSize: "0.85rem",
312
+ padding: '0.625rem 1rem',
313
+ borderRadius: '8px',
314
+ fontSize: '0.85rem',
269
315
  fontWeight: 600,
270
- cursor: "pointer",
271
- border: "none",
272
- background: idx === 0 ? accentColor : "rgba(255, 255, 255, 0.1)",
273
- color: "#fff",
274
- transition: "opacity 0.15s ease",
275
- }, onMouseEnter: (e) => { e.currentTarget.style.opacity = "0.85"; }, onMouseLeave: (e) => { e.currentTarget.style.opacity = "1"; }, children: action.label }, action.label))) }))] }))] }));
316
+ cursor: 'pointer',
317
+ border: 'none',
318
+ background: idx === 0 ? accentColor : 'rgba(255, 255, 255, 0.1)',
319
+ color: '#fff',
320
+ transition: 'opacity 0.15s ease',
321
+ }, onMouseEnter: (e) => {
322
+ e.currentTarget.style.opacity = '0.85';
323
+ }, onMouseLeave: (e) => {
324
+ e.currentTarget.style.opacity = '1';
325
+ }, children: action.label }, action.label))) }))] }))] }));
276
326
  }
277
327
  //# sourceMappingURL=TileCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileCard.js","sourceRoot":"","sources":["../../src/components/TileCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileCard.js","sourceRoot":"","sources":["../../src/components/TileCard.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { TileConfig } from "../types";
2
- import type { TelemetryClient } from "../telemetry/types";
1
+ import type { TileConfig } from '../types';
2
+ import type { TelemetryClient } from '../telemetry/types';
3
3
  export interface TileWheelProps {
4
4
  tiles: TileConfig[];
5
5
  intervalMs?: number;
6
6
  telemetry?: TelemetryClient;
7
7
  }
8
- export declare function TileWheel({ tiles, intervalMs, telemetry, }: TileWheelProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function TileWheel({ tiles, intervalMs, telemetry }: TileWheelProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useState } from "react";
3
- import { TileCard } from "./TileCard";
4
- export function TileWheel({ tiles, intervalMs = 7000, telemetry, }) {
2
+ import { useEffect, useMemo, useState } from 'react';
3
+ import { TileCard } from './TileCard';
4
+ export function TileWheel({ tiles, intervalMs = 7000, telemetry }) {
5
5
  const [index, setIndex] = useState(0);
6
6
  const ordered = useMemo(() => [...tiles]
7
- .filter((tile) => tile.size !== "half")
7
+ .filter((tile) => tile.size !== 'half')
8
8
  .sort((a, b) => { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); }), [tiles]);
9
9
  useEffect(() => {
10
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened("wheel");
10
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened('wheel');
11
11
  }, [telemetry]);
12
12
  useEffect(() => {
13
13
  if (ordered.length <= 1)
@@ -20,11 +20,11 @@ export function TileWheel({ tiles, intervalMs = 7000, telemetry, }) {
20
20
  useEffect(() => {
21
21
  const current = ordered[index];
22
22
  if (current) {
23
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(current.id, "wheel");
23
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(current.id, 'wheel');
24
24
  }
25
25
  }, [index, ordered, telemetry]);
26
26
  if (!ordered.length)
27
27
  return null;
28
- return (_jsxs("div", { className: "relative overflow-hidden rounded-3xl border border-slate-200 bg-gradient-to-br from-white to-slate-50 p-6 shadow-2xl", "data-shadow-canvas-id": "wheel", children: [_jsx("div", { className: "flex transition-transform duration-700 ease-out", style: { transform: `translateX(-${index * 100}%)`, width: `${ordered.length * 100}%` }, children: ordered.map((tile) => (_jsx("div", { className: "w-full shrink-0 px-4", children: _jsx(TileCard, { config: { ...tile, size: "half" }, surface: "wheel", telemetry: telemetry }) }, tile.id))) }), _jsx("div", { className: "mt-4 flex justify-center gap-2", children: ordered.map((tile, idx) => (_jsx("button", { className: `h-2 w-6 rounded-full ${idx === index ? "bg-slate-800" : "bg-slate-300"}`, onClick: () => setIndex(idx) }, tile.id))) })] }));
28
+ return (_jsxs("div", { className: "relative overflow-hidden rounded-3xl border border-slate-200 bg-gradient-to-br from-white to-slate-50 p-6 shadow-2xl", "data-shadow-canvas-id": "wheel", children: [_jsx("div", { className: "flex transition-transform duration-700 ease-out", style: { transform: `translateX(-${index * 100}%)`, width: `${ordered.length * 100}%` }, children: ordered.map((tile) => (_jsx("div", { className: "w-full shrink-0 px-4", children: _jsx(TileCard, { config: { ...tile, size: 'half' }, surface: "wheel", telemetry: telemetry }) }, tile.id))) }), _jsx("div", { className: "mt-4 flex justify-center gap-2", children: ordered.map((tile, idx) => (_jsx("button", { className: `h-2 w-6 rounded-full ${idx === index ? 'bg-slate-800' : 'bg-slate-300'}`, onClick: () => setIndex(idx) }, tile.id))) })] }));
29
29
  }
30
30
  //# sourceMappingURL=TileWheel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TileWheel.js","sourceRoot":"","sources":["../../src/components/TileWheel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileWheel.js","sourceRoot":"","sources":["../../src/components/TileWheel.tsx"],"names":[],"mappings":"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"}