@syntrologie/runtime-sdk 0.2.21 → 1.0.0

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 (324) hide show
  1. package/CAPABILITIES.md +944 -440
  2. package/README.md +395 -66
  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 +47 -51
  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/SmartCanvasPortal.js.map +1 -1
  15. package/dist/actions/ActionEngine.d.ts +11 -0
  16. package/dist/actions/ActionEngine.js +272 -0
  17. package/dist/actions/ActionEngine.js.map +1 -0
  18. package/dist/actions/executors/index.d.ts +116 -0
  19. package/dist/actions/executors/index.js +240 -0
  20. package/dist/actions/executors/index.js.map +1 -0
  21. package/dist/actions/executors/tour.d.ts +18 -0
  22. package/dist/actions/executors/tour.js +332 -0
  23. package/dist/actions/executors/tour.js.map +1 -0
  24. package/dist/actions/index.d.ts +10 -0
  25. package/dist/actions/index.js +12 -0
  26. package/dist/actions/index.js.map +1 -0
  27. package/dist/actions/types.d.ts +399 -0
  28. package/dist/actions/types.js +8 -0
  29. package/dist/actions/types.js.map +1 -0
  30. package/dist/actions/validation.d.ts +14 -0
  31. package/dist/actions/validation.js +577 -0
  32. package/dist/actions/validation.js.map +1 -0
  33. package/dist/adaptives/adaptive-chatbot/index.js +9 -0
  34. package/dist/adaptives/adaptive-chatbot/index.js.map +7 -0
  35. package/dist/adaptives/adaptive-content/index.js +2 -0
  36. package/dist/adaptives/adaptive-content/index.js.map +7 -0
  37. package/dist/adaptives/adaptive-faq/index.js +11 -0
  38. package/dist/adaptives/adaptive-faq/index.js.map +7 -0
  39. package/dist/adaptives/adaptive-gamification/index.js +2 -0
  40. package/dist/adaptives/adaptive-gamification/index.js.map +7 -0
  41. package/dist/adaptives/adaptive-nav/index.js +11 -0
  42. package/dist/adaptives/adaptive-nav/index.js.map +7 -0
  43. package/dist/adaptives/adaptive-overlays/index.js +91 -0
  44. package/dist/adaptives/adaptive-overlays/index.js.map +7 -0
  45. package/dist/antiFlicker.js +1 -1
  46. package/dist/api.d.ts +40 -26
  47. package/dist/api.js +87 -60
  48. package/dist/api.js.map +1 -1
  49. package/dist/apps/AppContext.d.ts +31 -0
  50. package/dist/apps/AppContext.js +91 -0
  51. package/dist/apps/AppContext.js.map +1 -0
  52. package/dist/apps/AppLoader.d.ts +85 -0
  53. package/dist/apps/AppLoader.js +282 -0
  54. package/dist/apps/AppLoader.js.map +1 -0
  55. package/dist/apps/AppRegistry.d.ts +102 -0
  56. package/dist/apps/AppRegistry.js +317 -0
  57. package/dist/apps/AppRegistry.js.map +1 -0
  58. package/dist/apps/examples/gamification-app.example.d.ts +305 -0
  59. package/dist/apps/examples/gamification-app.example.js +329 -0
  60. package/dist/apps/examples/gamification-app.example.js.map +1 -0
  61. package/dist/apps/index.d.ts +14 -0
  62. package/dist/apps/index.js +16 -0
  63. package/dist/apps/index.js.map +1 -0
  64. package/dist/apps/types.d.ts +231 -0
  65. package/dist/apps/types.js +8 -0
  66. package/dist/apps/types.js.map +1 -0
  67. package/dist/blocks/data/ComparisonBlock.d.ts +1 -1
  68. package/dist/blocks/data/ComparisonBlock.js +40 -40
  69. package/dist/blocks/data/ComparisonBlock.js.map +1 -1
  70. package/dist/blocks/data/StatsBlock.d.ts +1 -1
  71. package/dist/blocks/data/StatsBlock.js +42 -44
  72. package/dist/blocks/data/StatsBlock.js.map +1 -1
  73. package/dist/blocks/data/index.d.ts +2 -2
  74. package/dist/blocks/data/index.js +2 -2
  75. package/dist/blocks/index.d.ts +5 -5
  76. package/dist/blocks/index.js +29 -30
  77. package/dist/blocks/index.js.map +1 -1
  78. package/dist/blocks/interactive/ChecklistBlock.d.ts +1 -1
  79. package/dist/blocks/interactive/ChecklistBlock.js +60 -60
  80. package/dist/blocks/interactive/ChecklistBlock.js.map +1 -1
  81. package/dist/blocks/interactive/RatingBlock.d.ts +1 -1
  82. package/dist/blocks/interactive/RatingBlock.js +73 -65
  83. package/dist/blocks/interactive/RatingBlock.js.map +1 -1
  84. package/dist/blocks/interactive/index.d.ts +2 -2
  85. package/dist/blocks/interactive/index.js +2 -2
  86. package/dist/blocks/notification/NotificationBlock.d.ts +2 -2
  87. package/dist/blocks/notification/NotificationBlock.js +68 -64
  88. package/dist/blocks/notification/NotificationBlock.js.map +1 -1
  89. package/dist/blocks/notification/index.d.ts +1 -1
  90. package/dist/blocks/notification/index.js +1 -1
  91. package/dist/bootstrap.d.ts +32 -8
  92. package/dist/bootstrap.js +218 -102
  93. package/dist/bootstrap.js.map +1 -1
  94. package/dist/components/ShadowCanvasOverlay.d.ts +6 -6
  95. package/dist/components/ShadowCanvasOverlay.js +156 -118
  96. package/dist/components/ShadowCanvasOverlay.js.map +1 -1
  97. package/dist/components/TileCard.d.ts +5 -5
  98. package/dist/components/TileCard.js +205 -154
  99. package/dist/components/TileCard.js.map +1 -1
  100. package/dist/components/TileWheel.d.ts +3 -3
  101. package/dist/components/TileWheel.js +29 -7
  102. package/dist/components/TileWheel.js.map +1 -1
  103. package/dist/config-validator.d.ts +49 -0
  104. package/dist/config-validator.js +173 -0
  105. package/dist/config-validator.js.map +1 -0
  106. package/dist/configFetcher.d.ts +7 -3
  107. package/dist/configFetcher.js +70 -29
  108. package/dist/configFetcher.js.map +1 -1
  109. package/dist/context/ContextManager.d.ts +3 -3
  110. package/dist/context/ContextManager.js +19 -18
  111. package/dist/context/ContextManager.js.map +1 -1
  112. package/dist/context/index.d.ts +4 -4
  113. package/dist/context/index.js +3 -3
  114. package/dist/context/schema.d.ts +9 -9
  115. package/dist/context/schema.js +2 -2
  116. package/dist/context/schema.js.map +1 -1
  117. package/dist/decisions/engine.d.ts +5 -5
  118. package/dist/decisions/engine.js +13 -13
  119. package/dist/decisions/engine.js.map +1 -1
  120. package/dist/decisions/index.d.ts +6 -6
  121. package/dist/decisions/index.js +5 -5
  122. package/dist/decisions/schema.d.ts +131 -131
  123. package/dist/decisions/schema.js +21 -21
  124. package/dist/decisions/schema.js.map +1 -1
  125. package/dist/decisions/strategies/rules.d.ts +1 -1
  126. package/dist/decisions/strategies/rules.js +24 -24
  127. package/dist/decisions/strategies/rules.js.map +1 -1
  128. package/dist/decisions/strategies/score.d.ts +1 -1
  129. package/dist/decisions/strategies/score.js +3 -3
  130. package/dist/decisions/types.d.ts +19 -19
  131. package/dist/earlyPatcher.d.ts +8 -20
  132. package/dist/earlyPatcher.js +13 -62
  133. package/dist/earlyPatcher.js.map +1 -1
  134. package/dist/editorLoader.d.ts +19 -7
  135. package/dist/editorLoader.js +154 -97
  136. package/dist/editorLoader.js.map +1 -1
  137. package/dist/events/EventBus.d.ts +3 -3
  138. package/dist/events/EventBus.js +5 -7
  139. package/dist/events/EventBus.js.map +1 -1
  140. package/dist/events/index.d.ts +6 -6
  141. package/dist/events/index.js +5 -5
  142. package/dist/events/normalizers/canvas.d.ts +2 -2
  143. package/dist/events/normalizers/canvas.js +3 -3
  144. package/dist/events/normalizers/canvas.js.map +1 -1
  145. package/dist/events/normalizers/posthog.d.ts +25 -1
  146. package/dist/events/normalizers/posthog.js +35 -27
  147. package/dist/events/normalizers/posthog.js.map +1 -1
  148. package/dist/events/schema.d.ts +13 -13
  149. package/dist/events/schema.js +3 -3
  150. package/dist/events/schema.js.map +1 -1
  151. package/dist/events/types.d.ts +7 -1
  152. package/dist/events/types.js +29 -21
  153. package/dist/events/types.js.map +1 -1
  154. package/dist/experiments/adapters/growthbook.d.ts +5 -4
  155. package/dist/experiments/adapters/growthbook.js +14 -6
  156. package/dist/experiments/adapters/growthbook.js.map +1 -1
  157. package/dist/experiments/index.d.ts +3 -3
  158. package/dist/experiments/index.js +1 -1
  159. package/dist/experiments/registry.d.ts +2 -2
  160. package/dist/experiments/registry.js +2 -2
  161. package/dist/experiments/types.d.ts +10 -1
  162. package/dist/fetchers/cdnFetcher.d.ts +1 -1
  163. package/dist/fetchers/cdnFetcher.js +4 -8
  164. package/dist/fetchers/cdnFetcher.js.map +1 -1
  165. package/dist/fetchers/experimentsFetcher.d.ts +25 -3
  166. package/dist/fetchers/experimentsFetcher.js +55 -8
  167. package/dist/fetchers/experimentsFetcher.js.map +1 -1
  168. package/dist/fetchers/index.d.ts +3 -3
  169. package/dist/fetchers/index.js +2 -2
  170. package/dist/fetchers/index.js.map +1 -1
  171. package/dist/fetchers/mergeConfigs.d.ts +29 -0
  172. package/dist/fetchers/mergeConfigs.js +38 -0
  173. package/dist/fetchers/mergeConfigs.js.map +1 -0
  174. package/dist/fetchers/registry.d.ts +1 -1
  175. package/dist/fetchers/registry.js +4 -4
  176. package/dist/fetchers/types.d.ts +1 -1
  177. package/dist/hooks/useCanvasOverlays.d.ts +8 -5
  178. package/dist/hooks/useCanvasOverlays.js +66 -17
  179. package/dist/hooks/useCanvasOverlays.js.map +1 -1
  180. package/dist/hooks/useHostPatches.d.ts +2 -2
  181. package/dist/hooks/useHostPatches.js +8 -8
  182. package/dist/hooks/useHostPatches.js.map +1 -1
  183. package/dist/hooks/useShadowCanvasConfig.d.ts +5 -9
  184. package/dist/hooks/useShadowCanvasConfig.js +7 -5
  185. package/dist/hooks/useShadowCanvasConfig.js.map +1 -1
  186. package/dist/hostPatcher/core/patcher.d.ts +1 -1
  187. package/dist/hostPatcher/core/patcher.js +18 -9
  188. package/dist/hostPatcher/core/patcher.js.map +1 -1
  189. package/dist/hostPatcher/core/sanitizer.js +24 -3
  190. package/dist/hostPatcher/core/sanitizer.js.map +1 -1
  191. package/dist/hostPatcher/policy/defaultPolicy.js +15 -5
  192. package/dist/hostPatcher/policy/defaultPolicy.js.map +1 -1
  193. package/dist/hostPatcher/utils/anchors.js +4 -6
  194. package/dist/hostPatcher/utils/anchors.js.map +1 -1
  195. package/dist/index.d.ts +34 -27
  196. package/dist/index.js +51 -24
  197. package/dist/index.js.map +1 -1
  198. package/dist/logger.d.ts +29 -0
  199. package/dist/logger.js +81 -0
  200. package/dist/logger.js.map +1 -0
  201. package/dist/metrics/index.d.ts +1 -1
  202. package/dist/metrics/index.js +1 -1
  203. package/dist/metrics/sessionMetrics.d.ts +1 -1
  204. package/dist/metrics/sessionMetrics.js +6 -6
  205. package/dist/overlays/fetcher.d.ts +2 -2
  206. package/dist/overlays/fetcher.js +13 -15
  207. package/dist/overlays/fetcher.js.map +1 -1
  208. package/dist/overlays/recipeRegistry.js +2 -2
  209. package/dist/overlays/recipeRegistry.js.map +1 -1
  210. package/dist/overlays/runtime/anchor/resolve.js +1 -1
  211. package/dist/overlays/runtime/anchor/resolve.js.map +1 -1
  212. package/dist/overlays/runtime/index.d.ts +7 -7
  213. package/dist/overlays/runtime/index.js +7 -7
  214. package/dist/overlays/runtime/overlay/highlight.js +39 -39
  215. package/dist/overlays/runtime/overlay/highlight.js.map +1 -1
  216. package/dist/overlays/runtime/overlay/modal.js +5 -5
  217. package/dist/overlays/runtime/overlay/modal.js.map +1 -1
  218. package/dist/overlays/runtime/overlay/root.js +1 -1
  219. package/dist/overlays/runtime/overlay/runner.js +88 -28
  220. package/dist/overlays/runtime/overlay/runner.js.map +1 -1
  221. package/dist/overlays/runtime/overlay/tooltip.d.ts +1 -1
  222. package/dist/overlays/runtime/overlay/tooltip.js +13 -15
  223. package/dist/overlays/runtime/overlay/tooltip.js.map +1 -1
  224. package/dist/overlays/runtime/utils/dom.js +4 -1
  225. package/dist/overlays/runtime/utils/dom.js.map +1 -1
  226. package/dist/overlays/schema.d.ts +146 -146
  227. package/dist/overlays/schema.js +12 -8
  228. package/dist/overlays/schema.js.map +1 -1
  229. package/dist/react.d.ts +7 -7
  230. package/dist/react.js +4 -4
  231. package/dist/react.js.map +1 -1
  232. package/dist/render/RenderContext.d.ts +2 -2
  233. package/dist/render/RenderContext.js +5 -5
  234. package/dist/render/RenderContext.js.map +1 -1
  235. package/dist/render/index.d.ts +3 -3
  236. package/dist/render/index.js +1 -1
  237. package/dist/render/types.d.ts +4 -4
  238. package/dist/runtime.d.ts +32 -8
  239. package/dist/runtime.js +109 -13
  240. package/dist/runtime.js.map +1 -1
  241. package/dist/smart-canvas.esm.js +144 -55
  242. package/dist/smart-canvas.esm.js.map +4 -4
  243. package/dist/smart-canvas.js +14688 -11455
  244. package/dist/smart-canvas.js.map +4 -4
  245. package/dist/smart-canvas.min.js +145 -55
  246. package/dist/smart-canvas.min.js.map +4 -4
  247. package/dist/state/StateStore.d.ts +1 -7
  248. package/dist/state/StateStore.js +15 -9
  249. package/dist/state/StateStore.js.map +1 -1
  250. package/dist/state/helpers/cooldowns.d.ts +1 -1
  251. package/dist/state/helpers/cooldowns.js +1 -1
  252. package/dist/state/helpers/dismissals.d.ts +1 -1
  253. package/dist/state/helpers/dismissals.js +1 -1
  254. package/dist/state/helpers/frequency.d.ts +1 -1
  255. package/dist/state/helpers/frequency.js +1 -1
  256. package/dist/state/index.d.ts +4 -4
  257. package/dist/state/index.js +3 -3
  258. package/dist/state/schema.d.ts +1 -1
  259. package/dist/state/schema.js +1 -1
  260. package/dist/store/example.d.ts +1 -0
  261. package/dist/store/example.js +43 -0
  262. package/dist/store/example.js.map +1 -0
  263. package/dist/store/mini-effector.d.ts +46 -0
  264. package/dist/store/mini-effector.js +88 -0
  265. package/dist/store/mini-effector.js.map +1 -0
  266. package/dist/surfaces/Surfaces.d.ts +11 -0
  267. package/dist/surfaces/Surfaces.js +361 -0
  268. package/dist/surfaces/Surfaces.js.map +1 -0
  269. package/dist/surfaces/index.d.ts +9 -0
  270. package/dist/surfaces/index.js +12 -0
  271. package/dist/surfaces/index.js.map +1 -0
  272. package/dist/surfaces/positioning.d.ts +50 -0
  273. package/dist/surfaces/positioning.js +228 -0
  274. package/dist/surfaces/positioning.js.map +1 -0
  275. package/dist/surfaces/types.d.ts +167 -0
  276. package/dist/surfaces/types.js +23 -0
  277. package/dist/surfaces/types.js.map +1 -0
  278. package/dist/telemetry/adapters/noop.d.ts +12 -0
  279. package/dist/telemetry/adapters/noop.js +42 -0
  280. package/dist/telemetry/adapters/noop.js.map +1 -0
  281. package/dist/telemetry/adapters/posthog.d.ts +8 -2
  282. package/dist/telemetry/adapters/posthog.js +36 -14
  283. package/dist/telemetry/adapters/posthog.js.map +1 -1
  284. package/dist/telemetry/index.d.ts +4 -3
  285. package/dist/telemetry/index.js +3 -2
  286. package/dist/telemetry/index.js.map +1 -1
  287. package/dist/telemetry/registry.d.ts +2 -9
  288. package/dist/telemetry/registry.js +4 -2
  289. package/dist/telemetry/registry.js.map +1 -1
  290. package/dist/telemetry/types.d.ts +1 -1
  291. package/dist/theme/ThemeProvider.d.ts +2 -2
  292. package/dist/theme/ThemeProvider.js +21 -21
  293. package/dist/theme/ThemeProvider.js.map +1 -1
  294. package/dist/theme/defaultTheme.d.ts +4 -5
  295. package/dist/theme/defaultTheme.js +127 -118
  296. package/dist/theme/defaultTheme.js.map +1 -1
  297. package/dist/theme/extractHostTheme.d.ts +1 -1
  298. package/dist/theme/extractHostTheme.js +43 -45
  299. package/dist/theme/extractHostTheme.js.map +1 -1
  300. package/dist/theme/index.d.ts +5 -5
  301. package/dist/theme/index.js +3 -3
  302. package/dist/theme/index.js.map +1 -1
  303. package/dist/theme/types.d.ts +2 -2
  304. package/dist/token.d.ts +2 -0
  305. package/dist/token.js +3 -6
  306. package/dist/token.js.map +1 -1
  307. package/dist/types-only.d.ts +32 -0
  308. package/dist/types-only.js +11 -0
  309. package/dist/types-only.js.map +1 -0
  310. package/dist/types.d.ts +89 -56
  311. package/dist/types.js +14 -2
  312. package/dist/types.js.map +1 -1
  313. package/dist/version.d.ts +13 -0
  314. package/dist/version.js +14 -0
  315. package/dist/version.js.map +1 -0
  316. package/dist/widgets/WidgetRegistry.d.ts +145 -0
  317. package/dist/widgets/WidgetRegistry.js +191 -0
  318. package/dist/widgets/WidgetRegistry.js.map +1 -0
  319. package/dist/widgets/index.d.ts +7 -0
  320. package/dist/widgets/index.js +7 -0
  321. package/dist/widgets/index.js.map +1 -0
  322. package/package.json +35 -15
  323. package/schema/canvas-config.schema.json +488 -254
  324. package/schema/runtime-context.schema.json +1 -5
@@ -1,139 +1,173 @@
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 { brand, slateGrey, red, text, border } from '@syntro/design-system/tokens';
3
+ import { useState, useEffect, useRef, useCallback } from 'react';
4
+ import { renderBlock, isNewBlockType } from '../blocks';
5
+ import { CanvasEvents } from '../events/normalizers/canvas';
6
+ import { useRuntime } from '../RuntimeProvider';
7
+ function ChatbotBlock({ config, telemetry, surface }) {
6
8
  const [messages, setMessages] = useState([
7
- { author: "Lumi", text: "Hi! Need clarity on a deduction?" },
9
+ { author: 'Lumi', text: 'Hi! Need clarity on a deduction?' },
8
10
  ]);
9
- const [input, setInput] = useState("");
11
+ const [input, setInput] = useState('');
12
+ // Get runtime for publishing events to the EventBus
13
+ const runtime = useRuntime();
10
14
  const handleSubmit = (event) => {
11
15
  event.preventDefault();
12
16
  if (!input.trim())
13
17
  return;
14
- setMessages((prev) => [...prev, { author: "You", text: input.trim() }]);
18
+ setMessages((prev) => [...prev, { author: 'You', text: input.trim() }]);
15
19
  setTimeout(() => {
16
20
  setMessages((prev) => [
17
21
  ...prev,
18
22
  {
19
- author: "Lumi",
20
- text: "I will route that to the experimentation server stub for now.",
23
+ author: 'Lumi',
24
+ text: 'I will route that to the experimentation server stub for now.',
21
25
  },
22
26
  ]);
23
27
  }, 600);
24
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("chatbot_message", config.id, surface);
25
- setInput("");
28
+ // Telemetry tracking (PostHog)
29
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction('chatbot_message', config.id, surface);
30
+ // EventBus publishing
31
+ if (runtime) {
32
+ const event = CanvasEvents.tileAction(config.id, 'chatbot_message', surface);
33
+ runtime.events.publish(event.name, event.props, event.source);
34
+ }
35
+ setInput('');
26
36
  };
27
- return (_jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem", height: "100%" }, children: [_jsx("div", { style: {
37
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.75rem', height: '100%' }, children: [_jsx("div", { style: {
28
38
  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: {
39
+ overflowY: 'auto',
40
+ padding: '0.75rem',
41
+ background: `${slateGrey[0]}33`,
42
+ borderRadius: '8px',
43
+ fontSize: '0.85rem',
44
+ }, children: messages.map((message, idx) => (_jsxs("p", { style: { margin: '0 0 0.5rem' }, children: [_jsxs("span", { style: { fontWeight: 600, color: text.secondary }, children: [message.author, ":"] }), ' ', _jsx("span", { style: { color: text.primary }, children: message.text })] }, `${message.author}-${idx}`))) }), _jsxs("form", { onSubmit: handleSubmit, style: { display: 'flex', gap: '0.5rem' }, children: [_jsx("input", { style: {
35
45
  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",
46
+ padding: '0.5rem 0.75rem',
47
+ borderRadius: '6px',
48
+ border: `1px solid ${border.secondary}`,
49
+ background: `${slateGrey[0]}4d`,
50
+ color: text.primary,
51
+ fontSize: '0.85rem',
52
+ outline: 'none',
43
53
  }, 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",
54
+ padding: '0.5rem 0.75rem',
55
+ borderRadius: '6px',
56
+ border: 'none',
57
+ background: brand[3],
58
+ color: 'white',
49
59
  fontWeight: 600,
50
- fontSize: "0.8rem",
51
- cursor: "pointer",
60
+ fontSize: '0.8rem',
61
+ cursor: 'pointer',
52
62
  }, type: "submit", children: "Send" })] })] }));
53
63
  }
54
- function CustomRendererWrapper({ renderer, config, surface, telemetry, isExpanded, }) {
64
+ function CustomRendererWrapper({ renderer, config, surface, telemetry, isExpanded, runtime, }) {
55
65
  const containerRef = useRef(null);
56
66
  useEffect(() => {
57
67
  if (!containerRef.current)
58
68
  return;
59
- // Pass isExpanded to tile components so they can adjust their rendering
60
- const cleanup = renderer.mount(containerRef.current, { config, surface, telemetry, isExpanded });
69
+ // Pass isExpanded and runtime to tile components so they can adjust their rendering
70
+ const cleanup = renderer.mount(containerRef.current, {
71
+ config,
72
+ surface,
73
+ telemetry,
74
+ isExpanded,
75
+ runtime,
76
+ });
61
77
  return () => {
62
78
  if (cleanup)
63
79
  cleanup();
64
80
  };
65
- }, [renderer, config, surface, telemetry, isExpanded]);
66
- return _jsx("div", { ref: containerRef, style: { width: "100%", height: "100%" } });
81
+ }, [renderer, config, surface, telemetry, isExpanded, runtime]);
82
+ return _jsx("div", { ref: containerRef, style: { width: '100%', height: '100%' } });
67
83
  }
68
84
  export function TileCard({ config, surface, telemetry, style, customRenderers, isExpanded = false, onToggleExpand, }) {
69
85
  var _a, _b, _c;
70
86
  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";
87
+ // Get runtime for publishing events to the EventBus
88
+ const runtime = useRuntime();
89
+ // Helper to track action events (telemetry + EventBus)
90
+ const trackAction = useCallback((actionId) => {
91
+ // Telemetry tracking (PostHog)
92
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction(actionId, config.id, surface);
93
+ // EventBus publishing
94
+ if (runtime) {
95
+ const event = CanvasEvents.tileAction(config.id, actionId, surface);
96
+ runtime.events.publish(event.name, event.props, event.source);
97
+ }
98
+ }, [telemetry, runtime, config.id, surface]);
99
+ const accentColor = (_a = configStyle === null || configStyle === void 0 ? void 0 : configStyle.accentColor) !== null && _a !== void 0 ? _a : brand[3];
72
100
  // Collapsed height - consistent like macOS notification center
73
- const collapsedHeight = "72px";
101
+ const collapsedHeight = '72px';
74
102
  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",
103
+ display: 'flex',
104
+ flexDirection: 'column',
105
+ borderRadius: '14px',
106
+ background: (_b = configStyle === null || configStyle === void 0 ? void 0 : configStyle.background) !== null && _b !== void 0 ? _b : `${slateGrey[1]}f2`,
107
+ border: `1px solid ${border.secondary}`,
108
+ boxShadow: '0 2px 12px rgba(0, 0, 0, 0.3)',
109
+ color: (_c = configStyle === null || configStyle === void 0 ? void 0 : configStyle.textColor) !== null && _c !== void 0 ? _c : text.primary,
82
110
  fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif",
83
- overflow: "hidden",
84
- cursor: onToggleExpand ? "pointer" : "default",
85
- transition: "all 0.25s ease",
111
+ overflow: 'hidden',
112
+ cursor: onToggleExpand ? 'pointer' : 'default',
113
+ transition: 'all 0.25s ease',
86
114
  ...style,
87
115
  };
88
116
  const headerStyle = {
89
- display: "flex",
90
- alignItems: "center",
91
- gap: "0.75rem",
92
- padding: "0.875rem 1rem",
117
+ display: 'flex',
118
+ alignItems: 'center',
119
+ gap: '0.75rem',
120
+ padding: '0.875rem 1rem',
93
121
  minHeight: collapsedHeight,
94
122
  };
95
123
  const iconStyle = {
96
- width: "40px",
97
- height: "40px",
98
- borderRadius: "10px",
124
+ width: '40px',
125
+ height: '40px',
126
+ borderRadius: '10px',
99
127
  background: `linear-gradient(135deg, ${accentColor} 0%, ${accentColor}cc 100%)`,
100
- display: "flex",
101
- alignItems: "center",
102
- justifyContent: "center",
103
- fontSize: "1.25rem",
128
+ display: 'flex',
129
+ alignItems: 'center',
130
+ justifyContent: 'center',
131
+ fontSize: '1.25rem',
104
132
  flexShrink: 0,
105
133
  boxShadow: `0 2px 8px ${accentColor}40`,
106
134
  };
107
135
  const getIcon = () => {
108
136
  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 "📄";
137
+ case 'chatbot':
138
+ return '💬';
139
+ case 'metric':
140
+ return '📊';
141
+ case 'embed':
142
+ return '🔗';
143
+ case 'custom':
144
+ return '⚙️';
145
+ case 'checklist':
146
+ return '📋';
147
+ default:
148
+ return '📄';
115
149
  }
116
150
  };
117
151
  const getPreview = () => {
118
152
  var _a;
119
153
  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": {
154
+ case 'metric':
155
+ return `${content.metricValue}${content.metricUnit ? ` ${content.metricUnit}` : ''}`;
156
+ case 'text':
157
+ return content.headline || ((_a = content.body) === null || _a === void 0 ? void 0 : _a.slice(0, 50)) || '';
158
+ case 'chatbot':
159
+ return 'Tap to chat';
160
+ case 'embed':
161
+ return 'Tap to view';
162
+ case 'custom':
163
+ return 'Tap to expand';
164
+ case 'checklist': {
131
165
  const items = content.items || [];
132
166
  const completed = items.filter((i) => i.completed).length;
133
167
  return `${completed} of ${items.length} complete`;
134
168
  }
135
169
  default:
136
- return "";
170
+ return '';
137
171
  }
138
172
  };
139
173
  const renderExpandedContent = () => {
@@ -143,10 +177,10 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
143
177
  const blockContent = renderBlock(content, {
144
178
  accentColor,
145
179
  onDismiss: () => {
146
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("block_dismissed", config.id, surface);
180
+ trackAction('block_dismissed');
147
181
  },
148
- onRatingSubmit: (value) => {
149
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction("rating_submitted", config.id, surface);
182
+ onRatingSubmit: (_value) => {
183
+ trackAction('rating_submitted');
150
184
  },
151
185
  });
152
186
  if (blockContent) {
@@ -155,37 +189,47 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
155
189
  }
156
190
  // Fall back to legacy rendering
157
191
  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",
192
+ case 'chatbot':
193
+ return (_jsx("div", { style: { height: '200px' }, children: _jsx(ChatbotBlock, { config: config, surface: surface, telemetry: telemetry }) }));
194
+ case 'metric':
195
+ return (_jsxs("div", { style: { textAlign: 'center', padding: '0.5rem 0' }, children: [_jsxs("p", { style: {
196
+ fontSize: '3rem',
163
197
  fontWeight: 700,
164
198
  color: accentColor,
165
199
  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":
200
+ letterSpacing: '-0.02em',
201
+ }, children: [content.metricValue, content.metricUnit && (_jsx("span", { style: {
202
+ fontSize: '1.25rem',
203
+ fontWeight: 400,
204
+ color: text.tertiary,
205
+ marginLeft: '0.5rem',
206
+ }, children: content.metricUnit }))] }), content.headline && (_jsx("p", { style: { fontSize: '0.85rem', color: text.tertiary, margin: '0.5rem 0 0' }, children: content.headline }))] }));
207
+ case 'embed':
169
208
  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)",
209
+ width: '100%',
210
+ height: '200px',
211
+ borderRadius: '8px',
212
+ border: '1px solid rgba(255, 255, 255, 0.1)',
213
+ background: 'rgba(0, 0, 0, 0.2)',
175
214
  }, title: (_a = content.headline) !== null && _a !== void 0 ? _a : config.title })) : null;
176
- case "custom": {
215
+ case 'custom': {
177
216
  // Support both legacy `customRendererKey` and new `component` field
178
217
  const key = content.component || content.customRendererKey;
179
218
  if (!key || !customRenderers || !customRenderers[key]) {
180
- return _jsxs("div", { style: { color: "#ff6b6b", fontSize: "0.85rem", padding: "0.5rem 0" }, children: ["Unknown component: ", key] });
219
+ return (_jsxs("div", { style: { color: red[5], fontSize: '0.85rem', padding: '0.5rem 0' }, children: ["Unknown component: ", key] }));
181
220
  }
182
- return (_jsx(CustomRendererWrapper, { renderer: customRenderers[key], config: config, surface: surface, telemetry: telemetry, isExpanded: isExpanded }));
221
+ return (_jsx(CustomRendererWrapper, { renderer: customRenderers[key], config: config, surface: surface, telemetry: telemetry, isExpanded: isExpanded, runtime: runtime }));
183
222
  }
184
- case "text":
223
+ case 'text':
185
224
  default: {
186
225
  // Use type assertion for legacy content types
187
226
  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 }))] }));
227
+ return (_jsxs("div", { style: { padding: '0.25rem 0' }, children: [legacyContent.headline && (_jsx("p", { style: {
228
+ fontSize: '1rem',
229
+ fontWeight: 600,
230
+ color: text.primary,
231
+ margin: '0 0 0.5rem',
232
+ }, children: legacyContent.headline })), legacyContent.body && (_jsx("p", { style: { fontSize: '0.9rem', color: text.tertiary, margin: 0, lineHeight: 1.5 }, children: legacyContent.body }))] }));
189
233
  }
190
234
  }
191
235
  };
@@ -195,66 +239,69 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
195
239
  return;
196
240
  onToggleExpand === null || onToggleExpand === void 0 ? void 0 : onToggleExpand();
197
241
  }, 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",
242
+ fontSize: '0.7rem',
243
+ textTransform: 'uppercase',
244
+ letterSpacing: '0.05em',
245
+ color: text.tertiary,
202
246
  margin: 0,
203
247
  }, children: subtitle })), _jsx("h3", { style: {
204
- fontSize: "0.95rem",
248
+ fontSize: '0.95rem',
205
249
  fontWeight: 600,
206
- color: "#f5f5f7",
207
- margin: "0.125rem 0 0",
208
- whiteSpace: "nowrap",
209
- overflow: "hidden",
210
- textOverflow: "ellipsis",
250
+ color: text.primary,
251
+ margin: '0.125rem 0 0',
252
+ whiteSpace: 'nowrap',
253
+ overflow: 'hidden',
254
+ textOverflow: 'ellipsis',
211
255
  }, 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",
256
+ fontSize: '0.8rem',
257
+ color: text.tertiary,
258
+ margin: '0.125rem 0 0',
259
+ whiteSpace: 'nowrap',
260
+ overflow: 'hidden',
261
+ textOverflow: 'ellipsis',
218
262
  }, 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",
263
+ color: text.tertiary,
264
+ fontSize: '0.85rem',
265
+ transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)',
266
+ transition: 'transform 0.2s ease',
223
267
  }, 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",
268
+ padding: '0 1rem 1rem',
269
+ borderTop: `1px solid ${border.secondary}`,
270
+ }, onClick: (e) => e.stopPropagation(), children: [_jsx("div", { style: { paddingTop: '0.875rem' }, children: renderExpandedContent() }), 'actions' in content &&
271
+ content.actions &&
272
+ content.actions.length > 0 && (_jsx("div", { style: {
273
+ marginTop: '1rem',
274
+ paddingTop: '0.75rem',
275
+ borderTop: `1px solid ${border.secondary}`,
276
+ display: 'flex',
277
+ gap: '0.5rem',
232
278
  }, children: content.actions.map((action, idx) => (_jsx("button", { onClick: (e) => {
233
279
  e.stopPropagation();
234
- if (action.href && typeof window !== "undefined") {
235
- window.open(action.href, "_blank", "noreferrer");
280
+ if (action.href && typeof window !== 'undefined') {
281
+ window.open(action.href, '_blank', 'noreferrer');
236
282
  }
237
283
  if (action.onClickId) {
238
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackAction(action.onClickId, config.id, surface);
284
+ trackAction(action.onClickId);
239
285
  // 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}`;
286
+ if (action.onClickId.startsWith('syntro:restart-tour:') ||
287
+ action.onClickId.startsWith('syntro:start-tour:')) {
288
+ const tourId = action.onClickId
289
+ .replace('syntro:restart-tour:', '')
290
+ .replace('syntro:start-tour:', '');
243
291
  try {
244
- localStorage.removeItem(storageKey);
292
+ // Clear any existing tour state and start fresh
245
293
  localStorage.removeItem('syntro_active_tour');
246
- localStorage.setItem('syntro_active_tour', JSON.stringify({ tourId, stepId: '', timestamp: Date.now() }));
294
+ // Use v2 format: { tourId, currentStepId, startedAt }
295
+ // currentStepId='' means start from the beginning (uses startStep or first step)
296
+ localStorage.setItem('syntro_active_tour', JSON.stringify({
297
+ tourId,
298
+ currentStepId: '',
299
+ startedAt: Date.now(),
300
+ }));
247
301
  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
- }
302
+ // Reload the page to trigger the tour
303
+ // The tour executor will pick up the state and start the tour
304
+ window.location.reload();
258
305
  }
259
306
  catch (err) {
260
307
  console.warn('[SmartCanvas] Failed to start tour:', err);
@@ -263,15 +310,19 @@ export function TileCard({ config, surface, telemetry, style, customRenderers, i
263
310
  }
264
311
  }, style: {
265
312
  flex: 1,
266
- padding: "0.625rem 1rem",
267
- borderRadius: "8px",
268
- fontSize: "0.85rem",
313
+ padding: '0.625rem 1rem',
314
+ borderRadius: '8px',
315
+ fontSize: '0.85rem',
269
316
  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))) }))] }))] }));
317
+ cursor: 'pointer',
318
+ border: 'none',
319
+ background: idx === 0 ? accentColor : slateGrey[4],
320
+ color: '#fff',
321
+ transition: 'opacity 0.15s ease',
322
+ }, onMouseEnter: (e) => {
323
+ e.currentTarget.style.opacity = '0.85';
324
+ }, onMouseLeave: (e) => {
325
+ e.currentTarget.style.opacity = '1';
326
+ }, children: action.label }, action.label))) }))] }))] }));
276
327
  }
277
328
  //# 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":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAA4B,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG3F,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAmBhD,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAiB;IACjE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB;QACtD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE;KAC7D,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,oDAAoD;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAE,EAAE;QACxC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO;QAC1B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,UAAU,CAAC,GAAG,EAAE;YACd,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,GAAG,IAAI;gBACP;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,+DAA+D;iBACtE;aACF,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,+BAA+B;QAC/B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,sBAAsB;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,QAAQ,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aACtF,cACE,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI;oBAC/B,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,SAAS;iBACpB,YAEA,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9B,aAAoC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,aACjE,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,aAAG,OAAO,CAAC,MAAM,SAAS,EAAC,GAAG,EACrF,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,YAAG,OAAO,CAAC,IAAI,GAAQ,KAFrD,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAG9B,CACL,CAAC,GACE,EACN,gBAAM,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,aACrE,gBACE,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,gBAAgB;4BACzB,YAAY,EAAE,KAAK;4BACnB,MAAM,EAAE,aAAa,MAAM,CAAC,SAAS,EAAE;4BACvC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI;4BAC/B,KAAK,EAAE,IAAI,CAAC,OAAO;4BACnB,QAAQ,EAAE,SAAS;4BACnB,OAAO,EAAE,MAAM;yBAChB,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,WAAW,EAAC,iBAAiB,GAC7B,EACF,iBACE,KAAK,EAAE;4BACL,OAAO,EAAE,gBAAgB;4BACzB,YAAY,EAAE,KAAK;4BACnB,MAAM,EAAE,MAAM;4BACd,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;4BACpB,KAAK,EAAE,OAAO;4BACd,UAAU,EAAE,GAAG;4BACf,QAAQ,EAAE,QAAQ;4BAClB,MAAM,EAAE,SAAS;yBAClB,EACD,IAAI,EAAC,QAAQ,qBAGN,IACJ,IACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,UAAU,EACV,OAAO,GAQR;IACC,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAClC,oFAAoF;QACpF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;YACnD,MAAM;YACN,OAAO;YACP,SAAS;YACT,UAAU;YACV,OAAO;SACR,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,IAAI,OAAO;gBAAE,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO,cAAK,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,eAAe,EACf,UAAU,GAAG,KAAK,EAClB,cAAc,GACA;;IACd,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAEhE,oDAAoD;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,uDAAuD;IACvD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,QAAgB,EAAE,EAAE;QACnB,+BAA+B;QAC/B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAErD,sBAAsB;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EACD,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CACzC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,mCAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAEzD,+DAA+D;IAC/D,MAAM,eAAe,GAAG,MAAM,CAAC;IAE/B,MAAM,SAAS,GAAkB;QAC/B,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,mCAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI;QAC1D,MAAM,EAAE,aAAa,MAAM,CAAC,SAAS,EAAE;QACvC,SAAS,EAAE,+BAA+B;QAC1C,KAAK,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,mCAAI,IAAI,CAAC,OAAO;QAC7C,UAAU,EAAE,iEAAiE;QAC7E,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9C,UAAU,EAAE,gBAAgB;QAC5B,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,WAAW,GAAkB;QACjC,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,eAAe;KAC3B,CAAC;IAEF,MAAM,SAAS,GAAkB;QAC/B,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,2BAA2B,WAAW,QAAQ,WAAW,UAAU;QAC/E,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,aAAa,WAAW,IAAI;KACxC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC;YACd,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;;QACtB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACvF,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,QAAQ,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,IAAI,EAAE,CAAC;YAC9D,KAAK,SAAS;gBACZ,OAAO,aAAa,CAAC;YACvB,KAAK,OAAO;gBACV,OAAO,aAAa,CAAC;YACvB,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC;YACzB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAI,OAAe,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;gBAC/D,OAAO,GAAG,SAAS,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;YACpD,CAAC;YACD;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;;QACjC,6BAA6B;QAC7B,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAsB,EAAE;gBACvD,WAAW;gBACX,SAAS,EAAE,GAAG,EAAE;oBACd,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBACjC,CAAC;gBACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;oBACzB,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAClC,CAAC;aACF,CAAC,CAAC;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAC7B,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,GACpE,CACP,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,aACtD,aACE,KAAK,EAAE;gCACL,QAAQ,EAAE,MAAM;gCAChB,UAAU,EAAE,GAAG;gCACf,KAAK,EAAE,WAAW;gCAClB,MAAM,EAAE,CAAC;gCACT,aAAa,EAAE,SAAS;6BACzB,aAEA,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,UAAU,IAAI,CACrB,eACE,KAAK,EAAE;wCACL,QAAQ,EAAE,SAAS;wCACnB,UAAU,EAAE,GAAG;wCACf,KAAK,EAAE,IAAI,CAAC,QAAQ;wCACpB,UAAU,EAAE,QAAQ;qCACrB,YAEA,OAAO,CAAC,UAAU,GACd,CACR,IACC,EACH,OAAO,CAAC,QAAQ,IAAI,CACnB,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAC1E,OAAO,CAAC,QAAQ,GACf,CACL,IACG,CACP,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxB,iBACE,GAAG,EAAE,OAAO,CAAC,QAAQ,EACrB,OAAO,EAAC,iCAAiC,EACzC,cAAc,EAAC,aAAa,EAC5B,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,OAAO;wBACf,YAAY,EAAE,KAAK;wBACnB,MAAM,EAAE,oCAAoC;wBAC5C,UAAU,EAAE,oBAAoB;qBACjC,EACD,KAAK,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAM,CAAC,KAAK,GACvC,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;YACX,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,oEAAoE;gBACpE,MAAM,GAAG,GAAI,OAAe,CAAC,SAAS,IAAK,OAAe,CAAC,iBAAiB,CAAC;gBAC7E,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,oCACjD,GAAG,IACnB,CACP,CAAC;gBACJ,CAAC;gBACD,OAAO,CACL,KAAC,qBAAqB,IACpB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC;gBACR,8CAA8C;gBAC9C,MAAM,aAAa,GAAG,OAA+C,CAAC;gBACtE,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,aACjC,aAAa,CAAC,QAAQ,IAAI,CACzB,YACE,KAAK,EAAE;gCACL,QAAQ,EAAE,MAAM;gCAChB,UAAU,EAAE,GAAG;gCACf,KAAK,EAAE,IAAI,CAAC,OAAO;gCACnB,MAAM,EAAE,YAAY;6BACrB,YAEA,aAAa,CAAC,QAAQ,GACrB,CACL,EACA,aAAa,CAAC,IAAI,IAAI,CACrB,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,YAC/E,aAAa,CAAC,IAAI,GACjB,CACL,IACG,CACP,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,4CACyB,QAAQ,MAAM,CAAC,EAAE,EAAE,EAC1C,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,qDAAqD;YACrD,IAAI,UAAU,IAAK,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAAE,OAAO;YACvF,cAAc,aAAd,cAAc,uBAAd,cAAc,EAAI,CAAC;QACrB,CAAC,aAGD,eAAK,KAAK,EAAE,WAAW,aACrB,cAAK,KAAK,EAAE,SAAS,YAAG,OAAO,EAAE,GAAO,EACxC,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACjC,QAAQ,IAAI,CACX,YACE,KAAK,EAAE;oCACL,QAAQ,EAAE,QAAQ;oCAClB,aAAa,EAAE,WAAW;oCAC1B,aAAa,EAAE,QAAQ;oCACvB,KAAK,EAAE,IAAI,CAAC,QAAQ;oCACpB,MAAM,EAAE,CAAC;iCACV,YAEA,QAAQ,GACP,CACL,EACD,aACE,KAAK,EAAE;oCACL,QAAQ,EAAE,SAAS;oCACnB,UAAU,EAAE,GAAG;oCACf,KAAK,EAAE,IAAI,CAAC,OAAO;oCACnB,MAAM,EAAE,cAAc;oCACtB,UAAU,EAAE,QAAQ;oCACpB,QAAQ,EAAE,QAAQ;oCAClB,YAAY,EAAE,UAAU;iCACzB,YAEA,KAAK,GACH,EACJ,CAAC,UAAU,IAAI,CACd,YACE,KAAK,EAAE;oCACL,QAAQ,EAAE,QAAQ;oCAClB,KAAK,EAAE,IAAI,CAAC,QAAQ;oCACpB,MAAM,EAAE,cAAc;oCACtB,UAAU,EAAE,QAAQ;oCACpB,QAAQ,EAAE,QAAQ;oCAClB,YAAY,EAAE,UAAU;iCACzB,YAEA,UAAU,EAAE,GACX,CACL,IACG,EAEN,cACE,KAAK,EAAE;4BACL,KAAK,EAAE,IAAI,CAAC,QAAQ;4BACpB,QAAQ,EAAE,SAAS;4BACnB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;4BACzD,UAAU,EAAE,qBAAqB;yBAClC,uBAGG,IACF,EAGL,UAAU,IAAI,CACb,8CAEE,KAAK,EAAE;oBACL,OAAO,EAAE,aAAa;oBACtB,SAAS,EAAE,aAAa,MAAM,CAAC,SAAS,EAAE;iBAC3C,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAEnC,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAG,qBAAqB,EAAE,GAAO,EAGtE,SAAS,IAAI,OAAO;wBAClB,OAA+B,CAAC,OAAO;wBACvC,OAA+B,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtD,cACE,KAAK,EAAE;4BACL,SAAS,EAAE,MAAM;4BACjB,UAAU,EAAE,SAAS;4BACrB,SAAS,EAAE,aAAa,MAAM,CAAC,SAAS,EAAE;4BAC1C,OAAO,EAAE,MAAM;4BACf,GAAG,EAAE,QAAQ;yBACd,YAEC,OAA8B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,CAAC,CACzE,iBAEE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gCACb,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oCACjD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gCACnD,CAAC;gCACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oCACrB,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oCAC9B,0CAA0C;oCAC1C,IACE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,CAAC;wCACnD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACjD,CAAC;wCACD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS;6CAC5B,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;6CACnC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;wCACrC,IAAI,CAAC;4CACH,gDAAgD;4CAChD,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;4CAC9C,sDAAsD;4CACtD,iFAAiF;4CACjF,YAAY,CAAC,OAAO,CAClB,oBAAoB,EACpB,IAAI,CAAC,SAAS,CAAC;gDACb,MAAM;gDACN,aAAa,EAAE,EAAE;gDACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;6CACtB,CAAC,CACH,CAAC;4CACF,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,MAAM,CAAC,CAAC;4CAE1D,sCAAsC;4CACtC,8DAA8D;4CAC9D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wCAC3B,CAAC;wCAAC,OAAO,GAAG,EAAE,CAAC;4CACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;wCAC3D,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC,EACD,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC;gCACP,OAAO,EAAE,eAAe;gCACxB,YAAY,EAAE,KAAK;gCACnB,QAAQ,EAAE,SAAS;gCACnB,UAAU,EAAE,GAAG;gCACf,MAAM,EAAE,SAAS;gCACjB,MAAM,EAAE,MAAM;gCACd,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gCAClD,KAAK,EAAE,MAAM;gCACb,UAAU,EAAE,oBAAoB;6BACjC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;gCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4BACzC,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;gCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;4BACtC,CAAC,YAEA,MAAM,CAAC,KAAK,IA3DR,MAAM,CAAC,KAAK,CA4DV,CACV,CAAC,GACE,CACP,IACC,CACP,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
- import type { TileConfig } from "../types";
2
- import type { TelemetryClient } from "../telemetry/types";
1
+ import type { TelemetryClient } from '../telemetry/types';
2
+ import type { TileConfig } from '../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,14 @@
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 { 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 }) {
5
6
  const [index, setIndex] = useState(0);
6
7
  const ordered = useMemo(() => [...tiles]
7
- .filter((tile) => tile.size !== "half")
8
+ .filter((tile) => tile.size !== 'half')
8
9
  .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
10
  useEffect(() => {
10
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened("wheel");
11
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackCanvasOpened('wheel');
11
12
  }, [telemetry]);
12
13
  useEffect(() => {
13
14
  if (ordered.length <= 1)
@@ -20,11 +21,32 @@ export function TileWheel({ tiles, intervalMs = 7000, telemetry, }) {
20
21
  useEffect(() => {
21
22
  const current = ordered[index];
22
23
  if (current) {
23
- telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(current.id, "wheel");
24
+ telemetry === null || telemetry === void 0 ? void 0 : telemetry.trackRectangleViewed(current.id, 'wheel');
24
25
  }
25
26
  }, [index, ordered, telemetry]);
26
27
  if (!ordered.length)
27
28
  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))) })] }));
29
+ return (_jsxs("div", { style: {
30
+ position: 'relative',
31
+ overflow: 'hidden',
32
+ borderRadius: '1.5rem',
33
+ border: `1px solid ${border.primary}`,
34
+ background: slateGrey[1],
35
+ padding: '1.5rem',
36
+ boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
37
+ }, "data-shadow-canvas-id": "wheel", children: [_jsx("div", { style: {
38
+ display: 'flex',
39
+ transition: 'transform 700ms ease-out',
40
+ transform: `translateX(-${index * 100}%)`,
41
+ width: `${ordered.length * 100}%`,
42
+ }, children: ordered.map((tile) => (_jsx("div", { style: { width: '100%', flexShrink: 0, padding: '0 1rem' }, children: _jsx(TileCard, { config: { ...tile, size: 'half' }, 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: {
43
+ height: '0.5rem',
44
+ width: '1.5rem',
45
+ borderRadius: '9999px',
46
+ background: idx === index ? brand[3] : slateGrey[6],
47
+ border: 'none',
48
+ cursor: 'pointer',
49
+ padding: 0,
50
+ }, onClick: () => setIndex(idx) }, tile.id))) })] }));
29
51
  }
30
52
  //# sourceMappingURL=TileWheel.js.map