@omnitron-dev/prism 0.3.1 → 0.3.2

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 (305) hide show
  1. package/README.md +68 -2
  2. package/THIRD-PARTY-NOTICES.txt +26 -0
  3. package/dist/accessibility/index.js +2 -0
  4. package/dist/accessibility/index.js.map +1 -1
  5. package/dist/auth/index.d.ts +4 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/index.js +4 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/blocks/auth-block/guards.d.ts +3 -2
  10. package/dist/blocks/auth-block/guards.d.ts.map +1 -1
  11. package/dist/blocks/dashboard-block/dashboard-block.d.ts.map +1 -1
  12. package/dist/blocks/dashboard-block/types.d.ts +4 -2
  13. package/dist/blocks/dashboard-block/types.d.ts.map +1 -1
  14. package/dist/blocks/dashboard-block/use-dashboard-block.d.ts +2 -2
  15. package/dist/blocks/dashboard-block/use-dashboard-block.d.ts.map +1 -1
  16. package/dist/blocks/data-grid-block/data-grid-block.d.ts.map +1 -1
  17. package/dist/blocks/data-grid-block/types.d.ts +3 -0
  18. package/dist/blocks/data-grid-block/types.d.ts.map +1 -1
  19. package/dist/blocks/index.js +80 -255
  20. package/dist/blocks/index.js.map +1 -1
  21. package/dist/chunk-2AB7VGPW.js +447 -0
  22. package/dist/chunk-2AB7VGPW.js.map +1 -0
  23. package/dist/{chunk-LOY2NPCO.js → chunk-2E67PQ4T.js} +3 -3
  24. package/dist/{chunk-LOY2NPCO.js.map → chunk-2E67PQ4T.js.map} +1 -1
  25. package/dist/chunk-2KG2NI73.js +84 -0
  26. package/dist/chunk-2KG2NI73.js.map +1 -0
  27. package/dist/chunk-2UYRW6X3.js +44 -0
  28. package/dist/chunk-2UYRW6X3.js.map +1 -0
  29. package/dist/chunk-36C5H56C.js +208 -0
  30. package/dist/chunk-36C5H56C.js.map +1 -0
  31. package/dist/chunk-36FOXX25.js +73 -0
  32. package/dist/chunk-36FOXX25.js.map +1 -0
  33. package/dist/{chunk-52PQL67Q.js → chunk-3VSM7NZG.js} +18 -15
  34. package/dist/chunk-3VSM7NZG.js.map +1 -0
  35. package/dist/{chunk-GUGTDURV.js → chunk-4B2LTPK2.js} +2 -2
  36. package/dist/{chunk-GUGTDURV.js.map → chunk-4B2LTPK2.js.map} +1 -1
  37. package/dist/chunk-4HUGZJKU.js +108 -0
  38. package/dist/chunk-4HUGZJKU.js.map +1 -0
  39. package/dist/{chunk-PXXPLHIY.js → chunk-4Q5L7LDG.js} +3 -3
  40. package/dist/{chunk-PXXPLHIY.js.map → chunk-4Q5L7LDG.js.map} +1 -1
  41. package/dist/{chunk-BRDWQVRT.js → chunk-4R7EZ7GQ.js} +3 -2
  42. package/dist/chunk-4R7EZ7GQ.js.map +1 -0
  43. package/dist/chunk-6IANOSMD.js +185 -0
  44. package/dist/chunk-6IANOSMD.js.map +1 -0
  45. package/dist/{chunk-YHE7HXSG.js → chunk-7ATBURW2.js} +3 -3
  46. package/dist/{chunk-YHE7HXSG.js.map → chunk-7ATBURW2.js.map} +1 -1
  47. package/dist/{chunk-7G5D5PTC.js → chunk-AATAOOSF.js} +4 -4
  48. package/dist/{chunk-7G5D5PTC.js.map → chunk-AATAOOSF.js.map} +1 -1
  49. package/dist/chunk-AKLRKCYH.js +128 -0
  50. package/dist/chunk-AKLRKCYH.js.map +1 -0
  51. package/dist/chunk-CT46KJOR.js +133 -0
  52. package/dist/chunk-CT46KJOR.js.map +1 -0
  53. package/dist/{chunk-LSPFFEJT.js → chunk-D4GFAJAZ.js} +298 -3900
  54. package/dist/chunk-D4GFAJAZ.js.map +1 -0
  55. package/dist/{chunk-BJE2AKD4.js → chunk-D5J3KW6Q.js} +3 -2
  56. package/dist/chunk-D5J3KW6Q.js.map +1 -0
  57. package/dist/chunk-DEPJRTVT.js +3 -0
  58. package/dist/{chunk-FU52GL2E.js.map → chunk-DEPJRTVT.js.map} +1 -1
  59. package/dist/{chunk-472SOF76.js → chunk-DHTYHUYI.js} +85 -107
  60. package/dist/chunk-DHTYHUYI.js.map +1 -0
  61. package/dist/{chunk-FF5RF32O.js → chunk-E7WM2RXA.js} +3 -2
  62. package/dist/chunk-E7WM2RXA.js.map +1 -0
  63. package/dist/chunk-F6RZ7LW6.js +1271 -0
  64. package/dist/chunk-F6RZ7LW6.js.map +1 -0
  65. package/dist/chunk-FOGY3HA4.js +217 -0
  66. package/dist/chunk-FOGY3HA4.js.map +1 -0
  67. package/dist/chunk-G2GANYMW.js +139 -0
  68. package/dist/chunk-G2GANYMW.js.map +1 -0
  69. package/dist/chunk-I6DILPFE.js +293 -0
  70. package/dist/chunk-I6DILPFE.js.map +1 -0
  71. package/dist/{chunk-HOXFSQUV.js → chunk-IRYU3NTG.js} +2 -2
  72. package/dist/{chunk-HOXFSQUV.js.map → chunk-IRYU3NTG.js.map} +1 -1
  73. package/dist/chunk-JTIUGPW5.js +284 -0
  74. package/dist/chunk-JTIUGPW5.js.map +1 -0
  75. package/dist/{chunk-GUFHFEPZ.js → chunk-JZBSPDED.js} +2 -2
  76. package/dist/{chunk-GUFHFEPZ.js.map → chunk-JZBSPDED.js.map} +1 -1
  77. package/dist/{chunk-PFT2BNYO.js → chunk-KPY7TA4D.js} +5 -5
  78. package/dist/{chunk-PFT2BNYO.js.map → chunk-KPY7TA4D.js.map} +1 -1
  79. package/dist/{chunk-GMIE6III.js → chunk-LFWKGNCX.js} +50 -623
  80. package/dist/chunk-LFWKGNCX.js.map +1 -0
  81. package/dist/chunk-LH4ZZZYB.js +37 -0
  82. package/dist/chunk-LH4ZZZYB.js.map +1 -0
  83. package/dist/chunk-NFJ7CPG3.js +13 -0
  84. package/dist/chunk-NFJ7CPG3.js.map +1 -0
  85. package/dist/chunk-NFPOIHD4.js +3 -0
  86. package/dist/{chunk-JSQTYDPG.js.map → chunk-NFPOIHD4.js.map} +1 -1
  87. package/dist/{chunk-XIXSSI3B.js → chunk-NJM5AVBM.js} +3 -2
  88. package/dist/chunk-NJM5AVBM.js.map +1 -0
  89. package/dist/{chunk-4Z5DE5GK.js → chunk-NSNM53WI.js} +133 -115
  90. package/dist/chunk-NSNM53WI.js.map +1 -0
  91. package/dist/chunk-NTREGTG7.js +31 -0
  92. package/dist/chunk-NTREGTG7.js.map +1 -0
  93. package/dist/{chunk-ADG4HZEP.js → chunk-OKJA6SJM.js} +4 -4
  94. package/dist/chunk-OKJA6SJM.js.map +1 -0
  95. package/dist/{chunk-SU3LVQ7N.js → chunk-Q6JDNFSG.js} +11 -226
  96. package/dist/chunk-Q6JDNFSG.js.map +1 -0
  97. package/dist/chunk-RPOGINR5.js +115 -0
  98. package/dist/chunk-RPOGINR5.js.map +1 -0
  99. package/dist/{chunk-KQ67XB6T.js → chunk-RSWVYIXK.js} +151 -114
  100. package/dist/chunk-RSWVYIXK.js.map +1 -0
  101. package/dist/chunk-SSEHL5VP.js +110 -0
  102. package/dist/chunk-SSEHL5VP.js.map +1 -0
  103. package/dist/chunk-TEIGUOWN.js +523 -0
  104. package/dist/chunk-TEIGUOWN.js.map +1 -0
  105. package/dist/{chunk-AYYFMTMI.js → chunk-TJ7DHXUX.js} +2 -2
  106. package/dist/{chunk-AYYFMTMI.js.map → chunk-TJ7DHXUX.js.map} +1 -1
  107. package/dist/{chunk-75FQ5IW3.js → chunk-TZHWYT34.js} +3 -3
  108. package/dist/{chunk-75FQ5IW3.js.map → chunk-TZHWYT34.js.map} +1 -1
  109. package/dist/chunk-TZWHELY4.js +45 -0
  110. package/dist/chunk-TZWHELY4.js.map +1 -0
  111. package/dist/{chunk-OKTLA23Q.js → chunk-UEINJFLS.js} +6 -6
  112. package/dist/chunk-UEINJFLS.js.map +1 -0
  113. package/dist/chunk-URFQX3I6.js +129 -0
  114. package/dist/chunk-URFQX3I6.js.map +1 -0
  115. package/dist/chunk-VG6FOMOH.js +187 -0
  116. package/dist/chunk-VG6FOMOH.js.map +1 -0
  117. package/dist/{chunk-PGHEP4JD.js → chunk-VQVVHMPG.js} +3 -3
  118. package/dist/{chunk-PGHEP4JD.js.map → chunk-VQVVHMPG.js.map} +1 -1
  119. package/dist/{chunk-DRFNMZLG.js → chunk-VUKOT432.js} +3 -2
  120. package/dist/chunk-VUKOT432.js.map +1 -0
  121. package/dist/chunk-WD4N72DL.js +315 -0
  122. package/dist/chunk-WD4N72DL.js.map +1 -0
  123. package/dist/chunk-XBYMG4QK.js +119 -0
  124. package/dist/chunk-XBYMG4QK.js.map +1 -0
  125. package/dist/chunk-YHM6GIHV.js +3 -0
  126. package/dist/chunk-YHM6GIHV.js.map +1 -0
  127. package/dist/{chunk-SNZK5X6F.js → chunk-Z2AN43YU.js} +4 -2
  128. package/dist/chunk-Z2AN43YU.js.map +1 -0
  129. package/dist/chunk-ZNWHMQRM.js +171 -0
  130. package/dist/chunk-ZNWHMQRM.js.map +1 -0
  131. package/dist/{chunk-YSIG2XYH.js → chunk-ZRJYQN6Y.js} +2 -2
  132. package/dist/{chunk-YSIG2XYH.js.map → chunk-ZRJYQN6Y.js.map} +1 -1
  133. package/dist/{chunk-AD4W7HYC.js → chunk-ZYI3MHLE.js} +3 -2
  134. package/dist/chunk-ZYI3MHLE.js.map +1 -0
  135. package/dist/cli/index.js +59 -421
  136. package/dist/cli/index.js.map +1 -1
  137. package/dist/components/admin-filters/admin-data-table.d.ts +7 -1
  138. package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -1
  139. package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -1
  140. package/dist/components/admin-filters/index.js +8 -0
  141. package/dist/components/admin-filters/index.js.map +1 -0
  142. package/dist/components/alert/alert.d.ts.map +1 -1
  143. package/dist/components/alert/index.js +5 -0
  144. package/dist/components/alert/index.js.map +1 -0
  145. package/dist/components/animate/index.js +5 -0
  146. package/dist/components/animate/index.js.map +1 -0
  147. package/dist/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  148. package/dist/components/breadcrumbs/index.js +4 -0
  149. package/dist/components/breadcrumbs/index.js.map +1 -0
  150. package/dist/components/card/index.js +4 -0
  151. package/dist/components/card/index.js.map +1 -0
  152. package/dist/components/chart/chart.d.ts.map +1 -1
  153. package/dist/components/chart/index.css +52 -0
  154. package/dist/components/chart/index.css.map +1 -0
  155. package/dist/components/chart/index.js +5 -0
  156. package/dist/components/chart/index.js.map +1 -0
  157. package/dist/components/chart/types.d.ts +3 -1
  158. package/dist/components/chart/types.d.ts.map +1 -1
  159. package/dist/components/chart/use-chart.d.ts.map +1 -1
  160. package/dist/components/command-palette/command-palette.d.ts +3 -1
  161. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  162. package/dist/components/command-palette/index.js +4 -0
  163. package/dist/components/command-palette/index.js.map +1 -0
  164. package/dist/components/confirm-dialog/index.js +4 -0
  165. package/dist/components/confirm-dialog/index.js.map +1 -0
  166. package/dist/components/date-input/date-input.d.ts +1 -0
  167. package/dist/components/date-input/date-input.d.ts.map +1 -1
  168. package/dist/components/date-input/index.d.ts +0 -1
  169. package/dist/components/date-input/index.d.ts.map +1 -1
  170. package/dist/components/doc-layout/index.js +5 -4
  171. package/dist/components/doc-layout/index.js.map +1 -1
  172. package/dist/components/editor/index.js +4 -3
  173. package/dist/components/editor/index.js.map +1 -1
  174. package/dist/components/emoji-picker/index.js +2 -1
  175. package/dist/components/emoji-picker/index.js.map +1 -1
  176. package/dist/components/empty-content/empty-content.d.ts.map +1 -1
  177. package/dist/components/empty-content/index.js +4 -0
  178. package/dist/components/empty-content/index.js.map +1 -0
  179. package/dist/components/error-boundary/index.js +6 -0
  180. package/dist/components/error-boundary/index.js.map +1 -0
  181. package/dist/components/index.css +13 -10
  182. package/dist/components/index.css.map +1 -1
  183. package/dist/components/index.d.ts +1 -0
  184. package/dist/components/index.d.ts.map +1 -1
  185. package/dist/components/index.js +47 -21
  186. package/dist/components/index.js.map +1 -1
  187. package/dist/components/knowledge-graph/edge-labels.d.ts.map +1 -1
  188. package/dist/components/knowledge-graph/index.js +18 -16
  189. package/dist/components/knowledge-graph/index.js.map +1 -1
  190. package/dist/components/label/index.js +5 -0
  191. package/dist/components/label/index.js.map +1 -0
  192. package/dist/components/label/label.d.ts.map +1 -1
  193. package/dist/components/loading-screen/index.js +4 -0
  194. package/dist/components/loading-screen/index.js.map +1 -0
  195. package/dist/components/map/MapPointPicker.d.ts.map +1 -1
  196. package/dist/components/map/index.js +2 -1
  197. package/dist/components/map/index.js.map +1 -1
  198. package/dist/components/navigation-progress/index.js +4 -0
  199. package/dist/components/navigation-progress/index.js.map +1 -0
  200. package/dist/components/page-content/index.js +4 -0
  201. package/dist/components/page-content/index.js.map +1 -0
  202. package/dist/components/popover/index.js +4 -0
  203. package/dist/components/popover/index.js.map +1 -0
  204. package/dist/components/research/diagram.d.ts.map +1 -1
  205. package/dist/components/research/index.js +6 -4
  206. package/dist/components/research/index.js.map +1 -1
  207. package/dist/components/research-editor/extensions.d.ts +1 -1
  208. package/dist/components/research-editor/index.js +11 -10
  209. package/dist/components/research-editor/index.js.map +1 -1
  210. package/dist/components/research-editor/math-navigation.d.ts +2 -2
  211. package/dist/components/research-editor/math-navigation.d.ts.map +1 -1
  212. package/dist/components/scroll-to-top/index.js +4 -0
  213. package/dist/components/scroll-to-top/index.js.map +1 -0
  214. package/dist/components/search-input/index.js +7 -0
  215. package/dist/components/search-input/index.js.map +1 -0
  216. package/dist/components/search-input/search-input.d.ts +3 -1
  217. package/dist/components/search-input/search-input.d.ts.map +1 -1
  218. package/dist/components/skeleton/index.js +4 -0
  219. package/dist/components/skeleton/index.js.map +1 -0
  220. package/dist/components/snackbar/index.js +6 -0
  221. package/dist/components/snackbar/index.js.map +1 -0
  222. package/dist/components/stepper/index.js +4 -0
  223. package/dist/components/stepper/index.js.map +1 -0
  224. package/dist/components/table/index.d.ts +1 -0
  225. package/dist/components/table/index.d.ts.map +1 -1
  226. package/dist/components/table/index.js +5 -0
  227. package/dist/components/table/index.js.map +1 -0
  228. package/dist/components/table/table-viewport.d.ts +13 -0
  229. package/dist/components/table/table-viewport.d.ts.map +1 -0
  230. package/dist/components/table/table.d.ts +3 -1
  231. package/dist/components/table/table.d.ts.map +1 -1
  232. package/dist/components/tabs/index.js +6 -0
  233. package/dist/components/tabs/index.js.map +1 -0
  234. package/dist/components/tabs/tabs.d.ts +12 -1
  235. package/dist/components/tabs/tabs.d.ts.map +1 -1
  236. package/dist/core/index.js +12 -10
  237. package/dist/core/index.js.map +1 -1
  238. package/dist/forms/index.js +2 -0
  239. package/dist/forms/index.js.map +1 -1
  240. package/dist/hooks/index.js +14 -12
  241. package/dist/hooks/index.js.map +1 -1
  242. package/dist/hooks/use-config-from-query.d.ts +2 -0
  243. package/dist/hooks/use-config-from-query.d.ts.map +1 -1
  244. package/dist/hooks/use-image-dimensions.d.ts.map +1 -1
  245. package/dist/hooks/use-keyboard-shortcut.d.ts.map +1 -1
  246. package/dist/hooks/use-scroll-position.d.ts.map +1 -1
  247. package/dist/hooks/use-window-size.d.ts.map +1 -1
  248. package/dist/icons/context.d.ts.map +1 -1
  249. package/dist/icons/index.js +3 -2
  250. package/dist/icons/index.js.map +1 -1
  251. package/dist/index.css +13 -10
  252. package/dist/index.css.map +1 -1
  253. package/dist/index.js +57 -31
  254. package/dist/index.js.map +1 -1
  255. package/dist/internal/research-parser.js +3 -0
  256. package/dist/internal/research-parser.js.map +1 -0
  257. package/dist/layouts/core/header-section.d.ts +1 -0
  258. package/dist/layouts/core/header-section.d.ts.map +1 -1
  259. package/dist/layouts/dashboard/layout.d.ts +3 -1
  260. package/dist/layouts/dashboard/layout.d.ts.map +1 -1
  261. package/dist/layouts/dashboard/sidenav.d.ts.map +1 -1
  262. package/dist/layouts/index.js +9 -8
  263. package/dist/layouts/index.js.map +1 -1
  264. package/dist/netron/index.js +2 -1
  265. package/dist/netron/index.js.map +1 -1
  266. package/dist/registry/index.js +1 -1
  267. package/dist/state/create-store.d.ts.map +1 -1
  268. package/dist/state/index.js +3 -2
  269. package/dist/state/index.js.map +1 -1
  270. package/dist/state/settings-version.d.ts.map +1 -1
  271. package/dist/theme/components/Chip.d.ts.map +1 -1
  272. package/dist/theme/components/Dialog.d.ts.map +1 -1
  273. package/dist/theme/components/TextField.d.ts.map +1 -1
  274. package/dist/theme/components/index.d.ts.map +1 -1
  275. package/dist/theme/components/theme-utils.d.ts +2 -2
  276. package/dist/theme/components/theme-utils.d.ts.map +1 -1
  277. package/dist/theme/index.js +8 -6
  278. package/dist/theme/index.js.map +1 -1
  279. package/dist/theme/palette/overrides.d.ts +1 -0
  280. package/dist/theme/palette/overrides.d.ts.map +1 -1
  281. package/dist/theme/semantic-surface.d.ts +8 -0
  282. package/dist/theme/semantic-surface.d.ts.map +1 -0
  283. package/dist/types/index.js +2 -2
  284. package/dist/ui/index.js +6 -5
  285. package/dist/ui/index.js.map +1 -1
  286. package/dist/utils/async-lock.d.ts.map +1 -1
  287. package/package.json +143 -37
  288. package/dist/chunk-472SOF76.js.map +0 -1
  289. package/dist/chunk-4Z5DE5GK.js.map +0 -1
  290. package/dist/chunk-52PQL67Q.js.map +0 -1
  291. package/dist/chunk-AD4W7HYC.js.map +0 -1
  292. package/dist/chunk-ADG4HZEP.js.map +0 -1
  293. package/dist/chunk-BJE2AKD4.js.map +0 -1
  294. package/dist/chunk-BRDWQVRT.js.map +0 -1
  295. package/dist/chunk-DRFNMZLG.js.map +0 -1
  296. package/dist/chunk-FF5RF32O.js.map +0 -1
  297. package/dist/chunk-FU52GL2E.js +0 -3
  298. package/dist/chunk-GMIE6III.js.map +0 -1
  299. package/dist/chunk-JSQTYDPG.js +0 -3
  300. package/dist/chunk-KQ67XB6T.js.map +0 -1
  301. package/dist/chunk-LSPFFEJT.js.map +0 -1
  302. package/dist/chunk-OKTLA23Q.js.map +0 -1
  303. package/dist/chunk-SNZK5X6F.js.map +0 -1
  304. package/dist/chunk-SU3LVQ7N.js.map +0 -1
  305. package/dist/chunk-XIXSSI3B.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { useSettingsStore } from './chunk-XIXSSI3B.js';
2
- import { Scrollbar } from './chunk-PXXPLHIY.js';
3
- import { PanelExpandIcon, PanelCollapseIcon, MenuIcon, CloseIcon } from './chunk-PGHEP4JD.js';
1
+ import { useSettingsStore } from './chunk-NJM5AVBM.js';
2
+ import { Scrollbar } from './chunk-4Q5L7LDG.js';
3
+ import { PanelExpandIcon, PanelCollapseIcon, MenuIcon, CloseIcon } from './chunk-VQVVHMPG.js';
4
4
  import IconButton from '@mui/material/IconButton';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
  import { useState, useId, useEffect } from 'react';
@@ -187,5 +187,5 @@ function PanelLayout({
187
187
  }
188
188
 
189
189
  export { PanelLayout, SidebarToggle };
190
- //# sourceMappingURL=chunk-PFT2BNYO.js.map
191
- //# sourceMappingURL=chunk-PFT2BNYO.js.map
190
+ //# sourceMappingURL=chunk-KPY7TA4D.js.map
191
+ //# sourceMappingURL=chunk-KPY7TA4D.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layouts/sidebar-toggle.tsx","../src/layouts/panel-layout.tsx"],"names":["jsx","IconButton"],"mappings":"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","file":"chunk-PFT2BNYO.js","sourcesContent":["import { PanelExpandIcon, PanelCollapseIcon } from '../icons/controls.js';\nimport IconButton, { type IconButtonProps } from '@mui/material/IconButton';\nexport interface SidebarToggleProps extends Omit<IconButtonProps, 'children' | 'aria-label' | 'aria-expanded'> {\n collapsed: boolean;\n labels: { expand: string; collapse: string };\n}\n/** Shared edge control for the application sidebar and nested tool panels. */\nexport function SidebarToggle({ collapsed, labels, sx, ...props }: SidebarToggleProps) {\n return (\n <IconButton\n {...props}\n size=\"small\"\n aria-label={collapsed ? labels.expand : labels.collapse}\n aria-expanded={!collapsed}\n sx={[\n (theme) => ({\n position: 'absolute',\n top: 36,\n insetInlineEnd: 0,\n // Centre on the rail edge even when the host enlarges the hit target.\n // A logical inset and an unflipped custom value also work with RTL caches.\n '--prism-sidebar-toggle-shift': theme.direction === 'rtl' ? '-50%' : '50%',\n transform: 'translate(var(--prism-sidebar-toggle-shift), -50%)',\n width: 24,\n height: 24,\n bgcolor: 'background.paper',\n border: 1,\n borderColor: 'divider',\n boxShadow: 1,\n // Keep an opaque surface over the rail divider in every interactive state.\n '&:hover, &.Mui-focusVisible': {\n bgcolor: 'background.paper',\n backgroundImage: `linear-gradient(${(theme.vars ?? theme).palette.action.hover}, ${(theme.vars ?? theme).palette.action.hover})`,\n },\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {collapsed ? <PanelExpandIcon sx={{ fontSize: 18 }} /> : <PanelCollapseIcon sx={{ fontSize: 18 }} />}\n </IconButton>\n );\n}\n","import { MenuIcon, CloseIcon } from '../icons/controls.js';\nimport { useEffect, useId, useState, type ReactNode } from 'react';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Drawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useTheme, type SxProps, type Theme, type Breakpoint } from '@mui/material/styles';\nimport { Scrollbar } from '../components/scrollbar/scrollbar.js';\nimport { SidebarToggle } from './sidebar-toggle.js';\nimport { useSettingsStore } from '../state/stores/settings.js';\n\nexport interface PanelLayoutProps {\n children: ReactNode;\n /** Render a compact, actionable index while keeping the same component mounted. */\n panel: ReactNode | ((state: { collapsed: boolean }) => ReactNode);\n title: string;\n /** Translate all three action labels in the host application. */\n labels: { expand: string; collapse: string; close: string };\n /** Independent from the dashboard and other panels. */\n persistKey?: string;\n defaultCollapsed?: boolean;\n /** Close the mobile drawer when the host changes its active document/selection. */\n navigationKey?: string;\n width?: number;\n collapsedWidth?: number;\n /** Stable in both modes. A graph can use the same height as its canvas. */\n height?: number | string;\n layoutQuery?: Breakpoint;\n /** Top of the sticky panel below the application header. */\n offset?: number;\n sx?: SxProps<Theme>;\n}\n\n/** Secondary navigation: a collapsible desktop rail and an accessible mobile drawer.\n * Collapse hides, rather than destroys, panel content. The document/editor is never\n * reparented or remounted when either navigation panel changes state.\n */\nexport function PanelLayout({\n children,\n panel,\n title,\n labels,\n persistKey,\n defaultCollapsed = false,\n navigationKey,\n width = 264,\n collapsedWidth = 64,\n height,\n layoutQuery = 'md',\n offset = 88,\n sx,\n}: PanelLayoutProps) {\n const theme = useTheme();\n const wide = useMediaQuery(theme.breakpoints.up(layoutQuery));\n const saved = useSettingsStore((s) => s.sidebarCollapsed);\n const save = useSettingsStore((s) => s.setSidebarCollapsed);\n const [collapsed, setCollapsed] = useState(() =>\n persistKey ? (saved[persistKey] ?? defaultCollapsed) : defaultCollapsed\n );\n const [mobileOpen, setMobileOpen] = useState(false);\n const id = useId();\n const renderPanel = (compact: boolean) => (typeof panel === 'function' ? panel({ collapsed: compact }) : panel);\n useEffect(() => {\n setMobileOpen(false);\n }, [navigationKey, wide]);\n const toggle = () => {\n const next = !collapsed;\n setCollapsed(next);\n if (persistKey) save(persistKey, next);\n };\n return (\n <Box\n sx={[\n { display: 'flex', alignItems: 'flex-start', gap: { xs: 0, md: 3 }, minWidth: 0 },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {wide && (\n <Box\n component=\"aside\"\n aria-label={title}\n sx={{\n width: collapsed ? collapsedWidth : width,\n height: height ?? `calc(100dvh - ${offset + 24}px)`,\n minHeight: 160,\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n position: 'sticky',\n top: offset,\n borderRight: 1,\n borderColor: 'divider',\n transition: theme.transitions.create('width', { duration: theme.transitions.duration.shorter }),\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n }}\n >\n <Box\n sx={{\n height: 48,\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n pr: 3,\n pl: 1.5,\n overflow: 'hidden',\n }}\n >\n {!collapsed && (\n <Typography component=\"div\" variant=\"subtitle2\" noWrap>\n {title}\n </Typography>\n )}\n </Box>\n <SidebarToggle\n collapsed={collapsed}\n labels={labels}\n onClick={toggle}\n aria-controls={id + '-desktop'}\n sx={{ top: 24 }}\n />\n <Scrollbar\n id={id + '-desktop'}\n hidden={collapsed && typeof panel !== 'function'}\n sx={{ flex: 1, overscrollBehavior: 'contain', px: collapsed ? 0.5 : 1.5, pb: 2 }}\n >\n {renderPanel(collapsed)}\n </Scrollbar>\n </Box>\n )}\n <Box sx={{ flex: '1 1 auto', minWidth: 0 }}>\n {!wide && (\n <Button\n onClick={() => setMobileOpen(true)}\n aria-haspopup=\"dialog\"\n aria-expanded={mobileOpen}\n sx={{ mb: 2 }}\n startIcon={<MenuIcon />}\n >\n {title}\n </Button>\n )}\n {children}\n </Box>\n {!wide && (\n <Drawer\n open={mobileOpen}\n onClose={() => setMobileOpen(false)}\n ModalProps={{ keepMounted: true }}\n slotProps={{\n paper: {\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': title,\n sx: { width: `min(${width + 32}px, calc(100vw - 32px))` },\n },\n }}\n >\n <Box sx={{ minHeight: 64, px: 2, display: 'flex', alignItems: 'center', gap: 1 }}>\n <Typography variant=\"subtitle1\" sx={{ flex: 1 }}>\n {title}\n </Typography>\n <IconButton onClick={() => setMobileOpen(false)} aria-label={labels.close}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </Box>\n <Scrollbar sx={{ flex: 1, px: 2, pb: 2 }}>{renderPanel(false)}</Scrollbar>\n </Drawer>\n )}\n </Box>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/layouts/sidebar-toggle.tsx","../src/layouts/panel-layout.tsx"],"names":["jsx","IconButton"],"mappings":"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","file":"chunk-KPY7TA4D.js","sourcesContent":["import { PanelExpandIcon, PanelCollapseIcon } from '../icons/controls.js';\nimport IconButton, { type IconButtonProps } from '@mui/material/IconButton';\nexport interface SidebarToggleProps extends Omit<IconButtonProps, 'children' | 'aria-label' | 'aria-expanded'> {\n collapsed: boolean;\n labels: { expand: string; collapse: string };\n}\n/** Shared edge control for the application sidebar and nested tool panels. */\nexport function SidebarToggle({ collapsed, labels, sx, ...props }: SidebarToggleProps) {\n return (\n <IconButton\n {...props}\n size=\"small\"\n aria-label={collapsed ? labels.expand : labels.collapse}\n aria-expanded={!collapsed}\n sx={[\n (theme) => ({\n position: 'absolute',\n top: 36,\n insetInlineEnd: 0,\n // Centre on the rail edge even when the host enlarges the hit target.\n // A logical inset and an unflipped custom value also work with RTL caches.\n '--prism-sidebar-toggle-shift': theme.direction === 'rtl' ? '-50%' : '50%',\n transform: 'translate(var(--prism-sidebar-toggle-shift), -50%)',\n width: 24,\n height: 24,\n bgcolor: 'background.paper',\n border: 1,\n borderColor: 'divider',\n boxShadow: 1,\n // Keep an opaque surface over the rail divider in every interactive state.\n '&:hover, &.Mui-focusVisible': {\n bgcolor: 'background.paper',\n backgroundImage: `linear-gradient(${(theme.vars ?? theme).palette.action.hover}, ${(theme.vars ?? theme).palette.action.hover})`,\n },\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {collapsed ? <PanelExpandIcon sx={{ fontSize: 18 }} /> : <PanelCollapseIcon sx={{ fontSize: 18 }} />}\n </IconButton>\n );\n}\n","import { MenuIcon, CloseIcon } from '../icons/controls.js';\nimport { useEffect, useId, useState, type ReactNode } from 'react';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Drawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useTheme, type SxProps, type Theme, type Breakpoint } from '@mui/material/styles';\nimport { Scrollbar } from '../components/scrollbar/scrollbar.js';\nimport { SidebarToggle } from './sidebar-toggle.js';\nimport { useSettingsStore } from '../state/stores/settings.js';\n\nexport interface PanelLayoutProps {\n children: ReactNode;\n /** Render a compact, actionable index while keeping the same component mounted. */\n panel: ReactNode | ((state: { collapsed: boolean }) => ReactNode);\n title: string;\n /** Translate all three action labels in the host application. */\n labels: { expand: string; collapse: string; close: string };\n /** Independent from the dashboard and other panels. */\n persistKey?: string;\n defaultCollapsed?: boolean;\n /** Close the mobile drawer when the host changes its active document/selection. */\n navigationKey?: string;\n width?: number;\n collapsedWidth?: number;\n /** Stable in both modes. A graph can use the same height as its canvas. */\n height?: number | string;\n layoutQuery?: Breakpoint;\n /** Top of the sticky panel below the application header. */\n offset?: number;\n sx?: SxProps<Theme>;\n}\n\n/** Secondary navigation: a collapsible desktop rail and an accessible mobile drawer.\n * Collapse hides, rather than destroys, panel content. The document/editor is never\n * reparented or remounted when either navigation panel changes state.\n */\nexport function PanelLayout({\n children,\n panel,\n title,\n labels,\n persistKey,\n defaultCollapsed = false,\n navigationKey,\n width = 264,\n collapsedWidth = 64,\n height,\n layoutQuery = 'md',\n offset = 88,\n sx,\n}: PanelLayoutProps) {\n const theme = useTheme();\n const wide = useMediaQuery(theme.breakpoints.up(layoutQuery));\n const saved = useSettingsStore((s) => s.sidebarCollapsed);\n const save = useSettingsStore((s) => s.setSidebarCollapsed);\n const [collapsed, setCollapsed] = useState(() =>\n persistKey ? (saved[persistKey] ?? defaultCollapsed) : defaultCollapsed\n );\n const [mobileOpen, setMobileOpen] = useState(false);\n const id = useId();\n const renderPanel = (compact: boolean) => (typeof panel === 'function' ? panel({ collapsed: compact }) : panel);\n useEffect(() => {\n setMobileOpen(false);\n }, [navigationKey, wide]);\n const toggle = () => {\n const next = !collapsed;\n setCollapsed(next);\n if (persistKey) save(persistKey, next);\n };\n return (\n <Box\n sx={[\n { display: 'flex', alignItems: 'flex-start', gap: { xs: 0, md: 3 }, minWidth: 0 },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {wide && (\n <Box\n component=\"aside\"\n aria-label={title}\n sx={{\n width: collapsed ? collapsedWidth : width,\n height: height ?? `calc(100dvh - ${offset + 24}px)`,\n minHeight: 160,\n display: 'flex',\n flexDirection: 'column',\n flexShrink: 0,\n position: 'sticky',\n top: offset,\n borderRight: 1,\n borderColor: 'divider',\n transition: theme.transitions.create('width', { duration: theme.transitions.duration.shorter }),\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n }}\n >\n <Box\n sx={{\n height: 48,\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n pr: 3,\n pl: 1.5,\n overflow: 'hidden',\n }}\n >\n {!collapsed && (\n <Typography component=\"div\" variant=\"subtitle2\" noWrap>\n {title}\n </Typography>\n )}\n </Box>\n <SidebarToggle\n collapsed={collapsed}\n labels={labels}\n onClick={toggle}\n aria-controls={id + '-desktop'}\n sx={{ top: 24 }}\n />\n <Scrollbar\n id={id + '-desktop'}\n hidden={collapsed && typeof panel !== 'function'}\n sx={{ flex: 1, overscrollBehavior: 'contain', px: collapsed ? 0.5 : 1.5, pb: 2 }}\n >\n {renderPanel(collapsed)}\n </Scrollbar>\n </Box>\n )}\n <Box sx={{ flex: '1 1 auto', minWidth: 0 }}>\n {!wide && (\n <Button\n onClick={() => setMobileOpen(true)}\n aria-haspopup=\"dialog\"\n aria-expanded={mobileOpen}\n sx={{ mb: 2 }}\n startIcon={<MenuIcon />}\n >\n {title}\n </Button>\n )}\n {children}\n </Box>\n {!wide && (\n <Drawer\n open={mobileOpen}\n onClose={() => setMobileOpen(false)}\n ModalProps={{ keepMounted: true }}\n slotProps={{\n paper: {\n role: 'dialog',\n 'aria-modal': true,\n 'aria-label': title,\n sx: { width: `min(${width + 32}px, calc(100vw - 32px))` },\n },\n }}\n >\n <Box sx={{ minHeight: 64, px: 2, display: 'flex', alignItems: 'center', gap: 1 }}>\n <Typography variant=\"subtitle1\" sx={{ flex: 1 }}>\n {title}\n </Typography>\n <IconButton onClick={() => setMobileOpen(false)} aria-label={labels.close}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </Box>\n <Scrollbar sx={{ flex: 1, px: 2, pb: 2 }}>{renderPanel(false)}</Scrollbar>\n </Drawer>\n )}\n </Box>\n );\n}\n"]}