@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,7 +1,11 @@
1
- import { ErrorBoundary, Field, EmptyContent, SearchInput } from '../chunk-GMIE6III.js';
2
- import { useBoolean } from '../chunk-BRDWQVRT.js';
3
- import '../chunk-PGHEP4JD.js';
4
- import '../chunk-BJE2AKD4.js';
1
+ "use client";
2
+ export { AuthGuard, GuestGuard, RoleBasedGuard, createConditionalRender, hasPermission, hasRole } from '../chunk-4HUGZJKU.js';
3
+ import { Field } from '../chunk-LFWKGNCX.js';
4
+ import { EmptyContent } from '../chunk-6IANOSMD.js';
5
+ import { ErrorBoundary } from '../chunk-I6DILPFE.js';
6
+ import { useBoolean } from '../chunk-4R7EZ7GQ.js';
7
+ import { CloseIcon } from '../chunk-VQVVHMPG.js';
8
+ import '../chunk-D5J3KW6Q.js';
5
9
  import { createContext, useContext, useCallback, useMemo, useState, useRef, useEffect } from 'react';
6
10
  import Box2 from '@mui/material/Box';
7
11
  import Paper from '@mui/material/Paper';
@@ -24,8 +28,9 @@ import MenuItem from '@mui/material/MenuItem';
24
28
  import ListItemIcon from '@mui/material/ListItemIcon';
25
29
  import ListItemText from '@mui/material/ListItemText';
26
30
  import Tooltip from '@mui/material/Tooltip';
31
+ import { useEventCallback } from '@mui/material/utils';
27
32
  import LinearProgress from '@mui/material/LinearProgress';
28
- import { DataGrid, GridToolbarContainer, GridToolbarColumnsButton, GridToolbarDensitySelector, GridToolbarExport } from '@mui/x-data-grid';
33
+ import { DataGrid, GridToolbarContainer, QuickFilter, QuickFilterControl, QuickFilterClear, GridToolbarColumnsButton, GridToolbarDensitySelector, GridToolbarExport } from '@mui/x-data-grid';
29
34
 
30
35
  var collapseNoop = () => {
31
36
  };
@@ -65,7 +70,7 @@ var sizeConfig = {
65
70
  }
66
71
  };
67
72
  function DashboardBlockHeader({ title, subtitle, icon, actions, sx }) {
68
- const { collapsed, toggleCollapse, variant, size, labels } = useDashboardBlockContext();
73
+ const { collapsible, collapsed, toggleCollapse, size, labels } = useDashboardBlockContext();
69
74
  const config = sizeConfig[size];
70
75
  return /* @__PURE__ */ jsxs(
71
76
  Box2,
@@ -130,7 +135,7 @@ function DashboardBlockHeader({ title, subtitle, icon, actions, sx }) {
130
135
  ] }),
131
136
  /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", alignItems: "center", gap: 0.5, flexShrink: 0 }, children: [
132
137
  actions,
133
- collapsed !== void 0 && /* @__PURE__ */ jsx(
138
+ collapsible && /* @__PURE__ */ jsx(
134
139
  IconButton2,
135
140
  {
136
141
  size: "small",
@@ -147,9 +152,9 @@ function DashboardBlockHeader({ title, subtitle, icon, actions, sx }) {
147
152
  );
148
153
  }
149
154
  function DashboardBlockContent({ children, disablePadding = false, sx }) {
150
- const { collapsed, loading, error, size } = useDashboardBlockContext();
155
+ const { size } = useDashboardBlockContext();
151
156
  const config = sizeConfig[size];
152
- return /* @__PURE__ */ jsx(Collapse, { in: !collapsed, timeout: "auto", children: /* @__PURE__ */ jsx(
157
+ return /* @__PURE__ */ jsx(
153
158
  Box2,
154
159
  {
155
160
  "data-testid": "prism-dashboard-block-content",
@@ -164,7 +169,7 @@ function DashboardBlockContent({ children, disablePadding = false, sx }) {
164
169
  ],
165
170
  children
166
171
  }
167
- ) });
172
+ );
168
173
  }
169
174
  function DashboardBlockFooter({ children, divider = true, sx }) {
170
175
  const { collapsed, size } = useDashboardBlockContext();
@@ -253,25 +258,18 @@ function DashboardBlock({
253
258
  const uncontrolledCollapse = useBoolean(defaultCollapsed);
254
259
  const isControlled = controlledCollapsed !== void 0;
255
260
  const collapsed = isControlled ? controlledCollapsed : uncontrolledCollapse.value;
256
- const handleToggleCollapse = useCallback(() => {
257
- if (isControlled) {
258
- onCollapseChange?.(!controlledCollapsed);
259
- } else {
260
- uncontrolledCollapse.onToggle();
261
- }
262
- }, [isControlled, controlledCollapsed, onCollapseChange, uncontrolledCollapse]);
263
261
  const handleSetCollapsed = useCallback(
264
262
  (value) => {
265
- if (isControlled) {
266
- onCollapseChange?.(value);
267
- } else {
268
- uncontrolledCollapse.setValue(value);
269
- }
263
+ if (!collapsible || value === collapsed) return;
264
+ if (!isControlled) uncontrolledCollapse.setValue(value);
265
+ onCollapseChange?.(value);
270
266
  },
271
- [isControlled, onCollapseChange, uncontrolledCollapse]
267
+ [collapsible, collapsed, isControlled, onCollapseChange, uncontrolledCollapse]
272
268
  );
269
+ const handleToggleCollapse = useCallback(() => handleSetCollapsed(!collapsed), [collapsed, handleSetCollapsed]);
273
270
  const contextValue = useMemo(
274
271
  () => ({
272
+ collapsible,
275
273
  collapsed: collapsible ? collapsed : false,
276
274
  toggleCollapse: collapsible ? handleToggleCollapse : collapseNoop,
277
275
  setCollapsed: collapsible ? handleSetCollapsed : collapseNoop,
@@ -314,7 +312,7 @@ function DashboardBlock({
314
312
  }
315
313
  ),
316
314
  title && /* @__PURE__ */ jsx(Divider, {}),
317
- /* @__PURE__ */ jsx(Box2, { "aria-live": "polite", "aria-busy": loading, children: catchErrors ? /* @__PURE__ */ jsx(
315
+ /* @__PURE__ */ jsx(Collapse, { in: !contextValue.collapsed, timeout: "auto", children: /* @__PURE__ */ jsx(Box2, { "aria-live": "polite", "aria-busy": loading, children: catchErrors ? /* @__PURE__ */ jsx(
318
316
  ErrorBoundary,
319
317
  {
320
318
  resetKeys: [loading, error, empty],
@@ -332,7 +330,7 @@ function DashboardBlock({
332
330
  ),
333
331
  children: body
334
332
  }
335
- ) : body }),
333
+ ) : body }) }),
336
334
  footer && !loading && !error && /* @__PURE__ */ jsx(DashboardBlockFooter, { divider: footerDivider, ...slotProps?.footer, children: footer })
337
335
  ]
338
336
  }
@@ -1115,142 +1113,6 @@ var AuthBlock = {
1115
1113
  ResetPassword: ResetPasswordForm,
1116
1114
  VerifyCode: VerifyCodeForm
1117
1115
  };
1118
- function AuthGuard({
1119
- children,
1120
- useAuth,
1121
- loadingComponent = null,
1122
- onUnauthenticated,
1123
- unauthenticatedComponent = null
1124
- }) {
1125
- const { isAuthenticated, isLoading } = useAuth();
1126
- const [checked, setChecked] = useState(false);
1127
- useEffect(() => {
1128
- if (!isLoading) {
1129
- if (!isAuthenticated) {
1130
- onUnauthenticated?.();
1131
- }
1132
- setChecked(true);
1133
- }
1134
- }, [isAuthenticated, isLoading, onUnauthenticated]);
1135
- if (isLoading || !checked) {
1136
- return loadingComponent;
1137
- }
1138
- if (!isAuthenticated) {
1139
- return unauthenticatedComponent;
1140
- }
1141
- return children;
1142
- }
1143
- function GuestGuard({
1144
- children,
1145
- useAuth,
1146
- loadingComponent = null,
1147
- onAuthenticated,
1148
- authenticatedComponent = null
1149
- }) {
1150
- const { isAuthenticated, isLoading } = useAuth();
1151
- const [checked, setChecked] = useState(false);
1152
- useEffect(() => {
1153
- if (!isLoading) {
1154
- if (isAuthenticated) {
1155
- onAuthenticated?.();
1156
- }
1157
- setChecked(true);
1158
- }
1159
- }, [isAuthenticated, isLoading, onAuthenticated]);
1160
- if (isLoading || !checked) {
1161
- return loadingComponent;
1162
- }
1163
- if (isAuthenticated) {
1164
- return authenticatedComponent;
1165
- }
1166
- return children;
1167
- }
1168
- function RoleBasedGuard({
1169
- children,
1170
- useAuth,
1171
- roles = [],
1172
- permissions = [],
1173
- requireEmailVerified = false,
1174
- roleMatchStrategy = "any",
1175
- loadingComponent = null,
1176
- onAccessDenied,
1177
- accessDeniedComponent = null
1178
- }) {
1179
- const { isAuthenticated, isLoading, user } = useAuth();
1180
- const [checked, setChecked] = useState(false);
1181
- const [accessGranted, setAccessGranted] = useState(false);
1182
- useEffect(() => {
1183
- if (!isLoading) {
1184
- if (!isAuthenticated || !user) {
1185
- onAccessDenied?.("not_authenticated");
1186
- setAccessGranted(false);
1187
- setChecked(true);
1188
- return;
1189
- }
1190
- if (requireEmailVerified && !user.emailVerified) {
1191
- onAccessDenied?.("email_not_verified");
1192
- setAccessGranted(false);
1193
- setChecked(true);
1194
- return;
1195
- }
1196
- if (roles.length > 0) {
1197
- const userRoles = user.roles ?? [];
1198
- const hasRequiredRole = roleMatchStrategy === "all" ? roles.every((role) => userRoles.includes(role)) : roles.some((role) => userRoles.includes(role));
1199
- if (!hasRequiredRole) {
1200
- onAccessDenied?.("missing_role");
1201
- setAccessGranted(false);
1202
- setChecked(true);
1203
- return;
1204
- }
1205
- }
1206
- if (permissions.length > 0) {
1207
- const userPermissions = user.permissions ?? [];
1208
- const hasAllPermissions = permissions.every((perm) => userPermissions.includes(perm));
1209
- if (!hasAllPermissions) {
1210
- onAccessDenied?.("missing_permission");
1211
- setAccessGranted(false);
1212
- setChecked(true);
1213
- return;
1214
- }
1215
- }
1216
- setAccessGranted(true);
1217
- setChecked(true);
1218
- }
1219
- }, [isAuthenticated, isLoading, user, roles, permissions, requireEmailVerified, roleMatchStrategy, onAccessDenied]);
1220
- if (isLoading || !checked) {
1221
- return loadingComponent;
1222
- }
1223
- if (!accessGranted) {
1224
- return accessDeniedComponent;
1225
- }
1226
- return children;
1227
- }
1228
- function hasRole(user, role, strategy = "any") {
1229
- if (!user?.roles?.length) return false;
1230
- const roles = Array.isArray(role) ? role : [role];
1231
- if (roles.length === 0) return false;
1232
- return strategy === "all" ? roles.every((r) => user.roles.includes(r)) : roles.some((r) => user.roles.includes(r));
1233
- }
1234
- function hasPermission(user, permission, strategy = "all") {
1235
- if (!user?.permissions?.length) return false;
1236
- const permissions = Array.isArray(permission) ? permission : [permission];
1237
- if (permissions.length === 0) return false;
1238
- return strategy === "all" ? permissions.every((p) => user.permissions.includes(p)) : permissions.some((p) => user.permissions.includes(p));
1239
- }
1240
- function createConditionalRender(user) {
1241
- return {
1242
- canRender: (options) => {
1243
- const { roles = [], permissions = [], roleMatchStrategy = "any" } = options;
1244
- if (roles.length > 0 && !hasRole(user, roles, roleMatchStrategy)) {
1245
- return false;
1246
- }
1247
- if (permissions.length > 0 && !hasPermission(user, permissions, "all")) {
1248
- return false;
1249
- }
1250
- return true;
1251
- }
1252
- };
1253
- }
1254
1116
  var DataGridBlockContext = createContext(null);
1255
1117
  function useDataGridBlockContext() {
1256
1118
  const context = useContext(DataGridBlockContext);
@@ -1304,36 +1166,12 @@ function EmptyIcon() {
1304
1166
  }
1305
1167
  );
1306
1168
  }
1307
- function CustomToolbar({
1308
- quickFilter,
1309
- exportConfig,
1310
- showColumnSelector = true,
1311
- showDensitySelector = true,
1312
- startContent,
1313
- endContent,
1314
- actions,
1315
- onQuickFilterChange
1316
- }) {
1317
- const [searchValue, setSearchValue] = useState("");
1318
- const debounceRef = useRef(null);
1319
- useEffect(
1320
- () => () => {
1321
- if (debounceRef.current) clearTimeout(debounceRef.current);
1322
- },
1323
- []
1324
- );
1325
- const handleSearchChange = useCallback(
1326
- (value) => {
1327
- setSearchValue(value);
1328
- if (debounceRef.current) {
1329
- clearTimeout(debounceRef.current);
1330
- }
1331
- debounceRef.current = setTimeout(() => {
1332
- onQuickFilterChange?.(value);
1333
- }, quickFilter?.debounceMs ?? 300);
1334
- },
1335
- [onQuickFilterChange, quickFilter?.debounceMs]
1336
- );
1169
+ function CustomToolbar() {
1170
+ const { toolbar } = useDataGridBlockContext();
1171
+ const { quickFilter, export: exportConfig, actions, startContent, endContent } = toolbar ?? {};
1172
+ const showColumnSelector = toolbar?.columnVisibility?.enabled !== false;
1173
+ const showDensitySelector = toolbar?.densitySelector !== false;
1174
+ const placeholder = quickFilter?.placeholder ?? "Search...";
1337
1175
  return /* @__PURE__ */ jsxs(
1338
1176
  GridToolbarContainer,
1339
1177
  {
@@ -1345,16 +1183,24 @@ function CustomToolbar({
1345
1183
  },
1346
1184
  children: [
1347
1185
  startContent,
1348
- quickFilter?.enabled !== false && /* @__PURE__ */ jsx(
1349
- SearchInput,
1350
- {
1351
- value: searchValue,
1352
- onChange: handleSearchChange,
1353
- placeholder: quickFilter?.placeholder ?? "Search...",
1354
- fullWidth: false,
1355
- minWidth: 200
1356
- }
1357
- ),
1186
+ quickFilter?.enabled !== false && /* @__PURE__ */ jsxs(QuickFilter, { "data-keyboard-search": true, expanded: true, debounceMs: quickFilter?.debounceMs ?? 300, children: [
1187
+ /* @__PURE__ */ jsx(
1188
+ QuickFilterControl,
1189
+ {
1190
+ placeholder,
1191
+ size: "small",
1192
+ slotProps: { htmlInput: { role: "searchbox", "aria-label": placeholder } }
1193
+ }
1194
+ ),
1195
+ /* @__PURE__ */ jsx(
1196
+ QuickFilterClear,
1197
+ {
1198
+ "aria-label": "Clear search",
1199
+ size: "small",
1200
+ render: (props, state) => state.value ? /* @__PURE__ */ jsx(IconButton2, { ...props, children: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" }) }) : /* @__PURE__ */ jsx("span", {})
1201
+ }
1202
+ )
1203
+ ] }),
1358
1204
  /* @__PURE__ */ jsx(Box2, { sx: { flex: 1 } }),
1359
1205
  showColumnSelector && /* @__PURE__ */ jsx(GridToolbarColumnsButton, {}),
1360
1206
  showDensitySelector && /* @__PURE__ */ jsx(GridToolbarDensitySelector, {}),
@@ -1562,7 +1408,6 @@ function DataGridBlock({
1562
1408
  type: "include",
1563
1409
  ids: /* @__PURE__ */ new Set()
1564
1410
  });
1565
- const [quickFilterValue, setQuickFilterValue] = useState("");
1566
1411
  const paginationModel = controlledPaginationModel ?? internalPaginationModel;
1567
1412
  const sortModel = controlledSortModel ?? internalSortModel;
1568
1413
  const filterModel = controlledFilterModel ?? internalFilterModel;
@@ -1625,31 +1470,14 @@ function DataGridBlock({
1625
1470
  error,
1626
1471
  density,
1627
1472
  setDensity,
1473
+ toolbar,
1628
1474
  rowCount: rows.length,
1629
1475
  selectedCount: selectionModelValue.ids.size,
1630
1476
  refresh: onRetry
1631
1477
  }),
1632
- [loading, error, density, rows.length, selectionModelValue, onRetry]
1478
+ [loading, error, density, rows.length, selectionModelValue, onRetry, toolbar]
1633
1479
  );
1634
- const rowCount = pagination?.mode === "server" ? pagination.rowCount ?? 0 : rows.length;
1635
- const toolbarSlot = useMemo(() => {
1636
- if (toolbar?.show === false) {
1637
- return void 0;
1638
- }
1639
- return () => /* @__PURE__ */ jsx(
1640
- CustomToolbar,
1641
- {
1642
- quickFilter: toolbar?.quickFilter,
1643
- exportConfig: toolbar?.export,
1644
- showColumnSelector: toolbar?.columnVisibility?.enabled !== false,
1645
- showDensitySelector: toolbar?.densitySelector !== false,
1646
- startContent: toolbar?.startContent,
1647
- endContent: toolbar?.endContent,
1648
- actions: toolbar?.actions,
1649
- onQuickFilterChange: setQuickFilterValue
1650
- }
1651
- );
1652
- }, [toolbar]);
1480
+ const rowCount = pagination?.mode === "server" ? pagination.rowCount ?? 0 : void 0;
1653
1481
  const noRowsOverlay = useMemo(() => {
1654
1482
  if (error) {
1655
1483
  return () => /* @__PURE__ */ jsx(ErrorState2, { message: errorMessage, onRetry });
@@ -1684,6 +1512,8 @@ function DataGridBlock({
1684
1512
  columns: finalColumns,
1685
1513
  loading,
1686
1514
  density,
1515
+ onDensityChange: setDensity,
1516
+ showToolbar: toolbar?.show !== false,
1687
1517
  autoHeight,
1688
1518
  rowHeight,
1689
1519
  getRowId,
@@ -1700,6 +1530,7 @@ function DataGridBlock({
1700
1530
  filterMode: pagination?.mode === "server" ? "server" : "client",
1701
1531
  filterModel,
1702
1532
  onFilterModelChange: handleFilterChange,
1533
+ rowSelection: selection?.enabled ?? true,
1703
1534
  checkboxSelection: selection?.checkboxSelection ?? false,
1704
1535
  rowSelectionModel: selectionModelValue,
1705
1536
  onRowSelectionModelChange: handleSelectionChange,
@@ -1714,7 +1545,7 @@ function DataGridBlock({
1714
1545
  disableVirtualization,
1715
1546
  hideFooter: hideFooter || pagination?.hide,
1716
1547
  slots: {
1717
- toolbar: toolbarSlot,
1548
+ toolbar: CustomToolbar,
1718
1549
  noRowsOverlay,
1719
1550
  loadingOverlay: () => /* @__PURE__ */ jsx(LinearProgress, { sx: { position: "absolute", top: 0, left: 0, right: 0 } }),
1720
1551
  ...slots
@@ -1725,9 +1556,6 @@ function DataGridBlock({
1725
1556
  "& .MuiDataGrid-columnHeaders": {
1726
1557
  bgcolor: "action.hover"
1727
1558
  },
1728
- "& .MuiDataGrid-cell:focus": {
1729
- outline: "none"
1730
- },
1731
1559
  "& .MuiDataGrid-row:hover": {
1732
1560
  bgcolor: "action.hover"
1733
1561
  }
@@ -1756,37 +1584,35 @@ function useDataGridBlock(options) {
1756
1584
  });
1757
1585
  const [sortModel, setSortModel] = useState(initialSortModel);
1758
1586
  const [filterModel, setFilterModel] = useState(initialFilterModel);
1759
- const isMountedRef = useRef(true);
1760
1587
  const abortControllerRef = useRef(null);
1761
- const fetchData = useCallback(
1762
- async (params) => {
1763
- if (abortControllerRef.current) {
1764
- abortControllerRef.current.abort();
1588
+ const fetchData = useEventCallback(async (params) => {
1589
+ if (abortControllerRef.current) {
1590
+ abortControllerRef.current.abort();
1591
+ }
1592
+ const controller = new AbortController();
1593
+ abortControllerRef.current = controller;
1594
+ setLoading(true);
1595
+ setError(null);
1596
+ try {
1597
+ const result = await fetcher({ ...params, quickFilterValue: params.filterModel.quickFilterValues?.join(" "), signal: controller.signal });
1598
+ if (!controller.signal.aborted) {
1599
+ setRows(result.rows);
1600
+ setTotal(result.total);
1765
1601
  }
1766
- abortControllerRef.current = new AbortController();
1767
- setLoading(true);
1768
- setError(null);
1769
- try {
1770
- const result = await fetcher(params);
1771
- if (isMountedRef.current) {
1772
- setRows(result.rows);
1773
- setTotal(result.total);
1774
- }
1775
- } catch (err) {
1776
- if (isMountedRef.current && err instanceof Error && err.name !== "AbortError") {
1777
- setError(err);
1778
- if (!keepPreviousData) {
1779
- setRows([]);
1780
- }
1781
- }
1782
- } finally {
1783
- if (isMountedRef.current) {
1784
- setLoading(false);
1602
+ } catch (err) {
1603
+ if (!controller.signal.aborted && err instanceof Error && err.name !== "AbortError") {
1604
+ setError(err);
1605
+ if (!keepPreviousData) {
1606
+ setRows([]);
1607
+ setTotal(0);
1785
1608
  }
1786
1609
  }
1787
- },
1788
- [fetcher, keepPreviousData]
1789
- );
1610
+ } finally {
1611
+ if (!controller.signal.aborted) {
1612
+ setLoading(false);
1613
+ }
1614
+ }
1615
+ });
1790
1616
  const refresh = useCallback(() => {
1791
1617
  fetchData({
1792
1618
  page: paginationModel.page,
@@ -1812,7 +1638,6 @@ function useDataGridBlock(options) {
1812
1638
  }, [fetchData, paginationModel, sortModel, filterModel, autoFetch]);
1813
1639
  useEffect(
1814
1640
  () => () => {
1815
- isMountedRef.current = false;
1816
1641
  if (abortControllerRef.current) {
1817
1642
  abortControllerRef.current.abort();
1818
1643
  }
@@ -1846,6 +1671,6 @@ function useDataGridBlock(options) {
1846
1671
  };
1847
1672
  }
1848
1673
 
1849
- export { AuthBlock, AuthGuard, DashboardBlock, DashboardBlockContent, DashboardBlockFooter, DashboardBlockHeader, DataGridBlock, ForgotPasswordForm, GuestGuard, LoginForm, RegisterForm, ResetPasswordForm, RoleBasedGuard, VerifyCodeForm, createConditionalRender, hasPermission, hasRole, useDashboardBlock, useDashboardBlockContext, useDataGridBlock, useDataGridBlockContext };
1674
+ export { AuthBlock, DashboardBlock, DashboardBlockContent, DashboardBlockFooter, DashboardBlockHeader, DataGridBlock, ForgotPasswordForm, LoginForm, RegisterForm, ResetPasswordForm, VerifyCodeForm, useDashboardBlock, useDashboardBlockContext, useDataGridBlock, useDataGridBlockContext };
1850
1675
  //# sourceMappingURL=index.js.map
1851
1676
  //# sourceMappingURL=index.js.map