@kestack/web-platform 0.0.0-stage → 0.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 (1561) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +523 -2
  3. package/dist/_virtual/_rolldown/runtime.js +27 -0
  4. package/dist/app/apis/apis.d.ts +55 -0
  5. package/dist/app/apis/apis.d.ts.map +1 -0
  6. package/dist/app/apis/apis.js +43 -0
  7. package/dist/app/apis/apis.js.map +1 -0
  8. package/dist/app/apis/index.d.ts +2 -0
  9. package/dist/app/apis/index.js +2 -0
  10. package/dist/app/app.d.ts +77 -0
  11. package/dist/app/app.d.ts.map +1 -0
  12. package/dist/app/app.js +118 -0
  13. package/dist/app/app.js.map +1 -0
  14. package/dist/app/assemble/assemble.d.ts +167 -0
  15. package/dist/app/assemble/assemble.d.ts.map +1 -0
  16. package/dist/app/assemble/assemble.js +186 -0
  17. package/dist/app/assemble/assemble.js.map +1 -0
  18. package/dist/app/assemble/index.d.ts +2 -0
  19. package/dist/app/assemble/index.js +2 -0
  20. package/dist/app/assemble/public.d.ts +18 -0
  21. package/dist/app/assemble/public.d.ts.map +1 -0
  22. package/dist/app/assemble/public.js +41 -0
  23. package/dist/app/assemble/public.js.map +1 -0
  24. package/dist/app/gate/domain/check.d.ts +33 -0
  25. package/dist/app/gate/domain/check.d.ts.map +1 -0
  26. package/dist/app/gate/domain/check.js +50 -0
  27. package/dist/app/gate/domain/check.js.map +1 -0
  28. package/dist/app/gate/domain/index.d.ts +4 -0
  29. package/dist/app/gate/domain/index.js +3 -0
  30. package/dist/app/gate/domain/machine.d.ts +180 -0
  31. package/dist/app/gate/domain/machine.d.ts.map +1 -0
  32. package/dist/app/gate/domain/machine.js +383 -0
  33. package/dist/app/gate/domain/machine.js.map +1 -0
  34. package/dist/app/gate/domain/services.d.ts +37 -0
  35. package/dist/app/gate/domain/services.d.ts.map +1 -0
  36. package/dist/app/gate/domain/services.js +13 -0
  37. package/dist/app/gate/domain/services.js.map +1 -0
  38. package/dist/app/gate/domain/types.d.ts +44 -0
  39. package/dist/app/gate/domain/types.d.ts.map +1 -0
  40. package/dist/app/gate/domain/types.js +0 -0
  41. package/dist/app/gate/gate.d.ts +86 -0
  42. package/dist/app/gate/gate.d.ts.map +1 -0
  43. package/dist/app/gate/gate.js +351 -0
  44. package/dist/app/gate/gate.js.map +1 -0
  45. package/dist/app/gate/index.d.ts +5 -0
  46. package/dist/app/gate/index.js +3 -0
  47. package/dist/app/gate/memory.d.ts +97 -0
  48. package/dist/app/gate/memory.d.ts.map +1 -0
  49. package/dist/app/gate/memory.js +48 -0
  50. package/dist/app/gate/memory.js.map +1 -0
  51. package/dist/app/gate/react.d.ts +74 -0
  52. package/dist/app/gate/react.d.ts.map +1 -0
  53. package/dist/app/gate/react.js +107 -0
  54. package/dist/app/gate/react.js.map +1 -0
  55. package/dist/app/host/host.d.ts +90 -0
  56. package/dist/app/host/host.d.ts.map +1 -0
  57. package/dist/app/host/host.js +75 -0
  58. package/dist/app/host/host.js.map +1 -0
  59. package/dist/app/host/index.d.ts +2 -0
  60. package/dist/app/host/index.js +2 -0
  61. package/dist/app/index.d.ts +4 -0
  62. package/dist/app/index.js +2 -0
  63. package/dist/app/session/define.d.ts +60 -0
  64. package/dist/app/session/define.d.ts.map +1 -0
  65. package/dist/app/session/define.js +31 -0
  66. package/dist/app/session/define.js.map +1 -0
  67. package/dist/app/session/index.d.ts +6 -0
  68. package/dist/app/session/index.js +6 -0
  69. package/dist/app/session/keeper.d.ts +17 -0
  70. package/dist/app/session/keeper.d.ts.map +1 -0
  71. package/dist/app/session/keeper.js +21 -0
  72. package/dist/app/session/keeper.js.map +1 -0
  73. package/dist/app/session/open.d.ts +44 -0
  74. package/dist/app/session/open.d.ts.map +1 -0
  75. package/dist/app/session/open.js +70 -0
  76. package/dist/app/session/open.js.map +1 -0
  77. package/dist/app/session/react.d.ts +17 -0
  78. package/dist/app/session/react.d.ts.map +1 -0
  79. package/dist/app/session/react.js +28 -0
  80. package/dist/app/session/react.js.map +1 -0
  81. package/dist/app/session/status.d.ts +24 -0
  82. package/dist/app/session/status.d.ts.map +1 -0
  83. package/dist/app/session/status.js +25 -0
  84. package/dist/app/session/status.js.map +1 -0
  85. package/dist/app/web-host.d.ts +16 -0
  86. package/dist/app/web-host.d.ts.map +1 -0
  87. package/dist/app/web-host.js +85 -0
  88. package/dist/app/web-host.js.map +1 -0
  89. package/dist/client/index.d.ts +3 -0
  90. package/dist/client/index.js +2 -0
  91. package/dist/client/root/index.d.ts +2 -0
  92. package/dist/client/root/index.js +2 -0
  93. package/dist/client/root/root.d.ts +62 -0
  94. package/dist/client/root/root.d.ts.map +1 -0
  95. package/dist/client/root/root.js +92 -0
  96. package/dist/client/root/root.js.map +1 -0
  97. package/dist/client/server.d.ts +2 -0
  98. package/dist/client/server.js +2 -0
  99. package/dist/client/theme/index.d.ts +2 -0
  100. package/dist/client/theme/index.js +2 -0
  101. package/dist/client/theme/tanstack-start.d.ts +5 -0
  102. package/dist/client/theme/tanstack-start.d.ts.map +1 -0
  103. package/dist/client/theme/tanstack-start.js +9 -0
  104. package/dist/client/theme/tanstack-start.js.map +1 -0
  105. package/dist/components/hooks/use-element-width.d.ts +9 -0
  106. package/dist/components/hooks/use-element-width.d.ts.map +1 -0
  107. package/dist/components/hooks/use-element-width.js +26 -0
  108. package/dist/components/hooks/use-element-width.js.map +1 -0
  109. package/dist/components/hooks/use-mobile.d.ts +6 -0
  110. package/dist/components/hooks/use-mobile.d.ts.map +1 -0
  111. package/dist/components/hooks/use-mobile.js +16 -0
  112. package/dist/components/hooks/use-mobile.js.map +1 -0
  113. package/dist/components/hooks/use-scroll.d.ts +12 -0
  114. package/dist/components/hooks/use-scroll.d.ts.map +1 -0
  115. package/dist/components/hooks/use-scroll.js +198 -0
  116. package/dist/components/hooks/use-scroll.js.map +1 -0
  117. package/dist/components/lib/lucide.d.ts +1 -0
  118. package/dist/components/lib/lucide.js +10 -0
  119. package/dist/components/lib/lucide.js.map +1 -0
  120. package/dist/components/lib/motion.d.ts +1 -0
  121. package/dist/components/lib/motion.js +1 -0
  122. package/dist/components/lib/scrollStyles.d.ts +13 -0
  123. package/dist/components/lib/scrollStyles.d.ts.map +1 -0
  124. package/dist/components/lib/scrollStyles.js +19 -0
  125. package/dist/components/lib/scrollStyles.js.map +1 -0
  126. package/dist/components/lib/shadow-dom.d.ts +17 -0
  127. package/dist/components/lib/shadow-dom.d.ts.map +1 -0
  128. package/dist/components/lib/shadow-dom.js +50 -0
  129. package/dist/components/lib/shadow-dom.js.map +1 -0
  130. package/dist/components/lib/utils.d.ts +5 -0
  131. package/dist/components/lib/utils.d.ts.map +1 -0
  132. package/dist/components/lib/utils.js +10 -0
  133. package/dist/components/lib/utils.js.map +1 -0
  134. package/dist/components/ui/accordion.d.ts +9 -0
  135. package/dist/components/ui/accordion.d.ts.map +1 -0
  136. package/dist/components/ui/accordion.js +55 -0
  137. package/dist/components/ui/accordion.js.map +1 -0
  138. package/dist/components/ui/alert-dialog.d.ts +21 -0
  139. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  140. package/dist/components/ui/alert-dialog.js +96 -0
  141. package/dist/components/ui/alert-dialog.js.map +1 -0
  142. package/dist/components/ui/alert.d.ts +13 -0
  143. package/dist/components/ui/alert.d.ts.map +1 -0
  144. package/dist/components/ui/alert.js +45 -0
  145. package/dist/components/ui/alert.js.map +1 -0
  146. package/dist/components/ui/aspect-ratio.d.ts +7 -0
  147. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  148. package/dist/components/ui/aspect-ratio.js +15 -0
  149. package/dist/components/ui/aspect-ratio.js.map +1 -0
  150. package/dist/components/ui/attachment.d.ts +26 -0
  151. package/dist/components/ui/attachment.d.ts.map +1 -0
  152. package/dist/components/ui/attachment.js +106 -0
  153. package/dist/components/ui/attachment.js.map +1 -0
  154. package/dist/components/ui/avatar.d.ts +14 -0
  155. package/dist/components/ui/avatar.d.ts.map +1 -0
  156. package/dist/components/ui/avatar.js +52 -0
  157. package/dist/components/ui/avatar.js.map +1 -0
  158. package/dist/components/ui/badge.d.ts +10 -0
  159. package/dist/components/ui/badge.d.ts.map +1 -0
  160. package/dist/components/ui/badge.js +31 -0
  161. package/dist/components/ui/badge.js.map +1 -0
  162. package/dist/components/ui/breadcrumb.d.ts +13 -0
  163. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  164. package/dist/components/ui/breadcrumb.js +74 -0
  165. package/dist/components/ui/breadcrumb.js.map +1 -0
  166. package/dist/components/ui/bubble.d.ts +19 -0
  167. package/dist/components/ui/bubble.d.ts.map +1 -0
  168. package/dist/components/ui/bubble.js +75 -0
  169. package/dist/components/ui/bubble.js.map +1 -0
  170. package/dist/components/ui/button-group.d.ts +13 -0
  171. package/dist/components/ui/button-group.d.ts.map +1 -0
  172. package/dist/components/ui/button-group.js +43 -0
  173. package/dist/components/ui/button-group.js.map +1 -0
  174. package/dist/components/ui/button.d.ts +11 -0
  175. package/dist/components/ui/button.d.ts.map +1 -0
  176. package/dist/components/ui/button.js +46 -0
  177. package/dist/components/ui/button.js.map +1 -0
  178. package/dist/components/ui/calendar.d.ts +13 -0
  179. package/dist/components/ui/calendar.d.ts.map +1 -0
  180. package/dist/components/ui/calendar.js +110 -0
  181. package/dist/components/ui/calendar.js.map +1 -0
  182. package/dist/components/ui/card.d.ts +14 -0
  183. package/dist/components/ui/card.d.ts.map +1 -0
  184. package/dist/components/ui/card.js +58 -0
  185. package/dist/components/ui/card.js.map +1 -0
  186. package/dist/components/ui/carousel.d.ts +31 -0
  187. package/dist/components/ui/carousel.d.ts.map +1 -0
  188. package/dist/components/ui/carousel.js +133 -0
  189. package/dist/components/ui/carousel.js.map +1 -0
  190. package/dist/components/ui/chart.d.ts +47 -0
  191. package/dist/components/ui/chart.d.ts.map +1 -0
  192. package/dist/components/ui/chart.js +150 -0
  193. package/dist/components/ui/chart.js.map +1 -0
  194. package/dist/components/ui/checkbox.d.ts +6 -0
  195. package/dist/components/ui/checkbox.d.ts.map +1 -0
  196. package/dist/components/ui/checkbox.js +22 -0
  197. package/dist/components/ui/checkbox.js.map +1 -0
  198. package/dist/components/ui/collapsible.d.ts +8 -0
  199. package/dist/components/ui/collapsible.d.ts.map +1 -0
  200. package/dist/components/ui/collapsible.js +25 -0
  201. package/dist/components/ui/collapsible.js.map +1 -0
  202. package/dist/components/ui/combobox.d.ts +27 -0
  203. package/dist/components/ui/combobox.d.ts.map +1 -0
  204. package/dist/components/ui/combobox.js +163 -0
  205. package/dist/components/ui/combobox.js.map +1 -0
  206. package/dist/components/ui/command.d.ts +22 -0
  207. package/dist/components/ui/command.d.ts.map +1 -0
  208. package/dist/components/ui/command.js +90 -0
  209. package/dist/components/ui/command.js.map +1 -0
  210. package/dist/components/ui/context-menu.d.ts +32 -0
  211. package/dist/components/ui/context-menu.d.ts.map +1 -0
  212. package/dist/components/ui/context-menu.js +135 -0
  213. package/dist/components/ui/context-menu.js.map +1 -0
  214. package/dist/components/ui/dialog.d.ts +20 -0
  215. package/dist/components/ui/dialog.d.ts.map +1 -0
  216. package/dist/components/ui/dialog.js +94 -0
  217. package/dist/components/ui/dialog.js.map +1 -0
  218. package/dist/components/ui/direction.d.ts +2 -0
  219. package/dist/components/ui/direction.js +2 -0
  220. package/dist/components/ui/drawer.d.ts +19 -0
  221. package/dist/components/ui/drawer.d.ts.map +1 -0
  222. package/dist/components/ui/drawer.js +125 -0
  223. package/dist/components/ui/drawer.js.map +1 -0
  224. package/dist/components/ui/dropdown-menu.d.ts +35 -0
  225. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  226. package/dist/components/ui/dropdown-menu.js +141 -0
  227. package/dist/components/ui/dropdown-menu.js.map +1 -0
  228. package/dist/components/ui/empty.d.ts +14 -0
  229. package/dist/components/ui/empty.d.ts.map +1 -0
  230. package/dist/components/ui/empty.js +61 -0
  231. package/dist/components/ui/empty.js.map +1 -0
  232. package/dist/components/ui/field.d.ts +27 -0
  233. package/dist/components/ui/field.d.ts.map +1 -0
  234. package/dist/components/ui/field.js +111 -0
  235. package/dist/components/ui/field.js.map +1 -0
  236. package/dist/components/ui/file-tree.d.ts +62 -0
  237. package/dist/components/ui/file-tree.d.ts.map +1 -0
  238. package/dist/components/ui/file-tree.js +300 -0
  239. package/dist/components/ui/file-tree.js.map +1 -0
  240. package/dist/components/ui/google-button.d.ts +9 -0
  241. package/dist/components/ui/google-button.d.ts.map +1 -0
  242. package/dist/components/ui/google-button.js +183 -0
  243. package/dist/components/ui/google-button.js.map +1 -0
  244. package/dist/components/ui/hover-card.d.ts +8 -0
  245. package/dist/components/ui/hover-card.d.ts.map +1 -0
  246. package/dist/components/ui/hover-card.js +38 -0
  247. package/dist/components/ui/hover-card.js.map +1 -0
  248. package/dist/components/ui/input-group.d.ts +21 -0
  249. package/dist/components/ui/input-group.d.ts.map +1 -0
  250. package/dist/components/ui/input-group.js +81 -0
  251. package/dist/components/ui/input-group.js.map +1 -0
  252. package/dist/components/ui/input-otp.d.ts +14 -0
  253. package/dist/components/ui/input-otp.d.ts.map +1 -0
  254. package/dist/components/ui/input-otp.js +48 -0
  255. package/dist/components/ui/input-otp.js.map +1 -0
  256. package/dist/components/ui/input.d.ts +6 -0
  257. package/dist/components/ui/input.d.ts.map +1 -0
  258. package/dist/components/ui/input.js +17 -0
  259. package/dist/components/ui/input.js.map +1 -0
  260. package/dist/components/ui/item.d.ts +25 -0
  261. package/dist/components/ui/item.d.ts.map +1 -0
  262. package/dist/components/ui/item.js +123 -0
  263. package/dist/components/ui/item.js.map +1 -0
  264. package/dist/components/ui/kbd.d.ts +6 -0
  265. package/dist/components/ui/kbd.d.ts.map +1 -0
  266. package/dist/components/ui/kbd.js +21 -0
  267. package/dist/components/ui/kbd.js.map +1 -0
  268. package/dist/components/ui/label.d.ts +6 -0
  269. package/dist/components/ui/label.d.ts.map +1 -0
  270. package/dist/components/ui/label.js +16 -0
  271. package/dist/components/ui/label.js.map +1 -0
  272. package/dist/components/ui/marker.d.ts +13 -0
  273. package/dist/components/ui/marker.d.ts.map +1 -0
  274. package/dist/components/ui/marker.js +45 -0
  275. package/dist/components/ui/marker.js.map +1 -0
  276. package/dist/components/ui/menubar.d.ts +32 -0
  277. package/dist/components/ui/menubar.d.ts.map +1 -0
  278. package/dist/components/ui/menubar.js +138 -0
  279. package/dist/components/ui/menubar.js.map +1 -0
  280. package/dist/components/ui/message-scroller.d.ts +13 -0
  281. package/dist/components/ui/message-scroller.d.ts.map +1 -0
  282. package/dist/components/ui/message-scroller.js +62 -0
  283. package/dist/components/ui/message-scroller.js.map +1 -0
  284. package/dist/components/ui/message.d.ts +13 -0
  285. package/dist/components/ui/message.d.ts.map +1 -0
  286. package/dist/components/ui/message.js +51 -0
  287. package/dist/components/ui/message.js.map +1 -0
  288. package/dist/components/ui/native-select.d.ts +11 -0
  289. package/dist/components/ui/native-select.d.ts.map +1 -0
  290. package/dist/components/ui/native-select.js +40 -0
  291. package/dist/components/ui/native-select.js.map +1 -0
  292. package/dist/components/ui/navigation-menu.d.ts +14 -0
  293. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  294. package/dist/components/ui/navigation-menu.js +84 -0
  295. package/dist/components/ui/navigation-menu.js.map +1 -0
  296. package/dist/components/ui/pagination.d.ts +20 -0
  297. package/dist/components/ui/pagination.d.ts.map +1 -0
  298. package/dist/components/ui/pagination.js +82 -0
  299. package/dist/components/ui/pagination.js.map +1 -0
  300. package/dist/components/ui/popover.d.ts +12 -0
  301. package/dist/components/ui/popover.d.ts.map +1 -0
  302. package/dist/components/ui/popover.js +56 -0
  303. package/dist/components/ui/popover.js.map +1 -0
  304. package/dist/components/ui/progress.d.ts +10 -0
  305. package/dist/components/ui/progress.d.ts.map +1 -0
  306. package/dist/components/ui/progress.js +46 -0
  307. package/dist/components/ui/progress.js.map +1 -0
  308. package/dist/components/ui/questionnaire.d.ts +22 -0
  309. package/dist/components/ui/questionnaire.d.ts.map +1 -0
  310. package/dist/components/ui/questionnaire.js +172 -0
  311. package/dist/components/ui/questionnaire.js.map +1 -0
  312. package/dist/components/ui/radio-group.d.ts +8 -0
  313. package/dist/components/ui/radio-group.d.ts.map +1 -0
  314. package/dist/components/ui/radio-group.js +28 -0
  315. package/dist/components/ui/radio-group.js.map +1 -0
  316. package/dist/components/ui/resizable.d.ts +10 -0
  317. package/dist/components/ui/resizable.d.ts.map +1 -0
  318. package/dist/components/ui/resizable.js +30 -0
  319. package/dist/components/ui/resizable.js.map +1 -0
  320. package/dist/components/ui/scroll-area.d.ts +10 -0
  321. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  322. package/dist/components/ui/scroll-area.js +38 -0
  323. package/dist/components/ui/scroll-area.js.map +1 -0
  324. package/dist/components/ui/select.d.ts +18 -0
  325. package/dist/components/ui/select.d.ts.map +1 -0
  326. package/dist/components/ui/select.js +100 -0
  327. package/dist/components/ui/select.js.map +1 -0
  328. package/dist/components/ui/separator.d.ts +6 -0
  329. package/dist/components/ui/separator.d.ts.map +1 -0
  330. package/dist/components/ui/separator.js +16 -0
  331. package/dist/components/ui/separator.js.map +1 -0
  332. package/dist/components/ui/sheet.d.ts +17 -0
  333. package/dist/components/ui/sheet.d.ts.map +1 -0
  334. package/dist/components/ui/sheet.js +90 -0
  335. package/dist/components/ui/sheet.js.map +1 -0
  336. package/dist/components/ui/skeleton.d.ts +5 -0
  337. package/dist/components/ui/skeleton.d.ts.map +1 -0
  338. package/dist/components/ui/skeleton.js +14 -0
  339. package/dist/components/ui/skeleton.js.map +1 -0
  340. package/dist/components/ui/slider.d.ts +6 -0
  341. package/dist/components/ui/slider.d.ts.map +1 -0
  342. package/dist/components/ui/slider.js +35 -0
  343. package/dist/components/ui/slider.js.map +1 -0
  344. package/dist/components/ui/sonner.d.ts +6 -0
  345. package/dist/components/ui/sonner.d.ts.map +1 -0
  346. package/dist/components/ui/sonner.js +28 -0
  347. package/dist/components/ui/sonner.js.map +1 -0
  348. package/dist/components/ui/spinner.d.ts +5 -0
  349. package/dist/components/ui/spinner.d.ts.map +1 -0
  350. package/dist/components/ui/spinner.js +17 -0
  351. package/dist/components/ui/spinner.js.map +1 -0
  352. package/dist/components/ui/switch.d.ts +8 -0
  353. package/dist/components/ui/switch.d.ts.map +1 -0
  354. package/dist/components/ui/switch.js +21 -0
  355. package/dist/components/ui/switch.js.map +1 -0
  356. package/dist/components/ui/table.d.ts +13 -0
  357. package/dist/components/ui/table.d.ts.map +1 -0
  358. package/dist/components/ui/table.js +68 -0
  359. package/dist/components/ui/table.js.map +1 -0
  360. package/dist/components/ui/tabs.d.ts +13 -0
  361. package/dist/components/ui/tabs.d.ts.map +1 -0
  362. package/dist/components/ui/tabs.js +47 -0
  363. package/dist/components/ui/tabs.js.map +1 -0
  364. package/dist/components/ui/textarea.d.ts +6 -0
  365. package/dist/components/ui/textarea.d.ts.map +1 -0
  366. package/dist/components/ui/textarea.js +15 -0
  367. package/dist/components/ui/textarea.js.map +1 -0
  368. package/dist/components/ui/toast.d.ts +19 -0
  369. package/dist/components/ui/toast.d.ts.map +1 -0
  370. package/dist/components/ui/toast.js +125 -0
  371. package/dist/components/ui/toast.js.map +1 -0
  372. package/dist/components/ui/toggle-group.d.ts +14 -0
  373. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  374. package/dist/components/ui/toggle-group.js +53 -0
  375. package/dist/components/ui/toggle-group.js.map +1 -0
  376. package/dist/components/ui/toggle.d.ts +11 -0
  377. package/dist/components/ui/toggle.d.ts.map +1 -0
  378. package/dist/components/ui/toggle.js +37 -0
  379. package/dist/components/ui/toggle.js.map +1 -0
  380. package/dist/components/ui/tooltip.d.ts +9 -0
  381. package/dist/components/ui/tooltip.d.ts.map +1 -0
  382. package/dist/components/ui/tooltip.js +43 -0
  383. package/dist/components/ui/tooltip.js.map +1 -0
  384. package/dist/components/viewers/diff-viewer/align.d.ts +23 -0
  385. package/dist/components/viewers/diff-viewer/align.d.ts.map +1 -0
  386. package/dist/components/viewers/diff-viewer/align.js +68 -0
  387. package/dist/components/viewers/diff-viewer/align.js.map +1 -0
  388. package/dist/components/viewers/diff-viewer/collapse.d.ts +20 -0
  389. package/dist/components/viewers/diff-viewer/collapse.d.ts.map +1 -0
  390. package/dist/components/viewers/diff-viewer/collapse.js +84 -0
  391. package/dist/components/viewers/diff-viewer/collapse.js.map +1 -0
  392. package/dist/components/viewers/diff-viewer/diff-viewer.d.ts +34 -0
  393. package/dist/components/viewers/diff-viewer/diff-viewer.d.ts.map +1 -0
  394. package/dist/components/viewers/diff-viewer/diff-viewer.js +373 -0
  395. package/dist/components/viewers/diff-viewer/diff-viewer.js.map +1 -0
  396. package/dist/components/viewers/diff-viewer/index.d.ts +2 -0
  397. package/dist/components/viewers/diff-viewer/index.js +2 -0
  398. package/dist/components/viewers/diff-viewer/render-model.d.ts +27 -0
  399. package/dist/components/viewers/diff-viewer/render-model.d.ts.map +1 -0
  400. package/dist/components/viewers/diff-viewer/render-model.js +83 -0
  401. package/dist/components/viewers/diff-viewer/render-model.js.map +1 -0
  402. package/dist/components/viewers/diff-viewer/sync-rows.d.ts +8 -0
  403. package/dist/components/viewers/diff-viewer/sync-rows.d.ts.map +1 -0
  404. package/dist/components/viewers/diff-viewer/sync-rows.js +32 -0
  405. package/dist/components/viewers/diff-viewer/sync-rows.js.map +1 -0
  406. package/dist/components/viewers/file-tree/expand.d.ts +7 -0
  407. package/dist/components/viewers/file-tree/expand.d.ts.map +1 -0
  408. package/dist/components/viewers/file-tree/expand.js +37 -0
  409. package/dist/components/viewers/file-tree/expand.js.map +1 -0
  410. package/dist/components/viewers/file-tree/file-tree.d.ts +20 -0
  411. package/dist/components/viewers/file-tree/file-tree.d.ts.map +1 -0
  412. package/dist/components/viewers/file-tree/file-tree.js +116 -0
  413. package/dist/components/viewers/file-tree/file-tree.js.map +1 -0
  414. package/dist/components/viewers/file-tree/index.d.ts +3 -0
  415. package/dist/components/viewers/file-tree/index.js +3 -0
  416. package/dist/components/viewers/git-changes/git-changes.d.ts +40 -0
  417. package/dist/components/viewers/git-changes/git-changes.d.ts.map +1 -0
  418. package/dist/components/viewers/git-changes/git-changes.js +170 -0
  419. package/dist/components/viewers/git-changes/git-changes.js.map +1 -0
  420. package/dist/components/viewers/git-changes/index.d.ts +2 -0
  421. package/dist/components/viewers/git-changes/index.js +2 -0
  422. package/dist/components/viewers/json/index.d.ts +4 -0
  423. package/dist/components/viewers/json/index.js +4 -0
  424. package/dist/components/viewers/json/json-editor.d.ts +14 -0
  425. package/dist/components/viewers/json/json-editor.d.ts.map +1 -0
  426. package/dist/components/viewers/json/json-editor.js +84 -0
  427. package/dist/components/viewers/json/json-editor.js.map +1 -0
  428. package/dist/components/viewers/json/json-tree.d.ts +11 -0
  429. package/dist/components/viewers/json/json-tree.d.ts.map +1 -0
  430. package/dist/components/viewers/json/json-tree.js +88 -0
  431. package/dist/components/viewers/json/json-tree.js.map +1 -0
  432. package/dist/components/viewers/json/json-viewer.d.ts +10 -0
  433. package/dist/components/viewers/json/json-viewer.d.ts.map +1 -0
  434. package/dist/components/viewers/json/json-viewer.js +48 -0
  435. package/dist/components/viewers/json/json-viewer.js.map +1 -0
  436. package/dist/components/viewers/markdown-viewer/index.d.ts +2 -0
  437. package/dist/components/viewers/markdown-viewer/index.js +2 -0
  438. package/dist/components/viewers/markdown-viewer/markdown-viewer.d.ts +8 -0
  439. package/dist/components/viewers/markdown-viewer/markdown-viewer.d.ts.map +1 -0
  440. package/dist/components/viewers/markdown-viewer/markdown-viewer.js +65 -0
  441. package/dist/components/viewers/markdown-viewer/markdown-viewer.js.map +1 -0
  442. package/dist/components/viewers/source-explorer/index.d.ts +2 -0
  443. package/dist/components/viewers/source-explorer/index.js +2 -0
  444. package/dist/components/viewers/source-explorer/initial-selection.d.ts +6 -0
  445. package/dist/components/viewers/source-explorer/initial-selection.d.ts.map +1 -0
  446. package/dist/components/viewers/source-explorer/initial-selection.js +13 -0
  447. package/dist/components/viewers/source-explorer/initial-selection.js.map +1 -0
  448. package/dist/components/viewers/source-explorer/snapshot-tree.d.ts +11 -0
  449. package/dist/components/viewers/source-explorer/snapshot-tree.d.ts.map +1 -0
  450. package/dist/components/viewers/source-explorer/snapshot-tree.js +21 -0
  451. package/dist/components/viewers/source-explorer/snapshot-tree.js.map +1 -0
  452. package/dist/components/viewers/source-explorer/source-explorer.d.ts +49 -0
  453. package/dist/components/viewers/source-explorer/source-explorer.d.ts.map +1 -0
  454. package/dist/components/viewers/source-explorer/source-explorer.js +364 -0
  455. package/dist/components/viewers/source-explorer/source-explorer.js.map +1 -0
  456. package/dist/components/viewers/source-viewer/index.d.ts +2 -0
  457. package/dist/components/viewers/source-viewer/index.js +2 -0
  458. package/dist/components/viewers/source-viewer/source-viewer.d.ts +33 -0
  459. package/dist/components/viewers/source-viewer/source-viewer.d.ts.map +1 -0
  460. package/dist/components/viewers/source-viewer/source-viewer.js +224 -0
  461. package/dist/components/viewers/source-viewer/source-viewer.js.map +1 -0
  462. package/dist/define/index.d.ts +10 -0
  463. package/dist/define/index.js +4 -0
  464. package/dist/feedback/index.d.ts +2 -0
  465. package/dist/feedback/index.js +2 -0
  466. package/dist/feedback/sound.d.ts +28 -0
  467. package/dist/feedback/sound.d.ts.map +1 -0
  468. package/dist/feedback/sound.js +150 -0
  469. package/dist/feedback/sound.js.map +1 -0
  470. package/dist/form/components/submit-button.d.ts +11 -0
  471. package/dist/form/components/submit-button.d.ts.map +1 -0
  472. package/dist/form/components/submit-button.js +26 -0
  473. package/dist/form/components/submit-button.js.map +1 -0
  474. package/dist/form/context.d.ts +8 -0
  475. package/dist/form/context.d.ts.map +1 -0
  476. package/dist/form/context.js +11 -0
  477. package/dist/form/context.js.map +1 -0
  478. package/dist/form/create-form-hook.d.ts +62 -0
  479. package/dist/form/create-form-hook.d.ts.map +1 -0
  480. package/dist/form/create-form-hook.js +51 -0
  481. package/dist/form/create-form-hook.js.map +1 -0
  482. package/dist/form/fields/date-picker-field.d.ts +9 -0
  483. package/dist/form/fields/date-picker-field.d.ts.map +1 -0
  484. package/dist/form/fields/date-picker-field.js +84 -0
  485. package/dist/form/fields/date-picker-field.js.map +1 -0
  486. package/dist/form/fields/select-field.d.ts +15 -0
  487. package/dist/form/fields/select-field.d.ts.map +1 -0
  488. package/dist/form/fields/select-field.js +65 -0
  489. package/dist/form/fields/select-field.js.map +1 -0
  490. package/dist/form/fields/switch-field.d.ts +9 -0
  491. package/dist/form/fields/switch-field.d.ts.map +1 -0
  492. package/dist/form/fields/switch-field.js +56 -0
  493. package/dist/form/fields/switch-field.js.map +1 -0
  494. package/dist/form/fields/text-field.d.ts +10 -0
  495. package/dist/form/fields/text-field.d.ts.map +1 -0
  496. package/dist/form/fields/text-field.js +58 -0
  497. package/dist/form/fields/text-field.js.map +1 -0
  498. package/dist/form/fields/textarea-field.d.ts +10 -0
  499. package/dist/form/fields/textarea-field.d.ts.map +1 -0
  500. package/dist/form/fields/textarea-field.js +58 -0
  501. package/dist/form/fields/textarea-field.js.map +1 -0
  502. package/dist/form/index.d.ts +10 -0
  503. package/dist/form/index.js +3 -0
  504. package/dist/form/types.d.ts +51 -0
  505. package/dist/form/types.d.ts.map +1 -0
  506. package/dist/form/types.js +23 -0
  507. package/dist/form/types.js.map +1 -0
  508. package/dist/input/device/device.d.ts +21 -0
  509. package/dist/input/device/device.d.ts.map +1 -0
  510. package/dist/input/device/device.js +61 -0
  511. package/dist/input/device/device.js.map +1 -0
  512. package/dist/input/device/index.d.ts +2 -0
  513. package/dist/input/device/index.js +2 -0
  514. package/dist/input/gesture/index.d.ts +9 -0
  515. package/dist/input/gesture/index.js +5 -0
  516. package/dist/input/gesture/patterns/index.d.ts +5 -0
  517. package/dist/input/gesture/patterns/index.js +3 -0
  518. package/dist/input/gesture/patterns/pull-to-refresh/index.d.ts +2 -0
  519. package/dist/input/gesture/patterns/pull-to-refresh/index.js +2 -0
  520. package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.d.ts +32 -0
  521. package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.d.ts.map +1 -0
  522. package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.js +75 -0
  523. package/dist/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.js.map +1 -0
  524. package/dist/input/gesture/patterns/sidebar/index.d.ts +2 -0
  525. package/dist/input/gesture/patterns/sidebar/index.js +2 -0
  526. package/dist/input/gesture/patterns/sidebar/use-sidebar.d.ts +41 -0
  527. package/dist/input/gesture/patterns/sidebar/use-sidebar.d.ts.map +1 -0
  528. package/dist/input/gesture/patterns/sidebar/use-sidebar.js +131 -0
  529. package/dist/input/gesture/patterns/sidebar/use-sidebar.js.map +1 -0
  530. package/dist/input/gesture/recognizers/index.d.ts +3 -0
  531. package/dist/input/gesture/recognizers/index.js +2 -0
  532. package/dist/input/gesture/recognizers/swipe/index.d.ts +2 -0
  533. package/dist/input/gesture/recognizers/swipe/index.js +2 -0
  534. package/dist/input/gesture/recognizers/swipe/use-swipe.d.ts +56 -0
  535. package/dist/input/gesture/recognizers/swipe/use-swipe.d.ts.map +1 -0
  536. package/dist/input/gesture/recognizers/swipe/use-swipe.js +150 -0
  537. package/dist/input/gesture/recognizers/swipe/use-swipe.js.map +1 -0
  538. package/dist/input/gesture/zones/index.d.ts +4 -0
  539. package/dist/input/gesture/zones/index.js +2 -0
  540. package/dist/input/gesture/zones/touch-input/index.d.ts +3 -0
  541. package/dist/input/gesture/zones/touch-input/index.js +3 -0
  542. package/dist/input/gesture/zones/touch-input/native-scroll.d.ts +28 -0
  543. package/dist/input/gesture/zones/touch-input/native-scroll.d.ts.map +1 -0
  544. package/dist/input/gesture/zones/touch-input/native-scroll.js +61 -0
  545. package/dist/input/gesture/zones/touch-input/native-scroll.js.map +1 -0
  546. package/dist/input/gesture/zones/touch-input/touch-input.d.ts +54 -0
  547. package/dist/input/gesture/zones/touch-input/touch-input.d.ts.map +1 -0
  548. package/dist/input/gesture/zones/touch-input/touch-input.js +243 -0
  549. package/dist/input/gesture/zones/touch-input/touch-input.js.map +1 -0
  550. package/dist/input/gesture/zones/zone/index.d.ts +3 -0
  551. package/dist/input/gesture/zones/zone/index.js +2 -0
  552. package/dist/input/gesture/zones/zone/motion-pointers.d.ts +33 -0
  553. package/dist/input/gesture/zones/zone/motion-pointers.d.ts.map +1 -0
  554. package/dist/input/gesture/zones/zone/motion-pointers.js +52 -0
  555. package/dist/input/gesture/zones/zone/motion-pointers.js.map +1 -0
  556. package/dist/input/gesture/zones/zone/zone.d.ts +93 -0
  557. package/dist/input/gesture/zones/zone/zone.d.ts.map +1 -0
  558. package/dist/input/gesture/zones/zone/zone.js +169 -0
  559. package/dist/input/gesture/zones/zone/zone.js.map +1 -0
  560. package/dist/input/index.d.ts +8 -0
  561. package/dist/input/index.js +6 -0
  562. package/dist/pwa/browser/dom-events.d.ts +9 -0
  563. package/dist/pwa/browser/dom-events.d.ts.map +1 -0
  564. package/dist/pwa/browser/dom-events.js +10 -0
  565. package/dist/pwa/browser/dom-events.js.map +1 -0
  566. package/dist/pwa/browser/subscription-ref.d.ts +6 -0
  567. package/dist/pwa/browser/subscription-ref.d.ts.map +1 -0
  568. package/dist/pwa/browser/subscription-ref.js +19 -0
  569. package/dist/pwa/browser/subscription-ref.js.map +1 -0
  570. package/dist/pwa/client/client.d.ts +32 -0
  571. package/dist/pwa/client/client.d.ts.map +1 -0
  572. package/dist/pwa/client/client.js +36 -0
  573. package/dist/pwa/client/client.js.map +1 -0
  574. package/dist/pwa/client/commands/commands.d.ts +9 -0
  575. package/dist/pwa/client/commands/commands.d.ts.map +1 -0
  576. package/dist/pwa/client/commands/commands.js +21 -0
  577. package/dist/pwa/client/commands/commands.js.map +1 -0
  578. package/dist/pwa/client/commands/index.d.ts +2 -0
  579. package/dist/pwa/client/commands/index.js +2 -0
  580. package/dist/pwa/client/index.d.ts +3 -0
  581. package/dist/pwa/client/index.js +3 -0
  582. package/dist/pwa/client/registration.d.ts +14 -0
  583. package/dist/pwa/client/registration.d.ts.map +1 -0
  584. package/dist/pwa/client/registration.js +36 -0
  585. package/dist/pwa/client/registration.js.map +1 -0
  586. package/dist/pwa/client/runtime-cache.d.ts +9 -0
  587. package/dist/pwa/client/runtime-cache.d.ts.map +1 -0
  588. package/dist/pwa/client/runtime-cache.js +15 -0
  589. package/dist/pwa/client/runtime-cache.js.map +1 -0
  590. package/dist/pwa/client/status/index.d.ts +2 -0
  591. package/dist/pwa/client/status/index.js +2 -0
  592. package/dist/pwa/client/status/status.d.ts +136 -0
  593. package/dist/pwa/client/status/status.d.ts.map +1 -0
  594. package/dist/pwa/client/status/status.js +83 -0
  595. package/dist/pwa/client/status/status.js.map +1 -0
  596. package/dist/pwa/extras/display-mode/display-mode.d.ts +18 -0
  597. package/dist/pwa/extras/display-mode/display-mode.d.ts.map +1 -0
  598. package/dist/pwa/extras/display-mode/display-mode.js +42 -0
  599. package/dist/pwa/extras/display-mode/display-mode.js.map +1 -0
  600. package/dist/pwa/extras/display-mode/index.d.ts +2 -0
  601. package/dist/pwa/extras/display-mode/index.js +2 -0
  602. package/dist/pwa/extras/index.d.ts +13 -0
  603. package/dist/pwa/extras/index.js +9 -0
  604. package/dist/pwa/extras/install/index.d.ts +5 -0
  605. package/dist/pwa/extras/install/index.js +5 -0
  606. package/dist/pwa/extras/install/install-content.d.ts +12 -0
  607. package/dist/pwa/extras/install/install-content.d.ts.map +1 -0
  608. package/dist/pwa/extras/install/install-content.js +57 -0
  609. package/dist/pwa/extras/install/install-content.js.map +1 -0
  610. package/dist/pwa/extras/install/install-dismissal.d.ts +5 -0
  611. package/dist/pwa/extras/install/install-dismissal.d.ts.map +1 -0
  612. package/dist/pwa/extras/install/install-dismissal.js +20 -0
  613. package/dist/pwa/extras/install/install-dismissal.js.map +1 -0
  614. package/dist/pwa/extras/install/install-prompt.d.ts +12 -0
  615. package/dist/pwa/extras/install/install-prompt.d.ts.map +1 -0
  616. package/dist/pwa/extras/install/install-prompt.js +66 -0
  617. package/dist/pwa/extras/install/install-prompt.js.map +1 -0
  618. package/dist/pwa/extras/install/install.d.ts +125 -0
  619. package/dist/pwa/extras/install/install.d.ts.map +1 -0
  620. package/dist/pwa/extras/install/install.js +80 -0
  621. package/dist/pwa/extras/install/install.js.map +1 -0
  622. package/dist/pwa/extras/install/ios.d.ts +8 -0
  623. package/dist/pwa/extras/install/ios.d.ts.map +1 -0
  624. package/dist/pwa/extras/install/ios.js +10 -0
  625. package/dist/pwa/extras/install/ios.js.map +1 -0
  626. package/dist/pwa/extras/install/media-query.d.ts +5 -0
  627. package/dist/pwa/extras/install/media-query.d.ts.map +1 -0
  628. package/dist/pwa/extras/install/media-query.js +15 -0
  629. package/dist/pwa/extras/install/media-query.js.map +1 -0
  630. package/dist/pwa/extras/lazy-service/index.d.ts +2 -0
  631. package/dist/pwa/extras/lazy-service/index.js +2 -0
  632. package/dist/pwa/extras/lazy-service/lazy-service.d.ts +11 -0
  633. package/dist/pwa/extras/lazy-service/lazy-service.d.ts.map +1 -0
  634. package/dist/pwa/extras/lazy-service/lazy-service.js +30 -0
  635. package/dist/pwa/extras/lazy-service/lazy-service.js.map +1 -0
  636. package/dist/pwa/extras/online/index.d.ts +3 -0
  637. package/dist/pwa/extras/online/index.js +3 -0
  638. package/dist/pwa/extras/online/offline-indicator.d.ts +11 -0
  639. package/dist/pwa/extras/online/offline-indicator.d.ts.map +1 -0
  640. package/dist/pwa/extras/online/offline-indicator.js +26 -0
  641. package/dist/pwa/extras/online/offline-indicator.js.map +1 -0
  642. package/dist/pwa/extras/online/online.d.ts +15 -0
  643. package/dist/pwa/extras/online/online.d.ts.map +1 -0
  644. package/dist/pwa/extras/online/online.js +27 -0
  645. package/dist/pwa/extras/online/online.js.map +1 -0
  646. package/dist/pwa/extras/storage/index.d.ts +2 -0
  647. package/dist/pwa/extras/storage/index.js +2 -0
  648. package/dist/pwa/extras/storage/storage.d.ts +28 -0
  649. package/dist/pwa/extras/storage/storage.d.ts.map +1 -0
  650. package/dist/pwa/extras/storage/storage.js +51 -0
  651. package/dist/pwa/extras/storage/storage.js.map +1 -0
  652. package/dist/pwa/index.d.ts +8 -0
  653. package/dist/pwa/index.js +5 -0
  654. package/dist/pwa/react/head.d.ts +33 -0
  655. package/dist/pwa/react/head.d.ts.map +1 -0
  656. package/dist/pwa/react/head.js +43 -0
  657. package/dist/pwa/react/head.js.map +1 -0
  658. package/dist/pwa/react/index.d.ts +4 -0
  659. package/dist/pwa/react/index.js +3 -0
  660. package/dist/pwa/react/react.d.ts +33 -0
  661. package/dist/pwa/react/react.d.ts.map +1 -0
  662. package/dist/pwa/react/react.js +67 -0
  663. package/dist/pwa/react/react.js.map +1 -0
  664. package/dist/pwa/react/update-prompt.d.ts +12 -0
  665. package/dist/pwa/react/update-prompt.d.ts.map +1 -0
  666. package/dist/pwa/react/update-prompt.js +23 -0
  667. package/dist/pwa/react/update-prompt.js.map +1 -0
  668. package/dist/pwa/react/update-toast.d.ts +15 -0
  669. package/dist/pwa/react/update-toast.d.ts.map +1 -0
  670. package/dist/pwa/react/update-toast.js +52 -0
  671. package/dist/pwa/react/update-toast.js.map +1 -0
  672. package/dist/pwa/root/index.d.ts +2 -0
  673. package/dist/pwa/root/index.js +2 -0
  674. package/dist/pwa/root/root.d.ts +14 -0
  675. package/dist/pwa/root/root.d.ts.map +1 -0
  676. package/dist/pwa/root/root.js +35 -0
  677. package/dist/pwa/root/root.js.map +1 -0
  678. package/dist/pwa/rpc/client/client.d.ts +49 -0
  679. package/dist/pwa/rpc/client/client.d.ts.map +1 -0
  680. package/dist/pwa/rpc/client/client.js +55 -0
  681. package/dist/pwa/rpc/client/client.js.map +1 -0
  682. package/dist/pwa/rpc/client/index.d.ts +3 -0
  683. package/dist/pwa/rpc/client/index.js +3 -0
  684. package/dist/pwa/rpc/client/page-environment.d.ts +25 -0
  685. package/dist/pwa/rpc/client/page-environment.d.ts.map +1 -0
  686. package/dist/pwa/rpc/client/page-environment.js +46 -0
  687. package/dist/pwa/rpc/client/page-environment.js.map +1 -0
  688. package/dist/pwa/rpc/client/platform.d.ts +26 -0
  689. package/dist/pwa/rpc/client/platform.d.ts.map +1 -0
  690. package/dist/pwa/rpc/client/platform.js +144 -0
  691. package/dist/pwa/rpc/client/platform.js.map +1 -0
  692. package/dist/pwa/rpc/client/version-skew.d.ts +24 -0
  693. package/dist/pwa/rpc/client/version-skew.d.ts.map +1 -0
  694. package/dist/pwa/rpc/client/version-skew.js +63 -0
  695. package/dist/pwa/rpc/client/version-skew.js.map +1 -0
  696. package/dist/pwa/rpc/handshake/handshake.d.ts +74 -0
  697. package/dist/pwa/rpc/handshake/handshake.d.ts.map +1 -0
  698. package/dist/pwa/rpc/handshake/handshake.js +104 -0
  699. package/dist/pwa/rpc/handshake/handshake.js.map +1 -0
  700. package/dist/pwa/rpc/handshake/index.d.ts +2 -0
  701. package/dist/pwa/rpc/handshake/index.js +2 -0
  702. package/dist/pwa/rpc/worker/connections.d.ts +31 -0
  703. package/dist/pwa/rpc/worker/connections.d.ts.map +1 -0
  704. package/dist/pwa/rpc/worker/connections.js +48 -0
  705. package/dist/pwa/rpc/worker/connections.js.map +1 -0
  706. package/dist/pwa/rpc/worker/index.d.ts +2 -0
  707. package/dist/pwa/rpc/worker/index.js +2 -0
  708. package/dist/pwa/rpc/worker/keep-alive.d.ts +11 -0
  709. package/dist/pwa/rpc/worker/keep-alive.d.ts.map +1 -0
  710. package/dist/pwa/rpc/worker/keep-alive.js +30 -0
  711. package/dist/pwa/rpc/worker/keep-alive.js.map +1 -0
  712. package/dist/pwa/rpc/worker/runner-platform.d.ts +18 -0
  713. package/dist/pwa/rpc/worker/runner-platform.d.ts.map +1 -0
  714. package/dist/pwa/rpc/worker/runner-platform.js +113 -0
  715. package/dist/pwa/rpc/worker/runner-platform.js.map +1 -0
  716. package/dist/pwa/rpc/worker/worker.d.ts +22 -0
  717. package/dist/pwa/rpc/worker/worker.d.ts.map +1 -0
  718. package/dist/pwa/rpc/worker/worker.js +23 -0
  719. package/dist/pwa/rpc/worker/worker.js.map +1 -0
  720. package/dist/pwa/shared/build/build.d.ts +55 -0
  721. package/dist/pwa/shared/build/build.d.ts.map +1 -0
  722. package/dist/pwa/shared/build/build.js +55 -0
  723. package/dist/pwa/shared/build/build.js.map +1 -0
  724. package/dist/pwa/shared/build/canonical-json.d.ts +5 -0
  725. package/dist/pwa/shared/build/canonical-json.d.ts.map +1 -0
  726. package/dist/pwa/shared/build/canonical-json.js +7 -0
  727. package/dist/pwa/shared/build/canonical-json.js.map +1 -0
  728. package/dist/pwa/shared/build/fnv1a.d.ts +5 -0
  729. package/dist/pwa/shared/build/fnv1a.d.ts.map +1 -0
  730. package/dist/pwa/shared/build/fnv1a.js +17 -0
  731. package/dist/pwa/shared/build/fnv1a.js.map +1 -0
  732. package/dist/pwa/shared/build/index.d.ts +2 -0
  733. package/dist/pwa/shared/build/index.js +2 -0
  734. package/dist/pwa/shared/commands/commands.d.ts +39 -0
  735. package/dist/pwa/shared/commands/commands.d.ts.map +1 -0
  736. package/dist/pwa/shared/commands/commands.js +51 -0
  737. package/dist/pwa/shared/commands/commands.js.map +1 -0
  738. package/dist/pwa/shared/commands/index.d.ts +2 -0
  739. package/dist/pwa/shared/commands/index.js +2 -0
  740. package/dist/pwa/shared/config/config.d.ts +231 -0
  741. package/dist/pwa/shared/config/config.d.ts.map +1 -0
  742. package/dist/pwa/shared/config/config.js +136 -0
  743. package/dist/pwa/shared/config/config.js.map +1 -0
  744. package/dist/pwa/shared/config/index.d.ts +2 -0
  745. package/dist/pwa/shared/config/index.js +2 -0
  746. package/dist/pwa/shared/config/presets.d.ts +19 -0
  747. package/dist/pwa/shared/config/presets.d.ts.map +1 -0
  748. package/dist/pwa/shared/config/presets.js +45 -0
  749. package/dist/pwa/shared/config/presets.js.map +1 -0
  750. package/dist/pwa/shared/manifest/index.d.ts +2 -0
  751. package/dist/pwa/shared/manifest/index.js +2 -0
  752. package/dist/pwa/shared/manifest/manifest.d.ts +53 -0
  753. package/dist/pwa/shared/manifest/manifest.d.ts.map +1 -0
  754. package/dist/pwa/shared/manifest/manifest.js +87 -0
  755. package/dist/pwa/shared/manifest/manifest.js.map +1 -0
  756. package/dist/pwa/shared/strategy/index.d.ts +2 -0
  757. package/dist/pwa/shared/strategy/index.js +2 -0
  758. package/dist/pwa/shared/strategy/pattern.d.ts +6 -0
  759. package/dist/pwa/shared/strategy/pattern.d.ts.map +1 -0
  760. package/dist/pwa/shared/strategy/pattern.js +23 -0
  761. package/dist/pwa/shared/strategy/pattern.js.map +1 -0
  762. package/dist/pwa/shared/strategy/strategy.d.ts +41 -0
  763. package/dist/pwa/shared/strategy/strategy.d.ts.map +1 -0
  764. package/dist/pwa/shared/strategy/strategy.js +60 -0
  765. package/dist/pwa/shared/strategy/strategy.js.map +1 -0
  766. package/dist/pwa/shared/worker-host/index.d.ts +2 -0
  767. package/dist/pwa/shared/worker-host/index.js +2 -0
  768. package/dist/pwa/shared/worker-host/worker-host.d.ts +22 -0
  769. package/dist/pwa/shared/worker-host/worker-host.d.ts.map +1 -0
  770. package/dist/pwa/shared/worker-host/worker-host.js +11 -0
  771. package/dist/pwa/shared/worker-host/worker-host.js.map +1 -0
  772. package/dist/pwa/splash/devices.d.ts +85 -0
  773. package/dist/pwa/splash/devices.d.ts.map +1 -0
  774. package/dist/pwa/splash/devices.js +109 -0
  775. package/dist/pwa/splash/devices.js.map +1 -0
  776. package/dist/pwa/splash/index.d.ts +2 -0
  777. package/dist/pwa/splash/index.js +2 -0
  778. package/dist/pwa/splash/splash.d.ts +29 -0
  779. package/dist/pwa/splash/splash.d.ts.map +1 -0
  780. package/dist/pwa/splash/splash.js +38 -0
  781. package/dist/pwa/splash/splash.js.map +1 -0
  782. package/dist/pwa/vite/build/build-plugin.d.ts +15 -0
  783. package/dist/pwa/vite/build/build-plugin.d.ts.map +1 -0
  784. package/dist/pwa/vite/build/build-plugin.js +105 -0
  785. package/dist/pwa/vite/build/build-plugin.js.map +1 -0
  786. package/dist/pwa/vite/build/build-state.d.ts +17 -0
  787. package/dist/pwa/vite/build/build-state.d.ts.map +1 -0
  788. package/dist/pwa/vite/build/build-state.js +9 -0
  789. package/dist/pwa/vite/build/build-state.js.map +1 -0
  790. package/dist/pwa/vite/build/headers.d.ts +10 -0
  791. package/dist/pwa/vite/build/headers.d.ts.map +1 -0
  792. package/dist/pwa/vite/build/headers.js +26 -0
  793. package/dist/pwa/vite/build/headers.js.map +1 -0
  794. package/dist/pwa/vite/build/index.d.ts +3 -0
  795. package/dist/pwa/vite/build/index.js +3 -0
  796. package/dist/pwa/vite/build/output-files.d.ts +12 -0
  797. package/dist/pwa/vite/build/output-files.d.ts.map +1 -0
  798. package/dist/pwa/vite/build/output-files.js +35 -0
  799. package/dist/pwa/vite/build/output-files.js.map +1 -0
  800. package/dist/pwa/vite/build/start-setup.d.ts +19 -0
  801. package/dist/pwa/vite/build/start-setup.d.ts.map +1 -0
  802. package/dist/pwa/vite/build/start-setup.js +27 -0
  803. package/dist/pwa/vite/build/start-setup.js.map +1 -0
  804. package/dist/pwa/vite/client-module/build-version.d.ts +15 -0
  805. package/dist/pwa/vite/client-module/build-version.d.ts.map +1 -0
  806. package/dist/pwa/vite/client-module/build-version.js +45 -0
  807. package/dist/pwa/vite/client-module/build-version.js.map +1 -0
  808. package/dist/pwa/vite/client-module/client-info.d.ts +22 -0
  809. package/dist/pwa/vite/client-module/client-info.d.ts.map +1 -0
  810. package/dist/pwa/vite/client-module/client-info.js +38 -0
  811. package/dist/pwa/vite/client-module/client-info.js.map +1 -0
  812. package/dist/pwa/vite/client-module/client-module.d.ts +16 -0
  813. package/dist/pwa/vite/client-module/client-module.d.ts.map +1 -0
  814. package/dist/pwa/vite/client-module/client-module.js +47 -0
  815. package/dist/pwa/vite/client-module/client-module.js.map +1 -0
  816. package/dist/pwa/vite/client-module/index.d.ts +2 -0
  817. package/dist/pwa/vite/client-module/index.js +2 -0
  818. package/dist/pwa/vite/dev/dev-plugin.d.ts +13 -0
  819. package/dist/pwa/vite/dev/dev-plugin.d.ts.map +1 -0
  820. package/dist/pwa/vite/dev/dev-plugin.js +61 -0
  821. package/dist/pwa/vite/dev/dev-plugin.js.map +1 -0
  822. package/dist/pwa/vite/dev/index.d.ts +2 -0
  823. package/dist/pwa/vite/dev/index.js +2 -0
  824. package/dist/pwa/vite/index.d.ts +2 -0
  825. package/dist/pwa/vite/index.js +2 -0
  826. package/dist/pwa/vite/precache/asset-kind.d.ts +7 -0
  827. package/dist/pwa/vite/precache/asset-kind.d.ts.map +1 -0
  828. package/dist/pwa/vite/precache/asset-kind.js +24 -0
  829. package/dist/pwa/vite/precache/asset-kind.js.map +1 -0
  830. package/dist/pwa/vite/precache/index.d.ts +2 -0
  831. package/dist/pwa/vite/precache/index.js +2 -0
  832. package/dist/pwa/vite/precache/precache.d.ts +39 -0
  833. package/dist/pwa/vite/precache/precache.d.ts.map +1 -0
  834. package/dist/pwa/vite/precache/precache.js +60 -0
  835. package/dist/pwa/vite/precache/precache.js.map +1 -0
  836. package/dist/pwa/vite/precache/revision.d.ts +5 -0
  837. package/dist/pwa/vite/precache/revision.d.ts.map +1 -0
  838. package/dist/pwa/vite/precache/revision.js +8 -0
  839. package/dist/pwa/vite/precache/revision.js.map +1 -0
  840. package/dist/pwa/vite/precache/url-path.d.ts +12 -0
  841. package/dist/pwa/vite/precache/url-path.d.ts.map +1 -0
  842. package/dist/pwa/vite/precache/url-path.js +23 -0
  843. package/dist/pwa/vite/precache/url-path.js.map +1 -0
  844. package/dist/pwa/vite/vite.d.ts +14 -0
  845. package/dist/pwa/vite/vite.d.ts.map +1 -0
  846. package/dist/pwa/vite/vite.js +27 -0
  847. package/dist/pwa/vite/vite.js.map +1 -0
  848. package/dist/pwa/vite/worker-bundle/build-module.d.ts +11 -0
  849. package/dist/pwa/vite/worker-bundle/build-module.d.ts.map +1 -0
  850. package/dist/pwa/vite/worker-bundle/build-module.js +23 -0
  851. package/dist/pwa/vite/worker-bundle/build-module.js.map +1 -0
  852. package/dist/pwa/vite/worker-bundle/entry.d.ts +10 -0
  853. package/dist/pwa/vite/worker-bundle/entry.d.ts.map +1 -0
  854. package/dist/pwa/vite/worker-bundle/entry.js +25 -0
  855. package/dist/pwa/vite/worker-bundle/entry.js.map +1 -0
  856. package/dist/pwa/vite/worker-bundle/index.d.ts +2 -0
  857. package/dist/pwa/vite/worker-bundle/index.js +2 -0
  858. package/dist/pwa/vite/worker-bundle/kill-switch.d.ts +9 -0
  859. package/dist/pwa/vite/worker-bundle/kill-switch.d.ts.map +1 -0
  860. package/dist/pwa/vite/worker-bundle/kill-switch.js +27 -0
  861. package/dist/pwa/vite/worker-bundle/kill-switch.js.map +1 -0
  862. package/dist/pwa/vite/worker-bundle/worker-bundle.d.ts +25 -0
  863. package/dist/pwa/vite/worker-bundle/worker-bundle.d.ts.map +1 -0
  864. package/dist/pwa/vite/worker-bundle/worker-bundle.js +49 -0
  865. package/dist/pwa/vite/worker-bundle/worker-bundle.js.map +1 -0
  866. package/dist/pwa/worker/commands/commands.d.ts +13 -0
  867. package/dist/pwa/worker/commands/commands.d.ts.map +1 -0
  868. package/dist/pwa/worker/commands/commands.js +23 -0
  869. package/dist/pwa/worker/commands/commands.js.map +1 -0
  870. package/dist/pwa/worker/commands/index.d.ts +2 -0
  871. package/dist/pwa/worker/commands/index.js +2 -0
  872. package/dist/pwa/worker/global-scope/global-scope.d.ts +35 -0
  873. package/dist/pwa/worker/global-scope/global-scope.d.ts.map +1 -0
  874. package/dist/pwa/worker/global-scope/global-scope.js +45 -0
  875. package/dist/pwa/worker/global-scope/global-scope.js.map +1 -0
  876. package/dist/pwa/worker/global-scope/index.d.ts +2 -0
  877. package/dist/pwa/worker/global-scope/index.js +2 -0
  878. package/dist/pwa/worker/index.d.ts +3 -0
  879. package/dist/pwa/worker/index.js +3 -0
  880. package/dist/pwa/worker/lifecycle/index.d.ts +2 -0
  881. package/dist/pwa/worker/lifecycle/index.js +2 -0
  882. package/dist/pwa/worker/lifecycle/lifecycle.d.ts +19 -0
  883. package/dist/pwa/worker/lifecycle/lifecycle.d.ts.map +1 -0
  884. package/dist/pwa/worker/lifecycle/lifecycle.js +32 -0
  885. package/dist/pwa/worker/lifecycle/lifecycle.js.map +1 -0
  886. package/dist/pwa/worker/messages/index.d.ts +2 -0
  887. package/dist/pwa/worker/messages/index.js +2 -0
  888. package/dist/pwa/worker/messages/messages.d.ts +16 -0
  889. package/dist/pwa/worker/messages/messages.d.ts.map +1 -0
  890. package/dist/pwa/worker/messages/messages.js +59 -0
  891. package/dist/pwa/worker/messages/messages.js.map +1 -0
  892. package/dist/pwa/worker/precache/download.d.ts +11 -0
  893. package/dist/pwa/worker/precache/download.d.ts.map +1 -0
  894. package/dist/pwa/worker/precache/download.js +26 -0
  895. package/dist/pwa/worker/precache/download.js.map +1 -0
  896. package/dist/pwa/worker/precache/index.d.ts +2 -0
  897. package/dist/pwa/worker/precache/index.js +2 -0
  898. package/dist/pwa/worker/precache/precache.d.ts +21 -0
  899. package/dist/pwa/worker/precache/precache.d.ts.map +1 -0
  900. package/dist/pwa/worker/precache/precache.js +35 -0
  901. package/dist/pwa/worker/precache/precache.js.map +1 -0
  902. package/dist/pwa/worker/requests/index.d.ts +2 -0
  903. package/dist/pwa/worker/requests/index.js +2 -0
  904. package/dist/pwa/worker/requests/pages/index.d.ts +2 -0
  905. package/dist/pwa/worker/requests/pages/index.js +2 -0
  906. package/dist/pwa/worker/requests/pages/pages.d.ts +25 -0
  907. package/dist/pwa/worker/requests/pages/pages.d.ts.map +1 -0
  908. package/dist/pwa/worker/requests/pages/pages.js +74 -0
  909. package/dist/pwa/worker/requests/pages/pages.js.map +1 -0
  910. package/dist/pwa/worker/requests/requests.d.ts +17 -0
  911. package/dist/pwa/worker/requests/requests.d.ts.map +1 -0
  912. package/dist/pwa/worker/requests/requests.js +28 -0
  913. package/dist/pwa/worker/requests/requests.js.map +1 -0
  914. package/dist/pwa/worker/requests/strategies/cache-store.d.ts +19 -0
  915. package/dist/pwa/worker/requests/strategies/cache-store.d.ts.map +1 -0
  916. package/dist/pwa/worker/requests/strategies/cache-store.js +50 -0
  917. package/dist/pwa/worker/requests/strategies/cache-store.js.map +1 -0
  918. package/dist/pwa/worker/requests/strategies/index.d.ts +3 -0
  919. package/dist/pwa/worker/requests/strategies/index.js +3 -0
  920. package/dist/pwa/worker/requests/strategies/kinds.d.ts +11 -0
  921. package/dist/pwa/worker/requests/strategies/kinds.d.ts.map +1 -0
  922. package/dist/pwa/worker/requests/strategies/kinds.js +35 -0
  923. package/dist/pwa/worker/requests/strategies/kinds.js.map +1 -0
  924. package/dist/pwa/worker/requests/strategies/network-first.d.ts +18 -0
  925. package/dist/pwa/worker/requests/strategies/network-first.d.ts.map +1 -0
  926. package/dist/pwa/worker/requests/strategies/network-first.js +30 -0
  927. package/dist/pwa/worker/requests/strategies/network-first.js.map +1 -0
  928. package/dist/pwa/worker/requests/strategies/strategies.d.ts +16 -0
  929. package/dist/pwa/worker/requests/strategies/strategies.d.ts.map +1 -0
  930. package/dist/pwa/worker/requests/strategies/strategies.js +22 -0
  931. package/dist/pwa/worker/requests/strategies/strategies.js.map +1 -0
  932. package/dist/pwa/worker/worker.d.ts +23 -0
  933. package/dist/pwa/worker/worker.d.ts.map +1 -0
  934. package/dist/pwa/worker/worker.js +53 -0
  935. package/dist/pwa/worker/worker.js.map +1 -0
  936. package/dist/recipes/account-lost/account-lost.d.ts +24 -0
  937. package/dist/recipes/account-lost/account-lost.d.ts.map +1 -0
  938. package/dist/recipes/account-lost/account-lost.js +35 -0
  939. package/dist/recipes/account-lost/account-lost.js.map +1 -0
  940. package/dist/recipes/account-lost/index.d.ts +2 -0
  941. package/dist/recipes/account-lost/index.js +2 -0
  942. package/dist/recipes/account-switcher/account-switcher.d.ts +25 -0
  943. package/dist/recipes/account-switcher/account-switcher.d.ts.map +1 -0
  944. package/dist/recipes/account-switcher/account-switcher.js +124 -0
  945. package/dist/recipes/account-switcher/account-switcher.js.map +1 -0
  946. package/dist/recipes/account-switcher/index.d.ts +2 -0
  947. package/dist/recipes/account-switcher/index.js +2 -0
  948. package/dist/recipes/frame/app-shell.d.ts +37 -0
  949. package/dist/recipes/frame/app-shell.d.ts.map +1 -0
  950. package/dist/recipes/frame/app-shell.js +46 -0
  951. package/dist/recipes/frame/app-shell.js.map +1 -0
  952. package/dist/recipes/frame/frame/frame.d.ts +32 -0
  953. package/dist/recipes/frame/frame/frame.d.ts.map +1 -0
  954. package/dist/recipes/frame/frame/frame.js +135 -0
  955. package/dist/recipes/frame/frame/frame.js.map +1 -0
  956. package/dist/recipes/frame/frame/geometry.d.ts +22 -0
  957. package/dist/recipes/frame/frame/geometry.d.ts.map +1 -0
  958. package/dist/recipes/frame/frame/geometry.js +36 -0
  959. package/dist/recipes/frame/frame/geometry.js.map +1 -0
  960. package/dist/recipes/frame/frame/index.d.ts +2 -0
  961. package/dist/recipes/frame/frame/index.js +2 -0
  962. package/dist/recipes/frame/frame/motion.d.ts +20 -0
  963. package/dist/recipes/frame/frame/motion.d.ts.map +1 -0
  964. package/dist/recipes/frame/frame/motion.js +58 -0
  965. package/dist/recipes/frame/frame/motion.js.map +1 -0
  966. package/dist/recipes/frame/frame/state.d.ts +17 -0
  967. package/dist/recipes/frame/frame/state.d.ts.map +1 -0
  968. package/dist/recipes/frame/frame/state.js +27 -0
  969. package/dist/recipes/frame/frame/state.js.map +1 -0
  970. package/dist/recipes/frame/header.d.ts +18 -0
  971. package/dist/recipes/frame/header.d.ts.map +1 -0
  972. package/dist/recipes/frame/header.js +43 -0
  973. package/dist/recipes/frame/header.js.map +1 -0
  974. package/dist/recipes/frame/index.d.ts +4 -0
  975. package/dist/recipes/frame/index.js +4 -0
  976. package/dist/recipes/frame/sidebar/blocks.d.ts +31 -0
  977. package/dist/recipes/frame/sidebar/blocks.d.ts.map +1 -0
  978. package/dist/recipes/frame/sidebar/blocks.js +126 -0
  979. package/dist/recipes/frame/sidebar/blocks.js.map +1 -0
  980. package/dist/recipes/frame/sidebar/index.d.ts +4 -0
  981. package/dist/recipes/frame/sidebar/index.js +4 -0
  982. package/dist/recipes/frame/sidebar/nav.d.ts +22 -0
  983. package/dist/recipes/frame/sidebar/nav.d.ts.map +1 -0
  984. package/dist/recipes/frame/sidebar/nav.js +14 -0
  985. package/dist/recipes/frame/sidebar/nav.js.map +1 -0
  986. package/dist/recipes/frame/sidebar/resize-handle.d.ts +12 -0
  987. package/dist/recipes/frame/sidebar/resize-handle.d.ts.map +1 -0
  988. package/dist/recipes/frame/sidebar/resize-handle.js +90 -0
  989. package/dist/recipes/frame/sidebar/resize-handle.js.map +1 -0
  990. package/dist/recipes/frame/sidebar/sidebar.d.ts +24 -0
  991. package/dist/recipes/frame/sidebar/sidebar.d.ts.map +1 -0
  992. package/dist/recipes/frame/sidebar/sidebar.js +30 -0
  993. package/dist/recipes/frame/sidebar/sidebar.js.map +1 -0
  994. package/dist/recipes/frame/sidebar/width.d.ts +9 -0
  995. package/dist/recipes/frame/sidebar/width.d.ts.map +1 -0
  996. package/dist/recipes/frame/sidebar/width.js +22 -0
  997. package/dist/recipes/frame/sidebar/width.js.map +1 -0
  998. package/dist/recipes/gate-screens/gate-screens.d.ts +52 -0
  999. package/dist/recipes/gate-screens/gate-screens.d.ts.map +1 -0
  1000. package/dist/recipes/gate-screens/gate-screens.js +192 -0
  1001. package/dist/recipes/gate-screens/gate-screens.js.map +1 -0
  1002. package/dist/recipes/gate-screens/index.d.ts +2 -0
  1003. package/dist/recipes/gate-screens/index.js +2 -0
  1004. package/dist/recipes/kabuki-devtools/index.d.ts +2 -0
  1005. package/dist/recipes/kabuki-devtools/index.js +2 -0
  1006. package/dist/recipes/kabuki-devtools/ink/index.d.ts +2 -0
  1007. package/dist/recipes/kabuki-devtools/ink/index.js +2 -0
  1008. package/dist/recipes/kabuki-devtools/ink/ink.d.ts +37 -0
  1009. package/dist/recipes/kabuki-devtools/ink/ink.d.ts.map +1 -0
  1010. package/dist/recipes/kabuki-devtools/ink/ink.js +37 -0
  1011. package/dist/recipes/kabuki-devtools/ink/ink.js.map +1 -0
  1012. package/dist/recipes/kabuki-devtools/kabuki-devtools.d.ts +40 -0
  1013. package/dist/recipes/kabuki-devtools/kabuki-devtools.d.ts.map +1 -0
  1014. package/dist/recipes/kabuki-devtools/kabuki-devtools.js +279 -0
  1015. package/dist/recipes/kabuki-devtools/kabuki-devtools.js.map +1 -0
  1016. package/dist/recipes/kabuki-devtools/map/beat/beat.d.ts +13 -0
  1017. package/dist/recipes/kabuki-devtools/map/beat/beat.d.ts.map +1 -0
  1018. package/dist/recipes/kabuki-devtools/map/beat/beat.js +223 -0
  1019. package/dist/recipes/kabuki-devtools/map/beat/beat.js.map +1 -0
  1020. package/dist/recipes/kabuki-devtools/map/beat/index.d.ts +2 -0
  1021. package/dist/recipes/kabuki-devtools/map/beat/index.js +2 -0
  1022. package/dist/recipes/kabuki-devtools/map/canvas/canvas.d.ts +29 -0
  1023. package/dist/recipes/kabuki-devtools/map/canvas/canvas.d.ts.map +1 -0
  1024. package/dist/recipes/kabuki-devtools/map/canvas/canvas.js +221 -0
  1025. package/dist/recipes/kabuki-devtools/map/canvas/canvas.js.map +1 -0
  1026. package/dist/recipes/kabuki-devtools/map/canvas/index.d.ts +2 -0
  1027. package/dist/recipes/kabuki-devtools/map/canvas/index.js +2 -0
  1028. package/dist/recipes/kabuki-devtools/map/index.d.ts +2 -0
  1029. package/dist/recipes/kabuki-devtools/map/index.js +2 -0
  1030. package/dist/recipes/kabuki-devtools/map/link/index.d.ts +2 -0
  1031. package/dist/recipes/kabuki-devtools/map/link/index.js +2 -0
  1032. package/dist/recipes/kabuki-devtools/map/link/link.d.ts +22 -0
  1033. package/dist/recipes/kabuki-devtools/map/link/link.d.ts.map +1 -0
  1034. package/dist/recipes/kabuki-devtools/map/link/link.js +72 -0
  1035. package/dist/recipes/kabuki-devtools/map/link/link.js.map +1 -0
  1036. package/dist/recipes/kabuki-devtools/map/map.d.ts +26 -0
  1037. package/dist/recipes/kabuki-devtools/map/map.d.ts.map +1 -0
  1038. package/dist/recipes/kabuki-devtools/map/map.js +362 -0
  1039. package/dist/recipes/kabuki-devtools/map/map.js.map +1 -0
  1040. package/dist/recipes/kabuki-devtools/map/node/index.d.ts +2 -0
  1041. package/dist/recipes/kabuki-devtools/map/node/index.js +2 -0
  1042. package/dist/recipes/kabuki-devtools/map/node/node.d.ts +25 -0
  1043. package/dist/recipes/kabuki-devtools/map/node/node.d.ts.map +1 -0
  1044. package/dist/recipes/kabuki-devtools/map/node/node.js +251 -0
  1045. package/dist/recipes/kabuki-devtools/map/node/node.js.map +1 -0
  1046. package/dist/recipes/kabuki-devtools/map/popup/index.d.ts +2 -0
  1047. package/dist/recipes/kabuki-devtools/map/popup/index.js +2 -0
  1048. package/dist/recipes/kabuki-devtools/map/popup/popup.d.ts +12 -0
  1049. package/dist/recipes/kabuki-devtools/map/popup/popup.d.ts.map +1 -0
  1050. package/dist/recipes/kabuki-devtools/map/popup/popup.js +72 -0
  1051. package/dist/recipes/kabuki-devtools/map/popup/popup.js.map +1 -0
  1052. package/dist/recipes/kabuki-devtools/scene/beats.d.ts +36 -0
  1053. package/dist/recipes/kabuki-devtools/scene/beats.d.ts.map +1 -0
  1054. package/dist/recipes/kabuki-devtools/scene/beats.js +46 -0
  1055. package/dist/recipes/kabuki-devtools/scene/beats.js.map +1 -0
  1056. package/dist/recipes/kabuki-devtools/scene/index.d.ts +5 -0
  1057. package/dist/recipes/kabuki-devtools/scene/index.js +3 -0
  1058. package/dist/recipes/kabuki-devtools/scene/layout/index.d.ts +3 -0
  1059. package/dist/recipes/kabuki-devtools/scene/layout/index.js +2 -0
  1060. package/dist/recipes/kabuki-devtools/scene/layout/layout.d.ts +6 -0
  1061. package/dist/recipes/kabuki-devtools/scene/layout/layout.d.ts.map +1 -0
  1062. package/dist/recipes/kabuki-devtools/scene/layout/layout.js +8 -0
  1063. package/dist/recipes/kabuki-devtools/scene/layout/layout.js.map +1 -0
  1064. package/dist/recipes/kabuki-devtools/scene/layout/outline.d.ts +5 -0
  1065. package/dist/recipes/kabuki-devtools/scene/layout/outline.d.ts.map +1 -0
  1066. package/dist/recipes/kabuki-devtools/scene/layout/outline.js +84 -0
  1067. package/dist/recipes/kabuki-devtools/scene/layout/outline.js.map +1 -0
  1068. package/dist/recipes/kabuki-devtools/scene/layout/shapes.d.ts +57 -0
  1069. package/dist/recipes/kabuki-devtools/scene/layout/shapes.d.ts.map +1 -0
  1070. package/dist/recipes/kabuki-devtools/scene/layout/shapes.js +38 -0
  1071. package/dist/recipes/kabuki-devtools/scene/layout/shapes.js.map +1 -0
  1072. package/dist/recipes/kabuki-devtools/scene/layout/tree.d.ts +5 -0
  1073. package/dist/recipes/kabuki-devtools/scene/layout/tree.d.ts.map +1 -0
  1074. package/dist/recipes/kabuki-devtools/scene/layout/tree.js +146 -0
  1075. package/dist/recipes/kabuki-devtools/scene/layout/tree.js.map +1 -0
  1076. package/dist/recipes/kabuki-devtools/scene/nodes.d.ts +67 -0
  1077. package/dist/recipes/kabuki-devtools/scene/nodes.d.ts.map +1 -0
  1078. package/dist/recipes/kabuki-devtools/scene/nodes.js +39 -0
  1079. package/dist/recipes/kabuki-devtools/scene/nodes.js.map +1 -0
  1080. package/dist/recipes/kabuki-devtools/scene/scene.d.ts +78 -0
  1081. package/dist/recipes/kabuki-devtools/scene/scene.d.ts.map +1 -0
  1082. package/dist/recipes/kabuki-devtools/scene/scene.js +128 -0
  1083. package/dist/recipes/kabuki-devtools/scene/scene.js.map +1 -0
  1084. package/dist/recipes/kabuki-devtools/scene/tree.d.ts +20 -0
  1085. package/dist/recipes/kabuki-devtools/scene/tree.d.ts.map +1 -0
  1086. package/dist/recipes/kabuki-devtools/scene/tree.js +85 -0
  1087. package/dist/recipes/kabuki-devtools/scene/tree.js.map +1 -0
  1088. package/dist/recipes/kabuki-devtools/sheet/index.d.ts +2 -0
  1089. package/dist/recipes/kabuki-devtools/sheet/index.js +2 -0
  1090. package/dist/recipes/kabuki-devtools/sheet/sheet.d.ts +33 -0
  1091. package/dist/recipes/kabuki-devtools/sheet/sheet.d.ts.map +1 -0
  1092. package/dist/recipes/kabuki-devtools/sheet/sheet.js +129 -0
  1093. package/dist/recipes/kabuki-devtools/sheet/sheet.js.map +1 -0
  1094. package/dist/recipes/kabuki-devtools/timeline/index.d.ts +2 -0
  1095. package/dist/recipes/kabuki-devtools/timeline/index.js +2 -0
  1096. package/dist/recipes/kabuki-devtools/timeline/timeline.d.ts +25 -0
  1097. package/dist/recipes/kabuki-devtools/timeline/timeline.d.ts.map +1 -0
  1098. package/dist/recipes/kabuki-devtools/timeline/timeline.js +122 -0
  1099. package/dist/recipes/kabuki-devtools/timeline/timeline.js.map +1 -0
  1100. package/dist/recipes/key-bindings/index.d.ts +2 -0
  1101. package/dist/recipes/key-bindings/index.js +2 -0
  1102. package/dist/recipes/key-bindings/key-bindings.d.ts +19 -0
  1103. package/dist/recipes/key-bindings/key-bindings.d.ts.map +1 -0
  1104. package/dist/recipes/key-bindings/key-bindings.js +61 -0
  1105. package/dist/recipes/key-bindings/key-bindings.js.map +1 -0
  1106. package/dist/recipes/local-sign-in/index.d.ts +2 -0
  1107. package/dist/recipes/local-sign-in/index.js +2 -0
  1108. package/dist/recipes/local-sign-in/local-sign-in.d.ts +18 -0
  1109. package/dist/recipes/local-sign-in/local-sign-in.d.ts.map +1 -0
  1110. package/dist/recipes/local-sign-in/local-sign-in.js +109 -0
  1111. package/dist/recipes/local-sign-in/local-sign-in.js.map +1 -0
  1112. package/dist/recipes/parts/email-privacy/email-privacy.d.ts +24 -0
  1113. package/dist/recipes/parts/email-privacy/email-privacy.d.ts.map +1 -0
  1114. package/dist/recipes/parts/email-privacy/email-privacy.js +35 -0
  1115. package/dist/recipes/parts/email-privacy/email-privacy.js.map +1 -0
  1116. package/dist/recipes/parts/email-privacy/index.d.ts +2 -0
  1117. package/dist/recipes/parts/email-privacy/index.js +2 -0
  1118. package/dist/recipes/swipe-row/index.d.ts +2 -0
  1119. package/dist/recipes/swipe-row/index.js +2 -0
  1120. package/dist/recipes/swipe-row/swipe-row.d.ts +16 -0
  1121. package/dist/recipes/swipe-row/swipe-row.d.ts.map +1 -0
  1122. package/dist/recipes/swipe-row/swipe-row.js +96 -0
  1123. package/dist/recipes/swipe-row/swipe-row.js.map +1 -0
  1124. package/dist/recipes/thumb-picker/choice.d.ts +18 -0
  1125. package/dist/recipes/thumb-picker/choice.d.ts.map +1 -0
  1126. package/dist/recipes/thumb-picker/choice.js +0 -0
  1127. package/dist/recipes/thumb-picker/index.d.ts +3 -0
  1128. package/dist/recipes/thumb-picker/index.js +2 -0
  1129. package/dist/recipes/thumb-picker/list.d.ts +18 -0
  1130. package/dist/recipes/thumb-picker/list.d.ts.map +1 -0
  1131. package/dist/recipes/thumb-picker/list.js +48 -0
  1132. package/dist/recipes/thumb-picker/list.js.map +1 -0
  1133. package/dist/recipes/thumb-picker/lock.d.ts +18 -0
  1134. package/dist/recipes/thumb-picker/lock.d.ts.map +1 -0
  1135. package/dist/recipes/thumb-picker/lock.js +71 -0
  1136. package/dist/recipes/thumb-picker/lock.js.map +1 -0
  1137. package/dist/recipes/thumb-picker/menu.d.ts +19 -0
  1138. package/dist/recipes/thumb-picker/menu.d.ts.map +1 -0
  1139. package/dist/recipes/thumb-picker/menu.js +127 -0
  1140. package/dist/recipes/thumb-picker/menu.js.map +1 -0
  1141. package/dist/recipes/thumb-picker/thumb-picker.d.ts +31 -0
  1142. package/dist/recipes/thumb-picker/thumb-picker.d.ts.map +1 -0
  1143. package/dist/recipes/thumb-picker/thumb-picker.js +65 -0
  1144. package/dist/recipes/thumb-picker/thumb-picker.js.map +1 -0
  1145. package/dist/server/index.d.ts +7 -0
  1146. package/dist/server/index.js +5 -0
  1147. package/dist/server/live/index.d.ts +2 -0
  1148. package/dist/server/live/index.js +2 -0
  1149. package/dist/server/live/live.d.ts +56 -0
  1150. package/dist/server/live/live.d.ts.map +1 -0
  1151. package/dist/server/live/live.js +98 -0
  1152. package/dist/server/live/live.js.map +1 -0
  1153. package/dist/server/serve/index.d.ts +2 -0
  1154. package/dist/server/serve/index.js +2 -0
  1155. package/dist/server/serve/serve.d.ts +48 -0
  1156. package/dist/server/serve/serve.d.ts.map +1 -0
  1157. package/dist/server/serve/serve.js +47 -0
  1158. package/dist/server/serve/serve.js.map +1 -0
  1159. package/dist/server/stage/index.d.ts +2 -0
  1160. package/dist/server/stage/index.js +2 -0
  1161. package/dist/server/stage/stage.d.ts +14 -0
  1162. package/dist/server/stage/stage.d.ts.map +1 -0
  1163. package/dist/server/stage/stage.js +28 -0
  1164. package/dist/server/stage/stage.js.map +1 -0
  1165. package/dist/server/worker/index.d.ts +2 -0
  1166. package/dist/server/worker/index.js +2 -0
  1167. package/dist/server/worker/worker.d.ts +19 -0
  1168. package/dist/server/worker/worker.d.ts.map +1 -0
  1169. package/dist/server/worker/worker.js +18 -0
  1170. package/dist/server/worker/worker.js.map +1 -0
  1171. package/dist/theme/cookie.d.ts +6 -0
  1172. package/dist/theme/cookie.d.ts.map +1 -0
  1173. package/dist/theme/cookie.js +21 -0
  1174. package/dist/theme/cookie.js.map +1 -0
  1175. package/dist/theme/css/font-inter.css +2 -0
  1176. package/dist/theme/css/global.css +62 -0
  1177. package/dist/theme/css/shiki.css +71 -0
  1178. package/dist/theme/css/sources.css +6 -0
  1179. package/dist/theme/css/theme.css +170 -0
  1180. package/dist/theme/css/typography.css +1 -0
  1181. package/dist/theme/document.d.ts +6 -0
  1182. package/dist/theme/document.d.ts.map +1 -0
  1183. package/dist/theme/document.js +26 -0
  1184. package/dist/theme/document.js.map +1 -0
  1185. package/dist/theme/index.d.ts +4 -0
  1186. package/dist/theme/index.js +4 -0
  1187. package/dist/theme/model.d.ts +9 -0
  1188. package/dist/theme/model.d.ts.map +1 -0
  1189. package/dist/theme/model.js +13 -0
  1190. package/dist/theme/model.js.map +1 -0
  1191. package/dist/theme/status-bar.d.ts +10 -0
  1192. package/dist/theme/status-bar.d.ts.map +1 -0
  1193. package/dist/theme/status-bar.js +19 -0
  1194. package/dist/theme/status-bar.js.map +1 -0
  1195. package/dist/theme/store.d.ts +6 -0
  1196. package/dist/theme/store.d.ts.map +1 -0
  1197. package/dist/theme/store.js +45 -0
  1198. package/dist/theme/store.js.map +1 -0
  1199. package/dist/theme/theme.d.ts +22 -0
  1200. package/dist/theme/theme.d.ts.map +1 -0
  1201. package/dist/theme/theme.js +37 -0
  1202. package/dist/theme/theme.js.map +1 -0
  1203. package/package.json +255 -3
  1204. package/src/app/apis/apis.ts +109 -0
  1205. package/src/app/apis/index.ts +13 -0
  1206. package/src/app/app.tsx +232 -0
  1207. package/src/app/assemble/assemble.tsx +339 -0
  1208. package/src/app/assemble/index.ts +7 -0
  1209. package/src/app/assemble/public.ts +98 -0
  1210. package/src/app/gate/domain/check.ts +76 -0
  1211. package/src/app/gate/domain/index.ts +3 -0
  1212. package/src/app/gate/domain/machine.ts +439 -0
  1213. package/src/app/gate/domain/services.ts +46 -0
  1214. package/src/app/gate/domain/types.ts +36 -0
  1215. package/src/app/gate/gate.ts +501 -0
  1216. package/src/app/gate/index.ts +3 -0
  1217. package/src/app/gate/memory.ts +56 -0
  1218. package/src/app/gate/react.tsx +139 -0
  1219. package/src/app/host/host.ts +166 -0
  1220. package/src/app/host/index.ts +10 -0
  1221. package/src/app/index.ts +10 -0
  1222. package/src/app/session/define.ts +75 -0
  1223. package/src/app/session/index.ts +17 -0
  1224. package/src/app/session/keeper.ts +34 -0
  1225. package/src/app/session/open.ts +207 -0
  1226. package/src/app/session/react.tsx +38 -0
  1227. package/src/app/session/status.ts +46 -0
  1228. package/src/app/web-host.ts +104 -0
  1229. package/src/client/index.ts +9 -0
  1230. package/src/client/root/index.ts +7 -0
  1231. package/src/client/root/root.tsx +149 -0
  1232. package/src/client/server.ts +3 -0
  1233. package/src/client/theme/index.ts +1 -0
  1234. package/src/client/theme/tanstack-start.ts +5 -0
  1235. package/src/components/hooks/use-element-width.ts +24 -0
  1236. package/src/components/hooks/use-mobile.ts +21 -0
  1237. package/src/components/hooks/use-scroll.ts +292 -0
  1238. package/src/components/lib/lucide.ts +1 -0
  1239. package/src/components/lib/motion.ts +1 -0
  1240. package/src/components/lib/scrollStyles.ts +44 -0
  1241. package/src/components/lib/shadow-dom.tsx +86 -0
  1242. package/src/components/lib/utils.ts +6 -0
  1243. package/src/components/ui/accordion.tsx +71 -0
  1244. package/src/components/ui/alert-dialog.tsx +185 -0
  1245. package/src/components/ui/alert.tsx +75 -0
  1246. package/src/components/ui/aspect-ratio.tsx +22 -0
  1247. package/src/components/ui/attachment.tsx +207 -0
  1248. package/src/components/ui/avatar.tsx +106 -0
  1249. package/src/components/ui/badge.tsx +51 -0
  1250. package/src/components/ui/breadcrumb.tsx +124 -0
  1251. package/src/components/ui/bubble.tsx +127 -0
  1252. package/src/components/ui/button-group.tsx +87 -0
  1253. package/src/components/ui/button.tsx +57 -0
  1254. package/src/components/ui/calendar.tsx +221 -0
  1255. package/src/components/ui/card.tsx +102 -0
  1256. package/src/components/ui/carousel.tsx +240 -0
  1257. package/src/components/ui/chart.tsx +370 -0
  1258. package/src/components/ui/checkbox.tsx +28 -0
  1259. package/src/components/ui/collapsible.tsx +19 -0
  1260. package/src/components/ui/combobox.tsx +295 -0
  1261. package/src/components/ui/command.tsx +196 -0
  1262. package/src/components/ui/context-menu.tsx +270 -0
  1263. package/src/components/ui/dialog.tsx +157 -0
  1264. package/src/components/ui/direction.tsx +4 -0
  1265. package/src/components/ui/drawer.tsx +224 -0
  1266. package/src/components/ui/dropdown-menu.tsx +275 -0
  1267. package/src/components/ui/empty.tsx +103 -0
  1268. package/src/components/ui/field.tsx +236 -0
  1269. package/src/components/ui/file-tree.tsx +619 -0
  1270. package/src/components/ui/google-button.tsx +194 -0
  1271. package/src/components/ui/hover-card.tsx +50 -0
  1272. package/src/components/ui/input-group.tsx +158 -0
  1273. package/src/components/ui/input-otp.tsx +84 -0
  1274. package/src/components/ui/input.tsx +19 -0
  1275. package/src/components/ui/item.tsx +201 -0
  1276. package/src/components/ui/kbd.tsx +26 -0
  1277. package/src/components/ui/label.tsx +19 -0
  1278. package/src/components/ui/marker.tsx +70 -0
  1279. package/src/components/ui/menubar.tsx +280 -0
  1280. package/src/components/ui/message-scroller.tsx +129 -0
  1281. package/src/components/ui/message.tsx +91 -0
  1282. package/src/components/ui/native-select.tsx +60 -0
  1283. package/src/components/ui/navigation-menu.tsx +167 -0
  1284. package/src/components/ui/pagination.tsx +130 -0
  1285. package/src/components/ui/popover.tsx +87 -0
  1286. package/src/components/ui/progress.tsx +82 -0
  1287. package/src/components/ui/questionnaire.tsx +324 -0
  1288. package/src/components/ui/radio-group.tsx +35 -0
  1289. package/src/components/ui/resizable.tsx +49 -0
  1290. package/src/components/ui/scroll-area.tsx +60 -0
  1291. package/src/components/ui/select.tsx +200 -0
  1292. package/src/components/ui/separator.tsx +22 -0
  1293. package/src/components/ui/sheet.tsx +133 -0
  1294. package/src/components/ui/skeleton.tsx +13 -0
  1295. package/src/components/ui/slider.tsx +51 -0
  1296. package/src/components/ui/sonner.tsx +43 -0
  1297. package/src/components/ui/spinner.tsx +10 -0
  1298. package/src/components/ui/switch.tsx +31 -0
  1299. package/src/components/ui/table.tsx +113 -0
  1300. package/src/components/ui/tabs.tsx +81 -0
  1301. package/src/components/ui/textarea.tsx +17 -0
  1302. package/src/components/ui/toast.tsx +234 -0
  1303. package/src/components/ui/toggle-group.tsx +87 -0
  1304. package/src/components/ui/toggle.tsx +42 -0
  1305. package/src/components/ui/tooltip.tsx +65 -0
  1306. package/src/components/viewers/diff-viewer/align.ts +83 -0
  1307. package/src/components/viewers/diff-viewer/collapse.ts +102 -0
  1308. package/src/components/viewers/diff-viewer/diff-viewer.tsx +605 -0
  1309. package/src/components/viewers/diff-viewer/index.ts +8 -0
  1310. package/src/components/viewers/diff-viewer/render-model.ts +123 -0
  1311. package/src/components/viewers/diff-viewer/sync-rows.ts +41 -0
  1312. package/src/components/viewers/file-tree/expand.ts +58 -0
  1313. package/src/components/viewers/file-tree/file-tree.tsx +199 -0
  1314. package/src/components/viewers/file-tree/index.ts +2 -0
  1315. package/src/components/viewers/git-changes/git-changes.tsx +287 -0
  1316. package/src/components/viewers/git-changes/index.ts +11 -0
  1317. package/src/components/viewers/json/index.ts +3 -0
  1318. package/src/components/viewers/json/json-editor.tsx +94 -0
  1319. package/src/components/viewers/json/json-tree.tsx +110 -0
  1320. package/src/components/viewers/json/json-viewer.tsx +61 -0
  1321. package/src/components/viewers/markdown-viewer/index.ts +1 -0
  1322. package/src/components/viewers/markdown-viewer/markdown-viewer.tsx +83 -0
  1323. package/src/components/viewers/source-explorer/index.ts +11 -0
  1324. package/src/components/viewers/source-explorer/initial-selection.ts +21 -0
  1325. package/src/components/viewers/source-explorer/snapshot-tree.ts +39 -0
  1326. package/src/components/viewers/source-explorer/source-explorer.tsx +598 -0
  1327. package/src/components/viewers/source-viewer/index.ts +7 -0
  1328. package/src/components/viewers/source-viewer/source-viewer.tsx +437 -0
  1329. package/src/cosmos.decorator.tsx +38 -0
  1330. package/src/css.d.ts +1 -0
  1331. package/src/define/index.ts +26 -0
  1332. package/src/feedback/index.ts +1 -0
  1333. package/src/feedback/sound.ts +167 -0
  1334. package/src/form/components/submit-button.tsx +52 -0
  1335. package/src/form/context.ts +8 -0
  1336. package/src/form/create-form-hook.ts +50 -0
  1337. package/src/form/fields/date-picker-field.tsx +125 -0
  1338. package/src/form/fields/select-field.tsx +110 -0
  1339. package/src/form/fields/switch-field.tsx +72 -0
  1340. package/src/form/fields/text-field.tsx +82 -0
  1341. package/src/form/fields/textarea-field.tsx +82 -0
  1342. package/src/form/index.ts +56 -0
  1343. package/src/form/types.ts +76 -0
  1344. package/src/input/device/device.ts +83 -0
  1345. package/src/input/device/index.ts +1 -0
  1346. package/src/input/gesture/index.ts +26 -0
  1347. package/src/input/gesture/patterns/index.ts +3 -0
  1348. package/src/input/gesture/patterns/pull-to-refresh/index.ts +6 -0
  1349. package/src/input/gesture/patterns/pull-to-refresh/use-pull-to-refresh.ts +101 -0
  1350. package/src/input/gesture/patterns/sidebar/index.ts +2 -0
  1351. package/src/input/gesture/patterns/sidebar/use-sidebar.ts +201 -0
  1352. package/src/input/gesture/recognizers/index.ts +12 -0
  1353. package/src/input/gesture/recognizers/swipe/index.ts +12 -0
  1354. package/src/input/gesture/recognizers/swipe/use-swipe.ts +224 -0
  1355. package/src/input/gesture/zones/index.ts +11 -0
  1356. package/src/input/gesture/zones/touch-input/index.ts +10 -0
  1357. package/src/input/gesture/zones/touch-input/native-scroll.ts +74 -0
  1358. package/src/input/gesture/zones/touch-input/touch-input.ts +322 -0
  1359. package/src/input/gesture/zones/zone/index.ts +11 -0
  1360. package/src/input/gesture/zones/zone/motion-pointers.ts +74 -0
  1361. package/src/input/gesture/zones/zone/zone.tsx +291 -0
  1362. package/src/input/index.ts +4 -0
  1363. package/src/pwa/browser/dom-events.ts +17 -0
  1364. package/src/pwa/browser/subscription-ref.ts +29 -0
  1365. package/src/pwa/client/client.ts +43 -0
  1366. package/src/pwa/client/commands/commands.ts +28 -0
  1367. package/src/pwa/client/commands/index.ts +1 -0
  1368. package/src/pwa/client/index.ts +1 -0
  1369. package/src/pwa/client/registration.ts +63 -0
  1370. package/src/pwa/client/runtime-cache.ts +24 -0
  1371. package/src/pwa/client/status/index.ts +1 -0
  1372. package/src/pwa/client/status/status.ts +155 -0
  1373. package/src/pwa/extras/display-mode/display-mode.ts +64 -0
  1374. package/src/pwa/extras/display-mode/index.ts +6 -0
  1375. package/src/pwa/extras/index.ts +15 -0
  1376. package/src/pwa/extras/install/index.ts +4 -0
  1377. package/src/pwa/extras/install/install-content.tsx +45 -0
  1378. package/src/pwa/extras/install/install-dismissal.ts +20 -0
  1379. package/src/pwa/extras/install/install-prompt.tsx +93 -0
  1380. package/src/pwa/extras/install/install.ts +134 -0
  1381. package/src/pwa/extras/install/ios.ts +13 -0
  1382. package/src/pwa/extras/install/media-query.ts +18 -0
  1383. package/src/pwa/extras/lazy-service/index.ts +1 -0
  1384. package/src/pwa/extras/lazy-service/lazy-service.ts +38 -0
  1385. package/src/pwa/extras/online/index.ts +2 -0
  1386. package/src/pwa/extras/online/offline-indicator.tsx +26 -0
  1387. package/src/pwa/extras/online/online.ts +35 -0
  1388. package/src/pwa/extras/storage/index.ts +1 -0
  1389. package/src/pwa/extras/storage/storage.ts +101 -0
  1390. package/src/pwa/index.ts +5 -0
  1391. package/src/pwa/react/head.ts +69 -0
  1392. package/src/pwa/react/index.ts +3 -0
  1393. package/src/pwa/react/react.tsx +98 -0
  1394. package/src/pwa/react/update-prompt.tsx +26 -0
  1395. package/src/pwa/react/update-toast.ts +57 -0
  1396. package/src/pwa/root/index.ts +1 -0
  1397. package/src/pwa/root/root.tsx +39 -0
  1398. package/src/pwa/rpc/client/client.ts +105 -0
  1399. package/src/pwa/rpc/client/index.ts +1 -0
  1400. package/src/pwa/rpc/client/page-environment.ts +88 -0
  1401. package/src/pwa/rpc/client/platform.ts +213 -0
  1402. package/src/pwa/rpc/client/version-skew.ts +71 -0
  1403. package/src/pwa/rpc/handshake/handshake.ts +125 -0
  1404. package/src/pwa/rpc/handshake/index.ts +11 -0
  1405. package/src/pwa/rpc/worker/connections.ts +62 -0
  1406. package/src/pwa/rpc/worker/index.ts +1 -0
  1407. package/src/pwa/rpc/worker/keep-alive.ts +26 -0
  1408. package/src/pwa/rpc/worker/runner-platform.ts +200 -0
  1409. package/src/pwa/rpc/worker/worker.ts +44 -0
  1410. package/src/pwa/shared/build/build.ts +78 -0
  1411. package/src/pwa/shared/build/canonical-json.ts +11 -0
  1412. package/src/pwa/shared/build/fnv1a.ts +13 -0
  1413. package/src/pwa/shared/build/index.ts +19 -0
  1414. package/src/pwa/shared/commands/commands.ts +60 -0
  1415. package/src/pwa/shared/commands/index.ts +11 -0
  1416. package/src/pwa/shared/config/config.ts +185 -0
  1417. package/src/pwa/shared/config/index.ts +11 -0
  1418. package/src/pwa/shared/config/presets.ts +45 -0
  1419. package/src/pwa/shared/manifest/index.ts +5 -0
  1420. package/src/pwa/shared/manifest/manifest.ts +102 -0
  1421. package/src/pwa/shared/strategy/index.ts +8 -0
  1422. package/src/pwa/shared/strategy/pattern.ts +20 -0
  1423. package/src/pwa/shared/strategy/strategy.ts +107 -0
  1424. package/src/pwa/shared/worker-host/index.ts +1 -0
  1425. package/src/pwa/shared/worker-host/worker-host.ts +22 -0
  1426. package/src/pwa/splash/devices.ts +28 -0
  1427. package/src/pwa/splash/index.ts +1 -0
  1428. package/src/pwa/splash/splash.ts +44 -0
  1429. package/src/pwa/virtual.d.ts +13 -0
  1430. package/src/pwa/vite/build/build-plugin.ts +153 -0
  1431. package/src/pwa/vite/build/build-state.ts +17 -0
  1432. package/src/pwa/vite/build/headers.ts +34 -0
  1433. package/src/pwa/vite/build/index.ts +2 -0
  1434. package/src/pwa/vite/build/output-files.ts +49 -0
  1435. package/src/pwa/vite/build/start-setup.ts +50 -0
  1436. package/src/pwa/vite/client-module/build-version.ts +43 -0
  1437. package/src/pwa/vite/client-module/client-info.ts +58 -0
  1438. package/src/pwa/vite/client-module/client-module.ts +67 -0
  1439. package/src/pwa/vite/client-module/index.ts +1 -0
  1440. package/src/pwa/vite/dev/dev-plugin.ts +72 -0
  1441. package/src/pwa/vite/dev/index.ts +1 -0
  1442. package/src/pwa/vite/index.ts +1 -0
  1443. package/src/pwa/vite/precache/asset-kind.ts +25 -0
  1444. package/src/pwa/vite/precache/index.ts +6 -0
  1445. package/src/pwa/vite/precache/precache.ts +97 -0
  1446. package/src/pwa/vite/precache/revision.ts +5 -0
  1447. package/src/pwa/vite/precache/url-path.ts +21 -0
  1448. package/src/pwa/vite/vite.ts +25 -0
  1449. package/src/pwa/vite/worker-bundle/build-module.ts +28 -0
  1450. package/src/pwa/vite/worker-bundle/entry.ts +29 -0
  1451. package/src/pwa/vite/worker-bundle/index.ts +1 -0
  1452. package/src/pwa/vite/worker-bundle/kill-switch.ts +23 -0
  1453. package/src/pwa/vite/worker-bundle/worker-bundle.ts +71 -0
  1454. package/src/pwa/worker/commands/commands.ts +31 -0
  1455. package/src/pwa/worker/commands/index.ts +1 -0
  1456. package/src/pwa/worker/global-scope/global-scope.ts +99 -0
  1457. package/src/pwa/worker/global-scope/index.ts +9 -0
  1458. package/src/pwa/worker/index.ts +1 -0
  1459. package/src/pwa/worker/lifecycle/index.ts +1 -0
  1460. package/src/pwa/worker/lifecycle/lifecycle.ts +52 -0
  1461. package/src/pwa/worker/messages/index.ts +1 -0
  1462. package/src/pwa/worker/messages/messages.ts +67 -0
  1463. package/src/pwa/worker/precache/download.ts +38 -0
  1464. package/src/pwa/worker/precache/index.ts +7 -0
  1465. package/src/pwa/worker/precache/precache.ts +72 -0
  1466. package/src/pwa/worker/requests/index.ts +1 -0
  1467. package/src/pwa/worker/requests/pages/index.ts +1 -0
  1468. package/src/pwa/worker/requests/pages/pages.ts +116 -0
  1469. package/src/pwa/worker/requests/requests.ts +39 -0
  1470. package/src/pwa/worker/requests/strategies/cache-store.ts +82 -0
  1471. package/src/pwa/worker/requests/strategies/index.ts +2 -0
  1472. package/src/pwa/worker/requests/strategies/kinds.ts +63 -0
  1473. package/src/pwa/worker/requests/strategies/network-first.ts +40 -0
  1474. package/src/pwa/worker/requests/strategies/strategies.ts +40 -0
  1475. package/src/pwa/worker/worker.ts +99 -0
  1476. package/src/recipes/account-lost/account-lost.tsx +66 -0
  1477. package/src/recipes/account-lost/index.ts +5 -0
  1478. package/src/recipes/account-switcher/account-switcher.tsx +199 -0
  1479. package/src/recipes/account-switcher/index.ts +5 -0
  1480. package/src/recipes/frame/app-shell.tsx +74 -0
  1481. package/src/recipes/frame/frame/frame.tsx +204 -0
  1482. package/src/recipes/frame/frame/geometry.ts +60 -0
  1483. package/src/recipes/frame/frame/index.ts +1 -0
  1484. package/src/recipes/frame/frame/motion.ts +85 -0
  1485. package/src/recipes/frame/frame/state.ts +29 -0
  1486. package/src/recipes/frame/header.tsx +54 -0
  1487. package/src/recipes/frame/index.ts +16 -0
  1488. package/src/recipes/frame/sidebar/blocks.tsx +214 -0
  1489. package/src/recipes/frame/sidebar/index.ts +15 -0
  1490. package/src/recipes/frame/sidebar/nav.tsx +46 -0
  1491. package/src/recipes/frame/sidebar/resize-handle.tsx +94 -0
  1492. package/src/recipes/frame/sidebar/sidebar.tsx +44 -0
  1493. package/src/recipes/frame/sidebar/width.ts +23 -0
  1494. package/src/recipes/gate-screens/gate-screens.tsx +213 -0
  1495. package/src/recipes/gate-screens/index.ts +5 -0
  1496. package/src/recipes/kabuki-devtools/index.ts +1 -0
  1497. package/src/recipes/kabuki-devtools/ink/index.ts +2 -0
  1498. package/src/recipes/kabuki-devtools/ink/ink.ts +53 -0
  1499. package/src/recipes/kabuki-devtools/kabuki-devtools.tsx +419 -0
  1500. package/src/recipes/kabuki-devtools/map/beat/beat.tsx +243 -0
  1501. package/src/recipes/kabuki-devtools/map/beat/index.ts +1 -0
  1502. package/src/recipes/kabuki-devtools/map/canvas/canvas.tsx +320 -0
  1503. package/src/recipes/kabuki-devtools/map/canvas/index.ts +2 -0
  1504. package/src/recipes/kabuki-devtools/map/index.ts +2 -0
  1505. package/src/recipes/kabuki-devtools/map/link/index.ts +1 -0
  1506. package/src/recipes/kabuki-devtools/map/link/link.tsx +107 -0
  1507. package/src/recipes/kabuki-devtools/map/map.tsx +474 -0
  1508. package/src/recipes/kabuki-devtools/map/node/index.ts +2 -0
  1509. package/src/recipes/kabuki-devtools/map/node/node.tsx +437 -0
  1510. package/src/recipes/kabuki-devtools/map/popup/index.ts +1 -0
  1511. package/src/recipes/kabuki-devtools/map/popup/popup.tsx +73 -0
  1512. package/src/recipes/kabuki-devtools/scene/beats.ts +110 -0
  1513. package/src/recipes/kabuki-devtools/scene/index.ts +11 -0
  1514. package/src/recipes/kabuki-devtools/scene/layout/index.ts +3 -0
  1515. package/src/recipes/kabuki-devtools/scene/layout/layout.ts +14 -0
  1516. package/src/recipes/kabuki-devtools/scene/layout/outline.ts +80 -0
  1517. package/src/recipes/kabuki-devtools/scene/layout/shapes.ts +93 -0
  1518. package/src/recipes/kabuki-devtools/scene/layout/tree.ts +181 -0
  1519. package/src/recipes/kabuki-devtools/scene/nodes.ts +116 -0
  1520. package/src/recipes/kabuki-devtools/scene/scene.ts +268 -0
  1521. package/src/recipes/kabuki-devtools/scene/tree.ts +191 -0
  1522. package/src/recipes/kabuki-devtools/sheet/index.ts +1 -0
  1523. package/src/recipes/kabuki-devtools/sheet/sheet.tsx +193 -0
  1524. package/src/recipes/kabuki-devtools/timeline/index.ts +2 -0
  1525. package/src/recipes/kabuki-devtools/timeline/timeline.tsx +206 -0
  1526. package/src/recipes/key-bindings/index.ts +1 -0
  1527. package/src/recipes/key-bindings/key-bindings.tsx +80 -0
  1528. package/src/recipes/local-sign-in/index.ts +5 -0
  1529. package/src/recipes/local-sign-in/local-sign-in.tsx +148 -0
  1530. package/src/recipes/parts/email-privacy/email-privacy.tsx +52 -0
  1531. package/src/recipes/parts/email-privacy/index.ts +1 -0
  1532. package/src/recipes/swipe-row/index.ts +1 -0
  1533. package/src/recipes/swipe-row/swipe-row.tsx +97 -0
  1534. package/src/recipes/thumb-picker/choice.ts +14 -0
  1535. package/src/recipes/thumb-picker/index.ts +1 -0
  1536. package/src/recipes/thumb-picker/list.tsx +73 -0
  1537. package/src/recipes/thumb-picker/lock.ts +86 -0
  1538. package/src/recipes/thumb-picker/menu.tsx +105 -0
  1539. package/src/recipes/thumb-picker/thumb-picker.tsx +84 -0
  1540. package/src/server/index.ts +21 -0
  1541. package/src/server/live/index.ts +9 -0
  1542. package/src/server/live/live.ts +219 -0
  1543. package/src/server/serve/index.ts +6 -0
  1544. package/src/server/serve/serve.ts +115 -0
  1545. package/src/server/stage/index.ts +6 -0
  1546. package/src/server/stage/stage.ts +43 -0
  1547. package/src/server/worker/index.ts +1 -0
  1548. package/src/server/worker/worker.ts +26 -0
  1549. package/src/theme/cookie.ts +22 -0
  1550. package/src/theme/css/font-inter.css +2 -0
  1551. package/src/theme/css/global.css +62 -0
  1552. package/src/theme/css/shiki.css +71 -0
  1553. package/src/theme/css/sources.css +6 -0
  1554. package/src/theme/css/theme.css +170 -0
  1555. package/src/theme/css/typography.css +1 -0
  1556. package/src/theme/document.ts +37 -0
  1557. package/src/theme/index.ts +3 -0
  1558. package/src/theme/model.ts +12 -0
  1559. package/src/theme/status-bar.ts +28 -0
  1560. package/src/theme/store.ts +66 -0
  1561. package/src/theme/theme.ts +45 -0
@@ -0,0 +1,107 @@
1
+ import { createContext, useContext, useSyncExternalStore } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/app/gate/react.tsx
4
+ const CHECKING = { kind: "checking" };
5
+ /**
6
+ * A Gate as React sees it, on any platform: `SignedIn` and `SignedOut`
7
+ * around any part of the app, from the whole of it to one button;
8
+ * `useGate` anywhere; `useAccounts` and `useSession` inside `SignedIn`. Nothing runs until one of them first renders.
9
+ */
10
+ const gateReact = (gate) => {
11
+ const OpenContext = createContext(void 0);
12
+ const useView = () => useSyncExternalStore(gate.subscribe, gate.view, () => CHECKING);
13
+ const useOpen = () => {
14
+ const open = useContext(OpenContext);
15
+ if (open === void 0) throw new Error("useSession and useAccounts must be inside SignedIn");
16
+ return open;
17
+ };
18
+ /**
19
+ * Renders `children` while an account is open, `fallback` otherwise (a
20
+ * node, or one per view). Everything inside remounts on an Account
21
+ * Switch, so wrap as little as the part that needs an account.
22
+ */
23
+ function SignedIn(props) {
24
+ const view = useView();
25
+ if (view.kind !== "open") {
26
+ const { fallback } = props;
27
+ return typeof fallback === "function" ? fallback(view) : fallback ?? null;
28
+ }
29
+ return /* @__PURE__ */ jsx(OpenContext, {
30
+ value: view,
31
+ children: props.children
32
+ }, view.account.user.id);
33
+ }
34
+ /** Renders `children` only while nobody is signed in. */
35
+ function SignedOut(props) {
36
+ return useView().kind === "signedOut" ? props.children : null;
37
+ }
38
+ const dismissNotice = () => void gate.takeNotice();
39
+ const answer = (choice) => gate.namedSignIn.answer(choice);
40
+ /**
41
+ * The Gate, anywhere: what it shows, the Backend it runs on and changing
42
+ * it, whether the device is online, the oldest Gate Notice, the Named
43
+ * Sign-In's question, and what can be done before anyone is open.
44
+ */
45
+ const useGate = () => ({
46
+ view: useView(),
47
+ /** The Backend running; null until it has started. */
48
+ backend: useSyncExternalStore(gate.subscribe, gate.backend, () => null),
49
+ /** Chooses a Backend and runs on it at once. */
50
+ setBackend: gate.setBackend,
51
+ /** Whether the device is online. */
52
+ online: useSyncExternalStore(gate.onOnlineChange, gate.online, () => true),
53
+ /** The oldest Gate Notice not yet dismissed. */
54
+ notice: useSyncExternalStore(gate.subscribe, gate.notice, () => null),
55
+ dismissNotice,
56
+ /** Asks the Backend again who is signed in. */
57
+ checkAgain: gate.checkAgain,
58
+ /** Tries again to open an account that would not open. */
59
+ retry: gate.retry,
60
+ /** Signs an account in, the first or one more. */
61
+ signIn: gate.addAccount,
62
+ /** An Account Switch, as from an Account Lost, where nobody is open. */
63
+ switchTo: gate.switchTo,
64
+ /** Signs the Active Account out, or forgets a lost one; false when the
65
+ * Backend can't be reached. */
66
+ signOut: gate.signOut,
67
+ /** Whether the device Backend is asking who signs in, and the answer: a
68
+ * choice, or null to sign nobody in. */
69
+ namedSignIn: {
70
+ asking: useSyncExternalStore(gate.namedSignIn.subscribe, gate.namedSignIn.isAsking, () => false),
71
+ answer
72
+ }
73
+ });
74
+ /**
75
+ * The Signed-in Accounts, and what is done with them; only inside
76
+ * `SignedIn`.
77
+ */
78
+ const useAccounts = () => {
79
+ const open = useOpen();
80
+ return {
81
+ /** The open account. */
82
+ current: open.account,
83
+ /** Every Signed-in Account. */
84
+ all: open.accounts,
85
+ /** Signs one more account in, who becomes the Active Account. */
86
+ add: gate.addAccount,
87
+ /** An Account Switch, at once. */
88
+ switchTo: gate.switchTo,
89
+ /** False when the Backend can't be reached. */
90
+ signOut: gate.signOut,
91
+ /** False when the Backend can't be reached. */
92
+ signOutEveryone: gate.signOutEveryone
93
+ };
94
+ };
95
+ return {
96
+ SignedIn,
97
+ SignedOut,
98
+ useGate,
99
+ useAccounts,
100
+ /** The open Account's Session; only inside `SignedIn`. */
101
+ useSession: () => useOpen().session
102
+ };
103
+ };
104
+ //#endregion
105
+ export { gateReact };
106
+
107
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","names":[],"sources":["../../../src/app/gate/react.tsx"],"sourcesContent":["import {\n createContext,\n type ReactNode,\n useContext,\n useSyncExternalStore,\n} from 'react';\nimport type { NamedChoice } from '@kestack/auth-toolkit/client';\nimport type { GateView } from './domain/index.ts';\nimport type { Gate } from './gate.ts';\n\ntype Open<S> = Extract<GateView<S>, { kind: 'open' }>;\ntype NotOpen<S> = Exclude<GateView<S>, { kind: 'open' }>;\n\nconst CHECKING = { kind: 'checking' } as const;\n\n/**\n * A Gate as React sees it, on any platform: `SignedIn` and `SignedOut`\n * around any part of the app, from the whole of it to one button;\n * `useGate` anywhere; `useAccounts` and `useSession` inside `SignedIn`. Nothing runs until one of them first renders.\n */\nexport const gateReact = <S,>(gate: Gate<S>) => {\n const OpenContext = createContext<Open<S> | undefined>(undefined);\n\n // What the Gate shows now; checking until it runs.\n const useView = (): GateView<S> =>\n useSyncExternalStore(gate.subscribe, gate.view, () => CHECKING);\n\n const useOpen = () => {\n const open = useContext(OpenContext);\n if (open === undefined)\n throw new Error('useSession and useAccounts must be inside SignedIn');\n return open;\n };\n\n /**\n * Renders `children` while an account is open, `fallback` otherwise (a\n * node, or one per view). Everything inside remounts on an Account\n * Switch, so wrap as little as the part that needs an account.\n */\n function SignedIn(props: {\n readonly children: ReactNode;\n readonly fallback?: ReactNode | ((view: NotOpen<S>) => ReactNode);\n }) {\n const view = useView();\n if (view.kind !== 'open') {\n const { fallback } = props;\n return typeof fallback === 'function'\n ? fallback(view as NotOpen<S>)\n : (fallback ?? null);\n }\n return (\n <OpenContext key={view.account.user.id} value={view}>\n {props.children}\n </OpenContext>\n );\n }\n\n /** Renders `children` only while nobody is signed in. */\n function SignedOut(props: { readonly children: ReactNode }) {\n return useView().kind === 'signedOut' ? props.children : null;\n }\n\n const dismissNotice = () => void gate.takeNotice();\n const answer = (choice: NamedChoice | null) =>\n gate.namedSignIn.answer(choice);\n\n /**\n * The Gate, anywhere: what it shows, the Backend it runs on and changing\n * it, whether the device is online, the oldest Gate Notice, the Named\n * Sign-In's question, and what can be done before anyone is open.\n */\n const useGate = () => ({\n view: useView(),\n /** The Backend running; null until it has started. */\n backend: useSyncExternalStore(gate.subscribe, gate.backend, () => null),\n /** Chooses a Backend and runs on it at once. */\n setBackend: gate.setBackend,\n /** Whether the device is online. */\n online: useSyncExternalStore(gate.onOnlineChange, gate.online, () => true),\n /** The oldest Gate Notice not yet dismissed. */\n notice: useSyncExternalStore(gate.subscribe, gate.notice, () => null),\n dismissNotice,\n /** Asks the Backend again who is signed in. */\n checkAgain: gate.checkAgain,\n /** Tries again to open an account that would not open. */\n retry: gate.retry,\n /** Signs an account in, the first or one more. */\n signIn: gate.addAccount,\n /** An Account Switch, as from an Account Lost, where nobody is open. */\n switchTo: gate.switchTo,\n /** Signs the Active Account out, or forgets a lost one; false when the\n * Backend can't be reached. */\n signOut: gate.signOut,\n /** Whether the device Backend is asking who signs in, and the answer: a\n * choice, or null to sign nobody in. */\n namedSignIn: {\n asking: useSyncExternalStore(\n gate.namedSignIn.subscribe,\n gate.namedSignIn.isAsking,\n () => false,\n ),\n answer,\n },\n });\n\n /**\n * The Signed-in Accounts, and what is done with them; only inside\n * `SignedIn`.\n */\n const useAccounts = () => {\n const open = useOpen();\n return {\n /** The open account. */\n current: open.account,\n /** Every Signed-in Account. */\n all: open.accounts,\n /** Signs one more account in, who becomes the Active Account. */\n add: gate.addAccount,\n /** An Account Switch, at once. */\n switchTo: gate.switchTo,\n /** False when the Backend can't be reached. */\n signOut: gate.signOut,\n /** False when the Backend can't be reached. */\n signOutEveryone: gate.signOutEveryone,\n };\n };\n\n return {\n SignedIn,\n SignedOut,\n useGate,\n useAccounts,\n /** The open Account's Session; only inside `SignedIn`. */\n useSession: (): S => useOpen().session,\n };\n};\n\n/** A Gate's React side, as `gateReact` makes it. */\nexport type GateReact<S> = ReturnType<typeof gateReact<S>>;\n"],"mappings":";;;AAaA,MAAM,WAAW,EAAE,MAAM,WAAW;;;;;;AAOpC,MAAa,aAAiB,SAAkB;CAC9C,MAAM,cAAc,cAAmC,KAAA,CAAS;CAGhE,MAAM,gBACJ,qBAAqB,KAAK,WAAW,KAAK,YAAY,QAAQ;CAEhE,MAAM,gBAAgB;EACpB,MAAM,OAAO,WAAW,WAAW;EACnC,IAAI,SAAS,KAAA,GACX,MAAM,IAAI,MAAM,oDAAoD;EACtE,OAAO;CACT;;;;;;CAOA,SAAS,SAAS,OAGf;EACD,MAAM,OAAO,QAAQ;EACrB,IAAI,KAAK,SAAS,QAAQ;GACxB,MAAM,EAAE,aAAa;GACrB,OAAO,OAAO,aAAa,aACvB,SAAS,IAAkB,IAC1B,YAAY;EACnB;EACA,OACE,oBAAC,aAAD;GAAwC,OAAO;GAC5C,UAAA,MAAM;EACI,GAFK,KAAK,QAAQ,KAAK,EAEvB;CAEjB;;CAGA,SAAS,UAAU,OAAyC;EAC1D,OAAO,QAAQ,CAAC,CAAC,SAAS,cAAc,MAAM,WAAW;CAC3D;CAEA,MAAM,sBAAsB,KAAK,KAAK,WAAW;CACjD,MAAM,UAAU,WACd,KAAK,YAAY,OAAO,MAAM;;;;;;CAOhC,MAAM,iBAAiB;EACrB,MAAM,QAAQ;;EAEd,SAAS,qBAAqB,KAAK,WAAW,KAAK,eAAe,IAAI;;EAEtE,YAAY,KAAK;;EAEjB,QAAQ,qBAAqB,KAAK,gBAAgB,KAAK,cAAc,IAAI;;EAEzE,QAAQ,qBAAqB,KAAK,WAAW,KAAK,cAAc,IAAI;EACpE;;EAEA,YAAY,KAAK;;EAEjB,OAAO,KAAK;;EAEZ,QAAQ,KAAK;;EAEb,UAAU,KAAK;;;EAGf,SAAS,KAAK;;;EAGd,aAAa;GACX,QAAQ,qBACN,KAAK,YAAY,WACjB,KAAK,YAAY,gBACX,KACR;GACA;EACF;CACF;;;;;CAMA,MAAM,oBAAoB;EACxB,MAAM,OAAO,QAAQ;EACrB,OAAO;;GAEL,SAAS,KAAK;;GAEd,KAAK,KAAK;;GAEV,KAAK,KAAK;;GAEV,UAAU,KAAK;;GAEf,SAAS,KAAK;;GAEd,iBAAiB,KAAK;EACxB;CACF;CAEA,OAAO;EACL;EACA;EACA;EACA;;EAEA,kBAAqB,QAAQ,CAAC,CAAC;CACjC;AACF"}
@@ -0,0 +1,90 @@
1
+ import { Layer, Schema } from "effect";
2
+ import { SignIn } from "@kestack/auth-toolkit/client";
3
+ import { SyncStore } from "@kestack/std-toolkit/sync";
4
+ import { Broadcaster } from "@kestack/std-toolkit/core";
5
+ import { StdTableService, TableDefinition } from "@kestack/std-toolkit/db";
6
+ //#region src/app/host/host.d.ts
7
+ /** Where an app's Backend runs, and its Users sign in: in the cloud, or on
8
+ * this device, in the app itself. */
9
+ export declare const Backend: Schema.Literals<readonly ["cloud", "device"]>;
10
+ export type Backend = typeof Backend.Type;
11
+ /** The Backend `name` names, by its name or its former one (`remote`,
12
+ * `local`); null for anything else. */
13
+ export declare const backendNamed: (name: string | null | undefined) => Backend | null;
14
+ /** A table as a Host needs it to keep it. */
15
+ export type TableSource<Name extends string> = Pick<TableDefinition<Name>, 'logicalName' | 'primary' | 'localSecondaryIndexes' | 'globalSecondaryIndexes'>;
16
+ /** What one tab tells the device's other tabs: look again. `quiet` are
17
+ * accounts it signed out itself, so they are not reported lost there. */
18
+ export type TabMessage = {
19
+ readonly quiet: ReadonlyArray<string>;
20
+ };
21
+ /** Where a Host keeps things: a table adapter and a Sync adapter for the
22
+ * same place, such as IndexedDB in a browser or SQLite on a phone. */
23
+ export interface Storage {
24
+ /** One table, kept in one of this device's databases, by name. */
25
+ readonly table: <Name extends string>(table: TableSource<Name>, database: string) => Layer.Layer<StdTableService<Name>>;
26
+ /** What hears every write to one of this device's databases, by name:
27
+ * everyone writing to it here, such as every tab on one IndexedDB
28
+ * database, so a handler's change reaches every subscription. */
29
+ readonly broadcaster: (database: string) => Layer.Layer<Broadcaster>;
30
+ /** The Sync adapter here, where what a Std Sync keeps outlives the app so
31
+ * it opens offline, and every Std Sync kept on this device, by name. */
32
+ readonly sync: SyncStore & {
33
+ readonly list: () => Promise<ReadonlyArray<{
34
+ readonly name: string;
35
+ }>>;
36
+ readonly remove: (name: string) => Promise<void>;
37
+ };
38
+ }
39
+ /**
40
+ * One Broadcaster per database for as long as the app runs, made by `make`
41
+ * the first time a database is asked for and then given as it is, so every
42
+ * runtime that writes to the database shares it.
43
+ */
44
+ export declare const keptBroadcasters: (make: (database: string) => Layer.Layer<Broadcaster>) => Storage['broadcaster'];
45
+ /**
46
+ * Everything an app needs of where it runs: its Storage, its cloud address
47
+ * and Sign-in, its lifecycle, and its other tabs if it has any. The browser
48
+ * gives one (`webHost`) and tests give one in memory. An app never meets it.
49
+ */
50
+ export interface Host {
51
+ readonly storage: Storage;
52
+ /** The cloud Backend: where its APIs answer, and, for an app with auth,
53
+ * how a user signs in to it and the sign-in service's own page for
54
+ * managing accounts. */
55
+ readonly cloud: {
56
+ /** What an API's path is resolved against. */
57
+ readonly url: string;
58
+ readonly signIn?: Layer.Layer<SignIn>;
59
+ readonly manageAccounts?: () => Promise<void>;
60
+ };
61
+ /** When the app is online and in view. */
62
+ readonly lifecycle: {
63
+ readonly online: () => boolean;
64
+ /** Calls `changed` whenever the network comes or goes. */
65
+ readonly onOnlineChange: (changed: () => void) => () => void;
66
+ /** Calls `shown` whenever the app comes back into view. */
67
+ readonly onForeground: (shown: () => void) => () => void;
68
+ /** The Backend the launch asked for, if any, as `?backend=device` does
69
+ * on the web. Asked once, at start. */
70
+ readonly launchBackend: () => Backend | null;
71
+ };
72
+ /** The device's other tabs, where there can be more than one. */
73
+ readonly tabs?: {
74
+ readonly announce: (message: TabMessage) => void;
75
+ readonly listen: (heard: (message: TabMessage) => void) => () => void;
76
+ };
77
+ }
78
+ /**
79
+ * A Host kept in memory, with no network events and no other tabs: for
80
+ * tests, and for running an app where nothing outlives the process. Its
81
+ * cloud Sign-in signs nobody in unless `signIn` is given.
82
+ */
83
+ export declare const memoryHost: (options?: {
84
+ readonly online?: () => boolean;
85
+ readonly signIn?: Layer.Layer<SignIn>;
86
+ readonly url?: string;
87
+ readonly launchBackend?: Backend | null;
88
+ }) => Host;
89
+ //#endregion
90
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","names":[],"sources":["../../../src/app/host/host.ts"],"mappings":";;;;;;;;qBAYa,SAAO,OAAA;YACR,iBAAiB,QAAQ;;;qBAUxB,eAAY,oCAEtB;;YAQS,YAAY,uBAAuB,KAC7C,gBAAgB;;;YAMN;WAAwB,OAAO;;;;iBAI1B;;WAEN,QAAQ,qBACf,OAAO,YAAY,OACnB,qBACG,MAAM,MAAM,gBAAgB;;;;WAIxB,cAAc,qBAAqB,MAAM,MAAM;;;WAG/C,MAAM;aACJ,YAAY,QAAQ;eAAyB;;aAC7C,SAAS,iBAAiB;;;;;;;;qBAS1B,mBAAgB,OACpB,qBAAqB,MAAM,MAAM,iBACvC;;;;;;iBAqBc;WACN,SAAS;;;;WAIT;;aAEE;aACA,SAAS,MAAM,MAAM;aACrB,uBAAuB;;;WAGzB;aACE;;aAEA,iBAAiB;;aAEjB,eAAe;;;aAGf,qBAAqB;;;WAGvB;aACE,WAAW,SAAS;aACpB,SAAS,QAAQ,SAAS;;;;;;;;qBAS1B,aAAU;WAEV;WACA,SAAS,MAAM,MAAM;WACrB;WACA,gBAAgB;MAE1B"}
@@ -0,0 +1,75 @@
1
+ import { Effect, Layer, Schema, Scope } from "effect";
2
+ import { signIn } from "@kestack/auth-toolkit/client";
3
+ import { Sync } from "@kestack/std-toolkit/sync";
4
+ import { defaultBroadcaster } from "@kestack/std-toolkit/core";
5
+ import { Memory } from "@kestack/std-toolkit/db/memory";
6
+ //#region src/app/host/host.ts
7
+ /** Where an app's Backend runs, and its Users sign in: in the cloud, or on
8
+ * this device, in the app itself. */
9
+ const Backend = Schema.Literals(["cloud", "device"]);
10
+ const FORMER = {
11
+ remote: "cloud",
12
+ local: "device"
13
+ };
14
+ /** The Backend `name` names, by its name or its former one (`remote`,
15
+ * `local`); null for anything else. */
16
+ const backendNamed = (name) => name === "cloud" || name === "device" ? name : name == null ? null : FORMER[name] ?? null;
17
+ /**
18
+ * One Broadcaster per database for as long as the app runs, made by `make`
19
+ * the first time a database is asked for and then given as it is, so every
20
+ * runtime that writes to the database shares it.
21
+ */
22
+ const keptBroadcasters = (make) => {
23
+ const kept = /* @__PURE__ */ new Map();
24
+ return (database) => {
25
+ let layer = kept.get(database);
26
+ if (layer === void 0) {
27
+ layer = Layer.succeedContext(Effect.runSync(Layer.buildWithScope(make(database), Scope.makeUnsafe())));
28
+ kept.set(database, layer);
29
+ }
30
+ return layer;
31
+ };
32
+ };
33
+ /**
34
+ * A Host kept in memory, with no network events and no other tabs: for
35
+ * tests, and for running an app where nothing outlives the process. Its
36
+ * cloud Sign-in signs nobody in unless `signIn` is given.
37
+ */
38
+ const memoryHost = (options = {}) => {
39
+ const tables = /* @__PURE__ */ new Map();
40
+ const table = (source, database) => {
41
+ const key = `${database}/${source.logicalName}`;
42
+ let kept = tables.get(key);
43
+ if (kept === void 0) {
44
+ kept = Memory.make(source).layer;
45
+ tables.set(key, kept);
46
+ }
47
+ return kept;
48
+ };
49
+ return {
50
+ storage: {
51
+ table,
52
+ broadcaster: keptBroadcasters(() => defaultBroadcaster),
53
+ sync: {
54
+ ...Sync.memory(),
55
+ list: async () => [],
56
+ remove: async () => {}
57
+ }
58
+ },
59
+ cloud: {
60
+ url: options.url ?? "http://localhost",
61
+ signIn: options.signIn ?? signIn.named({ choose: Effect.succeed(null) }),
62
+ manageAccounts: async () => {}
63
+ },
64
+ lifecycle: {
65
+ online: options.online ?? (() => true),
66
+ onOnlineChange: () => () => {},
67
+ onForeground: () => () => {},
68
+ launchBackend: () => options.launchBackend ?? null
69
+ }
70
+ };
71
+ };
72
+ //#endregion
73
+ export { Backend, backendNamed, keptBroadcasters, memoryHost };
74
+
75
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","names":[],"sources":["../../../src/app/host/host.ts"],"sourcesContent":["import { Effect, Layer, Schema, Scope } from 'effect';\nimport { type SignIn, signIn } from '@kestack/auth-toolkit/client';\nimport {\n type Broadcaster,\n defaultBroadcaster,\n} from '@kestack/std-toolkit/core';\nimport type { StdTableService, TableDefinition } from '@kestack/std-toolkit/db';\nimport { Memory } from '@kestack/std-toolkit/db/memory';\nimport { Sync, type SyncStore } from '@kestack/std-toolkit/sync';\n\n/** Where an app's Backend runs, and its Users sign in: in the cloud, or on\n * this device, in the app itself. */\nexport const Backend = Schema.Literals(['cloud', 'device']);\nexport type Backend = typeof Backend.Type;\n\n// What the Backends were called before, as a device may still keep them.\nconst FORMER: Readonly<Record<string, Backend>> = {\n remote: 'cloud',\n local: 'device',\n};\n\n/** The Backend `name` names, by its name or its former one (`remote`,\n * `local`); null for anything else. */\nexport const backendNamed = (\n name: string | null | undefined,\n): Backend | null =>\n name === 'cloud' || name === 'device'\n ? name\n : name == null\n ? null\n : (FORMER[name] ?? null);\n\n/** A table as a Host needs it to keep it. */\nexport type TableSource<Name extends string> = Pick<\n TableDefinition<Name>,\n 'logicalName' | 'primary' | 'localSecondaryIndexes' | 'globalSecondaryIndexes'\n>;\n\n/** What one tab tells the device's other tabs: look again. `quiet` are\n * accounts it signed out itself, so they are not reported lost there. */\nexport type TabMessage = { readonly quiet: ReadonlyArray<string> };\n\n/** Where a Host keeps things: a table adapter and a Sync adapter for the\n * same place, such as IndexedDB in a browser or SQLite on a phone. */\nexport interface Storage {\n /** One table, kept in one of this device's databases, by name. */\n readonly table: <Name extends string>(\n table: TableSource<Name>,\n database: string,\n ) => Layer.Layer<StdTableService<Name>>;\n /** What hears every write to one of this device's databases, by name:\n * everyone writing to it here, such as every tab on one IndexedDB\n * database, so a handler's change reaches every subscription. */\n readonly broadcaster: (database: string) => Layer.Layer<Broadcaster>;\n /** The Sync adapter here, where what a Std Sync keeps outlives the app so\n * it opens offline, and every Std Sync kept on this device, by name. */\n readonly sync: SyncStore & {\n readonly list: () => Promise<ReadonlyArray<{ readonly name: string }>>;\n readonly remove: (name: string) => Promise<void>;\n };\n}\n\n/**\n * One Broadcaster per database for as long as the app runs, made by `make`\n * the first time a database is asked for and then given as it is, so every\n * runtime that writes to the database shares it.\n */\nexport const keptBroadcasters = (\n make: (database: string) => Layer.Layer<Broadcaster>,\n): Storage['broadcaster'] => {\n const kept = new Map<string, Layer.Layer<Broadcaster>>();\n return (database) => {\n let layer = kept.get(database);\n if (layer === undefined) {\n layer = Layer.succeedContext(\n Effect.runSync(\n Layer.buildWithScope(make(database), Scope.makeUnsafe()),\n ),\n );\n kept.set(database, layer);\n }\n return layer;\n };\n};\n\n/**\n * Everything an app needs of where it runs: its Storage, its cloud address\n * and Sign-in, its lifecycle, and its other tabs if it has any. The browser\n * gives one (`webHost`) and tests give one in memory. An app never meets it.\n */\nexport interface Host {\n readonly storage: Storage;\n /** The cloud Backend: where its APIs answer, and, for an app with auth,\n * how a user signs in to it and the sign-in service's own page for\n * managing accounts. */\n readonly cloud: {\n /** What an API's path is resolved against. */\n readonly url: string;\n readonly signIn?: Layer.Layer<SignIn>;\n readonly manageAccounts?: () => Promise<void>;\n };\n /** When the app is online and in view. */\n readonly lifecycle: {\n readonly online: () => boolean;\n /** Calls `changed` whenever the network comes or goes. */\n readonly onOnlineChange: (changed: () => void) => () => void;\n /** Calls `shown` whenever the app comes back into view. */\n readonly onForeground: (shown: () => void) => () => void;\n /** The Backend the launch asked for, if any, as `?backend=device` does\n * on the web. Asked once, at start. */\n readonly launchBackend: () => Backend | null;\n };\n /** The device's other tabs, where there can be more than one. */\n readonly tabs?: {\n readonly announce: (message: TabMessage) => void;\n readonly listen: (heard: (message: TabMessage) => void) => () => void;\n };\n}\n\n/**\n * A Host kept in memory, with no network events and no other tabs: for\n * tests, and for running an app where nothing outlives the process. Its\n * cloud Sign-in signs nobody in unless `signIn` is given.\n */\nexport const memoryHost = (\n options: {\n readonly online?: () => boolean;\n readonly signIn?: Layer.Layer<SignIn>;\n readonly url?: string;\n readonly launchBackend?: Backend | null;\n } = {},\n): Host => {\n // One table per database and name, as a real device keeps it.\n const tables = new Map<string, Layer.Layer<never>>();\n const table = <Name extends string>(\n source: TableSource<Name>,\n database: string,\n ): Layer.Layer<StdTableService<Name>> => {\n const key = `${database}/${source.logicalName}`;\n let kept = tables.get(key);\n if (kept === undefined) {\n kept = Memory.make(source as TableDefinition<Name>).layer as never;\n tables.set(key, kept);\n }\n return kept as Layer.Layer<StdTableService<Name>>;\n };\n return {\n storage: {\n table,\n broadcaster: keptBroadcasters(() => defaultBroadcaster),\n // Nothing outlives the process, so there is nothing to list.\n sync: { ...Sync.memory(), list: async () => [], remove: async () => {} },\n },\n cloud: {\n url: options.url ?? 'http://localhost',\n signIn: options.signIn ?? signIn.named({ choose: Effect.succeed(null) }),\n manageAccounts: async () => {},\n },\n lifecycle: {\n online: options.online ?? (() => true),\n onOnlineChange: () => () => {},\n onForeground: () => () => {},\n launchBackend: () => options.launchBackend ?? null,\n },\n };\n};\n"],"mappings":";;;;;;;;AAYA,MAAa,UAAU,OAAO,SAAS,CAAC,SAAS,QAAQ,CAAC;AAI1D,MAAM,SAA4C;CAChD,QAAQ;CACR,OAAO;AACT;;;AAIA,MAAa,gBACX,SAEA,SAAS,WAAW,SAAS,WACzB,OACA,QAAQ,OACN,OACC,OAAO,SAAS;;;;;;AAqCzB,MAAa,oBACX,SAC2B;CAC3B,MAAM,uBAAO,IAAI,IAAsC;CACvD,QAAQ,aAAa;EACnB,IAAI,QAAQ,KAAK,IAAI,QAAQ;EAC7B,IAAI,UAAU,KAAA,GAAW;GACvB,QAAQ,MAAM,eACZ,OAAO,QACL,MAAM,eAAe,KAAK,QAAQ,GAAG,MAAM,WAAW,CAAC,CACzD,CACF;GACA,KAAK,IAAI,UAAU,KAAK;EAC1B;EACA,OAAO;CACT;AACF;;;;;;AAyCA,MAAa,cACX,UAKI,CAAC,MACI;CAET,MAAM,yBAAS,IAAI,IAAgC;CACnD,MAAM,SACJ,QACA,aACuC;EACvC,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO;EAClC,IAAI,OAAO,OAAO,IAAI,GAAG;EACzB,IAAI,SAAS,KAAA,GAAW;GACtB,OAAO,OAAO,KAAK,MAA+B,CAAC,CAAC;GACpD,OAAO,IAAI,KAAK,IAAI;EACtB;EACA,OAAO;CACT;CACA,OAAO;EACL,SAAS;GACP;GACA,aAAa,uBAAuB,kBAAkB;GAEtD,MAAM;IAAE,GAAG,KAAK,OAAO;IAAG,MAAM,YAAY,CAAC;IAAG,QAAQ,YAAY,CAAC;GAAE;EACzE;EACA,OAAO;GACL,KAAK,QAAQ,OAAO;GACpB,QAAQ,QAAQ,UAAU,OAAO,MAAM,EAAE,QAAQ,OAAO,QAAQ,IAAI,EAAE,CAAC;GACvE,gBAAgB,YAAY,CAAC;EAC/B;EACA,WAAW;GACT,QAAQ,QAAQ,iBAAiB;GACjC,4BAA4B,CAAC;GAC7B,0BAA0B,CAAC;GAC3B,qBAAqB,QAAQ,iBAAiB;EAChD;CACF;AACF"}
@@ -0,0 +1,2 @@
1
+ import { Backend, Host, Storage, TabMessage, TableSource, backendNamed, keptBroadcasters, memoryHost } from "./host.js";
2
+ export { Backend, type Host, type Storage, type TabMessage, type TableSource, backendNamed, keptBroadcasters, memoryHost };
@@ -0,0 +1,2 @@
1
+ import { Backend, backendNamed, keptBroadcasters, memoryHost } from "./host.js";
2
+ export { Backend, backendNamed, keptBroadcasters, memoryHost };
@@ -0,0 +1,4 @@
1
+ import { GateNotice, GateView } from "./gate/domain/types.js";
2
+ import "./gate/index.js";
3
+ import { RootOptions, WebAppConfig, WebAuth, WebAuthApp, WebPublicApp, createApp } from "./app.js";
4
+ export { type GateNotice, type GateView, type RootOptions, type WebAppConfig, type WebAuth, type WebAuthApp, type WebPublicApp, createApp };
@@ -0,0 +1,2 @@
1
+ import { createApp } from "./app.js";
2
+ export { createApp };
@@ -0,0 +1,60 @@
1
+ import { ApiClients, Apis } from "../apis/apis.js";
2
+ import "../apis/index.js";
3
+ import { SessionStatus } from "./status.js";
4
+ import { StdSync } from "./open.js";
5
+ import { useOpenedStatus } from "./react.js";
6
+ import { Context, Effect, Schema, Scope, SubscriptionRef } from "effect";
7
+ import { Account } from "@kestack/auth-toolkit/client";
8
+ //#region src/app/session/define.d.ts
9
+ /** What the Web Platform gives a Session to be built from: the app's APIs
10
+ * signed as the Account, the user's Std Sync, the Account, and the Session
11
+ * Status. */
12
+ export interface SessionContext<A extends Apis> {
13
+ /** Whose Session it is. */
14
+ readonly account: Account;
15
+ /** Every API, each call signed with the Account's token. A call still on
16
+ * its way when the Session closes is interrupted. */
17
+ readonly apis: ApiClients<A>;
18
+ /** A Std Sync named for the user, kept where the Backend keeps it: on the
19
+ * device for the cloud Backend, in memory for the device Backend. Make
20
+ * its collections; it is disposed with the Session. */
21
+ readonly sync: StdSync;
22
+ /** Whether the Account has been confirmed since the Session opened. */
23
+ readonly status: SubscriptionRef.SubscriptionRef<SessionStatus>;
24
+ }
25
+ declare const SessionClosed_base: Schema.Class<SessionClosed, Schema.Struct<{
26
+ readonly _tag: Schema.tag<"SessionClosed">;
27
+ }>, import("effect/Cause").YieldableError>;
28
+ /** A Session was closed, by an Account Switch, a sign-out or a change of
29
+ * Backend, while something of it still ran. */
30
+ export declare class SessionClosed extends SessionClosed_base {}
31
+ /** Who is open, for Effect code: `yield* session.Service`. */
32
+ export interface SessionOf<S> {
33
+ readonly '@kestack/web-platform/Session': S;
34
+ }
35
+ /** Runs an Effect in the open Session, with its Service provided. Rejects
36
+ * with its failure, or with SessionClosed if the Session closed first. */
37
+ export type Run<S> = <X, E>(effect: Effect.Effect<X, E, SessionOf<S>>) => Promise<X>;
38
+ /**
39
+ * An app's Session, written once over its APIs: what one Account keeps
40
+ * while it is active. Give it to `createApp` as `auth.session`; everything
41
+ * else comes out of it. `Service` reaches it from Effect code, and `use`,
42
+ * `useRun`, `useStatus` and `useApi` from any screen under `SignedIn`.
43
+ */
44
+ export declare const defineSession: <A extends Apis, S>(apis: A, open: (context: SessionContext<A>) => Effect.Effect<S, never, Scope.Scope>) => {
45
+ apis: A;
46
+ open: (context: SessionContext<A>) => Effect.Effect<S, never, Scope.Scope>;
47
+ Service: Context.Service<SessionOf<S>, S>;
48
+ /** The open Session's value. */
49
+ use: () => S;
50
+ /** Runs an Effect in the open Session. */
51
+ useRun: () => Run<S>;
52
+ /** Whether the open Account has been confirmed, live. */
53
+ useStatus: typeof useOpenedStatus;
54
+ /** One API's client, signed as the open Account. */
55
+ useApi: <K extends keyof A & string>(name: K) => ApiClients<A>[K];
56
+ };
57
+ /** A Session, as `defineSession` makes it. */
58
+ export type SessionDef<A extends Apis, S> = ReturnType<typeof defineSession<A, S>>;
59
+ //#endregion
60
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","names":[],"sources":["../../../src/app/session/define.ts"],"mappings":";;;;;;;;;;;iBAWiB,eAAe,UAAU;;WAE/B,SAAS;;;WAGT,MAAM,WAAW;;;;WAIjB,MAAM;;WAEN,QAAQ,gBAAgB,gBAAgB;;;;;;;qBAKtC,sBAAsB;;iBAKlB,UAAU;WAChB,iCAAiC;;;;YAKhC,IAAI,MAAM,GAAG,GACvB,QAAQ,OAAO,OAAO,GAAG,GAAG,UAAU,QACnC,QAAQ;;;;;;;qBAQA,gBAAiB,UAAU,MAAM,GAAC,MACvC,GAAC,OACA,SAAS,eAAe,OAAO,OAAO,OAAO,UAAU,MAAM;;EAApD,OAAA,SAAA,eAAe,OAAO,OAAO,OAAO,UAAU,MAAM;;;EAUzD,WAAA;;EAEG,cAAA,IAAI;;;;EAIP,SAAA,gBAAgB,YAAU,MAAQ,MAAI,WAAW,GAAG;;;YAMrD,WAAW,UAAU,MAAM,KAAK,kBACnC,cAAc,GAAG"}
@@ -0,0 +1,31 @@
1
+ import { useOpened, useOpenedStatus } from "./react.js";
2
+ import { Context, Schema } from "effect";
3
+ //#region src/app/session/define.ts
4
+ /** A Session was closed, by an Account Switch, a sign-out or a change of
5
+ * Backend, while something of it still ran. */
6
+ var SessionClosed = class extends Schema.Error("@kestack/web-platform/SessionClosed")({ _tag: Schema.tag("SessionClosed") }) {};
7
+ /**
8
+ * An app's Session, written once over its APIs: what one Account keeps
9
+ * while it is active. Give it to `createApp` as `auth.session`; everything
10
+ * else comes out of it. `Service` reaches it from Effect code, and `use`,
11
+ * `useRun`, `useStatus` and `useApi` from any screen under `SignedIn`.
12
+ */
13
+ const defineSession = (apis, open) => {
14
+ return {
15
+ apis,
16
+ open,
17
+ Service: Context.Service("@kestack/web-platform/Session"),
18
+ /** The open Session's value. */
19
+ use: () => useOpened().value,
20
+ /** Runs an Effect in the open Session. */
21
+ useRun: () => useOpened().run,
22
+ /** Whether the open Account has been confirmed, live. */
23
+ useStatus: useOpenedStatus,
24
+ /** One API's client, signed as the open Account. */
25
+ useApi: (name) => useOpened().apis[name]
26
+ };
27
+ };
28
+ //#endregion
29
+ export { SessionClosed, defineSession };
30
+
31
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../../src/app/session/define.ts"],"sourcesContent":["import { Context, type Effect, Schema, type Scope } from 'effect';\nimport type { SubscriptionRef } from 'effect';\nimport type { Account } from '@kestack/auth-toolkit/client';\nimport type { ApiClients, Apis } from '../apis/index.ts';\nimport type { StdSync } from './open.ts';\nimport { useOpened, useOpenedStatus } from './react.tsx';\nimport type { SessionStatus } from './status.ts';\n\n/** What the Web Platform gives a Session to be built from: the app's APIs\n * signed as the Account, the user's Std Sync, the Account, and the Session\n * Status. */\nexport interface SessionContext<A extends Apis> {\n /** Whose Session it is. */\n readonly account: Account;\n /** Every API, each call signed with the Account's token. A call still on\n * its way when the Session closes is interrupted. */\n readonly apis: ApiClients<A>;\n /** A Std Sync named for the user, kept where the Backend keeps it: on the\n * device for the cloud Backend, in memory for the device Backend. Make\n * its collections; it is disposed with the Session. */\n readonly sync: StdSync;\n /** Whether the Account has been confirmed since the Session opened. */\n readonly status: SubscriptionRef.SubscriptionRef<SessionStatus>;\n}\n\n/** A Session was closed, by an Account Switch, a sign-out or a change of\n * Backend, while something of it still ran. */\nexport class SessionClosed extends Schema.Error<SessionClosed>(\n '@kestack/web-platform/SessionClosed',\n)({ _tag: Schema.tag('SessionClosed') }) {}\n\n/** Who is open, for Effect code: `yield* session.Service`. */\nexport interface SessionOf<S> {\n readonly '@kestack/web-platform/Session': S;\n}\n\n/** Runs an Effect in the open Session, with its Service provided. Rejects\n * with its failure, or with SessionClosed if the Session closed first. */\nexport type Run<S> = <X, E>(\n effect: Effect.Effect<X, E, SessionOf<S>>,\n) => Promise<X>;\n\n/**\n * An app's Session, written once over its APIs: what one Account keeps\n * while it is active. Give it to `createApp` as `auth.session`; everything\n * else comes out of it. `Service` reaches it from Effect code, and `use`,\n * `useRun`, `useStatus` and `useApi` from any screen under `SignedIn`.\n */\nexport const defineSession = <A extends Apis, S>(\n apis: A,\n open: (context: SessionContext<A>) => Effect.Effect<S, never, Scope.Scope>,\n) => {\n const Service = Context.Service<SessionOf<S>, S>(\n '@kestack/web-platform/Session',\n );\n return {\n apis,\n open,\n Service,\n /** The open Session's value. */\n use: (): S => useOpened().value as S,\n /** Runs an Effect in the open Session. */\n useRun: (): Run<S> => useOpened().run as Run<S>,\n /** Whether the open Account has been confirmed, live. */\n useStatus: useOpenedStatus,\n /** One API's client, signed as the open Account. */\n useApi: <K extends keyof A & string>(name: K): ApiClients<A>[K] =>\n useOpened().apis[name] as ApiClients<A>[K],\n };\n};\n\n/** A Session, as `defineSession` makes it. */\nexport type SessionDef<A extends Apis, S> = ReturnType<\n typeof defineSession<A, S>\n>;\n"],"mappings":";;;;;AA2BA,IAAa,gBAAb,cAAmC,OAAO,MACxC,qCACF,CAAC,CAAC,EAAE,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;;;;;;;AAmB1C,MAAa,iBACX,MACA,SACG;CAIH,OAAO;EACL;EACA;EACA,SANc,QAAQ,QACtB,+BAKM;;EAEN,WAAc,UAAU,CAAC,CAAC;;EAE1B,cAAsB,UAAU,CAAC,CAAC;;EAElC,WAAW;;EAEX,SAAqC,SACnC,UAAU,CAAC,CAAC,KAAK;CACrB;AACF"}
@@ -0,0 +1,6 @@
1
+ import { SessionStatus, StatusCell, makeStatus } from "./status.js";
2
+ import { Opened, StdSync, openSession } from "./open.js";
3
+ import { OpenSessionProvider, useOpened, useOpenedOrNone, useOpenedStatus } from "./react.js";
4
+ import { Run, SessionClosed, SessionContext, SessionDef, SessionOf, defineSession } from "./define.js";
5
+ import { keepSyncs, syncName } from "./keeper.js";
6
+ export { OpenSessionProvider, type Opened, type Run, SessionClosed, type SessionContext, type SessionDef, type SessionOf, type SessionStatus, type StatusCell, type StdSync, defineSession, keepSyncs, makeStatus, openSession, syncName, useOpened, useOpenedOrNone, useOpenedStatus };
@@ -0,0 +1,6 @@
1
+ import { OpenSessionProvider, useOpened, useOpenedOrNone, useOpenedStatus } from "./react.js";
2
+ import { SessionClosed, defineSession } from "./define.js";
3
+ import { keepSyncs, syncName } from "./keeper.js";
4
+ import { openSession } from "./open.js";
5
+ import { makeStatus } from "./status.js";
6
+ export { OpenSessionProvider, SessionClosed, defineSession, keepSyncs, makeStatus, openSession, syncName, useOpened, useOpenedOrNone, useOpenedStatus };
@@ -0,0 +1,17 @@
1
+ //#region src/app/session/keeper.d.ts
2
+ /** The name of one user's Std Sync on this device, which `createApp` gives
3
+ * their Session, so what it keeps is deleted once they sign out. */
4
+ export declare const syncName: (userId: string) => string;
5
+ /**
6
+ * Keeps the Std Sync of every user still signed in, deletes every other
7
+ * user's, and says which it deleted. Only names `syncName` makes are
8
+ * touched; whatever else the device keeps under Std Sync is left alone.
9
+ */
10
+ export declare const keepSyncs: (userIds: ReadonlyArray<string>, sync: {
11
+ readonly list: () => Promise<ReadonlyArray<{
12
+ readonly name: string;
13
+ }>>;
14
+ readonly remove: (name: string) => Promise<void>;
15
+ }) => Promise<string[]>;
16
+ //#endregion
17
+ //# sourceMappingURL=keeper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keeper.d.ts","names":[],"sources":["../../../src/app/session/keeper.ts"],"mappings":";;;qBAaa,WAAQ;;;;;;qBAOR,YAAS,SACX,uBAAqB;WAEnB,YAAY,QAAQ;aAAyB;;WAC7C,SAAS,iBAAiB;MACpC"}
@@ -0,0 +1,21 @@
1
+ //#region src/app/session/keeper.ts
2
+ const PREFIX = "user-";
3
+ const normalize = (name) => name.normalize("NFD").replace(/\p{M}+/gu, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
4
+ /** The name of one user's Std Sync on this device, which `createApp` gives
5
+ * their Session, so what it keeps is deleted once they sign out. */
6
+ const syncName = (userId) => normalize(`${PREFIX}${userId}`);
7
+ /**
8
+ * Keeps the Std Sync of every user still signed in, deletes every other
9
+ * user's, and says which it deleted. Only names `syncName` makes are
10
+ * touched; whatever else the device keeps under Std Sync is left alone.
11
+ */
12
+ const keepSyncs = async (userIds, sync) => {
13
+ const kept = new Set(userIds.map(syncName));
14
+ const gone = (await sync.list()).map(({ name }) => name).filter((name) => name.startsWith(PREFIX) && !kept.has(name));
15
+ await Promise.all(gone.map((name) => sync.remove(name)));
16
+ return gone;
17
+ };
18
+ //#endregion
19
+ export { keepSyncs, syncName };
20
+
21
+ //# sourceMappingURL=keeper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keeper.js","names":[],"sources":["../../../src/app/session/keeper.ts"],"sourcesContent":["const PREFIX = 'user-';\n\n// Std Sync keeps a name lowercase, with a dash for anything else.\nconst normalize = (name: string) =>\n name\n .normalize('NFD')\n .replace(/\\p{M}+/gu, '')\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n\n/** The name of one user's Std Sync on this device, which `createApp` gives\n * their Session, so what it keeps is deleted once they sign out. */\nexport const syncName = (userId: string) => normalize(`${PREFIX}${userId}`);\n\n/**\n * Keeps the Std Sync of every user still signed in, deletes every other\n * user's, and says which it deleted. Only names `syncName` makes are\n * touched; whatever else the device keeps under Std Sync is left alone.\n */\nexport const keepSyncs = async (\n userIds: ReadonlyArray<string>,\n sync: {\n readonly list: () => Promise<ReadonlyArray<{ readonly name: string }>>;\n readonly remove: (name: string) => Promise<void>;\n },\n) => {\n const kept = new Set(userIds.map(syncName));\n const gone = (await sync.list())\n .map(({ name }) => name)\n .filter((name) => name.startsWith(PREFIX) && !kept.has(name));\n await Promise.all(gone.map((name) => sync.remove(name)));\n return gone;\n};\n"],"mappings":";AAAA,MAAM,SAAS;AAGf,MAAM,aAAa,SACjB,KACG,UAAU,KAAK,CAAC,CAChB,QAAQ,YAAY,EAAE,CAAC,CACvB,YAAY,CAAC,CACb,QAAQ,eAAe,GAAG,CAAC,CAC3B,QAAQ,YAAY,EAAE;;;AAI3B,MAAa,YAAY,WAAmB,UAAU,GAAG,SAAS,QAAQ;;;;;;AAO1E,MAAa,YAAY,OACvB,SACA,SAIG;CACH,MAAM,OAAO,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC;CAC1C,MAAM,QAAQ,MAAM,KAAK,KAAK,EAAA,CAC3B,KAAK,EAAE,WAAW,IAAI,CAAC,CACvB,QAAQ,SAAS,KAAK,WAAW,MAAM,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;CAC9D,MAAM,QAAQ,IAAI,KAAK,KAAK,SAAS,KAAK,OAAO,IAAI,CAAC,CAAC;CACvD,OAAO;AACT"}
@@ -0,0 +1,44 @@
1
+ import { Apis } from "../apis/apis.js";
2
+ import "../apis/index.js";
3
+ import { StatusCell } from "./status.js";
4
+ import { SessionContext } from "./define.js";
5
+ import { Context, Effect, Layer, Scope } from "effect";
6
+ import { Account } from "@kestack/auth-toolkit/client";
7
+ import { EffectRuntime, SyncStore } from "@kestack/std-toolkit/sync";
8
+ import { RpcClient } from "effect/rpc";
9
+ //#region src/app/session/open.d.ts
10
+ declare const makeSync: (name: string, runtime: EffectRuntime<never>, store: SyncStore) => {
11
+ name: string;
12
+ collection: <S extends import("@kestack/std-toolkit/eschema").AnyEntityESchema>(schema: S, collectionConfig?: import("@kestack/std-toolkit/sync").CollectionConfig<S, never> | undefined) => import("@kestack/std-toolkit/sync").SyncedCollection<S["Type"]>;
13
+ dispose: () => Promise<void>;
14
+ };
15
+ /** One Account's Std Sync, named for its user. */
16
+ export type StdSync = ReturnType<typeof makeSync>;
17
+ /** An open Session as the Web Platform holds it: the app's value, the APIs
18
+ * signed as the Account, how to run an Effect in it, and its status. */
19
+ export interface Opened<S> {
20
+ readonly value: S;
21
+ readonly apis: Readonly<Record<string, unknown>>;
22
+ readonly run: (effect: Effect.Effect<unknown, unknown, never>) => Promise<unknown>;
23
+ readonly status: StatusCell;
24
+ }
25
+ /**
26
+ * Opens one Account's Session: a runtime holding every API's client, each
27
+ * over its own protocol and signed with `token`, the user's Std Sync on
28
+ * `store`, and then the app's own Session on them. Ends, in order: the
29
+ * app's Session, the Std Sync once its writes on their way have landed,
30
+ * every call still in flight (interrupted), the runtime.
31
+ */
32
+ export declare const openSession: <A extends Apis, S>(options: {
33
+ readonly apis: A;
34
+ readonly protocols: { readonly [K in keyof A]: Layer.Layer<RpcClient.Protocol>; };
35
+ readonly store: SyncStore;
36
+ readonly account: Account;
37
+ readonly token: Effect.Effect<string>;
38
+ readonly status: StatusCell;
39
+ readonly open: (context: SessionContext<A>) => Effect.Effect<S, never, Scope.Scope>;
40
+ /** The Session's Service, provided to everything `run` runs. */
41
+ readonly service: Context.Key<unknown, S>;
42
+ }) => Effect.Effect<Opened<S>, never, Scope.Scope>;
43
+ //#endregion
44
+ //# sourceMappingURL=open.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.d.ts","names":[],"sources":["../../../src/app/session/open.ts"],"mappings":";;;;;;;;;cA2BM,WAAQ,cACA,SACH,sBAAoB,OACtB;;;;;;YAIG,UAAU,kBAAkB;;;iBAIvB,OAAO;WACb,OAAO;WACP,MAAM,SAAS;WACf,MACP,QAAQ,OAAO,oCACZ;WACI,QAAQ;;;;;;;;;qBAoCN,cAAe,UAAU,MAAM,GAAC;WAClC,MAAM;WACN,uBACG,WAAW,IAAI,MAAM,MAAM,UAAU;WAExC,OAAO;WACP,SAAS;WACT,OAAO,OAAO;WACd,QAAQ;WACR,OACP,SAAS,eAAe,OACrB,OAAO,OAAO,UAAU,MAAM;;WAE1B,SAAS,QAAQ,aAAa;MACrC,OAAO,OAAO,OAAO,WAAW,MAAM"}
@@ -0,0 +1,70 @@
1
+ import { SessionClosed } from "./define.js";
2
+ import { syncName } from "./keeper.js";
3
+ import { Cause, Context, Deferred, Effect, Exit, Layer, ManagedRuntime, Option, Stream } from "effect";
4
+ import { createStdSync } from "@kestack/std-toolkit/sync";
5
+ import { Rpc } from "@kestack/rpc-toolkit/rpc";
6
+ import { RpcClient } from "effect/rpc";
7
+ import { Authz } from "@kestack/auth-toolkit/guard";
8
+ //#region src/app/session/open.ts
9
+ const makeSync = (name, runtime, store) => createStdSync({
10
+ name,
11
+ runtime,
12
+ store
13
+ });
14
+ const droppedOn = (connection) => Option.match(connection, {
15
+ onNone: () => Effect.never,
16
+ onSome: ({ connectionStatus }) => connectionStatus.pipe(Stream.dropWhile((status) => status !== "connected"), Stream.filter((status) => status !== "connected"), Stream.runHead, Effect.asVoid)
17
+ });
18
+ /**
19
+ * Opens one Account's Session: a runtime holding every API's client, each
20
+ * over its own protocol and signed with `token`, the user's Std Sync on
21
+ * `store`, and then the app's own Session on them. Ends, in order: the
22
+ * app's Session, the Std Sync once its writes on their way have landed,
23
+ * every call still in flight (interrupted), the runtime.
24
+ */
25
+ const openSession = (options) => Effect.gen(function* () {
26
+ const { apis, account } = options;
27
+ const names = Object.keys(apis);
28
+ const keys = new Map(names.map((name) => [name, Context.Service(`@kestack/web-platform/ApiClient/${name}`)]));
29
+ const bearer = Authz.bearer(options.token);
30
+ const layers = names.map((name) => Layer.effect(keys.get(name), Effect.all({
31
+ client: RpcClient.make(apis[name].group),
32
+ connection: Effect.serviceOption(Rpc.websocket.connection)
33
+ })).pipe(Layer.provide([options.protocols[name], bearer])));
34
+ const runtime = ManagedRuntime.make(layers.length === 0 ? Layer.empty : Layer.mergeAll(...layers));
35
+ yield* Effect.addFinalizer(() => Effect.promise(() => runtime.dispose()));
36
+ const raw = yield* Effect.promise(() => runtime.runPromise(Effect.forEach(names, (name) => Effect.gen(function* () {
37
+ return yield* keys.get(name);
38
+ }))));
39
+ const closed = yield* Deferred.make();
40
+ yield* Effect.addFinalizer(() => Deferred.succeed(closed, void 0));
41
+ const cut = (call) => Effect.raceFirst(call, Effect.andThen(Deferred.await(closed), Effect.interrupt));
42
+ const signed = ({ client, connection }) => Object.fromEntries(Object.entries(client).map(([tag, call]) => [tag, typeof call !== "function" ? call : (...args) => {
43
+ const made = call(...args);
44
+ return Effect.isEffect(made) ? cut(made) : Stream.isStream(made) ? Stream.interruptWhen(made, Effect.raceFirst(Deferred.await(closed), droppedOn(connection))) : made;
45
+ }]));
46
+ const clients = Object.fromEntries(names.map((name, index) => [name, signed(raw[index])]));
47
+ const sync = makeSync(syncName(account.user.id), runtime, options.store);
48
+ yield* Effect.addFinalizer(() => Effect.tryPromise(() => sync.dispose()).pipe(Effect.catch((error) => Effect.logWarning("[sync]", error))));
49
+ const value = yield* options.open({
50
+ account,
51
+ apis: clients,
52
+ sync,
53
+ status: options.status.ref
54
+ });
55
+ const run = (effect) => Deferred.isDoneUnsafe(closed) ? Promise.reject(new SessionClosed()) : runtime.runPromiseExit(cut(Effect.provideService(effect, options.service, value))).then((exit) => {
56
+ if (Exit.isSuccess(exit)) return exit.value;
57
+ if (Cause.hasInterruptsOnly(exit.cause)) throw new SessionClosed();
58
+ throw Cause.squash(exit.cause);
59
+ });
60
+ return {
61
+ value,
62
+ apis: clients,
63
+ run,
64
+ status: options.status
65
+ };
66
+ });
67
+ //#endregion
68
+ export { openSession };
69
+
70
+ //# sourceMappingURL=open.js.map