@bendyline/docblocks-react 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/README.md +50 -15
  2. package/dist/AppMenu/AppMenu.d.ts +29 -2
  3. package/dist/AppMenu/AppMenu.d.ts.map +1 -1
  4. package/dist/AppMenu/AppMenu.js +41 -2
  5. package/dist/AppMenu/AppMenu.js.map +1 -1
  6. package/dist/AppMenu/index.d.ts +1 -1
  7. package/dist/AppMenu/index.d.ts.map +1 -1
  8. package/dist/DocBlocksShell/DocBlocksShell.d.ts +17 -4
  9. package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +1 -1
  10. package/dist/DocBlocksShell/DocBlocksShell.js +1710 -299
  11. package/dist/DocBlocksShell/DocBlocksShell.js.map +1 -1
  12. package/dist/DocBlocksShell/LazyEditorShell.d.ts +3 -0
  13. package/dist/DocBlocksShell/LazyEditorShell.d.ts.map +1 -0
  14. package/dist/DocBlocksShell/LazyEditorShell.js +3 -0
  15. package/dist/DocBlocksShell/LazyEditorShell.js.map +1 -0
  16. package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts +13 -0
  17. package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts.map +1 -0
  18. package/dist/DocBlocksShell/UpdateAvailableNotice.js +16 -0
  19. package/dist/DocBlocksShell/UpdateAvailableNotice.js.map +1 -0
  20. package/dist/DocBlocksShell/document-title.d.ts +3 -0
  21. package/dist/DocBlocksShell/document-title.d.ts.map +1 -0
  22. package/dist/DocBlocksShell/document-title.js +17 -0
  23. package/dist/DocBlocksShell/document-title.js.map +1 -0
  24. package/dist/DocBlocksShell/workspace-authority-barrier.d.ts +14 -0
  25. package/dist/DocBlocksShell/workspace-authority-barrier.d.ts.map +1 -0
  26. package/dist/DocBlocksShell/workspace-authority-barrier.js +23 -0
  27. package/dist/DocBlocksShell/workspace-authority-barrier.js.map +1 -0
  28. package/dist/Export/DeferredExportToolbarControls.d.ts +5 -0
  29. package/dist/Export/DeferredExportToolbarControls.d.ts.map +1 -0
  30. package/dist/Export/DeferredExportToolbarControls.js +10 -0
  31. package/dist/Export/DeferredExportToolbarControls.js.map +1 -0
  32. package/dist/Export/ExportDialog.d.ts +10 -1
  33. package/dist/Export/ExportDialog.d.ts.map +1 -1
  34. package/dist/Export/ExportDialog.js +39 -20
  35. package/dist/Export/ExportDialog.js.map +1 -1
  36. package/dist/Export/ExportToolbarControls.d.ts +21 -1
  37. package/dist/Export/ExportToolbarControls.d.ts.map +1 -1
  38. package/dist/Export/ExportToolbarControls.js +161 -26
  39. package/dist/Export/ExportToolbarControls.js.map +1 -1
  40. package/dist/Export/export-destination.d.ts +3 -0
  41. package/dist/Export/export-destination.d.ts.map +1 -0
  42. package/dist/Export/export-destination.js +32 -0
  43. package/dist/Export/export-destination.js.map +1 -0
  44. package/dist/Export/index.d.ts +8 -4
  45. package/dist/Export/index.d.ts.map +1 -1
  46. package/dist/Export/index.js +4 -1
  47. package/dist/Export/index.js.map +1 -1
  48. package/dist/Export/public-api.d.ts +12 -0
  49. package/dist/Export/public-api.d.ts.map +1 -0
  50. package/dist/Export/public-api.js +9 -0
  51. package/dist/Export/public-api.js.map +1 -0
  52. package/dist/Export/run-export.d.ts +3 -1
  53. package/dist/Export/run-export.d.ts.map +1 -1
  54. package/dist/Export/run-export.js +58 -25
  55. package/dist/Export/run-export.js.map +1 -1
  56. package/dist/Export/transform-summaries.d.ts +7 -0
  57. package/dist/Export/transform-summaries.d.ts.map +1 -0
  58. package/dist/Export/transform-summaries.js +6 -0
  59. package/dist/Export/transform-summaries.js.map +1 -0
  60. package/dist/ExportDialog-MEUISWZX.js +9 -0
  61. package/dist/ExportDialog-MEUISWZX.js.map +1 -0
  62. package/dist/ExportToolbarControls-D2YDWOXW.js +373 -0
  63. package/dist/ExportToolbarControls-D2YDWOXW.js.map +1 -0
  64. package/dist/FileExplorer/FileExplorer.d.ts +26 -4
  65. package/dist/FileExplorer/FileExplorer.d.ts.map +1 -1
  66. package/dist/FileExplorer/FileExplorer.js +204 -29
  67. package/dist/FileExplorer/FileExplorer.js.map +1 -1
  68. package/dist/FileExplorer/FileTreeNode.d.ts +24 -3
  69. package/dist/FileExplorer/FileTreeNode.d.ts.map +1 -1
  70. package/dist/FileExplorer/FileTreeNode.js +27 -8
  71. package/dist/FileExplorer/FileTreeNode.js.map +1 -1
  72. package/dist/FileExplorer/index.d.ts +1 -1
  73. package/dist/FileExplorer/index.d.ts.map +1 -1
  74. package/dist/FileExplorer/useFileTree.d.ts +5 -3
  75. package/dist/FileExplorer/useFileTree.d.ts.map +1 -1
  76. package/dist/FileExplorer/useFileTree.js +173 -13
  77. package/dist/FileExplorer/useFileTree.js.map +1 -1
  78. package/dist/Git/GitAuthGuidanceDialog.d.ts +18 -0
  79. package/dist/Git/GitAuthGuidanceDialog.d.ts.map +1 -0
  80. package/dist/Git/GitAuthGuidanceDialog.js +27 -0
  81. package/dist/Git/GitAuthGuidanceDialog.js.map +1 -0
  82. package/dist/Git/GitBranchesDialog.d.ts +13 -0
  83. package/dist/Git/GitBranchesDialog.d.ts.map +1 -0
  84. package/dist/Git/GitBranchesDialog.js +59 -0
  85. package/dist/Git/GitBranchesDialog.js.map +1 -0
  86. package/dist/Git/GitCloneDialog.d.ts +14 -0
  87. package/dist/Git/GitCloneDialog.d.ts.map +1 -0
  88. package/dist/Git/GitCloneDialog.js +79 -0
  89. package/dist/Git/GitCloneDialog.js.map +1 -0
  90. package/dist/Git/GitCommitDialog.d.ts +12 -0
  91. package/dist/Git/GitCommitDialog.d.ts.map +1 -0
  92. package/dist/Git/GitCommitDialog.js +38 -0
  93. package/dist/Git/GitCommitDialog.js.map +1 -0
  94. package/dist/Git/GitConflictsDialog.d.ts +12 -0
  95. package/dist/Git/GitConflictsDialog.d.ts.map +1 -0
  96. package/dist/Git/GitConflictsDialog.js +17 -0
  97. package/dist/Git/GitConflictsDialog.js.map +1 -0
  98. package/dist/Git/GitContext.d.ts +89 -0
  99. package/dist/Git/GitContext.d.ts.map +1 -0
  100. package/dist/Git/GitContext.js +15 -0
  101. package/dist/Git/GitContext.js.map +1 -0
  102. package/dist/Git/GitDiffDialog.d.ts +20 -0
  103. package/dist/Git/GitDiffDialog.d.ts.map +1 -0
  104. package/dist/Git/GitDiffDialog.js +100 -0
  105. package/dist/Git/GitDiffDialog.js.map +1 -0
  106. package/dist/Git/GitDiffView.d.ts +23 -0
  107. package/dist/Git/GitDiffView.d.ts.map +1 -0
  108. package/dist/Git/GitDiffView.js +77 -0
  109. package/dist/Git/GitDiffView.js.map +1 -0
  110. package/dist/Git/GitHistoryDialog.d.ts +15 -0
  111. package/dist/Git/GitHistoryDialog.d.ts.map +1 -0
  112. package/dist/Git/GitHistoryDialog.js +107 -0
  113. package/dist/Git/GitHistoryDialog.js.map +1 -0
  114. package/dist/Git/GitStatusBar.d.ts +8 -0
  115. package/dist/Git/GitStatusBar.d.ts.map +1 -0
  116. package/dist/Git/GitStatusBar.js +49 -0
  117. package/dist/Git/GitStatusBar.js.map +1 -0
  118. package/dist/Git/GitToolbarControl.d.ts +15 -0
  119. package/dist/Git/GitToolbarControl.d.ts.map +1 -0
  120. package/dist/Git/GitToolbarControl.js +51 -0
  121. package/dist/Git/GitToolbarControl.js.map +1 -0
  122. package/dist/Git/GitUI.d.ts +14 -0
  123. package/dist/Git/GitUI.d.ts.map +1 -0
  124. package/dist/Git/GitUI.js +21 -0
  125. package/dist/Git/GitUI.js.map +1 -0
  126. package/dist/Git/commit-selection.d.ts +22 -0
  127. package/dist/Git/commit-selection.d.ts.map +1 -0
  128. package/dist/Git/commit-selection.js +47 -0
  129. package/dist/Git/commit-selection.js.map +1 -0
  130. package/dist/Git/git-clone-utils.d.ts +8 -0
  131. package/dist/Git/git-clone-utils.d.ts.map +1 -0
  132. package/dist/Git/git-clone-utils.js +26 -0
  133. package/dist/Git/git-clone-utils.js.map +1 -0
  134. package/dist/Git/git-status.d.ts +24 -0
  135. package/dist/Git/git-status.d.ts.map +1 -0
  136. package/dist/Git/git-status.js +105 -0
  137. package/dist/Git/git-status.js.map +1 -0
  138. package/dist/Git/useGit.d.ts +15 -0
  139. package/dist/Git/useGit.d.ts.map +1 -0
  140. package/dist/Git/useGit.js +206 -0
  141. package/dist/Git/useGit.js.map +1 -0
  142. package/dist/Git/useGitStatus.d.ts +17 -0
  143. package/dist/Git/useGitStatus.d.ts.map +1 -0
  144. package/dist/Git/useGitStatus.js +63 -0
  145. package/dist/Git/useGitStatus.js.map +1 -0
  146. package/dist/GitToolbarControl-LMIR4R7I.js +117 -0
  147. package/dist/GitToolbarControl-LMIR4R7I.js.map +1 -0
  148. package/dist/GitUI-KGF5MSNV.js +1048 -0
  149. package/dist/GitUI-KGF5MSNV.js.map +1 -0
  150. package/dist/LazyEditorShell-EF2BWRXU.js +6 -0
  151. package/dist/LazyEditorShell-EF2BWRXU.js.map +1 -0
  152. package/dist/Settings/Settings.d.ts +23 -0
  153. package/dist/Settings/Settings.d.ts.map +1 -0
  154. package/dist/Settings/Settings.js +22 -0
  155. package/dist/Settings/Settings.js.map +1 -0
  156. package/dist/Settings/public-api.d.ts +3 -0
  157. package/dist/Settings/public-api.d.ts.map +1 -0
  158. package/dist/Settings/public-api.js +2 -0
  159. package/dist/Settings/public-api.js.map +1 -0
  160. package/dist/WorkspacePicker/WorkspacePicker.d.ts +6 -1
  161. package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +1 -1
  162. package/dist/WorkspacePicker/WorkspacePicker.js +16 -5
  163. package/dist/WorkspacePicker/WorkspacePicker.js.map +1 -1
  164. package/dist/chunk-3SAXDU2U.js +157 -0
  165. package/dist/chunk-3SAXDU2U.js.map +1 -0
  166. package/dist/chunk-4XXSWN3T.js +13 -0
  167. package/dist/chunk-4XXSWN3T.js.map +1 -0
  168. package/dist/chunk-5A4KEWKT.js +97 -0
  169. package/dist/chunk-5A4KEWKT.js.map +1 -0
  170. package/dist/chunk-AOVTHZU7.js +321 -0
  171. package/dist/chunk-AOVTHZU7.js.map +1 -0
  172. package/dist/chunk-DD4VFJQI.js +51 -0
  173. package/dist/chunk-DD4VFJQI.js.map +1 -0
  174. package/dist/chunk-GSNZSCIK.js +55 -0
  175. package/dist/chunk-GSNZSCIK.js.map +1 -0
  176. package/dist/chunk-VHDP4IPL.js +70 -0
  177. package/dist/chunk-VHDP4IPL.js.map +1 -0
  178. package/dist/chunk-ZI56BNB7.js +270 -0
  179. package/dist/chunk-ZI56BNB7.js.map +1 -0
  180. package/dist/components/Dialog.d.ts +22 -0
  181. package/dist/components/Dialog.d.ts.map +1 -0
  182. package/dist/components/Dialog.js +33 -0
  183. package/dist/components/Dialog.js.map +1 -0
  184. package/dist/editor.d.ts +10 -0
  185. package/dist/editor.d.ts.map +1 -0
  186. package/dist/editor.js +70 -0
  187. package/dist/editor.js.map +1 -0
  188. package/dist/export/index.d.ts +87 -0
  189. package/dist/export/index.js +26 -0
  190. package/dist/export/index.js.map +1 -0
  191. package/dist/hooks/index.d.ts +2 -1
  192. package/dist/hooks/index.d.ts.map +1 -1
  193. package/dist/hooks/index.js +1 -1
  194. package/dist/hooks/index.js.map +1 -1
  195. package/dist/hooks/useDocumentSession.d.ts +16 -0
  196. package/dist/hooks/useDocumentSession.d.ts.map +1 -0
  197. package/dist/hooks/useDocumentSession.js +18 -0
  198. package/dist/hooks/useDocumentSession.js.map +1 -0
  199. package/dist/icons.d.ts +11 -6
  200. package/dist/icons.d.ts.map +1 -1
  201. package/dist/icons.js +21 -20
  202. package/dist/icons.js.map +1 -1
  203. package/dist/index.d.ts +8 -5
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +4 -2
  206. package/dist/index.js.map +1 -1
  207. package/dist/preferences/theme.d.ts +18 -0
  208. package/dist/preferences/theme.d.ts.map +1 -0
  209. package/dist/preferences/theme.js +63 -0
  210. package/dist/preferences/theme.js.map +1 -0
  211. package/dist/provider-lease.d.ts +10 -0
  212. package/dist/provider-lease.d.ts.map +1 -0
  213. package/dist/provider-lease.js +42 -0
  214. package/dist/provider-lease.js.map +1 -0
  215. package/dist/run-export-ICTZITXC.js +10 -0
  216. package/dist/run-export-ICTZITXC.js.map +1 -0
  217. package/dist/settings/index.d.ts +28 -0
  218. package/dist/settings/index.js +12 -0
  219. package/dist/settings/index.js.map +1 -0
  220. package/package.json +27 -10
  221. package/src/AppMenu/AppMenu.tsx +169 -99
  222. package/src/AppMenu/index.ts +1 -1
  223. package/src/DocBlocksShell/DocBlocksShell.tsx +2183 -516
  224. package/src/DocBlocksShell/LazyEditorShell.ts +2 -0
  225. package/src/DocBlocksShell/UpdateAvailableNotice.tsx +60 -0
  226. package/src/DocBlocksShell/document-title.ts +19 -0
  227. package/src/DocBlocksShell/workspace-authority-barrier.ts +26 -0
  228. package/src/Export/DeferredExportToolbarControls.tsx +23 -0
  229. package/src/Export/ExportDialog.tsx +102 -27
  230. package/src/Export/ExportToolbarControls.tsx +343 -57
  231. package/src/Export/export-destination.ts +30 -0
  232. package/src/Export/index.ts +18 -4
  233. package/src/Export/public-api.ts +17 -0
  234. package/src/Export/run-export.ts +66 -29
  235. package/src/Export/transform-summaries.ts +14 -0
  236. package/src/FileExplorer/FileExplorer.tsx +284 -38
  237. package/src/FileExplorer/FileTreeNode.tsx +100 -8
  238. package/src/FileExplorer/index.ts +1 -1
  239. package/src/FileExplorer/useFileTree.ts +190 -16
  240. package/src/Git/GitAuthGuidanceDialog.tsx +84 -0
  241. package/src/Git/GitBranchesDialog.tsx +144 -0
  242. package/src/Git/GitCloneDialog.tsx +200 -0
  243. package/src/Git/GitCommitDialog.tsx +119 -0
  244. package/src/Git/GitConflictsDialog.tsx +62 -0
  245. package/src/Git/GitContext.tsx +88 -0
  246. package/src/Git/GitDiffDialog.tsx +147 -0
  247. package/src/Git/GitDiffView.tsx +105 -0
  248. package/src/Git/GitHistoryDialog.tsx +195 -0
  249. package/src/Git/GitStatusBar.tsx +157 -0
  250. package/src/Git/GitToolbarControl.tsx +123 -0
  251. package/src/Git/GitUI.tsx +68 -0
  252. package/src/Git/commit-selection.ts +63 -0
  253. package/src/Git/git-clone-utils.ts +23 -0
  254. package/src/Git/git-status.ts +113 -0
  255. package/src/Git/useGit.ts +279 -0
  256. package/src/Git/useGitStatus.ts +78 -0
  257. package/src/Settings/Settings.tsx +118 -0
  258. package/src/Settings/public-api.ts +8 -0
  259. package/src/WorkspacePicker/WorkspacePicker.tsx +62 -8
  260. package/src/components/Dialog.tsx +81 -0
  261. package/src/editor.ts +72 -0
  262. package/src/hooks/index.ts +2 -1
  263. package/src/hooks/useDocumentSession.ts +37 -0
  264. package/src/icons.tsx +33 -55
  265. package/src/index.ts +35 -5
  266. package/src/preferences/theme.ts +67 -0
  267. package/src/provider-lease.ts +52 -0
  268. package/src/styles/docblocks.css +2247 -77
  269. package/src/types/pwa-dom.d.ts +31 -0
  270. package/dist/hooks/useAutoSave.d.ts +0 -15
  271. package/dist/hooks/useAutoSave.d.ts.map +0 -1
  272. package/dist/hooks/useAutoSave.js +0 -83
  273. package/dist/hooks/useAutoSave.js.map +0 -1
  274. package/src/fonts/fonts.css +0 -362
  275. package/src/fonts/licenses/LICENSE-cormorant-garamond.txt +0 -93
  276. package/src/fonts/licenses/LICENSE-crimson-text.txt +0 -93
  277. package/src/fonts/licenses/LICENSE-dm-sans.txt +0 -93
  278. package/src/fonts/licenses/LICENSE-dm-serif-display.txt +0 -93
  279. package/src/fonts/licenses/LICENSE-hanken-grotesk.txt +0 -94
  280. package/src/fonts/licenses/LICENSE-ibm-plex-sans.txt +0 -93
  281. package/src/fonts/licenses/LICENSE-inter.txt +0 -93
  282. package/src/fonts/licenses/LICENSE-jetbrains-mono.txt +0 -93
  283. package/src/fonts/licenses/LICENSE-lora.txt +0 -93
  284. package/src/fonts/licenses/LICENSE-merriweather.txt +0 -93
  285. package/src/fonts/licenses/LICENSE-oswald.txt +0 -93
  286. package/src/fonts/licenses/LICENSE-playfair-display.txt +0 -93
  287. package/src/fonts/licenses/LICENSE-pt-serif.txt +0 -93
  288. package/src/fonts/licenses/LICENSE-roboto.txt +0 -93
  289. package/src/fonts/licenses/LICENSE-source-serif-4.txt +0 -93
  290. package/src/fonts/woff2/cormorant-garamond-400.woff2 +0 -0
  291. package/src/fonts/woff2/cormorant-garamond-700.woff2 +0 -0
  292. package/src/fonts/woff2/crimson-text-400.woff2 +0 -0
  293. package/src/fonts/woff2/crimson-text-400i.woff2 +0 -0
  294. package/src/fonts/woff2/crimson-text-700.woff2 +0 -0
  295. package/src/fonts/woff2/dm-sans-400.woff2 +0 -0
  296. package/src/fonts/woff2/dm-sans-400i.woff2 +0 -0
  297. package/src/fonts/woff2/dm-sans-500.woff2 +0 -0
  298. package/src/fonts/woff2/dm-sans-700.woff2 +0 -0
  299. package/src/fonts/woff2/dm-serif-display-400.woff2 +0 -0
  300. package/src/fonts/woff2/hanken-grotesk-400.woff2 +0 -0
  301. package/src/fonts/woff2/hanken-grotesk-400i.woff2 +0 -0
  302. package/src/fonts/woff2/hanken-grotesk-500.woff2 +0 -0
  303. package/src/fonts/woff2/hanken-grotesk-600.woff2 +0 -0
  304. package/src/fonts/woff2/hanken-grotesk-700.woff2 +0 -0
  305. package/src/fonts/woff2/ibm-plex-sans-400.woff2 +0 -0
  306. package/src/fonts/woff2/ibm-plex-sans-400i.woff2 +0 -0
  307. package/src/fonts/woff2/ibm-plex-sans-500.woff2 +0 -0
  308. package/src/fonts/woff2/ibm-plex-sans-600.woff2 +0 -0
  309. package/src/fonts/woff2/ibm-plex-sans-700.woff2 +0 -0
  310. package/src/fonts/woff2/inter-400.woff2 +0 -0
  311. package/src/fonts/woff2/inter-400i.woff2 +0 -0
  312. package/src/fonts/woff2/inter-500.woff2 +0 -0
  313. package/src/fonts/woff2/inter-600.woff2 +0 -0
  314. package/src/fonts/woff2/inter-700.woff2 +0 -0
  315. package/src/fonts/woff2/jetbrains-mono-400.woff2 +0 -0
  316. package/src/fonts/woff2/jetbrains-mono-400i.woff2 +0 -0
  317. package/src/fonts/woff2/jetbrains-mono-700.woff2 +0 -0
  318. package/src/fonts/woff2/lora-400.woff2 +0 -0
  319. package/src/fonts/woff2/lora-400i.woff2 +0 -0
  320. package/src/fonts/woff2/lora-700.woff2 +0 -0
  321. package/src/fonts/woff2/merriweather-400.woff2 +0 -0
  322. package/src/fonts/woff2/merriweather-700.woff2 +0 -0
  323. package/src/fonts/woff2/oswald-400.woff2 +0 -0
  324. package/src/fonts/woff2/oswald-700.woff2 +0 -0
  325. package/src/fonts/woff2/playfair-display-400.woff2 +0 -0
  326. package/src/fonts/woff2/playfair-display-700.woff2 +0 -0
  327. package/src/fonts/woff2/pt-serif-400.woff2 +0 -0
  328. package/src/fonts/woff2/pt-serif-700.woff2 +0 -0
  329. package/src/fonts/woff2/roboto-400.woff2 +0 -0
  330. package/src/fonts/woff2/roboto-400i.woff2 +0 -0
  331. package/src/fonts/woff2/roboto-700.woff2 +0 -0
  332. package/src/fonts/woff2/source-serif-4-400.woff2 +0 -0
  333. package/src/fonts/woff2/source-serif-4-400i.woff2 +0 -0
  334. package/src/fonts/woff2/source-serif-4-700.woff2 +0 -0
  335. package/src/hooks/useAutoSave.ts +0 -116
@@ -0,0 +1,26 @@
1
+ import {
2
+ ExportDialog
3
+ } from "../chunk-AOVTHZU7.js";
4
+ import {
5
+ buildExportFilename,
6
+ runExport
7
+ } from "../chunk-ZI56BNB7.js";
8
+ import "../chunk-4XXSWN3T.js";
9
+ import {
10
+ DEFAULT_OPTIONS,
11
+ FORMAT_EXTENSIONS,
12
+ FORMAT_LABELS,
13
+ loadLastExportOptions,
14
+ saveExportOptions
15
+ } from "../chunk-DD4VFJQI.js";
16
+ export {
17
+ DEFAULT_OPTIONS,
18
+ ExportDialog,
19
+ FORMAT_EXTENSIONS,
20
+ FORMAT_LABELS,
21
+ buildExportFilename,
22
+ loadLastExportOptions,
23
+ runExport,
24
+ saveExportOptions
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +1,3 @@
1
- export { useAutoSave } from './useAutoSave.js';
1
+ export { useDocumentSession } from './useDocumentSession.js';
2
+ export type { UseDocumentSessionResult } from './useDocumentSession.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { useAutoSave } from './useAutoSave.js';
1
+ export { useDocumentSession } from './useDocumentSession.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { DocumentSession, type DocumentSessionSnapshot } from '@bendyline/docblocks/document';
2
+ export interface UseDocumentSessionResult {
3
+ /** Stable controller for the lifetime of the mounted shell/panel. */
4
+ session: DocumentSession;
5
+ /** React snapshot of dirty/saving/saved/error/conflict state. */
6
+ snapshot: DocumentSessionSnapshot;
7
+ }
8
+ /**
9
+ * React binding for the framework-neutral DocumentSession engine.
10
+ *
11
+ * The hook deliberately does not infer target transitions from props.
12
+ * Callers must use transitionTo(), retarget(), or delete() before changing
13
+ * their view state so persistence ordering remains explicit.
14
+ */
15
+ export declare function useDocumentSession(autoSaveDelayMs?: number): UseDocumentSessionResult;
16
+ //# sourceMappingURL=useDocumentSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentSession.d.ts","sourceRoot":"","sources":["../../src/hooks/useDocumentSession.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EAEf,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,OAAO,EAAE,eAAe,CAAC;IACzB,iEAAiE;IACjE,QAAQ,EAAE,uBAAuB,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,SAAM,GAAG,wBAAwB,CAclF"}
@@ -0,0 +1,18 @@
1
+ import { useState, useSyncExternalStore } from 'react';
2
+ import { DocumentRecoveryJournal, DocumentSession, getDefaultDocumentRecoveryStorage, } from '@bendyline/docblocks/document';
3
+ /**
4
+ * React binding for the framework-neutral DocumentSession engine.
5
+ *
6
+ * The hook deliberately does not infer target transitions from props.
7
+ * Callers must use transitionTo(), retarget(), or delete() before changing
8
+ * their view state so persistence ordering remains explicit.
9
+ */
10
+ export function useDocumentSession(autoSaveDelayMs = 500) {
11
+ const [session] = useState(() => new DocumentSession({
12
+ autoSaveDelayMs,
13
+ recoveryJournal: new DocumentRecoveryJournal(getDefaultDocumentRecoveryStorage()),
14
+ }));
15
+ const snapshot = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);
16
+ return { session, snapshot };
17
+ }
18
+ //# sourceMappingURL=useDocumentSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentSession.js","sourceRoot":"","sources":["../../src/hooks/useDocumentSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,iCAAiC,GAElC,MAAM,+BAA+B,CAAC;AASvC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,eAAe,GAAG,GAAG;IACtD,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CACxB,GAAG,EAAE,CACH,IAAI,eAAe,CAAC;QAClB,eAAe;QACf,eAAe,EAAE,IAAI,uBAAuB,CAAC,iCAAiC,EAAE,CAAC;KAClF,CAAC,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,oBAAoB,CACnC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
package/dist/icons.d.ts CHANGED
@@ -1,7 +1,12 @@
1
- import type { SVGProps } from 'react';
2
- export declare function NewFileIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
3
- export declare function NewFolderIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
4
- export declare function RefreshIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
5
- export declare function MoreIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
6
- export declare function WorkspaceIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
1
+ /**
2
+ * DocBlocks shell icons use the Font Awesome Free webfont bundled by
3
+ * `@bendyline/squisq-editor-react/styles`. Controls provide the accessible
4
+ * name, so the glyphs themselves stay decorative.
5
+ */
6
+ export declare function NewFileIcon(): import("react/jsx-runtime").JSX.Element;
7
+ export declare function NewFolderIcon(): import("react/jsx-runtime").JSX.Element;
8
+ export declare function FolderIcon(): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MoreIcon(): import("react/jsx-runtime").JSX.Element;
10
+ export declare function WorkspaceIcon(): import("react/jsx-runtime").JSX.Element;
11
+ export declare function SplitViewIcon(): import("react/jsx-runtime").JSX.Element;
7
12
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAatC,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAYzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAU3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAOzD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAQtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAW3D"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAgB,WAAW,4CAE1B;AAED,wBAAgB,aAAa,4CAE5B;AAED,wBAAgB,UAAU,4CAEzB;AAED,wBAAgB,QAAQ,4CAEvB;AAED,wBAAgB,aAAa,4CAE5B;AAED,wBAAgB,aAAa,4CAiB5B"}
package/dist/icons.js CHANGED
@@ -1,27 +1,28 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- const defaults = {
3
- width: 16,
4
- height: 16,
5
- viewBox: '0 0 16 16',
6
- fill: 'none',
7
- stroke: 'currentColor',
8
- strokeWidth: 1.5,
9
- strokeLinecap: 'round',
10
- strokeLinejoin: 'round',
11
- };
12
- export function NewFileIcon(props) {
13
- return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("path", { d: "M9.5 1.5H4a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5l-3.5-3.5Z" }), _jsx("path", { d: "M9.5 1.5V5H13" }), _jsx("line", { x1: "6.5", y1: "10", x2: "9.5", y2: "10" }), _jsx("line", { x1: "8", y1: "8.5", x2: "8", y2: "11.5" })] }));
2
+ /**
3
+ * DocBlocks shell icons use the Font Awesome Free webfont bundled by
4
+ * `@bendyline/squisq-editor-react/styles`. Controls provide the accessible
5
+ * name, so the glyphs themselves stay decorative.
6
+ */
7
+ function FontAwesomeIcon({ icon }) {
8
+ return _jsx("i", { className: icon, "aria-hidden": "true" });
14
9
  }
15
- export function NewFolderIcon(props) {
16
- return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("path", { d: "M2 3.5a1 1 0 0 1 1-1h3l1.5 1.5H13a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5Z" }), _jsx("line", { x1: "6", y1: "8.5", x2: "10", y2: "8.5" }), _jsx("line", { x1: "8", y1: "6.5", x2: "8", y2: "10.5" })] }));
10
+ export function NewFileIcon() {
11
+ return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-file-circle-plus" });
17
12
  }
18
- export function RefreshIcon(props) {
19
- return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("path", { d: "M13.5 8A5.5 5.5 0 1 1 8 2.5" }), _jsx("polyline", { points: "13.5 3 13.5 6.5 10 6.5" })] }));
13
+ export function NewFolderIcon() {
14
+ return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-folder-plus" });
20
15
  }
21
- export function MoreIcon(props) {
22
- return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("circle", { cx: "3.5", cy: "8", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "8", cy: "8", r: "1", fill: "currentColor", stroke: "none" }), _jsx("circle", { cx: "12.5", cy: "8", r: "1", fill: "currentColor", stroke: "none" })] }));
16
+ export function FolderIcon() {
17
+ return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-folder" });
23
18
  }
24
- export function WorkspaceIcon(props) {
25
- return (_jsxs("svg", { ...defaults, ...props, children: [_jsx("rect", { x: "1.5", y: "2.5", width: "13", height: "11", rx: "1" }), _jsx("rect", { x: "4", y: "4.5", width: "8", height: "7", rx: "0.5" }), _jsx("line", { x1: "6.5", y1: "5.5", x2: "6.5", y2: "10.5", strokeWidth: "1" }), _jsx("line", { x1: "9.5", y1: "5.5", x2: "9.5", y2: "10.5", strokeWidth: "1" })] }));
19
+ export function MoreIcon() {
20
+ return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-ellipsis" });
21
+ }
22
+ export function WorkspaceIcon() {
23
+ return _jsx(FontAwesomeIcon, { icon: "fa-solid fa-gear" });
24
+ }
25
+ export function SplitViewIcon() {
26
+ return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "1.5", y: "2.5", width: "13", height: "11", rx: "1" }), _jsx("line", { x1: "6", y1: "2.5", x2: "6", y2: "13.5" })] }));
26
27
  }
27
28
  //# sourceMappingURL=icons.js.map
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";AAEA,MAAM,QAAQ,GAA4B;IACxC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,cAAc;IACtB,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,OAAgB;IAC/B,cAAc,EAAE,OAAgB;CACjC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAA8B;IACxD,OAAO,CACL,kBAAS,QAAQ,KAAM,KAAK,aAE1B,eAAM,CAAC,EAAC,uEAAuE,GAAG,EAElF,eAAM,CAAC,EAAC,eAAe,GAAG,EAE1B,eAAM,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,GAAG,EAC1C,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,GAAG,IACrC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,OAAO,CACL,kBAAS,QAAQ,KAAM,KAAK,aAE1B,eAAM,CAAC,EAAC,sFAAsF,GAAG,EAEjG,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,GAAG,EACzC,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,GAAG,IACrC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAA8B;IACxD,OAAO,CACL,kBAAS,QAAQ,KAAM,KAAK,aAC1B,eAAM,CAAC,EAAC,6BAA6B,GAAG,EACxC,mBAAU,MAAM,EAAC,wBAAwB,GAAG,IACxC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAA8B;IACrD,OAAO,CACL,kBAAS,QAAQ,KAAM,KAAK,aAC1B,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EAClE,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,EAChE,iBAAQ,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,cAAc,EAAC,MAAM,EAAC,MAAM,GAAG,IAC/D,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA8B;IAC1D,OAAO,CACL,kBAAS,QAAQ,KAAM,KAAK,aAE1B,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EAEtD,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,GAAG,EACpD,eAAM,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,GAAG,EAC7D,eAAM,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,GAAG,IACzD,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,SAAS,eAAe,CAAC,EAAE,IAAI,EAAoB;IACjD,OAAO,YAAG,SAAS,EAAE,IAAI,iBAAc,MAAM,GAAG,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,8BAA8B,GAAG,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,yBAAyB,GAAG,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,oBAAoB,GAAG,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,sBAAsB,GAAG,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAC,eAAe,IAAC,IAAI,EAAC,kBAAkB,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,GAAG,EACtD,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,GAAG,IACrC,CACP,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * @bendyline/docblocks-react — React components for DocBlocks
3
3
  */
4
4
  export { FileExplorer } from './FileExplorer/index.js';
5
- export type { FileExplorerProps } from './FileExplorer/index.js';
5
+ export type { FileExplorerProps, FileTreeChange, FileTreeMutationHandler, } from './FileExplorer/index.js';
6
6
  export { FileTreeNode } from './FileExplorer/index.js';
7
7
  export type { FileTreeNodeProps } from './FileExplorer/index.js';
8
8
  export { useFileTree } from './FileExplorer/index.js';
@@ -11,10 +11,13 @@ export type { WorkspacePickerProps } from './WorkspacePicker/index.js';
11
11
  export { DocBlocksShell } from './DocBlocksShell/index.js';
12
12
  export type { DocBlocksShellProps } from './DocBlocksShell/index.js';
13
13
  export { AppMenu } from './AppMenu/index.js';
14
- export type { AppMenuProps, ThemePreference } from './AppMenu/index.js';
15
- export { ExportToolbarControls } from './Export/index.js';
16
- export type { ExportToolbarControlsProps, ExportFormat, ExportOptions } from './Export/index.js';
14
+ export type { AccentColor, AppMenuProps, ThemePreference } from './AppMenu/index.js';
15
+ export { AccentColorSettings, SettingsDialog, ThemeSettings } from './Settings/public-api.js';
16
+ export type { AccentColorSettingsProps, SettingsDialogProps, ThemeSettingsProps, } from './Settings/public-api.js';
17
+ export { buildExportFilename, DEFAULT_OPTIONS, loadLastExportOptions, runExport, updateExportTargetExtension, ExportToolbarControls, } from './Export/index.js';
18
+ export type { ExportDestinationControl, ExportDestinationAdapter, ExportDestinationTarget, ExportToolbarControlsProps, ExportFormat, HtmlBundle, HtmlStyle, ExportOptions, ExportBlobSaver, } from './Export/index.js';
17
19
  export { ExportDialog } from './Export/index.js';
18
20
  export type { ExportDialogProps } from './Export/index.js';
19
- export { useAutoSave } from './hooks/index.js';
21
+ export { useDocumentSession } from './hooks/index.js';
22
+ export type { UseDocumentSessionResult } from './hooks/index.js';
20
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,0BAA0B,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -11,9 +11,11 @@ export { WorkspacePicker } from './WorkspacePicker/index.js';
11
11
  export { DocBlocksShell } from './DocBlocksShell/index.js';
12
12
  // AppMenu
13
13
  export { AppMenu } from './AppMenu/index.js';
14
+ // Settings
15
+ export { AccentColorSettings, SettingsDialog, ThemeSettings } from './Settings/public-api.js';
14
16
  // Export
15
- export { ExportToolbarControls } from './Export/index.js';
17
+ export { buildExportFilename, DEFAULT_OPTIONS, loadLastExportOptions, runExport, updateExportTargetExtension, ExportToolbarControls, } from './Export/index.js';
16
18
  export { ExportDialog } from './Export/index.js';
17
19
  // Hooks
18
- export { useAutoSave } from './hooks/index.js';
20
+ export { useDocumentSession } from './hooks/index.js';
19
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,SAAS;AACT,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAO9F,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Appearance preferences shared by the shell and settings UI. */
2
+ export type ThemePreference = 'auto' | 'light' | 'dark';
3
+ export declare const ACCENT_COLORS: readonly ["brown", "green", "blue", "purple", "maroon", "orange", "gray"];
4
+ export type AccentColor = (typeof ACCENT_COLORS)[number];
5
+ /**
6
+ * Chrome (titlebar) background per resolved theme. Keep in sync with
7
+ * `--db-bg-subtle` for the default accent in styles/docblocks.css and with
8
+ * the static `<meta name="theme-color">` values in the site's index.html.
9
+ * The shell writes these into the theme-color metas so the installed web
10
+ * app's titlebar (Window Controls Overlay caption area, Android status bar)
11
+ * follows the resolved theme.
12
+ */
13
+ export declare const DB_CHROME_COLORS: Record<'light' | 'dark', string>;
14
+ export declare function loadThemePreference(): ThemePreference;
15
+ export declare function saveThemePreference(value: ThemePreference): void;
16
+ export declare function loadAccentColor(): AccentColor;
17
+ export declare function saveAccentColor(value: AccentColor): void;
18
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/preferences/theme.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,eAAO,MAAM,aAAa,2EAQhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAG7D,CAAC;AAKF,wBAAgB,mBAAmB,IAAI,eAAe,CAQrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAMhE;AAED,wBAAgB,eAAe,IAAI,WAAW,CAQ7C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAMxD"}
@@ -0,0 +1,63 @@
1
+ /** Appearance preferences shared by the shell and settings UI. */
2
+ export const ACCENT_COLORS = [
3
+ 'brown',
4
+ 'green',
5
+ 'blue',
6
+ 'purple',
7
+ 'maroon',
8
+ 'orange',
9
+ 'gray',
10
+ ];
11
+ /**
12
+ * Chrome (titlebar) background per resolved theme. Keep in sync with
13
+ * `--db-bg-subtle` for the default accent in styles/docblocks.css and with
14
+ * the static `<meta name="theme-color">` values in the site's index.html.
15
+ * The shell writes these into the theme-color metas so the installed web
16
+ * app's titlebar (Window Controls Overlay caption area, Android status bar)
17
+ * follows the resolved theme.
18
+ */
19
+ export const DB_CHROME_COLORS = {
20
+ light: '#f3eede',
21
+ dark: '#262219',
22
+ };
23
+ const THEME_STORAGE_KEY = 'docblocks:themePreference';
24
+ const ACCENT_STORAGE_KEY = 'docblocks:accentColor';
25
+ export function loadThemePreference() {
26
+ try {
27
+ const raw = localStorage.getItem(THEME_STORAGE_KEY);
28
+ if (raw === 'light' || raw === 'dark' || raw === 'auto')
29
+ return raw;
30
+ }
31
+ catch {
32
+ // ignore unavailable storage
33
+ }
34
+ return 'auto';
35
+ }
36
+ export function saveThemePreference(value) {
37
+ try {
38
+ localStorage.setItem(THEME_STORAGE_KEY, value);
39
+ }
40
+ catch {
41
+ // ignore quota errors
42
+ }
43
+ }
44
+ export function loadAccentColor() {
45
+ try {
46
+ const raw = localStorage.getItem(ACCENT_STORAGE_KEY);
47
+ if (ACCENT_COLORS.some((color) => color === raw))
48
+ return raw;
49
+ }
50
+ catch {
51
+ // ignore unavailable storage
52
+ }
53
+ return 'brown';
54
+ }
55
+ export function saveAccentColor(value) {
56
+ try {
57
+ localStorage.setItem(ACCENT_STORAGE_KEY, value);
58
+ }
59
+ catch {
60
+ // ignore quota errors
61
+ }
62
+ }
63
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/preferences/theme.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAIlE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;CACE,CAAC;AAIX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AACtD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC;YAAE,OAAO,GAAkB,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { FileSystemProviderV2 } from '@bendyline/docblocks/filesystem';
2
+ /**
3
+ * Retain one UI ownership lease for a provider.
4
+ *
5
+ * Final release is deferred by one microtask. React Strict Mode intentionally
6
+ * performs setup → cleanup → setup, so an immediate cleanup disposer would
7
+ * permanently close the provider that the second setup still owns.
8
+ */
9
+ export declare function retainFileSystemProvider(provider: FileSystemProviderV2): () => void;
10
+ //# sourceMappingURL=provider-lease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-lease.d.ts","sourceRoot":"","sources":["../src/provider-lease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAU5E;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAkCnF"}
@@ -0,0 +1,42 @@
1
+ const leases = new WeakMap();
2
+ /**
3
+ * Retain one UI ownership lease for a provider.
4
+ *
5
+ * Final release is deferred by one microtask. React Strict Mode intentionally
6
+ * performs setup → cleanup → setup, so an immediate cleanup disposer would
7
+ * permanently close the provider that the second setup still owns.
8
+ */
9
+ export function retainFileSystemProvider(provider) {
10
+ let record = leases.get(provider);
11
+ if (!record) {
12
+ record = { holders: 0, generation: 0, disposePromise: null };
13
+ leases.set(provider, record);
14
+ }
15
+ if (record.disposePromise) {
16
+ throw new Error('Cannot retain a filesystem provider after disposal has started.');
17
+ }
18
+ record.holders += 1;
19
+ record.generation += 1;
20
+ let released = false;
21
+ return () => {
22
+ if (released)
23
+ return;
24
+ released = true;
25
+ record.holders -= 1;
26
+ record.generation += 1;
27
+ const releaseGeneration = record.generation;
28
+ queueMicrotask(() => {
29
+ if (record.holders !== 0 ||
30
+ record.generation !== releaseGeneration ||
31
+ record.disposePromise) {
32
+ return;
33
+ }
34
+ record.disposePromise = provider.dispose();
35
+ // React cleanup cannot await or render a disposal failure. Joiners still
36
+ // receive the original promise from the provider; this observer prevents
37
+ // an unhandled rejection during unmount.
38
+ void record.disposePromise.catch(() => undefined);
39
+ });
40
+ };
41
+ }
42
+ //# sourceMappingURL=provider-lease.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-lease.js","sourceRoot":"","sources":["../src/provider-lease.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,GAAG,IAAI,OAAO,EAA6C,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAA8B;IACrE,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACrB,MAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QACxB,MAAM,iBAAiB,GAAG,MAAO,CAAC,UAAU,CAAC;QAC7C,cAAc,CAAC,GAAG,EAAE;YAClB,IACE,MAAO,CAAC,OAAO,KAAK,CAAC;gBACrB,MAAO,CAAC,UAAU,KAAK,iBAAiB;gBACxC,MAAO,CAAC,cAAc,EACtB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC5C,yEAAyE;YACzE,yEAAyE;YACzE,yCAAyC;YACzC,KAAK,MAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import {
2
+ buildExportFilename,
3
+ runExport
4
+ } from "./chunk-ZI56BNB7.js";
5
+ import "./chunk-DD4VFJQI.js";
6
+ export {
7
+ buildExportFilename,
8
+ runExport
9
+ };
10
+ //# sourceMappingURL=run-export-ICTZITXC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ /** Appearance preferences shared by the shell and settings UI. */
5
+ type ThemePreference = 'auto' | 'light' | 'dark';
6
+ declare const ACCENT_COLORS: readonly ["brown", "green", "blue", "purple", "maroon", "orange", "gray"];
7
+ type AccentColor = (typeof ACCENT_COLORS)[number];
8
+
9
+ interface SettingsDialogProps {
10
+ title?: string;
11
+ onClose: () => void;
12
+ children: ReactNode;
13
+ }
14
+ declare function SettingsDialog({ title, onClose, children }: SettingsDialogProps): react_jsx_runtime.JSX.Element;
15
+ interface ThemeSettingsProps {
16
+ value: ThemePreference;
17
+ onChange: (theme: ThemePreference) => void;
18
+ name?: string;
19
+ }
20
+ declare function ThemeSettings({ value, onChange, name }: ThemeSettingsProps): react_jsx_runtime.JSX.Element;
21
+ interface AccentColorSettingsProps {
22
+ value: AccentColor;
23
+ onChange: (color: AccentColor) => void;
24
+ name?: string;
25
+ }
26
+ declare function AccentColorSettings({ value, onChange, name, }: AccentColorSettingsProps): react_jsx_runtime.JSX.Element;
27
+
28
+ export { type AccentColor, AccentColorSettings, type AccentColorSettingsProps, SettingsDialog, type SettingsDialogProps, type ThemePreference, ThemeSettings, type ThemeSettingsProps };
@@ -0,0 +1,12 @@
1
+ import {
2
+ AccentColorSettings,
3
+ SettingsDialog,
4
+ ThemeSettings
5
+ } from "../chunk-3SAXDU2U.js";
6
+ import "../chunk-GSNZSCIK.js";
7
+ export {
8
+ AccentColorSettings,
9
+ SettingsDialog,
10
+ ThemeSettings
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks-react",
3
- "version": "1.1.1",
3
+ "version": "2.0.0",
4
4
  "description": "React components for DocBlocks — file explorer, workspace picker, and editor shell",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -34,6 +34,21 @@
34
34
  "import": "./dist/index.js",
35
35
  "default": "./dist/index.js"
36
36
  },
37
+ "./export": {
38
+ "types": "./dist/export/index.d.ts",
39
+ "import": "./dist/export/index.js",
40
+ "default": "./dist/export/index.js"
41
+ },
42
+ "./settings": {
43
+ "types": "./dist/settings/index.d.ts",
44
+ "import": "./dist/settings/index.js",
45
+ "default": "./dist/settings/index.js"
46
+ },
47
+ "./editor": {
48
+ "types": "./dist/editor.d.ts",
49
+ "import": "./dist/editor.js",
50
+ "default": "./dist/editor.js"
51
+ },
37
52
  "./styles": "./src/styles/docblocks.css"
38
53
  },
39
54
  "scripts": {
@@ -45,23 +60,25 @@
45
60
  "react-dom": "^18.0.0 || ^19.0.0"
46
61
  },
47
62
  "dependencies": {
48
- "@bendyline/docblocks": "1.1.1",
49
- "@bendyline/squisq": "1.4.1",
50
- "@bendyline/squisq-editor-react": "1.5.3",
51
- "@bendyline/squisq-formats": "1.3.1",
52
- "@bendyline/squisq-react": "1.3.2",
53
- "@bendyline/squisq-video": "1.1.2",
54
- "@bendyline/squisq-video-react": "1.1.2",
55
- "monaco-editor": "0.55.1"
63
+ "@bendyline/docblocks": "2.0.0",
64
+ "@bendyline/squisq": "2.0.1",
65
+ "@bendyline/squisq-editor-react": "2.0.1",
66
+ "@bendyline/squisq-formats": "2.0.1",
67
+ "@bendyline/squisq-react": "2.0.1",
68
+ "@bendyline/squisq-video": "2.0.1",
69
+ "@bendyline/squisq-video-react": "2.0.1",
70
+ "monaco-editor": "0.50.0"
56
71
  },
57
72
  "devDependencies": {
58
73
  "@happy-dom/global-registrator": "20.9.0",
59
74
  "@types/react": "18.3.28",
60
75
  "@types/react-dom": "18.3.7",
61
76
  "happy-dom": "20.9.0",
77
+ "mocha": "11.3.0",
62
78
  "react": "18.3.1",
63
79
  "react-dom": "18.3.1",
64
80
  "tsup": "8.5.1",
65
- "typescript": "5.9.3"
81
+ "typescript": "5.9.3",
82
+ "vite": "6.4.2"
66
83
  }
67
84
  }