@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 @@
1
+ {"version":3,"file":"key-bindings.js","names":[],"sources":["../../../src/recipes/key-bindings/key-bindings.tsx"],"sourcesContent":["import { Kbd, KbdGroup } from '#components/ui/kbd';\nimport { cn } from '#lib/utils';\nimport type { Binding, Shortcut } from '@kestack/use-keys';\n\n/** Whether this is an Apple device, where `mod` is Cmd. */\nconst mac = () =>\n typeof navigator !== 'undefined' &&\n /Mac|iPhone|iPad|iPod/.test(navigator.platform);\n\n/**\n * One recorded key, as a Shortcut: Cmd on a Mac or Ctrl elsewhere becomes\n * `mod`, so the key works on both.\n */\nexport const recorded = (name: string, held: ReadonlySet<string>): Shortcut => {\n const apple = mac();\n return {\n type: 'shortcut',\n key: name as Shortcut['key'],\n mod: held.has(apple ? 'Meta' : 'Control'),\n ctrl: apple && held.has('Control'),\n alt: held.has('Alt'),\n // A symbol is the character typed, so Shift is part of it.\n shift: held.has('Shift') && /^[a-z]$|^[A-Z]/.test(name),\n meta: !apple && held.has('Meta'),\n };\n};\n\nconst KEY_NAMES: Readonly<Record<string, string>> = {\n ArrowUp: '↑',\n ArrowDown: '↓',\n ArrowLeft: '←',\n ArrowRight: '→',\n Enter: '↵',\n Escape: 'Esc',\n Space: 'Space',\n};\n\n// A Shortcut as its keys read on this platform: ⌘K on a Mac, Ctrl K elsewhere.\nconst labels = (step: Shortcut) => {\n const apple = mac();\n return [\n step.mod !== false && (apple ? '⌘' : 'Ctrl'),\n step.ctrl !== false && (apple ? '⌃' : 'Ctrl'),\n step.alt !== false && (apple ? '⌥' : 'Alt'),\n step.shift !== false && '⇧',\n step.meta !== false && (apple ? '⌘' : 'Win'),\n KEY_NAMES[step.key] ?? step.key.toUpperCase(),\n ].filter((label) => label !== false);\n};\n\n/**\n * A Binding's keys, step by step: `G` `G`, or `⌘` `K`. A hint shows only\n * where there is a keyboard and Keys are on; `always` shows it anyway, as\n * Settings lists every key.\n */\nexport function BindingKeys(props: {\n readonly binding: Binding;\n readonly always?: boolean;\n readonly className?: string;\n}) {\n const steps =\n props.binding.type === 'shortcut' ? [props.binding] : props.binding.steps;\n return (\n <KbdGroup\n className={cn(\n 'gap-0.5',\n props.always !== true && 'hidden keys:inline-flex',\n props.className,\n )}\n >\n {steps.map((step, i) => (\n <KbdGroup key={i} className=\"gap-0.5\">\n {labels(step).map((label) => (\n <Kbd key={label}>{label}</Kbd>\n ))}\n </KbdGroup>\n ))}\n </KbdGroup>\n );\n}\n"],"mappings":";;;;;AAKA,MAAM,YACJ,OAAO,cAAc,eACrB,uBAAuB,KAAK,UAAU,QAAQ;;;;;AAMhD,MAAa,YAAY,MAAc,SAAwC;CAC7E,MAAM,QAAQ,IAAI;CAClB,OAAO;EACL,MAAM;EACN,KAAK;EACL,KAAK,KAAK,IAAI,QAAQ,SAAS,SAAS;EACxC,MAAM,SAAS,KAAK,IAAI,SAAS;EACjC,KAAK,KAAK,IAAI,KAAK;EAEnB,OAAO,KAAK,IAAI,OAAO,KAAK,iBAAiB,KAAK,IAAI;EACtD,MAAM,CAAC,SAAS,KAAK,IAAI,MAAM;CACjC;AACF;AAEA,MAAM,YAA8C;CAClD,SAAS;CACT,WAAW;CACX,WAAW;CACX,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AAGA,MAAM,UAAU,SAAmB;CACjC,MAAM,QAAQ,IAAI;CAClB,OAAO;EACL,KAAK,QAAQ,UAAU,QAAQ,MAAM;EACrC,KAAK,SAAS,UAAU,QAAQ,MAAM;EACtC,KAAK,QAAQ,UAAU,QAAQ,MAAM;EACrC,KAAK,UAAU,SAAS;EACxB,KAAK,SAAS,UAAU,QAAQ,MAAM;EACtC,UAAU,KAAK,QAAQ,KAAK,IAAI,YAAY;CAC9C,CAAC,CAAC,QAAQ,UAAU,UAAU,KAAK;AACrC;;;;;;AAOA,SAAgB,YAAY,OAIzB;CACD,MAAM,QACJ,MAAM,QAAQ,SAAS,aAAa,CAAC,MAAM,OAAO,IAAI,MAAM,QAAQ;CACtE,OACE,oBAAC,UAAD;EACE,WAAW,GACT,WACA,MAAM,WAAW,QAAQ,2BACzB,MAAM,SACR;EAEC,UAAA,MAAM,KAAK,MAAM,MAChB,oBAAC,UAAD;GAAkB,WAAU;GACzB,UAAA,OAAO,IAAI,CAAC,CAAC,KAAK,UACjB,oBAAC,KAAD,EAAA,UAAkB,MAAW,GAAnB,KAAmB,CAC9B;EACO,GAJK,CAIL,CACX;CACO,CAAA;AAEd"}
@@ -0,0 +1,2 @@
1
+ import { LocalSignIn, LocalSignInChoice, LocalSignInProps } from "./local-sign-in.js";
2
+ export { LocalSignIn, type LocalSignInChoice, type LocalSignInProps };
@@ -0,0 +1,2 @@
1
+ import { LocalSignIn } from "./local-sign-in.js";
2
+ export { LocalSignIn };
@@ -0,0 +1,18 @@
1
+ //#region src/recipes/local-sign-in/local-sign-in.d.ts
2
+ /** Who to sign in as, when sign-in is local. */
3
+ export interface LocalSignInChoice {
4
+ email: string;
5
+ name?: string;
6
+ }
7
+ export interface LocalSignInProps {
8
+ open: boolean;
9
+ presets: ReadonlyArray<LocalSignInChoice>;
10
+ onChoose: (choice: LocalSignInChoice) => void;
11
+ /** Called when the User closes the dialog without choosing. */
12
+ onCancel: () => void;
13
+ }
14
+ /** Stands in for a real sign-in when an app runs on its own: the
15
+ * User picks a preset or types who they want to be. */
16
+ export declare function LocalSignIn({ open, presets, onChoose, onCancel }: LocalSignInProps): import("react").JSX.Element;
17
+ //#endregion
18
+ //# sourceMappingURL=local-sign-in.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sign-in.d.ts","names":[],"sources":["../../../src/recipes/local-sign-in/local-sign-in.tsx"],"mappings":";;iBAkBiB;EACf;EACA;;iBAGe;EACf;EACA,SAAS,cAAc;EACvB,WAAW,QAAQ;;EAEnB;;;;wBA8Cc,cACd,MACA,SACA,UACA,YACC,mCAAgB,IAAA"}
@@ -0,0 +1,109 @@
1
+ import { Button } from "../../components/ui/button.js";
2
+ import { Avatar, AvatarFallback } from "../../components/ui/avatar.js";
3
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "../../components/ui/dialog.js";
4
+ import { Input } from "../../components/ui/input.js";
5
+ import { Label } from "../../components/ui/label.js";
6
+ import { cn } from "../../components/lib/utils.js";
7
+ import { MaskedEmail } from "../parts/email-privacy/email-privacy.js";
8
+ import { useId, useState } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/recipes/local-sign-in/local-sign-in.tsx
11
+ const initials = (choice) => (choice.name || choice.email).split(/[\s@]+/).filter(Boolean).slice(0, 2).map((part) => part.charAt(0).toUpperCase()).join("");
12
+ function PresetButton({ choice, onChoose }) {
13
+ return /* @__PURE__ */ jsxs(Button, {
14
+ variant: "ghost",
15
+ className: "h-auto w-full justify-start gap-3 px-2 py-2 text-left font-normal",
16
+ onClick: () => onChoose(choice),
17
+ children: [/* @__PURE__ */ jsx(Avatar, {
18
+ className: "size-7 text-[0.6rem]",
19
+ children: /* @__PURE__ */ jsx(AvatarFallback, { children: initials(choice) })
20
+ }), /* @__PURE__ */ jsxs("span", {
21
+ className: "flex min-w-0 flex-1 flex-col",
22
+ children: [choice.name ? /* @__PURE__ */ jsx("span", {
23
+ className: "truncate text-sm",
24
+ children: choice.name
25
+ }) : null, /* @__PURE__ */ jsx("span", {
26
+ className: cn("truncate", choice.name ? "text-xs text-muted-foreground" : "text-sm"),
27
+ children: /* @__PURE__ */ jsx(MaskedEmail, { email: choice.email })
28
+ })]
29
+ })]
30
+ });
31
+ }
32
+ /** Stands in for a real sign-in when an app runs on its own: the
33
+ * User picks a preset or types who they want to be. */
34
+ function LocalSignIn({ open, presets, onChoose, onCancel }) {
35
+ const id = useId();
36
+ const [email, setEmail] = useState("");
37
+ const [name, setName] = useState("");
38
+ const submit = (event) => {
39
+ event.preventDefault();
40
+ const trimmed = email.trim();
41
+ if (!trimmed) return;
42
+ onChoose(name.trim() ? {
43
+ email: trimmed,
44
+ name: name.trim()
45
+ } : { email: trimmed });
46
+ };
47
+ return /* @__PURE__ */ jsx(Dialog, {
48
+ open,
49
+ onOpenChange: (next) => !next && onCancel(),
50
+ children: /* @__PURE__ */ jsxs(DialogContent, { children: [
51
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [/* @__PURE__ */ jsx(DialogTitle, { children: "Who should sign in?" }), /* @__PURE__ */ jsx(DialogDescription, { children: "Nothing here leaves this device. Pick anyone to continue as." })] }),
52
+ presets.length > 0 ? /* @__PURE__ */ jsx("div", {
53
+ className: "-mx-2 flex flex-col gap-1",
54
+ children: presets.map((choice) => /* @__PURE__ */ jsx(PresetButton, {
55
+ choice,
56
+ onChoose
57
+ }, choice.email))
58
+ }) : null,
59
+ /* @__PURE__ */ jsxs("form", {
60
+ onSubmit: submit,
61
+ className: "flex flex-col gap-4",
62
+ children: [
63
+ /* @__PURE__ */ jsxs("div", {
64
+ className: "flex flex-col gap-2",
65
+ children: [/* @__PURE__ */ jsx(Label, {
66
+ htmlFor: `${id}-email`,
67
+ children: "Email"
68
+ }), /* @__PURE__ */ jsx(Input, {
69
+ id: `${id}-email`,
70
+ type: "email",
71
+ required: true,
72
+ value: email,
73
+ onChange: (event) => setEmail(event.target.value),
74
+ autoComplete: "off",
75
+ spellCheck: false,
76
+ "data-1p-ignore": true,
77
+ placeholder: "someone@example.com"
78
+ })]
79
+ }),
80
+ /* @__PURE__ */ jsxs("div", {
81
+ className: "flex flex-col gap-2",
82
+ children: [/* @__PURE__ */ jsxs(Label, {
83
+ htmlFor: `${id}-name`,
84
+ children: ["Name ", /* @__PURE__ */ jsx("span", {
85
+ className: "text-muted-foreground",
86
+ children: "(optional)"
87
+ })]
88
+ }), /* @__PURE__ */ jsx(Input, {
89
+ id: `${id}-name`,
90
+ value: name,
91
+ onChange: (event) => setName(event.target.value),
92
+ autoComplete: "off",
93
+ "data-1p-ignore": true
94
+ })]
95
+ }),
96
+ /* @__PURE__ */ jsx(Button, {
97
+ type: "submit",
98
+ disabled: email.trim() === "",
99
+ children: "Sign in"
100
+ })
101
+ ]
102
+ })
103
+ ] })
104
+ });
105
+ }
106
+ //#endregion
107
+ export { LocalSignIn };
108
+
109
+ //# sourceMappingURL=local-sign-in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sign-in.js","names":[],"sources":["../../../src/recipes/local-sign-in/local-sign-in.tsx"],"sourcesContent":["import { useId, useState, type FormEvent } from 'react';\n\nimport { Avatar, AvatarFallback } from '#components/ui/avatar';\nimport { Button } from '#components/ui/button';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '#components/ui/dialog';\nimport { Input } from '#components/ui/input';\nimport { Label } from '#components/ui/label';\nimport { cn } from '#lib/utils';\n\nimport { MaskedEmail } from '../parts/email-privacy';\n\n/** Who to sign in as, when sign-in is local. */\nexport interface LocalSignInChoice {\n email: string;\n name?: string;\n}\n\nexport interface LocalSignInProps {\n open: boolean;\n presets: ReadonlyArray<LocalSignInChoice>;\n onChoose: (choice: LocalSignInChoice) => void;\n /** Called when the User closes the dialog without choosing. */\n onCancel: () => void;\n}\n\nconst initials = (choice: LocalSignInChoice) =>\n (choice.name || choice.email)\n .split(/[\\s@]+/)\n .filter(Boolean)\n .slice(0, 2)\n .map((part) => part.charAt(0).toUpperCase())\n .join('');\n\nfunction PresetButton({\n choice,\n onChoose,\n}: {\n choice: LocalSignInChoice;\n onChoose: (choice: LocalSignInChoice) => void;\n}) {\n return (\n <Button\n variant=\"ghost\"\n className=\"h-auto w-full justify-start gap-3 px-2 py-2 text-left font-normal\"\n onClick={() => onChoose(choice)}\n >\n <Avatar className=\"size-7 text-[0.6rem]\">\n <AvatarFallback>{initials(choice)}</AvatarFallback>\n </Avatar>\n <span className=\"flex min-w-0 flex-1 flex-col\">\n {choice.name ? (\n <span className=\"truncate text-sm\">{choice.name}</span>\n ) : null}\n <span\n className={cn(\n 'truncate',\n choice.name ? 'text-xs text-muted-foreground' : 'text-sm',\n )}\n >\n <MaskedEmail email={choice.email} />\n </span>\n </span>\n </Button>\n );\n}\n\n/** Stands in for a real sign-in when an app runs on its own: the\n * User picks a preset or types who they want to be. */\nexport function LocalSignIn({\n open,\n presets,\n onChoose,\n onCancel,\n}: LocalSignInProps) {\n const id = useId();\n const [email, setEmail] = useState('');\n const [name, setName] = useState('');\n\n const submit = (event: FormEvent) => {\n event.preventDefault();\n const trimmed = email.trim();\n if (!trimmed) return;\n onChoose(\n name.trim() ? { email: trimmed, name: name.trim() } : { email: trimmed },\n );\n };\n\n return (\n <Dialog open={open} onOpenChange={(next) => !next && onCancel()}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Who should sign in?</DialogTitle>\n <DialogDescription>\n Nothing here leaves this device. Pick anyone to continue as.\n </DialogDescription>\n </DialogHeader>\n {presets.length > 0 ? (\n <div className=\"-mx-2 flex flex-col gap-1\">\n {presets.map((choice) => (\n <PresetButton\n key={choice.email}\n choice={choice}\n onChoose={onChoose}\n />\n ))}\n </div>\n ) : null}\n <form onSubmit={submit} className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n <Label htmlFor={`${id}-email`}>Email</Label>\n <Input\n id={`${id}-email`}\n type=\"email\"\n required\n value={email}\n onChange={(event) => setEmail(event.target.value)}\n autoComplete=\"off\"\n spellCheck={false}\n data-1p-ignore\n placeholder=\"someone@example.com\"\n />\n </div>\n <div className=\"flex flex-col gap-2\">\n <Label htmlFor={`${id}-name`}>\n Name <span className=\"text-muted-foreground\">(optional)</span>\n </Label>\n <Input\n id={`${id}-name`}\n value={name}\n onChange={(event) => setName(event.target.value)}\n autoComplete=\"off\"\n data-1p-ignore\n />\n </div>\n <Button type=\"submit\" disabled={email.trim() === ''}>\n Sign in\n </Button>\n </form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;;AA+BA,MAAM,YAAY,YACf,OAAO,QAAQ,OAAO,MAAA,CACpB,MAAM,QAAQ,CAAC,CACf,OAAO,OAAO,CAAC,CACf,MAAM,GAAG,CAAC,CAAC,CACX,KAAK,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAC3C,KAAK,EAAE;AAEZ,SAAS,aAAa,EACpB,QACA,YAIC;CACD,OACE,qBAAC,QAAD;EACE,SAAQ;EACR,WAAU;EACV,eAAe,SAAS,MAAM;EAHhC,UAAA,CAKE,oBAAC,QAAD;GAAQ,WAAU;GAChB,UAAA,oBAAC,gBAAD,EAAA,UAAiB,SAAS,MAAM,EAAkB,CAAA;EAC5C,CAAA,GACR,qBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA,CACG,OAAO,OACN,oBAAC,QAAD;IAAM,WAAU;IAAoB,UAAA,OAAO;GAAW,CAAA,IACpD,MACJ,oBAAC,QAAD;IACE,WAAW,GACT,YACA,OAAO,OAAO,kCAAkC,SAClD;IAEA,UAAA,oBAAC,aAAD,EAAa,OAAO,OAAO,MAAQ,CAAA;GAC/B,CAAA,CACF;EACA,CAAA,CAAA;;AAEZ;;;AAIA,SAAgB,YAAY,EAC1B,MACA,SACA,UACA,YACmB;CACnB,MAAM,KAAK,MAAM;CACjB,MAAM,CAAC,OAAO,YAAY,SAAS,EAAE;CACrC,MAAM,CAAC,MAAM,WAAW,SAAS,EAAE;CAEnC,MAAM,UAAU,UAAqB;EACnC,MAAM,eAAe;EACrB,MAAM,UAAU,MAAM,KAAK;EAC3B,IAAI,CAAC,SAAS;EACd,SACE,KAAK,KAAK,IAAI;GAAE,OAAO;GAAS,MAAM,KAAK,KAAK;EAAE,IAAI,EAAE,OAAO,QAAQ,CACzE;CACF;CAEA,OACE,oBAAC,QAAD;EAAc;EAAM,eAAe,SAAS,CAAC,QAAQ,SAAS;EAC5D,UAAA,qBAAC,eAAD,EAAA,UAAA;GACE,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,aAAD,EAAA,UAAa,sBAAgC,CAAA,GAC7C,oBAAC,mBAAD,EAAA,UAAmB,+DAEA,CAAA,CACP,EAAA,CAAA;GACb,QAAQ,SAAS,IAChB,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA,QAAQ,KAAK,WACZ,oBAAC,cAAD;KAEU;KACE;IACX,GAHM,OAAO,KAGb,CACF;GACE,CAAA,IACH;GACJ,qBAAC,QAAD;IAAM,UAAU;IAAQ,WAAU;IAAlC,UAAA;KACE,qBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACE,oBAAC,OAAD;OAAO,SAAS,GAAG,GAAG;OAAS,UAAA;MAAY,CAAA,GAC3C,oBAAC,OAAD;OACE,IAAI,GAAG,GAAG;OACV,MAAK;OACL,UAAA;OACA,OAAO;OACP,WAAW,UAAU,SAAS,MAAM,OAAO,KAAK;OAChD,cAAa;OACb,YAAY;OACZ,kBAAA;OACA,aAAY;MACb,CAAA,CACE;;KACL,qBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACE,qBAAC,OAAD;OAAO,SAAS,GAAG,GAAG;OAAtB,UAAA,CAA8B,SACvB,oBAAC,QAAD;QAAM,WAAU;QAAwB,UAAA;OAAgB,CAAA,CACxD;MACP,CAAA,GAAA,oBAAC,OAAD;OACE,IAAI,GAAG,GAAG;OACV,OAAO;OACP,WAAW,UAAU,QAAQ,MAAM,OAAO,KAAK;OAC/C,cAAa;OACb,kBAAA;MACD,CAAA,CACE;;KACL,oBAAC,QAAD;MAAQ,MAAK;MAAS,UAAU,MAAM,KAAK,MAAM;MAAI,UAAA;KAE7C,CAAA;IACJ;;EACO,EAAA,CAAA;CACT,CAAA;AAEZ"}
@@ -0,0 +1,24 @@
1
+ //#region src/recipes/parts/email-privacy/email-privacy.d.ts
2
+ interface EmailPrivacy {
3
+ masked: boolean;
4
+ toggle: () => void;
5
+ }
6
+ export declare const useEmailPrivacy: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<EmailPrivacy>, "persist" | "setState"> & {
7
+ setState(partial: EmailPrivacy | Partial<EmailPrivacy> | ((state: EmailPrivacy) => EmailPrivacy | Partial<EmailPrivacy>), replace?: false | undefined): unknown;
8
+ setState(state: EmailPrivacy | ((state: EmailPrivacy) => EmailPrivacy), replace: true): unknown;
9
+ persist: {
10
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<EmailPrivacy, EmailPrivacy, unknown>>) => void;
11
+ clearStorage: () => void;
12
+ rehydrate: () => Promise<void> | void;
13
+ hasHydrated: () => boolean;
14
+ onHydrate: (fn: (state: EmailPrivacy) => void) => () => void;
15
+ onFinishHydration: (fn: (state: EmailPrivacy) => void) => () => void;
16
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<EmailPrivacy, EmailPrivacy, unknown>>;
17
+ };
18
+ }>;
19
+ export declare function MaskedEmail({ email }: {
20
+ email: string;
21
+ }): import("react").JSX.Element;
22
+ export declare function EmailToggle(): import("react").JSX.Element;
23
+ //#endregion
24
+ //# sourceMappingURL=email-privacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-privacy.d.ts","names":[],"sources":["../../../../src/recipes/parts/email-privacy/email-privacy.tsx"],"mappings":";UAOU;EACR;EACA;;qBAGW,mCAAe,cAAA,uBAAA,SAAA;;;;;;;;;;;;;wBAUZ,cAAc;EAAW;oBAAe,IAAA;wBAexC,+BAAW,IAAA"}
@@ -0,0 +1,35 @@
1
+ import { Button } from "../../../components/ui/button.js";
2
+ import { cn } from "../../../components/lib/utils.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Eye, EyeOff } from "lucide-react";
5
+ import { create } from "zustand";
6
+ import { persist } from "zustand/middleware";
7
+ //#region src/recipes/parts/email-privacy/email-privacy.tsx
8
+ const useEmailPrivacy = create()(persist((set) => ({
9
+ masked: false,
10
+ toggle: () => set((state) => ({ masked: !state.masked }))
11
+ }), { name: "auth:mask-email" }));
12
+ function MaskedEmail({ email }) {
13
+ const masked = useEmailPrivacy((state) => state.masked);
14
+ return /* @__PURE__ */ jsx("span", {
15
+ "aria-label": masked ? "Email address hidden" : void 0,
16
+ className: cn("inline-block max-w-full truncate align-bottom", masked && "select-none blur-xs"),
17
+ children: email
18
+ });
19
+ }
20
+ function EmailToggle() {
21
+ const { masked, toggle } = useEmailPrivacy();
22
+ return /* @__PURE__ */ jsx(Button, {
23
+ variant: "ghost",
24
+ size: "icon",
25
+ "aria-label": masked ? "Show email address" : "Hide email address",
26
+ "aria-pressed": masked,
27
+ className: "relative text-muted-foreground before:absolute before:-inset-1 hover:text-foreground",
28
+ onClick: toggle,
29
+ children: masked ? /* @__PURE__ */ jsx(EyeOff, {}) : /* @__PURE__ */ jsx(Eye, {})
30
+ });
31
+ }
32
+ //#endregion
33
+ export { EmailToggle, MaskedEmail, useEmailPrivacy };
34
+
35
+ //# sourceMappingURL=email-privacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-privacy.js","names":[],"sources":["../../../../src/recipes/parts/email-privacy/email-privacy.tsx"],"sourcesContent":["import { Eye, EyeOff } from 'lucide-react';\nimport { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\nimport { Button } from '#components/ui/button';\nimport { cn } from '#lib/utils';\n\ninterface EmailPrivacy {\n masked: boolean;\n toggle: () => void;\n}\n\nexport const useEmailPrivacy = create<EmailPrivacy>()(\n persist(\n (set) => ({\n masked: false,\n toggle: () => set((state) => ({ masked: !state.masked })),\n }),\n { name: 'auth:mask-email' },\n ),\n);\n\nexport function MaskedEmail({ email }: { email: string }) {\n const masked = useEmailPrivacy((state) => state.masked);\n return (\n <span\n aria-label={masked ? 'Email address hidden' : undefined}\n className={cn(\n 'inline-block max-w-full truncate align-bottom',\n masked && 'select-none blur-xs',\n )}\n >\n {email}\n </span>\n );\n}\n\nexport function EmailToggle() {\n const { masked, toggle } = useEmailPrivacy();\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label={masked ? 'Show email address' : 'Hide email address'}\n aria-pressed={masked}\n className=\"relative text-muted-foreground before:absolute before:-inset-1 hover:text-foreground\"\n onClick={toggle}\n >\n {masked ? <EyeOff /> : <Eye />}\n </Button>\n );\n}\n"],"mappings":";;;;;;;AAYA,MAAa,kBAAkB,OAAqB,CAAC,CACnD,SACG,SAAS;CACR,QAAQ;CACR,cAAc,KAAK,WAAW,EAAE,QAAQ,CAAC,MAAM,OAAO,EAAE;AAC1D,IACA,EAAE,MAAM,kBAAkB,CAC5B,CACF;AAEA,SAAgB,YAAY,EAAE,SAA4B;CACxD,MAAM,SAAS,iBAAiB,UAAU,MAAM,MAAM;CACtD,OACE,oBAAC,QAAD;EACE,cAAY,SAAS,yBAAyB,KAAA;EAC9C,WAAW,GACT,iDACA,UAAU,qBACZ;EAEC,UAAA;CACG,CAAA;AAEV;AAEA,SAAgB,cAAc;CAC5B,MAAM,EAAE,QAAQ,WAAW,gBAAgB;CAC3C,OACE,oBAAC,QAAD;EACE,SAAQ;EACR,MAAK;EACL,cAAY,SAAS,uBAAuB;EAC5C,gBAAc;EACd,WAAU;EACV,SAAS;EAER,UAAA,SAAS,oBAAC,QAAD,CAAS,CAAA,IAAI,oBAAC,KAAD,CAAM,CAAA;CACvB,CAAA;AAEZ"}
@@ -0,0 +1,2 @@
1
+ import { EmailToggle, MaskedEmail, useEmailPrivacy } from "./email-privacy.js";
2
+ export { EmailToggle, MaskedEmail, useEmailPrivacy };
@@ -0,0 +1,2 @@
1
+ import { EmailToggle, MaskedEmail, useEmailPrivacy } from "./email-privacy.js";
2
+ export { EmailToggle, MaskedEmail, useEmailPrivacy };
@@ -0,0 +1,2 @@
1
+ import { SwipeRow } from "./swipe-row.js";
2
+ export { SwipeRow };
@@ -0,0 +1,2 @@
1
+ import { SwipeRow } from "./swipe-row.js";
2
+ export { SwipeRow };
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/recipes/swipe-row/swipe-row.d.ts
3
+ /**
4
+ * A row that one finger swipes left to delete. As it goes, Delete shows
5
+ * behind it; past DELETE_AT it arms, with a click and a buzz, and letting
6
+ * go then slides it away and deletes it. Coming back short, or letting go
7
+ * before, springs it home. A mouse never swipes it: keys delete instead.
8
+ * `sounds` is whether it clicks as it arms and goes; on unless switched off.
9
+ */
10
+ export declare function SwipeRow(props: {
11
+ readonly onDelete: () => void;
12
+ readonly sounds?: boolean;
13
+ readonly children: ReactNode;
14
+ }): import("react").JSX.Element;
15
+ //#endregion
16
+ //# sourceMappingURL=swipe-row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swipe-row.d.ts","names":[],"sources":["../../../src/recipes/swipe-row/swipe-row.tsx"],"mappings":";;;;;;;;;wBAyBgB,SAAS;WACd;WACA;WACA,UAAU;oBACpB,IAAA"}
@@ -0,0 +1,96 @@
1
+ import { GestureZone } from "../../input/gesture/zones/zone/zone.js";
2
+ import { useSwipe } from "../../input/gesture/recognizers/swipe/use-swipe.js";
3
+ import { lucide_exports } from "../../components/lib/lucide.js";
4
+ import { cn } from "../../components/lib/utils.js";
5
+ import { play } from "../../feedback/sound.js";
6
+ import { useRef, useState } from "react";
7
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { animate, motion, useMotionValue, useMotionValueEvent, useTransform } from "motion/react";
9
+ //#region src/recipes/swipe-row/swipe-row.tsx
10
+ const DELETE_AT = 112;
11
+ const SPRING = {
12
+ type: "spring",
13
+ duration: .35,
14
+ bounce: .15
15
+ };
16
+ /**
17
+ * A row that one finger swipes left to delete. As it goes, Delete shows
18
+ * behind it; past DELETE_AT it arms, with a click and a buzz, and letting
19
+ * go then slides it away and deletes it. Coming back short, or letting go
20
+ * before, springs it home. A mouse never swipes it: keys delete instead.
21
+ * `sounds` is whether it clicks as it arms and goes; on unless switched off.
22
+ */
23
+ function SwipeRow(props) {
24
+ return /* @__PURE__ */ jsx(GestureZone, {
25
+ className: "relative overflow-hidden rounded-lg",
26
+ children: /* @__PURE__ */ jsx(Swiped, { ...props })
27
+ });
28
+ }
29
+ function Swiped(props) {
30
+ const sounds = props.sounds ?? true;
31
+ const row = useRef(null);
32
+ const x = useMotionValue(0);
33
+ const [armed, setArmed] = useState(false);
34
+ const shown = useTransform(x, [0, -24], [0, 1]);
35
+ const latest = useRef({
36
+ props,
37
+ sounds
38
+ });
39
+ latest.current = {
40
+ props,
41
+ sounds
42
+ };
43
+ const home = () => void animate(x, 0, SPRING);
44
+ const swipe = useSwipe({
45
+ direction: "left",
46
+ commit: { distance: DELETE_AT },
47
+ onCommit: () => {
48
+ const width = row.current?.offsetWidth ?? 400;
49
+ if (latest.current.sounds) play("success");
50
+ animate(x, -width, {
51
+ duration: .18,
52
+ ease: [
53
+ .4,
54
+ 0,
55
+ 1,
56
+ 1
57
+ ]
58
+ }).then(() => latest.current.props.onDelete());
59
+ },
60
+ onCancel: home
61
+ });
62
+ useMotionValueEvent(swipe.offset, "change", (offset) => x.set(-offset));
63
+ useMotionValueEvent(swipe.willCommit, "change", (will) => {
64
+ setArmed(will);
65
+ if (!will) return;
66
+ if (latest.current.sounds) play("arm");
67
+ navigator.vibrate?.(8);
68
+ });
69
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(motion.div, {
70
+ "aria-hidden": "true",
71
+ style: { opacity: shown },
72
+ className: cn("absolute inset-0 flex items-center justify-end gap-2 rounded-lg pr-5 text-sm font-medium text-destructive transition-colors duration-150", armed ? "bg-destructive/20" : "bg-destructive/10"),
73
+ children: /* @__PURE__ */ jsxs(motion.span, {
74
+ animate: { scale: armed ? 1.15 : 1 },
75
+ transition: {
76
+ type: "spring",
77
+ duration: .3,
78
+ bounce: .45
79
+ },
80
+ className: "flex items-center gap-1.5",
81
+ children: [/* @__PURE__ */ jsx(lucide_exports.Trash2, {
82
+ className: "size-4",
83
+ "aria-hidden": "true"
84
+ }), " Delete"]
85
+ })
86
+ }), /* @__PURE__ */ jsx(motion.div, {
87
+ ref: row,
88
+ style: { x },
89
+ className: "relative bg-background",
90
+ children: props.children
91
+ })] });
92
+ }
93
+ //#endregion
94
+ export { SwipeRow };
95
+
96
+ //# sourceMappingURL=swipe-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swipe-row.js","names":["Trash2"],"sources":["../../../src/recipes/swipe-row/swipe-row.tsx"],"sourcesContent":["import { Trash2 } from '#lib/lucide';\nimport { cn } from '#lib/utils';\nimport { GestureZone, useSwipe } from '../../input/index.ts';\nimport {\n animate,\n motion,\n useMotionValue,\n useMotionValueEvent,\n useTransform,\n} from 'motion/react';\nimport { type ReactNode, useRef, useState } from 'react';\nimport { play } from '../../feedback/index.ts';\n\n// How far, in px, the row goes left before letting go deletes it.\nconst DELETE_AT = 112;\n\nconst SPRING = { type: 'spring', duration: 0.35, bounce: 0.15 } as const;\n\n/**\n * A row that one finger swipes left to delete. As it goes, Delete shows\n * behind it; past DELETE_AT it arms, with a click and a buzz, and letting\n * go then slides it away and deletes it. Coming back short, or letting go\n * before, springs it home. A mouse never swipes it: keys delete instead.\n * `sounds` is whether it clicks as it arms and goes; on unless switched off.\n */\nexport function SwipeRow(props: {\n readonly onDelete: () => void;\n readonly sounds?: boolean;\n readonly children: ReactNode;\n}) {\n // The row is a Gesture Zone of its own, so its Swipe hears only it.\n return (\n <GestureZone className=\"relative overflow-hidden rounded-lg\">\n <Swiped {...props} />\n </GestureZone>\n );\n}\n\nfunction Swiped(props: {\n readonly onDelete: () => void;\n readonly sounds?: boolean;\n readonly children: ReactNode;\n}) {\n const sounds = props.sounds ?? true;\n const row = useRef<HTMLDivElement>(null);\n const x = useMotionValue(0);\n const [armed, setArmed] = useState(false);\n const shown = useTransform(x, [0, -24], [0, 1]);\n const latest = useRef({ props, sounds });\n latest.current = { props, sounds };\n\n const home = () => void animate(x, 0, SPRING);\n const swipe = useSwipe({\n direction: 'left',\n commit: { distance: DELETE_AT },\n onCommit: () => {\n const width = row.current?.offsetWidth ?? 400;\n if (latest.current.sounds) play('success');\n void animate(x, -width, { duration: 0.18, ease: [0.4, 0, 1, 1] }).then(\n () => latest.current.props.onDelete(),\n );\n },\n onCancel: home,\n });\n\n useMotionValueEvent(swipe.offset, 'change', (offset) => x.set(-offset));\n useMotionValueEvent(swipe.willCommit, 'change', (will) => {\n setArmed(will);\n if (!will) return;\n if (latest.current.sounds) play('arm');\n navigator.vibrate?.(8);\n });\n\n return (\n <>\n <motion.div\n aria-hidden=\"true\"\n style={{ opacity: shown }}\n className={cn(\n 'absolute inset-0 flex items-center justify-end gap-2 rounded-lg pr-5 text-sm font-medium text-destructive transition-colors duration-150',\n armed ? 'bg-destructive/20' : 'bg-destructive/10',\n )}\n >\n <motion.span\n animate={{ scale: armed ? 1.15 : 1 }}\n transition={{ type: 'spring', duration: 0.3, bounce: 0.45 }}\n className=\"flex items-center gap-1.5\"\n >\n <Trash2 className=\"size-4\" aria-hidden=\"true\" /> Delete\n </motion.span>\n </motion.div>\n <motion.div ref={row} style={{ x }} className=\"relative bg-background\">\n {props.children}\n </motion.div>\n </>\n );\n}\n"],"mappings":";;;;;;;;;AAcA,MAAM,YAAY;AAElB,MAAM,SAAS;CAAE,MAAM;CAAU,UAAU;CAAM,QAAQ;AAAK;;;;;;;;AAS9D,SAAgB,SAAS,OAItB;CAED,OACE,oBAAC,aAAD;EAAa,WAAU;EACrB,UAAA,oBAAC,QAAD,EAAQ,GAAI,MAAQ,CAAA;CACT,CAAA;AAEjB;AAEA,SAAS,OAAO,OAIb;CACD,MAAM,SAAS,MAAM,UAAU;CAC/B,MAAM,MAAM,OAAuB,IAAI;CACvC,MAAM,IAAI,eAAe,CAAC;CAC1B,MAAM,CAAC,OAAO,YAAY,SAAS,KAAK;CACxC,MAAM,QAAQ,aAAa,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9C,MAAM,SAAS,OAAO;EAAE;EAAO;CAAO,CAAC;CACvC,OAAO,UAAU;EAAE;EAAO;CAAO;CAEjC,MAAM,aAAa,KAAK,QAAQ,GAAG,GAAG,MAAM;CAC5C,MAAM,QAAQ,SAAS;EACrB,WAAW;EACX,QAAQ,EAAE,UAAU,UAAU;EAC9B,gBAAgB;GACd,MAAM,QAAQ,IAAI,SAAS,eAAe;GAC1C,IAAI,OAAO,QAAQ,QAAQ,KAAK,SAAS;GACzC,QAAa,GAAG,CAAC,OAAO;IAAE,UAAU;IAAM,MAAM;KAAC;KAAK;KAAG;KAAG;IAAC;GAAE,CAAC,CAAC,CAAC,WAC1D,OAAO,QAAQ,MAAM,SAAS,CACtC;EACF;EACA,UAAU;CACZ,CAAC;CAED,oBAAoB,MAAM,QAAQ,WAAW,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;CACtE,oBAAoB,MAAM,YAAY,WAAW,SAAS;EACxD,SAAS,IAAI;EACb,IAAI,CAAC,MAAM;EACX,IAAI,OAAO,QAAQ,QAAQ,KAAK,KAAK;EACrC,UAAU,UAAU,CAAC;CACvB,CAAC;CAED,OACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,OAAO,KAAR;EACE,eAAY;EACZ,OAAO,EAAE,SAAS,MAAM;EACxB,WAAW,GACT,4IACA,QAAQ,sBAAsB,mBAChC;EAEA,UAAA,qBAAC,OAAO,MAAR;GACE,SAAS,EAAE,OAAO,QAAQ,OAAO,EAAE;GACnC,YAAY;IAAE,MAAM;IAAU,UAAU;IAAK,QAAQ;GAAK;GAC1D,WAAU;GAHZ,UAAA,CAKE,oBAACA,eAAAA,QAAD;IAAQ,WAAU;IAAS,eAAY;GAAQ,CAAA,GAAC,SACrC;;CACH,CAAA,GACZ,oBAAC,OAAO,KAAR;EAAY,KAAK;EAAK,OAAO,EAAE,EAAE;EAAG,WAAU;EAC3C,UAAA,MAAM;CACG,CAAA,CACZ,EAAA,CAAA;AAEN"}
@@ -0,0 +1,18 @@
1
+ import { ComponentType } from "react";
2
+ //#region src/recipes/thumb-picker/choice.d.ts
3
+ /**
4
+ * One thing to choose: its name, its icon, what choosing it does, and the
5
+ * choices inside it. A choice with none to do is only a way in to its own.
6
+ * How a swipe walks a tree of them is use-gesture's Tree Walk.
7
+ */
8
+ export type Choice = {
9
+ readonly id: string;
10
+ readonly label: string;
11
+ readonly icon?: ComponentType<{
12
+ readonly className?: string;
13
+ }>;
14
+ readonly onSelect?: () => void;
15
+ readonly children?: ReadonlyArray<Choice>;
16
+ };
17
+ //#endregion
18
+ //# sourceMappingURL=choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.d.ts","names":[],"sources":["../../../src/recipes/thumb-picker/choice.ts"],"mappings":";;;;;;;YAOY;WACD;WACA;WACA,OAAO;aAAyB;;WAChC;WACA,WAAW,cAAc"}
File without changes
@@ -0,0 +1,3 @@
1
+ import { Choice } from "./choice.js";
2
+ import { ThumbPicker } from "./thumb-picker.js";
3
+ export { type Choice, ThumbPicker };
@@ -0,0 +1,2 @@
1
+ import { ThumbPicker } from "./thumb-picker.js";
2
+ export { ThumbPicker };
@@ -0,0 +1,18 @@
1
+ import { Choice } from "./choice.js";
2
+ import { Transition } from "motion/react";
3
+ //#region src/recipes/thumb-picker/list.d.ts
4
+ /**
5
+ * Every choice of one list in order, the marked one under a highlight that
6
+ * springs from row to row, a dot beside where the swipe began, and a
7
+ * chevron on each choice with choices inside it, nudged toward them when
8
+ * marked.
9
+ */
10
+ export declare function List(props: {
11
+ readonly id: string;
12
+ readonly choices: ReadonlyArray<Choice>;
13
+ readonly marked: number;
14
+ readonly here: number | undefined;
15
+ readonly move: Transition;
16
+ }): import("react").JSX.Element;
17
+ //#endregion
18
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","names":[],"sources":["../../../src/recipes/thumb-picker/list.tsx"],"mappings":";;;;;;;;;wBAYgB,KAAK;WACV;WACA,SAAS,cAAc;WACvB;WACA;WACA,MAAM;oBAChB,IAAA"}
@@ -0,0 +1,48 @@
1
+ import { lucide_exports } from "../../components/lib/lucide.js";
2
+ import { cn } from "../../components/lib/utils.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { motion } from "motion/react";
5
+ import { TreeWalk } from "@kestack/use-gesture";
6
+ //#region src/recipes/thumb-picker/list.tsx
7
+ /**
8
+ * Every choice of one list in order, the marked one under a highlight that
9
+ * springs from row to row, a dot beside where the swipe began, and a
10
+ * chevron on each choice with choices inside it, nudged toward them when
11
+ * marked.
12
+ */
13
+ function List(props) {
14
+ return /* @__PURE__ */ jsx("ul", {
15
+ className: "grid min-w-44 p-1",
16
+ children: props.choices.map((choice, index) => {
17
+ const marked = index === props.marked;
18
+ return /* @__PURE__ */ jsxs("li", {
19
+ "aria-current": marked || void 0,
20
+ className: "relative flex items-center gap-2.5 px-2.5 py-1.5",
21
+ children: [
22
+ marked && /* @__PURE__ */ jsx(motion.span, {
23
+ layoutId: `thumb-picker-mark-${props.id}`,
24
+ transition: props.move,
25
+ className: "absolute inset-0 rounded-[10px] bg-accent"
26
+ }),
27
+ choice.icon && /* @__PURE__ */ jsx(choice.icon, { className: cn("relative size-4", !marked && "text-muted-foreground") }),
28
+ /* @__PURE__ */ jsx("span", {
29
+ className: cn("relative flex-1 truncate", marked && "font-medium"),
30
+ children: choice.label
31
+ }),
32
+ index === props.here && /* @__PURE__ */ jsx("span", {
33
+ "aria-label": "Where you are",
34
+ className: "relative size-1.5 rounded-full bg-muted-foreground"
35
+ }),
36
+ TreeWalk.opens(choice) && /* @__PURE__ */ jsx(lucide_exports.ChevronRight, {
37
+ "aria-label": "Has more inside",
38
+ className: cn("relative -mr-1 size-3.5 text-muted-foreground transition-transform duration-150", marked && "translate-x-0.5 text-foreground")
39
+ })
40
+ ]
41
+ }, choice.id);
42
+ })
43
+ });
44
+ }
45
+ //#endregion
46
+ export { List };
47
+
48
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","names":["ChevronRight"],"sources":["../../../src/recipes/thumb-picker/list.tsx"],"sourcesContent":["import { ChevronRight } from '#lib/lucide';\nimport { cn } from '#lib/utils';\nimport { TreeWalk } from '@kestack/use-gesture';\nimport { motion, type Transition } from 'motion/react';\nimport type { Choice } from './choice.ts';\n\n/**\n * Every choice of one list in order, the marked one under a highlight that\n * springs from row to row, a dot beside where the swipe began, and a\n * chevron on each choice with choices inside it, nudged toward them when\n * marked.\n */\nexport function List(props: {\n readonly id: string;\n readonly choices: ReadonlyArray<Choice>;\n readonly marked: number;\n readonly here: number | undefined;\n readonly move: Transition;\n}) {\n return (\n <ul className=\"grid min-w-44 p-1\">\n {props.choices.map((choice, index) => {\n const marked = index === props.marked;\n return (\n <li\n key={choice.id}\n aria-current={marked || undefined}\n className=\"relative flex items-center gap-2.5 px-2.5 py-1.5\"\n >\n {marked && (\n <motion.span\n layoutId={`thumb-picker-mark-${props.id}`}\n transition={props.move}\n className=\"absolute inset-0 rounded-[10px] bg-accent\"\n />\n )}\n {choice.icon && (\n <choice.icon\n className={cn(\n 'relative size-4',\n !marked && 'text-muted-foreground',\n )}\n />\n )}\n <span\n className={cn(\n 'relative flex-1 truncate',\n marked && 'font-medium',\n )}\n >\n {choice.label}\n </span>\n {index === props.here && (\n <span\n aria-label=\"Where you are\"\n className=\"relative size-1.5 rounded-full bg-muted-foreground\"\n />\n )}\n {TreeWalk.opens(choice) && (\n <ChevronRight\n aria-label=\"Has more inside\"\n className={cn(\n 'relative -mr-1 size-3.5 text-muted-foreground transition-transform duration-150',\n marked && 'translate-x-0.5 text-foreground',\n )}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAYA,SAAgB,KAAK,OAMlB;CACD,OACE,oBAAC,MAAD;EAAI,WAAU;EACX,UAAA,MAAM,QAAQ,KAAK,QAAQ,UAAU;GACpC,MAAM,SAAS,UAAU,MAAM;GAC/B,OACE,qBAAC,MAAD;IAEE,gBAAc,UAAU,KAAA;IACxB,WAAU;IAHZ,UAAA;KAKG,UACC,oBAAC,OAAO,MAAR;MACE,UAAU,qBAAqB,MAAM;MACrC,YAAY,MAAM;MAClB,WAAU;KACX,CAAA;KAEF,OAAO,QACN,oBAAC,OAAO,MAAR,EACE,WAAW,GACT,mBACA,CAAC,UAAU,uBACb,EACD,CAAA;KAEH,oBAAC,QAAD;MACE,WAAW,GACT,4BACA,UAAU,aACZ;MAEC,UAAA,OAAO;KACJ,CAAA;KACL,UAAU,MAAM,QACf,oBAAC,QAAD;MACE,cAAW;MACX,WAAU;KACX,CAAA;KAEF,SAAS,MAAM,MAAM,KACpB,oBAACA,eAAAA,cAAD;MACE,cAAW;MACX,WAAW,GACT,mFACA,UAAU,iCACZ;KACD,CAAA;IAED;GA1CG,GAAA,OAAO,EA0CV;EAER,CAAC;CACC,CAAA;AAER"}
@@ -0,0 +1,18 @@
1
+ import { TreeWalk } from "@kestack/use-gesture";
2
+ //#region src/recipes/thumb-picker/lock.d.ts
3
+ /**
4
+ * The Thumb Lock of the nearest Gesture Zone: the left thumb resting still
5
+ * while another finger moves. It reports the Lock as it holds, the other
6
+ * finger as it moves, from where it landed, and the end: lifted, when the
7
+ * finger lifts first, or called off, when the thumb does. The thumb may
8
+ * stay for another swipe. A swipe of one finger is left to
9
+ * the zones and the browser, so the page still scrolls.
10
+ */
11
+ export declare function useThumbLock(props: {
12
+ readonly enabled: boolean;
13
+ readonly onLock: () => void;
14
+ readonly onMove: (finger: TreeWalk.Point) => void;
15
+ readonly onEnd: (lifted: boolean) => void;
16
+ }): void;
17
+ //#endregion
18
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","names":[],"sources":["../../../src/recipes/thumb-picker/lock.ts"],"mappings":";;;;;;;;;;wBAiBgB,aAAa;WAClB;WACA;WACA,SAAS,QAAQ,SAAS;WAC1B,QAAQ"}
@@ -0,0 +1,71 @@
1
+ import { useGesture } from "../../input/gesture/zones/zone/zone.js";
2
+ import { useRef } from "react";
3
+ //#region src/recipes/thumb-picker/lock.ts
4
+ const THUMB_PART = .5;
5
+ const STILL = 14;
6
+ /**
7
+ * The Thumb Lock of the nearest Gesture Zone: the left thumb resting still
8
+ * while another finger moves. It reports the Lock as it holds, the other
9
+ * finger as it moves, from where it landed, and the end: lifted, when the
10
+ * finger lifts first, or called off, when the thumb does. The thumb may
11
+ * stay for another swipe. A swipe of one finger is left to
12
+ * the zones and the browser, so the page still scrolls.
13
+ */
14
+ function useThumbLock(props) {
15
+ const thumb = useRef(void 0);
16
+ const mover = useRef(void 0);
17
+ const stop = useRef([]);
18
+ const directions = useRef([]);
19
+ const latest = useRef(props);
20
+ latest.current = props;
21
+ const release = (lifted) => {
22
+ if (mover.current === void 0) return;
23
+ for (const off of stop.current) off();
24
+ stop.current = [];
25
+ mover.current = void 0;
26
+ directions.current = [];
27
+ latest.current.onEnd(lifted);
28
+ };
29
+ const follow = (finger) => {
30
+ const moved = () => latest.current.onMove({
31
+ x: finger.dx.get(),
32
+ y: finger.dy.get()
33
+ });
34
+ stop.current.push(finger.dx.on("change", moved), finger.dy.on("change", moved));
35
+ };
36
+ useGesture({
37
+ enabled: props.enabled,
38
+ get directions() {
39
+ return directions.current;
40
+ },
41
+ onStart: (pointers) => {
42
+ const [first] = pointers.values();
43
+ thumb.current = first !== void 0 && first.start.x <= window.innerWidth * THUMB_PART ? first : void 0;
44
+ },
45
+ onPointer: (pointer) => {
46
+ const held = thumb.current;
47
+ if (pointer.end !== void 0) {
48
+ if (pointer.id === mover.current?.id) release(true);
49
+ else if (pointer.id === held?.id) {
50
+ thumb.current = void 0;
51
+ release(false);
52
+ }
53
+ return;
54
+ }
55
+ if (held === void 0 || pointer.id === held.id || mover.current) return;
56
+ if (Math.hypot(held.dx.get(), held.dy.get()) > STILL) return;
57
+ mover.current = pointer;
58
+ directions.current = "all";
59
+ follow(pointer);
60
+ latest.current.onLock();
61
+ },
62
+ onEnd: () => {
63
+ thumb.current = void 0;
64
+ release(false);
65
+ }
66
+ });
67
+ }
68
+ //#endregion
69
+ export { useThumbLock };
70
+
71
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","names":[],"sources":["../../../src/recipes/thumb-picker/lock.ts"],"sourcesContent":["import { type Pointer, useGesture } from '../../input/index.ts';\nimport { useRef } from 'react';\nimport type { TreeWalk } from '@kestack/use-gesture';\n\n// The thumb lands on this part of the screen's width, from the left.\nconst THUMB_PART = 0.5;\n// How far, in px, the thumb may drift and still be still.\nconst STILL = 14;\n\n/**\n * The Thumb Lock of the nearest Gesture Zone: the left thumb resting still\n * while another finger moves. It reports the Lock as it holds, the other\n * finger as it moves, from where it landed, and the end: lifted, when the\n * finger lifts first, or called off, when the thumb does. The thumb may\n * stay for another swipe. A swipe of one finger is left to\n * the zones and the browser, so the page still scrolls.\n */\nexport function useThumbLock(props: {\n readonly enabled: boolean;\n readonly onLock: () => void;\n readonly onMove: (finger: TreeWalk.Point) => void;\n readonly onEnd: (lifted: boolean) => void;\n}) {\n const thumb = useRef<Pointer>(undefined);\n const mover = useRef<Pointer>(undefined);\n const stop = useRef<Array<() => void>>([]);\n // Two fingers own the touch at its first movement; one is left alone.\n const directions = useRef<'all' | []>([]);\n const latest = useRef(props);\n latest.current = props;\n\n const release = (lifted: boolean) => {\n if (mover.current === undefined) return;\n for (const off of stop.current) off();\n stop.current = [];\n mover.current = undefined;\n directions.current = [];\n latest.current.onEnd(lifted);\n };\n\n const follow = (finger: Pointer) => {\n const moved = () =>\n latest.current.onMove({ x: finger.dx.get(), y: finger.dy.get() });\n stop.current.push(\n finger.dx.on('change', moved),\n finger.dy.on('change', moved),\n );\n };\n\n useGesture({\n enabled: props.enabled,\n get directions() {\n return directions.current;\n },\n onStart: (pointers) => {\n const [first] = pointers.values();\n thumb.current =\n first !== undefined && first.start.x <= window.innerWidth * THUMB_PART\n ? first\n : undefined;\n },\n onPointer: (pointer) => {\n const held = thumb.current;\n if (pointer.end !== undefined) {\n if (pointer.id === mover.current?.id) release(true);\n // The thumb lifting first calls the swipe off.\n else if (pointer.id === held?.id) {\n thumb.current = undefined;\n release(false);\n }\n return;\n }\n if (held === undefined || pointer.id === held.id || mover.current) return;\n // The thumb is still: the Lock holds from this finger's landing.\n if (Math.hypot(held.dx.get(), held.dy.get()) > STILL) return;\n mover.current = pointer;\n directions.current = 'all';\n follow(pointer);\n latest.current.onLock();\n },\n onEnd: () => {\n thumb.current = undefined;\n release(false);\n },\n });\n}\n"],"mappings":";;;AAKA,MAAM,aAAa;AAEnB,MAAM,QAAQ;;;;;;;;;AAUd,SAAgB,aAAa,OAK1B;CACD,MAAM,QAAQ,OAAgB,KAAA,CAAS;CACvC,MAAM,QAAQ,OAAgB,KAAA,CAAS;CACvC,MAAM,OAAO,OAA0B,CAAC,CAAC;CAEzC,MAAM,aAAa,OAAmB,CAAC,CAAC;CACxC,MAAM,SAAS,OAAO,KAAK;CAC3B,OAAO,UAAU;CAEjB,MAAM,WAAW,WAAoB;EACnC,IAAI,MAAM,YAAY,KAAA,GAAW;EACjC,KAAK,MAAM,OAAO,KAAK,SAAS,IAAI;EACpC,KAAK,UAAU,CAAC;EAChB,MAAM,UAAU,KAAA;EAChB,WAAW,UAAU,CAAC;EACtB,OAAO,QAAQ,MAAM,MAAM;CAC7B;CAEA,MAAM,UAAU,WAAoB;EAClC,MAAM,cACJ,OAAO,QAAQ,OAAO;GAAE,GAAG,OAAO,GAAG,IAAI;GAAG,GAAG,OAAO,GAAG,IAAI;EAAE,CAAC;EAClE,KAAK,QAAQ,KACX,OAAO,GAAG,GAAG,UAAU,KAAK,GAC5B,OAAO,GAAG,GAAG,UAAU,KAAK,CAC9B;CACF;CAEA,WAAW;EACT,SAAS,MAAM;EACf,IAAI,aAAa;GACf,OAAO,WAAW;EACpB;EACA,UAAU,aAAa;GACrB,MAAM,CAAC,SAAS,SAAS,OAAO;GAChC,MAAM,UACJ,UAAU,KAAA,KAAa,MAAM,MAAM,KAAK,OAAO,aAAa,aACxD,QACA,KAAA;EACR;EACA,YAAY,YAAY;GACtB,MAAM,OAAO,MAAM;GACnB,IAAI,QAAQ,QAAQ,KAAA,GAAW;IAC7B,IAAI,QAAQ,OAAO,MAAM,SAAS,IAAI,QAAQ,IAAI;SAE7C,IAAI,QAAQ,OAAO,MAAM,IAAI;KAChC,MAAM,UAAU,KAAA;KAChB,QAAQ,KAAK;IACf;IACA;GACF;GACA,IAAI,SAAS,KAAA,KAAa,QAAQ,OAAO,KAAK,MAAM,MAAM,SAAS;GAEnE,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,OAAO;GACtD,MAAM,UAAU;GAChB,WAAW,UAAU;GACrB,OAAO,OAAO;GACd,OAAO,QAAQ,OAAO;EACxB;EACA,aAAa;GACX,MAAM,UAAU,KAAA;GAChB,QAAQ,KAAK;EACf;CACF,CAAC;AACH"}
@@ -0,0 +1,19 @@
1
+ import { Choice } from "./choice.js";
2
+ import { TreeWalk } from "@kestack/use-gesture";
3
+ //#region src/recipes/thumb-picker/menu.d.ts
4
+ type Column = TreeWalk.Column<Choice>;
5
+ /**
6
+ * Where letting go will take you, at the top centre of the screen and
7
+ * never under the fingers, over everything else dimmed and blurred: the
8
+ * open list in the middle, and each list it was opened from drawn back to
9
+ * the top left, smaller and fainter. It zooms in as it shows; an opened
10
+ * list slides in from the right and slides back out as the swipe goes
11
+ * back. Each time `shakes` counts up, the menu shakes once. None of it
12
+ * moves for those who ask for less motion.
13
+ */
14
+ export declare function Menu(props: {
15
+ readonly columns: ReadonlyArray<Column> | undefined;
16
+ readonly shakes: number;
17
+ }): import("react").ReactPortal | null;
18
+ //#endregion
19
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","names":[],"sources":["../../../src/recipes/thumb-picker/menu.tsx"],"mappings":";;;KAiBK,SAAS,SAAS,OAAO;;;;;;;;;;wBAWd,KAAK;WACV,SAAS,cAAc;WACvB;oBACV"}