@vuer-ai/vuer-uikit 0.0.73 → 0.0.74

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 (433) hide show
  1. package/dist/SyncScroll/SyncScroll.cjs +15 -11
  2. package/dist/SyncScroll/SyncScroll.d.cts +2 -1
  3. package/dist/SyncScroll/SyncScroll.d.ts +2 -1
  4. package/dist/SyncScroll/SyncScroll.mjs +5 -5
  5. package/dist/SyncScroll/index.cjs +15 -11
  6. package/dist/SyncScroll/index.d.cts +1 -1
  7. package/dist/SyncScroll/index.d.ts +1 -1
  8. package/dist/SyncScroll/index.mjs +5 -5
  9. package/dist/chunk-2GLIFBNP.cjs +20 -0
  10. package/dist/{chunk-7OHIAOEL.cjs → chunk-2JDLZHCB.cjs} +36 -15
  11. package/dist/{chunk-TH2MJEHW.mjs → chunk-2JZMJ2ZP.mjs} +1 -1
  12. package/dist/{chunk-A5S72EIK.cjs → chunk-347DAO5H.cjs} +2 -2
  13. package/dist/{chunk-RE74NVMU.mjs → chunk-3AVBTPE6.mjs} +2 -2
  14. package/dist/{chunk-ZLQIYYLM.mjs → chunk-3BKTGDQM.mjs} +1 -1
  15. package/dist/chunk-4U232QAX.mjs +79 -0
  16. package/dist/chunk-5EXV5EWF.mjs +38 -0
  17. package/dist/{chunk-7Y2LX6UY.mjs → chunk-5YXW3C3G.mjs} +1 -1
  18. package/dist/{chunk-MTITDGHI.mjs → chunk-623MBAXA.mjs} +2 -2
  19. package/dist/chunk-6L7FIR3L.cjs +20 -0
  20. package/dist/chunk-6TSA7KXX.cjs +38 -0
  21. package/dist/{chunk-A77GE42F.cjs → chunk-75PCMZP2.cjs} +2 -2
  22. package/dist/chunk-7PJS7VX3.mjs +18 -0
  23. package/dist/chunk-A2LWPEGE.cjs +42 -0
  24. package/dist/{chunk-EDHFKW5G.cjs → chunk-ARO7HIKD.cjs} +3 -3
  25. package/dist/{chunk-QCSP3AI3.cjs → chunk-BMUCXNQH.cjs} +210 -44
  26. package/dist/chunk-CIPI2V54.mjs +66 -0
  27. package/dist/chunk-CLGNOISX.mjs +18 -0
  28. package/dist/{chunk-PABIHEC7.mjs → chunk-CXD4LN7V.mjs} +1 -1
  29. package/dist/chunk-D2DMH5WY.mjs +39 -0
  30. package/dist/{chunk-RXQGFPLP.cjs → chunk-DLHTCOQO.cjs} +9 -9
  31. package/dist/{chunk-NUH6VCC7.cjs → chunk-DR5AQ3WH.cjs} +2 -2
  32. package/dist/{chunk-X46KNBED.mjs → chunk-EDLK6SIA.mjs} +1 -1
  33. package/dist/{chunk-CGFJLQRG.mjs → chunk-EEKGYANW.mjs} +58 -1
  34. package/dist/{chunk-JUFXAXIV.cjs → chunk-F6KFLIZX.cjs} +2 -2
  35. package/dist/{chunk-D6326INV.cjs → chunk-FABHCVYU.cjs} +58 -0
  36. package/dist/chunk-FCDHXWZT.mjs +247 -0
  37. package/dist/{chunk-JVCED76T.mjs → chunk-FOVIOX4K.mjs} +210 -44
  38. package/dist/chunk-G2ZYONQO.cjs +86 -0
  39. package/dist/{chunk-RVJFAWT2.mjs → chunk-GC6LIMCT.mjs} +1 -1
  40. package/dist/{chunk-MPDDUGHS.cjs → chunk-GEV3OT4W.cjs} +3 -3
  41. package/dist/{chunk-BPGKIZ6G.mjs → chunk-H5TEN4OP.mjs} +7 -1
  42. package/dist/chunk-HOC7GE4H.mjs +18 -0
  43. package/dist/chunk-IDEJBDZT.cjs +47 -0
  44. package/dist/{chunk-ES4LBRHV.mjs → chunk-IDUVYPN7.mjs} +1 -1
  45. package/dist/{chunk-V25THXL6.mjs → chunk-IV6NCQWD.mjs} +1 -1
  46. package/dist/{chunk-SIU54HGH.mjs → chunk-J3ZWVQT7.mjs} +1 -1
  47. package/dist/chunk-JWKOW2OV.mjs +75 -0
  48. package/dist/{chunk-MK6XW5PC.cjs → chunk-JZYL64WT.cjs} +2 -2
  49. package/dist/chunk-K22BEXUA.mjs +36 -0
  50. package/dist/{chunk-QFMQNY4G.cjs → chunk-LBWMTA5T.cjs} +1 -1
  51. package/dist/chunk-LP3AGGRK.cjs +40 -0
  52. package/dist/{chunk-QCD2WTD3.mjs → chunk-LQOPO4KU.mjs} +1 -5
  53. package/dist/chunk-LSZ54G6L.cjs +20 -0
  54. package/dist/{chunk-GXRV2QEP.cjs → chunk-MBZTFLHH.cjs} +7 -1
  55. package/dist/{chunk-SN46OY24.cjs → chunk-ME6B5H7U.cjs} +2 -2
  56. package/dist/{chunk-OGNI52H4.mjs → chunk-MLS3WBOH.mjs} +1 -1
  57. package/dist/chunk-MVAFOQ67.cjs +17 -0
  58. package/dist/chunk-MYHEWN2R.cjs +20 -0
  59. package/dist/chunk-N3ERBIAQ.cjs +20 -0
  60. package/dist/{chunk-LUAVB7SY.cjs → chunk-NH3Y35ET.cjs} +3 -3
  61. package/dist/chunk-NW67ZQID.mjs +18 -0
  62. package/dist/chunk-O7CV47DL.mjs +18 -0
  63. package/dist/chunk-OC4HRPZU.mjs +15 -0
  64. package/dist/{chunk-MMQQYV2I.cjs → chunk-OVXFWKYT.cjs} +2 -2
  65. package/dist/chunk-OX2U5RAG.cjs +2 -0
  66. package/dist/{chunk-NWA32DT2.cjs → chunk-Q4XH2Z5M.cjs} +2 -2
  67. package/dist/chunk-QIOARRDT.cjs +48 -0
  68. package/dist/chunk-RJ7I6ZQK.cjs +248 -0
  69. package/dist/{chunk-CX7AH4R4.mjs → chunk-SHHO7KA5.mjs} +8 -8
  70. package/dist/chunk-SYRAELOA.mjs +18 -0
  71. package/dist/chunk-T4C3YYFC.mjs +63 -0
  72. package/dist/chunk-T6NE6TOR.mjs +169 -0
  73. package/dist/chunk-TCPOLLWA.mjs +45 -0
  74. package/dist/{chunk-MTB2EWG2.mjs → chunk-U3LN5NB6.mjs} +1 -1
  75. package/dist/chunk-UAVOCIHE.cjs +20 -0
  76. package/dist/{chunk-DWU32IXO.mjs → chunk-UB6LW4IC.mjs} +1 -1
  77. package/dist/chunk-UCHEAJWW.cjs +171 -0
  78. package/dist/{chunk-JXG7KTJS.cjs → chunk-UMTZY5KK.cjs} +2 -2
  79. package/dist/chunk-UYTWOSZB.mjs +45 -0
  80. package/dist/{chunk-RHX3D3GE.mjs → chunk-VA4LUFKD.mjs} +1 -1
  81. package/dist/chunk-VPQ5SSY3.mjs +246 -0
  82. package/dist/{chunk-DSWSIBVQ.cjs → chunk-VXZURKMQ.cjs} +1 -5
  83. package/dist/chunk-WJL5HMO6.cjs +77 -0
  84. package/dist/{chunk-CEV3ZNNG.mjs → chunk-XATVREJU.mjs} +1 -1
  85. package/dist/{chunk-NU4OG44J.cjs → chunk-XL2LLRL5.cjs} +2 -2
  86. package/dist/chunk-XMUP5MIM.mjs +1 -0
  87. package/dist/chunk-YBC47MDX.cjs +65 -0
  88. package/dist/chunk-YIXNFI7D.cjs +249 -0
  89. package/dist/{chunk-NJEIDGQY.cjs → chunk-YZIR6LIY.cjs} +1 -1
  90. package/dist/{chunk-PMBLY4AL.cjs → chunk-Z2GGX66U.cjs} +2 -2
  91. package/dist/chunk-Z6UDRPC2.cjs +68 -0
  92. package/dist/{chunk-MMOB4YG4.mjs → chunk-ZNY7VYIN.mjs} +36 -15
  93. package/dist/highlight-cursor/enhanced-components.cjs +11 -11
  94. package/dist/highlight-cursor/enhanced-components.d.cts +1 -1
  95. package/dist/highlight-cursor/enhanced-components.d.ts +1 -1
  96. package/dist/highlight-cursor/enhanced-components.mjs +6 -6
  97. package/dist/highlight-cursor/index.cjs +11 -11
  98. package/dist/highlight-cursor/index.d.cts +1 -1
  99. package/dist/highlight-cursor/index.d.ts +1 -1
  100. package/dist/highlight-cursor/index.mjs +6 -6
  101. package/dist/hooks/index.cjs +8 -8
  102. package/dist/hooks/index.mjs +4 -4
  103. package/dist/hooks/useDocument.cjs +2 -2
  104. package/dist/hooks/useDocument.mjs +1 -1
  105. package/dist/hooks/useLocalStorage.cjs +2 -2
  106. package/dist/hooks/useLocalStorage.mjs +1 -1
  107. package/dist/hooks/useQueryParams.cjs +3 -3
  108. package/dist/hooks/useQueryParams.mjs +2 -2
  109. package/dist/hooks/useWindow.cjs +2 -2
  110. package/dist/hooks/useWindow.mjs +1 -1
  111. package/dist/index.cjs +365 -340
  112. package/dist/index.css +1 -0
  113. package/dist/index.d.cts +22 -20
  114. package/dist/index.d.ts +22 -20
  115. package/dist/index.mjs +61 -48
  116. package/dist/styles/theme.css +1 -0
  117. package/dist/ui/UIKitBadge.cjs +9 -9
  118. package/dist/ui/UIKitBadge.mjs +5 -5
  119. package/dist/ui/avatar.cjs +4 -4
  120. package/dist/ui/avatar.mjs +4 -4
  121. package/dist/ui/badge.cjs +4 -4
  122. package/dist/ui/badge.d.cts +1 -1
  123. package/dist/ui/badge.d.ts +1 -1
  124. package/dist/ui/badge.mjs +4 -4
  125. package/dist/ui/button.cjs +4 -4
  126. package/dist/ui/button.mjs +4 -4
  127. package/dist/ui/card.cjs +4 -4
  128. package/dist/ui/card.mjs +4 -4
  129. package/dist/ui/checkbox.cjs +4 -4
  130. package/dist/ui/checkbox.mjs +4 -4
  131. package/dist/ui/collapsible.cjs +4 -4
  132. package/dist/ui/collapsible.mjs +4 -4
  133. package/dist/ui/drawer.cjs +4 -4
  134. package/dist/ui/drawer.mjs +4 -4
  135. package/dist/ui/dropdown.cjs +4 -4
  136. package/dist/ui/dropdown.mjs +4 -4
  137. package/dist/ui/icons/MouseCursorIcons.cjs +14 -0
  138. package/dist/ui/icons/MouseCursorIcons.d.cts +9 -0
  139. package/dist/ui/icons/MouseCursorIcons.d.ts +9 -0
  140. package/dist/ui/icons/MouseCursorIcons.mjs +1 -0
  141. package/dist/ui/icons/index.cjs +10 -1
  142. package/dist/ui/icons/index.d.cts +1 -0
  143. package/dist/ui/icons/index.d.ts +1 -0
  144. package/dist/ui/icons/index.mjs +2 -1
  145. package/dist/ui/index.cjs +347 -323
  146. package/dist/ui/index.d.cts +21 -19
  147. package/dist/ui/index.d.ts +21 -19
  148. package/dist/ui/index.mjs +62 -46
  149. package/dist/ui/inputs/color-input.cjs +21 -0
  150. package/dist/ui/inputs/color-input.mjs +12 -0
  151. package/dist/ui/inputs/index.cjs +111 -0
  152. package/dist/ui/inputs/index.d.cts +20 -0
  153. package/dist/ui/inputs/index.d.ts +20 -0
  154. package/dist/ui/inputs/index.mjs +30 -0
  155. package/dist/ui/inputs/input-numbers.cjs +21 -0
  156. package/dist/ui/{input-numbers.d.cts → inputs/input-numbers.d.cts} +2 -1
  157. package/dist/ui/{input-numbers.d.ts → inputs/input-numbers.d.ts} +2 -1
  158. package/dist/ui/inputs/input-numbers.mjs +12 -0
  159. package/dist/ui/inputs/input.cjs +28 -0
  160. package/dist/ui/inputs/input.mjs +11 -0
  161. package/dist/ui/inputs/number-inputs/CmInput.cjs +22 -0
  162. package/dist/ui/inputs/number-inputs/CmInput.d.cts +13 -0
  163. package/dist/ui/inputs/number-inputs/CmInput.d.ts +13 -0
  164. package/dist/ui/inputs/number-inputs/CmInput.mjs +13 -0
  165. package/dist/ui/inputs/number-inputs/DegInput.cjs +22 -0
  166. package/dist/ui/inputs/number-inputs/DegInput.d.cts +13 -0
  167. package/dist/ui/inputs/number-inputs/DegInput.d.ts +13 -0
  168. package/dist/ui/inputs/number-inputs/DegInput.mjs +13 -0
  169. package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +24 -0
  170. package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +15 -0
  171. package/dist/ui/inputs/number-inputs/EulerInput.cjs +23 -0
  172. package/dist/ui/inputs/number-inputs/EulerInput.mjs +14 -0
  173. package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +24 -0
  174. package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +15 -0
  175. package/dist/ui/inputs/number-inputs/InchInput.cjs +22 -0
  176. package/dist/ui/inputs/number-inputs/InchInput.d.cts +13 -0
  177. package/dist/ui/inputs/number-inputs/InchInput.d.ts +13 -0
  178. package/dist/ui/inputs/number-inputs/InchInput.mjs +13 -0
  179. package/dist/ui/inputs/number-inputs/IntInput.cjs +22 -0
  180. package/dist/ui/inputs/number-inputs/IntInput.d.cts +13 -0
  181. package/dist/ui/inputs/number-inputs/IntInput.d.ts +13 -0
  182. package/dist/ui/inputs/number-inputs/IntInput.mjs +13 -0
  183. package/dist/ui/inputs/number-inputs/KVectorInput.cjs +23 -0
  184. package/dist/ui/inputs/number-inputs/KVectorInput.mjs +14 -0
  185. package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +23 -0
  186. package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +14 -0
  187. package/dist/ui/inputs/number-inputs/RadInput.cjs +22 -0
  188. package/dist/ui/inputs/number-inputs/RadInput.d.cts +13 -0
  189. package/dist/ui/inputs/number-inputs/RadInput.d.ts +13 -0
  190. package/dist/ui/inputs/number-inputs/RadInput.mjs +13 -0
  191. package/dist/ui/inputs/number-inputs/TimeInput.cjs +22 -0
  192. package/dist/ui/inputs/number-inputs/TimeInput.d.cts +13 -0
  193. package/dist/ui/inputs/number-inputs/TimeInput.d.ts +13 -0
  194. package/dist/ui/inputs/number-inputs/TimeInput.mjs +13 -0
  195. package/dist/ui/inputs/number-inputs/Vec3Input.cjs +23 -0
  196. package/dist/ui/inputs/number-inputs/Vec3Input.mjs +14 -0
  197. package/dist/ui/inputs/number-inputs/VectorInput.cjs +22 -0
  198. package/dist/ui/inputs/number-inputs/VectorInput.mjs +13 -0
  199. package/dist/ui/inputs/number-inputs/index.cjs +83 -0
  200. package/dist/ui/{form → inputs/number-inputs}/index.d.cts +1 -2
  201. package/dist/ui/{form → inputs/number-inputs}/index.d.ts +1 -2
  202. package/dist/ui/inputs/number-inputs/index.mjs +26 -0
  203. package/dist/ui/inputs/presets-input.cjs +22 -0
  204. package/dist/ui/inputs/presets-input.mjs +13 -0
  205. package/dist/ui/label.cjs +4 -4
  206. package/dist/ui/label.mjs +4 -4
  207. package/dist/ui/layout.cjs +4 -4
  208. package/dist/ui/layout.mjs +4 -4
  209. package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +4 -4
  210. package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +4 -4
  211. package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +4 -4
  212. package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +4 -4
  213. package/dist/ui/layouts/dock-layout/index.cjs +4 -4
  214. package/dist/ui/layouts/dock-layout/index.mjs +4 -4
  215. package/dist/ui/layouts/index.cjs +11 -11
  216. package/dist/ui/layouts/index.mjs +7 -7
  217. package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +4 -4
  218. package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +4 -4
  219. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +6 -6
  220. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +5 -5
  221. package/dist/ui/layouts/liquid-layout/index.cjs +6 -6
  222. package/dist/ui/layouts/liquid-layout/index.mjs +5 -5
  223. package/dist/ui/modal.cjs +4 -4
  224. package/dist/ui/modal.mjs +4 -4
  225. package/dist/ui/navigation.cjs +4 -4
  226. package/dist/ui/navigation.mjs +4 -4
  227. package/dist/ui/pagination.cjs +4 -4
  228. package/dist/ui/pagination.mjs +4 -4
  229. package/dist/ui/panel.cjs +4 -4
  230. package/dist/ui/panel.mjs +4 -4
  231. package/dist/ui/popover.cjs +4 -4
  232. package/dist/ui/popover.mjs +4 -4
  233. package/dist/ui/radio-group.cjs +4 -4
  234. package/dist/ui/radio-group.mjs +4 -4
  235. package/dist/ui/resizable.cjs +4 -4
  236. package/dist/ui/resizable.d.cts +3 -0
  237. package/dist/ui/resizable.d.ts +3 -0
  238. package/dist/ui/resizable.mjs +4 -4
  239. package/dist/ui/select.cjs +4 -4
  240. package/dist/ui/select.mjs +4 -4
  241. package/dist/ui/separator.cjs +4 -4
  242. package/dist/ui/separator.mjs +4 -4
  243. package/dist/ui/sheet.cjs +4 -4
  244. package/dist/ui/sheet.mjs +4 -4
  245. package/dist/ui/sidebar.cjs +31 -31
  246. package/dist/ui/sidebar.d.cts +2 -2
  247. package/dist/ui/sidebar.d.ts +2 -2
  248. package/dist/ui/sidebar.mjs +7 -7
  249. package/dist/ui/skeleton.cjs +4 -4
  250. package/dist/ui/skeleton.mjs +4 -4
  251. package/dist/ui/slider.cjs +4 -4
  252. package/dist/ui/slider.mjs +4 -4
  253. package/dist/ui/switch.cjs +4 -4
  254. package/dist/ui/switch.mjs +4 -4
  255. package/dist/ui/table.cjs +4 -4
  256. package/dist/ui/table.mjs +4 -4
  257. package/dist/ui/tabs.cjs +4 -4
  258. package/dist/ui/tabs.mjs +4 -4
  259. package/dist/ui/textarea.cjs +4 -4
  260. package/dist/ui/textarea.mjs +4 -4
  261. package/dist/ui/theme/ThemeToggles.cjs +7 -7
  262. package/dist/ui/theme/ThemeToggles.mjs +5 -5
  263. package/dist/ui/theme/index.cjs +7 -7
  264. package/dist/ui/theme/index.mjs +5 -5
  265. package/dist/ui/timeline.cjs +10 -7
  266. package/dist/ui/timeline.mjs +9 -6
  267. package/dist/ui/toggle-buttons.cjs +4 -4
  268. package/dist/ui/toggle-buttons.mjs +4 -4
  269. package/dist/ui/toggle-group.cjs +4 -4
  270. package/dist/ui/toggle-group.mjs +4 -4
  271. package/dist/ui/toggle.cjs +4 -4
  272. package/dist/ui/toggle.mjs +4 -4
  273. package/dist/ui/toolbar.cjs +4 -4
  274. package/dist/ui/toolbar.mjs +4 -4
  275. package/dist/ui/tooltip.cjs +4 -4
  276. package/dist/ui/tooltip.mjs +4 -4
  277. package/dist/ui/tree-view-v2.cjs +9 -6
  278. package/dist/ui/tree-view-v2.d.cts +2 -1
  279. package/dist/ui/tree-view-v2.d.ts +2 -1
  280. package/dist/ui/tree-view-v2.mjs +8 -5
  281. package/dist/ui/tree-view.cjs +4 -4
  282. package/dist/ui/tree-view.mjs +4 -4
  283. package/dist/ui/version-badge.cjs +2 -0
  284. package/dist/ui/version-badge.d.cts +2 -0
  285. package/dist/ui/version-badge.d.ts +2 -0
  286. package/dist/ui/version-badge.mjs +1 -0
  287. package/dist/ui/waterfall/CursorOverlay.cjs +20 -0
  288. package/dist/ui/waterfall/CursorOverlay.d.cts +34 -0
  289. package/dist/ui/waterfall/CursorOverlay.d.ts +34 -0
  290. package/dist/ui/waterfall/CursorOverlay.mjs +11 -0
  291. package/dist/ui/waterfall/NavigationControls.cjs +11 -0
  292. package/dist/ui/waterfall/NavigationControls.d.cts +11 -0
  293. package/dist/ui/waterfall/NavigationControls.d.ts +11 -0
  294. package/dist/ui/waterfall/NavigationControls.mjs +2 -0
  295. package/dist/ui/waterfall/Tick.cjs +10 -0
  296. package/dist/ui/waterfall/Tick.d.cts +19 -0
  297. package/dist/ui/waterfall/Tick.d.ts +19 -0
  298. package/dist/ui/waterfall/Tick.mjs +1 -0
  299. package/dist/ui/waterfall/TimeRuleEventDot.cjs +10 -0
  300. package/dist/ui/waterfall/TimeRuleEventDot.d.cts +13 -0
  301. package/dist/ui/waterfall/TimeRuleEventDot.d.ts +13 -0
  302. package/dist/ui/waterfall/TimeRuleEventDot.mjs +1 -0
  303. package/dist/ui/waterfall/TimelineEvent.cjs +21 -0
  304. package/dist/ui/waterfall/TimelineEvent.d.cts +22 -0
  305. package/dist/ui/waterfall/TimelineEvent.d.ts +22 -0
  306. package/dist/ui/waterfall/TimelineEvent.mjs +12 -0
  307. package/dist/ui/waterfall/TimelineProcessBar.cjs +21 -0
  308. package/dist/ui/waterfall/TimelineProcessBar.d.cts +23 -0
  309. package/dist/ui/waterfall/TimelineProcessBar.d.ts +23 -0
  310. package/dist/ui/waterfall/TimelineProcessBar.mjs +12 -0
  311. package/dist/ui/waterfall/Wedges.cjs +24 -0
  312. package/dist/ui/waterfall/Wedges.d.cts +21 -0
  313. package/dist/ui/waterfall/Wedges.d.ts +21 -0
  314. package/dist/ui/waterfall/Wedges.mjs +11 -0
  315. package/dist/ui/waterfall/WheelZoomContext.cjs +10 -0
  316. package/dist/ui/waterfall/WheelZoomContext.d.cts +49 -0
  317. package/dist/ui/waterfall/WheelZoomContext.d.ts +49 -0
  318. package/dist/ui/waterfall/WheelZoomContext.mjs +1 -0
  319. package/dist/ui/waterfall/hooks/useTimelineState.cjs +10 -0
  320. package/dist/ui/waterfall/hooks/useTimelineState.d.cts +84 -0
  321. package/dist/ui/waterfall/hooks/useTimelineState.d.ts +84 -0
  322. package/dist/ui/waterfall/hooks/useTimelineState.mjs +1 -0
  323. package/dist/ui/waterfall/hooks/useViewport.cjs +11 -0
  324. package/dist/ui/waterfall/hooks/useViewport.d.cts +36 -0
  325. package/dist/ui/waterfall/hooks/useViewport.d.ts +36 -0
  326. package/dist/ui/waterfall/hooks/useViewport.mjs +2 -0
  327. package/dist/ui/waterfall/index.cjs +36 -0
  328. package/dist/ui/waterfall/index.d.cts +36 -0
  329. package/dist/ui/waterfall/index.d.ts +36 -0
  330. package/dist/ui/waterfall/index.mjs +27 -0
  331. package/dist/ui/waterfall/types.cjs +2 -0
  332. package/dist/ui/waterfall/types.d.cts +22 -0
  333. package/dist/ui/waterfall/types.d.ts +22 -0
  334. package/dist/ui/waterfall/types.mjs +1 -0
  335. package/dist/ui/waterfall/utils.cjs +30 -0
  336. package/dist/ui/waterfall/utils.d.cts +36 -0
  337. package/dist/ui/waterfall/utils.d.ts +36 -0
  338. package/dist/ui/waterfall/utils.mjs +1 -0
  339. package/package.json +1 -1
  340. package/dist/chunk-3BGIINLM.cjs +0 -11
  341. package/dist/chunk-6YW46AEZ.mjs +0 -9
  342. package/dist/chunk-AQ63VYTM.mjs +0 -9
  343. package/dist/chunk-CMNKKJ53.mjs +0 -9
  344. package/dist/chunk-DL45AGBN.cjs +0 -11
  345. package/dist/chunk-EN5B5LNH.mjs +0 -9
  346. package/dist/chunk-GYIBDDVZ.mjs +0 -9
  347. package/dist/chunk-PJHDOHO3.cjs +0 -11
  348. package/dist/chunk-S4QKTL7K.cjs +0 -11
  349. package/dist/chunk-SGFYY4IN.mjs +0 -9
  350. package/dist/chunk-VVLZSHQA.cjs +0 -11
  351. package/dist/chunk-VWGEIGJJ.cjs +0 -14
  352. package/dist/chunk-WZS23ODD.mjs +0 -12
  353. package/dist/chunk-ZMQEJUWR.cjs +0 -11
  354. package/dist/ui/color-input.cjs +0 -21
  355. package/dist/ui/color-input.mjs +0 -12
  356. package/dist/ui/form/CmInput.cjs +0 -22
  357. package/dist/ui/form/CmInput.d.cts +0 -10
  358. package/dist/ui/form/CmInput.d.ts +0 -10
  359. package/dist/ui/form/CmInput.mjs +0 -13
  360. package/dist/ui/form/DegInput.cjs +0 -22
  361. package/dist/ui/form/DegInput.d.cts +0 -10
  362. package/dist/ui/form/DegInput.d.ts +0 -10
  363. package/dist/ui/form/DegInput.mjs +0 -13
  364. package/dist/ui/form/EulerDegInput.cjs +0 -24
  365. package/dist/ui/form/EulerDegInput.mjs +0 -15
  366. package/dist/ui/form/EulerInput.cjs +0 -23
  367. package/dist/ui/form/EulerInput.mjs +0 -14
  368. package/dist/ui/form/EulerRadInput.cjs +0 -24
  369. package/dist/ui/form/EulerRadInput.mjs +0 -15
  370. package/dist/ui/form/InchInput.cjs +0 -22
  371. package/dist/ui/form/InchInput.d.cts +0 -10
  372. package/dist/ui/form/InchInput.d.ts +0 -10
  373. package/dist/ui/form/InchInput.mjs +0 -13
  374. package/dist/ui/form/IntInput.cjs +0 -22
  375. package/dist/ui/form/IntInput.d.cts +0 -10
  376. package/dist/ui/form/IntInput.d.ts +0 -10
  377. package/dist/ui/form/IntInput.mjs +0 -13
  378. package/dist/ui/form/KVectorInput.cjs +0 -23
  379. package/dist/ui/form/KVectorInput.mjs +0 -14
  380. package/dist/ui/form/NumberInput.cjs +0 -21
  381. package/dist/ui/form/NumberInput.d.cts +0 -11
  382. package/dist/ui/form/NumberInput.d.ts +0 -11
  383. package/dist/ui/form/NumberInput.mjs +0 -12
  384. package/dist/ui/form/QuaternionInput.cjs +0 -23
  385. package/dist/ui/form/QuaternionInput.mjs +0 -14
  386. package/dist/ui/form/RadInput.cjs +0 -22
  387. package/dist/ui/form/RadInput.d.cts +0 -10
  388. package/dist/ui/form/RadInput.d.ts +0 -10
  389. package/dist/ui/form/RadInput.mjs +0 -13
  390. package/dist/ui/form/TimeInput.cjs +0 -22
  391. package/dist/ui/form/TimeInput.d.cts +0 -10
  392. package/dist/ui/form/TimeInput.d.ts +0 -10
  393. package/dist/ui/form/TimeInput.mjs +0 -13
  394. package/dist/ui/form/Vec3Input.cjs +0 -23
  395. package/dist/ui/form/Vec3Input.mjs +0 -14
  396. package/dist/ui/form/VectorInput.cjs +0 -22
  397. package/dist/ui/form/VectorInput.mjs +0 -13
  398. package/dist/ui/form/index.cjs +0 -88
  399. package/dist/ui/form/index.mjs +0 -27
  400. package/dist/ui/input-numbers.cjs +0 -21
  401. package/dist/ui/input-numbers.mjs +0 -12
  402. package/dist/ui/input.cjs +0 -28
  403. package/dist/ui/input.mjs +0 -11
  404. package/dist/ui/presets-input.cjs +0 -22
  405. package/dist/ui/presets-input.mjs +0 -13
  406. /package/dist/{chunk-CVGK4HLB.cjs → chunk-4H5EXSBN.cjs} +0 -0
  407. /package/dist/{chunk-OJUTHWTF.mjs → chunk-5UMTQHTX.mjs} +0 -0
  408. /package/dist/{chunk-TDGOQMYZ.cjs → chunk-65OSA4MM.cjs} +0 -0
  409. /package/dist/{chunk-QHXNBB5E.mjs → chunk-AGRPGNME.mjs} +0 -0
  410. /package/dist/{chunk-UNDEM6DJ.cjs → chunk-DECFNBXU.cjs} +0 -0
  411. /package/dist/{chunk-ZZSMYEH2.mjs → chunk-FIWBOGQV.mjs} +0 -0
  412. /package/dist/{chunk-IWPVLQSF.mjs → chunk-TNARVKPU.mjs} +0 -0
  413. /package/dist/{chunk-NFJTF2GL.cjs → chunk-WVQ4FHYY.cjs} +0 -0
  414. /package/dist/ui/{color-input.d.cts → inputs/color-input.d.cts} +0 -0
  415. /package/dist/ui/{color-input.d.ts → inputs/color-input.d.ts} +0 -0
  416. /package/dist/ui/{input.d.cts → inputs/input.d.cts} +0 -0
  417. /package/dist/ui/{input.d.ts → inputs/input.d.ts} +0 -0
  418. /package/dist/ui/{form → inputs/number-inputs}/EulerDegInput.d.cts +0 -0
  419. /package/dist/ui/{form → inputs/number-inputs}/EulerDegInput.d.ts +0 -0
  420. /package/dist/ui/{form → inputs/number-inputs}/EulerInput.d.cts +0 -0
  421. /package/dist/ui/{form → inputs/number-inputs}/EulerInput.d.ts +0 -0
  422. /package/dist/ui/{form → inputs/number-inputs}/EulerRadInput.d.cts +0 -0
  423. /package/dist/ui/{form → inputs/number-inputs}/EulerRadInput.d.ts +0 -0
  424. /package/dist/ui/{form → inputs/number-inputs}/KVectorInput.d.cts +0 -0
  425. /package/dist/ui/{form → inputs/number-inputs}/KVectorInput.d.ts +0 -0
  426. /package/dist/ui/{form → inputs/number-inputs}/QuaternionInput.d.cts +0 -0
  427. /package/dist/ui/{form → inputs/number-inputs}/QuaternionInput.d.ts +0 -0
  428. /package/dist/ui/{form → inputs/number-inputs}/Vec3Input.d.cts +0 -0
  429. /package/dist/ui/{form → inputs/number-inputs}/Vec3Input.d.ts +0 -0
  430. /package/dist/ui/{form → inputs/number-inputs}/VectorInput.d.cts +0 -0
  431. /package/dist/ui/{form → inputs/number-inputs}/VectorInput.d.ts +0 -0
  432. /package/dist/ui/{presets-input.d.cts → inputs/presets-input.d.cts} +0 -0
  433. /package/dist/ui/{presets-input.d.ts → inputs/presets-input.d.ts} +0 -0
@@ -241,10 +241,68 @@ var SyncDragSlaveX = ({
241
241
  }
242
242
  );
243
243
  };
244
+ var SyncDragY = ({
245
+ ref: extRef,
246
+ children,
247
+ className,
248
+ asChild = false,
249
+ ...props
250
+ }) => {
251
+ const ref = chunkG4FJGNY5_cjs.useSyncDrag({ ref: extRef, axis: "vertical" });
252
+ const [isDragging, setIsDragging] = react.useState(false);
253
+ const dragStartY = react.useRef(0);
254
+ const scrollStartTop = react.useRef(0);
255
+ react.useEffect(() => {
256
+ const element = ref.current;
257
+ if (!element) return;
258
+ const handleMouseDown = (e) => {
259
+ setIsDragging(true);
260
+ dragStartY.current = e.clientY;
261
+ scrollStartTop.current = element.scrollTop;
262
+ e.preventDefault();
263
+ };
264
+ const handleMouseMove = (e) => {
265
+ if (!isDragging || !element) return;
266
+ const deltaY = e.clientY - dragStartY.current;
267
+ element.scrollTop = scrollStartTop.current - deltaY * 2;
268
+ };
269
+ const handleMouseUp = () => {
270
+ setIsDragging(false);
271
+ };
272
+ element.addEventListener("mousedown", handleMouseDown);
273
+ if (isDragging) {
274
+ document.addEventListener("mousemove", handleMouseMove);
275
+ document.addEventListener("mouseup", handleMouseUp);
276
+ document.addEventListener("mouseleave", handleMouseUp);
277
+ }
278
+ return () => {
279
+ element.removeEventListener("mousedown", handleMouseDown);
280
+ document.removeEventListener("mousemove", handleMouseMove);
281
+ document.removeEventListener("mouseup", handleMouseUp);
282
+ document.removeEventListener("mouseleave", handleMouseUp);
283
+ };
284
+ }, [isDragging, ref]);
285
+ const Comp = asChild ? reactSlot.Slot : "div";
286
+ return /* @__PURE__ */ jsxRuntime.jsx(
287
+ Comp,
288
+ {
289
+ ref,
290
+ className: chunkDWD754BX_cjs.cn(
291
+ "cursor-grab overflow-x-hidden overflow-y-auto",
292
+ isDragging && "cursor-grabbing",
293
+ className
294
+ ),
295
+ style: { userSelect: isDragging ? "none" : "auto", ...props.style },
296
+ ...props,
297
+ children
298
+ }
299
+ );
300
+ };
244
301
 
245
302
  exports.SyncDrag = SyncDrag;
246
303
  exports.SyncDragSlave = SyncDragSlave;
247
304
  exports.SyncDragSlaveX = SyncDragSlaveX;
248
305
  exports.SyncDragX = SyncDragX;
306
+ exports.SyncDragY = SyncDragY;
249
307
  exports.SyncScroll = SyncScroll;
250
308
  exports.SyncScrollSlave = SyncScrollSlave;
@@ -0,0 +1,247 @@
1
+ import { useTimelineState } from './chunk-JWKOW2OV.mjs';
2
+ import { useViewport } from './chunk-VPQ5SSY3.mjs';
3
+ import { WheelZoomContext } from './chunk-CIPI2V54.mjs';
4
+ import { CursorOverlay } from './chunk-T4C3YYFC.mjs';
5
+ import { NavigationControls } from './chunk-5EXV5EWF.mjs';
6
+ import { Tick } from './chunk-K22BEXUA.mjs';
7
+ import { TimeRuleEventDot } from './chunk-OC4HRPZU.mjs';
8
+ import { TimelineEvent } from './chunk-UYTWOSZB.mjs';
9
+ import { TimelineProcessBar } from './chunk-T6NE6TOR.mjs';
10
+ import { rightWedgeClasses, leftWedgeClasses, TOTAL_DURATION } from './chunk-4U232QAX.mjs';
11
+ import { LeftWedge, RightWedge } from './chunk-TCPOLLWA.mjs';
12
+ import { TreeView } from './chunk-FOVIOX4K.mjs';
13
+ import { TooltipProvider } from './chunk-XSJ6XVTR.mjs';
14
+ import { SyncDragY, SyncScrollSlave } from './chunk-EEKGYANW.mjs';
15
+ import { SyncScrollProvider } from './chunk-SAGQV2YZ.mjs';
16
+ import { cn } from './chunk-KVFUDYD3.mjs';
17
+ import { useState } from 'react';
18
+ import { jsx, jsxs } from 'react/jsx-runtime';
19
+
20
+ function Waterfall({
21
+ logData,
22
+ temporalCursor,
23
+ onTemporalCursorChange,
24
+ getIcon,
25
+ panelWidth = 300,
26
+ className,
27
+ hoveredId: externalHoveredId,
28
+ onItemHover: externalOnItemHover,
29
+ minWindow = 0.01,
30
+ maxWindow,
31
+ zoomFactor = 1.1,
32
+ enabled = true,
33
+ children
34
+ }) {
35
+ const [visibleLogData, setVisibleLogData] = useState([]);
36
+ const [temporalMarkers, setTemporalMarkers] = useState([]);
37
+ const internalTimelineState = useTimelineState(logData);
38
+ const hoveredId = externalHoveredId ?? internalTimelineState.hoveredId;
39
+ const setHoveredId = externalOnItemHover ?? internalTimelineState.setHoveredId;
40
+ const {
41
+ viewStart,
42
+ viewDuration,
43
+ timelineContainerRef,
44
+ timeToPercent,
45
+ ticks,
46
+ eventDots,
47
+ handlePan,
48
+ handleZoomDragStart,
49
+ setViewStart,
50
+ setViewDuration,
51
+ cursorVisible,
52
+ cursorPosition,
53
+ cursorLabel,
54
+ showMagnet
55
+ } = useViewport({
56
+ visibleLogData,
57
+ onTemporalCursorChange,
58
+ temporalCursor
59
+ });
60
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(SyncScrollProvider, { children: /* @__PURE__ */ jsx(
61
+ "div",
62
+ {
63
+ className: cn(
64
+ "bg-bg-primary text-text-primary rounded-uk-md border-line-primary/50 mx-auto flex w-full flex-col overflow-hidden border font-sans shadow-[0_4px_16px_0_var(--color-shadow-secondary)]",
65
+ className
66
+ ),
67
+ children: /* @__PURE__ */ jsxs("div", { className: "relative flex h-full flex-row items-stretch", children: [
68
+ /* @__PURE__ */ jsx(
69
+ "div",
70
+ {
71
+ className: "border-line-primary/50 relative flex h-full flex-none flex-col border-r",
72
+ style: { width: panelWidth },
73
+ children: /* @__PURE__ */ jsx(
74
+ TreeView,
75
+ {
76
+ className: "h-full",
77
+ alwaysShowExpand: true,
78
+ isSearchable: true,
79
+ data: logData,
80
+ getIcon,
81
+ onVisibleDataChange: setVisibleLogData,
82
+ onItemHover: setHoveredId,
83
+ hoveredId,
84
+ useSyncScroll: true
85
+ }
86
+ )
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsxs(
90
+ "div",
91
+ {
92
+ ref: timelineContainerRef,
93
+ className: "overflow-y-none scrollbar-hide relative flex h-full w-full flex-auto cursor-crosshair flex-col overflow-x-hidden pl-px active:cursor-grabbing",
94
+ children: [
95
+ /* @__PURE__ */ jsx("div", { className: "bg-bg-primary sticky top-0", children: /* @__PURE__ */ jsxs("div", { className: "border-line-primary/50 relative h-8 border-b", children: [
96
+ ticks.map((marker, ind) => /* @__PURE__ */ jsx(
97
+ Tick,
98
+ {
99
+ time: marker.time,
100
+ label: marker.label,
101
+ timeToPercent,
102
+ zIndex: ind < ticks.length - 1 ? 10 : 0
103
+ },
104
+ marker.time
105
+ )),
106
+ eventDots.map(({ time }, tickIndex) => /* @__PURE__ */ jsx(
107
+ TimeRuleEventDot,
108
+ {
109
+ percent: timeToPercent(time)
110
+ },
111
+ `snap-${time}-${tickIndex}`
112
+ ))
113
+ ] }) }),
114
+ /* @__PURE__ */ jsxs(
115
+ WheelZoomContext,
116
+ {
117
+ className: "scrollbar-hide relative h-full max-h-full overflow-auto",
118
+ viewStart,
119
+ viewDuration,
120
+ onViewStartChange: setViewStart,
121
+ onWindowChange: setViewDuration,
122
+ minWindow,
123
+ maxWindow: maxWindow ?? TOTAL_DURATION * 10,
124
+ zoomFactor,
125
+ enabled,
126
+ children: [
127
+ /* @__PURE__ */ jsx(SyncDragY, { className: "scrollbar-hide hide-scrollbar relative h-full w-full", children: visibleLogData.map(
128
+ (item, index) => item.time === void 0 ? (
129
+ // Render TimelineProcessBar for duration events
130
+ /* @__PURE__ */ jsx(
131
+ TimelineProcessBar,
132
+ {
133
+ index,
134
+ item,
135
+ isHovered: hoveredId === item.id,
136
+ onMouseEnter: () => setHoveredId(item.id),
137
+ onMouseLeave: () => setHoveredId(null),
138
+ onClick: (time) => {
139
+ setTemporalMarkers((prev) => [...prev, time]);
140
+ },
141
+ viewStart,
142
+ viewWindow: viewDuration,
143
+ timeToPercent
144
+ },
145
+ item.id
146
+ )
147
+ ) : (
148
+ // Render TimelineEvent for instant events (with time property)
149
+ /* @__PURE__ */ jsx(
150
+ TimelineEvent,
151
+ {
152
+ item,
153
+ isHovered: hoveredId === item.id,
154
+ onMouseEnter: () => setHoveredId(item.id),
155
+ onMouseLeave: () => setHoveredId(null),
156
+ onClick: (time) => {
157
+ setTemporalMarkers((prev) => [...prev, time]);
158
+ },
159
+ timeToPercent,
160
+ index
161
+ },
162
+ item.id
163
+ )
164
+ )
165
+ ) }),
166
+ /* @__PURE__ */ jsx(SyncScrollSlave, { className: "scrollbar-hide pointer-events-none absolute top-0 left-0 z-10 h-full w-2", children: visibleLogData.map((item, index) => /* @__PURE__ */ jsx(
167
+ LeftWedge,
168
+ {
169
+ item,
170
+ classes: rightWedgeClasses,
171
+ viewStart,
172
+ index
173
+ },
174
+ `left-wedge-${item.id}`
175
+ )) }),
176
+ /* @__PURE__ */ jsx(SyncScrollSlave, { className: "scrollbar-hide pointer-events-none absolute top-0 right-0 z-10 h-full w-2", children: visibleLogData.map((item, index) => /* @__PURE__ */ jsx(
177
+ RightWedge,
178
+ {
179
+ item,
180
+ classes: leftWedgeClasses,
181
+ viewEnd: viewStart + viewDuration,
182
+ index
183
+ },
184
+ `right-wedge-${item.id}`
185
+ )) }),
186
+ children,
187
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-1 left-1/2 -translate-x-1/2 justify-center pb-4", children: /* @__PURE__ */ jsx(
188
+ NavigationControls,
189
+ {
190
+ viewDuration,
191
+ handlePan,
192
+ handleZoomDragStart
193
+ }
194
+ ) })
195
+ ]
196
+ }
197
+ ),
198
+ temporalMarkers.map((time, index) => /* @__PURE__ */ jsxs(
199
+ "div",
200
+ {
201
+ className: "pointer-events-none absolute top-0 h-8 w-20 cursor-pointer",
202
+ style: {
203
+ zIndex: 110,
204
+ left: `calc(${timeToPercent(time)}% - 2.5rem)`
205
+ },
206
+ onClick: () => {
207
+ setTemporalMarkers((prev) => prev.filter((_, i) => i !== index));
208
+ },
209
+ title: "Click to remove marker",
210
+ children: [
211
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-auto relative h-full w-full" }),
212
+ /* @__PURE__ */ jsx(
213
+ CursorOverlay,
214
+ {
215
+ left: 50,
216
+ label: `T${index + 1}`,
217
+ color: "#3b82f6",
218
+ showReadout: true,
219
+ variant: "static",
220
+ zIndex: 110
221
+ }
222
+ )
223
+ ]
224
+ },
225
+ `marker-${time}-${index}`
226
+ )),
227
+ cursorVisible && /* @__PURE__ */ jsx(
228
+ CursorOverlay,
229
+ {
230
+ left: cursorPosition,
231
+ label: cursorLabel,
232
+ color: "#ef4444",
233
+ showReadout: true,
234
+ showMagnet,
235
+ className: "transition-opacity duration-150",
236
+ zIndex: 100
237
+ }
238
+ )
239
+ ]
240
+ }
241
+ )
242
+ ] })
243
+ }
244
+ ) }) });
245
+ }
246
+
247
+ export { Waterfall };
@@ -1,4 +1,5 @@
1
1
  import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './chunk-XSJ6XVTR.mjs';
2
+ import { SyncScroll } from './chunk-EEKGYANW.mjs';
2
3
  import { cn } from './chunk-KVFUDYD3.mjs';
3
4
  import { Search, CaseSensitive, Regex, ChevronDown } from 'lucide-react';
4
5
  import { useState, useMemo, useEffect } from 'react';
@@ -15,7 +16,8 @@ function TreeView({
15
16
  selectedItemId,
16
17
  onSelectChange,
17
18
  isSearchable = true,
18
- alwaysShowExpand = false
19
+ alwaysShowExpand = false,
20
+ useSyncScroll = false
19
21
  }) {
20
22
  const [expandedItems, setExpandedItems] = useState(() => {
21
23
  const initial = /* @__PURE__ */ new Set();
@@ -138,6 +140,32 @@ function TreeView({
138
140
  });
139
141
  return dataWithMeta.filter((item) => matchingAndAncestorIds.has(item.id));
140
142
  }, [searchQuery, dataWithMeta, expandedItems, isCaseSensitive, isRegex, isRegexValid, data]);
143
+ const searchResultsCount = useMemo(() => {
144
+ if (!searchQuery || !isRegexValid) return 0;
145
+ let count = 0;
146
+ let regex = null;
147
+ if (isRegex) {
148
+ try {
149
+ regex = new RegExp(searchQuery, isCaseSensitive ? "" : "i");
150
+ } catch {
151
+ return 0;
152
+ }
153
+ }
154
+ data.forEach((item) => {
155
+ let labelMatches = false;
156
+ if (regex) {
157
+ labelMatches = regex.test(item.label);
158
+ } else {
159
+ const source = isCaseSensitive ? item.label : item.label.toLowerCase();
160
+ const query = isCaseSensitive ? searchQuery : searchQuery.toLowerCase();
161
+ labelMatches = source.includes(query);
162
+ }
163
+ if (labelMatches) {
164
+ count++;
165
+ }
166
+ });
167
+ return count;
168
+ }, [searchQuery, data, isCaseSensitive, isRegex, isRegexValid]);
141
169
  useEffect(() => {
142
170
  onVisibleDataChange?.(visibleData);
143
171
  }, [visibleData, onVisibleDataChange]);
@@ -156,48 +184,177 @@ function TreeView({
156
184
  (part, i) => i % 2 === 1 ? /* @__PURE__ */ jsx("span", { className: "rounded-uk-xs bg-yellow-300 dark:bg-yellow-700", children: part }, i) : part
157
185
  ) });
158
186
  };
159
- return /* @__PURE__ */ jsxs("div", { className: cn("border-line-primary flex flex-col", className), children: [
160
- isSearchable && /* @__PURE__ */ jsxs("div", { className: "border-line-primary flex h-[32px] shrink-0 items-center gap-1 border-b px-2", children: [
161
- /* @__PURE__ */ jsx(Search, { className: "text-text-secondary size-4" }),
162
- /* @__PURE__ */ jsx(
163
- "input",
164
- {
165
- type: "text",
166
- placeholder: "Search...",
167
- className: cn(
168
- "text-uk-md w-full bg-transparent focus:outline-none",
169
- !isRegexValid && "text-red-500"
170
- ),
171
- value: searchQuery,
172
- onChange: (e) => setSearchQuery(e.target.value)
173
- }
174
- ),
175
- /* @__PURE__ */ jsxs(TooltipProvider, { delayDuration: 200, children: [
176
- /* @__PURE__ */ jsxs(Tooltip, { children: [
177
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
178
- "button",
179
- {
180
- onClick: () => setIsCaseSensitive((prev) => !prev),
181
- className: cn("rounded-uk-sm p-1", isCaseSensitive && "bg-bg-tertiary"),
182
- children: /* @__PURE__ */ jsx(CaseSensitive, { className: "size-4" })
183
- }
184
- ) }),
185
- /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Case Sensitive" }) })
186
- ] }),
187
- /* @__PURE__ */ jsxs(Tooltip, { children: [
188
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
189
- "button",
190
- {
191
- onClick: () => setIsRegex((prev) => !prev),
192
- className: cn("rounded-uk-sm p-1", isRegex && "bg-bg-tertiary"),
193
- children: /* @__PURE__ */ jsx(Regex, { className: "size-4" })
194
- }
195
- ) }),
196
- /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Use Regular Expression" }) })
187
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", className), children: [
188
+ isSearchable && /* @__PURE__ */ jsxs("div", { className: "border-line-primary/50 shrink-0 border-b", children: [
189
+ /* @__PURE__ */ jsxs("div", { className: "flex h-[32px] items-center gap-1 px-2", children: [
190
+ /* @__PURE__ */ jsx(Search, { className: "text-text-secondary size-4" }),
191
+ /* @__PURE__ */ jsx(
192
+ "input",
193
+ {
194
+ type: "text",
195
+ placeholder: "Search...",
196
+ className: cn(
197
+ "text-uk-md w-full bg-transparent focus:outline-none",
198
+ !isRegexValid && "text-red-500"
199
+ ),
200
+ value: searchQuery,
201
+ onChange: (e) => setSearchQuery(e.target.value)
202
+ }
203
+ ),
204
+ /* @__PURE__ */ jsxs(TooltipProvider, { delayDuration: 200, children: [
205
+ /* @__PURE__ */ jsxs(Tooltip, { children: [
206
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
207
+ "button",
208
+ {
209
+ onClick: () => setIsCaseSensitive((prev) => !prev),
210
+ className: cn("rounded-uk-sm p-1", isCaseSensitive && "bg-bg-tertiary"),
211
+ children: /* @__PURE__ */ jsx(CaseSensitive, { className: "size-4" })
212
+ }
213
+ ) }),
214
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Case Sensitive" }) })
215
+ ] }),
216
+ /* @__PURE__ */ jsxs(Tooltip, { children: [
217
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
218
+ "button",
219
+ {
220
+ onClick: () => setIsRegex((prev) => !prev),
221
+ className: cn("rounded-uk-sm p-1", isRegex && "bg-bg-tertiary"),
222
+ children: /* @__PURE__ */ jsx(Regex, { className: "size-4" })
223
+ }
224
+ ) }),
225
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: "Use Regular Expression" }) })
226
+ ] })
197
227
  ] })
198
- ] })
228
+ ] }),
229
+ searchQuery && isRegexValid && /* @__PURE__ */ jsx("div", { className: "flex justify-end px-2 pb-1", children: /* @__PURE__ */ jsxs("span", { className: "text-uk-xs text-text-secondary", children: [
230
+ searchResultsCount,
231
+ " result",
232
+ searchResultsCount !== 1 ? "s" : ""
233
+ ] }) })
199
234
  ] }),
200
- /* @__PURE__ */ jsx("div", { className: "overflow-y-auto", children: visibleData.map((item) => /* @__PURE__ */ jsxs(
235
+ useSyncScroll ? /* @__PURE__ */ jsx(SyncScroll, { className: "scrollbar-track-transparent flex-1", children: visibleData.map((item) => /* @__PURE__ */ jsxs(
236
+ "div",
237
+ {
238
+ className: cn(
239
+ "group relative flex h-[32px] items-center",
240
+ isSelectable && "rounded-uk-md",
241
+ !item.disable && "cursor-pointer",
242
+ hoveredId === item.id && !item.disable && "bg-bg-secondary",
243
+ isSelectable && selectedItemId === item.id && "bg-brand-primary text-text-withbg"
244
+ ),
245
+ onMouseEnter: () => onItemHover?.(item.id),
246
+ onMouseLeave: () => onItemHover?.(null),
247
+ onClick: () => !item.disable && handleItemSelect(item.id),
248
+ children: [
249
+ /* @__PURE__ */ jsxs("div", { className: "absolute top-0 left-[-0.28rem] z-0 flex h-full items-center", children: [
250
+ item.ancestors.map((ancestor, index) => {
251
+ const parentIsLast = dataWithMeta.find((d) => d.id === ancestor.id)?.isLast;
252
+ return /* @__PURE__ */ jsx(
253
+ "div",
254
+ {
255
+ className: cn(
256
+ "h-full w-[1.25rem]",
257
+ parentIsLast ? "" : "border-l",
258
+ "border-line-primary"
259
+ )
260
+ },
261
+ index
262
+ );
263
+ }),
264
+ item.indent > 0 && /* @__PURE__ */ jsxs("div", { className: "relative h-full w-[1.24rem]", children: [
265
+ /* @__PURE__ */ jsx(
266
+ "div",
267
+ {
268
+ className: cn(
269
+ "absolute top-0 left-0 h-1/2 w-1/2 border-b border-l",
270
+ item.isLast ? "rounded-bl-md" : "",
271
+ "border-line-primary"
272
+ )
273
+ }
274
+ ),
275
+ !item.isLast && /* @__PURE__ */ jsx("div", { className: "border-line-primary absolute top-1/2 left-0 h-1/2 w-1/2 border-l" })
276
+ ] })
277
+ ] }),
278
+ /* @__PURE__ */ jsxs(
279
+ "div",
280
+ {
281
+ className: "text-uk-md z-10 flex w-full items-center justify-between gap-2 px-2 whitespace-nowrap",
282
+ style: { paddingLeft: `${item.indent * 1.25 + 0.5}rem` },
283
+ children: [
284
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
285
+ alwaysShowExpand && hasDescendants(item.id) && !expandedItems.has(item.id) ? /* @__PURE__ */ jsxs(Fragment, { children: [
286
+ /* @__PURE__ */ jsx(
287
+ "button",
288
+ {
289
+ onClick: (e) => {
290
+ e.stopPropagation();
291
+ toggleItem(item.id);
292
+ },
293
+ className: "flex size-4 cursor-pointer items-center justify-center",
294
+ children: /* @__PURE__ */ jsx(
295
+ ChevronDown,
296
+ {
297
+ className: cn(
298
+ "size-4 -rotate-90 transition-transform",
299
+ item.disable && "text-icon-tertiary"
300
+ )
301
+ }
302
+ )
303
+ }
304
+ ),
305
+ /* @__PURE__ */ jsx(
306
+ "div",
307
+ {
308
+ className: cn(
309
+ "flex size-4 items-center justify-center",
310
+ item.disable && "text-icon-tertiary"
311
+ ),
312
+ children: getIcon(item)
313
+ }
314
+ )
315
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "relative flex size-4 items-center justify-center", children: [
316
+ item.isCollapsible && /* @__PURE__ */ jsx(
317
+ "button",
318
+ {
319
+ onClick: (e) => {
320
+ e.stopPropagation();
321
+ toggleItem(item.id);
322
+ },
323
+ className: "absolute z-20 flex cursor-pointer items-center justify-center opacity-0 transition-opacity group-hover:opacity-100",
324
+ children: /* @__PURE__ */ jsx(
325
+ ChevronDown,
326
+ {
327
+ className: cn(
328
+ "size-4 transition-transform",
329
+ !expandedItems.has(item.id) && "-rotate-90",
330
+ item.disable && "text-icon-tertiary"
331
+ )
332
+ }
333
+ )
334
+ }
335
+ ),
336
+ /* @__PURE__ */ jsx(
337
+ "div",
338
+ {
339
+ className: cn(
340
+ "cursor-pointer transition-opacity",
341
+ item.isCollapsible && "group-hover:opacity-0",
342
+ item.disable && "text-icon-tertiary"
343
+ ),
344
+ children: getIcon(item)
345
+ }
346
+ )
347
+ ] }),
348
+ /* @__PURE__ */ jsx("span", { className: cn("truncate", item.disable && "text-text-tertiary"), children: renderLabel(item.label) })
349
+ ] }),
350
+ item.actions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", onClick: (e) => e.stopPropagation(), children: item.actions })
351
+ ]
352
+ }
353
+ )
354
+ ]
355
+ },
356
+ item.id
357
+ )) }) : /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: visibleData.map((item) => /* @__PURE__ */ jsxs(
201
358
  "div",
202
359
  {
203
360
  className: cn(
@@ -243,7 +400,7 @@ function TreeView({
243
400
  /* @__PURE__ */ jsxs(
244
401
  "div",
245
402
  {
246
- className: "text-uk-md z-10 flex w-full items-center justify-between px-2 whitespace-nowrap",
403
+ className: "text-uk-md z-10 flex w-full items-center justify-between gap-2 px-2 whitespace-nowrap",
247
404
  style: { paddingLeft: `${item.indent * 1.25 + 0.5}rem` },
248
405
  children: [
249
406
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
@@ -260,14 +417,23 @@ function TreeView({
260
417
  ChevronDown,
261
418
  {
262
419
  className: cn(
263
- "size-4 transition-transform -rotate-90",
420
+ "size-4 -rotate-90 transition-transform",
264
421
  item.disable && "text-icon-tertiary"
265
422
  )
266
423
  }
267
424
  )
268
425
  }
269
426
  ),
270
- /* @__PURE__ */ jsx("div", { className: cn("flex size-4 items-center justify-center", item.disable && "text-icon-tertiary"), children: getIcon(item) })
427
+ /* @__PURE__ */ jsx(
428
+ "div",
429
+ {
430
+ className: cn(
431
+ "flex size-4 items-center justify-center",
432
+ item.disable && "text-icon-tertiary"
433
+ ),
434
+ children: getIcon(item)
435
+ }
436
+ )
271
437
  ] }) : /* @__PURE__ */ jsxs("div", { className: "relative flex size-4 items-center justify-center", children: [
272
438
  item.isCollapsible && /* @__PURE__ */ jsx(
273
439
  "button",