@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
@@ -0,0 +1,171 @@
1
+ import Box from '@mui/material/Box';
2
+ import MuiCard from '@mui/material/Card';
3
+ import CardHeader from '@mui/material/CardHeader';
4
+ import CardContent from '@mui/material/CardContent';
5
+ import CardActions from '@mui/material/CardActions';
6
+ import Typography from '@mui/material/Typography';
7
+ import Skeleton from '@mui/material/Skeleton';
8
+ import { styled, alpha } from '@mui/material/styles';
9
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
10
+
11
+ // src/components/card/card.tsx
12
+ var StyledCard = styled(MuiCard, {
13
+ shouldForwardProp: (prop) => prop !== "ownerState"
14
+ })(({ theme, ownerState }) => {
15
+ const { variant } = ownerState;
16
+ const borderRadius = typeof theme.shape.borderRadius === "number" ? theme.shape.borderRadius : 4;
17
+ const softStyles = {
18
+ border: "none",
19
+ boxShadow: "none",
20
+ backgroundColor: alpha(theme.palette.grey[500], 0.08)
21
+ };
22
+ return {
23
+ position: "relative",
24
+ borderRadius: borderRadius * 2,
25
+ ...variant === "soft" && softStyles,
26
+ ...variant === "outlined" && {
27
+ boxShadow: "none"
28
+ }
29
+ };
30
+ });
31
+ function Card({
32
+ variant = "elevation",
33
+ title,
34
+ subheader,
35
+ headerAction,
36
+ headerSx,
37
+ contentSx,
38
+ actions,
39
+ actionsSx,
40
+ disablePadding,
41
+ children,
42
+ sx,
43
+ ref,
44
+ ...other
45
+ }) {
46
+ const ownerState = { variant };
47
+ const hasHeader = title || subheader || headerAction;
48
+ return /* @__PURE__ */ jsxs(
49
+ StyledCard,
50
+ {
51
+ ref,
52
+ ownerState,
53
+ variant: variant === "outlined" ? "outlined" : "elevation",
54
+ sx,
55
+ ...other,
56
+ children: [
57
+ hasHeader && /* @__PURE__ */ jsx(CardHeader, { title, subheader, action: headerAction, sx: headerSx }),
58
+ children && /* @__PURE__ */ jsx(
59
+ CardContent,
60
+ {
61
+ sx: {
62
+ ...disablePadding && { p: 0, "&:last-child": { pb: 0 } },
63
+ ...contentSx
64
+ },
65
+ children
66
+ }
67
+ ),
68
+ actions && /* @__PURE__ */ jsx(CardActions, { sx: actionsSx, children: actions })
69
+ ]
70
+ }
71
+ );
72
+ }
73
+ function CardSection({ title, description, children, sx }) {
74
+ return /* @__PURE__ */ jsxs(Box, { sx: { mb: 3, ...sx }, children: [
75
+ title && /* @__PURE__ */ jsx(
76
+ Typography,
77
+ {
78
+ variant: "subtitle1",
79
+ sx: {
80
+ fontWeight: 600,
81
+ mb: 1
82
+ },
83
+ children: title
84
+ }
85
+ ),
86
+ description && /* @__PURE__ */ jsx(
87
+ Typography,
88
+ {
89
+ variant: "body2",
90
+ sx: {
91
+ color: "text.secondary",
92
+ mb: 2
93
+ },
94
+ children: description
95
+ }
96
+ ),
97
+ children
98
+ ] });
99
+ }
100
+ function StatCard({
101
+ label,
102
+ value,
103
+ change,
104
+ icon,
105
+ color = "primary",
106
+ loading,
107
+ subtitle,
108
+ variant = "outlined",
109
+ sx,
110
+ ...other
111
+ }) {
112
+ const isPositive = change && change > 0;
113
+ const isNegative = change && change < 0;
114
+ return /* @__PURE__ */ jsx(Card, { variant, contentSx: { p: 2, "&:last-child": { pb: 2 } }, sx, ...other, children: /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", justifyContent: "space-between", alignItems: "flex-start" }, children: [
115
+ /* @__PURE__ */ jsx(Box, { children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [
116
+ /* @__PURE__ */ jsx(Skeleton, { width: 80, height: 16 }),
117
+ /* @__PURE__ */ jsx(Skeleton, { width: 50, height: 32, sx: { mt: 0.5 } })
118
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
119
+ /* @__PURE__ */ jsx(
120
+ Typography,
121
+ {
122
+ variant: "caption",
123
+ sx: {
124
+ fontWeight: 600,
125
+ color: "text.secondary",
126
+ textTransform: "uppercase",
127
+ letterSpacing: 0.5
128
+ },
129
+ children: label
130
+ }
131
+ ),
132
+ /* @__PURE__ */ jsx(
133
+ Typography,
134
+ {
135
+ variant: "h4",
136
+ sx: {
137
+ fontWeight: 700,
138
+ color: `${color}.main`,
139
+ mt: 0.5
140
+ },
141
+ children: value
142
+ }
143
+ ),
144
+ change !== void 0 && /* @__PURE__ */ jsxs(
145
+ Typography,
146
+ {
147
+ variant: "caption",
148
+ color: isPositive ? "success.main" : isNegative ? "error.main" : "text.secondary",
149
+ sx: {
150
+ fontWeight: 500,
151
+ mt: 0.5,
152
+ display: "block"
153
+ },
154
+ children: [
155
+ isPositive ? "+" : "",
156
+ change,
157
+ "%"
158
+ ]
159
+ }
160
+ ),
161
+ subtitle && /* @__PURE__ */ jsx(Typography, { variant: "caption", sx: {
162
+ color: "text.secondary"
163
+ }, children: subtitle })
164
+ ] }) }),
165
+ icon && !loading && /* @__PURE__ */ jsx(Box, { sx: { color: `${color}.main` }, children: icon })
166
+ ] }) });
167
+ }
168
+
169
+ export { Card, CardSection, StatCard };
170
+ //# sourceMappingURL=chunk-ZNWHMQRM.js.map
171
+ //# sourceMappingURL=chunk-ZNWHMQRM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/card/card.tsx"],"names":[],"mappings":"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","file":"chunk-ZNWHMQRM.js","sourcesContent":["'use client';\n\n/**\n * Card Component\n *\n * Enhanced card component with variants and sections.\n *\n * @module components/card\n */\n\nimport type { ReactNode, Ref } from 'react';\nimport Box from '@mui/material/Box';\nimport MuiCard from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport Typography from '@mui/material/Typography';\nimport Skeleton from '@mui/material/Skeleton';\nimport { styled, alpha } from '@mui/material/styles';\nimport type { CardProps as MuiCardProps } from '@mui/material/Card';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport type CardVariant = 'elevation' | 'outlined' | 'soft';\n\nexport interface CardProps extends Omit<MuiCardProps, 'variant' | 'title'> {\n /** Card variant */\n variant?: CardVariant;\n /** Card header title */\n title?: ReactNode;\n /** Card header subtitle */\n subheader?: ReactNode;\n /** Card header action */\n headerAction?: ReactNode;\n /** Card header styles */\n headerSx?: SxProps<Theme>;\n /** Card content styles */\n contentSx?: SxProps<Theme>;\n /** Card actions */\n actions?: ReactNode;\n /** Card actions styles */\n actionsSx?: SxProps<Theme>;\n /** Disable content padding */\n disablePadding?: boolean;\n}\n\n// =============================================================================\n// STYLED COMPONENT\n// =============================================================================\n\ninterface StyledCardProps {\n ownerState: {\n variant: CardVariant;\n };\n}\n\nconst StyledCard = styled(MuiCard, {\n shouldForwardProp: (prop) => prop !== 'ownerState',\n})<StyledCardProps>(({ theme, ownerState }) => {\n const { variant } = ownerState;\n\n const borderRadius = typeof theme.shape.borderRadius === 'number' ? theme.shape.borderRadius : 4;\n\n const softStyles = {\n border: 'none',\n boxShadow: 'none',\n backgroundColor: alpha(theme.palette.grey[500], 0.08),\n };\n\n return {\n position: 'relative',\n borderRadius: borderRadius * 2,\n ...(variant === 'soft' && softStyles),\n ...(variant === 'outlined' && {\n boxShadow: 'none',\n }),\n };\n});\n// =============================================================================\n// COMPONENT\n// =============================================================================\n\n/**\n * Card - Enhanced card component with variants.\n *\n * @example\n * ```tsx\n * <Card title=\"Card Title\" subheader=\"Subtitle\">\n * Card content goes here\n * </Card>\n * ```\n *\n * @example\n * ```tsx\n * // Soft variant\n * <Card variant=\"soft\" title=\"Settings\">\n * <TextField label=\"Name\" />\n * </Card>\n * ```\n *\n * @example\n * ```tsx\n * // With actions\n * <Card\n * title=\"Confirm Action\"\n * actions={\n * <>\n * <Button>Cancel</Button>\n * <Button variant=\"contained\">Confirm</Button>\n * </>\n * }\n * >\n * Are you sure you want to proceed?\n * </Card>\n * ```\n */\nexport function Card({variant = 'elevation',\n title,\n subheader,\n headerAction,\n headerSx,\n contentSx,\n actions,\n actionsSx,\n disablePadding,\n children,\n sx,\n ref, ...other }: CardProps & { ref?: Ref<HTMLDivElement> }) {\n const ownerState = { variant };\n\n const hasHeader = title || subheader || headerAction;\n\n return (\n <StyledCard\n ref={ref}\n ownerState={ownerState}\n variant={variant === 'outlined' ? 'outlined' : 'elevation'}\n sx={sx}\n {...other}\n >\n {hasHeader && <CardHeader title={title} subheader={subheader} action={headerAction} sx={headerSx} />}\n\n {children && (\n <CardContent\n sx={{\n ...(disablePadding && { p: 0, '&:last-child': { pb: 0 } }),\n ...contentSx,\n }}\n >\n {children}\n </CardContent>\n )}\n\n {actions && <CardActions sx={actionsSx}>{actions}</CardActions>}\n </StyledCard>\n );\n}\n\n// =============================================================================\n// CARD SECTION\n// =============================================================================\n\nexport interface CardSectionProps {\n /** Section title */\n title?: ReactNode;\n /** Section description */\n description?: ReactNode;\n /** Section content */\n children?: ReactNode;\n /** Additional styles */\n sx?: SxProps<Theme>;\n}\n\n/**\n * CardSection - A section within a card with title and description.\n *\n * @example\n * ```tsx\n * <Card>\n * <CardSection title=\"Personal Information\">\n * <TextField label=\"Name\" />\n * <TextField label=\"Email\" />\n * </CardSection>\n * <CardSection title=\"Preferences\">\n * <Switch label=\"Notifications\" />\n * </CardSection>\n * </Card>\n * ```\n */\nexport function CardSection({ title, description, children, sx }: CardSectionProps): ReactNode {\n return (\n <Box sx={{ mb: 3, ...sx }}>\n {title && (\n <Typography\n variant=\"subtitle1\"\n sx={{\n fontWeight: 600,\n mb: 1\n }}>\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n variant=\"body2\"\n sx={{\n color: \"text.secondary\",\n mb: 2\n }}>\n {description}\n </Typography>\n )}\n {children}\n </Box>\n );\n}\n\n// =============================================================================\n// STAT CARD\n// =============================================================================\n\nexport interface StatCardProps extends Omit<CardProps, 'children'> {\n /** Stat title */\n label: string;\n /** Stat value */\n value: string | number;\n /** Change percentage */\n change?: number;\n /** Icon */\n icon?: ReactNode;\n /** Color theme */\n color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';\n /** Loading state — shows skeletons instead of values */\n loading?: boolean;\n /** Optional subtitle below the value */\n subtitle?: string;\n}\n\n/**\n * StatCard - A card for displaying statistics.\n *\n * @example\n * ```tsx\n * <StatCard\n * label=\"Total Sales\"\n * value=\"$24,500\"\n * change={12.5}\n * icon={<TrendingUpIcon />}\n * color=\"success\"\n * />\n * ```\n */\nexport function StatCard({\n label,\n value,\n change,\n icon,\n color = 'primary',\n loading,\n subtitle,\n variant = 'outlined',\n sx,\n ...other\n}: StatCardProps): ReactNode {\n const isPositive = change && change > 0;\n const isNegative = change && change < 0;\n\n return (\n <Card variant={variant} contentSx={{ p: 2, '&:last-child': { pb: 2 } }} sx={sx} {...other}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}>\n <Box>\n {loading ? (\n <>\n <Skeleton width={80} height={16} />\n <Skeleton width={50} height={32} sx={{ mt: 0.5 }} />\n </>\n ) : (\n <>\n <Typography\n variant=\"caption\"\n sx={{\n fontWeight: 600,\n color: \"text.secondary\",\n textTransform: \"uppercase\",\n letterSpacing: 0.5\n }}>\n {label}\n </Typography>\n <Typography\n variant=\"h4\"\n sx={{\n fontWeight: 700,\n color: `${color}.main`,\n mt: 0.5\n }}>\n {value}\n </Typography>\n {change !== undefined && (\n <Typography\n variant=\"caption\"\n color={isPositive ? 'success.main' : isNegative ? 'error.main' : 'text.secondary'}\n sx={{\n fontWeight: 500,\n mt: 0.5,\n display: 'block'\n }}>\n {isPositive ? '+' : ''}\n {change}%\n </Typography>\n )}\n {subtitle && (\n <Typography variant=\"caption\" sx={{\n color: \"text.secondary\"\n }}>\n {subtitle}\n </Typography>\n )}\n </>\n )}\n </Box>\n {icon && !loading && <Box sx={{ color: `${color}.main` }}>{icon}</Box>}\n </Box>\n </Card>\n );\n}\n"]}
@@ -36,5 +36,5 @@ var defaultPrismConfig = {
36
36
  };
37
37
 
38
38
  export { defaultPrismConfig };
39
- //# sourceMappingURL=chunk-YSIG2XYH.js.map
40
- //# sourceMappingURL=chunk-YSIG2XYH.js.map
39
+ //# sourceMappingURL=chunk-ZRJYQN6Y.js.map
40
+ //# sourceMappingURL=chunk-ZRJYQN6Y.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types/config.ts"],"names":[],"mappings":";AAgGO,IAAM,kBAAA,GAAkC;AAAA,EAC7C,KAAA,EAAO;AAAA,IACL,UAAA,EAAY,sBAAA;AAAA,IACZ,MAAA,EAAQ,YAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,eAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAY;AAAA,IACV,OAAA,EAAS,8BAAA;AAAA,IACT,YAAY;AAAC,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,KAAA;AAAA,IACX,YAAA,EAAc;AAAA,MACZ,MAAA,EAAQ,OAAA;AAAA,MACR,mBAAA,EAAqB,YAAA;AAAA,MACrB,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,KAAA;AAAA,IACX,YAAA,EAAc,IAAA;AAAA,IACd,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,IAAA;AAAA,IACV,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,UAAA,EAAY;AACd","file":"chunk-YSIG2XYH.js","sourcesContent":["/**\n * Configuration Type Definitions\n *\n * @module types/config\n */\n\nimport type { ThemeConfig, ThemePreset } from './theme.js';\nimport type { RegistryConfig } from './registry.js';\n\n/**\n * Style framework options.\n */\nexport type StyleFramework = 'mui' | 'tailwind' | 'emotion';\n\n/**\n * Paths configuration.\n */\nexport interface PathsConfig {\n /** Path to components directory */\n components: string;\n /** Path to blocks directory */\n blocks: string;\n /** Path to theme directory */\n themes: string;\n /** Path to utilities directory */\n utils: string;\n /** Path to types directory */\n types: string;\n}\n\n/**\n * Style configuration.\n */\nexport interface StyleConfig {\n /** Style framework */\n framework: StyleFramework;\n /** Enable CSS variables */\n cssVariables: boolean;\n /** CSS variable prefix */\n prefix: string;\n}\n\n/**\n * Features configuration.\n */\nexport interface FeaturesConfig {\n /** Enable dark mode */\n darkMode: boolean;\n /** Enable RTL support */\n rtl: boolean;\n /** Enable i18n support */\n i18n: boolean;\n /** Enable analytics */\n analytics: boolean;\n}\n\n/**\n * Prism CLI configuration.\n */\nexport interface PrismConfig {\n /** Project name */\n name?: string;\n\n /** Paths configuration */\n paths: PathsConfig;\n\n /** Registry configuration */\n registries: RegistryConfig;\n\n /** Theme configuration */\n theme: ThemeConfig;\n\n /** Style configuration */\n style: StyleConfig;\n\n /** Features configuration */\n features: FeaturesConfig;\n\n /** TypeScript enabled */\n typescript: boolean;\n\n /** Custom aliases */\n aliases?: Record<string, string>;\n}\n\n/**\n * Prism config file (prism.config.ts).\n */\nexport interface PrismConfigFile {\n /** Configuration object or factory function */\n default: PrismConfig | (() => PrismConfig) | (() => Promise<PrismConfig>);\n}\n\n/**\n * Default configuration values.\n */\nexport const defaultPrismConfig: PrismConfig = {\n paths: {\n components: 'src/components/prism',\n blocks: 'src/blocks',\n themes: 'src/theme',\n utils: 'src/lib/prism',\n types: 'src/types/prism',\n },\n registries: {\n default: '@omnitron-dev/prism-registry',\n registries: {},\n },\n theme: {\n preset: 'default' as ThemePreset,\n mode: 'light',\n direction: 'ltr',\n cssVariables: {\n prefix: 'prism',\n colorSchemeSelector: 'data-theme',\n enabled: true,\n },\n },\n style: {\n framework: 'mui',\n cssVariables: true,\n prefix: 'prism',\n },\n features: {\n darkMode: true,\n rtl: false,\n i18n: false,\n analytics: false,\n },\n typescript: true,\n};\n\n/**\n * Partial config for user-defined overrides.\n */\nexport type PartialPrismConfig = DeepPartial<PrismConfig>;\n\n/**\n * Deep partial type helper.\n */\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\n/**\n * Define config helper type.\n */\nexport type DefineConfigFn = (config: PartialPrismConfig) => PrismConfig;\n"]}
1
+ {"version":3,"sources":["../src/types/config.ts"],"names":[],"mappings":";AAgGO,IAAM,kBAAA,GAAkC;AAAA,EAC7C,KAAA,EAAO;AAAA,IACL,UAAA,EAAY,sBAAA;AAAA,IACZ,MAAA,EAAQ,YAAA;AAAA,IACR,MAAA,EAAQ,WAAA;AAAA,IACR,KAAA,EAAO,eAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAY;AAAA,IACV,OAAA,EAAS,8BAAA;AAAA,IACT,YAAY;AAAC,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,SAAA,EAAW,KAAA;AAAA,IACX,YAAA,EAAc;AAAA,MACZ,MAAA,EAAQ,OAAA;AAAA,MACR,mBAAA,EAAqB,YAAA;AAAA,MACrB,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,KAAA;AAAA,IACX,YAAA,EAAc,IAAA;AAAA,IACd,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,IAAA;AAAA,IACV,GAAA,EAAK,KAAA;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,SAAA,EAAW;AAAA,GACb;AAAA,EACA,UAAA,EAAY;AACd","file":"chunk-ZRJYQN6Y.js","sourcesContent":["/**\n * Configuration Type Definitions\n *\n * @module types/config\n */\n\nimport type { ThemeConfig, ThemePreset } from './theme.js';\nimport type { RegistryConfig } from './registry.js';\n\n/**\n * Style framework options.\n */\nexport type StyleFramework = 'mui' | 'tailwind' | 'emotion';\n\n/**\n * Paths configuration.\n */\nexport interface PathsConfig {\n /** Path to components directory */\n components: string;\n /** Path to blocks directory */\n blocks: string;\n /** Path to theme directory */\n themes: string;\n /** Path to utilities directory */\n utils: string;\n /** Path to types directory */\n types: string;\n}\n\n/**\n * Style configuration.\n */\nexport interface StyleConfig {\n /** Style framework */\n framework: StyleFramework;\n /** Enable CSS variables */\n cssVariables: boolean;\n /** CSS variable prefix */\n prefix: string;\n}\n\n/**\n * Features configuration.\n */\nexport interface FeaturesConfig {\n /** Enable dark mode */\n darkMode: boolean;\n /** Enable RTL support */\n rtl: boolean;\n /** Enable i18n support */\n i18n: boolean;\n /** Enable analytics */\n analytics: boolean;\n}\n\n/**\n * Prism CLI configuration.\n */\nexport interface PrismConfig {\n /** Project name */\n name?: string;\n\n /** Paths configuration */\n paths: PathsConfig;\n\n /** Registry configuration */\n registries: RegistryConfig;\n\n /** Theme configuration */\n theme: ThemeConfig;\n\n /** Style configuration */\n style: StyleConfig;\n\n /** Features configuration */\n features: FeaturesConfig;\n\n /** TypeScript enabled */\n typescript: boolean;\n\n /** Custom aliases */\n aliases?: Record<string, string>;\n}\n\n/**\n * Prism config file (prism.config.ts).\n */\nexport interface PrismConfigFile {\n /** Configuration object or factory function */\n default: PrismConfig | (() => PrismConfig) | (() => Promise<PrismConfig>);\n}\n\n/**\n * Default configuration values.\n */\nexport const defaultPrismConfig: PrismConfig = {\n paths: {\n components: 'src/components/prism',\n blocks: 'src/blocks',\n themes: 'src/theme',\n utils: 'src/lib/prism',\n types: 'src/types/prism',\n },\n registries: {\n default: '@omnitron-dev/prism-registry',\n registries: {},\n },\n theme: {\n preset: 'default' as ThemePreset,\n mode: 'light',\n direction: 'ltr',\n cssVariables: {\n prefix: 'prism',\n colorSchemeSelector: 'data-theme',\n enabled: true,\n },\n },\n style: {\n framework: 'mui',\n cssVariables: true,\n prefix: 'prism',\n },\n features: {\n darkMode: true,\n rtl: false,\n i18n: false,\n analytics: false,\n },\n typescript: true,\n};\n\n/**\n * Partial config for user-defined overrides.\n */\nexport type PartialPrismConfig = DeepPartial<PrismConfig>;\n\n/**\n * Deep partial type helper.\n */\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\n/**\n * Define config helper type.\n */\nexport type DefineConfigFn = (config: PartialPrismConfig) => PrismConfig;\n"]}
@@ -1,6 +1,7 @@
1
1
  import Box from '@mui/material/Box';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
+ // src/core/accessibility/skip-link.tsx
4
5
  function SkipLink({ href, children, sx }) {
5
6
  return /* @__PURE__ */ jsx(
6
7
  Box,
@@ -136,5 +137,5 @@ function announceToScreenReader(message, priority = "polite") {
136
137
  }
137
138
 
138
139
  export { ARIA_LABELS, SkipLink, announceToScreenReader, combineAriaDescribedBy, focusVisibleStyles, generateAriaId, getAriaExpanded, handleListKeyDown, srOnly };
139
- //# sourceMappingURL=chunk-AD4W7HYC.js.map
140
- //# sourceMappingURL=chunk-AD4W7HYC.js.map
140
+ //# sourceMappingURL=chunk-ZYI3MHLE.js.map
141
+ //# sourceMappingURL=chunk-ZYI3MHLE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/accessibility/skip-link.tsx","../src/core/accessibility/index.ts"],"names":[],"mappings":"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","file":"chunk-ZYI3MHLE.js","sourcesContent":["/**\n * Skip Link Component\n *\n * Provides keyboard users a way to skip navigation and jump to main content.\n *\n * @module core/accessibility/skip-link\n */\n\nimport type { ReactNode } from 'react';\nimport Box from '@mui/material/Box';\nimport type { SxProps, Theme } from '@mui/material';\n\n/**\n * Props for SkipLink component.\n */\nexport interface SkipLinkProps {\n /** Target element ID to skip to */\n href: string;\n /** Link content (typically \"Skip to main content\") */\n children: ReactNode;\n /** MUI sx prop */\n sx?: SxProps<Theme>;\n}\n\n/**\n * Skip link that is visually hidden until focused.\n * Allows keyboard users to skip navigation and jump to main content.\n *\n * @example\n * ```tsx\n * <SkipLink href=\"#main-content\">Skip to main content</SkipLink>\n * ```\n */\nexport function SkipLink({ href, children, sx }: SkipLinkProps): ReactNode {\n return (\n <Box\n component=\"a\"\n href={href}\n sx={[\n (theme) => ({\n position: 'absolute',\n top: '-100%',\n left: 0,\n right: 0,\n zIndex: theme.zIndex.tooltip + 1,\n padding: theme.spacing(1, 2),\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n textAlign: 'center',\n textDecoration: 'none',\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.body2.fontSize,\n // Show on focus\n '&:focus': {\n top: 0,\n outline: `2px solid ${theme.palette.primary.dark}`,\n outlineOffset: 2,\n },\n }),\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {children}\n </Box>\n );\n}\n","/**\n * Accessibility Utilities\n *\n * WCAG 2.1 compliant accessibility components and utilities.\n *\n * @module core/accessibility\n */\n\nexport { SkipLink } from './skip-link.js';\nexport type { SkipLinkProps } from './skip-link.js';\n\n// =============================================================================\n// ARIA HELPERS\n// =============================================================================\n\n/**\n * Generate ID for accessibility references.\n */\nexport function generateAriaId(prefix: string): string {\n return `${prefix}-${Math.random().toString(36).slice(2, 9)}`;\n}\n\n/**\n * Combine multiple aria-describedby values.\n */\nexport function combineAriaDescribedBy(...ids: (string | undefined)[]): string | undefined {\n const validIds = ids.filter(Boolean);\n return validIds.length > 0 ? validIds.join(' ') : undefined;\n}\n\n/**\n * Screen reader only styles (visually hidden but accessible).\n */\nexport const srOnly = {\n position: 'absolute' as const,\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap' as const,\n border: 0,\n};\n\n/**\n * Focus visible styles for keyboard navigation.\n */\nexport const focusVisibleStyles = (theme: { palette: { primary: { main: string } } }) => ({\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2,\n },\n});\n\n// =============================================================================\n// KEYBOARD NAVIGATION HELPERS\n// =============================================================================\n\n/**\n * Handle keyboard navigation for list items.\n */\nexport function handleListKeyDown(\n event: React.KeyboardEvent,\n options: {\n items: HTMLElement[];\n currentIndex: number;\n onSelect?: (index: number) => void;\n orientation?: 'vertical' | 'horizontal';\n }\n): void {\n const { items, currentIndex, onSelect, orientation = 'vertical' } = options;\n\n const nextKey = orientation === 'vertical' ? 'ArrowDown' : 'ArrowRight';\n const prevKey = orientation === 'vertical' ? 'ArrowUp' : 'ArrowLeft';\n\n let newIndex: number;\n\n switch (event.key) {\n case nextKey:\n event.preventDefault();\n newIndex = Math.min(currentIndex + 1, items.length - 1);\n break;\n case prevKey:\n event.preventDefault();\n newIndex = Math.max(currentIndex - 1, 0);\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = items.length - 1;\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n onSelect?.(currentIndex);\n return;\n default:\n return;\n }\n\n if (newIndex !== currentIndex && items[newIndex]) {\n items[newIndex].focus();\n }\n}\n\n// =============================================================================\n// LANDMARK ROLES\n// =============================================================================\n\n/**\n * Standard ARIA landmark labels.\n */\nexport const ARIA_LABELS = {\n /** Main navigation */\n mainNav: 'Main navigation',\n /** Secondary navigation */\n secondaryNav: 'Secondary navigation',\n /** Search */\n search: 'Search',\n /** Main content */\n main: 'Main content',\n /** Header */\n header: 'Header',\n /** Footer */\n footer: 'Footer',\n /** Sidebar */\n sidebar: 'Sidebar',\n /** Breadcrumb navigation */\n breadcrumb: 'Breadcrumb navigation',\n /** User menu */\n userMenu: 'User menu',\n /** Settings */\n settings: 'Settings',\n} as const;\n\n/**\n * Common ARIA expanded patterns.\n */\nexport interface AriaExpandedProps {\n 'aria-expanded': boolean;\n 'aria-controls'?: string;\n}\n\n/**\n * Get aria-expanded props.\n */\nexport function getAriaExpanded(expanded: boolean, controlsId?: string): AriaExpandedProps {\n return {\n 'aria-expanded': expanded,\n ...(controlsId && { 'aria-controls': controlsId }),\n };\n}\n\n// =============================================================================\n// LIVE REGION HELPERS\n// =============================================================================\n\n/**\n * Announce message to screen readers.\n */\nexport function announceToScreenReader(message: string, priority: 'polite' | 'assertive' = 'polite'): void {\n const announcement = document.createElement('div');\n announcement.setAttribute('role', 'status');\n announcement.setAttribute('aria-live', priority);\n announcement.setAttribute('aria-atomic', 'true');\n Object.assign(announcement.style, srOnly);\n announcement.textContent = message;\n\n document.body.appendChild(announcement);\n\n // Remove after announcement is read\n setTimeout(() => {\n document.body.removeChild(announcement);\n }, 1000);\n}\n"]}