@oh-just-another/react-ui 0.60.0 → 0.62.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 (365) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +3 -3
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/{color-palette.d.ts → color/color-palette.d.ts} +5 -0
  5. package/dist/color/color-palette.d.ts.map +1 -0
  6. package/dist/{color-palette.js → color/color-palette.js} +5 -0
  7. package/dist/color/color-palette.js.map +1 -0
  8. package/dist/color/color-swatch-picker.d.ts.map +1 -0
  9. package/dist/{color-swatch-picker.js → color/color-swatch-picker.js} +8 -17
  10. package/dist/color/color-swatch-picker.js.map +1 -0
  11. package/dist/{constants.d.ts → core/constants.d.ts} +70 -21
  12. package/dist/core/constants.d.ts.map +1 -0
  13. package/dist/{constants.js → core/constants.js} +104 -16
  14. package/dist/core/constants.js.map +1 -0
  15. package/dist/core/context.d.ts.map +1 -0
  16. package/dist/core/context.js.map +1 -0
  17. package/dist/core/hooks.d.ts.map +1 -0
  18. package/dist/core/hooks.js.map +1 -0
  19. package/dist/core/portal-container.d.ts.map +1 -0
  20. package/dist/core/portal-container.js.map +1 -0
  21. package/dist/core/use-fullscreen.d.ts +14 -0
  22. package/dist/core/use-fullscreen.d.ts.map +1 -0
  23. package/dist/core/use-fullscreen.js +38 -0
  24. package/dist/core/use-fullscreen.js.map +1 -0
  25. package/dist/core/use-quiet-gesture.d.ts +11 -0
  26. package/dist/core/use-quiet-gesture.d.ts.map +1 -0
  27. package/dist/core/use-quiet-gesture.js +61 -0
  28. package/dist/core/use-quiet-gesture.js.map +1 -0
  29. package/dist/core/use-quiet-viewport.d.ts +10 -0
  30. package/dist/core/use-quiet-viewport.d.ts.map +1 -0
  31. package/dist/core/use-quiet-viewport.js +40 -0
  32. package/dist/core/use-quiet-viewport.js.map +1 -0
  33. package/dist/index.d.ts +55 -50
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +55 -50
  36. package/dist/index.js.map +1 -1
  37. package/dist/layout/diagram-bars.d.ts.map +1 -0
  38. package/dist/layout/diagram-bars.js.map +1 -0
  39. package/dist/layout/diagram-canvas.d.ts.map +1 -0
  40. package/dist/layout/diagram-canvas.js.map +1 -0
  41. package/dist/layout/diagram-root.d.ts.map +1 -0
  42. package/dist/{diagram-root.js → layout/diagram-root.js} +2 -2
  43. package/dist/layout/diagram-root.js.map +1 -0
  44. package/dist/{sidebar.d.ts → layout/sidebar.d.ts} +1 -0
  45. package/dist/layout/sidebar.d.ts.map +1 -0
  46. package/dist/layout/sidebar.js +38 -0
  47. package/dist/layout/sidebar.js.map +1 -0
  48. package/dist/layout/ui-layer.d.ts.map +1 -0
  49. package/dist/layout/ui-layer.js.map +1 -0
  50. package/dist/menus/command-palette.d.ts.map +1 -0
  51. package/dist/{command-palette.js → menus/command-palette.js} +3 -3
  52. package/dist/menus/command-palette.js.map +1 -0
  53. package/dist/menus/context-menu-controller.d.ts.map +1 -0
  54. package/dist/menus/context-menu-controller.js.map +1 -0
  55. package/dist/{context-menu.d.ts → menus/context-menu.d.ts} +12 -0
  56. package/dist/menus/context-menu.d.ts.map +1 -0
  57. package/dist/menus/context-menu.js +617 -0
  58. package/dist/menus/context-menu.js.map +1 -0
  59. package/dist/menus/link-drop-shape-menu.d.ts.map +1 -0
  60. package/dist/{link-drop-shape-menu.js → menus/link-drop-shape-menu.js} +4 -4
  61. package/dist/menus/link-drop-shape-menu.js.map +1 -0
  62. package/dist/{main-menu.d.ts → menus/main-menu.d.ts} +45 -2
  63. package/dist/menus/main-menu.d.ts.map +1 -0
  64. package/dist/menus/main-menu.js +260 -0
  65. package/dist/menus/main-menu.js.map +1 -0
  66. package/dist/overlays/file-drop-overlay.d.ts +15 -0
  67. package/dist/overlays/file-drop-overlay.d.ts.map +1 -0
  68. package/dist/overlays/file-drop-overlay.js +27 -0
  69. package/dist/overlays/file-drop-overlay.js.map +1 -0
  70. package/dist/overlays/frame-name-editor-overlay.d.ts.map +1 -0
  71. package/dist/{frame-name-editor-overlay.js → overlays/frame-name-editor-overlay.js} +1 -1
  72. package/dist/overlays/frame-name-editor-overlay.js.map +1 -0
  73. package/dist/overlays/help-button.d.ts.map +1 -0
  74. package/dist/{help-button.js → overlays/help-button.js} +3 -4
  75. package/dist/overlays/help-button.js.map +1 -0
  76. package/dist/overlays/help-dialog.d.ts.map +1 -0
  77. package/dist/{help-dialog.js → overlays/help-dialog.js} +4 -24
  78. package/dist/overlays/help-dialog.js.map +1 -0
  79. package/dist/overlays/link-badges.d.ts +14 -0
  80. package/dist/overlays/link-badges.d.ts.map +1 -0
  81. package/dist/overlays/link-badges.js +60 -0
  82. package/dist/overlays/link-badges.js.map +1 -0
  83. package/dist/overlays/link-caption-editor.d.ts.map +1 -0
  84. package/dist/{link-caption-editor.js → overlays/link-caption-editor.js} +3 -3
  85. package/dist/overlays/link-caption-editor.js.map +1 -0
  86. package/dist/overlays/link-hover-popup.d.ts.map +1 -0
  87. package/dist/{link-hover-popup.js → overlays/link-hover-popup.js} +5 -4
  88. package/dist/overlays/link-hover-popup.js.map +1 -0
  89. package/dist/overlays/merge-dialog.d.ts.map +1 -0
  90. package/dist/overlays/merge-dialog.js +39 -0
  91. package/dist/overlays/merge-dialog.js.map +1 -0
  92. package/dist/overlays/search-overlay.d.ts.map +1 -0
  93. package/dist/{search-overlay.js → overlays/search-overlay.js} +2 -2
  94. package/dist/overlays/search-overlay.js.map +1 -0
  95. package/dist/overlays/sticky-reactions.d.ts +2 -0
  96. package/dist/overlays/sticky-reactions.d.ts.map +1 -0
  97. package/dist/overlays/sticky-reactions.js +94 -0
  98. package/dist/overlays/sticky-reactions.js.map +1 -0
  99. package/dist/overlays/text-editor-overlay.d.ts.map +1 -0
  100. package/dist/{text-editor-overlay.js → overlays/text-editor-overlay.js} +37 -5
  101. package/dist/overlays/text-editor-overlay.js.map +1 -0
  102. package/dist/{comments-panel.d.ts → panels/comments-panel.d.ts} +4 -1
  103. package/dist/panels/comments-panel.d.ts.map +1 -0
  104. package/dist/panels/comments-panel.js +51 -0
  105. package/dist/panels/comments-panel.js.map +1 -0
  106. package/dist/panels/diff-panel.d.ts.map +1 -0
  107. package/dist/panels/diff-panel.js.map +1 -0
  108. package/dist/panels/drawing-panel.d.ts.map +1 -0
  109. package/dist/{drawing-panel.js → panels/drawing-panel.js} +3 -3
  110. package/dist/panels/drawing-panel.js.map +1 -0
  111. package/dist/panels/edge-style-panel.d.ts.map +1 -0
  112. package/dist/{edge-style-panel.js → panels/edge-style-panel.js} +1 -1
  113. package/dist/panels/edge-style-panel.js.map +1 -0
  114. package/dist/panels/frame-panel.d.ts.map +1 -0
  115. package/dist/{frame-panel.js → panels/frame-panel.js} +1 -1
  116. package/dist/panels/frame-panel.js.map +1 -0
  117. package/dist/{layer-panel.d.ts → panels/layer-panel.d.ts} +5 -1
  118. package/dist/panels/layer-panel.d.ts.map +1 -0
  119. package/dist/panels/layer-panel.js +52 -0
  120. package/dist/panels/layer-panel.js.map +1 -0
  121. package/dist/panels/library-panel.d.ts.map +1 -0
  122. package/dist/{library-panel.js → panels/library-panel.js} +4 -5
  123. package/dist/panels/library-panel.js.map +1 -0
  124. package/dist/panels/property-panel.d.ts.map +1 -0
  125. package/dist/panels/property-panel.js +1397 -0
  126. package/dist/panels/property-panel.js.map +1 -0
  127. package/dist/panels/selection-floating-panel.d.ts.map +1 -0
  128. package/dist/{selection-floating-panel.js → panels/selection-floating-panel.js} +24 -13
  129. package/dist/panels/selection-floating-panel.js.map +1 -0
  130. package/dist/panels/stats-panel.d.ts.map +1 -0
  131. package/dist/{stats-panel.js → panels/stats-panel.js} +1 -1
  132. package/dist/panels/stats-panel.js.map +1 -0
  133. package/dist/primitives/bottom-sheet.d.ts.map +1 -0
  134. package/dist/{bottom-sheet.js → primitives/bottom-sheet.js} +9 -22
  135. package/dist/primitives/bottom-sheet.js.map +1 -0
  136. package/dist/primitives/button-group.d.ts.map +1 -0
  137. package/dist/primitives/button-group.js.map +1 -0
  138. package/dist/primitives/css-var.d.ts +8 -0
  139. package/dist/primitives/css-var.d.ts.map +1 -0
  140. package/dist/primitives/css-var.js +11 -0
  141. package/dist/primitives/css-var.js.map +1 -0
  142. package/dist/primitives/float-panel.d.ts +35 -0
  143. package/dist/primitives/float-panel.d.ts.map +1 -0
  144. package/dist/primitives/float-panel.js +42 -0
  145. package/dist/primitives/float-panel.js.map +1 -0
  146. package/dist/primitives/icon-button.d.ts.map +1 -0
  147. package/dist/primitives/icon-button.js.map +1 -0
  148. package/dist/primitives/markdown.d.ts.map +1 -0
  149. package/dist/primitives/markdown.js.map +1 -0
  150. package/dist/primitives/modal.d.ts.map +1 -0
  151. package/dist/{modal.js → primitives/modal.js} +11 -9
  152. package/dist/primitives/modal.js.map +1 -0
  153. package/dist/{popover.d.ts → primitives/popover.d.ts} +1 -1
  154. package/dist/primitives/popover.d.ts.map +1 -0
  155. package/dist/{popover.js → primitives/popover.js} +7 -18
  156. package/dist/primitives/popover.js.map +1 -0
  157. package/dist/primitives/segmented-control.d.ts.map +1 -0
  158. package/dist/primitives/segmented-control.js.map +1 -0
  159. package/dist/primitives/slider.d.ts.map +1 -0
  160. package/dist/primitives/slider.js.map +1 -0
  161. package/dist/primitives/switch.d.ts +24 -0
  162. package/dist/primitives/switch.d.ts.map +1 -0
  163. package/dist/primitives/switch.js +17 -0
  164. package/dist/primitives/switch.js.map +1 -0
  165. package/dist/primitives/toast.d.ts.map +1 -0
  166. package/dist/{toast.js → primitives/toast.js} +12 -33
  167. package/dist/primitives/toast.js.map +1 -0
  168. package/dist/primitives/tooltip.d.ts.map +1 -0
  169. package/dist/{tooltip.js → primitives/tooltip.js} +3 -3
  170. package/dist/primitives/tooltip.js.map +1 -0
  171. package/dist/{palette.d.ts → toolbar/palette.d.ts} +6 -1
  172. package/dist/toolbar/palette.d.ts.map +1 -0
  173. package/dist/{palette.js → toolbar/palette.js} +39 -5
  174. package/dist/toolbar/palette.js.map +1 -0
  175. package/dist/{toolbar.d.ts → toolbar/toolbar.d.ts} +9 -0
  176. package/dist/toolbar/toolbar.d.ts.map +1 -0
  177. package/dist/{toolbar.js → toolbar/toolbar.js} +132 -62
  178. package/dist/toolbar/toolbar.js.map +1 -0
  179. package/dist/utils/format-time.d.ts.map +1 -0
  180. package/dist/utils/format-time.js.map +1 -0
  181. package/dist/utils/use-dismiss-timer.d.ts.map +1 -0
  182. package/dist/utils/use-dismiss-timer.js.map +1 -0
  183. package/dist/widgets/minimap.d.ts.map +1 -0
  184. package/dist/{minimap.js → widgets/minimap.js} +50 -36
  185. package/dist/widgets/minimap.js.map +1 -0
  186. package/dist/widgets/reset-to-content-button.d.ts +11 -0
  187. package/dist/widgets/reset-to-content-button.d.ts.map +1 -0
  188. package/dist/{reset-to-content-button.js → widgets/reset-to-content-button.js} +8 -9
  189. package/dist/widgets/reset-to-content-button.js.map +1 -0
  190. package/dist/widgets/versioning.d.ts.map +1 -0
  191. package/dist/{versioning.js → widgets/versioning.js} +4 -4
  192. package/dist/widgets/versioning.js.map +1 -0
  193. package/dist/widgets/zen-mode.d.ts.map +1 -0
  194. package/dist/widgets/zen-mode.js.map +1 -0
  195. package/package.json +9 -9
  196. package/src/styles.css +1622 -287
  197. package/dist/bottom-sheet.d.ts.map +0 -1
  198. package/dist/bottom-sheet.js.map +0 -1
  199. package/dist/button-group.d.ts.map +0 -1
  200. package/dist/button-group.js.map +0 -1
  201. package/dist/color-palette.d.ts.map +0 -1
  202. package/dist/color-palette.js.map +0 -1
  203. package/dist/color-swatch-picker.d.ts.map +0 -1
  204. package/dist/color-swatch-picker.js.map +0 -1
  205. package/dist/command-palette.d.ts.map +0 -1
  206. package/dist/command-palette.js.map +0 -1
  207. package/dist/comments-panel.d.ts.map +0 -1
  208. package/dist/comments-panel.js +0 -142
  209. package/dist/comments-panel.js.map +0 -1
  210. package/dist/constants.d.ts.map +0 -1
  211. package/dist/constants.js.map +0 -1
  212. package/dist/context-menu-controller.d.ts.map +0 -1
  213. package/dist/context-menu-controller.js.map +0 -1
  214. package/dist/context-menu.d.ts.map +0 -1
  215. package/dist/context-menu.js +0 -368
  216. package/dist/context-menu.js.map +0 -1
  217. package/dist/context.d.ts.map +0 -1
  218. package/dist/context.js.map +0 -1
  219. package/dist/diagram-bars.d.ts.map +0 -1
  220. package/dist/diagram-bars.js.map +0 -1
  221. package/dist/diagram-canvas.d.ts.map +0 -1
  222. package/dist/diagram-canvas.js.map +0 -1
  223. package/dist/diagram-root.d.ts.map +0 -1
  224. package/dist/diagram-root.js.map +0 -1
  225. package/dist/diff-panel.d.ts.map +0 -1
  226. package/dist/diff-panel.js.map +0 -1
  227. package/dist/drawing-panel.d.ts.map +0 -1
  228. package/dist/drawing-panel.js.map +0 -1
  229. package/dist/edge-style-panel.d.ts.map +0 -1
  230. package/dist/edge-style-panel.js.map +0 -1
  231. package/dist/format-time.d.ts.map +0 -1
  232. package/dist/format-time.js.map +0 -1
  233. package/dist/frame-name-editor-overlay.d.ts.map +0 -1
  234. package/dist/frame-name-editor-overlay.js.map +0 -1
  235. package/dist/frame-panel.d.ts.map +0 -1
  236. package/dist/frame-panel.js.map +0 -1
  237. package/dist/help-button.d.ts.map +0 -1
  238. package/dist/help-button.js.map +0 -1
  239. package/dist/help-dialog.d.ts.map +0 -1
  240. package/dist/help-dialog.js.map +0 -1
  241. package/dist/hooks.d.ts.map +0 -1
  242. package/dist/hooks.js.map +0 -1
  243. package/dist/icon-button.d.ts.map +0 -1
  244. package/dist/icon-button.js.map +0 -1
  245. package/dist/layer-panel.d.ts.map +0 -1
  246. package/dist/layer-panel.js +0 -117
  247. package/dist/layer-panel.js.map +0 -1
  248. package/dist/library-panel.d.ts.map +0 -1
  249. package/dist/library-panel.js.map +0 -1
  250. package/dist/link-caption-editor.d.ts.map +0 -1
  251. package/dist/link-caption-editor.js.map +0 -1
  252. package/dist/link-drop-shape-menu.d.ts.map +0 -1
  253. package/dist/link-drop-shape-menu.js.map +0 -1
  254. package/dist/link-hover-popup.d.ts.map +0 -1
  255. package/dist/link-hover-popup.js.map +0 -1
  256. package/dist/main-menu.d.ts.map +0 -1
  257. package/dist/main-menu.js +0 -249
  258. package/dist/main-menu.js.map +0 -1
  259. package/dist/markdown.d.ts.map +0 -1
  260. package/dist/markdown.js.map +0 -1
  261. package/dist/merge-dialog.d.ts.map +0 -1
  262. package/dist/merge-dialog.js +0 -50
  263. package/dist/merge-dialog.js.map +0 -1
  264. package/dist/minimap.d.ts.map +0 -1
  265. package/dist/minimap.js.map +0 -1
  266. package/dist/modal.d.ts.map +0 -1
  267. package/dist/modal.js.map +0 -1
  268. package/dist/palette.d.ts.map +0 -1
  269. package/dist/palette.js.map +0 -1
  270. package/dist/popover.d.ts.map +0 -1
  271. package/dist/popover.js.map +0 -1
  272. package/dist/portal-container.d.ts.map +0 -1
  273. package/dist/portal-container.js.map +0 -1
  274. package/dist/property-panel.d.ts.map +0 -1
  275. package/dist/property-panel.js +0 -917
  276. package/dist/property-panel.js.map +0 -1
  277. package/dist/reset-to-content-button.d.ts +0 -10
  278. package/dist/reset-to-content-button.d.ts.map +0 -1
  279. package/dist/reset-to-content-button.js.map +0 -1
  280. package/dist/search-overlay.d.ts.map +0 -1
  281. package/dist/search-overlay.js.map +0 -1
  282. package/dist/segmented-control.d.ts.map +0 -1
  283. package/dist/segmented-control.js.map +0 -1
  284. package/dist/selection-floating-panel.d.ts.map +0 -1
  285. package/dist/selection-floating-panel.js.map +0 -1
  286. package/dist/sidebar.d.ts.map +0 -1
  287. package/dist/sidebar.js +0 -68
  288. package/dist/sidebar.js.map +0 -1
  289. package/dist/slider.d.ts.map +0 -1
  290. package/dist/slider.js.map +0 -1
  291. package/dist/stats-panel.d.ts.map +0 -1
  292. package/dist/stats-panel.js.map +0 -1
  293. package/dist/text-editor-overlay.d.ts.map +0 -1
  294. package/dist/text-editor-overlay.js.map +0 -1
  295. package/dist/toast.d.ts.map +0 -1
  296. package/dist/toast.js.map +0 -1
  297. package/dist/toolbar.d.ts.map +0 -1
  298. package/dist/toolbar.js.map +0 -1
  299. package/dist/tooltip.d.ts.map +0 -1
  300. package/dist/tooltip.js.map +0 -1
  301. package/dist/ui-layer.d.ts.map +0 -1
  302. package/dist/ui-layer.js.map +0 -1
  303. package/dist/use-dismiss-timer.d.ts.map +0 -1
  304. package/dist/use-dismiss-timer.js.map +0 -1
  305. package/dist/versioning.d.ts.map +0 -1
  306. package/dist/versioning.js.map +0 -1
  307. package/dist/zen-mode.d.ts.map +0 -1
  308. package/dist/zen-mode.js.map +0 -1
  309. /package/dist/{color-swatch-picker.d.ts → color/color-swatch-picker.d.ts} +0 -0
  310. /package/dist/{context.d.ts → core/context.d.ts} +0 -0
  311. /package/dist/{context.js → core/context.js} +0 -0
  312. /package/dist/{hooks.d.ts → core/hooks.d.ts} +0 -0
  313. /package/dist/{hooks.js → core/hooks.js} +0 -0
  314. /package/dist/{portal-container.d.ts → core/portal-container.d.ts} +0 -0
  315. /package/dist/{portal-container.js → core/portal-container.js} +0 -0
  316. /package/dist/{diagram-bars.d.ts → layout/diagram-bars.d.ts} +0 -0
  317. /package/dist/{diagram-bars.js → layout/diagram-bars.js} +0 -0
  318. /package/dist/{diagram-canvas.d.ts → layout/diagram-canvas.d.ts} +0 -0
  319. /package/dist/{diagram-canvas.js → layout/diagram-canvas.js} +0 -0
  320. /package/dist/{diagram-root.d.ts → layout/diagram-root.d.ts} +0 -0
  321. /package/dist/{ui-layer.d.ts → layout/ui-layer.d.ts} +0 -0
  322. /package/dist/{ui-layer.js → layout/ui-layer.js} +0 -0
  323. /package/dist/{command-palette.d.ts → menus/command-palette.d.ts} +0 -0
  324. /package/dist/{context-menu-controller.d.ts → menus/context-menu-controller.d.ts} +0 -0
  325. /package/dist/{context-menu-controller.js → menus/context-menu-controller.js} +0 -0
  326. /package/dist/{link-drop-shape-menu.d.ts → menus/link-drop-shape-menu.d.ts} +0 -0
  327. /package/dist/{frame-name-editor-overlay.d.ts → overlays/frame-name-editor-overlay.d.ts} +0 -0
  328. /package/dist/{help-button.d.ts → overlays/help-button.d.ts} +0 -0
  329. /package/dist/{help-dialog.d.ts → overlays/help-dialog.d.ts} +0 -0
  330. /package/dist/{link-caption-editor.d.ts → overlays/link-caption-editor.d.ts} +0 -0
  331. /package/dist/{link-hover-popup.d.ts → overlays/link-hover-popup.d.ts} +0 -0
  332. /package/dist/{merge-dialog.d.ts → overlays/merge-dialog.d.ts} +0 -0
  333. /package/dist/{search-overlay.d.ts → overlays/search-overlay.d.ts} +0 -0
  334. /package/dist/{text-editor-overlay.d.ts → overlays/text-editor-overlay.d.ts} +0 -0
  335. /package/dist/{diff-panel.d.ts → panels/diff-panel.d.ts} +0 -0
  336. /package/dist/{diff-panel.js → panels/diff-panel.js} +0 -0
  337. /package/dist/{drawing-panel.d.ts → panels/drawing-panel.d.ts} +0 -0
  338. /package/dist/{edge-style-panel.d.ts → panels/edge-style-panel.d.ts} +0 -0
  339. /package/dist/{frame-panel.d.ts → panels/frame-panel.d.ts} +0 -0
  340. /package/dist/{library-panel.d.ts → panels/library-panel.d.ts} +0 -0
  341. /package/dist/{property-panel.d.ts → panels/property-panel.d.ts} +0 -0
  342. /package/dist/{selection-floating-panel.d.ts → panels/selection-floating-panel.d.ts} +0 -0
  343. /package/dist/{stats-panel.d.ts → panels/stats-panel.d.ts} +0 -0
  344. /package/dist/{bottom-sheet.d.ts → primitives/bottom-sheet.d.ts} +0 -0
  345. /package/dist/{button-group.d.ts → primitives/button-group.d.ts} +0 -0
  346. /package/dist/{button-group.js → primitives/button-group.js} +0 -0
  347. /package/dist/{icon-button.d.ts → primitives/icon-button.d.ts} +0 -0
  348. /package/dist/{icon-button.js → primitives/icon-button.js} +0 -0
  349. /package/dist/{markdown.d.ts → primitives/markdown.d.ts} +0 -0
  350. /package/dist/{markdown.js → primitives/markdown.js} +0 -0
  351. /package/dist/{modal.d.ts → primitives/modal.d.ts} +0 -0
  352. /package/dist/{segmented-control.d.ts → primitives/segmented-control.d.ts} +0 -0
  353. /package/dist/{segmented-control.js → primitives/segmented-control.js} +0 -0
  354. /package/dist/{slider.d.ts → primitives/slider.d.ts} +0 -0
  355. /package/dist/{slider.js → primitives/slider.js} +0 -0
  356. /package/dist/{toast.d.ts → primitives/toast.d.ts} +0 -0
  357. /package/dist/{tooltip.d.ts → primitives/tooltip.d.ts} +0 -0
  358. /package/dist/{format-time.d.ts → utils/format-time.d.ts} +0 -0
  359. /package/dist/{format-time.js → utils/format-time.js} +0 -0
  360. /package/dist/{use-dismiss-timer.d.ts → utils/use-dismiss-timer.d.ts} +0 -0
  361. /package/dist/{use-dismiss-timer.js → utils/use-dismiss-timer.js} +0 -0
  362. /package/dist/{minimap.d.ts → widgets/minimap.d.ts} +0 -0
  363. /package/dist/{versioning.d.ts → widgets/versioning.d.ts} +0 -0
  364. /package/dist/{zen-mode.d.ts → widgets/zen-mode.d.ts} +0 -0
  365. /package/dist/{zen-mode.js → widgets/zen-mode.js} +0 -0
@@ -1,19 +1,13 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
3
- import { Circle, Eraser, Frame, Hand, Image as ImageIcon, Lock, MousePointer2, PenLine, Radio, Redo2, Slash, Square, Type, Undo2, } from "lucide-react";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useRef, useState, } from "react";
3
+ import { ArrowUpRight, Circle, CornerUpRight, Diamond, Eraser, Frame, Hand, Image as ImageIcon, Lock, MousePointer2, PenLine, Radio, Redo2, Shapes, Slash, Square, Triangle, Type, Undo2, } from "lucide-react";
4
4
  import { defaultActionRegistry, formatHotkey } from "@oh-just-another/state";
5
- import { useEditorSelector } from "./context.js";
6
- import { useActiveTool, useDiagramOptional, useHistory, useReadOnly } from "./hooks.js";
7
- import { TOOLBAR_SEPARATOR_HEIGHT } from "./constants.js";
8
- import { Tooltip } from "./tooltip.js";
9
- /**
10
- * Pixel size for icons rendered inside `du-icon-button` (32-px
11
- * inside-group footprint). Lucide draws crisp at 16 px stroke-width
12
- * 1.75.
13
- */
14
- const TOOLBAR_ICON_SIZE = 16;
15
- const TOOLBAR_ICON_STROKE = 1.75;
16
- const iconProps = { size: TOOLBAR_ICON_SIZE, strokeWidth: TOOLBAR_ICON_STROKE };
5
+ import { useEditorSelector } from "../core/context.js";
6
+ import { useActiveTool, useDiagramOptional, useHistory, useReadOnly } from "../core/hooks.js";
7
+ import { Tooltip } from "../primitives/tooltip.js";
8
+ import { CONTROL_ICON, ROW_ICON } from "../core/constants.js";
9
+ /** Toolbar buttons are 40-px controls — their glyphs use `CONTROL_ICON`. */
10
+ const iconProps = CONTROL_ICON;
17
11
  /**
18
12
  * Maps an action's serializable `iconId` (declared in core, no React) to a
19
13
  * concrete lucide icon, so a registry-driven `action-ref` button renders
@@ -45,24 +39,38 @@ const ACTION_ICONS = {
45
39
  */
46
40
  const ActionRefButton = ({ id }) => {
47
41
  const editor = useDiagramOptional();
48
- const [, force] = useState(0);
42
+ // Derive the two live bits (pressed / disabled) inside the change
43
+ // handler and re-render ONLY when one of them flips — a plain
44
+ // force-render here made every toolbar button re-render on every
45
+ // frame of an element drag.
46
+ const derive = useCallback(() => {
47
+ const action = defaultActionRegistry.get(id);
48
+ if (!action || !editor)
49
+ return { active: false, enabled: false };
50
+ const ctx = { editor };
51
+ const active = action.checked?.(ctx) ?? false;
52
+ // Read-only gate: creating / mutating actions (no `viewMode`) disable
53
+ // themselves in view mode, matching the registry's dispatch gate.
54
+ const viewGated = editor.readOnly && action.viewMode !== true;
55
+ const enabled = !viewGated && (action.predicate ? action.predicate(ctx) : true);
56
+ return { active, enabled };
57
+ }, [editor, id]);
58
+ const [live, setLive] = useState(derive);
49
59
  useEffect(() => {
50
60
  if (!editor)
51
61
  return undefined;
52
- return editor.on("change", () => {
53
- force((n) => n + 1);
54
- });
55
- }, [editor]);
62
+ const update = () => {
63
+ const next = derive();
64
+ setLive((prev) => prev.active === next.active && prev.enabled === next.enabled ? prev : next);
65
+ };
66
+ update();
67
+ return editor.on("change", update);
68
+ }, [editor, derive]);
56
69
  const action = defaultActionRegistry.get(id);
57
70
  if (!action)
58
71
  return null;
59
72
  const Icon = action.iconId ? ACTION_ICONS[action.iconId] : undefined;
60
- const ctx = editor ? { editor } : null;
61
- const active = ctx ? (action.checked?.(ctx) ?? false) : false;
62
- // Read-only gate: creating / mutating actions (no `viewMode`) disable
63
- // themselves in view mode, matching the registry's dispatch gate.
64
- const viewGated = !!editor?.readOnly && action.viewMode !== true;
65
- const enabled = ctx && !viewGated ? (action.predicate ? action.predicate(ctx) : true) : false;
73
+ const { active, enabled } = live;
66
74
  const matchers = action.hotkey === undefined
67
75
  ? []
68
76
  : Array.isArray(action.hotkey)
@@ -75,6 +83,94 @@ const ActionRefButton = ({ id }) => {
75
83
  defaultActionRegistry.dispatch(id, { editor });
76
84
  }, children: Icon ? _jsx(Icon, { ...iconProps }) : (action.label ?? id) }));
77
85
  };
86
+ /**
87
+ * Rows of the "Shapes and lines" flyout (reference layout): line presets,
88
+ * then shape kinds, then "More shapes" opening the template library.
89
+ * Hotkey hints mirror the registered mode hotkeys (R / O arm the same
90
+ * tools; L arms the stock draw-edge, whose defaults equal the Elbow
91
+ * arrow preset).
92
+ */
93
+ const SHAPES_FLYOUT_ROWS = [
94
+ { kind: "line", preset: "line", label: "Line", icon: Slash },
95
+ { kind: "line", preset: "arrow", label: "Arrow", icon: ArrowUpRight },
96
+ { kind: "line", preset: "elbow", label: "Elbow arrow", icon: CornerUpRight, hotkey: "L" },
97
+ { kind: "divider" },
98
+ { kind: "shape", shape: "rect", label: "Rectangle", icon: Square, hotkey: "R" },
99
+ { kind: "shape", shape: "ellipse", label: "Oval", icon: Circle, hotkey: "O" },
100
+ { kind: "shape", shape: "diamond", label: "Rhombus", icon: Diamond },
101
+ { kind: "shape", shape: "triangle", label: "Triangle", icon: Triangle },
102
+ ];
103
+ /**
104
+ * "Shapes and lines" toolbar button (reference behaviour): opens a
105
+ * vertical flyout beside the toolbar with line presets and shape kinds —
106
+ * picking a row arms the corresponding drawing tool (`armLineTool` /
107
+ * `armShapeTool`) — plus a "More shapes" row that opens the host's
108
+ * template library. Closes on pick, outside click and Esc.
109
+ */
110
+ const ShapesAndLinesButton = ({ vertical, onMoreShapes, }) => {
111
+ const editor = useDiagramOptional();
112
+ const activeTool = useActiveTool();
113
+ const readOnly = useReadOnly();
114
+ // Armed variants (which shape / which line preset) — the flyout marks the
115
+ // matching row as the current choice.
116
+ const drawShapeKind = useEditorSelector((e) => e.drawShapeKind, "rect");
117
+ const linkDrawPreset = useEditorSelector((e) => e.linkDrawPreset, null);
118
+ const [open, setOpen] = useState(false);
119
+ const ref = useRef(null);
120
+ const isRowActive = (row) => {
121
+ if (row.kind === "line") {
122
+ // Stock `draw-edge` (hotkey L, no preset) draws the Elbow arrow defaults.
123
+ return activeTool.type === "draw-edge" && (linkDrawPreset ?? "elbow") === row.preset;
124
+ }
125
+ if (row.kind === "shape") {
126
+ return ((activeTool.type === "draw-rect" || activeTool.type === "draw-ellipse") &&
127
+ drawShapeKind === row.shape);
128
+ }
129
+ return false;
130
+ };
131
+ useEffect(() => {
132
+ if (!open)
133
+ return undefined;
134
+ const onDown = (ev) => {
135
+ if (ref.current?.contains(ev.target))
136
+ return;
137
+ setOpen(false);
138
+ };
139
+ const onKey = (ev) => {
140
+ if (ev.key === "Escape")
141
+ setOpen(false);
142
+ };
143
+ window.addEventListener("pointerdown", onDown);
144
+ window.addEventListener("keydown", onKey);
145
+ return () => {
146
+ window.removeEventListener("pointerdown", onDown);
147
+ window.removeEventListener("keydown", onKey);
148
+ };
149
+ }, [open]);
150
+ const toolActive = activeTool.type === "draw-rect" ||
151
+ activeTool.type === "draw-ellipse" ||
152
+ activeTool.type === "draw-edge";
153
+ return (_jsxs("div", { ref: ref, className: "du-shapes-wrap", style: { position: "relative", display: "inline-flex" }, children: [_jsx(ToolbarButton, { title: "Shapes and lines", disabled: !editor || readOnly, active: toolActive || open, onClick: () => {
154
+ setOpen((v) => !v);
155
+ }, children: _jsx(Shapes, { ...iconProps }) }), open ? (_jsxs("div", { className: "du-shapes-flyout", role: "menu", "aria-label": "Shapes and lines", style: vertical ? {} : { top: "calc(100% + var(--du-gap))", left: 0 }, children: [SHAPES_FLYOUT_ROWS.map((row, i) => {
156
+ if (row.kind === "divider")
157
+ return _jsx("hr", { className: "du-shapes-flyout-divider" }, i);
158
+ const Icon = row.icon;
159
+ const active = isRowActive(row);
160
+ return (_jsxs("button", { type: "button", role: "menuitemradio", "aria-checked": active, className: `du-shapes-flyout-row${active ? " is-active" : ""}`, "aria-label": row.label, onClick: () => {
161
+ if (!editor)
162
+ return;
163
+ if (row.kind === "line")
164
+ editor.armLineTool(row.preset);
165
+ else
166
+ editor.armShapeTool(row.shape);
167
+ setOpen(false);
168
+ }, children: [_jsx(Icon, { ...ROW_ICON }), _jsx("span", { children: row.label }), row.hotkey !== undefined ? (_jsx("span", { className: "du-shapes-flyout-hotkey", children: row.hotkey })) : null] }, i));
169
+ }), onMoreShapes ? (_jsxs(_Fragment, { children: [_jsx("hr", { className: "du-shapes-flyout-divider" }), _jsxs("button", { type: "button", role: "menuitem", className: "du-shapes-flyout-row", "aria-label": "More shapes", onClick: () => {
170
+ onMoreShapes();
171
+ setOpen(false);
172
+ }, children: [_jsx(Shapes, { ...ROW_ICON }), _jsx("span", { children: "More shapes" })] })] })) : null] })) : null] }));
173
+ };
78
174
  /**
79
175
  * Platform-correct zoom hotkey labels — ⌘ glyphs on macOS, "Ctrl+…"
80
176
  * elsewhere. Descriptors mirror the bound zoom hotkeys; display uses the
@@ -127,10 +223,8 @@ export const openImageFilePicker = (editor) => {
127
223
  export const DEFAULT_TOOLBAR = [
128
224
  { kind: "action-ref", id: "mode-select" },
129
225
  { kind: "action-ref", id: "mode-hand" },
130
- { kind: "action-ref", id: "mode-rect" },
131
- { kind: "action-ref", id: "mode-ellipse" },
226
+ { kind: "shapes-flyout" },
132
227
  { kind: "action-ref", id: "mode-text" },
133
- { kind: "action-ref", id: "mode-edge" },
134
228
  { kind: "action-ref", id: "mode-brush" },
135
229
  { kind: "action-ref", id: "mode-erase" },
136
230
  { kind: "action-ref", id: "mode-laser" },
@@ -161,10 +255,8 @@ export const DEFAULT_VERTICAL_TOOLBAR = [
161
255
  { kind: "action-ref", id: "mode-select" },
162
256
  { kind: "action-ref", id: "mode-hand" },
163
257
  { kind: "divider" },
164
- { kind: "action-ref", id: "mode-rect" },
165
- { kind: "action-ref", id: "mode-ellipse" },
258
+ { kind: "shapes-flyout" },
166
259
  { kind: "action-ref", id: "mode-text" },
167
- { kind: "action-ref", id: "mode-edge" },
168
260
  { kind: "action-ref", id: "mode-brush" },
169
261
  { kind: "action-ref", id: "mode-erase" },
170
262
  { kind: "action-ref", id: "mode-laser" },
@@ -193,6 +285,8 @@ export const Toolbar = ({ items = DEFAULT_TOOLBAR, style, className, orientation
193
285
  return _jsx(ToolbarDivider, { vertical: vertical }, i);
194
286
  case "action-ref":
195
287
  return _jsx(ActionRefButton, { id: item.id }, i);
288
+ case "shapes-flyout":
289
+ return (_jsx(ShapesAndLinesButton, { vertical: vertical, ...(item.onMoreShapes ? { onMoreShapes: item.onMoreShapes } : {}) }, i));
196
290
  case "mode": {
197
291
  const active = activeTool.type === item.mode;
198
292
  // Only select / hand are navigation-safe; every other mode
@@ -253,56 +347,32 @@ export const ZoomDisplay = ({ className, style, }) => {
253
347
  const editor = useDiagramOptional();
254
348
  const zoom = useEditorSelector((e) => e.scene.viewport.zoom, 1);
255
349
  const percent = `${Math.round(zoom * 100)}%`;
256
- return (_jsx(ToolbarButton, { disabled: !editor, title: `Reset zoom to 100% (${HK_ZOOM_RESET})`, className: className, style: style, onClick: () => editor?.resetZoom(), children: _jsx("span", { style: { minWidth: 40, display: "inline-block", textAlign: "center" }, children: percent }) }));
350
+ return (_jsx(ToolbarButton, { disabled: !editor, title: `Reset zoom to 100% (${HK_ZOOM_RESET})`, className: className, style: style, onClick: () => editor?.resetZoom(), children: _jsx("span", { className: "du-zoom-readout", children: percent }) }));
257
351
  };
258
352
  /**
259
353
  * Pre-composed inline zoom widget: − / current % / + / Fit. Equivalent
260
354
  * to laying the four standalone buttons + display in a row.
261
355
  */
262
- export const ZoomWidget = ({ className, style, }) => (_jsxs("span", { className: className, style: { display: "inline-flex", alignItems: "center", gap: 2, ...style }, children: [_jsx(ZoomOutButton, {}), _jsx(ZoomDisplay, {}), _jsx(ZoomInButton, {}), _jsx(ZoomToFitButton, {})] }));
356
+ export const ZoomWidget = ({ className, style, }) => (_jsxs("span", { className: className, style: { display: "inline-flex", alignItems: "center", gap: "var(--du-gap-sm)", ...style }, children: [_jsx(ZoomOutButton, {}), _jsx(ZoomDisplay, {}), _jsx(ZoomInButton, {}), _jsx(ZoomToFitButton, {})] }));
263
357
  /**
264
358
  * Floating zoom controls — bottom-right cluster with rounded shadow
265
359
  * chrome. Drops the widget into a corner so the toolbar stays free for
266
360
  * tools. Hosts that need a different position pass `style`.
267
361
  */
268
- export const FloatingZoomControls = ({ className, style, }) => (_jsxs("div", { className: className, style: {
269
- position: "absolute",
270
- bottom: 16,
271
- right: 16,
272
- display: "inline-flex",
273
- alignItems: "center",
274
- gap: 2,
275
- padding: "4px 6px",
276
- background: "var(--toolbar-bg, #1a1a1a)",
277
- border: "1px solid var(--border, #2a2a2a)",
278
- borderRadius: 6,
279
- boxShadow: "0 2px 8px rgba(0, 0, 0, 0.18)",
280
- zIndex: 50,
281
- ...style,
282
- }, children: [_jsx(ZoomOutButton, {}), _jsx(ZoomDisplay, {}), _jsx(ZoomInButton, {}), _jsx(ZoomToFitButton, {})] }));
362
+ export const FloatingZoomControls = ({ className, style, }) => (_jsxs("div", { className: `du-button-group du-zoom-floating${className ? ` ${className}` : ""}`, style: style, children: [_jsx(ZoomOutButton, {}), _jsx(ZoomDisplay, {}), _jsx(ZoomInButton, {}), _jsx(ZoomToFitButton, {})] }));
283
363
  const ToolbarButton = ({ children, onClick, active, disabled, title, className, style, }) => {
284
364
  const btn = (_jsx("button", { type: "button", onClick: onClick, disabled: disabled, "aria-label": title, "aria-pressed": active, className: `du-icon-button${active ? " is-active" : ""}${className ? ` ${className}` : ""}`, style: {
285
365
  // Toolbar items are wider than square — labels can be 1-2
286
366
  // characters or short words. Match the IconButton height but
287
367
  // let the width grow with the content.
288
368
  width: "auto",
289
- minWidth: "var(--du-button-size, 36px)",
290
- padding: "0 8px",
369
+ minWidth: "var(--du-button-size)",
370
+ padding: "0 var(--du-space-md)",
291
371
  ...style,
292
372
  }, children: children }));
293
373
  // Wrap in Tooltip when there's text to show. Disabled / empty labels go
294
374
  // raw — the shared-state tooltip would otherwise flash an empty box.
295
375
  return title ? _jsx(Tooltip, { content: title, children: btn }) : btn;
296
376
  };
297
- const ToolbarDivider = ({ vertical = false }) => vertical ? (_jsx("span", { style: {
298
- height: 1,
299
- width: "100%",
300
- background: "var(--du-ui-border, #333)",
301
- margin: "4px 0",
302
- } })) : (_jsx("span", { style: {
303
- width: 1,
304
- height: TOOLBAR_SEPARATOR_HEIGHT,
305
- background: "var(--du-ui-border, #333)",
306
- margin: "0 4px",
307
- } }));
377
+ const ToolbarDivider = ({ vertical = false }) => (_jsx("span", { className: `du-toolbar-divider${vertical ? " is-vertical" : ""}` }));
308
378
  //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../../src/toolbar/toolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-time.d.ts","sourceRoot":"","sources":["../../src/utils/format-time.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,QAAO,UAAU,GAAG,MAAmB,KAAG,MAIjF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-time.js","sourceRoot":"","sources":["../../src/utils/format-time.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAA6B,UAAU,EAAU,EAAE;IACzF,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AACxE,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dismiss-timer.d.ts","sourceRoot":"","sources":["../../src/utils/use-dismiss-timer.ts"],"names":[],"mappings":"AAEA,4HAA4H;AAC5H,eAAO,MAAM,eAAe,GAC1B,IAAI,MAAM,IAAI,KACb;IAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAsBtD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dismiss-timer.js","sourceRoot":"","sources":["../../src/utils/use-dismiss-timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvD,4HAA4H;AAC5H,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,EAAc,EAC0C,EAAE;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,EAAU,EAAE,EAAE;QACb,MAAM,EAAE,CAAC;QACT,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IACF,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../../src/widgets/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,aAAa,EAAqB,MAAM,OAAO,CAAC;AAK9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAiBrD,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA+BD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,0DAMrB,YAAY,4CAqMd,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef } from "react";
3
- import { getElementWorldBounds } from "@oh-just-another/scene";
4
- import { renderScene, renderLinks } from "@oh-just-another/renderer-core";
5
- import { Canvas2DTarget, setupHiDpi } from "@oh-just-another/renderer-canvas";
3
+ import { getElementWorldBounds, isGroup } from "@oh-just-another/scene";
4
+ import { setupHiDpi } from "@oh-just-another/renderer-canvas";
6
5
  import { bounds as B } from "@oh-just-another/math";
7
- import { useDiagramOptional } from "./hooks.js";
8
- import { MINIMAP_FRAME_COLOR, MINIMAP_FRAME_FILL, MINIMAP_FRAME_LINE_WIDTH, MINIMAP_HEIGHT_PX, MINIMAP_PADDING_PX, MINIMAP_THROTTLE_MS, MINIMAP_WHEEL_ZOOM_MAX_STEP, MINIMAP_WHEEL_ZOOM_SPEED, MINIMAP_WIDTH_PX, } from "./constants.js";
6
+ import { useDiagramOptional } from "../core/hooks.js";
7
+ import { MINIMAP_BACKGROUND, MINIMAP_ELEMENT_COLOR, MINIMAP_ELEMENT_OPACITY, MINIMAP_FRAME_COLOR, MINIMAP_FRAME_FILL, MINIMAP_FRAME_LINE_WIDTH, MINIMAP_HEIGHT_PX, MINIMAP_IDLE_MS, MINIMAP_PADDING_PX, MINIMAP_WHEEL_ZOOM_MAX_STEP, MINIMAP_WHEEL_ZOOM_SPEED, MINIMAP_WIDTH_PX, } from "../core/constants.js";
9
8
  /** Union of every element's world AABB, or `null` for an empty scene. */
10
9
  const sceneContentBounds = (scene) => {
11
10
  let acc = null;
@@ -52,25 +51,31 @@ export const Minimap = ({ width = MINIMAP_WIDTH_PX, height = MINIMAP_HEIGHT_PX,
52
51
  const ctx = canvas.getContext("2d");
53
52
  if (!ctx)
54
53
  return;
55
- const target = new Canvas2DTarget(ctx, width, height, dpr);
56
- target.clear();
54
+ // Schematic overview: white paper + one accent-coloured box per element.
55
+ // Drawn straight on the 2D context (no renderer pass) — cheap enough to
56
+ // be unnoticeable, and it reads at a glance the way the reference does.
57
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
58
+ ctx.fillStyle = MINIMAP_BACKGROUND;
59
+ ctx.fillRect(0, 0, width, height);
57
60
  const content = sceneContentBounds(scene);
58
61
  const fit = content ? fitContent(content, width, height) : null;
59
62
  fitRef.current = fit;
60
63
  if (!fit)
61
64
  return;
62
- const miniScene = {
63
- ...scene,
64
- viewport: {
65
- ...scene.viewport,
66
- pan: fit.pan,
67
- zoom: fit.zoom,
68
- rotation: 0,
69
- size: { width, height },
70
- },
71
- };
72
- renderScene(miniScene, target);
73
- renderLinks(miniScene, target);
65
+ ctx.fillStyle = MINIMAP_ELEMENT_COLOR;
66
+ ctx.globalAlpha = MINIMAP_ELEMENT_OPACITY;
67
+ ctx.beginPath();
68
+ for (const el of scene.elements.values()) {
69
+ if (el.hidden === true || isGroup(el))
70
+ continue;
71
+ const b = getElementWorldBounds(el);
72
+ const x = (b.x - fit.pan.x) * fit.zoom;
73
+ const y = (b.y - fit.pan.y) * fit.zoom;
74
+ // Keep hairline shapes visible at extreme zoom-outs.
75
+ ctx.rect(x, y, Math.max(1, b.width * fit.zoom), Math.max(1, b.height * fit.zoom));
76
+ }
77
+ ctx.fill();
78
+ ctx.globalAlpha = 1;
74
79
  // Viewport frame — the world rect currently visible in the main view,
75
80
  // projected into minimap pixels. Drawn in CSS px on the dpr-scaled ctx.
76
81
  const vp = scene.viewport;
@@ -79,7 +84,6 @@ export const Minimap = ({ width = MINIMAP_WIDTH_PX, height = MINIMAP_HEIGHT_PX,
79
84
  const fy = (vp.pan.y - fit.pan.y) * fit.zoom;
80
85
  const fw = (vp.size.width / vp.zoom) * fit.zoom;
81
86
  const fh = (vp.size.height / vp.zoom) * fit.zoom;
82
- ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
83
87
  ctx.fillStyle = MINIMAP_FRAME_FILL;
84
88
  ctx.fillRect(fx, fy, fw, fh);
85
89
  ctx.strokeStyle = MINIMAP_FRAME_COLOR;
@@ -87,33 +91,43 @@ export const Minimap = ({ width = MINIMAP_WIDTH_PX, height = MINIMAP_HEIGHT_PX,
87
91
  ctx.strokeRect(fx, fy, fw, fh);
88
92
  }
89
93
  }, [editor, width, height]);
90
- // Throttled repaint on every editor change. A leading draw runs immediately;
91
- // bursts within the window collapse into a single trailing draw.
94
+ // Repaint only when the editor goes quiet: every change (re)arms an idle
95
+ // timer, and while a gesture is in flight (element drag / resize, pan,
96
+ // pinch) nothing is scheduled at all — the overview never competes with
97
+ // the main canvas for frame time, and repaints once right after the
98
+ // gesture ends. Wheel zoom / pan bursts collapse into one trailing paint.
92
99
  useEffect(() => {
93
100
  if (!editor)
94
101
  return undefined;
95
102
  draw();
96
- let last = Date.now();
97
103
  let timer = null;
98
- const schedule = () => {
99
- const elapsed = Date.now() - last;
100
- if (elapsed >= MINIMAP_THROTTLE_MS) {
101
- last = Date.now();
102
- draw();
104
+ const clear = () => {
105
+ if (timer !== null) {
106
+ clearTimeout(timer);
107
+ timer = null;
103
108
  }
104
- else {
105
- timer ??= setTimeout(() => {
106
- timer = null;
107
- last = Date.now();
109
+ };
110
+ const busy = () => editor.gestureTx !== null ||
111
+ editor.dragElementId !== null ||
112
+ editor.panGesture !== null ||
113
+ editor.placementId !== null;
114
+ // Every change re-arms the idle timer; while a gesture is in flight no
115
+ // timer runs. The gesture's end is itself a change (commit / release
116
+ // notifies), which arms the one trailing paint.
117
+ const schedule = () => {
118
+ clear();
119
+ if (busy())
120
+ return;
121
+ timer = setTimeout(() => {
122
+ timer = null;
123
+ if (!busy())
108
124
  draw();
109
- }, MINIMAP_THROTTLE_MS - elapsed);
110
- }
125
+ }, MINIMAP_IDLE_MS);
111
126
  };
112
127
  const unsubscribe = editor.subscribe(schedule);
113
128
  return () => {
114
129
  unsubscribe();
115
- if (timer !== null)
116
- clearTimeout(timer);
130
+ clear();
117
131
  };
118
132
  }, [editor, draw]);
119
133
  // Center the main viewport on the world point under a minimap pixel.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimap.js","sourceRoot":"","sources":["../../src/widgets/minimap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAyC,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAc,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAwB9B,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAiB,EAAE;IACzD,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI;YAAE,SAAS;QACjC,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACrC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,kFAAkF;AAClF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,CAAS,EAAE,CAAS,EAAkB,EAAE;IAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,KAAK,GAAG,gBAAgB,EACxB,MAAM,GAAG,iBAAiB,EAC1B,SAAS,EACT,KAAK,EACL,MAAM,EAAE,UAAU,GACL,EAAE,EAAE;IACjB,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,IAAI,aAAa,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,GAAG,CAAC,SAAS,GAAG,qBAAqB,CAAC;QACtC,GAAG,CAAC,WAAW,GAAG,uBAAuB,CAAC;QAC1C,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;gBAAE,SAAS;YAChD,MAAM,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACvC,qDAAqD;YACrD,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QAEpB,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC1B,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YAChD,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACjD,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,CAAC,WAAW,GAAG,mBAAmB,CAAC;YACtC,GAAG,CAAC,SAAS,GAAG,wBAAwB,CAAC;YACzC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,0EAA0E;IAC1E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,EAAE,CAAC;QACP,IAAI,KAAK,GAAyC,IAAI,CAAC;QACvD,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,MAAM,CAAC,SAAS,KAAK,IAAI;YACzB,MAAM,CAAC,aAAa,KAAK,IAAI;YAC7B,MAAM,CAAC,UAAU,KAAK,IAAI;YAC1B,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC;QAC9B,uEAAuE;QACvE,qEAAqE;QACrE,gDAAgD;QAChD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,KAAK,EAAE,CAAC;YACR,IAAI,IAAI,EAAE;gBAAE,OAAO;YACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,CAAC;gBACb,IAAI,CAAC,IAAI,EAAE;oBAAE,IAAI,EAAE,CAAC;YACtB,CAAC,EAAE,eAAe,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnB,qEAAqE;IACrE,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAU,EAAE,EAAU,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;YAAE,OAAO;QAC5B,MAAM,KAAK,GAAS,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACvD,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAU,EAAE,EAAU,EAAE,MAAc,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO;QAC5C,MAAM,KAAK,GAAS,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,OAAO,GACX,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,2BAA2B;YAC5C,CAAC,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACjD,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO;QACxB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACvD,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,wEAAwE;IACxE,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,CAAa,EAAQ,EAAE;YACtC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC5C,WAAW,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,UAAU,GAAG,CAAC,CAAkC,EAA4B,EAAE;QAClF,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,CAAkC,EAAE,EAAE;QACrC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,CAAkC,EAAE,EAAE;QACrC,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO;QACjC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAkC,EAAE,EAAE;QACzE,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,iBACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,SAAS,gBACT,iBAAiB,EAC5B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,KAAK;YACL,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,MAAM;YACnB,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Pill button that runs `editor.revealNearestContent()` — jumps to the
3
+ * element nearest the camera at the current zoom (never zooms in; zooms
4
+ * out only if that element doesn't fit). Only renders when the scene has
5
+ * content AND all of it lies outside the current viewport.
6
+ *
7
+ * The visibility check projects the scene's world AABB through the
8
+ * inverse of the viewport transform and intersects with the screen rect.
9
+ */
10
+ export declare const ResetToContentButton: () => import("react/jsx-runtime").JSX.Element | null;
11
+ //# sourceMappingURL=reset-to-content-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-to-content-button.d.ts","sourceRoot":"","sources":["../../src/widgets/reset-to-content-button.tsx"],"names":[],"mappings":"AAQA;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,sDAkBhC,CAAC"}
@@ -3,14 +3,13 @@ import { useMemo } from "react";
3
3
  import { LocateFixed } from "lucide-react";
4
4
  import { bounds as B, matrix } from "@oh-just-another/math";
5
5
  import { getScreenToWorld, getElementWorldBounds } from "@oh-just-another/scene";
6
- import { useDiagramOptional, useScene } from "./hooks.js";
7
- /** Pill-button icon footprint matches BottomBar density. */
8
- const PILL_ICON_SIZE = 14;
9
- const PILL_ICON_STROKE = 1.75;
6
+ import { useDiagramOptional, useScene } from "../core/hooks.js";
7
+ import { ROW_ICON } from "../core/constants.js";
10
8
  /**
11
- * Pill button that runs `editor.zoomToFit()` — only renders when the
12
- * scene has content AND that content lies (entirely or partly) outside
13
- * the current viewport. Hidden otherwise.
9
+ * Pill button that runs `editor.revealNearestContent()` — jumps to the
10
+ * element nearest the camera at the current zoom (never zooms in; zooms
11
+ * out only if that element doesn't fit). Only renders when the scene has
12
+ * content AND all of it lies outside the current viewport.
14
13
  *
15
14
  * The visibility check projects the scene's world AABB through the
16
15
  * inverse of the viewport transform and intersects with the screen rect.
@@ -22,8 +21,8 @@ export const ResetToContentButton = () => {
22
21
  if (!editor || scene.elements.size === 0 || !isOff)
23
22
  return null;
24
23
  return (_jsxs("button", { type: "button", className: "du-pill-button", onClick: () => {
25
- editor.zoomToFit();
26
- }, title: "Reset view to fit all content", children: [_jsx(LocateFixed, { size: PILL_ICON_SIZE, strokeWidth: PILL_ICON_STROKE, "aria-hidden": true }), _jsx("span", { children: "Back to content" })] }));
24
+ editor.revealNearestContent();
25
+ }, title: "Jump to the nearest content", children: [_jsx(LocateFixed, { ...ROW_ICON, "aria-hidden": true }), _jsx("span", { children: "Back to content" })] }));
27
26
  };
28
27
  /**
29
28
  * Returns `true` if the union AABB of every scene shape lies fully
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-to-content-button.js","sourceRoot":"","sources":["../../src/widgets/reset-to-content-button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/widgets/versioning.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAEnB,MAAM,6BAA6B,CAAC;AAKrC,UAAU,aAAa;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,aAAa,GAAG,IAAI,KAAG,aA6B9D,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,qCAAqC,iBAAiB,4CA0RlF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useState } from "react";
3
3
  import { captureFromEditor, diffScenes, restoreSnapshot, } from "@oh-just-another/versioning";
4
- import { useDiagramOptional } from "./hooks.js";
5
- import { formatTime } from "./format-time.js";
6
- import { MergeDialog } from "./merge-dialog.js";
4
+ import { useDiagramOptional } from "../core/hooks.js";
5
+ import { formatTime } from "../utils/format-time.js";
6
+ import { MergeDialog } from "../overlays/merge-dialog.js";
7
7
  /**
8
8
  * Subscribe to a `SnapshotStore` and return reactive lists of branches +
9
9
  * snapshots + the currently-active branch. Pass `null` for hosts that
@@ -141,7 +141,7 @@ export const VersionPanel = ({ store, author, style, className }) => {
141
141
  border: "none",
142
142
  borderBottom: "1px solid var(--divider, #333)",
143
143
  borderLeft: br.id === currentBranchId
144
- ? "3px solid var(--accent, #1a73e8)"
144
+ ? "3px solid var(--accent, #5b5bd6)"
145
145
  : "3px solid transparent",
146
146
  background: br.id === currentBranchId
147
147
  ? "var(--cursor-bg, rgba(26,115,232,0.12))"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioning.js","sourceRoot":"","sources":["../../src/widgets/versioning.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,eAAe,GAKhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAQ1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAiB,EAAE;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE,CACrD,KAAK;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC1B,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE;YACvB,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,eAAe,EAAE,MAAsB;SACxC,CACN,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,QAAQ,CAAC;gBACP,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAC1B,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE;gBACvB,eAAe,EAAE,KAAK,CAAC,eAAe;aACvC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;QACP,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAWF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAqB,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAItC,IAAI,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,YAAoB,EAAQ,EAAE;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAClB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACjE,CAAC;YACD,OAAO;QACT,CAAC;QACD,eAAe,CAAC;YACd,eAAe,EAAE,YAAY,CAAC,IAAI;YAClC,eAAe,EAAE,MAAM,CAAC,IAAI;YAC5B,gBAAgB,EAAE,YAAY,CAAC,IAAI;SACpC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,EAAE,eAAe,CAAC,CACzB,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAS,EAAE;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7F,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,EAAa,EAAQ,EAAE;QACtB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IACE,OAAO,MAAM,KAAK,WAAW;YAC7B,MAAM,CAAC,OAAO,CAAC,2DAA2D,CAAC,EAC3E,CAAC;YACD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,EAAa,EAAQ,EAAE;QACtB,MAAM,IAAI,GACR,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,EAAa,EAAQ,EAAE;QACtB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG;YACd,iBAAiB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpH,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3G,iBAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC9G,iBAAiB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;SAC9H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAC/B,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,OAAO,mBAAmB,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC,EACD,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,iBACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,uBAAuB;YACnC,KAAK,EAAE,mBAAmB;YAC1B,UAAU,EAAE,kCAAkC;YAC9C,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,SAAS,EAAE,CAAC;YACZ,GAAG,KAAK;SACT,aAED,kBACE,KAAK,EAAE;oBACL,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,WAAW;oBAC1B,aAAa,EAAE,GAAG;oBAClB,KAAK,EAAE,oBAAoB;oBAC3B,YAAY,EAAE,kCAAkC;iBACjD,yBAGD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,CAAC,MAAM,EACjB,KAAK,EAAC,uBAAuB,EAC7B,KAAK,EAAE;4BACL,UAAU,EAAE,MAAM;4BAClB,UAAU,EAAE,2BAA2B;4BACvC,MAAM,EAAE,kCAAkC;4BAC1C,KAAK,EAAE,SAAS;4BAChB,OAAO,EAAE,SAAS;4BAClB,YAAY,EAAE,CAAC;4BACf,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,EAAE;yBACb,0BAGM,IACF,EACT,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,YACrD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC1C,OAAO,CACL,0BACE,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gCAChC,CAAC,EACD,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,KAAK,EAAE,MAAM;oCACb,SAAS,EAAE,MAAM;oCACjB,OAAO,EAAE,UAAU;oCACnB,MAAM,EAAE,MAAM;oCACd,YAAY,EAAE,gCAAgC;oCAC9C,UAAU,EACR,EAAE,CAAC,EAAE,KAAK,eAAe;wCACvB,CAAC,CAAC,kCAAkC;wCACpC,CAAC,CAAC,uBAAuB;oCAC7B,UAAU,EACR,EAAE,CAAC,EAAE,KAAK,eAAe;wCACvB,CAAC,CAAC,yCAAyC;wCAC3C,CAAC,CAAC,aAAa;oCACnB,KAAK,EAAE,SAAS;oCAChB,MAAM,EAAE,SAAS;oCACjB,IAAI,EAAE,SAAS;oCACf,UAAU,EAAE,GAAG;iCAChB,aAEA,EAAE,CAAC,IAAI,EACR,eAAM,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,YAC9E,SAAS,CAAC,MAAM,GACZ,EACN,EAAE,CAAC,EAAE,KAAK,eAAe,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;4CACd,EAAE,CAAC,eAAe,EAAE,CAAC;4CACrB,OAAO,CAAC,EAAE,CAAC,CAAC;wCACd,CAAC,EACD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;4CAChB,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gDACzC,EAAE,CAAC,cAAc,EAAE,CAAC;gDACpB,OAAO,CAAC,EAAE,CAAC,CAAC;4CACd,CAAC;wCACH,CAAC,EACD,KAAK,EAAE,SAAS,EAAE,CAAC,IAAI,sBAAsB,EAC7C,KAAK,EAAE;4CACL,UAAU,EAAE,CAAC;4CACb,UAAU,EAAE,2BAA2B;4CACvC,MAAM,EAAE,kCAAkC;4CAC1C,YAAY,EAAE,CAAC;4CACf,OAAO,EAAE,OAAO;4CAChB,QAAQ,EAAE,EAAE;4CACZ,UAAU,EAAE,GAAG;4CACf,MAAM,EAAE,SAAS;yCAClB,uBAGI,CACR,CAAC,CAAC,CAAC,IAAI,IACD,EACR,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACxB,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,6BAAoB,CACrF,CAAC,CAAC,CAAC,CACF,SAAS;iCACN,KAAK,EAAE;iCACP,OAAO,EAAE;iCACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACb,eAEE,KAAK,EAAE;oCACL,OAAO,EAAE,MAAM;oCACf,GAAG,EAAE,CAAC;oCACN,OAAO,EAAE,UAAU;oCACnB,YAAY,EAAE,gCAAgC;iCAC/C,aAED,eAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAClC,cACE,KAAK,EAAE;oDACL,QAAQ,EAAE,QAAQ;oDAClB,YAAY,EAAE,UAAU;oDACxB,UAAU,EAAE,QAAQ;iDACrB,YAEA,IAAI,CAAC,OAAO,GACT,EACN,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,aACtD,IAAI,CAAC,MAAM,CAAC,IAAI,cAAK,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IACpD,IACF,EACN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4CACZ,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCACrB,CAAC,EACD,KAAK,EAAE,eAAe,EACtB,KAAK,EAAC,sBAAsB,uBAGrB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4CACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCAClB,CAAC,EACD,KAAK,EAAE,eAAe,EACtB,KAAK,EAAC,yBAAyB,uBAGxB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;4CACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCACpB,CAAC,EACD,KAAK,EAAE,eAAe,EACtB,KAAK,EAAC,kBAAkB,uBAGjB,KAnDJ,IAAI,CAAC,EAAE,CAoDR,CACP,CAAC,CACL,KA3HO,EAAE,CAAC,EAAE,CA4HT,CACP,CAAC;gBACJ,CAAC,CAAC,GACE,EACL,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,CACxB,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,YAAY,CAAC,eAAe,EAC7C,eAAe,EAAE,YAAY,CAAC,eAAe,EAC7C,QAAQ,EAAE,GAAG,EAAE;oBACb,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC,EACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;oBAClB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACzB,2DAA2D;oBAC3D,oDAAoD;oBACpD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE;wBAC/B,MAAM;wBACN,OAAO,EAAE,SAAS,YAAY,CAAC,gBAAgB,eAAe;qBAC/D,CAAC,CAAC;oBACH,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC,GACD,CACH,CAAC,CAAC,CAAC,IAAI,IACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAkB;IACrC,UAAU,EAAE,2BAA2B;IACvC,MAAM,EAAE,kCAAkC;IAC1C,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,EAAE;CACb,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zen-mode.d.ts","sourceRoot":"","sources":["../../src/widgets/zen-mode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,4CAqC7E,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,UAAU,QAAO,UAM7B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,QAAO,UAAU,GAAG,IAAkC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zen-mode.js","sourceRoot":"","sources":["../../src/widgets/zen-mode.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAc/D,MAAM,cAAc,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAoC,EAAE,EAAE;IAChF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,qBAAqB,CAAC,OAAO,CAAC;YAC5B,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;YAC/B,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,uEAAuE;IACvE,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,GAAG,GAAG,OAAO,CAAa,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAAG,QAAQ,GAA2B,CAAC;AACnF,CAAC,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAe,EAAE;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAsB,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC"}