forgebook 0.1.3 → 0.1.5

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 (379) hide show
  1. package/README.md +99 -6
  2. package/dist/bin/forgebook/agentClient.d.ts +17 -0
  3. package/dist/bin/forgebook/agentClient.d.ts.map +1 -1
  4. package/dist/bin/forgebook/agentClient.js +21 -0
  5. package/dist/bin/forgebook/agentClient.js.map +1 -1
  6. package/dist/bin/forgebook/agentLoopCommands.d.mts +9 -0
  7. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -0
  8. package/dist/bin/forgebook/agentLoopCommands.mjs +217 -0
  9. package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -0
  10. package/dist/bin/forgebook/agentText.d.ts +37 -1
  11. package/dist/bin/forgebook/agentText.d.ts.map +1 -1
  12. package/dist/bin/forgebook/agentText.js +49 -2
  13. package/dist/bin/forgebook/agentText.js.map +1 -1
  14. package/dist/bin/forgebook/agents.md +51 -0
  15. package/dist/bin/forgebook/agentsText.d.ts +29 -0
  16. package/dist/bin/forgebook/agentsText.d.ts.map +1 -0
  17. package/dist/bin/forgebook/agentsText.js +48 -0
  18. package/dist/bin/forgebook/agentsText.js.map +1 -0
  19. package/dist/bin/forgebook/catalogueCommands.d.ts +51 -0
  20. package/dist/bin/forgebook/catalogueCommands.d.ts.map +1 -0
  21. package/dist/bin/forgebook/catalogueCommands.js +90 -0
  22. package/dist/bin/forgebook/catalogueCommands.js.map +1 -0
  23. package/dist/bin/forgebook/errorsRun.d.ts +27 -0
  24. package/dist/bin/forgebook/errorsRun.d.ts.map +1 -0
  25. package/dist/bin/forgebook/errorsRun.js +60 -0
  26. package/dist/bin/forgebook/errorsRun.js.map +1 -0
  27. package/dist/bin/forgebook/forgebook.mjs +121 -86
  28. package/dist/bin/forgebook/forgebook.mjs.map +1 -1
  29. package/dist/bin/forgebook/importers/storybook.d.ts +53 -0
  30. package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -0
  31. package/dist/bin/forgebook/importers/storybook.js +318 -0
  32. package/dist/bin/forgebook/importers/storybook.js.map +1 -0
  33. package/dist/bin/forgebook/initCommands.d.mts +9 -0
  34. package/dist/bin/forgebook/initCommands.d.mts.map +1 -0
  35. package/dist/bin/forgebook/initCommands.mjs +86 -0
  36. package/dist/bin/forgebook/initCommands.mjs.map +1 -0
  37. package/dist/bin/forgebook/initConfig.d.ts +22 -0
  38. package/dist/bin/forgebook/initConfig.d.ts.map +1 -0
  39. package/dist/bin/forgebook/initConfig.js +51 -0
  40. package/dist/bin/forgebook/initConfig.js.map +1 -0
  41. package/dist/bin/forgebook/mcpTools.d.ts +29 -3
  42. package/dist/bin/forgebook/mcpTools.d.ts.map +1 -1
  43. package/dist/bin/forgebook/mcpTools.js +130 -7
  44. package/dist/bin/forgebook/mcpTools.js.map +1 -1
  45. package/dist/bin/forgebook/newStories.d.ts +27 -0
  46. package/dist/bin/forgebook/newStories.d.ts.map +1 -0
  47. package/dist/bin/forgebook/newStories.js +109 -0
  48. package/dist/bin/forgebook/newStories.js.map +1 -0
  49. package/dist/bin/forgebook/newStoriesFile.d.ts +18 -0
  50. package/dist/bin/forgebook/newStoriesFile.d.ts.map +1 -0
  51. package/dist/bin/forgebook/newStoriesFile.js +58 -0
  52. package/dist/bin/forgebook/newStoriesFile.js.map +1 -0
  53. package/dist/bin/forgebook/storyCheckRun.d.ts +49 -0
  54. package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -0
  55. package/dist/bin/forgebook/storyCheckRun.js +178 -0
  56. package/dist/bin/forgebook/storyCheckRun.js.map +1 -0
  57. package/dist/bin/forgebook/touchWindowRun.d.ts +17 -0
  58. package/dist/bin/forgebook/touchWindowRun.d.ts.map +1 -0
  59. package/dist/bin/forgebook/touchWindowRun.js +21 -0
  60. package/dist/bin/forgebook/touchWindowRun.js.map +1 -0
  61. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +24 -0
  62. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +1 -0
  63. package/dist/bin/forgebook-docs/catalogueDocs.js +71 -0
  64. package/dist/bin/forgebook-docs/catalogueDocs.js.map +1 -0
  65. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +8 -0
  66. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +1 -1
  67. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +3 -1
  68. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +1 -1
  69. package/dist/bin/forgebook-docs/catalogueMarkdown.js +62 -42
  70. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +1 -1
  71. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +39 -0
  72. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +1 -0
  73. package/dist/bin/forgebook-docs/catalogueOptions.js +76 -0
  74. package/dist/bin/forgebook-docs/catalogueOptions.js.map +1 -0
  75. package/dist/bin/forgebook-docs/collectDocs.d.ts +3 -1
  76. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +1 -1
  77. package/dist/bin/forgebook-docs/collectDocs.js +37 -13
  78. package/dist/bin/forgebook-docs/collectDocs.js.map +1 -1
  79. package/dist/bin/forgebook-docs/forgebook-docs.mjs +17 -80
  80. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +1 -1
  81. package/dist/bin/forgebook-docs/llmsText.d.ts +24 -0
  82. package/dist/bin/forgebook-docs/llmsText.d.ts.map +1 -0
  83. package/dist/bin/forgebook-docs/llmsText.js +33 -0
  84. package/dist/bin/forgebook-docs/llmsText.js.map +1 -0
  85. package/dist/bin/forgebook-docs/sourceId.d.ts +9 -0
  86. package/dist/bin/forgebook-docs/sourceId.d.ts.map +1 -0
  87. package/dist/bin/forgebook-docs/sourceId.js +45 -0
  88. package/dist/bin/forgebook-docs/sourceId.js.map +1 -0
  89. package/dist/bin/frameworkDocs.d.ts +10 -0
  90. package/dist/bin/frameworkDocs.d.ts.map +1 -0
  91. package/dist/bin/frameworkDocs.js +43 -0
  92. package/dist/bin/frameworkDocs.js.map +1 -0
  93. package/dist/src/argTypes.d.ts +23 -0
  94. package/dist/src/argTypes.d.ts.map +1 -1
  95. package/dist/src/argTypes.js +27 -0
  96. package/dist/src/argTypes.js.map +1 -1
  97. package/dist/src/catalogue.d.ts +70 -3
  98. package/dist/src/catalogue.d.ts.map +1 -1
  99. package/dist/src/catalogue.js +85 -3
  100. package/dist/src/catalogue.js.map +1 -1
  101. package/dist/src/controlKeys.d.ts +85 -0
  102. package/dist/src/controlKeys.d.ts.map +1 -0
  103. package/dist/src/controlKeys.js +118 -0
  104. package/dist/src/controlKeys.js.map +1 -0
  105. package/dist/src/frame/frame.css +33 -2
  106. package/dist/src/frame/frameView.d.ts +2 -2
  107. package/dist/src/frame/frameView.d.ts.map +1 -1
  108. package/dist/src/frame/frameView.js +7 -3
  109. package/dist/src/frame/frameView.js.map +1 -1
  110. package/dist/src/frame/mountFrame.d.ts.map +1 -1
  111. package/dist/src/frame/mountFrame.js +30 -2
  112. package/dist/src/frame/mountFrame.js.map +1 -1
  113. package/dist/src/frame/spillOutline.d.ts +10 -0
  114. package/dist/src/frame/spillOutline.d.ts.map +1 -0
  115. package/dist/src/frame/spillOutline.js +80 -0
  116. package/dist/src/frame/spillOutline.js.map +1 -0
  117. package/dist/src/frame/touchDots.d.ts +32 -0
  118. package/dist/src/frame/touchDots.d.ts.map +1 -0
  119. package/dist/src/frame/touchDots.js +52 -0
  120. package/dist/src/frame/touchDots.js.map +1 -0
  121. package/dist/src/frame/touchEvents.d.ts +66 -0
  122. package/dist/src/frame/touchEvents.d.ts.map +1 -0
  123. package/dist/src/frame/touchEvents.js +152 -0
  124. package/dist/src/frame/touchEvents.js.map +1 -0
  125. package/dist/src/frame/touchGesture.d.ts +80 -0
  126. package/dist/src/frame/touchGesture.d.ts.map +1 -0
  127. package/dist/src/frame/touchGesture.js +87 -0
  128. package/dist/src/frame/touchGesture.js.map +1 -0
  129. package/dist/src/frame/touchLayer.d.ts +7 -0
  130. package/dist/src/frame/touchLayer.d.ts.map +1 -0
  131. package/dist/src/frame/touchLayer.js +399 -0
  132. package/dist/src/frame/touchLayer.js.map +1 -0
  133. package/dist/src/frame/touchScroll.d.ts +51 -0
  134. package/dist/src/frame/touchScroll.d.ts.map +1 -0
  135. package/dist/src/frame/touchScroll.js +137 -0
  136. package/dist/src/frame/touchScroll.js.map +1 -0
  137. package/dist/src/liveErrors.d.ts +57 -0
  138. package/dist/src/liveErrors.d.ts.map +1 -0
  139. package/dist/src/liveErrors.js +52 -0
  140. package/dist/src/liveErrors.js.map +1 -0
  141. package/dist/src/messages.d.ts +12 -0
  142. package/dist/src/messages.d.ts.map +1 -1
  143. package/dist/src/messages.js +4 -0
  144. package/dist/src/messages.js.map +1 -1
  145. package/dist/src/namedViews.d.ts +80 -0
  146. package/dist/src/namedViews.d.ts.map +1 -0
  147. package/dist/src/namedViews.js +88 -0
  148. package/dist/src/namedViews.js.map +1 -0
  149. package/dist/src/realTouch.d.ts +21 -0
  150. package/dist/src/realTouch.d.ts.map +1 -0
  151. package/dist/src/realTouch.js +16 -0
  152. package/dist/src/realTouch.js.map +1 -0
  153. package/dist/src/shell/AppearanceMenu.d.ts +15 -0
  154. package/dist/src/shell/AppearanceMenu.d.ts.map +1 -0
  155. package/dist/src/shell/AppearanceMenu.js +28 -0
  156. package/dist/src/shell/AppearanceMenu.js.map +1 -0
  157. package/dist/src/shell/BoxWidth.d.ts +40 -0
  158. package/dist/src/shell/BoxWidth.d.ts.map +1 -0
  159. package/dist/src/shell/BoxWidth.js +56 -0
  160. package/dist/src/shell/BoxWidth.js.map +1 -0
  161. package/dist/src/shell/ComponentPage.d.ts +17 -1
  162. package/dist/src/shell/ComponentPage.d.ts.map +1 -1
  163. package/dist/src/shell/ComponentPage.js +19 -54
  164. package/dist/src/shell/ComponentPage.js.map +1 -1
  165. package/dist/src/shell/ControlKeyField.d.ts +21 -0
  166. package/dist/src/shell/ControlKeyField.d.ts.map +1 -0
  167. package/dist/src/shell/ControlKeyField.js +46 -0
  168. package/dist/src/shell/ControlKeyField.js.map +1 -0
  169. package/dist/src/shell/ControlRow.d.ts +31 -0
  170. package/dist/src/shell/ControlRow.d.ts.map +1 -0
  171. package/dist/src/shell/ControlRow.js +30 -0
  172. package/dist/src/shell/ControlRow.js.map +1 -0
  173. package/dist/src/shell/Example.d.ts +58 -0
  174. package/dist/src/shell/Example.d.ts.map +1 -0
  175. package/dist/src/shell/Example.js +89 -0
  176. package/dist/src/shell/Example.js.map +1 -0
  177. package/dist/src/shell/InfoTip.d.ts +23 -0
  178. package/dist/src/shell/InfoTip.d.ts.map +1 -0
  179. package/dist/src/shell/InfoTip.js +51 -0
  180. package/dist/src/shell/InfoTip.js.map +1 -0
  181. package/dist/src/shell/NamedViews.d.ts +23 -0
  182. package/dist/src/shell/NamedViews.d.ts.map +1 -0
  183. package/dist/src/shell/NamedViews.js +49 -0
  184. package/dist/src/shell/NamedViews.js.map +1 -0
  185. package/dist/src/shell/PinnedControl.d.ts +25 -0
  186. package/dist/src/shell/PinnedControl.d.ts.map +1 -0
  187. package/dist/src/shell/PinnedControl.js +82 -0
  188. package/dist/src/shell/PinnedControl.js.map +1 -0
  189. package/dist/src/shell/PropsTab.d.ts +5 -2
  190. package/dist/src/shell/PropsTab.d.ts.map +1 -1
  191. package/dist/src/shell/PropsTab.js +12 -15
  192. package/dist/src/shell/PropsTab.js.map +1 -1
  193. package/dist/src/shell/Shell.d.ts.map +1 -1
  194. package/dist/src/shell/Shell.js +27 -2
  195. package/dist/src/shell/Shell.js.map +1 -1
  196. package/dist/src/shell/Sidebar.d.ts +11 -9
  197. package/dist/src/shell/Sidebar.d.ts.map +1 -1
  198. package/dist/src/shell/Sidebar.js +48 -42
  199. package/dist/src/shell/Sidebar.js.map +1 -1
  200. package/dist/src/shell/SidebarEntries.d.ts +50 -0
  201. package/dist/src/shell/SidebarEntries.d.ts.map +1 -0
  202. package/dist/src/shell/SidebarEntries.js +51 -0
  203. package/dist/src/shell/SidebarEntries.js.map +1 -0
  204. package/dist/src/shell/Stage.d.ts.map +1 -1
  205. package/dist/src/shell/Stage.js +19 -2
  206. package/dist/src/shell/Stage.js.map +1 -1
  207. package/dist/src/shell/Toolbar.d.ts +7 -3
  208. package/dist/src/shell/Toolbar.d.ts.map +1 -1
  209. package/dist/src/shell/Toolbar.js +38 -68
  210. package/dist/src/shell/Toolbar.js.map +1 -1
  211. package/dist/src/shell/ToolbarControl.d.ts +47 -0
  212. package/dist/src/shell/ToolbarControl.d.ts.map +1 -0
  213. package/dist/src/shell/ToolbarControl.js +150 -0
  214. package/dist/src/shell/ToolbarControl.js.map +1 -0
  215. package/dist/src/shell/UsedIn.d.ts +38 -0
  216. package/dist/src/shell/UsedIn.d.ts.map +1 -0
  217. package/dist/src/shell/UsedIn.js +77 -0
  218. package/dist/src/shell/UsedIn.js.map +1 -0
  219. package/dist/src/shell/ViewMenu.d.ts +37 -0
  220. package/dist/src/shell/ViewMenu.d.ts.map +1 -0
  221. package/dist/src/shell/ViewMenu.js +219 -0
  222. package/dist/src/shell/ViewMenu.js.map +1 -0
  223. package/dist/src/shell/controlCycle.d.ts +28 -0
  224. package/dist/src/shell/controlCycle.d.ts.map +1 -0
  225. package/dist/src/shell/controlCycle.js +51 -0
  226. package/dist/src/shell/controlCycle.js.map +1 -0
  227. package/dist/src/shell/dockTabs.d.ts +3 -0
  228. package/dist/src/shell/dockTabs.d.ts.map +1 -1
  229. package/dist/src/shell/dockTabs.js +1 -1
  230. package/dist/src/shell/dockTabs.js.map +1 -1
  231. package/dist/src/shell/icons.d.ts +7 -0
  232. package/dist/src/shell/icons.d.ts.map +1 -1
  233. package/dist/src/shell/icons.js +8 -1
  234. package/dist/src/shell/icons.js.map +1 -1
  235. package/dist/src/shell/keyboard.d.ts +2 -1
  236. package/dist/src/shell/keyboard.d.ts.map +1 -1
  237. package/dist/src/shell/keyboard.js +5 -2
  238. package/dist/src/shell/keyboard.js.map +1 -1
  239. package/dist/src/shell/shell.css +876 -244
  240. package/dist/src/shell/strings.d.ts +46 -0
  241. package/dist/src/shell/strings.d.ts.map +1 -1
  242. package/dist/src/shell/strings.js +46 -0
  243. package/dist/src/shell/strings.js.map +1 -1
  244. package/dist/src/shell/useAppearance.d.ts +17 -0
  245. package/dist/src/shell/useAppearance.d.ts.map +1 -0
  246. package/dist/src/shell/useAppearance.js +36 -0
  247. package/dist/src/shell/useAppearance.js.map +1 -0
  248. package/dist/src/shell/useControlKeys.d.ts +23 -0
  249. package/dist/src/shell/useControlKeys.d.ts.map +1 -0
  250. package/dist/src/shell/useControlKeys.js +44 -0
  251. package/dist/src/shell/useControlKeys.js.map +1 -0
  252. package/dist/src/shell/useFold.d.ts +27 -0
  253. package/dist/src/shell/useFold.d.ts.map +1 -0
  254. package/dist/src/shell/useFold.js +87 -0
  255. package/dist/src/shell/useFold.js.map +1 -0
  256. package/dist/src/shell/useFrameMessages.d.ts +2 -0
  257. package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
  258. package/dist/src/shell/useFrameMessages.js +3 -0
  259. package/dist/src/shell/useFrameMessages.js.map +1 -1
  260. package/dist/src/shell/useFullPage.d.ts +45 -0
  261. package/dist/src/shell/useFullPage.d.ts.map +1 -0
  262. package/dist/src/shell/useFullPage.js +149 -0
  263. package/dist/src/shell/useFullPage.js.map +1 -0
  264. package/dist/src/shell/usePopover.d.ts +17 -3
  265. package/dist/src/shell/usePopover.d.ts.map +1 -1
  266. package/dist/src/shell/usePopover.js +65 -4
  267. package/dist/src/shell/usePopover.js.map +1 -1
  268. package/dist/src/shell/useStored.d.ts +13 -2
  269. package/dist/src/shell/useStored.d.ts.map +1 -1
  270. package/dist/src/shell/useStored.js +1 -1
  271. package/dist/src/shell/useStored.js.map +1 -1
  272. package/dist/src/shell/useToolbarLayout.d.ts +39 -0
  273. package/dist/src/shell/useToolbarLayout.d.ts.map +1 -0
  274. package/dist/src/shell/useToolbarLayout.js +58 -0
  275. package/dist/src/shell/useToolbarLayout.js.map +1 -0
  276. package/dist/src/shell/useToolbarOverflow.d.ts +31 -0
  277. package/dist/src/shell/useToolbarOverflow.d.ts.map +1 -0
  278. package/dist/src/shell/useToolbarOverflow.js +62 -0
  279. package/dist/src/shell/useToolbarOverflow.js.map +1 -0
  280. package/dist/src/shell/useWorstCase.d.ts +46 -0
  281. package/dist/src/shell/useWorstCase.d.ts.map +1 -0
  282. package/dist/src/shell/useWorstCase.js +42 -0
  283. package/dist/src/shell/useWorstCase.js.map +1 -0
  284. package/dist/src/shell/worstArgs.d.ts +42 -0
  285. package/dist/src/shell/worstArgs.d.ts.map +1 -0
  286. package/dist/src/shell/worstArgs.js +47 -0
  287. package/dist/src/shell/worstArgs.js.map +1 -0
  288. package/dist/src/spills.d.ts +31 -0
  289. package/dist/src/spills.d.ts.map +1 -0
  290. package/dist/src/spills.js +65 -0
  291. package/dist/src/spills.js.map +1 -0
  292. package/dist/src/storyCheck.d.ts +105 -0
  293. package/dist/src/storyCheck.d.ts.map +1 -0
  294. package/dist/src/storyCheck.js +63 -0
  295. package/dist/src/storyCheck.js.map +1 -0
  296. package/dist/src/switches.d.ts +26 -4
  297. package/dist/src/switches.d.ts.map +1 -1
  298. package/dist/src/switches.js +50 -5
  299. package/dist/src/switches.js.map +1 -1
  300. package/dist/src/toolbarLayout.d.ts +119 -0
  301. package/dist/src/toolbarLayout.d.ts.map +1 -0
  302. package/dist/src/toolbarLayout.js +155 -0
  303. package/dist/src/toolbarLayout.js.map +1 -0
  304. package/dist/src/usedIn.d.ts +60 -0
  305. package/dist/src/usedIn.d.ts.map +1 -0
  306. package/dist/src/usedIn.js +92 -0
  307. package/dist/src/usedIn.js.map +1 -0
  308. package/dist/src/viewState.d.ts +9 -11
  309. package/dist/src/viewState.d.ts.map +1 -1
  310. package/dist/src/viewState.js +24 -20
  311. package/dist/src/viewState.js.map +1 -1
  312. package/dist/src/viewWords.d.ts +26 -0
  313. package/dist/src/viewWords.d.ts.map +1 -0
  314. package/dist/src/viewWords.js +29 -0
  315. package/dist/src/viewWords.js.map +1 -0
  316. package/dist/src/vite/adapter.d.ts +13 -4
  317. package/dist/src/vite/adapter.d.ts.map +1 -1
  318. package/dist/src/vite/adapter.js +4 -2
  319. package/dist/src/vite/adapter.js.map +1 -1
  320. package/dist/src/vite/agent.types.d.ts +32 -2
  321. package/dist/src/vite/agent.types.d.ts.map +1 -1
  322. package/dist/src/vite/agentApi.d.ts +15 -3
  323. package/dist/src/vite/agentApi.d.ts.map +1 -1
  324. package/dist/src/vite/agentApi.js +63 -9
  325. package/dist/src/vite/agentApi.js.map +1 -1
  326. package/dist/src/vite/agentRoutes.d.ts +8 -3
  327. package/dist/src/vite/agentRoutes.d.ts.map +1 -1
  328. package/dist/src/vite/agentRoutes.js +84 -23
  329. package/dist/src/vite/agentRoutes.js.map +1 -1
  330. package/dist/src/vite/configFile.d.ts +2 -1
  331. package/dist/src/vite/configFile.d.ts.map +1 -1
  332. package/dist/src/vite/configFile.js +29 -11
  333. package/dist/src/vite/configFile.js.map +1 -1
  334. package/dist/src/vite/docsExtractor.d.ts +26 -2
  335. package/dist/src/vite/docsExtractor.d.ts.map +1 -1
  336. package/dist/src/vite/docsExtractor.js +12 -9
  337. package/dist/src/vite/docsExtractor.js.map +1 -1
  338. package/dist/src/vite/docsWorker.js +18 -2
  339. package/dist/src/vite/docsWorker.js.map +1 -1
  340. package/dist/src/vite/forcedStates.d.ts +6 -2
  341. package/dist/src/vite/forcedStates.d.ts.map +1 -1
  342. package/dist/src/vite/forcedStates.js +20 -4
  343. package/dist/src/vite/forcedStates.js.map +1 -1
  344. package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
  345. package/dist/src/vite/forgebookPlugin.js +104 -16
  346. package/dist/src/vite/forgebookPlugin.js.map +1 -1
  347. package/dist/src/vite/indexStoryFile.d.ts +14 -0
  348. package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
  349. package/dist/src/vite/indexStoryFile.js +13 -4
  350. package/dist/src/vite/indexStoryFile.js.map +1 -1
  351. package/dist/src/vite/mcpProtocol.d.ts +9 -0
  352. package/dist/src/vite/mcpProtocol.d.ts.map +1 -1
  353. package/dist/src/vite/mcpProtocol.js +6 -3
  354. package/dist/src/vite/mcpProtocol.js.map +1 -1
  355. package/dist/src/vite/storyFilesModule.d.ts +44 -1
  356. package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
  357. package/dist/src/vite/storyFilesModule.js +49 -14
  358. package/dist/src/vite/storyFilesModule.js.map +1 -1
  359. package/dist/src/vite/touchMedia.d.ts +35 -0
  360. package/dist/src/vite/touchMedia.d.ts.map +1 -0
  361. package/dist/src/vite/touchMedia.js +187 -0
  362. package/dist/src/vite/touchMedia.js.map +1 -0
  363. package/dist/src/vite/usageGraph.d.ts +45 -0
  364. package/dist/src/vite/usageGraph.d.ts.map +1 -0
  365. package/dist/src/vite/usageGraph.js +246 -0
  366. package/dist/src/vite/usageGraph.js.map +1 -0
  367. package/dist/src/vite/usageModule.d.ts +33 -0
  368. package/dist/src/vite/usageModule.d.ts.map +1 -0
  369. package/dist/src/vite/usageModule.js +135 -0
  370. package/dist/src/vite/usageModule.js.map +1 -0
  371. package/dist/src/worstCase.d.ts +16 -0
  372. package/dist/src/worstCase.d.ts.map +1 -0
  373. package/dist/src/worstCase.js +16 -0
  374. package/dist/src/worstCase.js.map +1 -0
  375. package/package.json +18 -2
  376. package/dist/src/shell/SchemeSwitches.d.ts +0 -24
  377. package/dist/src/shell/SchemeSwitches.d.ts.map +0 -1
  378. package/dist/src/shell/SchemeSwitches.js +0 -36
  379. package/dist/src/shell/SchemeSwitches.js.map +0 -1
@@ -1,4 +1,35 @@
1
1
  @layer catalogue {
2
+ :root {
3
+ --forgebook-window: #f6f6f8;
4
+ --forgebook-sidebar: #ebebef;
5
+ --forgebook-surface: #fff;
6
+ --forgebook-fill: rgba(29, 29, 31, 0.0784313725);
7
+ --forgebook-fill-quiet: rgba(29, 29, 31, 0.0509803922);
8
+ --forgebook-hover: rgba(29, 29, 31, 0.0392156863);
9
+ --forgebook-separator: rgba(29, 29, 31, 0.0901960784);
10
+ --forgebook-text: #1d1d1f;
11
+ --forgebook-text-secondary: #56565d;
12
+ --forgebook-text-tertiary: #6a6a71;
13
+ --forgebook-accent: #0a6cf0;
14
+ --forgebook-accent-text: #0059d2;
15
+ --forgebook-on-accent: #fff;
16
+ --forgebook-danger-text: #bc1f16;
17
+ --forgebook-code-keyword: #7036c4;
18
+ --forgebook-code-type: #0059d2;
19
+ --forgebook-code-string: #077229;
20
+ --forgebook-code-number: #935200;
21
+ --forgebook-code-punctuation: #6a6a71;
22
+ --forgebook-code-name: #1d1d1f;
23
+ --forgebook-edge: rgba(29, 29, 31, 0.1450980392);
24
+ --forgebook-edge-hover: rgba(29, 29, 31, 0.2392156863);
25
+ --forgebook-edge-field: rgba(29, 29, 31, 0.1803921569);
26
+ --forgebook-card-edge: rgba(0, 0, 0, 0.0588235294);
27
+ --forgebook-card-edge-hover: rgba(0, 0, 0, 0.1019607843);
28
+ --forgebook-shadow-soft: rgba(0, 0, 0, 0.0509803922);
29
+ --forgebook-shadow-lift: rgba(0, 0, 0, 0.0705882353);
30
+ --forgebook-shadow-deep: rgba(0, 0, 0, 0.2);
31
+ --forgebook-shade: rgba(29, 29, 31, 0.2);
32
+ }
2
33
  body {
3
34
  margin: 0;
4
35
  }
@@ -35,7 +66,7 @@
35
66
  .forgebook-frame-error {
36
67
  margin: 1.5rem;
37
68
  font: 400 0.8125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
38
- color: #bc1f16;
69
+ color: var(--forgebook-danger-text);
39
70
  }
40
71
  .forgebook-frame-error__message {
41
72
  margin: 0;
@@ -45,7 +76,7 @@
45
76
  margin: 0.75rem 0 0;
46
77
  overflow-x: auto;
47
78
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
48
- color: #56565d;
79
+ color: var(--forgebook-text-secondary);
49
80
  white-space: pre;
50
81
  }
51
82
  }
@@ -8,8 +8,8 @@ import type { StorySheets } from "@forgebook/story-format/source";
8
8
  import type { CatalogueSettings } from "../catalogue.ts";
9
9
  import { type LiveView, type ViewState } from "../viewState.ts";
10
10
  /**
11
- * Applies the view's live part on a document's root: each declared switch that applies there, the font size, and the
12
- * backdrop behind the story in the view's scheme.
11
+ * Applies the view's live part on a document's root: each declared switch that applies there, right to left for a
12
+ * language read so, the font size, and the backdrop behind the story in the view's scheme.
13
13
  *
14
14
  * @param root - the document's root element.
15
15
  * @param view - the view's live part: the frame applies it again whenever the shell sends a change.
@@ -1 +1 @@
1
- {"version":3,"file":"frameView.d.ts","sourceRoot":"","sources":["../../../src/frame/frameView.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,KAAK,QAAQ,EAAY,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA8E1E;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,WAAW,EACjB,MAAM,QAAQ,EACd,WAAW,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,KAC3D,IAKF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,KAAG,MAAM,EAIvE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAU,UAAU,QAAQ,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAc1F,CAAC"}
1
+ {"version":3,"file":"frameView.d.ts","sourceRoot":"","sources":["../../../src/frame/frameView.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,KAAK,QAAQ,EAAY,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA8E1E;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,WAAW,EACjB,MAAM,QAAQ,EACd,WAAW,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,KAC3D,IASF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,WAAW,EAAE,MAAM,SAAS,KAAG,MAAM,EAIvE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAU,UAAU,QAAQ,EAAE,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAc1F,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * @module
6
6
  */
7
7
  import { backdropSheet } from "../backdrops.js";
8
- import { switchValueOf } from "../switches.js";
8
+ import { switchValueOf, switchWithRole } from "../switches.js";
9
9
  import { schemeOf } from "../viewState.js";
10
10
  /** The id of the style sheet that draws the backdrop. */
11
11
  const BACKDROP_STYLE_ID = "forgebook-backdrop-style";
@@ -88,8 +88,8 @@ const applySwitch = (root, each, value) => {
88
88
  setProperty(root, apply.name, written);
89
89
  };
90
90
  /**
91
- * Applies the view's live part on a document's root: each declared switch that applies there, the font size, and the
92
- * backdrop behind the story in the view's scheme.
91
+ * Applies the view's live part on a document's root: each declared switch that applies there, right to left for a
92
+ * language read so, the font size, and the backdrop behind the story in the view's scheme.
93
93
  *
94
94
  * @param root - the document's root element.
95
95
  * @param view - the view's live part: the frame applies it again whenever the shell sends a change.
@@ -98,6 +98,10 @@ const applySwitch = (root, each, value) => {
98
98
  export const applyView = (root, view, catalogue) => {
99
99
  for (const each of catalogue.switches)
100
100
  applySwitch(root, each, view.switches[each.id]);
101
+ // a language read right to left draws the story right to left, whatever the direction switch says
102
+ const language = switchWithRole(catalogue.switches, "language");
103
+ if (language !== undefined && switchValueOf(language, view.switches[language.id])?.isRightToLeft === true)
104
+ root.setAttribute("dir", "rtl");
101
105
  root.style.fontSize = `${view.text}%`;
102
106
  const backdrop = catalogue.backdrops.find((each) => each.id === view.backdrop);
103
107
  applyBackdrop(root.ownerDocument, backdropSheet(backdrop, schemeOf(view, catalogue.switches)));
@@ -1 +1 @@
1
- {"version":3,"file":"frameView.js","sourceRoot":"","sources":["../../../src/frame/frameView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameView.js","sourceRoot":"","sources":["../../../src/frame/frameView.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAmB,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAiB,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAE1E,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,QAAkB,EAAE,KAAa,EAAQ,EAAE;IAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;AAC5B,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAC,IAAiB,EAAE,IAAY,EAAE,KAAyB,EAAQ,EAAE;IACxF,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAiB,EAAE,MAAc,EAAE,IAAgB,EAAE,KAAyB,EAAQ,EAAE;IACxG,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,IAAY,EAAE,KAAyB,EAAQ,EAAE;IACvF,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;QACpD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,IAAgB,EAAE,KAAyB,EAAQ,EAAE;IAC3F,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACxF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,IAAI,EAAE,CAAC;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAiB,EACjB,IAAc,EACd,SAA4D,EACtD,EAAE;IACR,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ;QAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,kGAAkG;IAClG,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI;QACvG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/E,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,IAAe,EAAY,EAAE;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAkB,EAAE,IAAuB,EAAiB,EAAE;IAC7F,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CACN,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/F,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CACL,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mountFrame.d.ts","sourceRoot":"","sources":["../../../src/frame/mountFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIjF,OAAO,EAAqB,KAAK,cAAc,EAAqB,MAAM,iBAAiB,CAAC;AAiB5F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,eAAe,CAAC;AAKjE,uCAAuC;AACvC,MAAM,MAAM,WAAW,GAAG;IACxB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,+GAA+G;IAC/G,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACvC,iIAAiI;IACjI,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC1C,oHAAoH;IACpH,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;CACtC,CAAC;AA0CF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAU,WAAW,WAAW,EAAE,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAqJ1F,CAAC"}
1
+ {"version":3,"file":"mountFrame.d.ts","sourceRoot":"","sources":["../../../src/frame/mountFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIjF,OAAO,EAAqB,KAAK,cAAc,EAAqB,MAAM,iBAAiB,CAAC;AAkB5F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAOpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,eAAe,CAAC;AAOjE,uCAAuC;AACvC,MAAM,MAAM,WAAW,GAAG;IACxB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,+GAA+G;IAC/G,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACvC,iIAAiI;IACjI,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC1C,oHAAoH;IACpH,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;CACtC,CAAC;AAoDF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAU,WAAW,WAAW,EAAE,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAsK1F,CAAC"}
@@ -16,6 +16,7 @@ import { storyTextOf } from "@forgebook/story-format/texts";
16
16
  import { actionNames, excludedControls, panelArgTypesOf } from "../argTypes.js";
17
17
  import { catalogueSettings } from "../catalogue.js";
18
18
  import { shownLanguage } from "../languages.js";
19
+ import { LIVE_ERROR_EVENT } from "../liveErrors.js";
19
20
  import { detailOf, isShellMessage, previewValue } from "../messages.js";
20
21
  import { panelArgsOf, storyArgsOf } from "../namedValues.js";
21
22
  import { sourceFiles } from "../sourceFiles.js";
@@ -30,9 +31,20 @@ import { storyFrameClock } from "./frameClock.js";
30
31
  import { STATUS_ATTRIBUTE } from "./frameStatus.js";
31
32
  import { applyView, loadSheets, viewSheets } from "./frameView.js";
32
33
  import { applyTools } from "./measureTools.js";
34
+ import { spillOutline } from "./spillOutline.js";
33
35
  import { clearRetry, isStaleModuleError, markRetry, sessionStorageOf } from "./staleModule.js";
34
36
  import { mergedPreviews, readPreview, readStory } from "./storyModule.js";
35
37
  import { runStory } from "./storyRun.js";
38
+ import { followTouch } from "./touchLayer.js";
39
+ /**
40
+ * Tells the dev server about an error, for an agent following them (`forgebook errors`); nothing in a build, which has
41
+ * no connection to it.
42
+ *
43
+ * @param report - the error.
44
+ */
45
+ const tellDevServer = (report) => {
46
+ import.meta.hot?.send(LIVE_ERROR_EVENT, report);
47
+ };
36
48
  /** Tells the shell, which is the parent page on the same origin. */
37
49
  const tellShell = (message) => {
38
50
  if (window.parent !== window)
@@ -82,22 +94,28 @@ export const mountFrame = async (container, config) => {
82
94
  const params = new URLSearchParams(window.location.search);
83
95
  const storyId = params.get("story") ?? "";
84
96
  const languages = config.languages ?? [];
85
- const switches = catalogueSwitches(config.switches, languages);
97
+ const switches = catalogueSwitches(config.switches, languages, config.lists?.controls);
86
98
  const catalogue = catalogueSettings("", switches, config.lists);
87
99
  const preview = mergedPreviews((config.previews ?? []).map(readPreview));
88
100
  const view = parseView(window.location.search, catalogue);
89
101
  applyView(document.documentElement, view, catalogue);
102
+ // the Touch switch's simulation, on before the story's modules load, so a library that reads the device at once
103
+ // sees touch
104
+ followTouch(document);
90
105
  // what the story fixes of the view, once it is read: every view the frame applies has it over the shell's
91
106
  let fixed = NOT_FIXED;
92
107
  // set once the story runs: a view the shell sends then changes its language and its globals without a new mount
93
108
  let changeShown;
94
109
  // the shell sends the live part of a changed view: applied on the root, and kept in the address so a reload (an
95
110
  // edit, a stale module) shows the same view
111
+ const showSpills = spillOutline(document, ".forgebook-frame", (count) => tellShell({ type: "forgebook:spills", storyId, count }));
96
112
  window.addEventListener("message", (event) => {
97
113
  if (event.origin !== window.location.origin || !isShellMessage(event.data))
98
114
  return;
99
115
  if (event.data.type === "forgebook:tools")
100
116
  applyTools(document, event.data.tools, catalogue.gridStep);
117
+ if (event.data.type === "forgebook:spills")
118
+ showSpills(event.data.isOn);
101
119
  if (event.data.type !== "forgebook:view")
102
120
  return;
103
121
  applyView(document.documentElement, withFixed(event.data.view, fixed), catalogue);
@@ -115,6 +133,7 @@ export const mountFrame = async (container, config) => {
115
133
  const reportError = (message) => {
116
134
  document.documentElement.setAttribute(STATUS_ATTRIBUTE, "error");
117
135
  tellShell({ type: "forgebook:error", storyId, message });
136
+ tellDevServer({ kind: "render", storyId, view: window.location.search, message });
118
137
  };
119
138
  const fail = (message) => {
120
139
  const box = document.createElement("div");
@@ -200,7 +219,16 @@ export const mountFrame = async (container, config) => {
200
219
  changeShown = (live) => running.setShown(shownFor(live));
201
220
  },
202
221
  onError: reportError,
203
- onTrace: (trace) => tellShell({ type: "forgebook:play", storyId, trace }),
222
+ onTrace: (trace) => {
223
+ tellShell({ type: "forgebook:play", storyId, trace });
224
+ if (trace.status === "failed")
225
+ tellDevServer({
226
+ kind: "play",
227
+ storyId,
228
+ view: window.location.search,
229
+ message: trace.error ?? "The play failed"
230
+ });
231
+ },
204
232
  onEvent: (name, values) => tellShell({
205
233
  type: "forgebook:call",
206
234
  storyId,
@@ -1 +1 @@
1
- {"version":3,"file":"mountFrame.js","sourceRoot":"","sources":["../../../src/frame/mountFrame.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mountFrame.js","sourceRoot":"","sources":["../../../src/frame/mountFrame.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Starts the outline's control: a function that turns it on or off.
3
+ *
4
+ * @param document - the frame's document.
5
+ * @param rootSelector - the story's root (`.forgebook-frame`).
6
+ * @param onCount - called with the number of spills each time it changes while the outline is on.
7
+ * @returns the switch.
8
+ */
9
+ export declare const spillOutline: (document: Document, rootSelector: string, onCount: (count: number) => void) => ((isOn: boolean) => void);
10
+ //# sourceMappingURL=spillOutline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spillOutline.d.ts","sourceRoot":"","sources":["../../../src/frame/spillOutline.ts"],"names":[],"mappings":"AAyBA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,QAAQ,EAClB,cAAc,MAAM,EACpB,SAAS,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAC/B,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CA+C1B,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * The frame's outline of the elements that spill out of their parents, while the shell asks for it: on while the
3
+ * story's args are the worst case, so a long text that overlaps a neighbour shows where.
4
+ *
5
+ * @remarks
6
+ * The spills are found as the browser tests find them (`forgebook/spills`), so the outline and the suite agree. They
7
+ * are measured again after the story changes (its nodes, its text, a class or a style) and after it is resized, once a
8
+ * frame at most, and the shell is told the count whenever it changes. The outline is a CSS outline, which takes no room,
9
+ * in a fixed colour that reads over any theme.
10
+ *
11
+ * @module
12
+ */
13
+ import { findSpills } from "../spills.js";
14
+ /** The attribute the measure sets on each element that spills. */
15
+ const SPILL_ATTRIBUTE = "data-forgebook-spill";
16
+ /** The id of the style sheet that outlines them. */
17
+ const STYLE_ID = "forgebook-spill-style";
18
+ /** The outline of a spilling element. */
19
+ const SPILL_SHEET = `[${SPILL_ATTRIBUTE}] { outline: 2px dashed rgb(220 38 38) !important; ` +
20
+ "outline-offset: -1px !important; background-color: rgb(220 38 38 / 0.08) !important; }";
21
+ /**
22
+ * Starts the outline's control: a function that turns it on or off.
23
+ *
24
+ * @param document - the frame's document.
25
+ * @param rootSelector - the story's root (`.forgebook-frame`).
26
+ * @param onCount - called with the number of spills each time it changes while the outline is on.
27
+ * @returns the switch.
28
+ */
29
+ export const spillOutline = (document, rootSelector, onCount) => {
30
+ let stop;
31
+ const start = () => {
32
+ const style = document.createElement("style");
33
+ style.id = STYLE_ID;
34
+ style.textContent = SPILL_SHEET;
35
+ document.head.append(style);
36
+ let lastCount;
37
+ let pending;
38
+ const measure = () => {
39
+ pending = undefined;
40
+ const count = findSpills(rootSelector, SPILL_ATTRIBUTE).length;
41
+ if (count === lastCount)
42
+ return;
43
+ lastCount = count;
44
+ onCount(count);
45
+ };
46
+ // the story's changes come in bursts (a render, a font): measured once, on the next frame
47
+ const schedule = () => {
48
+ pending ??= requestAnimationFrame(measure);
49
+ };
50
+ // the measure's own attribute is left out, or each mark would ask for another measure
51
+ const mutations = new MutationObserver(schedule);
52
+ mutations.observe(document.body, {
53
+ subtree: true,
54
+ childList: true,
55
+ characterData: true,
56
+ attributeFilter: ["class", "style", "hidden"]
57
+ });
58
+ const resizes = new ResizeObserver(schedule);
59
+ resizes.observe(document.body);
60
+ schedule();
61
+ return () => {
62
+ mutations.disconnect();
63
+ resizes.disconnect();
64
+ if (pending !== undefined)
65
+ cancelAnimationFrame(pending);
66
+ style.remove();
67
+ for (const element of document.querySelectorAll(`[${SPILL_ATTRIBUTE}]`))
68
+ element.removeAttribute(SPILL_ATTRIBUTE);
69
+ };
70
+ };
71
+ return (isOn) => {
72
+ if (isOn && stop === undefined)
73
+ stop = start();
74
+ else if (!isOn && stop !== undefined) {
75
+ stop();
76
+ stop = undefined;
77
+ }
78
+ };
79
+ };
80
+ //# sourceMappingURL=spillOutline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spillOutline.js","sourceRoot":"","sources":["../../../src/frame/spillOutline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,kEAAkE;AAClE,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,oDAAoD;AACpD,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEzC,yCAAyC;AACzC,MAAM,WAAW,GACf,IAAI,eAAe,qDAAqD;IACxE,wFAAwF,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,QAAkB,EAClB,YAAoB,EACpB,OAAgC,EACL,EAAE;IAC7B,IAAI,IAA8B,CAAC;IACnC,MAAM,KAAK,GAAG,GAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;QACpB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,SAA6B,CAAC;QAClC,IAAI,OAA2B,CAAC;QAChC,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO;YAChC,SAAS,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,OAAO,KAAK,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,sFAAsF;QACtF,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,OAAO,GAAS,EAAE;YAChB,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,OAAO,KAAK,SAAS;gBAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,eAAe,GAAG,CAAC;gBACrE,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CAAC,IAAa,EAAQ,EAAE;QAC7B,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,KAAK,EAAE,CAAC;aAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,EAAE,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The simulated fingers drawn in the frame: the real cursor hidden, a round translucent dot where each finger is,
3
+ * smaller while it presses, as a tablet's pointer and Chromium's device mode show a touch.
4
+ *
5
+ * @remarks
6
+ * The dots sit above the story and let every press through (`pointer-events: none`); their colours are fixed, not the
7
+ * source's, so they read over any theme.
8
+ *
9
+ * @module
10
+ */
11
+ import type { Point } from "./touchGesture.ts";
12
+ /** The dots of a frame. */
13
+ export type TouchDots = {
14
+ /**
15
+ * Draws the dots: one per point, each pressed or not; none hides them.
16
+ *
17
+ * @param points - where each finger is, and whether it presses.
18
+ */
19
+ readonly draw: (points: readonly {
20
+ readonly point: Point;
21
+ readonly isPressed: boolean;
22
+ }[]) => void;
23
+ /** Removes the dots and shows the cursor again. */
24
+ readonly remove: () => void;
25
+ };
26
+ /**
27
+ * The dots of a frame's document.
28
+ *
29
+ * @param document - the frame's document.
30
+ */
31
+ export declare const touchDots: (document: Document) => TouchDots;
32
+ //# sourceMappingURL=touchDots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchDots.d.ts","sourceRoot":"","sources":["../../../src/frame/touchDots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAoB/C,2BAA2B;AAC3B,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;IACnG,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,QAAQ,KAAG,SA4B9C,CAAC"}
@@ -0,0 +1,52 @@
1
+ /** The id of the style sheet that hides the cursor and draws the dots. */
2
+ const STYLE_ID = "forgebook-touch-style";
3
+ /** The class of a dot. */
4
+ const DOT_CLASS = "forgebook-touch-dot";
5
+ /** The dots' sheet: the cursor hidden while touch is simulated, the dots' look. */
6
+ const DOTS_SHEET = [
7
+ "html[data-forgebook-touch], html[data-forgebook-touch] * { cursor: none !important; }",
8
+ `.${DOT_CLASS} { position: fixed; z-index: 2147483647; top: 0; left: 0; width: 28px; height: 28px; ` +
9
+ "margin: -14px 0 0 -14px; border-radius: 50%; box-sizing: border-box; pointer-events: none; " +
10
+ "background: rgb(255 255 255 / 0.55); border: 1.5px solid rgb(0 0 0 / 0.35); " +
11
+ "box-shadow: 0 1px 4px rgb(0 0 0 / 0.25); transition: scale 80ms ease-out, background-color 80ms ease-out; }",
12
+ `.${DOT_CLASS}[data-pressed] { scale: 0.75; background: rgb(210 210 210 / 0.75); }`,
13
+ `.${DOT_CLASS}[hidden] { display: none; }`,
14
+ "@media (prefers-reduced-motion: reduce) { .forgebook-touch-dot { transition: none; } }"
15
+ ].join("\n");
16
+ /**
17
+ * The dots of a frame's document.
18
+ *
19
+ * @param document - the frame's document.
20
+ */
21
+ export const touchDots = (document) => {
22
+ const style = document.createElement("style");
23
+ style.id = STYLE_ID;
24
+ style.textContent = DOTS_SHEET;
25
+ document.head.append(style);
26
+ const dots = [0, 1].map(() => {
27
+ const dot = document.createElement("div");
28
+ dot.className = DOT_CLASS;
29
+ dot.setAttribute("aria-hidden", "true");
30
+ dot.hidden = true;
31
+ document.body.append(dot);
32
+ return dot;
33
+ });
34
+ return {
35
+ draw: (points) => {
36
+ dots.forEach((dot, index) => {
37
+ const each = points[index];
38
+ dot.hidden = each === undefined;
39
+ if (each === undefined)
40
+ return;
41
+ dot.style.translate = `${each.point.x}px ${each.point.y}px`;
42
+ dot.toggleAttribute("data-pressed", each.isPressed);
43
+ });
44
+ },
45
+ remove: () => {
46
+ style.remove();
47
+ for (const dot of dots)
48
+ dot.remove();
49
+ }
50
+ };
51
+ };
52
+ //# sourceMappingURL=touchDots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchDots.js","sourceRoot":"","sources":["../../../src/frame/touchDots.ts"],"names":[],"mappings":"AAYA,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEzC,0BAA0B;AAC1B,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAExC,mFAAmF;AACnF,MAAM,UAAU,GAAG;IACjB,uFAAuF;IACvF,IAAI,SAAS,uFAAuF;QAClG,6FAA6F;QAC7F,8EAA8E;QAC9E,6GAA6G;IAC/G,IAAI,SAAS,sEAAsE;IACnF,IAAI,SAAS,6BAA6B;IAC1C,wFAAwF;CACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAcb;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAa,EAAE;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,CAAC,MAAyE,EAAQ,EAAE;YACxF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC;gBAChC,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAC5D,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,GAAS,EAAE;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The events a simulated finger sends a story: pointer events of the `touch` type, touch events with their `Touch`
3
+ * objects where the browser lets a page build them (Chromium), and the mouse events a tap adds for old code.
4
+ *
5
+ * @remarks
6
+ * A page cannot make trusted events, so these are dispatched ones: the story's handlers see a finger, the browser's
7
+ * own reactions (scrolling, focus) do not follow them. A touch pointer is captured by the element it went down on,
8
+ * as the browser does; a story that captures it elsewhere moves it there (`touchLayer.ts` patches the capture calls
9
+ * for the simulated pointers' ids).
10
+ *
11
+ * @module
12
+ */
13
+ import type { Point } from "./touchGesture.ts";
14
+ /** A simulated finger. */
15
+ export type Finger = {
16
+ /** Its pointer id, and its touch's identifier. */
17
+ readonly id: number;
18
+ /** Whether it is the first finger down. */
19
+ readonly isPrimary: boolean;
20
+ /** Where it is. */
21
+ point: Point;
22
+ /** The element it went down on: its touch events' target. */
23
+ readonly startTarget: Element;
24
+ /** The element that holds its pointer: where it went down, or where the story captured it. */
25
+ captureTarget: Element;
26
+ };
27
+ /**
28
+ * Sends a finger's pointer event to the element that holds its pointer.
29
+ *
30
+ * @param type - the event (`pointerdown`, `pointermove`…).
31
+ * @param finger - the finger.
32
+ * @param isDown - whether it touches the screen after this event.
33
+ * @returns whether no handler cancelled it.
34
+ */
35
+ export declare const sendPointer: (type: string, finger: Finger, isDown: boolean) => boolean;
36
+ /** Whether the browser lets a page build touch events (Chromium does; Safari and Firefox on a computer do not). */
37
+ export declare const canBuildTouches: () => boolean;
38
+ /**
39
+ * Sends a touch event for the fingers that changed, to the element the first of them went down on; nothing where the
40
+ * browser cannot build one.
41
+ *
42
+ * @param type - the event (`touchstart`, `touchmove`, `touchend`, `touchcancel`).
43
+ * @param down - every finger on the screen after this event.
44
+ * @param changed - the fingers this event is about.
45
+ * @param isCancelable - whether a handler may cancel it (a move once the page scrolls may not).
46
+ * @returns whether no handler cancelled it; `true` where no event was sent.
47
+ */
48
+ export declare const sendTouch: (type: string, down: readonly Finger[], changed: readonly Finger[], isCancelable: boolean) => boolean;
49
+ /**
50
+ * Sends a mouse event at a finger's point, to the element under it: a tap's compatibility events (`mousedown`,
51
+ * `mouseup`) and a long press's `contextmenu`.
52
+ *
53
+ * @param type - the event.
54
+ * @param finger - the finger.
55
+ * @returns whether no handler cancelled it.
56
+ */
57
+ export declare const sendMouse: (type: string, finger: Finger) => boolean;
58
+ /**
59
+ * Sends a tap's click, of the `touch` type, to the element the real click went to: the element still reacts as to a
60
+ * click (a checkbox toggles, a link opens), and a handler that reads `pointerType` sees a finger.
61
+ *
62
+ * @param target - the real click's target.
63
+ * @param finger - the finger that tapped.
64
+ */
65
+ export declare const sendClick: (target: EventTarget, finger: Finger) => void;
66
+ //# sourceMappingURL=touchEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touchEvents.d.ts","sourceRoot":"","sources":["../../../src/frame/touchEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,0BAA0B;AAC1B,MAAM,MAAM,MAAM,GAAG;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,mBAAmB;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8FAA8F;IAC9F,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAmBF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAQ,OAAO,KAAG,OAsB3E,CAAC;AAEF,mHAAmH;AACnH,eAAO,MAAM,eAAe,QAAO,OAQlC,CAAC;AAwBF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EACZ,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,SAAS,MAAM,EAAE,EAC1B,cAAc,OAAO,KACpB,OAeF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,OAiBxD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,EAAE,QAAQ,MAAM,KAAG,IAmB/D,CAAC"}