@termaxjs/web-ui-components 0.1.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 (391) hide show
  1. package/LICENSE +201 -0
  2. package/dist/ai/AgentStatusPill.d.ts +13 -0
  3. package/dist/ai/AgentStatusPill.d.ts.map +1 -0
  4. package/dist/ai/AgentStatusPill.js +28 -0
  5. package/dist/ai/AgentStatusPill.js.map +1 -0
  6. package/dist/ai/AiToolApproval.d.ts +12 -0
  7. package/dist/ai/AiToolApproval.d.ts.map +1 -0
  8. package/dist/ai/AiToolApproval.js +63 -0
  9. package/dist/ai/AiToolApproval.js.map +1 -0
  10. package/dist/ai/Chip.d.ts +17 -0
  11. package/dist/ai/Chip.d.ts.map +1 -0
  12. package/dist/ai/Chip.js +39 -0
  13. package/dist/ai/Chip.js.map +1 -0
  14. package/dist/ai/ChipsRow.d.ts +35 -0
  15. package/dist/ai/ChipsRow.d.ts.map +1 -0
  16. package/dist/ai/ChipsRow.js +32 -0
  17. package/dist/ai/ChipsRow.js.map +1 -0
  18. package/dist/ai/TodoStrip.d.ts +11 -0
  19. package/dist/ai/TodoStrip.d.ts.map +1 -0
  20. package/dist/ai/TodoStrip.js +27 -0
  21. package/dist/ai/TodoStrip.js.map +1 -0
  22. package/dist/ai/index.d.ts +6 -0
  23. package/dist/ai/index.d.ts.map +1 -0
  24. package/dist/ai/index.js +6 -0
  25. package/dist/ai/index.js.map +1 -0
  26. package/dist/command-palette/CommandPaletteDialog.d.ts +19 -0
  27. package/dist/command-palette/CommandPaletteDialog.d.ts.map +1 -0
  28. package/dist/command-palette/CommandPaletteDialog.js +23 -0
  29. package/dist/command-palette/CommandPaletteDialog.js.map +1 -0
  30. package/dist/command-palette/index.d.ts +2 -0
  31. package/dist/command-palette/index.d.ts.map +1 -0
  32. package/dist/command-palette/index.js +2 -0
  33. package/dist/command-palette/index.js.map +1 -0
  34. package/dist/explorer/ExplorerSearch.d.ts +35 -0
  35. package/dist/explorer/ExplorerSearch.d.ts.map +1 -0
  36. package/dist/explorer/ExplorerSearch.js +153 -0
  37. package/dist/explorer/ExplorerSearch.js.map +1 -0
  38. package/dist/explorer/FileTree.d.ts +65 -0
  39. package/dist/explorer/FileTree.d.ts.map +1 -0
  40. package/dist/explorer/FileTree.js +205 -0
  41. package/dist/explorer/FileTree.js.map +1 -0
  42. package/dist/explorer/InlineInput.d.ts +14 -0
  43. package/dist/explorer/InlineInput.d.ts.map +1 -0
  44. package/dist/explorer/InlineInput.js +77 -0
  45. package/dist/explorer/InlineInput.js.map +1 -0
  46. package/dist/explorer/TreeRow.d.ts +64 -0
  47. package/dist/explorer/TreeRow.d.ts.map +1 -0
  48. package/dist/explorer/TreeRow.js +100 -0
  49. package/dist/explorer/TreeRow.js.map +1 -0
  50. package/dist/explorer/constants.d.ts +12 -0
  51. package/dist/explorer/constants.d.ts.map +1 -0
  52. package/dist/explorer/constants.js +72 -0
  53. package/dist/explorer/constants.js.map +1 -0
  54. package/dist/explorer/contextActions.d.ts +5 -0
  55. package/dist/explorer/contextActions.d.ts.map +1 -0
  56. package/dist/explorer/contextActions.js +38 -0
  57. package/dist/explorer/contextActions.js.map +1 -0
  58. package/dist/explorer/iconMap.json +1 -0
  59. package/dist/explorer/iconResolver.d.ts +3 -0
  60. package/dist/explorer/iconResolver.d.ts.map +1 -0
  61. package/dist/explorer/iconResolver.js +98 -0
  62. package/dist/explorer/iconResolver.js.map +1 -0
  63. package/dist/explorer/index.d.ts +8 -0
  64. package/dist/explorer/index.d.ts.map +1 -0
  65. package/dist/explorer/index.js +8 -0
  66. package/dist/explorer/index.js.map +1 -0
  67. package/dist/explorer/menuItemClass.d.ts +3 -0
  68. package/dist/explorer/menuItemClass.d.ts.map +1 -0
  69. package/dist/explorer/menuItemClass.js +6 -0
  70. package/dist/explorer/menuItemClass.js.map +1 -0
  71. package/dist/explorer/types.d.ts +2 -0
  72. package/dist/explorer/types.d.ts.map +1 -0
  73. package/dist/explorer/types.js +2 -0
  74. package/dist/explorer/types.js.map +1 -0
  75. package/dist/index.d.ts +11 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +11 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/layout/PaneChip.d.ts +13 -0
  80. package/dist/layout/PaneChip.d.ts.map +1 -0
  81. package/dist/layout/PaneChip.js +19 -0
  82. package/dist/layout/PaneChip.js.map +1 -0
  83. package/dist/layout/TabBar.d.ts +36 -0
  84. package/dist/layout/TabBar.d.ts.map +1 -0
  85. package/dist/layout/TabBar.js +237 -0
  86. package/dist/layout/TabBar.js.map +1 -0
  87. package/dist/layout/TabItem.d.ts +19 -0
  88. package/dist/layout/TabItem.d.ts.map +1 -0
  89. package/dist/layout/TabItem.js +66 -0
  90. package/dist/layout/TabItem.js.map +1 -0
  91. package/dist/layout/index.d.ts +7 -0
  92. package/dist/layout/index.d.ts.map +1 -0
  93. package/dist/layout/index.js +7 -0
  94. package/dist/layout/index.js.map +1 -0
  95. package/dist/layout/leafState.d.ts +15 -0
  96. package/dist/layout/leafState.d.ts.map +1 -0
  97. package/dist/layout/leafState.js +70 -0
  98. package/dist/layout/leafState.js.map +1 -0
  99. package/dist/layout/resizable.d.ts +31 -0
  100. package/dist/layout/resizable.d.ts.map +1 -0
  101. package/dist/layout/resizable.js +16 -0
  102. package/dist/layout/resizable.js.map +1 -0
  103. package/dist/layout/tabLabel.d.ts +9 -0
  104. package/dist/layout/tabLabel.d.ts.map +1 -0
  105. package/dist/layout/tabLabel.js +31 -0
  106. package/dist/layout/tabLabel.js.map +1 -0
  107. package/dist/primitives/alert-dialog.d.ts +19 -0
  108. package/dist/primitives/alert-dialog.d.ts.map +1 -0
  109. package/dist/primitives/alert-dialog.js +42 -0
  110. package/dist/primitives/alert-dialog.js.map +1 -0
  111. package/dist/primitives/alert.d.ts +11 -0
  112. package/dist/primitives/alert.d.ts.map +1 -0
  113. package/dist/primitives/alert.js +28 -0
  114. package/dist/primitives/alert.js.map +1 -0
  115. package/dist/primitives/badge.d.ts +10 -0
  116. package/dist/primitives/badge.d.ts.map +1 -0
  117. package/dist/primitives/badge.js +25 -0
  118. package/dist/primitives/badge.js.map +1 -0
  119. package/dist/primitives/breadcrumb.d.ts +12 -0
  120. package/dist/primitives/breadcrumb.d.ts.map +1 -0
  121. package/dist/primitives/breadcrumb.js +29 -0
  122. package/dist/primitives/breadcrumb.js.map +1 -0
  123. package/dist/primitives/button-group.d.ts +12 -0
  124. package/dist/primitives/button-group.d.ts.map +1 -0
  125. package/dist/primitives/button-group.js +28 -0
  126. package/dist/primitives/button-group.js.map +1 -0
  127. package/dist/primitives/button.d.ts +11 -0
  128. package/dist/primitives/button.d.ts.map +1 -0
  129. package/dist/primitives/button.js +36 -0
  130. package/dist/primitives/button.js.map +1 -0
  131. package/dist/primitives/card.d.ts +12 -0
  132. package/dist/primitives/card.d.ts.map +1 -0
  133. package/dist/primitives/card.js +25 -0
  134. package/dist/primitives/card.js.map +1 -0
  135. package/dist/primitives/checkbox.d.ts +5 -0
  136. package/dist/primitives/checkbox.d.ts.map +1 -0
  137. package/dist/primitives/checkbox.js +10 -0
  138. package/dist/primitives/checkbox.js.map +1 -0
  139. package/dist/primitives/collapsible.d.ts +6 -0
  140. package/dist/primitives/collapsible.d.ts.map +1 -0
  141. package/dist/primitives/collapsible.js +13 -0
  142. package/dist/primitives/collapsible.js.map +1 -0
  143. package/dist/primitives/command.d.ts +36 -0
  144. package/dist/primitives/command.d.ts.map +1 -0
  145. package/dist/primitives/command.js +103 -0
  146. package/dist/primitives/command.js.map +1 -0
  147. package/dist/primitives/context-menu.d.ts +41 -0
  148. package/dist/primitives/context-menu.d.ts.map +1 -0
  149. package/dist/primitives/context-menu.js +83 -0
  150. package/dist/primitives/context-menu.js.map +1 -0
  151. package/dist/primitives/dialog.d.ts +18 -0
  152. package/dist/primitives/dialog.d.ts.map +1 -0
  153. package/dist/primitives/dialog.js +38 -0
  154. package/dist/primitives/dialog.js.map +1 -0
  155. package/dist/primitives/dropdown-menu.d.ts +30 -0
  156. package/dist/primitives/dropdown-menu.d.ts.map +1 -0
  157. package/dist/primitives/dropdown-menu.js +52 -0
  158. package/dist/primitives/dropdown-menu.js.map +1 -0
  159. package/dist/primitives/empty.d.ts +12 -0
  160. package/dist/primitives/empty.d.ts.map +1 -0
  161. package/dist/primitives/empty.js +34 -0
  162. package/dist/primitives/empty.js.map +1 -0
  163. package/dist/primitives/hover-card.d.ts +7 -0
  164. package/dist/primitives/hover-card.d.ts.map +1 -0
  165. package/dist/primitives/hover-card.js +14 -0
  166. package/dist/primitives/hover-card.js.map +1 -0
  167. package/dist/primitives/index.d.ts +40 -0
  168. package/dist/primitives/index.d.ts.map +1 -0
  169. package/dist/primitives/index.js +40 -0
  170. package/dist/primitives/index.js.map +1 -0
  171. package/dist/primitives/input-group.d.ts +17 -0
  172. package/dist/primitives/input-group.d.ts.map +1 -0
  173. package/dist/primitives/input-group.js +59 -0
  174. package/dist/primitives/input-group.js.map +1 -0
  175. package/dist/primitives/input.d.ts +4 -0
  176. package/dist/primitives/input.d.ts.map +1 -0
  177. package/dist/primitives/input.js +7 -0
  178. package/dist/primitives/input.js.map +1 -0
  179. package/dist/primitives/item.d.ts +24 -0
  180. package/dist/primitives/item.d.ts.map +1 -0
  181. package/dist/primitives/item.js +68 -0
  182. package/dist/primitives/item.js.map +1 -0
  183. package/dist/primitives/kbd.d.ts +4 -0
  184. package/dist/primitives/kbd.d.ts.map +1 -0
  185. package/dist/primitives/kbd.js +10 -0
  186. package/dist/primitives/kbd.js.map +1 -0
  187. package/dist/primitives/label.d.ts +5 -0
  188. package/dist/primitives/label.d.ts.map +1 -0
  189. package/dist/primitives/label.js +8 -0
  190. package/dist/primitives/label.js.map +1 -0
  191. package/dist/primitives/menubar.d.ts +31 -0
  192. package/dist/primitives/menubar.d.ts.map +1 -0
  193. package/dist/primitives/menubar.js +55 -0
  194. package/dist/primitives/menubar.js.map +1 -0
  195. package/dist/primitives/popover.d.ts +11 -0
  196. package/dist/primitives/popover.d.ts.map +1 -0
  197. package/dist/primitives/popover.js +27 -0
  198. package/dist/primitives/popover.js.map +1 -0
  199. package/dist/primitives/progress.d.ts +5 -0
  200. package/dist/primitives/progress.d.ts.map +1 -0
  201. package/dist/primitives/progress.js +8 -0
  202. package/dist/primitives/progress.js.map +1 -0
  203. package/dist/primitives/radio-group.d.ts +6 -0
  204. package/dist/primitives/radio-group.d.ts.map +1 -0
  205. package/dist/primitives/radio-group.js +11 -0
  206. package/dist/primitives/radio-group.js.map +1 -0
  207. package/dist/primitives/resizable.d.ts +31 -0
  208. package/dist/primitives/resizable.d.ts.map +1 -0
  209. package/dist/primitives/resizable.js +16 -0
  210. package/dist/primitives/resizable.js.map +1 -0
  211. package/dist/primitives/scroll-area.d.ts +6 -0
  212. package/dist/primitives/scroll-area.d.ts.map +1 -0
  213. package/dist/primitives/scroll-area.js +11 -0
  214. package/dist/primitives/scroll-area.js.map +1 -0
  215. package/dist/primitives/select.d.ts +16 -0
  216. package/dist/primitives/select.d.ts.map +1 -0
  217. package/dist/primitives/select.js +37 -0
  218. package/dist/primitives/select.js.map +1 -0
  219. package/dist/primitives/separator.d.ts +5 -0
  220. package/dist/primitives/separator.d.ts.map +1 -0
  221. package/dist/primitives/separator.js +8 -0
  222. package/dist/primitives/separator.js.map +1 -0
  223. package/dist/primitives/sheet.d.ts +15 -0
  224. package/dist/primitives/sheet.d.ts.map +1 -0
  225. package/dist/primitives/sheet.js +38 -0
  226. package/dist/primitives/sheet.js.map +1 -0
  227. package/dist/primitives/skeleton.d.ts +3 -0
  228. package/dist/primitives/skeleton.d.ts.map +1 -0
  229. package/dist/primitives/skeleton.js +7 -0
  230. package/dist/primitives/skeleton.js.map +1 -0
  231. package/dist/primitives/slider.d.ts +5 -0
  232. package/dist/primitives/slider.d.ts.map +1 -0
  233. package/dist/primitives/slider.js +14 -0
  234. package/dist/primitives/slider.js.map +1 -0
  235. package/dist/primitives/sonner.d.ts +5 -0
  236. package/dist/primitives/sonner.d.ts.map +1 -0
  237. package/dist/primitives/sonner.js +12 -0
  238. package/dist/primitives/sonner.js.map +1 -0
  239. package/dist/primitives/spinner.d.ts +3 -0
  240. package/dist/primitives/spinner.d.ts.map +1 -0
  241. package/dist/primitives/spinner.js +11 -0
  242. package/dist/primitives/spinner.js.map +1 -0
  243. package/dist/primitives/switch.d.ts +7 -0
  244. package/dist/primitives/switch.d.ts.map +1 -0
  245. package/dist/primitives/switch.js +18 -0
  246. package/dist/primitives/switch.js.map +1 -0
  247. package/dist/primitives/tabs.d.ts +12 -0
  248. package/dist/primitives/tabs.d.ts.map +1 -0
  249. package/dist/primitives/tabs.js +29 -0
  250. package/dist/primitives/tabs.js.map +1 -0
  251. package/dist/primitives/textarea.d.ts +4 -0
  252. package/dist/primitives/textarea.d.ts.map +1 -0
  253. package/dist/primitives/textarea.js +7 -0
  254. package/dist/primitives/textarea.js.map +1 -0
  255. package/dist/primitives/toggle-group.d.ts +11 -0
  256. package/dist/primitives/toggle-group.d.ts.map +1 -0
  257. package/dist/primitives/toggle-group.js +24 -0
  258. package/dist/primitives/toggle-group.js.map +1 -0
  259. package/dist/primitives/toggle.d.ts +10 -0
  260. package/dist/primitives/toggle.d.ts.map +1 -0
  261. package/dist/primitives/toggle.js +26 -0
  262. package/dist/primitives/toggle.js.map +1 -0
  263. package/dist/primitives/tooltip.d.ts +8 -0
  264. package/dist/primitives/tooltip.d.ts.map +1 -0
  265. package/dist/primitives/tooltip.js +18 -0
  266. package/dist/primitives/tooltip.js.map +1 -0
  267. package/dist/settings/SettingGroup.d.ts +8 -0
  268. package/dist/settings/SettingGroup.d.ts.map +1 -0
  269. package/dist/settings/SettingGroup.js +7 -0
  270. package/dist/settings/SettingGroup.js.map +1 -0
  271. package/dist/settings/SettingRow.d.ts +58 -0
  272. package/dist/settings/SettingRow.d.ts.map +1 -0
  273. package/dist/settings/SettingRow.js +54 -0
  274. package/dist/settings/SettingRow.js.map +1 -0
  275. package/dist/settings/SettingsFormBuilder.d.ts +11 -0
  276. package/dist/settings/SettingsFormBuilder.d.ts.map +1 -0
  277. package/dist/settings/SettingsFormBuilder.js +43 -0
  278. package/dist/settings/SettingsFormBuilder.js.map +1 -0
  279. package/dist/settings/index.d.ts +4 -0
  280. package/dist/settings/index.d.ts.map +1 -0
  281. package/dist/settings/index.js +4 -0
  282. package/dist/settings/index.js.map +1 -0
  283. package/dist/shell/HeaderBar.d.ts +10 -0
  284. package/dist/shell/HeaderBar.d.ts.map +1 -0
  285. package/dist/shell/HeaderBar.js +6 -0
  286. package/dist/shell/HeaderBar.js.map +1 -0
  287. package/dist/shell/StatusBar.d.ts +9 -0
  288. package/dist/shell/StatusBar.d.ts.map +1 -0
  289. package/dist/shell/StatusBar.js +6 -0
  290. package/dist/shell/StatusBar.js.map +1 -0
  291. package/dist/shell/index.d.ts +3 -0
  292. package/dist/shell/index.d.ts.map +1 -0
  293. package/dist/shell/index.js +3 -0
  294. package/dist/shell/index.js.map +1 -0
  295. package/dist/source-control/BranchSwitcher.d.ts +14 -0
  296. package/dist/source-control/BranchSwitcher.d.ts.map +1 -0
  297. package/dist/source-control/BranchSwitcher.js +10 -0
  298. package/dist/source-control/BranchSwitcher.js.map +1 -0
  299. package/dist/source-control/CommitRow.d.ts +15 -0
  300. package/dist/source-control/CommitRow.d.ts.map +1 -0
  301. package/dist/source-control/CommitRow.js +20 -0
  302. package/dist/source-control/CommitRow.js.map +1 -0
  303. package/dist/source-control/EntryRow.d.ts +25 -0
  304. package/dist/source-control/EntryRow.d.ts.map +1 -0
  305. package/dist/source-control/EntryRow.js +67 -0
  306. package/dist/source-control/EntryRow.js.map +1 -0
  307. package/dist/source-control/GraphRail.d.ts +14 -0
  308. package/dist/source-control/GraphRail.d.ts.map +1 -0
  309. package/dist/source-control/GraphRail.js +49 -0
  310. package/dist/source-control/GraphRail.js.map +1 -0
  311. package/dist/source-control/InlineHunkView.d.ts +22 -0
  312. package/dist/source-control/InlineHunkView.d.ts.map +1 -0
  313. package/dist/source-control/InlineHunkView.js +95 -0
  314. package/dist/source-control/InlineHunkView.js.map +1 -0
  315. package/dist/source-control/SourceControlActions.d.ts +15 -0
  316. package/dist/source-control/SourceControlActions.d.ts.map +1 -0
  317. package/dist/source-control/SourceControlActions.js +38 -0
  318. package/dist/source-control/SourceControlActions.js.map +1 -0
  319. package/dist/source-control/SourceControlPanel.d.ts +21 -0
  320. package/dist/source-control/SourceControlPanel.d.ts.map +1 -0
  321. package/dist/source-control/SourceControlPanel.js +300 -0
  322. package/dist/source-control/SourceControlPanel.js.map +1 -0
  323. package/dist/source-control/SourceControlStatusViews.d.ts +20 -0
  324. package/dist/source-control/SourceControlStatusViews.d.ts.map +1 -0
  325. package/dist/source-control/SourceControlStatusViews.js +18 -0
  326. package/dist/source-control/SourceControlStatusViews.js.map +1 -0
  327. package/dist/source-control/StashSection.d.ts +13 -0
  328. package/dist/source-control/StashSection.d.ts.map +1 -0
  329. package/dist/source-control/StashSection.js +14 -0
  330. package/dist/source-control/StashSection.js.map +1 -0
  331. package/dist/source-control/highlight.d.ts +8 -0
  332. package/dist/source-control/highlight.d.ts.map +1 -0
  333. package/dist/source-control/highlight.js +15 -0
  334. package/dist/source-control/highlight.js.map +1 -0
  335. package/dist/source-control/index.d.ts +12 -0
  336. package/dist/source-control/index.d.ts.map +1 -0
  337. package/dist/source-control/index.js +12 -0
  338. package/dist/source-control/index.js.map +1 -0
  339. package/dist/source-control/sourceControlHelpers.d.ts +27 -0
  340. package/dist/source-control/sourceControlHelpers.d.ts.map +1 -0
  341. package/dist/source-control/sourceControlHelpers.js +51 -0
  342. package/dist/source-control/sourceControlHelpers.js.map +1 -0
  343. package/dist/utils/cn.d.ts +3 -0
  344. package/dist/utils/cn.d.ts.map +1 -0
  345. package/dist/utils/cn.js +6 -0
  346. package/dist/utils/cn.js.map +1 -0
  347. package/dist/utils/index.d.ts +2 -0
  348. package/dist/utils/index.d.ts.map +1 -0
  349. package/dist/utils/index.js +2 -0
  350. package/dist/utils/index.js.map +1 -0
  351. package/dist/utils/isTauri.d.ts +2 -0
  352. package/dist/utils/isTauri.d.ts.map +1 -0
  353. package/dist/utils/isTauri.js +2 -0
  354. package/dist/utils/isTauri.js.map +1 -0
  355. package/dist/utils/mockCore.d.ts +6 -0
  356. package/dist/utils/mockCore.d.ts.map +1 -0
  357. package/dist/utils/mockCore.js +3 -0
  358. package/dist/utils/mockCore.js.map +1 -0
  359. package/dist/utils/mockFs.d.ts +10 -0
  360. package/dist/utils/mockFs.d.ts.map +1 -0
  361. package/dist/utils/mockFs.js +10 -0
  362. package/dist/utils/mockFs.js.map +1 -0
  363. package/dist/utils/mockSettings.d.ts +3 -0
  364. package/dist/utils/mockSettings.d.ts.map +1 -0
  365. package/dist/utils/mockSettings.js +3 -0
  366. package/dist/utils/mockSettings.js.map +1 -0
  367. package/dist/utils/mockShortcuts.d.ts +2 -0
  368. package/dist/utils/mockShortcuts.d.ts.map +1 -0
  369. package/dist/utils/mockShortcuts.js +2 -0
  370. package/dist/utils/mockShortcuts.js.map +1 -0
  371. package/dist/utils/mockSpaces.d.ts +4 -0
  372. package/dist/utils/mockSpaces.d.ts.map +1 -0
  373. package/dist/utils/mockSpaces.js +2 -0
  374. package/dist/utils/mockSpaces.js.map +1 -0
  375. package/dist/utils/mockTauri.d.ts +5 -0
  376. package/dist/utils/mockTauri.d.ts.map +1 -0
  377. package/dist/utils/mockTauri.js +3 -0
  378. package/dist/utils/mockTauri.js.map +1 -0
  379. package/dist/utils/mockWorkspace.d.ts +2 -0
  380. package/dist/utils/mockWorkspace.d.ts.map +1 -0
  381. package/dist/utils/mockWorkspace.js +2 -0
  382. package/dist/utils/mockWorkspace.js.map +1 -0
  383. package/dist/utils/platform.d.ts +5 -0
  384. package/dist/utils/platform.d.ts.map +1 -0
  385. package/dist/utils/platform.js +8 -0
  386. package/dist/utils/platform.js.map +1 -0
  387. package/dist/utils/shellQuote.d.ts +2 -0
  388. package/dist/utils/shellQuote.d.ts.map +1 -0
  389. package/dist/utils/shellQuote.js +7 -0
  390. package/dist/utils/shellQuote.js.map +1 -0
  391. package/package.json +118 -0
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useLayoutEffect, useRef, useState } from "react";
3
+ /**
4
+ * Self-focusing single-line input for rename / create flows in the tree.
5
+ * Enter commits, Escape cancels, blur commits (matches VSCode behavior —
6
+ * dismissing the input is an implicit commit so a typed name isn't lost).
7
+ */
8
+ export function InlineInput({ initial, placeholder, onCommit, onCancel, }) {
9
+ const [value, setValue] = useState(initial);
10
+ const ref = useRef(null);
11
+ const committedRef = useRef(false);
12
+ const settledRef = useRef(false);
13
+ useLayoutEffect(() => {
14
+ const el = ref.current;
15
+ if (!el)
16
+ return;
17
+ // Two-tick focus to win against parent click handlers and Radix portal
18
+ // restorations that can steal focus right after mount. Until the second
19
+ // tick lands we treat the input as "unsettled" — any blur during that
20
+ // window is the portal teardown stealing focus, not the user dismissing
21
+ // the input, so we refocus instead of committing an empty value.
22
+ //
23
+ // preventScroll matters here (#123): the input mounts inside the
24
+ // sidebar's flex column, which is small enough that focus-scroll can
25
+ // nudge the parent's scroll position by a fraction of a pixel each
26
+ // cycle. Repeated open/cancel pairs accumulate and walk the tree off
27
+ // the left edge. We're already rendering the input where it should be
28
+ // visible — there is no scroll-into-view we need from focus().
29
+ const focus = () => {
30
+ el.focus({ preventScroll: true });
31
+ const dot = initial.lastIndexOf(".");
32
+ if (dot > 0)
33
+ el.setSelectionRange(0, dot);
34
+ else
35
+ el.select();
36
+ };
37
+ focus();
38
+ const raf = requestAnimationFrame(() => focus());
39
+ const timer = setTimeout(() => {
40
+ focus();
41
+ settledRef.current = true;
42
+ }, 170);
43
+ return () => {
44
+ cancelAnimationFrame(raf);
45
+ clearTimeout(timer);
46
+ };
47
+ }, [initial]);
48
+ const commit = () => {
49
+ if (committedRef.current)
50
+ return;
51
+ committedRef.current = true;
52
+ onCommit(value);
53
+ };
54
+ const cancel = () => {
55
+ if (committedRef.current)
56
+ return;
57
+ committedRef.current = true;
58
+ onCancel();
59
+ };
60
+ return (_jsx("input", { ref: ref, value: value, placeholder: placeholder, onChange: (e) => setValue(e.target.value), onKeyDown: (e) => {
61
+ if (e.key === "Enter") {
62
+ e.preventDefault();
63
+ commit();
64
+ }
65
+ else if (e.key === "Escape") {
66
+ e.preventDefault();
67
+ cancel();
68
+ }
69
+ }, onBlur: () => {
70
+ if (!settledRef.current) {
71
+ ref.current?.focus({ preventScroll: true });
72
+ return;
73
+ }
74
+ commit();
75
+ }, className: "flex-1 min-w-0 truncate rounded-sm border border-border bg-background px-1.5 py-0.5 text-xs text-foreground outline-none ring-0 focus:border-ring" }));
76
+ }
77
+ //# sourceMappingURL=InlineInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineInput.js","sourceRoot":"","sources":["../../src/explorer/InlineInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ export interface FileTreeActions {
2
+ beginCreate: (parentPath: string, kind: "file" | "dir") => void;
3
+ beginRename: (path: string) => void;
4
+ deletePath: (path: string) => void | Promise<void>;
5
+ deletePaths: (paths: string[]) => void | Promise<void>;
6
+ toggle: (path: string) => void;
7
+ copyPaths?: (sources: string[], targetDir: string, isCut?: boolean) => Promise<void>;
8
+ commitRename?: (newName: string) => Promise<void> | void;
9
+ cancelRename?: () => void;
10
+ commitCreate?: (name: string) => Promise<void> | void;
11
+ cancelCreate?: () => void;
12
+ renaming?: string | null;
13
+ pendingCreate?: any;
14
+ }
15
+ type Tree = FileTreeActions;
16
+ export type EntryRowProps = {
17
+ path: string;
18
+ name: string;
19
+ isDir: boolean;
20
+ isExpanded: boolean;
21
+ depth: number;
22
+ rootPath: string;
23
+ tree: Tree;
24
+ isSelected: boolean;
25
+ selectedPaths?: Set<string>;
26
+ isRenaming: boolean;
27
+ onOpenFile: (path: string, pin?: boolean) => void;
28
+ onSelectPath: (path: string, e?: React.MouseEvent) => void;
29
+ onRevealInTerminal?: (path: string) => void;
30
+ onOpenInActiveTerminal?: (path: string) => void;
31
+ onOpenInNewTerminal?: (path: string) => void;
32
+ onAttachToAgent?: (path: string) => void;
33
+ onOpenMarkdownPreview?: (path: string) => void;
34
+ onOpenInSplitPane?: (path: string, dir: "row" | "col", edge: "before" | "after") => void;
35
+ onNavigateRoot?: (path: string) => void;
36
+ /** Current clipboard state from the parent FileExplorer */
37
+ clipboard?: {
38
+ paths: string[];
39
+ isCut: boolean;
40
+ } | null;
41
+ /** Trigger copy (false) or cut (true) for the currently selected paths */
42
+ onCopy?: (isCut: boolean) => void;
43
+ /** Paste clipboard contents into `targetDir` */
44
+ onPaste?: (targetDir: string) => Promise<void>;
45
+ /** True when this row is the current drag-drop target */
46
+ isDropTarget?: boolean;
47
+ };
48
+ declare function EntryRowImpl(props: EntryRowProps): import("react").JSX.Element;
49
+ export declare const EntryRow: import("react").MemoExoticComponent<typeof EntryRowImpl>;
50
+ export type PendingRowProps = {
51
+ depth: number;
52
+ kind: "file" | "dir";
53
+ onCommit: (name: string) => void | Promise<void>;
54
+ onCancel: () => void;
55
+ };
56
+ export declare function PendingRow({ depth, kind, onCommit, onCancel, }: PendingRowProps): import("react").JSX.Element;
57
+ export type StatusRowProps = {
58
+ depth: number;
59
+ message: string;
60
+ tone: "muted" | "error";
61
+ };
62
+ export declare function StatusRow({ depth, message, tone, }: StatusRowProps): import("react").JSX.Element;
63
+ export {};
64
+ //# sourceMappingURL=TreeRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeRow.d.ts","sourceRoot":"","sources":["../../src/explorer/TreeRow.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;IAChE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AACD,KAAK,IAAI,GAAG,eAAe,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3D,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,KAAK,GAAG,KAAK,EAClB,IAAI,EAAE,QAAQ,GAAG,OAAO,KACrB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,2DAA2D;IAC3D,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAcF,iBAAS,YAAY,CAAC,KAAK,EAAE,aAAa,+BA8RzC;AAED,eAAO,MAAM,QAAQ,0DAAqB,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,eAAe,+BAsBjB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE,cAAc,+BAYhB"}
@@ -0,0 +1,100 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger, } from "../primitives/context-menu.js";
3
+ import { quoteShellArg } from "../utils/shellQuote.js";
4
+ import { cn } from "../utils/cn.js";
5
+ import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
6
+ import { HugeiconsIcon } from "@hugeicons/react";
7
+ import { memo, useState } from "react";
8
+ import { InlineInput } from "./InlineInput.js";
9
+ import { copyToClipboard, openInExternalEditor, relativePath, revealInFinder, } from "./contextActions.js";
10
+ import { fileIconUrl, folderIconUrl } from "./iconResolver.js";
11
+ import { COMPACT_CONTENT, COMPACT_ITEM } from "./menuItemClass.js";
12
+ function isMarkdownPath(path) {
13
+ return /\.(md|markdown|mdx)$/i.test(path);
14
+ }
15
+ function isImagePath(path) {
16
+ return /\.(png|jpe?g|gif|webp|svg|bmp|ico)$/i.test(path);
17
+ }
18
+ function isPreviewablePath(path) {
19
+ return isMarkdownPath(path) || isImagePath(path);
20
+ }
21
+ function EntryRowImpl(props) {
22
+ const { path, name, isDir, isExpanded, depth, rootPath, tree, isSelected, selectedPaths, isRenaming, onOpenFile, onSelectPath, onRevealInTerminal, onOpenInActiveTerminal, onOpenInNewTerminal, onAttachToAgent, onOpenMarkdownPreview, onOpenInSplitPane, onNavigateRoot, clipboard, onCopy, onPaste, isDropTarget, } = props;
23
+ const [isConfirming, setIsConfirming] = useState(false);
24
+ const iconUrl = isDir ? folderIconUrl(name, isExpanded) : fileIconUrl(name);
25
+ const createTarget = isDir
26
+ ? path
27
+ : path.slice(0, path.lastIndexOf("/")) || rootPath;
28
+ const targetDir = isDir
29
+ ? path
30
+ : path.slice(0, path.lastIndexOf("/")) || rootPath;
31
+ const paddingLeft = 6 + depth * 12;
32
+ const handleClick = (e) => {
33
+ if (tree.renaming)
34
+ return;
35
+ onSelectPath(path, e);
36
+ // If performing a multi-select, don't open the file or toggle the directory
37
+ if (e.metaKey || e.ctrlKey || e.shiftKey)
38
+ return;
39
+ if (isDir)
40
+ tree.toggle(path);
41
+ else if (isImagePath(path) && onOpenMarkdownPreview)
42
+ onOpenMarkdownPreview(path);
43
+ else
44
+ onOpenFile(path);
45
+ };
46
+ const contextPaths = selectedPaths?.has(path)
47
+ ? Array.from(selectedPaths)
48
+ : [path];
49
+ const isMulti = contextPaths.length > 1;
50
+ return (_jsxs(ContextMenu, { children: [_jsx(ContextMenuTrigger, { asChild: true, children: isRenaming ? (_jsxs("div", { className: "flex h-6 w-full min-w-0 items-center gap-2 px-1.5 text-[13px]", style: { paddingLeft }, children: [_jsx("span", { className: "size-3.5 shrink-0" }), iconUrl ? (_jsx("img", { src: iconUrl, alt: "", className: "size-4 shrink-0" })) : (_jsx("span", { className: "size-4 shrink-0" })), _jsx(InlineInput, { initial: name, onCommit: (val) => tree.commitRename?.(val), onCancel: () => tree.cancelRename?.() })] })) : (_jsxs("button", { type: "button", draggable: true, onDragStart: (e) => {
51
+ e.dataTransfer.setData("text/plain", quoteShellArg(path));
52
+ }, "data-fs-path": path, ...(isDir ? { "data-folder-path": path } : {}), onClick: handleClick, onDoubleClick: () => !isDir && tree.beginRename(path), className: cn("group flex h-6 w-full min-w-0 cursor-pointer items-center gap-2 rounded-sm px-1.5 text-left text-[13px] text-foreground/85 transition-colors hover:bg-accent/70", isSelected && "bg-accent text-foreground", isDropTarget && "ring-1 ring-inset ring-primary bg-primary/10"), style: { paddingLeft }, children: [_jsx("span", { className: "flex size-3.5 shrink-0 items-center justify-center text-muted-foreground", children: isDir ? (_jsx(HugeiconsIcon, { icon: ArrowRight01Icon, size: 12, strokeWidth: 2.25, className: cn("transition-transform", isExpanded && "rotate-90") })) : null }), iconUrl ? (_jsx("img", { src: iconUrl, alt: "", className: "size-4 shrink-0" })) : (_jsx("span", { className: "size-4 shrink-0" })), _jsx("span", { className: "min-w-0 flex-1 truncate", children: name })] })) }), _jsxs(ContextMenuContent, { className: COMPACT_CONTENT, onCloseAutoFocus: (e) => {
53
+ if (tree.renaming || tree.pendingCreate)
54
+ e.preventDefault();
55
+ }, children: [!isDir && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onOpenFile(path, true), children: "Open" })), _jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => {
56
+ for (const p of contextPaths)
57
+ void openInExternalEditor(p);
58
+ }, children: isMulti
59
+ ? `Open ${contextPaths.length} items in External Editor`
60
+ : "Open in External Editor" }), !isDir && isPreviewablePath(path) && onOpenMarkdownPreview && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onOpenMarkdownPreview(path), children: "Open Preview" })), !isDir && !isMulti && onOpenInSplitPane && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onOpenInSplitPane(path, "row", "after"), children: "Open to the Right" })), !isMulti && isDir && onNavigateRoot && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onNavigateRoot(path), children: "Focus Folder" })), !isMulti && (onOpenInActiveTerminal || onRevealInTerminal) && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => {
61
+ if (onOpenInActiveTerminal) {
62
+ onOpenInActiveTerminal(targetDir);
63
+ }
64
+ else if (onRevealInTerminal) {
65
+ onRevealInTerminal(targetDir);
66
+ }
67
+ }, children: "Open in Active Terminal" })), !isMulti && (onOpenInNewTerminal || onRevealInTerminal) && (_jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => {
68
+ if (onOpenInNewTerminal) {
69
+ onOpenInNewTerminal(targetDir);
70
+ }
71
+ else if (onRevealInTerminal) {
72
+ onRevealInTerminal(targetDir);
73
+ }
74
+ }, children: "Open in New Terminal" })), _jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => {
75
+ for (const p of contextPaths)
76
+ void revealInFinder(p);
77
+ }, children: isMulti
78
+ ? `Reveal ${contextPaths.length} items in Finder`
79
+ : "Reveal in Finder" }), _jsx(ContextMenuSeparator, {}), _jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => tree.beginCreate(createTarget, "file"), children: "New File" }), _jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => tree.beginCreate(createTarget, "dir"), children: "New Folder" }), _jsx(ContextMenuSeparator, {}), onCopy && (_jsxs(_Fragment, { children: [_jsxs(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onCopy(false), children: ["Copy", isMulti ? ` ${contextPaths.length} Items` : ""] }), _jsxs(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onCopy(true), children: ["Cut", isMulti ? ` ${contextPaths.length} Items` : ""] })] })), clipboard && onPaste && isDir && (_jsxs(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => void onPaste(path), children: ["Paste", clipboard.isCut ? " (Move)" : ""] })), _jsxs(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => void copyToClipboard(contextPaths.join("\n")), children: ["Copy Path", isMulti ? "s" : ""] }), _jsxs(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => void copyToClipboard(contextPaths.map((p) => relativePath(rootPath, p)).join("\n")), children: ["Copy Relative Path", isMulti ? "s" : ""] }), _jsx(ContextMenuSeparator, {}), _jsx(ContextMenuItem, { className: COMPACT_ITEM, onSelect: () => onAttachToAgent?.(path), children: "Attach to Agent" }), _jsx(ContextMenuSeparator, {}), _jsx(ContextMenuItem, { className: COMPACT_ITEM, variant: "destructive", onSelect: (e) => {
80
+ e.preventDefault();
81
+ if (isConfirming) {
82
+ void tree.deletePaths(contextPaths);
83
+ }
84
+ else {
85
+ setIsConfirming(true);
86
+ }
87
+ }, onMouseLeave: () => setTimeout(() => setIsConfirming(false), 1500), children: isConfirming
88
+ ? "Click again to confirm"
89
+ : isMulti
90
+ ? `Delete ${contextPaths.length} items`
91
+ : "Delete" })] })] }));
92
+ }
93
+ export const EntryRow = memo(EntryRowImpl);
94
+ export function PendingRow({ depth, kind, onCommit, onCancel, }) {
95
+ return (_jsxs("div", { className: "flex h-6 w-full min-w-0 items-center gap-2 px-1.5 text-[13px]", style: { paddingLeft: 6 + depth * 12 }, children: [_jsx("span", { className: "size-3.5 shrink-0" }), _jsx("img", { src: kind === "dir" ? folderIconUrl("", false) : fileIconUrl("untitled"), alt: "", className: "size-4 shrink-0 opacity-70" }), _jsx(InlineInput, { initial: "", placeholder: kind === "dir" ? "New folder" : "New file", onCommit: onCommit, onCancel: onCancel })] }));
96
+ }
97
+ export function StatusRow({ depth, message, tone, }) {
98
+ return (_jsx("div", { className: cn("h-6 truncate px-2 text-[11px] leading-6", tone === "error" ? "text-destructive" : "text-muted-foreground"), style: { paddingLeft: 6 + depth * 12 + 18 }, children: message }));
99
+ }
100
+ //# sourceMappingURL=TreeRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeRow.js","sourceRoot":"","sources":["../../src/explorer/TreeRow.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Extension → VS Code language id, used by `iconResolver` as a fallback when
3
+ * material-icon-theme's `fileExtensions` map lacks an entry. material-icon-theme
4
+ * relies on VS Code's extension→languageId registry for many common files
5
+ * (ts, js, html, css, sh, sql…). Without this layer, plain `foo.ts` would
6
+ * fall back to the generic file icon.
7
+ *
8
+ * Add entries when a popular extension renders without an icon. Keys are
9
+ * lowercase, dot-less. Values must exist in `manifest.languageIds`.
10
+ */
11
+ export declare const EXT_TO_LANGUAGE_ID: Record<string, string>;
12
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/explorer/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4DrD,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Extension → VS Code language id, used by `iconResolver` as a fallback when
3
+ * material-icon-theme's `fileExtensions` map lacks an entry. material-icon-theme
4
+ * relies on VS Code's extension→languageId registry for many common files
5
+ * (ts, js, html, css, sh, sql…). Without this layer, plain `foo.ts` would
6
+ * fall back to the generic file icon.
7
+ *
8
+ * Add entries when a popular extension renders without an icon. Keys are
9
+ * lowercase, dot-less. Values must exist in `manifest.languageIds`.
10
+ */
11
+ export const EXT_TO_LANGUAGE_ID = {
12
+ ts: "typescript",
13
+ cts: "typescript",
14
+ mts: "typescript",
15
+ tsx: "typescriptreact",
16
+ js: "javascript",
17
+ cjs: "javascript",
18
+ mjs: "javascript",
19
+ jsx: "javascriptreact",
20
+ html: "html",
21
+ htm: "html",
22
+ css: "css",
23
+ scss: "scss",
24
+ sass: "sass",
25
+ less: "less",
26
+ json: "json",
27
+ jsonc: "jsonc",
28
+ md: "markdown",
29
+ markdown: "markdown",
30
+ py: "python",
31
+ rs: "rust",
32
+ go: "go",
33
+ java: "java",
34
+ kt: "kotlin",
35
+ kts: "kotlin",
36
+ rb: "ruby",
37
+ php: "php",
38
+ c: "c",
39
+ h: "c",
40
+ cpp: "cpp",
41
+ cc: "cpp",
42
+ cxx: "cpp",
43
+ hpp: "cpp",
44
+ cs: "csharp",
45
+ swift: "swift",
46
+ sh: "shellscript",
47
+ bash: "shellscript",
48
+ zsh: "shellscript",
49
+ fish: "shellscript",
50
+ sql: "sql",
51
+ xml: "xml",
52
+ yaml: "yaml",
53
+ yml: "yaml",
54
+ toml: "toml",
55
+ vue: "vue",
56
+ svelte: "svelte",
57
+ astro: "astro",
58
+ lua: "lua",
59
+ dart: "dart",
60
+ r: "r",
61
+ pl: "perl",
62
+ ex: "elixir",
63
+ exs: "elixir",
64
+ elm: "elm",
65
+ hs: "haskell",
66
+ clj: "clojure",
67
+ scala: "scala",
68
+ zig: "zig",
69
+ nim: "nim",
70
+ log: "log",
71
+ };
72
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/explorer/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,EAAE,EAAE,YAAY;IAChB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,iBAAiB;IACtB,EAAE,EAAE,YAAY;IAChB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,QAAQ;IACb,EAAE,EAAE,MAAM;IACV,GAAG,EAAE,KAAK;IACV,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,KAAK;IACV,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function copyToClipboard(text: string): Promise<void>;
2
+ export declare function relativePath(rootPath: string, path: string): string;
3
+ export declare function revealInFinder(path: string): Promise<void>;
4
+ export declare function openInExternalEditor(path: string): Promise<void>;
5
+ //# sourceMappingURL=contextActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextActions.d.ts","sourceRoot":"","sources":["../../src/explorer/contextActions.ts"],"names":[],"mappings":"AAAA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAInE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAShE;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAStE"}
@@ -0,0 +1,38 @@
1
+ export async function copyToClipboard(text) {
2
+ try {
3
+ await navigator.clipboard.writeText(text);
4
+ }
5
+ catch {
6
+ // Best-effort; ignore in environments without clipboard permission.
7
+ }
8
+ }
9
+ export function relativePath(rootPath, path) {
10
+ if (path === rootPath)
11
+ return ".";
12
+ if (path.startsWith(`${rootPath}/`))
13
+ return path.slice(rootPath.length + 1);
14
+ return path;
15
+ }
16
+ export async function revealInFinder(path) {
17
+ try {
18
+ const w = typeof window !== "undefined" ? window : undefined;
19
+ if (w?.__TAURI_INTERNALS__?.invoke) {
20
+ await w.__TAURI_INTERNALS__.invoke("plugin:opener|reveal_item_in_dir", { path });
21
+ }
22
+ }
23
+ catch (e) {
24
+ console.warn("revealInFinder not available in this environment:", e);
25
+ }
26
+ }
27
+ export async function openInExternalEditor(path) {
28
+ try {
29
+ const w = typeof window !== "undefined" ? window : undefined;
30
+ if (w?.__TAURI_INTERNALS__?.invoke) {
31
+ await w.__TAURI_INTERNALS__.invoke("plugin:opener|open_path", { path });
32
+ }
33
+ }
34
+ catch (e) {
35
+ console.warn("openInExternalEditor not available in this environment:", e);
36
+ }
37
+ }
38
+ //# sourceMappingURL=contextActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextActions.js","sourceRoot":"","sources":["../../src/explorer/contextActions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,IAAY;IACzD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAE,MAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAE,MAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}