@treenity/react 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/README.md +91 -0
  2. package/dist/AclEditor.d.ts +1 -1
  3. package/dist/AclEditor.d.ts.map +1 -1
  4. package/dist/AclEditor.js +5 -5
  5. package/dist/AclEditor.js.map +1 -1
  6. package/dist/ActionCards.d.ts +9 -0
  7. package/dist/ActionCards.d.ts.map +1 -0
  8. package/dist/ActionCards.js +96 -0
  9. package/dist/ActionCards.js.map +1 -0
  10. package/dist/App.d.ts.map +1 -1
  11. package/dist/App.js +71 -185
  12. package/dist/App.js.map +1 -1
  13. package/dist/ComponentSection.d.ts +15 -0
  14. package/dist/ComponentSection.d.ts.map +1 -0
  15. package/dist/ComponentSection.js +25 -0
  16. package/dist/ComponentSection.js.map +1 -0
  17. package/dist/ErrorBoundary.d.ts +18 -0
  18. package/dist/ErrorBoundary.d.ts.map +1 -0
  19. package/dist/ErrorBoundary.js +17 -0
  20. package/dist/ErrorBoundary.js.map +1 -0
  21. package/dist/Inspector.d.ts +1 -0
  22. package/dist/Inspector.d.ts.map +1 -1
  23. package/dist/Inspector.js +22 -347
  24. package/dist/Inspector.js.map +1 -1
  25. package/dist/Login.d.ts +8 -0
  26. package/dist/Login.d.ts.map +1 -0
  27. package/dist/Login.js +45 -0
  28. package/dist/Login.js.map +1 -0
  29. package/dist/NodeEditor.d.ts +11 -0
  30. package/dist/NodeEditor.d.ts.map +1 -0
  31. package/dist/NodeEditor.js +157 -0
  32. package/dist/NodeEditor.js.map +1 -0
  33. package/dist/Tree.d.ts +1 -0
  34. package/dist/Tree.d.ts.map +1 -1
  35. package/dist/Tree.js +8 -27
  36. package/dist/Tree.js.map +1 -1
  37. package/dist/bind/engine.js +1 -1
  38. package/dist/bind/engine.js.map +1 -1
  39. package/dist/bind/eval.d.ts +1 -1
  40. package/dist/bind/eval.d.ts.map +1 -1
  41. package/dist/bind/hook.d.ts +1 -1
  42. package/dist/bind/hook.d.ts.map +1 -1
  43. package/dist/bind/hook.js +1 -1
  44. package/dist/bind/hook.js.map +1 -1
  45. package/dist/cache.d.ts +1 -1
  46. package/dist/cache.d.ts.map +1 -1
  47. package/dist/cache.js +4 -0
  48. package/dist/cache.js.map +1 -1
  49. package/dist/client-tree.d.ts +1 -2
  50. package/dist/client-tree.d.ts.map +1 -1
  51. package/dist/client-tree.js +12 -5
  52. package/dist/client-tree.js.map +1 -1
  53. package/dist/client.d.ts +1 -1
  54. package/dist/client.d.ts.map +1 -1
  55. package/dist/client.js +2 -4
  56. package/dist/client.js.map +1 -1
  57. package/dist/components/ConfirmDialog.d.ts +9 -0
  58. package/dist/components/ConfirmDialog.d.ts.map +1 -0
  59. package/dist/components/ConfirmDialog.js +6 -0
  60. package/dist/components/ConfirmDialog.js.map +1 -0
  61. package/dist/components/ConfirmPopover.d.ts +8 -0
  62. package/dist/components/ConfirmPopover.d.ts.map +1 -0
  63. package/dist/components/ConfirmPopover.js +9 -0
  64. package/dist/components/ConfirmPopover.js.map +1 -0
  65. package/dist/components/PathBreadcrumb.d.ts +5 -0
  66. package/dist/components/PathBreadcrumb.d.ts.map +1 -0
  67. package/dist/components/PathBreadcrumb.js +16 -0
  68. package/dist/components/PathBreadcrumb.js.map +1 -0
  69. package/dist/components/lib/utils.d.ts +3 -0
  70. package/dist/components/lib/utils.d.ts.map +1 -0
  71. package/dist/components/lib/utils.js +6 -0
  72. package/dist/components/lib/utils.js.map +1 -0
  73. package/dist/components/ui/accordion.js +1 -1
  74. package/dist/components/ui/accordion.js.map +1 -1
  75. package/dist/components/ui/alert-dialog.d.ts +19 -0
  76. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  77. package/dist/components/ui/alert-dialog.js +42 -0
  78. package/dist/components/ui/alert-dialog.js.map +1 -0
  79. package/dist/components/ui/badge.js +1 -1
  80. package/dist/components/ui/badge.js.map +1 -1
  81. package/dist/components/ui/breadcrumb.d.ts +12 -0
  82. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  83. package/dist/components/ui/breadcrumb.js +28 -0
  84. package/dist/components/ui/breadcrumb.js.map +1 -0
  85. package/dist/components/ui/button.d.ts +9 -8
  86. package/dist/components/ui/button.d.ts.map +1 -1
  87. package/dist/components/ui/button.js +26 -21
  88. package/dist/components/ui/button.js.map +1 -1
  89. package/dist/components/ui/card.d.ts +10 -0
  90. package/dist/components/ui/card.d.ts.map +1 -0
  91. package/dist/components/ui/card.js +25 -0
  92. package/dist/components/ui/card.js.map +1 -0
  93. package/dist/components/ui/checkbox.js +1 -1
  94. package/dist/components/ui/checkbox.js.map +1 -1
  95. package/dist/components/ui/collapsible.d.ts +6 -0
  96. package/dist/components/ui/collapsible.d.ts.map +1 -0
  97. package/dist/components/ui/collapsible.js +13 -0
  98. package/dist/components/ui/collapsible.js.map +1 -0
  99. package/dist/components/ui/command.d.ts +19 -0
  100. package/dist/components/ui/command.d.ts.map +1 -0
  101. package/dist/components/ui/command.js +35 -0
  102. package/dist/components/ui/command.js.map +1 -0
  103. package/dist/components/ui/dialog.d.ts.map +1 -1
  104. package/dist/components/ui/dialog.js +1 -1
  105. package/dist/components/ui/dialog.js.map +1 -1
  106. package/dist/components/ui/drawer.js +1 -1
  107. package/dist/components/ui/drawer.js.map +1 -1
  108. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  109. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  110. package/dist/components/ui/dropdown-menu.js +52 -0
  111. package/dist/components/ui/dropdown-menu.js.map +1 -0
  112. package/dist/components/ui/form-field.d.ts +7 -0
  113. package/dist/components/ui/form-field.d.ts.map +1 -0
  114. package/dist/components/ui/form-field.js +17 -0
  115. package/dist/components/ui/form-field.js.map +1 -0
  116. package/dist/components/ui/input.js +1 -1
  117. package/dist/components/ui/input.js.map +1 -1
  118. package/dist/components/ui/label.js +1 -1
  119. package/dist/components/ui/label.js.map +1 -1
  120. package/dist/components/ui/pagination.d.ts +14 -0
  121. package/dist/components/ui/pagination.d.ts.map +1 -0
  122. package/dist/components/ui/pagination.js +30 -0
  123. package/dist/components/ui/pagination.js.map +1 -0
  124. package/dist/components/ui/popover.js +2 -2
  125. package/dist/components/ui/popover.js.map +1 -1
  126. package/dist/components/ui/progress.js +1 -1
  127. package/dist/components/ui/progress.js.map +1 -1
  128. package/dist/components/ui/resizable.d.ts +8 -0
  129. package/dist/components/ui/resizable.d.ts.map +1 -0
  130. package/dist/components/ui/resizable.js +14 -0
  131. package/dist/components/ui/resizable.js.map +1 -0
  132. package/dist/components/ui/scroll-area.d.ts +6 -0
  133. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  134. package/dist/components/ui/scroll-area.js +13 -0
  135. package/dist/components/ui/scroll-area.js.map +1 -0
  136. package/dist/components/ui/select.js +1 -1
  137. package/dist/components/ui/select.js.map +1 -1
  138. package/dist/components/ui/separator.d.ts +5 -0
  139. package/dist/components/ui/separator.d.ts.map +1 -0
  140. package/dist/components/ui/separator.js +9 -0
  141. package/dist/components/ui/separator.js.map +1 -0
  142. package/dist/components/ui/sheet.d.ts +15 -0
  143. package/dist/components/ui/sheet.d.ts.map +1 -0
  144. package/dist/components/ui/sheet.js +40 -0
  145. package/dist/components/ui/sheet.js.map +1 -0
  146. package/dist/components/ui/skeleton.d.ts +3 -0
  147. package/dist/components/ui/skeleton.d.ts.map +1 -0
  148. package/dist/components/ui/skeleton.js +7 -0
  149. package/dist/components/ui/skeleton.js.map +1 -0
  150. package/dist/components/ui/slider.js +1 -1
  151. package/dist/components/ui/slider.js.map +1 -1
  152. package/dist/components/ui/switch.js +1 -1
  153. package/dist/components/ui/switch.js.map +1 -1
  154. package/dist/components/ui/table.d.ts +11 -0
  155. package/dist/components/ui/table.d.ts.map +1 -0
  156. package/dist/components/ui/table.js +29 -0
  157. package/dist/components/ui/table.js.map +1 -0
  158. package/dist/components/ui/tabs.d.ts +12 -0
  159. package/dist/components/ui/tabs.d.ts.map +1 -0
  160. package/dist/components/ui/tabs.js +29 -0
  161. package/dist/components/ui/tabs.js.map +1 -0
  162. package/dist/components/ui/textarea.js +1 -1
  163. package/dist/components/ui/textarea.js.map +1 -1
  164. package/dist/components/ui/toggle-group.d.ts +10 -0
  165. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  166. package/dist/components/ui/toggle-group.js +23 -0
  167. package/dist/components/ui/toggle-group.js.map +1 -0
  168. package/dist/components/ui/toggle.d.ts +10 -0
  169. package/dist/components/ui/toggle.d.ts.map +1 -0
  170. package/dist/components/ui/toggle.js +27 -0
  171. package/dist/components/ui/toggle.js.map +1 -0
  172. package/dist/components/ui/tooltip.js +1 -1
  173. package/dist/components/ui/tooltip.js.map +1 -1
  174. package/dist/context/index.d.ts +27 -10
  175. package/dist/context/index.d.ts.map +1 -1
  176. package/dist/context/index.js +43 -36
  177. package/dist/context/index.js.map +1 -1
  178. package/dist/events.d.ts +10 -0
  179. package/dist/events.d.ts.map +1 -0
  180. package/dist/events.js +78 -0
  181. package/dist/events.js.map +1 -0
  182. package/dist/fiber-tree.d.ts +3 -0
  183. package/dist/fiber-tree.d.ts.map +1 -0
  184. package/dist/fiber-tree.js +93 -0
  185. package/dist/fiber-tree.js.map +1 -0
  186. package/dist/hooks.d.ts +5 -2
  187. package/dist/hooks.d.ts.map +1 -1
  188. package/dist/hooks.js +66 -6
  189. package/dist/hooks.js.map +1 -1
  190. package/dist/idb.d.ts +1 -1
  191. package/dist/idb.d.ts.map +1 -1
  192. package/dist/lib/to-plain.d.ts +2 -0
  193. package/dist/lib/to-plain.d.ts.map +1 -0
  194. package/dist/lib/to-plain.js +21 -0
  195. package/dist/lib/to-plain.js.map +1 -0
  196. package/dist/main.d.ts +1 -1
  197. package/dist/main.d.ts.map +1 -1
  198. package/dist/main.js +4 -3
  199. package/dist/main.js.map +1 -1
  200. package/dist/mods/clients.d.ts +3 -0
  201. package/dist/mods/clients.d.ts.map +1 -0
  202. package/dist/mods/clients.js +4 -0
  203. package/dist/mods/clients.js.map +1 -0
  204. package/dist/mods/editor-ui/FieldLabel.d.ts +15 -0
  205. package/dist/mods/editor-ui/FieldLabel.d.ts.map +1 -0
  206. package/dist/mods/editor-ui/FieldLabel.js +55 -0
  207. package/dist/mods/editor-ui/FieldLabel.js.map +1 -0
  208. package/dist/mods/editor-ui/client.d.ts +1 -1
  209. package/dist/mods/editor-ui/client.d.ts.map +1 -1
  210. package/dist/mods/editor-ui/client.js +1 -1
  211. package/dist/mods/editor-ui/client.js.map +1 -1
  212. package/dist/mods/editor-ui/default-edit.d.ts +2 -0
  213. package/dist/mods/editor-ui/default-edit.d.ts.map +1 -0
  214. package/dist/mods/editor-ui/default-edit.js +54 -0
  215. package/dist/mods/editor-ui/default-edit.js.map +1 -0
  216. package/dist/mods/editor-ui/default-view.d.ts +8 -1
  217. package/dist/mods/editor-ui/default-view.d.ts.map +1 -1
  218. package/dist/mods/editor-ui/default-view.js +8 -5
  219. package/dist/mods/editor-ui/default-view.js.map +1 -1
  220. package/dist/mods/editor-ui/dir-view.js +0 -2
  221. package/dist/mods/editor-ui/dir-view.js.map +1 -1
  222. package/dist/mods/editor-ui/empty-placeholder.d.ts +5 -0
  223. package/dist/mods/editor-ui/empty-placeholder.d.ts.map +1 -0
  224. package/dist/mods/editor-ui/empty-placeholder.js +14 -0
  225. package/dist/mods/editor-ui/empty-placeholder.js.map +1 -0
  226. package/dist/mods/editor-ui/form-field.d.ts +17 -0
  227. package/dist/mods/editor-ui/form-field.d.ts.map +1 -0
  228. package/dist/mods/editor-ui/form-field.js +68 -0
  229. package/dist/mods/editor-ui/form-field.js.map +1 -0
  230. package/dist/mods/editor-ui/form-fields.d.ts +1 -2
  231. package/dist/mods/editor-ui/form-fields.d.ts.map +1 -1
  232. package/dist/mods/editor-ui/form-fields.js +56 -60
  233. package/dist/mods/editor-ui/form-fields.js.map +1 -1
  234. package/dist/mods/editor-ui/layout-view.js +3 -2
  235. package/dist/mods/editor-ui/layout-view.js.map +1 -1
  236. package/dist/mods/editor-ui/list-items.js +1 -1
  237. package/dist/mods/editor-ui/list-items.js.map +1 -1
  238. package/dist/mods/editor-ui/node-utils.d.ts +2 -2
  239. package/dist/mods/editor-ui/node-utils.d.ts.map +1 -1
  240. package/dist/mods/editor-ui/node-utils.js +4 -5
  241. package/dist/mods/editor-ui/node-utils.js.map +1 -1
  242. package/dist/mods/editor-ui/type-picker.d.ts +15 -0
  243. package/dist/mods/editor-ui/type-picker.d.ts.map +1 -0
  244. package/dist/mods/editor-ui/type-picker.js +69 -0
  245. package/dist/mods/editor-ui/type-picker.js.map +1 -0
  246. package/dist/mods/editor-ui/user-view.js +1 -1
  247. package/dist/mods/editor-ui/user-view.js.map +1 -1
  248. package/dist/mods/servers.d.ts +1 -0
  249. package/dist/mods/servers.d.ts.map +1 -0
  250. package/dist/mods/servers.js +4 -0
  251. package/dist/mods/servers.js.map +1 -0
  252. package/dist/mods/treenity/groups/index.js +1 -1
  253. package/dist/mods/treenity/groups/index.js.map +1 -1
  254. package/dist/mods/treenity/preview.js +1 -1
  255. package/dist/mods/treenity/preview.js.map +1 -1
  256. package/dist/mods/treenity/ref-view.js +1 -1
  257. package/dist/mods/treenity/ref-view.js.map +1 -1
  258. package/dist/mods/treenity/schema-form.js +1 -1
  259. package/dist/mods/treenity/schema-form.js.map +1 -1
  260. package/dist/mods/treenity/seed.js +1 -1
  261. package/dist/mods/treenity/seed.js.map +1 -1
  262. package/dist/mods/treenity/type-view.js +1 -1
  263. package/dist/mods/treenity/type-view.js.map +1 -1
  264. package/dist/schema-loader.d.ts +1 -1
  265. package/dist/schema-loader.d.ts.map +1 -1
  266. package/dist/schema-loader.js +1 -1
  267. package/dist/schema-loader.js.map +1 -1
  268. package/dist/symbols.d.ts +5 -0
  269. package/dist/symbols.d.ts.map +1 -0
  270. package/dist/symbols.js +16 -0
  271. package/dist/symbols.js.map +1 -0
  272. package/dist/trpc.d.ts +10 -3
  273. package/dist/trpc.d.ts.map +1 -1
  274. package/package.json +74 -8
  275. package/src/AclEditor.tsx +11 -18
  276. package/src/ActionCards.tsx +224 -0
  277. package/src/App.tsx +204 -385
  278. package/src/ComponentSection.tsx +113 -0
  279. package/src/ErrorBoundary.tsx +37 -0
  280. package/src/Inspector.css +54 -0
  281. package/src/Inspector.tsx +73 -793
  282. package/src/Login.tsx +97 -0
  283. package/src/NodeEditor.tsx +300 -0
  284. package/src/Tree.css +91 -0
  285. package/src/Tree.tsx +40 -43
  286. package/src/bind/bind.test.ts +1 -1
  287. package/src/bind/engine.ts +1 -1
  288. package/src/bind/eval.ts +1 -1
  289. package/src/bind/hook.ts +1 -1
  290. package/src/bind/pipes.ts +1 -1
  291. package/src/cache.ts +5 -1
  292. package/src/client-tree.test.ts +1 -1
  293. package/src/client-tree.ts +22 -16
  294. package/src/client.ts +2 -4
  295. package/src/components/ConfirmDialog.tsx +34 -0
  296. package/src/components/ConfirmPopover.tsx +41 -0
  297. package/src/components/PathBreadcrumb.tsx +36 -0
  298. package/src/components/lib/utils.ts +6 -0
  299. package/src/components/lib/utils.ts.bak +6 -0
  300. package/src/components/ui/accordion.tsx +1 -1
  301. package/src/components/ui/alert-dialog.tsx +189 -0
  302. package/src/components/ui/badge.tsx +1 -1
  303. package/src/components/ui/breadcrumb.tsx +108 -0
  304. package/src/components/ui/button.tsx +53 -31
  305. package/src/components/ui/card.tsx +91 -0
  306. package/src/components/ui/checkbox.tsx +1 -1
  307. package/src/components/ui/collapsible.tsx +31 -0
  308. package/src/components/ui/command.tsx +177 -0
  309. package/src/components/ui/dialog.tsx +1 -2
  310. package/src/components/ui/drawer.tsx +1 -1
  311. package/src/components/ui/dropdown-menu.tsx +256 -0
  312. package/src/components/ui/form-field.tsx +37 -0
  313. package/src/components/ui/input.tsx +1 -1
  314. package/src/components/ui/label.tsx +1 -1
  315. package/src/components/ui/pagination.tsx +127 -0
  316. package/src/components/ui/popover.tsx +2 -2
  317. package/src/components/ui/progress.tsx +1 -1
  318. package/src/components/ui/resizable.tsx +47 -0
  319. package/src/components/ui/scroll-area.tsx +55 -0
  320. package/src/components/ui/select.tsx +1 -1
  321. package/src/components/ui/separator.tsx +27 -0
  322. package/src/components/ui/sheet.tsx +140 -0
  323. package/src/components/ui/skeleton.tsx +13 -0
  324. package/src/components/ui/slider.tsx +1 -1
  325. package/src/components/ui/switch.tsx +1 -1
  326. package/src/components/ui/table.tsx +115 -0
  327. package/src/components/ui/tabs.tsx +88 -0
  328. package/src/components/ui/textarea.tsx +1 -1
  329. package/src/components/ui/toggle-group.tsx +82 -0
  330. package/src/components/ui/toggle.tsx +46 -0
  331. package/src/components/ui/tooltip.tsx +1 -1
  332. package/src/context/index.tsx +75 -42
  333. package/src/events.ts +81 -0
  334. package/src/fiber-tree.ts +112 -0
  335. package/src/hooks.ts +88 -9
  336. package/src/idb.ts +1 -1
  337. package/src/lib/to-plain.ts +21 -0
  338. package/src/main.tsx +3 -1
  339. package/src/mods/clients.ts +3 -0
  340. package/src/mods/editor-ui/FieldLabel.tsx +124 -0
  341. package/src/mods/editor-ui/client.ts +1 -1
  342. package/src/mods/editor-ui/default-edit.tsx +99 -0
  343. package/src/mods/editor-ui/default-view.tsx +13 -8
  344. package/src/mods/editor-ui/dir-view.tsx +2 -2
  345. package/src/mods/editor-ui/editor-ui.css +174 -0
  346. package/src/mods/editor-ui/empty-placeholder.tsx +39 -0
  347. package/src/mods/editor-ui/form-field.tsx +144 -0
  348. package/src/mods/editor-ui/form-fields.tsx +132 -113
  349. package/src/mods/editor-ui/layout-view.tsx +4 -2
  350. package/src/mods/editor-ui/list-items.tsx +2 -2
  351. package/src/mods/editor-ui/node-utils.ts +4 -5
  352. package/src/mods/editor-ui/type-picker.tsx +147 -0
  353. package/src/mods/editor-ui/user-view.tsx +1 -1
  354. package/src/mods/servers.ts +2 -0
  355. package/src/mods/treenity/groups/index.tsx +1 -1
  356. package/src/mods/treenity/preview.tsx +1 -1
  357. package/src/mods/treenity/ref-view.tsx +1 -1
  358. package/src/mods/treenity/schema-form.tsx +1 -1
  359. package/src/mods/treenity/seed.ts +1 -1
  360. package/src/mods/treenity/type-view.tsx +1 -1
  361. package/src/optimistic.test.ts +111 -0
  362. package/src/remote-tree.test.ts +1 -1
  363. package/src/remote-tree.ts +1 -1
  364. package/src/root.css +117 -0
  365. package/src/schema-loader.ts +1 -1
  366. package/src/symbols.ts +18 -0
  367. package/src/index.html +0 -14
  368. package/src/style.css +0 -1269
  369. package/src/vite-env.d.ts +0 -3
@@ -0,0 +1,157 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // NodeEditor — self-contained edit panel for a node (properties, components, actions)
3
+ // Reusable: Inspector uses it as a slide-out, but can be embedded anywhere.
4
+ import { Button } from '#components/ui/button';
5
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '#components/ui/collapsible';
6
+ import { Input } from '#components/ui/input';
7
+ import { ScrollArea } from '#components/ui/scroll-area';
8
+ import { Tabs, TabsList, TabsTrigger } from '#components/ui/tabs';
9
+ import { toPlain } from '#lib/to-plain';
10
+ import { FieldLabel, RefEditor } from '#mods/editor-ui/FieldLabel';
11
+ import { getComponents, getPlainFields, getSchema } from '#mods/editor-ui/node-utils';
12
+ import { isRef, resolve } from '@treenity/core';
13
+ import { ChevronRight } from 'lucide-react';
14
+ import { useEffect, useState } from 'react';
15
+ import { proxy, snapshot, useSnapshot } from 'valtio';
16
+ import { AclEditor } from './AclEditor';
17
+ import * as cache from './cache';
18
+ import { ComponentSection } from './ComponentSection';
19
+ import { set } from './hooks';
20
+ function NodeCard({ path, type, onChangeType }) {
21
+ return (_jsxs(Collapsible, { className: "border-t border-border mt-2 pt-0.5 first:border-t-0 first:mt-0 first:pt-0", children: [_jsxs(CollapsibleTrigger, { className: "flex w-full items-center justify-between py-2 pb-1.5 text-[11px] font-semibold text-muted-foreground uppercase tracking-wider cursor-pointer select-none", children: [_jsx("span", { children: "Node" }), _jsxs("span", { className: "flex items-center gap-2 normal-case tracking-normal font-normal text-[11px] font-mono text-foreground/50", children: [path, _jsx("span", { className: "text-primary", children: type }), _jsx(ChevronRight, { className: "h-3 w-3 transition-transform duration-200 group-data-[state=open]:rotate-90" })] })] }), _jsx(CollapsibleContent, { children: _jsxs("div", { className: "py-0.5 pb-2.5", children: [_jsxs("div", { className: "field", children: [_jsx("label", { children: "$path" }), _jsx(Input, { className: "h-7 text-xs", value: path, readOnly: true })] }), _jsxs("div", { className: "field", children: [_jsx("label", { children: "$type" }), _jsx(Input, { className: "h-7 text-xs", value: type, onChange: (e) => onChangeType(e.target.value) })] })] }) })] }));
22
+ }
23
+ export function NodeEditor({ node, open, onClose, currentUserId, toast, onAddComponent }) {
24
+ const [st] = useState(() => proxy({
25
+ nodeType: '',
26
+ compTexts: {},
27
+ compData: {},
28
+ plainData: {},
29
+ tab: 'properties',
30
+ jsonText: '',
31
+ collapsed: { $node: true },
32
+ aclOwner: '',
33
+ aclRules: [],
34
+ dirty: false,
35
+ stale: false,
36
+ syncedPath: null,
37
+ syncedRev: null,
38
+ }));
39
+ const snap = useSnapshot(st);
40
+ function syncFromNode(n) {
41
+ st.nodeType = n.$type;
42
+ st.aclOwner = n.$owner ?? '';
43
+ st.aclRules = n.$acl ? [...n.$acl] : [];
44
+ const texts = {};
45
+ const cdata = {};
46
+ for (const [name, comp] of getComponents(n)) {
47
+ texts[name] = JSON.stringify(comp, null, 2);
48
+ const d = {};
49
+ for (const [k, v] of Object.entries(comp)) {
50
+ if (!k.startsWith('$'))
51
+ d[k] = v;
52
+ }
53
+ cdata[name] = d;
54
+ }
55
+ st.compTexts = texts;
56
+ st.compData = cdata;
57
+ st.plainData = getPlainFields(n);
58
+ st.jsonText = JSON.stringify(n, null, 2);
59
+ st.tab = 'properties';
60
+ }
61
+ useEffect(() => {
62
+ const pathChanged = node.$path !== st.syncedPath;
63
+ if (pathChanged) {
64
+ syncFromNode(node);
65
+ st.syncedPath = node.$path;
66
+ st.syncedRev = node.$rev;
67
+ st.dirty = false;
68
+ st.stale = false;
69
+ return;
70
+ }
71
+ if (node.$rev !== st.syncedRev) {
72
+ if (st.dirty) {
73
+ st.stale = true;
74
+ }
75
+ else {
76
+ syncFromNode(node);
77
+ st.syncedRev = node.$rev;
78
+ }
79
+ }
80
+ }, [node.$path, node.$rev]);
81
+ function handleReset() {
82
+ const current = cache.get(node.$path) ?? node;
83
+ syncFromNode(current);
84
+ st.syncedRev = current.$rev;
85
+ st.dirty = false;
86
+ st.stale = false;
87
+ }
88
+ const nodeName = node.$path === '/' ? '/' : node.$path.slice(node.$path.lastIndexOf('/') + 1);
89
+ const components = getComponents(node);
90
+ const schemaHandler = resolve(node.$type, 'schema');
91
+ const schema = schemaHandler ? schemaHandler() : null;
92
+ const mainCompCls = resolve(node.$type, 'class');
93
+ const mainCompDefaults = mainCompCls ? new mainCompCls() : null;
94
+ async function handleSave() {
95
+ const s = toPlain(snapshot(st));
96
+ let toSave;
97
+ if (s.tab === 'json') {
98
+ try {
99
+ toSave = JSON.parse(s.jsonText);
100
+ }
101
+ catch {
102
+ toast('Invalid JSON');
103
+ return;
104
+ }
105
+ }
106
+ else {
107
+ toSave = { $path: node.$path, $type: s.nodeType, ...s.plainData };
108
+ if (s.aclOwner)
109
+ toSave.$owner = s.aclOwner;
110
+ if (s.aclRules.length > 0)
111
+ toSave.$acl = [...s.aclRules];
112
+ for (const [name, comp] of components) {
113
+ const ctype = comp.$type;
114
+ const cschema = getSchema(ctype);
115
+ const cd = s.compData[name];
116
+ if ((cschema || (cd && Object.keys(cd).length > 0)) && cd) {
117
+ toSave[name] = { $type: ctype, ...cd };
118
+ }
119
+ else {
120
+ const text = s.compTexts[name];
121
+ if (text === undefined)
122
+ continue;
123
+ try {
124
+ toSave[name] = JSON.parse(text);
125
+ }
126
+ catch {
127
+ toast(`Invalid JSON in component: ${name}`);
128
+ return;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ await set(toSave);
134
+ const fresh = cache.get(node.$path);
135
+ if (fresh) {
136
+ syncFromNode(fresh);
137
+ st.syncedRev = fresh.$rev;
138
+ }
139
+ st.dirty = false;
140
+ st.stale = false;
141
+ toast('Saved');
142
+ }
143
+ function handleRemoveComponent(name) {
144
+ const next = { ...node };
145
+ delete next[name];
146
+ set(next);
147
+ }
148
+ return (_jsxs("div", { className: `edit-panel${open ? ' open' : ''}`, children: [_jsxs("div", { className: "edit-panel-header", children: [_jsxs("span", { children: ["Edit ", nodeName] }), _jsx(Button, { variant: "ghost", size: "sm", className: "h-6 w-6 p-0", onClick: onClose, children: "\u2715" })] }), _jsx(Tabs, { value: snap.tab, onValueChange: (v) => {
149
+ st.tab = v;
150
+ if (v === 'json')
151
+ st.jsonText = JSON.stringify({ ...node, ...st.plainData }, null, 2);
152
+ }, className: "px-3 pt-2", children: _jsxs(TabsList, { className: "h-8 bg-secondary", children: [_jsx(TabsTrigger, { value: "properties", className: "text-xs", children: "Properties" }), _jsx(TabsTrigger, { value: "json", className: "text-xs", children: "JSON" })] }) }), _jsx(ScrollArea, { className: "flex-1", children: _jsx("div", { className: "p-3.5", children: snap.tab === 'properties' ? (_jsxs(_Fragment, { children: [_jsx(NodeCard, { path: node.$path, type: snap.nodeType, onChangeType: (v) => { st.nodeType = v; st.dirty = true; } }), _jsx(AclEditor, { path: node.$path, owner: snap.aclOwner, rules: snap.aclRules, currentUserId: currentUserId, onChange: (o, r) => { st.aclOwner = o; st.aclRules = r; st.dirty = true; } }), _jsx(ComponentSection, { node: node, name: "", compType: node.$type, data: snap.plainData, onData: (d) => { st.plainData = d; st.dirty = true; }, toast: toast, onActionComplete: handleReset }), components.map(([name, comp]) => (_jsx(ComponentSection, { node: node, name: name, compType: comp.$type, data: (snap.compData[name] ?? {}), onData: (d) => { st.compData[name] = d; st.dirty = true; }, collapsed: !!snap.collapsed[name], onToggle: () => { st.collapsed[name] = !st.collapsed[name]; }, onRemove: () => handleRemoveComponent(name), toast: toast, onActionComplete: handleReset }, name))), !schema && !mainCompDefaults && Object.keys(snap.plainData).length > 0 && (_jsxs("div", { className: "border-t border-border mt-2 pt-0.5 first:border-t-0 first:mt-0 first:pt-0", children: [_jsx("div", { className: "flex items-center justify-between py-2 pb-1.5 text-[11px] font-semibold text-muted-foreground uppercase tracking-wider", children: "Data" }), _jsx("div", { className: "py-0.5 pb-2.5", children: Object.entries(snap.plainData).map(([k, v]) => {
153
+ const onCh = (next) => { st.plainData[k] = next; st.dirty = true; };
154
+ return (_jsxs("div", { className: `field${typeof v === 'object' && v !== null ? ' stack' : ''}`, children: [_jsx(FieldLabel, { label: k, value: v, onChange: onCh }), typeof v === 'object' && isRef(v) ? (_jsx(RefEditor, { value: v, onChange: onCh })) : (_jsx(Input, { className: "h-7 text-xs", value: typeof v === 'string' ? v : JSON.stringify(v), onChange: (e) => { st.plainData[k] = e.target.value; st.dirty = true; } }))] }, k));
155
+ }) })] }))] })) : (_jsx("textarea", { value: snap.jsonText, onChange: (e) => { st.jsonText = e.target.value; st.dirty = true; }, spellCheck: false })) }) }), _jsxs("div", { className: "edit-panel-actions", children: [snap.stale && (_jsx(Button, { variant: "ghost", size: "sm", onClick: handleReset, title: "Node updated externally", children: "Reset" })), _jsx(Button, { size: "sm", onClick: handleSave, children: "Save" }), snap.tab === 'properties' && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => onAddComponent(node.$path), children: "+ Component" }))] })] }));
156
+ }
157
+ //# sourceMappingURL=NodeEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeEditor.js","sourceRoot":"","sources":["../src/NodeEditor.tsx"],"names":[],"mappings":"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"}
package/dist/Tree.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './Tree.css';
1
2
  type TreeProps = {
2
3
  roots: string[];
3
4
  expanded: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../src/Tree.tsx"],"names":[],"mappings":"AAGA,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,CAAC;AAqNF,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAQpC"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../src/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAC;AAYpB,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,CAAC;AAyMF,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAQpC"}
package/dist/Tree.js CHANGED
@@ -1,5 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import './Tree.css';
3
+ import { ConfirmDialog } from '#components/ConfirmDialog';
4
+ import { Badge } from '#components/ui/badge';
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '#components/ui/dropdown-menu';
6
+ import { useCallback, useRef, useState, useSyncExternalStore } from 'react';
3
7
  import * as cache from './cache';
4
8
  function nodeName(p) {
5
9
  return p.slice(p.lastIndexOf('/') + 1) || '/';
@@ -20,31 +24,8 @@ function hasMatchingDescendant(path, filter) {
20
24
  return false;
21
25
  }
22
26
  function BadgeMenu({ path, typeLabel, fullType, onCreateChild, onDelete, }) {
23
- const [open, setOpen] = useState(false);
24
- const ref = useRef(null);
25
- useEffect(() => {
26
- if (!open)
27
- return;
28
- const close = (e) => {
29
- if (ref.current && !ref.current.contains(e.target))
30
- setOpen(false);
31
- };
32
- document.addEventListener('mousedown', close);
33
- return () => document.removeEventListener('mousedown', close);
34
- }, [open]);
35
- return (_jsxs("div", { ref: ref, className: "tree-badge-wrap", children: [_jsx("span", { className: "tree-badge", title: fullType, onClick: (e) => {
36
- e.stopPropagation();
37
- setOpen(!open);
38
- }, children: typeLabel }), open && (_jsxs("div", { className: "tree-menu", children: [_jsx("button", { className: "tree-menu-item", onClick: (e) => {
39
- e.stopPropagation();
40
- setOpen(false);
41
- onCreateChild(path);
42
- }, children: "+ Add child" }), onDelete && (_jsx("button", { className: "tree-menu-item danger", onClick: (e) => {
43
- e.stopPropagation();
44
- setOpen(false);
45
- if (confirm(`Delete ${path}?`))
46
- onDelete(path);
47
- }, children: "\u00D7 Delete" }))] }))] }));
27
+ const [confirmDelete, setConfirmDelete] = useState(false);
28
+ return (_jsxs(_Fragment, { children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, onClick: (e) => e.stopPropagation(), children: _jsx(Badge, { variant: "secondary", className: "tree-badge cursor-pointer text-[10px] px-1.5 py-0 h-5 font-mono font-normal", title: fullType, children: typeLabel }) }), _jsxs(DropdownMenuContent, { align: "end", className: "min-w-[120px]", onClick: (e) => e.stopPropagation(), children: [_jsx(DropdownMenuItem, { onClick: () => onCreateChild(path), children: "+ Add child" }), onDelete && (_jsx(DropdownMenuItem, { className: "text-destructive focus:text-destructive", onClick: () => setConfirmDelete(true), children: "\u00D7 Delete" }))] })] }), onDelete && (_jsx(ConfirmDialog, { open: confirmDelete, onOpenChange: setConfirmDelete, title: `Delete ${path}?`, description: "This action cannot be undone.", variant: "destructive", onConfirm: () => onDelete(path) }))] }));
48
29
  }
49
30
  function TreeNode({ path, expanded, loaded = new Set(), selected, filter, showHidden, depth, onSelect, onExpand, onCreateChild, onDelete, onMove, }) {
50
31
  // Granular subscriptions — only re-render when THIS node or ITS children change
package/dist/Tree.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../src/Tree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../src/Tree.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAgBjC,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,MAAc;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAC/C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,GAOT;IACC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,OAAO,CACL,8BACE,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,QAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAC9D,KAAC,KAAK,IACJ,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,6EAA6E,EACvF,KAAK,EAAE,QAAQ,YAEd,SAAS,GACJ,GACY,EACtB,MAAC,mBAAmB,IAAC,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAC5F,KAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,4BAEjC,EAClB,QAAQ,IAAI,CACX,KAAC,gBAAgB,IACf,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,8BAGpB,CACpB,IACmB,IACT,EACd,QAAQ,IAAI,CACX,KAAC,aAAa,IACZ,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,gBAAgB,EAC9B,KAAK,EAAE,UAAU,IAAI,GAAG,EACxB,WAAW,EAAC,+BAA+B,EAC3C,OAAO,EAAC,aAAa,EACrB,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAC/B,CACH,IACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,QAAQ,EACR,MAAM,GAAG,IAAI,GAAG,EAAU,EAC1B,QAAQ,EACR,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,MAAM,GACqD;IAC3D,gFAAgF;IAChF,MAAM,IAAI,GAAG,oBAAoB,CAC/B,WAAW,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EACtE,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAC3C,CAAC;IACF,MAAM,aAAa,GAAG,oBAAoB,CACxC,WAAW,CAAC,CAAC,EAAc,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAC1E,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA2B,IAAI,CAAC,CAAC;IAEzE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,gBAAgB,GAAG,MAAM;QAC7B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC;YACtB,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1F,CAAC,CAAC;QACJ,CAAC,CAAC,YAAY,CAAC;IAEjB,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAE5G,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,eACE,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,WAAW,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9J,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;oBACjB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAC3C,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;oBAC1D,CAAC,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;gBACvC,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;oBAChB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAQ,CAAC,qBAAqB,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;oBAC/B,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EACpC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAClD,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM;wBAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC,aAEA,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/C,eACE,SAAS,EAAC,aAAa,EACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACb,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjB,CAAC,YAEA,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GACvB,CACR,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,aAAa,GAAG,CACjC,EACD,eAAM,SAAS,EAAC,YAAY,YAAE,IAAI,GAAQ,EAC1C,KAAC,SAAS,IACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,IAAI,CAAC,KAAK,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GAClB,IACE,EACL,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CACnD,cAAK,SAAS,EAAC,eAAe,YAC3B,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3B,KAAC,QAAQ,IAEP,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,IAZT,CAAC,CAaN,CACH,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,CACL,wBACG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,QAAQ,IAAS,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAM,KAAK,IAA/B,CAAC,CAAkC,CACnD,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // Supports $ref: "." (self) and @/path.field ref args in $map expressions.
4
4
  import * as cache from '#cache';
5
5
  import { trpc } from '#trpc';
6
- import { isRef } from '@treenity/core/core';
6
+ import { isRef } from '@treenity/core';
7
7
  import { clearComputed, getComputed, setComputed } from './computed';
8
8
  import { evaluateRef, extractArgPaths, hasOnce, isCollectionRef } from './eval';
9
9
  // Active bindings: targetPath → field → { ref, unsub }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/bind/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/bind/engine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { NodeData, Ref } from '@treenity/core/core';
1
+ import type { NodeData, Ref } from '@treenity/core';
2
2
  export type BindCtx = {
3
3
  getNode: (path: string) => NodeData | undefined;
4
4
  getChildren: (path: string) => NodeData[];
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/bind/eval.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;IAChD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;CAC3C,CAAC;AA6BF,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAmC3D;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAKjD;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAIzC;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAclD"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/bind/eval.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIpD,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;IAChD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;CAC3C,CAAC;AA6BF,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAmC3D;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAKjD;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAIzC;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAclD"}
@@ -1,4 +1,4 @@
1
- import { type NodeData } from '@treenity/core/core';
1
+ import { type NodeData } from '@treenity/core';
2
2
  /** Reactive access to computed binding values for a node */
3
3
  export declare function useComputed(path: string): Record<string, unknown>;
4
4
  /** Node with computed bindings merged — raw + computed overlay */
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/bind/hook.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS3D,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUjE;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAkDvG;AAOD,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CA0B7D"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/bind/hook.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAStD,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUjE;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAkDvG;AAOD,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CA0B7D"}
package/dist/bind/hook.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // React hooks for computed bindings
2
2
  import * as cache from '#cache';
3
3
  import { set, usePath } from '#hooks';
4
- import { isRef } from '@treenity/core/core';
4
+ import { isRef } from '@treenity/core';
5
5
  import { useCallback, useMemo, useSyncExternalStore } from 'react';
6
6
  import { useSnapshot } from 'valtio';
7
7
  import { proxy } from 'valtio/vanilla';
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/bind/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/bind/hook.ts"],"names":[],"mappings":"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"}
package/dist/cache.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { NodeData } from '@treenity/core/core';
1
+ import type { NodeData } from '@treenity/core';
2
2
  type Sub = () => void;
3
3
  export declare const getLastUpdated: (path: string) => number;
4
4
  export declare const get: (path: string) => NodeData | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAetB,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,WAA+B,CAAC;AAgC3E,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,yBAAoB,CAAC;AACrD,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,YAAoB,CAAC;AACrD,eAAO,MAAM,IAAI,cAAmB,CAAC;AACrC,eAAO,MAAM,UAAU,cAAgB,CAAC;AAExC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAyBtD;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAQvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAQ5D;AAID,wBAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,QAgBzD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,QA2BhE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,QAY1D;AAID,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,IAAI,GAAG,WArJsB,IAqJS,CAAC;AACnF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,IAAI,GAAG,WAtJgB,IAsJkB,CAAC;AAC5F,eAAO,MAAM,eAAe,GAAI,IAAI,GAAG,KAAG,CAAC,MAAM,IAAI,CAGpD,CAAC;AAIF,wBAAgB,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAGhE;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,QAA2B;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAI9D;AAOD,eAAO,MAAM,SAAS,cAAe,CAAC;AACtC,wBAAgB,eAAe,CAAC,EAAE,EAAE,GAAG,iBAGtC;AACD,wBAAgB,eAAe,SAG9B;AAID,wBAAgB,KAAK,SAOpB;AAID,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB7C;AAGD,eAAO,MAAM,GAAG,6BAAc,CAAC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;AAetB,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,WAA+B,CAAC;AAgC3E,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,yBAAoB,CAAC;AACrD,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,YAAoB,CAAC;AACrD,eAAO,MAAM,IAAI,cAAmB,CAAC;AACrC,eAAO,MAAM,UAAU,cAAgB,CAAC;AAExC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAyBtD;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAQvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAQ5D;AAID,wBAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,QAiBzD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,QA4BhE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,QAY1D;AAID,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,IAAI,GAAG,WAvJsB,IAuJS,CAAC;AACnF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,IAAI,GAAG,WAxJgB,IAwJkB,CAAC;AAC5F,eAAO,MAAM,eAAe,GAAI,IAAI,GAAG,KAAG,CAAC,MAAM,IAAI,CAGpD,CAAC;AAIF,wBAAgB,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAGhE;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,QAA2B;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAI9D;AAOD,eAAO,MAAM,SAAS,cAAe,CAAC;AACtC,wBAAgB,eAAe,CAAC,EAAE,EAAE,GAAG,iBAGtC;AACD,wBAAgB,eAAe,SAG9B;AAID,wBAAgB,KAAK,SAOpB;AAID,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB7C;AAGD,eAAO,MAAM,GAAG,6BAAc,CAAC"}
package/dist/cache.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // useSyncExternalStore-friendly: stable snapshots, targeted notifications
3
3
  // IDB persistence: fire-and-forget writes, hydrate() on startup.
4
4
  import * as idb from './idb';
5
+ import { stampNode } from './symbols';
5
6
  const nodes = new Map();
6
7
  // Explicit parent -> children index. This allows nodes to have their real $path
7
8
  // while still appearing as children of virtual folders like query mounts.
@@ -100,6 +101,7 @@ export function removeFromParent(path, parent) {
100
101
  }
101
102
  // ── Writes ──
102
103
  export function put(node, virtualParent) {
104
+ stampNode(node);
103
105
  nodes.set(node.$path, node);
104
106
  const p = virtualParent ?? parentOf(node.$path);
105
107
  if (p !== null) {
@@ -128,6 +130,7 @@ export function putMany(items, virtualParent) {
128
130
  const ts = Date.now();
129
131
  const idbEntries = [];
130
132
  for (const n of items) {
133
+ stampNode(n);
131
134
  nodes.set(n.$path, n);
132
135
  lastUpdated.set(n.$path, ts);
133
136
  fire(pathSubs, n.$path);
@@ -214,6 +217,7 @@ export async function hydrate() {
214
217
  try {
215
218
  const entries = await idb.loadAll();
216
219
  for (const { data, lastUpdated: ts, virtualParent } of entries) {
220
+ stampNode(data);
217
221
  nodes.set(data.$path, data);
218
222
  lastUpdated.set(data.$path, ts);
219
223
  const p = virtualParent ?? parentOf(data.$path);
package/dist/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
+ import './fiber-tree';
1
2
  import type { trpc } from './trpc';
2
3
  type TrpcClient = typeof trpc;
3
4
  export declare function createClientTree(client: TrpcClient): {
4
5
  tree: import("@treenity/core/tree").Tree;
5
- local: import("@treenity/core/tree").Tree;
6
- remote: import("@treenity/core/tree").Tree;
7
6
  };
8
7
  export {};
9
8
  //# sourceMappingURL=client-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-tree.d.ts","sourceRoot":"","sources":["../src/client-tree.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,KAAK,UAAU,GAAG,OAAO,IAAI,CAAC;AAE9B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU;;;;EAWlD"}
1
+ {"version":3,"file":"client-tree.d.ts","sourceRoot":"","sources":["../src/client-tree.ts"],"names":[],"mappings":"AAQA,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAElC,KAAK,UAAU,GAAG,OAAO,IAAI,CAAA;AAE7B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU;;EAelD"}
@@ -1,14 +1,21 @@
1
1
  // Unified Client Tree — the browser as a peer node.
2
- // /local/* paths live in browser memory only (never hit the network).
3
- // Everything else routes through tRPC to the server.
4
- // Same Tree interface everywhere — components don't know where data lives.
2
+ // FilterTree: /local/* memory+mounts, everything else remote.
3
+ // Reads merge both /local visible alongside server nodes.
5
4
  import { createFilterTree, createMemoryTree } from '@treenity/core/tree';
6
5
  import { withCache } from '@treenity/core/tree/cache';
6
+ import { withMounts } from '@treenity/core/server/mount';
7
+ import './fiber-tree'; // registers t.mount.react
7
8
  import { createRemoteTree } from './remote-tree';
8
9
  export function createClientTree(client) {
9
- const local = createMemoryTree();
10
+ const memory = createMemoryTree();
10
11
  const remote = withCache(createRemoteTree(client));
12
+ // Seed local tree
13
+ memory.set({ $path: '/local', $type: 'dir' });
14
+ memory.set({ $path: '/local/react', $type: 'dir', mount: { $type: 't.mount.react' } });
15
+ const local = withMounts(memory);
16
+ // Writes: /local/* → memory, else → remote
17
+ // Reads: merge both — /local visible alongside server nodes
11
18
  const tree = createFilterTree(local, remote, (node) => node.$path.startsWith('/local'));
12
- return { tree, local, remote };
19
+ return { tree };
13
20
  }
14
21
  //# sourceMappingURL=client-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-tree.js","sourceRoot":"","sources":["../src/client-tree.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,sEAAsE;AACtE,qDAAqD;AACrD,2EAA2E;AAE3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,gBAAgB,CAC3B,KAAK,EACL,MAAM,EACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC1C,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"client-tree.js","sourceRoot":"","sources":["../src/client-tree.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,kEAAkE;AAClE,4DAA4D;AAG5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,cAAc,CAAA,CAAC,0BAA0B;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKhD,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IAElD,kBAAkB;IAClB,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAc,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAc,CAAC,CAAA;IAElG,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAEhC,2CAA2C;IAC3C,4DAA4D;IAC5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvF,OAAO,EAAE,IAAI,EAAE,CAAA;AACjB,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const tree: import("@treenity/core/tree").Tree, local: import("@treenity/core/tree").Tree, remote: import("@treenity/core/tree").Tree;
1
+ export declare const tree: import("@treenity/core/tree").Tree;
2
2
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,eAAO,MAAQ,IAAI,sCAAE,KAAK,sCAAE,MAAM,oCAA2B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,eAAO,MAAQ,IAAI,oCAA2B,CAAC"}
package/dist/client.js CHANGED
@@ -1,10 +1,8 @@
1
1
  /// <reference types="vite/client" />
2
- // The browser peer node — singleton client tree.
3
- // /local/* in memory, everything else via tRPC.
2
+ // The browser peer node — memory is root, server is mounted.
4
3
  import { createClientTree } from './client-tree';
5
4
  import { trpc } from './trpc';
6
- export const { tree, local, remote } = createClientTree(trpc);
7
- // Dev: expose tree for console debugging (e.g. __tree.get('/local/ui/theme'))
5
+ export const { tree } = createClientTree(trpc);
8
6
  if (import.meta.env?.DEV)
9
7
  globalThis.__tree = tree;
10
8
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,iDAAiD;AACjD,gDAAgD;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAE9D,8EAA8E;AAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;IAAG,UAAkB,CAAC,MAAM,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,6DAA6D;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAE/C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;IAAG,UAAkB,CAAC,MAAM,GAAG,IAAI,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare function ConfirmDialog({ open, onOpenChange, title, description, onConfirm, variant }: {
2
+ open: boolean;
3
+ onOpenChange: (open: boolean) => void;
4
+ title: string;
5
+ description?: string;
6
+ onConfirm: () => void;
7
+ variant?: 'default' | 'destructive';
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=ConfirmDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmDialog.tsx"],"names":[],"mappings":"AAWA,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,OAAmB,EAAE,EAAE;IACxG,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC,2CAeA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '#components/ui/alert-dialog';
3
+ export function ConfirmDialog({ open, onOpenChange, title, description, onConfirm, variant = 'default' }) {
4
+ return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), description && _jsx(AlertDialogDescription, { children: description })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Cancel" }), _jsx(AlertDialogAction, { variant: variant, onClick: onConfirm, children: "Confirm" })] })] }) }));
5
+ }
6
+ //# sourceMappingURL=ConfirmDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../src/components/ConfirmDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAOrG;IACC,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,YACjD,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,KAAK,GAAoB,EAC3C,WAAW,IAAI,KAAC,sBAAsB,cAAE,WAAW,GAA0B,IAC5D,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,yBAA2B,EAC7C,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,wBAA6B,IAClE,IACD,GACT,CACf,CAAC;AACJ,CAAC"}