@omnitron-dev/prism 0.3.0 → 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 (413) hide show
  1. package/README.md +216 -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 -253
  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-WFD54GQQ.js → chunk-2E67PQ4T.js} +14 -573
  24. package/dist/chunk-2E67PQ4T.js.map +1 -0
  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-3VSM7NZG.js +562 -0
  34. package/dist/chunk-3VSM7NZG.js.map +1 -0
  35. package/dist/chunk-4B2LTPK2.js +826 -0
  36. package/dist/chunk-4B2LTPK2.js.map +1 -0
  37. package/dist/chunk-4HUGZJKU.js +108 -0
  38. package/dist/chunk-4HUGZJKU.js.map +1 -0
  39. package/dist/chunk-4Q5L7LDG.js +74 -0
  40. package/dist/chunk-4Q5L7LDG.js.map +1 -0
  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-7ATBURW2.js +206 -0
  46. package/dist/chunk-7ATBURW2.js.map +1 -0
  47. package/dist/{chunk-6AHI4GSV.js → chunk-AATAOOSF.js} +4 -3
  48. package/dist/chunk-AATAOOSF.js.map +1 -0
  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-YQW43BDH.js → chunk-D4GFAJAZ.js} +1168 -6354
  54. package/dist/chunk-D4GFAJAZ.js.map +1 -0
  55. package/dist/chunk-D5J3KW6Q.js +106 -0
  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-S6SEGBX6.js → chunk-DHTYHUYI.js} +85 -107
  60. package/dist/chunk-DHTYHUYI.js.map +1 -0
  61. package/dist/chunk-E7WM2RXA.js +249 -0
  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-IRYU3NTG.js +573 -0
  72. package/dist/chunk-IRYU3NTG.js.map +1 -0
  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-KPY7TA4D.js +191 -0
  78. package/dist/chunk-KPY7TA4D.js.map +1 -0
  79. package/dist/{chunk-OBJ244BO.js → chunk-LFWKGNCX.js} +50 -656
  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-AYYFMTMI.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-Z5OSPAOC.js → chunk-NSNM53WI.js} +196 -175
  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-Q6JDNFSG.js +303 -0
  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-ZTATTUH7.js → chunk-RSWVYIXK.js} +282 -683
  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-TJ7DHXUX.js.map +1 -0
  107. package/dist/chunk-TZHWYT34.js +590 -0
  108. package/dist/chunk-TZHWYT34.js.map +1 -0
  109. package/dist/chunk-TZWHELY4.js +45 -0
  110. package/dist/chunk-TZWHELY4.js.map +1 -0
  111. package/dist/{chunk-BZOL7GMU.js → chunk-UEINJFLS.js} +7 -7
  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-VQVVHMPG.js +106 -0
  118. package/dist/chunk-VQVVHMPG.js.map +1 -0
  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 +66 -423
  136. package/dist/cli/index.js.map +1 -1
  137. package/dist/components/accordion/accordion.d.ts.map +1 -1
  138. package/dist/components/admin-filters/admin-data-table.d.ts +7 -1
  139. package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -1
  140. package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -1
  141. package/dist/components/admin-filters/index.js +8 -0
  142. package/dist/components/admin-filters/index.js.map +1 -0
  143. package/dist/components/alert/alert.d.ts.map +1 -1
  144. package/dist/components/alert/index.js +5 -0
  145. package/dist/components/alert/index.js.map +1 -0
  146. package/dist/components/animate/index.js +5 -0
  147. package/dist/components/animate/index.js.map +1 -0
  148. package/dist/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  149. package/dist/components/breadcrumbs/index.js +4 -0
  150. package/dist/components/breadcrumbs/index.js.map +1 -0
  151. package/dist/components/card/index.js +4 -0
  152. package/dist/components/card/index.js.map +1 -0
  153. package/dist/components/chart/chart.d.ts.map +1 -1
  154. package/dist/components/chart/index.css +52 -0
  155. package/dist/components/chart/index.css.map +1 -0
  156. package/dist/components/chart/index.js +5 -0
  157. package/dist/components/chart/index.js.map +1 -0
  158. package/dist/components/chart/types.d.ts +3 -1
  159. package/dist/components/chart/types.d.ts.map +1 -1
  160. package/dist/components/chart/use-chart.d.ts.map +1 -1
  161. package/dist/components/command-palette/command-palette.d.ts +3 -1
  162. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  163. package/dist/components/command-palette/index.js +4 -0
  164. package/dist/components/command-palette/index.js.map +1 -0
  165. package/dist/components/confirm-dialog/index.js +4 -0
  166. package/dist/components/confirm-dialog/index.js.map +1 -0
  167. package/dist/components/date-input/date-input.d.ts +28 -0
  168. package/dist/components/date-input/date-input.d.ts.map +1 -0
  169. package/dist/components/date-input/index.d.ts +3 -0
  170. package/dist/components/date-input/index.d.ts.map +1 -0
  171. package/dist/components/date-input/value.d.ts +9 -0
  172. package/dist/components/date-input/value.d.ts.map +1 -0
  173. package/dist/components/doc-layout/doc-sidebar.d.ts +4 -1
  174. package/dist/components/doc-layout/doc-sidebar.d.ts.map +1 -1
  175. package/dist/components/doc-layout/index.js +7 -0
  176. package/dist/components/doc-layout/index.js.map +1 -0
  177. package/dist/components/editor/editor.d.ts.map +1 -1
  178. package/dist/components/editor/icons/index.d.ts +32 -40
  179. package/dist/components/editor/icons/index.d.ts.map +1 -1
  180. package/dist/components/editor/index.js +4 -1
  181. package/dist/components/editor/index.js.map +1 -1
  182. package/dist/components/emoji-picker/index.js +2 -1
  183. package/dist/components/emoji-picker/index.js.map +1 -1
  184. package/dist/components/empty-content/empty-content.d.ts.map +1 -1
  185. package/dist/components/empty-content/index.js +4 -0
  186. package/dist/components/empty-content/index.js.map +1 -0
  187. package/dist/components/error-boundary/error-boundary.d.ts.map +1 -1
  188. package/dist/components/error-boundary/index.js +6 -0
  189. package/dist/components/error-boundary/index.js.map +1 -0
  190. package/dist/components/index.css +17 -10
  191. package/dist/components/index.css.map +1 -1
  192. package/dist/components/index.d.ts +5 -4
  193. package/dist/components/index.d.ts.map +1 -1
  194. package/dist/components/index.js +47 -11
  195. package/dist/components/index.js.map +1 -1
  196. package/dist/components/knowledge-graph/edge-labels.d.ts +14 -0
  197. package/dist/components/knowledge-graph/edge-labels.d.ts.map +1 -0
  198. package/dist/components/knowledge-graph/graph.d.ts +56 -0
  199. package/dist/components/knowledge-graph/graph.d.ts.map +1 -0
  200. package/dist/components/knowledge-graph/index.css +176 -0
  201. package/dist/components/knowledge-graph/index.css.map +1 -0
  202. package/dist/components/knowledge-graph/index.d.ts +3 -0
  203. package/dist/components/knowledge-graph/index.d.ts.map +1 -0
  204. package/dist/components/knowledge-graph/index.js +797 -0
  205. package/dist/components/knowledge-graph/index.js.map +1 -0
  206. package/dist/components/knowledge-graph/label-layout.d.ts +28 -0
  207. package/dist/components/knowledge-graph/label-layout.d.ts.map +1 -0
  208. package/dist/components/knowledge-graph/label-store.d.ts +15 -0
  209. package/dist/components/knowledge-graph/label-store.d.ts.map +1 -0
  210. package/dist/components/knowledge-graph/model.d.ts +92 -0
  211. package/dist/components/knowledge-graph/model.d.ts.map +1 -0
  212. package/dist/components/label/index.js +5 -0
  213. package/dist/components/label/index.js.map +1 -0
  214. package/dist/components/label/label.d.ts.map +1 -1
  215. package/dist/components/lightbox/lightbox.d.ts.map +1 -1
  216. package/dist/components/loading-screen/index.js +4 -0
  217. package/dist/components/loading-screen/index.js.map +1 -0
  218. package/dist/components/map/Map.d.ts +19 -43
  219. package/dist/components/map/Map.d.ts.map +1 -1
  220. package/dist/components/map/MapCoverageLayer.d.ts +1 -1
  221. package/dist/components/map/MapCoverageLayer.d.ts.map +1 -1
  222. package/dist/components/map/MapMarker.d.ts +1 -1
  223. package/dist/components/map/MapMarker.d.ts.map +1 -1
  224. package/dist/components/map/MapPlaceSearch.d.ts +33 -0
  225. package/dist/components/map/MapPlaceSearch.d.ts.map +1 -0
  226. package/dist/components/map/MapPointPicker.d.ts +21 -12
  227. package/dist/components/map/MapPointPicker.d.ts.map +1 -1
  228. package/dist/components/map/coordinates.d.ts +10 -0
  229. package/dist/components/map/coordinates.d.ts.map +1 -0
  230. package/dist/components/map/index.css +4 -0
  231. package/dist/components/map/index.css.map +1 -0
  232. package/dist/components/map/index.d.ts +7 -2
  233. package/dist/components/map/index.d.ts.map +1 -1
  234. package/dist/components/map/index.js +4 -0
  235. package/dist/components/map/index.js.map +1 -0
  236. package/dist/components/nav-card/nav-card.d.ts.map +1 -1
  237. package/dist/components/navigation-progress/index.js +4 -0
  238. package/dist/components/navigation-progress/index.js.map +1 -0
  239. package/dist/components/page-content/index.js +4 -0
  240. package/dist/components/page-content/index.js.map +1 -0
  241. package/dist/components/popover/index.js +4 -0
  242. package/dist/components/popover/index.js.map +1 -0
  243. package/dist/components/rail/rail.d.ts.map +1 -1
  244. package/dist/components/research/diagram-image.d.ts +11 -0
  245. package/dist/components/research/diagram-image.d.ts.map +1 -0
  246. package/dist/components/research/diagram.d.ts +8 -0
  247. package/dist/components/research/diagram.d.ts.map +1 -0
  248. package/dist/components/research/document.d.ts +33 -0
  249. package/dist/components/research/document.d.ts.map +1 -0
  250. package/dist/components/research/frontmatter.d.ts +15 -0
  251. package/dist/components/research/frontmatter.d.ts.map +1 -0
  252. package/dist/components/research/index.css +51 -0
  253. package/dist/components/research/index.css.map +1 -0
  254. package/dist/components/research/index.d.ts +3 -0
  255. package/dist/components/research/index.d.ts.map +1 -0
  256. package/dist/components/research/index.js +8 -0
  257. package/dist/components/research/index.js.map +1 -0
  258. package/dist/components/research/parse.d.ts +29 -0
  259. package/dist/components/research/parse.d.ts.map +1 -0
  260. package/dist/components/research-editor/block-commands.d.ts +20 -0
  261. package/dist/components/research-editor/block-commands.d.ts.map +1 -0
  262. package/dist/components/research-editor/block-controls.d.ts +13 -0
  263. package/dist/components/research-editor/block-controls.d.ts.map +1 -0
  264. package/dist/components/research-editor/editor.d.ts +75 -0
  265. package/dist/components/research-editor/editor.d.ts.map +1 -0
  266. package/dist/components/research-editor/extensions.d.ts +14 -0
  267. package/dist/components/research-editor/extensions.d.ts.map +1 -0
  268. package/dist/components/research-editor/index.css +332 -0
  269. package/dist/components/research-editor/index.css.map +1 -0
  270. package/dist/components/research-editor/index.d.ts +5 -0
  271. package/dist/components/research-editor/index.d.ts.map +1 -0
  272. package/dist/components/research-editor/index.js +1593 -0
  273. package/dist/components/research-editor/index.js.map +1 -0
  274. package/dist/components/research-editor/math-input.d.ts +32 -0
  275. package/dist/components/research-editor/math-input.d.ts.map +1 -0
  276. package/dist/components/research-editor/math-markup.d.ts +4 -0
  277. package/dist/components/research-editor/math-markup.d.ts.map +1 -0
  278. package/dist/components/research-editor/math-navigation.d.ts +6 -0
  279. package/dist/components/research-editor/math-navigation.d.ts.map +1 -0
  280. package/dist/components/research-editor/math-node.d.ts +11 -0
  281. package/dist/components/research-editor/math-node.d.ts.map +1 -0
  282. package/dist/components/research-editor/source.d.ts +19 -0
  283. package/dist/components/research-editor/source.d.ts.map +1 -0
  284. package/dist/components/scroll-to-top/index.js +4 -0
  285. package/dist/components/scroll-to-top/index.js.map +1 -0
  286. package/dist/components/scrollbar/scrollbar.d.ts +4 -2
  287. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -1
  288. package/dist/components/search-input/index.js +7 -0
  289. package/dist/components/search-input/index.js.map +1 -0
  290. package/dist/components/search-input/search-input.d.ts +3 -11
  291. package/dist/components/search-input/search-input.d.ts.map +1 -1
  292. package/dist/components/skeleton/index.js +4 -0
  293. package/dist/components/skeleton/index.js.map +1 -0
  294. package/dist/components/snackbar/index.js +6 -0
  295. package/dist/components/snackbar/index.js.map +1 -0
  296. package/dist/components/stepper/index.js +4 -0
  297. package/dist/components/stepper/index.js.map +1 -0
  298. package/dist/components/table/index.d.ts +1 -0
  299. package/dist/components/table/index.d.ts.map +1 -1
  300. package/dist/components/table/index.js +5 -0
  301. package/dist/components/table/index.js.map +1 -0
  302. package/dist/components/table/table-viewport.d.ts +13 -0
  303. package/dist/components/table/table-viewport.d.ts.map +1 -0
  304. package/dist/components/table/table.d.ts +3 -1
  305. package/dist/components/table/table.d.ts.map +1 -1
  306. package/dist/components/tabs/index.js +6 -0
  307. package/dist/components/tabs/index.js.map +1 -0
  308. package/dist/components/tabs/tabs.d.ts +12 -1
  309. package/dist/components/tabs/tabs.d.ts.map +1 -1
  310. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts +4 -3
  311. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts.map +1 -1
  312. package/dist/core/index.d.ts +1 -1
  313. package/dist/core/index.d.ts.map +1 -1
  314. package/dist/core/index.js +12 -6
  315. package/dist/core/index.js.map +1 -1
  316. package/dist/core/provider.d.ts +7 -2
  317. package/dist/core/provider.d.ts.map +1 -1
  318. package/dist/forms/index.js +2 -0
  319. package/dist/forms/index.js.map +1 -1
  320. package/dist/forms/schema-provider.d.ts +3 -3
  321. package/dist/forms/schema-utils.d.ts +3 -3
  322. package/dist/hooks/index.js +14 -8
  323. package/dist/hooks/index.js.map +1 -1
  324. package/dist/hooks/use-config-from-query.d.ts +2 -0
  325. package/dist/hooks/use-config-from-query.d.ts.map +1 -1
  326. package/dist/hooks/use-image-dimensions.d.ts.map +1 -1
  327. package/dist/hooks/use-keyboard-shortcut.d.ts.map +1 -1
  328. package/dist/hooks/use-scroll-position.d.ts.map +1 -1
  329. package/dist/hooks/use-window-size.d.ts.map +1 -1
  330. package/dist/icons/context.d.ts +17 -0
  331. package/dist/icons/context.d.ts.map +1 -0
  332. package/dist/icons/controls.d.ts +51 -0
  333. package/dist/icons/controls.d.ts.map +1 -0
  334. package/dist/icons/index.d.ts +3 -0
  335. package/dist/icons/index.d.ts.map +1 -0
  336. package/dist/icons/index.js +5 -0
  337. package/dist/icons/index.js.map +1 -0
  338. package/dist/icons/theme.d.ts +4 -0
  339. package/dist/icons/theme.d.ts.map +1 -0
  340. package/dist/index.css +17 -10
  341. package/dist/index.css.map +1 -1
  342. package/dist/index.js +57 -20
  343. package/dist/index.js.map +1 -1
  344. package/dist/internal/research-parser.js +3 -0
  345. package/dist/internal/research-parser.js.map +1 -0
  346. package/dist/layouts/core/header-section.d.ts +1 -0
  347. package/dist/layouts/core/header-section.d.ts.map +1 -1
  348. package/dist/layouts/dashboard/labels.d.ts +12 -0
  349. package/dist/layouts/dashboard/labels.d.ts.map +1 -0
  350. package/dist/layouts/dashboard/layout.d.ts +9 -1
  351. package/dist/layouts/dashboard/layout.d.ts.map +1 -1
  352. package/dist/layouts/dashboard/sidenav.d.ts +7 -3
  353. package/dist/layouts/dashboard/sidenav.d.ts.map +1 -1
  354. package/dist/layouts/index.d.ts +5 -0
  355. package/dist/layouts/index.d.ts.map +1 -1
  356. package/dist/layouts/index.js +9 -3
  357. package/dist/layouts/index.js.map +1 -1
  358. package/dist/layouts/panel-layout.d.ts +35 -0
  359. package/dist/layouts/panel-layout.d.ts.map +1 -0
  360. package/dist/layouts/sidebar-toggle.d.ts +11 -0
  361. package/dist/layouts/sidebar-toggle.d.ts.map +1 -0
  362. package/dist/netron/index.js +2 -1
  363. package/dist/netron/index.js.map +1 -1
  364. package/dist/registry/index.js +1 -1
  365. package/dist/state/create-store.d.ts.map +1 -1
  366. package/dist/state/index.js +3 -2
  367. package/dist/state/index.js.map +1 -1
  368. package/dist/state/settings-version.d.ts.map +1 -1
  369. package/dist/state/stores/auth.d.ts +4 -16
  370. package/dist/state/stores/auth.d.ts.map +1 -1
  371. package/dist/state/stores/ui.d.ts +7 -105
  372. package/dist/state/stores/ui.d.ts.map +1 -1
  373. package/dist/theme/components/Button.d.ts.map +1 -1
  374. package/dist/theme/components/Chip.d.ts.map +1 -1
  375. package/dist/theme/components/Dialog.d.ts.map +1 -1
  376. package/dist/theme/components/FormControls.d.ts +3 -12
  377. package/dist/theme/components/FormControls.d.ts.map +1 -1
  378. package/dist/theme/components/TextField.d.ts.map +1 -1
  379. package/dist/theme/components/index.d.ts.map +1 -1
  380. package/dist/theme/components/theme-utils.d.ts +2 -2
  381. package/dist/theme/components/theme-utils.d.ts.map +1 -1
  382. package/dist/theme/create-theme.d.ts +5 -17
  383. package/dist/theme/create-theme.d.ts.map +1 -1
  384. package/dist/theme/index.js +8 -2
  385. package/dist/theme/index.js.map +1 -1
  386. package/dist/theme/mixins.d.ts +3 -1
  387. package/dist/theme/mixins.d.ts.map +1 -1
  388. package/dist/theme/palette/overrides.d.ts +24 -0
  389. package/dist/theme/palette/overrides.d.ts.map +1 -0
  390. package/dist/theme/semantic-surface.d.ts +8 -0
  391. package/dist/theme/semantic-surface.d.ts.map +1 -0
  392. package/dist/types/index.js +2 -2
  393. package/dist/ui/index.d.ts +18 -0
  394. package/dist/ui/index.d.ts.map +1 -0
  395. package/dist/ui/index.js +149 -0
  396. package/dist/ui/index.js.map +1 -0
  397. package/dist/utils/async-lock.d.ts.map +1 -1
  398. package/package.json +200 -47
  399. package/dist/chunk-6AHI4GSV.js.map +0 -1
  400. package/dist/chunk-AD4W7HYC.js.map +0 -1
  401. package/dist/chunk-ADG4HZEP.js.map +0 -1
  402. package/dist/chunk-BRDWQVRT.js.map +0 -1
  403. package/dist/chunk-BZOL7GMU.js.map +0 -1
  404. package/dist/chunk-DRFNMZLG.js.map +0 -1
  405. package/dist/chunk-FU52GL2E.js +0 -3
  406. package/dist/chunk-OBJ244BO.js.map +0 -1
  407. package/dist/chunk-S6SEGBX6.js.map +0 -1
  408. package/dist/chunk-SNZK5X6F.js.map +0 -1
  409. package/dist/chunk-WFD54GQQ.js.map +0 -1
  410. package/dist/chunk-XIXSSI3B.js.map +0 -1
  411. package/dist/chunk-YQW43BDH.js.map +0 -1
  412. package/dist/chunk-Z5OSPAOC.js.map +0 -1
  413. package/dist/chunk-ZTATTUH7.js.map +0 -1
@@ -1,4 +1,11 @@
1
+ import { TableIcon } from './chunk-TZHWYT34.js';
2
+ import { semanticSurfaceStyles } from './chunk-TZWHELY4.js';
3
+ import { generateColorScaleWithChannels, hexToRgbChannel, cssVarRgba, getContrastText, generatePaletteColorWithChannels, scrollbarStyles, varAlpha, generateColorScale, mixins } from './chunk-IRYU3NTG.js';
4
+ import { RemoveIcon, AddIcon, SearchIcon, CloseIcon, DownloadIcon, FilterIcon, ArrowDownIcon, ArrowUpIcon, MoreIcon, ChevronRightIcon, ChevronLeftIcon, LastPageIcon, FirstPageIcon, ChevronDownIcon, StarEmptyIcon, StarIcon, ErrorIcon, WarningIcon, InfoIcon, SuccessIcon, RadioCheckedIcon, RadioIcon } from './chunk-VQVVHMPG.js';
5
+ import { createPrismIcon } from './chunk-D5J3KW6Q.js';
1
6
  import { buttonClasses } from '@mui/material/Button';
7
+ import { createTheme, responsiveFontSizes, darken, lighten, getContrastRatio } from '@mui/material/styles';
8
+ import { colorChannel, hslToRgb } from '@mui/system';
2
9
  import { iconButtonClasses } from '@mui/material/IconButton';
3
10
  import { accordionClasses } from '@mui/material/Accordion';
4
11
  import { accordionSummaryClasses } from '@mui/material/AccordionSummary';
@@ -23,258 +30,9 @@ import { jsx } from 'react/jsx-runtime';
23
30
  import { tabClasses } from '@mui/material/Tab';
24
31
  import { autocompleteClasses } from '@mui/material/Autocomplete';
25
32
  import '@mui/x-data-grid/themeAugmentation';
26
- import { createTheme, responsiveFontSizes } from '@mui/material/styles';
33
+ import { forwardRef } from 'react';
27
34
  import * as locales from '@mui/material/locale';
28
35
 
29
- // src/theme/utils/color.ts
30
- function hexToRgb(hex) {
31
- const h = hex.replace("#", "");
32
- const expanded = h.length === 3 ? h.split("").map((c) => c + c).join("") : h;
33
- const bigint = parseInt(expanded, 16);
34
- const r = bigint >> 16 & 255;
35
- const g = bigint >> 8 & 255;
36
- const b = bigint & 255;
37
- return [r, g, b];
38
- }
39
- function hexToRgbChannel(hex) {
40
- const [r, g, b] = hexToRgb(hex);
41
- return `${r} ${g} ${b}`;
42
- }
43
- function rgbToHex(r, g, b) {
44
- const to2 = (n) => Math.round(n).toString(16).padStart(2, "0");
45
- return `#${to2(r)}${to2(g)}${to2(b)}`.toUpperCase();
46
- }
47
- function hexToHsl(hex) {
48
- const [r, g, b] = hexToRgb(hex);
49
- const r1 = r / 255;
50
- const g1 = g / 255;
51
- const b1 = b / 255;
52
- const max = Math.max(r1, g1, b1);
53
- const min = Math.min(r1, g1, b1);
54
- let h = 0;
55
- let s = 0;
56
- const l = (max + min) / 2;
57
- const d = max - min;
58
- if (d !== 0) {
59
- s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
60
- switch (max) {
61
- case r1:
62
- h = (g1 - b1) / d + (g1 < b1 ? 6 : 0);
63
- break;
64
- case g1:
65
- h = (b1 - r1) / d + 2;
66
- break;
67
- default:
68
- h = (r1 - g1) / d + 4;
69
- }
70
- h /= 6;
71
- }
72
- return { h: h * 360, s: s * 100, l: l * 100 };
73
- }
74
- function hslToHex(h, s, l) {
75
- const s1 = s / 100;
76
- const l1 = l / 100;
77
- const c = (1 - Math.abs(2 * l1 - 1)) * s1;
78
- const x = c * (1 - Math.abs(h / 60 % 2 - 1));
79
- const m = l1 - c / 2;
80
- let r1;
81
- let g1;
82
- let b1;
83
- if (h >= 0 && h < 60) {
84
- [r1, g1, b1] = [c, x, 0];
85
- } else if (h >= 60 && h < 120) {
86
- [r1, g1, b1] = [x, c, 0];
87
- } else if (h >= 120 && h < 180) {
88
- [r1, g1, b1] = [0, c, x];
89
- } else if (h >= 180 && h < 240) {
90
- [r1, g1, b1] = [0, x, c];
91
- } else if (h >= 240 && h < 300) {
92
- [r1, g1, b1] = [x, 0, c];
93
- } else {
94
- [r1, g1, b1] = [c, 0, x];
95
- }
96
- return rgbToHex(Math.round((r1 + m) * 255), Math.round((g1 + m) * 255), Math.round((b1 + m) * 255));
97
- }
98
- function rgba(color, alpha) {
99
- const [r, g, b] = hexToRgb(color);
100
- return `rgba(${r}, ${g}, ${b}, ${alpha})`;
101
- }
102
- function cssVarRgba(channel, alpha) {
103
- return `rgba(${channel} / ${alpha})`;
104
- }
105
- function generatePaletteColorWithChannels(color) {
106
- return {
107
- ...color,
108
- lighterChannel: hexToRgbChannel(color.lighter),
109
- lightChannel: hexToRgbChannel(color.light),
110
- mainChannel: hexToRgbChannel(color.main),
111
- darkChannel: hexToRgbChannel(color.dark),
112
- darkerChannel: hexToRgbChannel(color.darker),
113
- contrastTextChannel: hexToRgbChannel(color.contrastText)
114
- };
115
- }
116
- function generateColorScaleWithChannels(scale) {
117
- const shadeKeys = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
118
- const channels = {};
119
- for (const key of shadeKeys) {
120
- const channelKey = `${key}Channel`;
121
- channels[channelKey] = hexToRgbChannel(scale[key]);
122
- }
123
- return { ...scale, ...channels };
124
- }
125
- function clamp(n, min, max) {
126
- return Math.max(min, Math.min(max, n));
127
- }
128
- function generateColorScale(baseColor) {
129
- const base = hexToHsl(baseColor);
130
- const tones = [
131
- { key: 50, lDelta: 40 },
132
- { key: 100, lDelta: 32 },
133
- { key: 200, lDelta: 24 },
134
- { key: 300, lDelta: 16 },
135
- { key: 400, lDelta: 8 },
136
- { key: 500, lDelta: 0 },
137
- { key: 600, lDelta: -8 },
138
- { key: 700, lDelta: -16 },
139
- { key: 800, lDelta: -24 },
140
- { key: 900, lDelta: -32 },
141
- { key: 950, lDelta: -40 }
142
- ];
143
- const scale = {};
144
- for (const { key, lDelta } of tones) {
145
- const l = clamp(base.l + lDelta, 5, 95);
146
- scale[key] = hslToHex(base.h, base.s, l);
147
- }
148
- return scale;
149
- }
150
- function createPaletteColorFromScale(scale, mode = "light") {
151
- const mainColor = mode === "dark" ? scale[400] : scale[500];
152
- const contrastText = getContrastText(mainColor, "#FFFFFF", "#212121");
153
- if (mode === "dark") {
154
- return {
155
- lighter: scale[950],
156
- light: scale[700],
157
- main: mainColor,
158
- dark: scale[300],
159
- darker: scale[100],
160
- contrastText
161
- };
162
- }
163
- return {
164
- lighter: scale[50],
165
- light: scale[400],
166
- main: mainColor,
167
- dark: scale[600],
168
- darker: scale[900],
169
- contrastText
170
- };
171
- }
172
- function invertColorScale(scale) {
173
- return {
174
- 50: scale[950],
175
- 100: scale[800],
176
- 200: scale[700],
177
- 300: scale[600],
178
- 400: scale[500],
179
- 500: scale[400],
180
- 600: scale[300],
181
- 700: scale[200],
182
- 800: scale[100],
183
- 900: scale[50],
184
- 950: "#FFFFFF"
185
- };
186
- }
187
- function getLuminance(hex) {
188
- const [r, g, b] = hexToRgb(hex).map((c) => {
189
- const sRgb = c / 255;
190
- return sRgb <= 0.03928 ? sRgb / 12.92 : Math.pow((sRgb + 0.055) / 1.055, 2.4);
191
- });
192
- return 0.2126 * r + 0.7152 * g + 0.0722 * b;
193
- }
194
- function getContrastRatio(color1, color2) {
195
- const l1 = getLuminance(color1);
196
- const l2 = getLuminance(color2);
197
- const lighter = Math.max(l1, l2);
198
- const darker = Math.min(l1, l2);
199
- return (lighter + 0.05) / (darker + 0.05);
200
- }
201
- function isLightColor(hex) {
202
- return getLuminance(hex) > 0.5;
203
- }
204
- function getContrastText(background, lightText = "#FFFFFF", darkText = "#000000") {
205
- return getContrastRatio(background, lightText) >= getContrastRatio(background, darkText) ? lightText : darkText;
206
- }
207
- function lighten(hex, amount) {
208
- const hsl = hexToHsl(hex);
209
- const newL = clamp(hsl.l + amount, 0, 100);
210
- return hslToHex(hsl.h, hsl.s, newL);
211
- }
212
- function darken(hex, amount) {
213
- const hsl = hexToHsl(hex);
214
- const newL = clamp(hsl.l - amount, 0, 100);
215
- return hslToHex(hsl.h, hsl.s, newL);
216
- }
217
- function mix(color1, color2, weight = 0.5) {
218
- const [r1, g1, b1] = hexToRgb(color1);
219
- const [r2, g2, b2] = hexToRgb(color2);
220
- const w = clamp(weight, 0, 1);
221
- const newR = Math.round(r1 * w + r2 * (1 - w));
222
- const newG = Math.round(g1 * w + g2 * (1 - w));
223
- const newB = Math.round(b1 * w + b2 * (1 - w));
224
- return rgbToHex(newR, newG, newB);
225
- }
226
- function validateOpacity(opacity, color) {
227
- const isCSSVar = (val) => val.includes("var(--");
228
- const isPercentage = (val) => val.trim().endsWith("%");
229
- const errors = {
230
- invalid: `[varAlpha]: Invalid opacity "${opacity}" for "${color}".`,
231
- range: "Must be a number between 0 and 1 (e.g., 0.48).",
232
- format: 'Must be a percentage (e.g., "48%") or CSS variable (e.g., "var(--opacity)").'
233
- };
234
- if (typeof opacity === "string") {
235
- if (isPercentage(opacity)) return opacity;
236
- if (isCSSVar(opacity)) return `calc(${opacity} * 100%)`;
237
- const parsed = parseFloat(opacity.trim());
238
- if (!isNaN(parsed) && parsed >= 0 && parsed <= 1) {
239
- return `${Number((parsed * 100).toFixed(2))}%`;
240
- }
241
- throw new Error(`${errors.invalid} ${errors.format}`);
242
- }
243
- if (typeof opacity === "number") {
244
- if (opacity >= 0 && opacity <= 1) {
245
- return `${Number((opacity * 100).toFixed(2))}%`;
246
- }
247
- throw new Error(`${errors.invalid} ${errors.range}`);
248
- }
249
- throw new Error(`${errors.invalid}`);
250
- }
251
- function varAlpha(color, opacity = 1) {
252
- if (!color?.trim()) {
253
- throw new Error("[varAlpha]: Color is undefined or empty!");
254
- }
255
- const isUnsupported = color.startsWith("#") || color.startsWith("rgb(") || color.startsWith("rgba(") || !color.includes("var") && color.includes("Channel");
256
- if (isUnsupported) {
257
- throw new Error(
258
- [
259
- `[varAlpha]: Unsupported color format "${color}"`,
260
- "\u2705 Supported formats:",
261
- ' - RGB channels: "0 184 217"',
262
- ' - CSS variables: "var(--palette-primary-mainChannel)"',
263
- " - currentColor",
264
- "\u274C Unsupported formats:",
265
- ' - Hex: "#00B8D9"',
266
- ' - RGB: "rgb(0, 184, 217)"',
267
- ' - RGBA: "rgba(0, 184, 217, 1)"'
268
- ].join("\n")
269
- );
270
- }
271
- const alpha = validateOpacity(opacity, color);
272
- if (color.toLowerCase() === "currentcolor") {
273
- return `color-mix(in srgb, currentColor ${alpha}, transparent)`;
274
- }
275
- return `rgba(${color} / ${alpha})`;
276
- }
277
-
278
36
  // src/theme/colors/base.ts
279
37
  var grey = {
280
38
  50: "#F7FAFC",
@@ -565,16 +323,83 @@ var defaultDarkPalette = buildPalette({
565
323
  grey,
566
324
  mode: "dark"
567
325
  });
326
+ var isRecord = (value) => !!value && typeof value === "object" && !Array.isArray(value);
327
+ var owns = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
328
+ var roles = ["primary", "secondary", "success", "info", "warning", "error"];
329
+ var shades = ["light", "dark", "lighter", "darker", "contrastText"];
330
+ var colourKeys = /* @__PURE__ */ new Set(["main", ...shades, "primary", "secondary", "disabled", "default", "paper", "neutral", "divider", "active", "selected", "hover", "focus", "disabledBackground", "background", "onBackground", "black", "white"]);
331
+ function staticChannel(value) {
332
+ if (!/^(#[\da-f]{3,8}$|rgba?\(|hsla?\()/i.test(value)) return void 0;
333
+ if (/^rgba?\(/i.test(value) && value.includes("%")) return void 0;
334
+ try {
335
+ const channel = colorChannel(/^hsl/i.test(value) ? hslToRgb(value) : value);
336
+ const components = channel.split(" ");
337
+ return components.length === 3 && components.every((part) => part !== "" && Number.isFinite(Number(part))) ? channel : void 0;
338
+ } catch {
339
+ return void 0;
340
+ }
341
+ }
342
+ function channelFor(value) {
343
+ return staticChannel(value) ?? `from ${value} r g b`;
344
+ }
345
+ function reconcileChannels(merged, supplied) {
346
+ const result = { ...merged };
347
+ for (const [key, value] of Object.entries(supplied)) {
348
+ if (isRecord(value) && isRecord(result[key])) {
349
+ result[key] = reconcileChannels(result[key], value);
350
+ } else if (typeof value === "string" && !key.endsWith("Channel") && !owns(supplied, `${key}Channel`)) {
351
+ const channel = staticChannel(value);
352
+ if (channel !== void 0 || owns(merged, `${key}Channel`) || colourKeys.has(key)) {
353
+ result[`${key}Channel`] = channel ?? channelFor(value);
354
+ }
355
+ }
356
+ }
357
+ return result;
358
+ }
359
+ function reconcilePaletteOverrides(merged, supplied, { nativeColor = false, cssVarPrefix = "prism" } = {}) {
360
+ if (!supplied) return merged;
361
+ const result = reconcileChannels(merged, supplied);
362
+ for (const name of roles) {
363
+ const input = supplied[name];
364
+ if (!isRecord(input) || typeof input.main !== "string") continue;
365
+ const role = { ...result[name] };
366
+ const numeric = staticChannel(input.main) !== void 0;
367
+ for (const shade of shades) {
368
+ if (!owns(input, shade)) {
369
+ delete role[shade];
370
+ if (!owns(input, `${shade}Channel`)) delete role[`${shade}Channel`];
371
+ }
372
+ }
373
+ if (!nativeColor && !numeric && ["light", "dark", "contrastText"].some((shade) => typeof role[shade] !== "string" || !role[shade])) {
374
+ throw new Error(`Prism: palette.${name}.main cannot be resolved in JavaScript. Enable overrides.cssVariables.nativeColor or supply light, dark and contrastText explicitly.`);
375
+ }
376
+ const dark = result.mode === "dark";
377
+ const mix = (colour, amount) => `color-mix(in oklch, ${input.main}, ${colour} ${amount * 100}%)`;
378
+ role.lighter ??= numeric && !nativeColor ? dark ? darken(input.main, 0.75) : lighten(input.main, 0.9) : dark ? mix("#000", 0.75) : mix("#fff", 0.9);
379
+ role.darker ??= numeric && !nativeColor ? dark ? lighten(input.main, 0.85) : darken(input.main, 0.7) : dark ? mix("#fff", 0.85) : mix("#000", 0.7);
380
+ if (numeric && !nativeColor) {
381
+ role.contrastText ??= getContrastRatio(input.main, "#fff") >= getContrastRatio(input.main, "#000") ? "#fff" : "#000";
382
+ }
383
+ for (const shade of shades) {
384
+ if (owns(input, `${shade}Channel`)) continue;
385
+ if (typeof role[shade] === "string") {
386
+ role[`${shade}Channel`] = channelFor(role[shade]);
387
+ } else if (nativeColor) {
388
+ const prefix = cssVarPrefix ? `${cssVarPrefix}-` : "";
389
+ role[`${shade}Channel`] = `from var(--${prefix}palette-${name}-${shade}) r g b`;
390
+ }
391
+ }
392
+ result[name] = role;
393
+ }
394
+ return result;
395
+ }
568
396
 
569
397
  // src/theme/components/theme-utils.ts
570
398
  function getGreyChannel(theme, shade = "500") {
571
399
  const channelKey = `${shade}Channel`;
572
400
  const vars = theme.vars?.palette.grey;
573
- const fallbacks = {
574
- "500": "145 158 171",
575
- "900": "0 0 0"
576
- };
577
- return vars?.[channelKey] ?? fallbacks[shade];
401
+ const palette = theme.palette.grey;
402
+ return vars?.[channelKey] ?? palette[channelKey] ?? channelFor(palette[shade]);
578
403
  }
579
404
  function paletteVar(theme, path) {
580
405
  const segments = path.split(".");
@@ -592,14 +417,8 @@ function paletteVar(theme, path) {
592
417
  }
593
418
  function getColorChannel(theme, color) {
594
419
  const vars = theme.vars?.palette[color];
595
- const fallbacks = {
596
- primary: "51 133 240",
597
- success: "9 159 105",
598
- error: "208 34 65",
599
- warning: "246 141 42",
600
- info: "13 166 214"
601
- };
602
- return vars?.mainChannel ?? fallbacks[color];
420
+ const palette = theme.palette[color];
421
+ return vars?.mainChannel ?? palette.mainChannel ?? channelFor(palette.main);
603
422
  }
604
423
  function getDensityMultiplier(density) {
605
424
  switch (density) {
@@ -789,21 +608,19 @@ function createButtonOverrides(config) {
789
608
  // outlinedSize* class slots were removed in MUI v9 in favour
790
609
  // of the `variants` array on the component override. See
791
610
  // https://mui.com/material-ui/migration/upgrade-to-v9/.
792
- // The icon slot wraps a single child (the icon SVG). `:first-child`
793
- // is the modern, tag-agnostic way to target it — replaces
794
- // `:first-of-type` which only matched if the wrapped element was
795
- // the first sibling of its tag (fine for the common case, but
796
- // brittle when a consumer wraps the icon in a tooltip or fragment
797
- // that introduces a non-element node before the SVG).
611
+ // Each native slot contains the supplied icon root, which may be a
612
+ // custom wrapper. Ignore SSR style elements instead of relying on child
613
+ // position. The public slot class keeps this rule authoritative over
614
+ // MUI's size-specific icon selectors without affecting nested content.
798
615
  startIcon: {
799
616
  marginRight: 4,
800
- "& > :first-child": {
617
+ [`&.${buttonClasses.startIcon} > :not(style)`]: {
801
618
  fontSize: 16
802
619
  }
803
620
  },
804
621
  endIcon: {
805
622
  marginLeft: 4,
806
- "& > :first-child": {
623
+ [`&.${buttonClasses.endIcon} > :not(style)`]: {
807
624
  fontSize: 16
808
625
  }
809
626
  }
@@ -829,345 +646,11 @@ function createButtonGroupOverrides(config) {
829
646
  }
830
647
  };
831
648
  }
832
-
833
- // src/theme/mixins.ts
834
- function getHoverStyles(hoverOption, hoverBase) {
835
- if (!hoverOption) return {};
836
- return {
837
- "&:hover": {
838
- ...hoverBase,
839
- ...typeof hoverOption === "object" ? hoverOption : {}
840
- }
841
- };
842
- }
843
- function filledStyles(theme, colorKey, options) {
844
- if (!colorKey) {
845
- if (process.env.NODE_ENV !== "production") {
846
- console.warn("[Prism filledStyles] Missing colorKey parameter.");
847
- }
848
- return {};
849
- }
850
- const palette = theme.vars?.palette || theme.palette;
851
- const grey2 = palette.grey;
852
- if (colorKey === "default") {
853
- const base2 = {
854
- color: grey2[800],
855
- backgroundColor: grey2[300]
856
- };
857
- const hover2 = getHoverStyles(options?.hover, {
858
- backgroundColor: grey2[400]
859
- });
860
- return { ...base2, ...hover2 };
861
- }
862
- if (colorKey === "inherit") {
863
- const base2 = {
864
- color: palette.common.white,
865
- backgroundColor: grey2[800]
866
- };
867
- const hover2 = getHoverStyles(options?.hover, {
868
- backgroundColor: grey2[700]
869
- });
870
- return { ...base2, ...hover2 };
871
- }
872
- if (colorKey === "white" || colorKey === "black") {
873
- const oppositeColor = colorKey === "white" ? "black" : "white";
874
- const base2 = {
875
- color: palette.common[oppositeColor],
876
- backgroundColor: palette.common[colorKey]
877
- };
878
- const hover2 = getHoverStyles(options?.hover, {
879
- opacity: 0.8
880
- });
881
- return { ...base2, ...hover2 };
882
- }
883
- const paletteColor = palette[colorKey];
884
- const base = {
885
- color: paletteColor.contrastText,
886
- backgroundColor: paletteColor.main
887
- };
888
- const hover = getHoverStyles(options?.hover, {
889
- backgroundColor: paletteColor.dark
890
- });
891
- return { ...base, ...hover };
892
- }
893
- function softStyles(theme, colorKey, options) {
894
- if (!colorKey) {
895
- if (process.env.NODE_ENV !== "production") {
896
- console.warn("[Prism softStyles] Missing colorKey parameter.");
897
- }
898
- return {};
899
- }
900
- const palette = theme.vars?.palette || theme.palette;
901
- const grey2 = palette.grey;
902
- if (colorKey === "default") {
903
- return {
904
- ...filledStyles(theme, "default", options),
905
- boxShadow: "none"
906
- };
907
- }
908
- if (colorKey === "inherit") {
909
- const greyChannel = grey2["500Channel"] || "145, 158, 171";
910
- const base2 = {
911
- boxShadow: "none",
912
- backgroundColor: varAlpha(greyChannel, 0.16)
913
- };
914
- const hover2 = getHoverStyles(options?.hover, {
915
- backgroundColor: varAlpha(greyChannel, 0.32)
916
- });
917
- return { ...base2, ...hover2 };
918
- }
919
- if (colorKey === "white" || colorKey === "black") {
920
- const base2 = {
921
- boxShadow: "none",
922
- color: palette.common[colorKey],
923
- backgroundColor: varAlpha("currentColor", 0.08)
924
- };
925
- const hover2 = getHoverStyles(options?.hover, {
926
- backgroundColor: varAlpha("currentColor", 0.16)
927
- });
928
- return { ...base2, ...hover2 };
929
- }
930
- const paletteColor = palette[colorKey];
931
- const mainChannel = paletteColor.mainChannel || palette.primary.mainChannel || "51, 133, 240";
932
- const base = {
933
- boxShadow: "none",
934
- color: paletteColor.dark,
935
- backgroundColor: varAlpha(mainChannel, 0.16)
936
- };
937
- const hover = getHoverStyles(options?.hover, {
938
- backgroundColor: varAlpha(mainChannel, 0.32)
939
- });
940
- return { ...base, ...hover };
941
- }
942
- function bgGradient(options) {
943
- const { images, sizes, positions, colors, direction = "to bottom" } = options;
944
- if (colors && colors.length > 0) {
945
- return {
946
- background: `linear-gradient(${direction}, ${colors.join(", ")})`
947
- };
948
- }
949
- if (images && images.length > 0) {
950
- return {
951
- backgroundImage: images.join(", "),
952
- backgroundSize: sizes?.join(", ") || "cover",
953
- backgroundPosition: positions?.join(", ") || "center",
954
- backgroundRepeat: "no-repeat"
955
- };
956
- }
957
- return {};
958
- }
959
- function bgBlur(options) {
960
- const { blur = 20, color = "rgba(255, 255, 255, 0.8)" } = options;
961
- return {
962
- backdropFilter: `blur(${blur}px)`,
963
- WebkitBackdropFilter: `blur(${blur}px)`,
964
- backgroundColor: color
965
- };
966
- }
967
- function paperStyles(theme, options) {
968
- const { blur = 20, color, dropdown } = options ?? {};
969
- const palette = theme.vars?.palette || theme.palette;
970
- const baseStyles = {
971
- backdropFilter: `blur(${blur}px)`,
972
- WebkitBackdropFilter: `blur(${blur}px)`,
973
- backgroundColor: color ?? varAlpha("255, 255, 255", 0.9)
974
- };
975
- if (dropdown) {
976
- const customShadows = theme.customShadows;
977
- const greyChannel = palette.grey["500Channel"] || "145, 158, 171";
978
- return {
979
- ...baseStyles,
980
- padding: theme.spacing(0.5),
981
- boxShadow: customShadows?.dropdown || `0 0 2px 0 rgba(${greyChannel}, 0.24), -20px 20px 40px -4px rgba(${greyChannel}, 0.24)`,
982
- borderRadius: `${Number(theme.shape.borderRadius) * 1.25}px`
983
- };
984
- }
985
- return baseStyles;
986
- }
987
- function menuItemStyles(theme) {
988
- const palette = theme.vars?.palette || theme.palette;
989
- return {
990
- ...theme.typography.body2,
991
- padding: theme.spacing(0.75, 1),
992
- borderRadius: Number(theme.shape.borderRadius) * 0.75,
993
- // `:not(:last-child)` is the universal sibling-position selector
994
- // that works regardless of element type. `:last-of-type` only
995
- // matches the last sibling of the SAME tag, so a fragment-rendered
996
- // <Divider /> next to <MenuItem /> can fool it (Divider becomes
997
- // the last-of-type MenuItem too, so the previous MenuItem keeps
998
- // its margin instead of dropping it). Switching to :last-child
999
- // also satisfies MUI v9's lint-against-of-type-selectors guidance.
1000
- "&:not(:last-child)": {
1001
- marginBottom: 4
1002
- },
1003
- "&.Mui-selected": {
1004
- fontWeight: theme.typography.fontWeightMedium,
1005
- backgroundColor: palette.action.selected,
1006
- "&:hover": { backgroundColor: palette.action.hover }
1007
- }
1008
- };
1009
- }
1010
- function maxLine(options) {
1011
- const { lines, lineHeight = 1.5 } = options;
1012
- return {
1013
- overflow: "hidden",
1014
- display: "-webkit-box",
1015
- WebkitBoxOrient: "vertical",
1016
- WebkitLineClamp: lines,
1017
- textOverflow: "ellipsis",
1018
- ...lineHeight && { lineHeight }
1019
- };
1020
- }
1021
- function textGradient(direction, ...colors) {
1022
- return {
1023
- background: `linear-gradient(${direction}, ${colors.join(", ")})`,
1024
- WebkitBackgroundClip: "text",
1025
- WebkitTextFillColor: "transparent",
1026
- backgroundClip: "text",
1027
- textFillColor: "transparent",
1028
- display: "inline-block"
1029
- };
1030
- }
1031
- function borderGradient(options) {
1032
- const { color = "linear-gradient(135deg, #FF5630, #00AB55)", borderWidth = 2, borderRadius = 0 } = options;
1033
- return {
1034
- position: "relative",
1035
- border: "none",
1036
- borderRadius,
1037
- "&::before": {
1038
- content: '""',
1039
- position: "absolute",
1040
- inset: 0,
1041
- borderRadius: "inherit",
1042
- padding: borderWidth,
1043
- background: color,
1044
- WebkitMask: "linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",
1045
- WebkitMaskComposite: "xor",
1046
- maskComposite: "exclude",
1047
- pointerEvents: "none"
1048
- }
1049
- };
1050
- }
1051
- function scrollbarStyles(theme) {
1052
- const palette = theme.vars?.palette || theme.palette;
1053
- const greyChannel = palette.grey["500Channel"] || "145, 158, 171";
1054
- return {
1055
- scrollbarWidth: "thin",
1056
- scrollbarColor: `${varAlpha(greyChannel, 0.4)} ${varAlpha(greyChannel, 0.08)}`,
1057
- "&::-webkit-scrollbar": {
1058
- width: 6,
1059
- height: 6
1060
- },
1061
- "&::-webkit-scrollbar-track": {
1062
- backgroundColor: "transparent"
1063
- },
1064
- "&::-webkit-scrollbar-thumb": {
1065
- backgroundColor: varAlpha(greyChannel, 0.4),
1066
- borderRadius: 3,
1067
- "&:hover": {
1068
- backgroundColor: varAlpha(greyChannel, 0.6)
1069
- }
1070
- }
1071
- };
1072
- }
1073
- var mixins = {
1074
- toolbar: {
1075
- minHeight: 56,
1076
- "@media (min-width:0px)": {
1077
- "@media (orientation: landscape)": {
1078
- minHeight: 48
1079
- }
1080
- },
1081
- "@media (min-width:600px)": {
1082
- minHeight: 64
1083
- }
1084
- },
1085
- // Extended mixins
1086
- hideScrollX: {
1087
- msOverflowStyle: "none",
1088
- scrollbarWidth: "none",
1089
- overflowX: "auto",
1090
- "&::-webkit-scrollbar": { display: "none" }
1091
- },
1092
- hideScrollY: {
1093
- msOverflowStyle: "none",
1094
- scrollbarWidth: "none",
1095
- overflowY: "auto",
1096
- "&::-webkit-scrollbar": { display: "none" }
1097
- },
1098
- // Style functions (attached at theme creation)
1099
- bgBlur,
1100
- bgGradient,
1101
- maxLine,
1102
- softStyles,
1103
- filledStyles,
1104
- paperStyles,
1105
- menuItemStyles,
1106
- varAlpha,
1107
- textGradient,
1108
- borderGradient,
1109
- scrollbarStyles
1110
- };
1111
- var hideScrollbarMixin = {
1112
- scrollbarWidth: "none",
1113
- msOverflowStyle: "none",
1114
- "&::-webkit-scrollbar": {
1115
- display: "none"
1116
- }
1117
- };
1118
- function customScrollbarMixin(theme) {
1119
- const palette = theme.vars?.palette || theme.palette;
1120
- const greyChannel = palette.grey["500Channel"] || "145, 158, 171";
1121
- return {
1122
- scrollbarWidth: "thin",
1123
- scrollbarColor: `${varAlpha(greyChannel, 0.4)} ${varAlpha(greyChannel, 0.08)}`,
1124
- "&::-webkit-scrollbar": {
1125
- width: 6,
1126
- height: 6
1127
- },
1128
- "&::-webkit-scrollbar-track": {
1129
- backgroundColor: "transparent"
1130
- },
1131
- "&::-webkit-scrollbar-thumb": {
1132
- backgroundColor: varAlpha(greyChannel, 0.4),
1133
- borderRadius: 3,
1134
- "&:hover": {
1135
- backgroundColor: varAlpha(greyChannel, 0.6)
1136
- }
1137
- }
1138
- };
1139
- }
1140
- var textEllipsisMixin = {
1141
- overflow: "hidden",
1142
- textOverflow: "ellipsis",
1143
- whiteSpace: "nowrap"
1144
- };
1145
- function multiLineEllipsisMixin(lines) {
1146
- return {
1147
- overflow: "hidden",
1148
- display: "-webkit-box",
1149
- WebkitBoxOrient: "vertical",
1150
- WebkitLineClamp: lines
1151
- };
1152
- }
1153
- var focusRingMixin = {
1154
- "&:focus-visible": {
1155
- outline: "none",
1156
- boxShadow: "0 0 0 2px var(--prism-background, #FFF), 0 0 0 4px var(--prism-primary, #3385F0)"
1157
- }
1158
- };
1159
- var glassMixin = {
1160
- backdropFilter: "blur(20px)",
1161
- backgroundColor: "var(--prism-vibrant-overlay, rgba(255, 255, 255, 0.7))"
1162
- };
1163
649
  var chipColors = ["primary", "secondary", "info", "success", "warning", "error"];
1164
650
  var softVariants2 = [
1165
651
  ...chipColors.map((color) => ({
1166
652
  props: (props) => props.variant === "soft" && props.color === color,
1167
- style: ({ theme }) => ({
1168
- backgroundColor: `rgba(var(--prism-${color}-main-channel, 51 133 240) / 0.16)`,
1169
- color: theme.vars?.palette[color]?.dark || theme.palette[color].dark
1170
- })
653
+ style: ({ theme }) => semanticSurfaceStyles(theme, color)
1171
654
  })),
1172
655
  // Neutral soft variant
1173
656
  {
@@ -1449,7 +932,8 @@ var outlinedInputStyles = {
1449
932
  // Align fieldset font-size with InputLabel (14px) so the legend
1450
933
  // notch width (0.75em) matches the visually-scaled label exactly.
1451
934
  fontSize: theme.typography.pxToRem(14),
1452
- "& legend > span": { paddingInline: 3 }
935
+ // MUI uses an aria-hidden zero-width spacer when the field has no label.
936
+ "& legend > span:not([aria-hidden])": { paddingInline: 3 }
1453
937
  })
1454
938
  };
1455
939
  var outlinedInputVariants = {
@@ -1635,13 +1119,13 @@ function createFormHelperTextOverrides(_config) {
1635
1119
  }
1636
1120
  };
1637
1121
  }
1638
- function CheckboxIcon(props) {
1122
+ function DefaultCheckboxIcon(props) {
1639
1123
  return /* @__PURE__ */ jsx(SvgIcon, { ...props, children: /* @__PURE__ */ jsx("path", { d: "M17.9 2.318A5 5 0 0 1 22.895 7.1l.005.217v10a5 5 0 0 1-4.783 4.995l-.217.005h-10a5 5 0 0 1-4.995-4.783l-.005-.217v-10a5 5 0 0 1 4.783-4.996l.217-.004h10Zm-.5 1.5h-9a4 4 0 0 0-4 4v9a4 4 0 0 0 4 4h9a4 4 0 0 0 4-4v-9a4 4 0 0 0-4-4Z" }) });
1640
1124
  }
1641
- function CheckboxCheckedIcon(props) {
1125
+ function DefaultCheckboxCheckedIcon(props) {
1642
1126
  return /* @__PURE__ */ jsx(SvgIcon, { ...props, children: /* @__PURE__ */ jsx("path", { d: "M17 2a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm-1.625 7.255-4.13 4.13-1.75-1.75a.881.881 0 0 0-1.24 0c-.34.34-.34.89 0 1.24l2.38 2.37c.17.17.39.25.61.25.23 0 .45-.08.62-.25l4.75-4.75c.34-.34.34-.89 0-1.24a.881.881 0 0 0-1.24 0Z" }) });
1643
1127
  }
1644
- function CheckboxIndeterminateIcon(props) {
1128
+ function DefaultCheckboxIndeterminateIcon(props) {
1645
1129
  return /* @__PURE__ */ jsx(SvgIcon, { ...props, children: /* @__PURE__ */ jsx("path", { d: "M17,2 C19.7614,2 22,4.23858 22,7 L22,7 L22,17 C22,19.7614 19.7614,22 17,22 L17,22 L7,22 C4.23858,22 2,19.7614 2,17 L2,17 L2,7 C2,4.23858 4.23858,2 7,2 L7,2 Z M15,11 L9,11 C8.44772,11 8,11.4477 8,12 C8,12.5523 8.44772,13 9,13 L15,13 C15.5523,13 16,12.5523 16,12 C16,11.4477 15.5523,11 15,11 Z" }) });
1646
1130
  }
1647
1131
  var SWITCH_DIMENSIONS = {
@@ -1852,6 +1336,9 @@ function createFormControlOverrides(_config) {
1852
1336
  }
1853
1337
  };
1854
1338
  }
1339
+ var CheckboxIcon = createPrismIcon("checkbox", DefaultCheckboxIcon);
1340
+ var CheckboxCheckedIcon = createPrismIcon("checkboxChecked", DefaultCheckboxCheckedIcon);
1341
+ var CheckboxIndeterminateIcon = createPrismIcon("checkboxMixed", DefaultCheckboxIndeterminateIcon);
1855
1342
  var tabsVariants = {
1856
1343
  root: [
1857
1344
  {
@@ -1961,8 +1448,8 @@ function createDialogOverrides(config) {
1961
1448
  margin: 0,
1962
1449
  width: "100%",
1963
1450
  maxWidth: "none",
1964
- maxHeight: "none",
1965
- height: "100%",
1451
+ maxHeight: "100dvh",
1452
+ height: "100dvh",
1966
1453
  borderRadius: 0
1967
1454
  }
1968
1455
  }
@@ -1971,6 +1458,7 @@ function createDialogOverrides(config) {
1971
1458
  props: (props) => !props.fullScreen,
1972
1459
  style: {
1973
1460
  borderRadius: borderRadius * 2,
1461
+ [theme.breakpoints.down("sm")]: { borderRadius: 0 },
1974
1462
  [theme.breakpoints.up("sm")]: {
1975
1463
  margin: theme.spacing(2)
1976
1464
  }
@@ -1986,14 +1474,18 @@ function createDialogOverrides(config) {
1986
1474
  padding: `${20 * dm}px ${24 * dm}px`,
1987
1475
  fontSize: theme.typography.pxToRem(18),
1988
1476
  fontWeight: 600,
1989
- lineHeight: 28 / 18
1477
+ lineHeight: 28 / 18,
1478
+ overflowWrap: "anywhere"
1990
1479
  })
1991
1480
  }
1992
1481
  },
1993
1482
  MuiDialogContent: {
1994
1483
  styleOverrides: {
1995
1484
  root: {
1996
- padding: `${16 * dm}px ${24 * dm}px`
1485
+ padding: `${16 * dm}px ${24 * dm}px`,
1486
+ minWidth: 0,
1487
+ overflowWrap: "anywhere",
1488
+ ".MuiDialogTitle-root + &": { paddingTop: 16 * dm }
1997
1489
  }
1998
1490
  }
1999
1491
  },
@@ -2001,7 +1493,9 @@ function createDialogOverrides(config) {
2001
1493
  styleOverrides: {
2002
1494
  root: {
2003
1495
  padding: `${16 * dm}px ${24 * dm}px`,
2004
- gap: 8
1496
+ gap: 8,
1497
+ flexWrap: "wrap",
1498
+ "& > :not(style) ~ :not(style)": { marginLeft: 0 }
2005
1499
  }
2006
1500
  }
2007
1501
  }
@@ -2431,34 +1925,18 @@ function componentOverrides(config) {
2431
1925
  },
2432
1926
  styleOverrides: {
2433
1927
  root: ({ theme }) => ({
1928
+ // Every disclosure owns its full outline and all four corners.
1929
+ // Use MUI's native rounded state to override its edge-only radii,
1930
+ // independent of siblings (including Emotion's SSR style tags).
1931
+ // The square prop remains authoritative when rounded is absent.
2434
1932
  border: `1px solid ${paletteVar(theme, "divider")}`,
2435
- borderRadius,
1933
+ borderRadius: 0,
1934
+ [`&.${accordionClasses.rounded}`]: {
1935
+ borderRadius
1936
+ },
2436
1937
  "&::before": {
2437
1938
  display: "none"
2438
1939
  },
2439
- // Position selectors switched from `:first-of-type` /
2440
- // `:last-of-type` to `:first-child` / `:last-child` —
2441
- // accordions are intended to be direct siblings, so the
2442
- // child-position form gives the correct result without
2443
- // depending on element-tag homogeneity (an interspersed
2444
- // <Divider /> would break the of-type form silently by
2445
- // making each accordion the only "of-type" sibling).
2446
- "&:first-child": {
2447
- borderTopLeftRadius: borderRadius,
2448
- borderTopRightRadius: borderRadius
2449
- },
2450
- "&:last-child": {
2451
- borderBottomLeftRadius: borderRadius,
2452
- borderBottomRightRadius: borderRadius
2453
- },
2454
- "&:not(:last-child)": {
2455
- borderBottom: 0
2456
- },
2457
- [`&.${accordionClasses.expanded}`]: {
2458
- margin: 0,
2459
- "&:first-child": { marginTop: 0 },
2460
- "&:last-child": { marginBottom: 0 }
2461
- },
2462
1940
  [`&.${accordionClasses.disabled}`]: {
2463
1941
  backgroundColor: "transparent"
2464
1942
  }
@@ -2468,6 +1946,7 @@ function componentOverrides(config) {
2468
1946
  MuiAccordionSummary: {
2469
1947
  styleOverrides: {
2470
1948
  root: ({ theme }) => ({
1949
+ ...theme.typography.body2,
2471
1950
  minHeight: 48 * dm,
2472
1951
  padding: `0 ${16 * dm}px`,
2473
1952
  fontWeight: 500,
@@ -2479,13 +1958,18 @@ function componentOverrides(config) {
2479
1958
  }
2480
1959
  }),
2481
1960
  content: {
1961
+ alignItems: "center",
1962
+ gap: 8 * dm,
1963
+ minWidth: 0,
2482
1964
  margin: `${12 * dm}px 0`,
2483
1965
  [`&.${accordionSummaryClasses.expanded}`]: {
2484
1966
  margin: `${12 * dm}px 0`
2485
1967
  }
2486
1968
  },
2487
1969
  expandIconWrapper: ({ theme }) => ({
2488
- color: paletteVar(theme, "text.secondary")
1970
+ color: paletteVar(theme, "text.secondary"),
1971
+ flexShrink: 0,
1972
+ marginInlineStart: 8 * dm
2489
1973
  })
2490
1974
  }
2491
1975
  },
@@ -2493,7 +1977,20 @@ function componentOverrides(config) {
2493
1977
  styleOverrides: {
2494
1978
  root: ({ theme }) => ({
2495
1979
  padding: `${8 * dm}px ${16 * dm}px ${16 * dm}px`,
2496
- borderTop: `1px solid ${paletteVar(theme, "divider")}`
1980
+ borderTop: `1px solid ${paletteVar(theme, "divider")}`,
1981
+ containerType: "inline-size",
1982
+ containerName: "prism-pagination",
1983
+ "@container prism-pagination (max-width: 420px)": {
1984
+ "& .MuiTablePagination-toolbar": {
1985
+ display: "grid",
1986
+ gridTemplateColumns: "1fr auto",
1987
+ gap: "0 8px",
1988
+ padding: "4px 8px"
1989
+ },
1990
+ "& .MuiTablePagination-spacer": { display: "none" },
1991
+ "& .MuiTablePagination-selectLabel, & .MuiTablePagination-displayedRows": { margin: "4px 0" },
1992
+ "& .MuiTablePagination-input, & .MuiTablePagination-actions": { margin: 0, justifySelf: "end" }
1993
+ }
2497
1994
  })
2498
1995
  }
2499
1996
  },
@@ -2656,7 +2153,7 @@ function componentOverrides(config) {
2656
2153
  root: ({ theme }) => ({
2657
2154
  [`& .${tableCellClasses.head}`]: {
2658
2155
  fontWeight: 600,
2659
- backgroundColor: theme.vars?.palette.background.neutral || theme.palette.grey[50],
2156
+ backgroundColor: theme.vars?.palette.background.neutral || theme.palette.background.neutral || paletteVar(theme, "background.paper"),
2660
2157
  color: paletteVar(theme, "text.secondary")
2661
2158
  }
2662
2159
  })
@@ -2702,7 +2199,20 @@ function componentOverrides(config) {
2702
2199
  },
2703
2200
  styleOverrides: {
2704
2201
  root: ({ theme }) => ({
2705
- borderTop: `1px solid ${paletteVar(theme, "divider")}`
2202
+ borderTop: `1px solid ${paletteVar(theme, "divider")}`,
2203
+ containerType: "inline-size",
2204
+ containerName: "prism-pagination",
2205
+ "@container prism-pagination (max-width: 420px)": {
2206
+ "& .MuiTablePagination-toolbar": {
2207
+ display: "grid",
2208
+ gridTemplateColumns: "1fr auto",
2209
+ gap: "0 8px",
2210
+ padding: "4px 8px"
2211
+ },
2212
+ "& .MuiTablePagination-spacer": { display: "none" },
2213
+ "& .MuiTablePagination-selectLabel, & .MuiTablePagination-displayedRows": { margin: "4px 0" },
2214
+ "& .MuiTablePagination-input, & .MuiTablePagination-actions": { margin: 0, justifySelf: "end" }
2215
+ }
2706
2216
  }),
2707
2217
  toolbar: {
2708
2218
  minHeight: 44 * dm,
@@ -2740,15 +2250,13 @@ function componentOverrides(config) {
2740
2250
  styleOverrides: {
2741
2251
  root: ({ theme }) => ({
2742
2252
  borderRadius,
2743
- variants: ["success", "error", "warning", "info"].map(
2744
- (severity) => ({
2745
- props: { severity, variant: "standard" },
2746
- style: {
2747
- backgroundColor: `rgba(${getColorChannel(theme, severity)} / 0.08)`,
2748
- color: theme.vars?.palette[severity].dark || theme.palette[severity].dark
2749
- }
2750
- })
2751
- )
2253
+ variants: ["success", "error", "warning", "info"].map((color) => ({
2254
+ props: (props) => props.variant === "standard" && (props.color || props.severity) === color,
2255
+ style: {
2256
+ ...semanticSurfaceStyles(theme, color, 0.08),
2257
+ "& .MuiAlert-icon": { color: "inherit" }
2258
+ }
2259
+ }))
2752
2260
  })
2753
2261
  }
2754
2262
  },
@@ -2906,7 +2414,13 @@ function componentOverrides(config) {
2906
2414
  styleOverrides: {
2907
2415
  root: {
2908
2416
  paddingTop: density === "compact" ? 4 : 8,
2909
- paddingBottom: density === "compact" ? 4 : 8
2417
+ paddingBottom: density === "compact" ? 4 : 8,
2418
+ // MenuList renders a MuiList root; it does not consume a separate
2419
+ // MuiMenuList style override. Cover standalone and Select menus too.
2420
+ '&[role="menu"], &[role="listbox"]': {
2421
+ padding: 4,
2422
+ "& > .MuiDivider-root": { margin: "8px 6px" }
2423
+ }
2910
2424
  }
2911
2425
  }
2912
2426
  },
@@ -2962,17 +2476,19 @@ function componentOverrides(config) {
2962
2476
  paper: ({ theme }) => ({
2963
2477
  borderRadius,
2964
2478
  marginTop: 4,
2479
+ scrollPaddingBlock: 6,
2480
+ maxWidth: "calc(100vw - 32px)",
2965
2481
  boxShadow: `0 0 2px 0 rgba(${getGreyChannel(theme)} / 0.24), -20px 20px 40px -4px rgba(${getGreyChannel(theme)} / 0.24)`
2966
- }),
2967
- list: {
2968
- padding: 4
2969
- }
2482
+ })
2970
2483
  }
2971
2484
  },
2972
2485
  MuiMenuItem: {
2973
2486
  styleOverrides: {
2974
2487
  root: ({ theme }) => ({
2975
2488
  ...theme.typography.body2,
2489
+ minWidth: 0,
2490
+ whiteSpace: "normal",
2491
+ overflowWrap: "anywhere",
2976
2492
  borderRadius: borderRadius - 2,
2977
2493
  margin: 2,
2978
2494
  padding: `${8 * dm}px ${12 * dm}px`,
@@ -2996,6 +2512,11 @@ function componentOverrides(config) {
2996
2512
  },
2997
2513
  MuiPopover: {
2998
2514
  styleOverrides: {
2515
+ root: ({ ownerState }) => ({
2516
+ // MUI keeps the modal root mounted during Grow's exit. Once closed,
2517
+ // it must stop swallowing the next click on the surrounding UI.
2518
+ pointerEvents: ownerState.open ? void 0 : "none"
2519
+ }),
2999
2520
  paper: ({ theme }) => ({
3000
2521
  borderRadius,
3001
2522
  boxShadow: `0 0 2px 0 rgba(${getGreyChannel(theme)} / 0.24), -20px 20px 40px -4px rgba(${getGreyChannel(theme)} / 0.24)`
@@ -3021,8 +2542,9 @@ function componentOverrides(config) {
3021
2542
  },
3022
2543
  MuiBackdrop: {
3023
2544
  styleOverrides: {
3024
- root: ({ theme }) => ({
3025
- backgroundColor: `rgba(${getGreyChannel(theme, "900")} / 0.5)`
2545
+ root: ({ theme, ownerState }) => ({
2546
+ // Menus/popovers use an invisible click-away layer; only modals dim the page.
2547
+ backgroundColor: ownerState.invisible ? "transparent" : `rgba(${getGreyChannel(theme, "900")} / 0.5)`
3026
2548
  })
3027
2549
  }
3028
2550
  },
@@ -3251,31 +2773,13 @@ function componentOverrides(config) {
3251
2773
  html: {
3252
2774
  scrollBehavior: "smooth"
3253
2775
  },
3254
- body: {
3255
- scrollbarWidth: "thin",
3256
- scrollbarColor: `rgba(${getGreyChannel(theme)} / 0.4) rgba(${getGreyChannel(theme)} / 0.08)`
3257
- },
2776
+ "html, body, *": scrollbarStyles(theme),
3258
2777
  "*, *::before, *::after": {
3259
2778
  boxSizing: "border-box"
3260
2779
  },
3261
2780
  "#root, #__next": {
3262
2781
  height: "100%"
3263
2782
  },
3264
- // Webkit scrollbar styling
3265
- "::-webkit-scrollbar": {
3266
- width: 6,
3267
- height: 6
3268
- },
3269
- "::-webkit-scrollbar-track": {
3270
- backgroundColor: "transparent"
3271
- },
3272
- "::-webkit-scrollbar-thumb": {
3273
- backgroundColor: `rgba(${getGreyChannel(theme)} / 0.4)`,
3274
- borderRadius: 3
3275
- },
3276
- "::-webkit-scrollbar-thumb:hover": {
3277
- backgroundColor: `rgba(${getGreyChannel(theme)} / 0.6)`
3278
- },
3279
2783
  // Vision Mode Accessibility Filters
3280
2784
  // These apply SVG color matrix filters to simulate color blindness
3281
2785
  'html[data-vision="protanopia"]:not([data-showcase])': {
@@ -3785,6 +3289,89 @@ var arcticPreset = {
3785
3289
  main: "#1E88E5"
3786
3290
  }
3787
3291
  };
3292
+ function gridIcon(Icon) {
3293
+ return forwardRef(function GridIcon({ color, ...props }, ref) {
3294
+ const palette = color === "action" || color === "disabled" || color === "error" || color === "info" || color === "inherit" || color === "primary" || color === "secondary" || color === "success" || color === "warning";
3295
+ return /* @__PURE__ */ jsx(Icon, { ...props, ref, color: palette ? color : "inherit", htmlColor: palette ? void 0 : color });
3296
+ });
3297
+ }
3298
+ var grid = {
3299
+ MoreIcon: gridIcon(MoreIcon),
3300
+ ArrowUpIcon: gridIcon(ArrowUpIcon),
3301
+ ArrowDownIcon: gridIcon(ArrowDownIcon),
3302
+ FilterIcon: gridIcon(FilterIcon),
3303
+ TableIcon: gridIcon(TableIcon),
3304
+ DownloadIcon: gridIcon(DownloadIcon),
3305
+ CloseIcon: gridIcon(CloseIcon),
3306
+ SearchIcon: gridIcon(SearchIcon),
3307
+ AddIcon: gridIcon(AddIcon),
3308
+ RemoveIcon: gridIcon(RemoveIcon)
3309
+ };
3310
+ function prismIconDefaults() {
3311
+ const icons = {
3312
+ MuiSelect: { defaultProps: { IconComponent: ChevronDownIcon } },
3313
+ MuiNativeSelect: { defaultProps: { IconComponent: ChevronDownIcon } },
3314
+ MuiAutocomplete: {
3315
+ defaultProps: { popupIcon: /* @__PURE__ */ jsx(ChevronDownIcon, {}), clearIcon: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" }) }
3316
+ },
3317
+ MuiRadio: { defaultProps: { icon: /* @__PURE__ */ jsx(RadioIcon, {}), checkedIcon: /* @__PURE__ */ jsx(RadioCheckedIcon, {}) } },
3318
+ MuiChip: { defaultProps: { deleteIcon: /* @__PURE__ */ jsx(CloseIcon, {}) } },
3319
+ MuiAlert: {
3320
+ defaultProps: {
3321
+ iconMapping: {
3322
+ success: /* @__PURE__ */ jsx(SuccessIcon, {}),
3323
+ info: /* @__PURE__ */ jsx(InfoIcon, {}),
3324
+ warning: /* @__PURE__ */ jsx(WarningIcon, {}),
3325
+ error: /* @__PURE__ */ jsx(ErrorIcon, {})
3326
+ },
3327
+ slots: { closeIcon: CloseIcon }
3328
+ }
3329
+ },
3330
+ MuiPaginationItem: {
3331
+ defaultProps: {
3332
+ slots: { previous: ChevronLeftIcon, next: ChevronRightIcon, first: FirstPageIcon, last: LastPageIcon }
3333
+ }
3334
+ },
3335
+ MuiTablePagination: {
3336
+ defaultProps: {
3337
+ slots: {
3338
+ actions: {
3339
+ firstButtonIcon: FirstPageIcon,
3340
+ previousButtonIcon: ChevronLeftIcon,
3341
+ nextButtonIcon: ChevronRightIcon,
3342
+ lastButtonIcon: LastPageIcon
3343
+ }
3344
+ }
3345
+ }
3346
+ },
3347
+ MuiTableSortLabel: { defaultProps: { IconComponent: ArrowDownIcon } },
3348
+ MuiBreadcrumbs: { defaultProps: { separator: /* @__PURE__ */ jsx(ChevronRightIcon, { fontSize: "inherit" }) } },
3349
+ MuiRating: {
3350
+ defaultProps: { icon: /* @__PURE__ */ jsx(StarIcon, { fontSize: "inherit" }), emptyIcon: /* @__PURE__ */ jsx(StarEmptyIcon, { fontSize: "inherit" }) }
3351
+ },
3352
+ MuiTabs: {
3353
+ defaultProps: { slots: { startScrollButtonIcon: ChevronLeftIcon, endScrollButtonIcon: ChevronRightIcon } }
3354
+ },
3355
+ MuiDataGrid: {
3356
+ defaultProps: {
3357
+ slots: {
3358
+ columnMenuIcon: grid.MoreIcon,
3359
+ columnSortedAscendingIcon: grid.ArrowUpIcon,
3360
+ columnSortedDescendingIcon: grid.ArrowDownIcon,
3361
+ columnFilteredIcon: grid.FilterIcon,
3362
+ columnSelectorIcon: grid.TableIcon,
3363
+ exportIcon: grid.DownloadIcon,
3364
+ openFilterButtonIcon: grid.FilterIcon,
3365
+ quickFilterIcon: grid.SearchIcon,
3366
+ quickFilterClearIcon: grid.CloseIcon,
3367
+ detailPanelExpandIcon: grid.AddIcon,
3368
+ detailPanelCollapseIcon: grid.RemoveIcon
3369
+ }
3370
+ }
3371
+ }
3372
+ };
3373
+ return icons;
3374
+ }
3788
3375
 
3789
3376
  // src/theme/presets/dracula.ts
3790
3377
  var draculaPurple = {
@@ -4424,7 +4011,13 @@ function deepMergeThemeOptions(base, overrides) {
4424
4011
  for (const key of Object.keys(overrides)) {
4425
4012
  const baseVal = base[key];
4426
4013
  const overrideVal = overrides[key];
4427
- if (overrideVal !== null && typeof overrideVal === "object" && !Array.isArray(overrideVal) && typeof overrideVal !== "function" && baseVal !== null && typeof baseVal === "object" && !Array.isArray(baseVal) && typeof baseVal !== "function") {
4014
+ if (key === "styleOverrides" && baseVal && overrideVal && typeof baseVal === "object" && typeof overrideVal === "object") {
4015
+ const slots = { ...baseVal };
4016
+ for (const [slot, style] of Object.entries(overrideVal)) {
4017
+ if (style !== void 0) slots[slot] = slots[slot] === void 0 ? style : [slots[slot], style];
4018
+ }
4019
+ result[key] = slots;
4020
+ } else if (overrideVal !== null && typeof overrideVal === "object" && !Array.isArray(overrideVal) && typeof overrideVal !== "function" && baseVal !== null && typeof baseVal === "object" && !Array.isArray(baseVal) && typeof baseVal !== "function") {
4428
4021
  result[key] = deepMergeThemeOptions(baseVal, overrideVal);
4429
4022
  } else {
4430
4023
  result[key] = overrideVal;
@@ -4517,7 +4110,13 @@ function createPrismTheme(options = {}) {
4517
4110
  // Component overrides with density support
4518
4111
  components: componentOverrides(componentsConfig)
4519
4112
  };
4520
- const finalOptions = overrides ? deepMergeThemeOptions(themeOptions, overrides) : themeOptions;
4113
+ const themedIcons = deepMergeThemeOptions(themeOptions, { components: prismIconDefaults() });
4114
+ const finalOptions = overrides ? deepMergeThemeOptions(themedIcons, overrides) : themedIcons;
4115
+ const variableOptions = typeof finalOptions.cssVariables === "object" ? finalOptions.cssVariables : void 0;
4116
+ finalOptions.palette = reconcilePaletteOverrides(finalOptions.palette, overrides?.palette, {
4117
+ nativeColor: variableOptions?.nativeColor,
4118
+ cssVarPrefix: variableOptions?.cssVarPrefix ?? cssVarPrefix
4119
+ });
4521
4120
  let theme = createTheme(finalOptions, muiLocale);
4522
4121
  if (responsiveFonts) {
4523
4122
  theme = responsiveFontSizes(theme);
@@ -4573,6 +4172,6 @@ function getPresetDisplayName(preset) {
4573
4172
  return PRESET_DISPLAY_NAMES[preset];
4574
4173
  }
4575
4174
 
4576
- export { COLOR_GROUPS, PRESET_DISPLAY_NAMES, PRESET_INHERENT_MODE, PRESET_NAMES, arcticPreset, baseColors, basic, blue, buildAction, buildBackground, buildChartColors, buildPalette, buildPaletteColor, buildText, buildVibrant, componentOverrides, createButtonBaseOverrides, createButtonGroupOverrides, createButtonOverrides, createPaletteColorFromScale, createPrismTheme, createShadows, createTypography, cssVarRgba, customScrollbarMixin, darkShadow, darken, defaultDarkPalette, defaultLightPalette, draculaPreset, emberPreset, focusRingMixin, generateColorScale, generateColorScaleWithChannels, generatePaletteColorWithChannels, getContrastRatio, getContrastText, getLuminance, getPresetDisplayName, glassMixin, green, grey, hexToHsl, hexToRgb, hexToRgbChannel, hideScrollbarMixin, hslToHex, invertColorScale, isLightColor, lightBlue, lighten, luxuryColors, luxuryError, luxuryInfo, luxuryNeutral, luxuryPrimary, luxurySecondary, luxurySuccess, luxuryWarning, midnightPreset, minimalPreset, mix, mixins, multiLineEllipsisMixin, orange, purple, red, retroPreset, rgbToHex, rgba, shadows, textEllipsisMixin, typography };
4577
- //# sourceMappingURL=chunk-ZTATTUH7.js.map
4578
- //# sourceMappingURL=chunk-ZTATTUH7.js.map
4175
+ export { COLOR_GROUPS, PRESET_DISPLAY_NAMES, PRESET_INHERENT_MODE, PRESET_NAMES, arcticPreset, baseColors, basic, blue, buildAction, buildBackground, buildChartColors, buildPalette, buildPaletteColor, buildText, buildVibrant, componentOverrides, createButtonBaseOverrides, createButtonGroupOverrides, createButtonOverrides, createPrismTheme, createShadows, createTypography, darkShadow, defaultDarkPalette, defaultLightPalette, draculaPreset, emberPreset, getPresetDisplayName, green, grey, lightBlue, luxuryColors, luxuryError, luxuryInfo, luxuryNeutral, luxuryPrimary, luxurySecondary, luxurySuccess, luxuryWarning, midnightPreset, minimalPreset, orange, purple, red, retroPreset, shadows, typography };
4176
+ //# sourceMappingURL=chunk-RSWVYIXK.js.map
4177
+ //# sourceMappingURL=chunk-RSWVYIXK.js.map