@nanisoft/prism-ui 0.4.0 → 0.5.1

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 (633) hide show
  1. package/README.md +81 -0
  2. package/THIRD-PARTY-NOTICES.md +48 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/blocks/app-shell-01/app-shell.d.ts +38 -0
  5. package/dist/blocks/app-shell-01/app-shell.d.ts.map +1 -0
  6. package/dist/blocks/app-shell-01/app-shell.js +27 -0
  7. package/dist/blocks/app-shell-01/index.d.ts +3 -0
  8. package/dist/blocks/app-shell-01/index.d.ts.map +1 -0
  9. package/dist/blocks/app-shell-01/index.js +1 -0
  10. package/dist/blocks/auth-form-01/auth-form.d.ts +52 -0
  11. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -0
  12. package/dist/blocks/auth-form-01/auth-form.js +23 -0
  13. package/dist/blocks/auth-form-01/index.d.ts +3 -0
  14. package/dist/blocks/auth-form-01/index.d.ts.map +1 -0
  15. package/dist/blocks/auth-form-01/index.js +1 -0
  16. package/dist/blocks/cta-01/cta.d.ts +23 -0
  17. package/dist/blocks/cta-01/cta.d.ts.map +1 -0
  18. package/dist/blocks/cta-01/cta.js +24 -0
  19. package/dist/blocks/cta-01/index.d.ts +2 -0
  20. package/dist/blocks/cta-01/index.d.ts.map +1 -0
  21. package/dist/blocks/cta-01/index.js +1 -0
  22. package/dist/blocks/data-table-01/data-table.d.ts +102 -0
  23. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -0
  24. package/dist/blocks/data-table-01/data-table.js +116 -0
  25. package/dist/blocks/data-table-01/index.d.ts +3 -0
  26. package/dist/blocks/data-table-01/index.d.ts.map +1 -0
  27. package/dist/blocks/data-table-01/index.js +1 -0
  28. package/dist/blocks/feature-grid-01/feature-grid.d.ts +27 -0
  29. package/dist/blocks/feature-grid-01/feature-grid.d.ts.map +1 -0
  30. package/dist/blocks/feature-grid-01/feature-grid.js +14 -0
  31. package/dist/blocks/feature-grid-01/index.d.ts +2 -0
  32. package/dist/blocks/feature-grid-01/index.d.ts.map +1 -0
  33. package/dist/blocks/feature-grid-01/index.js +1 -0
  34. package/dist/blocks/hero-01/hero.d.ts +30 -0
  35. package/dist/blocks/hero-01/hero.d.ts.map +1 -0
  36. package/dist/blocks/hero-01/hero.js +12 -0
  37. package/dist/blocks/hero-01/index.d.ts +2 -0
  38. package/dist/blocks/hero-01/index.d.ts.map +1 -0
  39. package/dist/blocks/hero-01/index.js +1 -0
  40. package/dist/blocks/index.d.ts +17 -4
  41. package/dist/blocks/index.d.ts.map +1 -1
  42. package/dist/blocks/index.js +17 -6
  43. package/dist/blocks/page-header-01/index.d.ts +3 -0
  44. package/dist/blocks/page-header-01/index.d.ts.map +1 -0
  45. package/dist/blocks/page-header-01/index.js +1 -0
  46. package/dist/blocks/page-header-01/page-header.d.ts +48 -0
  47. package/dist/blocks/page-header-01/page-header.d.ts.map +1 -0
  48. package/dist/blocks/page-header-01/page-header.js +27 -0
  49. package/dist/blocks/pricing-01/index.d.ts +2 -0
  50. package/dist/blocks/pricing-01/index.d.ts.map +1 -0
  51. package/dist/blocks/pricing-01/index.js +1 -0
  52. package/dist/blocks/pricing-01/pricing.d.ts +35 -0
  53. package/dist/blocks/pricing-01/pricing.d.ts.map +1 -0
  54. package/dist/blocks/pricing-01/pricing.js +20 -0
  55. package/dist/blocks/settings-panel-01/index.d.ts +3 -0
  56. package/dist/blocks/settings-panel-01/index.d.ts.map +1 -0
  57. package/dist/blocks/settings-panel-01/index.js +1 -0
  58. package/dist/blocks/settings-panel-01/settings-panel.d.ts +71 -0
  59. package/dist/blocks/settings-panel-01/settings-panel.d.ts.map +1 -0
  60. package/dist/blocks/settings-panel-01/settings-panel.js +38 -0
  61. package/dist/blocks/stats-01/index.d.ts +2 -0
  62. package/dist/blocks/stats-01/index.d.ts.map +1 -0
  63. package/dist/blocks/stats-01/index.js +1 -0
  64. package/dist/blocks/stats-01/stats.d.ts +28 -0
  65. package/dist/blocks/stats-01/stats.d.ts.map +1 -0
  66. package/dist/blocks/stats-01/stats.js +27 -0
  67. package/dist/catalog.d.ts +28 -0
  68. package/dist/catalog.d.ts.map +1 -0
  69. package/dist/catalog.js +502 -0
  70. package/dist/components/index.d.ts +52 -2
  71. package/dist/components/index.d.ts.map +1 -1
  72. package/dist/components/index.js +37 -5
  73. package/dist/components/ui/accordion.d.ts +65 -0
  74. package/dist/components/ui/accordion.d.ts.map +1 -0
  75. package/dist/components/ui/accordion.js +30 -0
  76. package/dist/components/ui/alert.d.ts +19 -0
  77. package/dist/components/ui/alert.d.ts.map +1 -0
  78. package/dist/components/ui/alert.js +31 -0
  79. package/dist/components/ui/avatar.d.ts +47 -0
  80. package/dist/components/ui/avatar.d.ts.map +1 -0
  81. package/dist/components/ui/avatar.js +30 -0
  82. package/dist/components/ui/badge.d.ts +14 -0
  83. package/dist/components/ui/badge.d.ts.map +1 -0
  84. package/dist/components/ui/badge.js +26 -0
  85. package/dist/components/ui/breadcrumb.d.ts +35 -0
  86. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  87. package/dist/components/ui/breadcrumb.js +48 -0
  88. package/dist/components/ui/button.d.ts +16 -0
  89. package/dist/components/ui/button.d.ts.map +1 -0
  90. package/dist/components/ui/button.js +63 -0
  91. package/dist/components/ui/card.d.ts +16 -0
  92. package/dist/components/ui/card.d.ts.map +1 -0
  93. package/dist/components/ui/card.js +28 -0
  94. package/dist/components/ui/checkbox.d.ts +43 -0
  95. package/dist/components/ui/checkbox.d.ts.map +1 -0
  96. package/dist/components/ui/checkbox.js +18 -0
  97. package/dist/components/ui/dialog.d.ts +81 -0
  98. package/dist/components/ui/dialog.d.ts.map +1 -0
  99. package/dist/components/ui/dialog.js +60 -0
  100. package/dist/components/ui/dropdown-menu.d.ts +189 -0
  101. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  102. package/dist/components/ui/dropdown-menu.js +67 -0
  103. package/dist/components/ui/field.d.ts +36 -0
  104. package/dist/components/ui/field.d.ts.map +1 -0
  105. package/dist/components/ui/field.js +46 -0
  106. package/dist/components/ui/input.d.ts +12 -0
  107. package/dist/components/ui/input.d.ts.map +1 -0
  108. package/dist/components/ui/input.js +14 -0
  109. package/dist/components/ui/kbd.d.ts +10 -0
  110. package/dist/components/ui/kbd.d.ts.map +1 -0
  111. package/dist/components/ui/kbd.js +12 -0
  112. package/dist/components/ui/pagination.d.ts +40 -0
  113. package/dist/components/ui/pagination.d.ts.map +1 -0
  114. package/dist/components/ui/pagination.js +49 -0
  115. package/dist/components/ui/popover.d.ts +56 -0
  116. package/dist/components/ui/popover.d.ts.map +1 -0
  117. package/dist/components/ui/popover.js +25 -0
  118. package/dist/components/ui/progress.d.ts +38 -0
  119. package/dist/components/ui/progress.d.ts.map +1 -0
  120. package/dist/components/ui/progress.js +17 -0
  121. package/dist/components/ui/radio-group.d.ts +66 -0
  122. package/dist/components/ui/radio-group.d.ts.map +1 -0
  123. package/dist/components/ui/radio-group.js +30 -0
  124. package/dist/components/ui/section.d.ts +37 -0
  125. package/dist/components/ui/section.d.ts.map +1 -0
  126. package/dist/components/ui/section.js +12 -0
  127. package/dist/components/ui/select.d.ts +124 -0
  128. package/dist/components/ui/select.d.ts.map +1 -0
  129. package/dist/components/ui/select.js +47 -0
  130. package/dist/components/ui/separator.d.ts +16 -0
  131. package/dist/components/ui/separator.d.ts.map +1 -0
  132. package/dist/components/ui/separator.js +15 -0
  133. package/dist/components/ui/skeleton.d.ts +12 -0
  134. package/dist/components/ui/skeleton.d.ts.map +1 -0
  135. package/dist/components/ui/skeleton.js +14 -0
  136. package/dist/components/ui/slider.d.ts +43 -0
  137. package/dist/components/ui/slider.d.ts.map +1 -0
  138. package/dist/components/ui/slider.js +17 -0
  139. package/dist/components/ui/switch.d.ts +42 -0
  140. package/dist/components/ui/switch.d.ts.map +1 -0
  141. package/dist/components/ui/switch.js +16 -0
  142. package/dist/components/ui/table.d.ts +27 -0
  143. package/dist/components/ui/table.d.ts.map +1 -0
  144. package/dist/components/ui/table.js +43 -0
  145. package/dist/components/ui/tabs.d.ts +66 -0
  146. package/dist/components/ui/tabs.d.ts.map +1 -0
  147. package/dist/components/ui/tabs.js +29 -0
  148. package/dist/components/ui/textarea.d.ts +11 -0
  149. package/dist/components/ui/textarea.d.ts.map +1 -0
  150. package/dist/components/ui/textarea.js +13 -0
  151. package/dist/components/ui/tooltip.d.ts +63 -0
  152. package/dist/components/ui/tooltip.d.ts.map +1 -0
  153. package/dist/components/ui/tooltip.js +25 -0
  154. package/dist/components/ui/typography.d.ts +32 -0
  155. package/dist/components/ui/typography.d.ts.map +1 -0
  156. package/dist/components/ui/typography.js +51 -0
  157. package/dist/index.d.ts +54 -13
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +51 -20
  160. package/dist/lib/utils.d.ts +3 -0
  161. package/dist/lib/utils.d.ts.map +1 -0
  162. package/dist/lib/utils.js +5 -0
  163. package/dist/pages/auth-page/index.d.ts +36 -0
  164. package/dist/pages/auth-page/index.d.ts.map +1 -0
  165. package/dist/pages/auth-page/index.js +23 -0
  166. package/dist/pages/dashboard-page/index.d.ts +36 -0
  167. package/dist/pages/dashboard-page/index.d.ts.map +1 -0
  168. package/dist/pages/dashboard-page/index.js +24 -0
  169. package/dist/pages/index.d.ts +16 -2
  170. package/dist/pages/index.d.ts.map +1 -1
  171. package/dist/pages/index.js +12 -4
  172. package/dist/pages/marketing-page/index.d.ts +43 -0
  173. package/dist/pages/marketing-page/index.d.ts.map +1 -0
  174. package/dist/pages/marketing-page/index.js +25 -0
  175. package/dist/pages/settings-page/index.d.ts +47 -0
  176. package/dist/pages/settings-page/index.d.ts.map +1 -0
  177. package/dist/pages/settings-page/index.js +24 -0
  178. package/dist/provider/index.d.ts +11 -4
  179. package/dist/provider/index.d.ts.map +1 -1
  180. package/dist/provider/index.js +9 -5
  181. package/dist/provider/provider.d.ts +37 -0
  182. package/dist/provider/provider.d.ts.map +1 -0
  183. package/dist/provider/provider.js +87 -0
  184. package/dist/provider/theme-script.d.ts +17 -0
  185. package/dist/provider/theme-script.d.ts.map +1 -0
  186. package/dist/provider/theme-script.js +28 -0
  187. package/dist/styles.css +2366 -325
  188. package/dist/theming/index.d.ts +42 -3
  189. package/dist/theming/index.d.ts.map +1 -1
  190. package/dist/theming/index.js +60 -8
  191. package/package.json +64 -64
  192. package/dist/blocks/component-demo/ComponentDemo.d.ts +0 -13
  193. package/dist/blocks/component-demo/ComponentDemo.d.ts.map +0 -1
  194. package/dist/blocks/component-demo/ComponentDemo.js +0 -5
  195. package/dist/blocks/component-demo/ComponentDemo.js.map +0 -1
  196. package/dist/blocks/component-demo/index.d.ts +0 -2
  197. package/dist/blocks/component-demo/index.d.ts.map +0 -1
  198. package/dist/blocks/component-demo/index.js +0 -2
  199. package/dist/blocks/component-demo/index.js.map +0 -1
  200. package/dist/blocks/component-demo.d.ts +0 -15
  201. package/dist/blocks/component-demo.d.ts.map +0 -1
  202. package/dist/blocks/component-demo.js +0 -11
  203. package/dist/blocks/component-demo.js.map +0 -1
  204. package/dist/blocks/index.js.map +0 -1
  205. package/dist/blocks/page-header/PageHeader.d.ts +0 -11
  206. package/dist/blocks/page-header/PageHeader.d.ts.map +0 -1
  207. package/dist/blocks/page-header/PageHeader.js +0 -9
  208. package/dist/blocks/page-header/PageHeader.js.map +0 -1
  209. package/dist/blocks/page-header/index.d.ts +0 -2
  210. package/dist/blocks/page-header/index.d.ts.map +0 -1
  211. package/dist/blocks/page-header/index.js +0 -2
  212. package/dist/blocks/page-header/index.js.map +0 -1
  213. package/dist/blocks/page-header.d.ts +0 -16
  214. package/dist/blocks/page-header.d.ts.map +0 -1
  215. package/dist/blocks/page-header.js +0 -13
  216. package/dist/blocks/page-header.js.map +0 -1
  217. package/dist/blocks/site-footer/SiteFooter.d.ts +0 -26
  218. package/dist/blocks/site-footer/SiteFooter.d.ts.map +0 -1
  219. package/dist/blocks/site-footer/SiteFooter.js +0 -10
  220. package/dist/blocks/site-footer/SiteFooter.js.map +0 -1
  221. package/dist/blocks/site-footer/index.d.ts +0 -2
  222. package/dist/blocks/site-footer/index.d.ts.map +0 -1
  223. package/dist/blocks/site-footer/index.js +0 -2
  224. package/dist/blocks/site-footer/index.js.map +0 -1
  225. package/dist/blocks/site-header/SiteHeader.d.ts +0 -19
  226. package/dist/blocks/site-header/SiteHeader.d.ts.map +0 -1
  227. package/dist/blocks/site-header/SiteHeader.js +0 -32
  228. package/dist/blocks/site-header/SiteHeader.js.map +0 -1
  229. package/dist/blocks/site-header/index.d.ts +0 -2
  230. package/dist/blocks/site-header/index.d.ts.map +0 -1
  231. package/dist/blocks/site-header/index.js +0 -2
  232. package/dist/blocks/site-header/index.js.map +0 -1
  233. package/dist/components/affix/index.d.ts +0 -2
  234. package/dist/components/affix/index.d.ts.map +0 -1
  235. package/dist/components/affix/index.js +0 -3
  236. package/dist/components/affix/index.js.map +0 -1
  237. package/dist/components/alert/index.d.ts +0 -2
  238. package/dist/components/alert/index.d.ts.map +0 -1
  239. package/dist/components/alert/index.js +0 -3
  240. package/dist/components/alert/index.js.map +0 -1
  241. package/dist/components/anchor/index.d.ts +0 -2
  242. package/dist/components/anchor/index.d.ts.map +0 -1
  243. package/dist/components/anchor/index.js +0 -3
  244. package/dist/components/anchor/index.js.map +0 -1
  245. package/dist/components/auto-complete/index.d.ts +0 -2
  246. package/dist/components/auto-complete/index.d.ts.map +0 -1
  247. package/dist/components/auto-complete/index.js +0 -3
  248. package/dist/components/auto-complete/index.js.map +0 -1
  249. package/dist/components/avatar/index.d.ts +0 -2
  250. package/dist/components/avatar/index.d.ts.map +0 -1
  251. package/dist/components/avatar/index.js +0 -3
  252. package/dist/components/avatar/index.js.map +0 -1
  253. package/dist/components/back-top/index.d.ts +0 -2
  254. package/dist/components/back-top/index.d.ts.map +0 -1
  255. package/dist/components/back-top/index.js +0 -3
  256. package/dist/components/back-top/index.js.map +0 -1
  257. package/dist/components/badge/index.d.ts +0 -2
  258. package/dist/components/badge/index.d.ts.map +0 -1
  259. package/dist/components/badge/index.js +0 -3
  260. package/dist/components/badge/index.js.map +0 -1
  261. package/dist/components/border-beam/index.d.ts +0 -2
  262. package/dist/components/border-beam/index.d.ts.map +0 -1
  263. package/dist/components/border-beam/index.js +0 -3
  264. package/dist/components/border-beam/index.js.map +0 -1
  265. package/dist/components/breadcrumb/index.d.ts +0 -2
  266. package/dist/components/breadcrumb/index.d.ts.map +0 -1
  267. package/dist/components/breadcrumb/index.js +0 -3
  268. package/dist/components/breadcrumb/index.js.map +0 -1
  269. package/dist/components/button/index.d.ts +0 -2
  270. package/dist/components/button/index.d.ts.map +0 -1
  271. package/dist/components/button/index.js +0 -3
  272. package/dist/components/button/index.js.map +0 -1
  273. package/dist/components/calendar/index.d.ts +0 -2
  274. package/dist/components/calendar/index.d.ts.map +0 -1
  275. package/dist/components/calendar/index.js +0 -3
  276. package/dist/components/calendar/index.js.map +0 -1
  277. package/dist/components/card/index.d.ts +0 -2
  278. package/dist/components/card/index.d.ts.map +0 -1
  279. package/dist/components/card/index.js +0 -3
  280. package/dist/components/card/index.js.map +0 -1
  281. package/dist/components/carousel/index.d.ts +0 -2
  282. package/dist/components/carousel/index.d.ts.map +0 -1
  283. package/dist/components/carousel/index.js +0 -3
  284. package/dist/components/carousel/index.js.map +0 -1
  285. package/dist/components/cascader/index.d.ts +0 -2
  286. package/dist/components/cascader/index.d.ts.map +0 -1
  287. package/dist/components/cascader/index.js +0 -3
  288. package/dist/components/cascader/index.js.map +0 -1
  289. package/dist/components/checkbox/index.d.ts +0 -2
  290. package/dist/components/checkbox/index.d.ts.map +0 -1
  291. package/dist/components/checkbox/index.js +0 -3
  292. package/dist/components/checkbox/index.js.map +0 -1
  293. package/dist/components/col/index.d.ts +0 -2
  294. package/dist/components/col/index.d.ts.map +0 -1
  295. package/dist/components/col/index.js +0 -3
  296. package/dist/components/col/index.js.map +0 -1
  297. package/dist/components/collapse/index.d.ts +0 -2
  298. package/dist/components/collapse/index.d.ts.map +0 -1
  299. package/dist/components/collapse/index.js +0 -3
  300. package/dist/components/collapse/index.js.map +0 -1
  301. package/dist/components/color-picker/index.d.ts +0 -2
  302. package/dist/components/color-picker/index.d.ts.map +0 -1
  303. package/dist/components/color-picker/index.js +0 -3
  304. package/dist/components/color-picker/index.js.map +0 -1
  305. package/dist/components/date-picker/index.d.ts +0 -2
  306. package/dist/components/date-picker/index.d.ts.map +0 -1
  307. package/dist/components/date-picker/index.js +0 -3
  308. package/dist/components/date-picker/index.js.map +0 -1
  309. package/dist/components/descriptions/index.d.ts +0 -2
  310. package/dist/components/descriptions/index.d.ts.map +0 -1
  311. package/dist/components/descriptions/index.js +0 -3
  312. package/dist/components/descriptions/index.js.map +0 -1
  313. package/dist/components/display-title/DisplayTitle.d.ts +0 -7
  314. package/dist/components/display-title/DisplayTitle.d.ts.map +0 -1
  315. package/dist/components/display-title/DisplayTitle.js +0 -12
  316. package/dist/components/display-title/DisplayTitle.js.map +0 -1
  317. package/dist/components/display-title/index.d.ts +0 -2
  318. package/dist/components/display-title/index.d.ts.map +0 -1
  319. package/dist/components/display-title/index.js +0 -2
  320. package/dist/components/display-title/index.js.map +0 -1
  321. package/dist/components/divider/index.d.ts +0 -2
  322. package/dist/components/divider/index.d.ts.map +0 -1
  323. package/dist/components/divider/index.js +0 -3
  324. package/dist/components/divider/index.js.map +0 -1
  325. package/dist/components/drawer/index.d.ts +0 -2
  326. package/dist/components/drawer/index.d.ts.map +0 -1
  327. package/dist/components/drawer/index.js +0 -3
  328. package/dist/components/drawer/index.js.map +0 -1
  329. package/dist/components/dropdown/index.d.ts +0 -2
  330. package/dist/components/dropdown/index.d.ts.map +0 -1
  331. package/dist/components/dropdown/index.js +0 -3
  332. package/dist/components/dropdown/index.js.map +0 -1
  333. package/dist/components/empty/index.d.ts +0 -2
  334. package/dist/components/empty/index.d.ts.map +0 -1
  335. package/dist/components/empty/index.js +0 -3
  336. package/dist/components/empty/index.js.map +0 -1
  337. package/dist/components/flex/index.d.ts +0 -2
  338. package/dist/components/flex/index.d.ts.map +0 -1
  339. package/dist/components/flex/index.js +0 -3
  340. package/dist/components/flex/index.js.map +0 -1
  341. package/dist/components/float-button/index.d.ts +0 -2
  342. package/dist/components/float-button/index.d.ts.map +0 -1
  343. package/dist/components/float-button/index.js +0 -3
  344. package/dist/components/float-button/index.js.map +0 -1
  345. package/dist/components/form/index.d.ts +0 -2
  346. package/dist/components/form/index.d.ts.map +0 -1
  347. package/dist/components/form/index.js +0 -3
  348. package/dist/components/form/index.js.map +0 -1
  349. package/dist/components/grid/index.d.ts +0 -2
  350. package/dist/components/grid/index.d.ts.map +0 -1
  351. package/dist/components/grid/index.js +0 -3
  352. package/dist/components/grid/index.js.map +0 -1
  353. package/dist/components/image/index.d.ts +0 -2
  354. package/dist/components/image/index.d.ts.map +0 -1
  355. package/dist/components/image/index.js +0 -3
  356. package/dist/components/image/index.js.map +0 -1
  357. package/dist/components/index.js.map +0 -1
  358. package/dist/components/input/index.d.ts +0 -2
  359. package/dist/components/input/index.d.ts.map +0 -1
  360. package/dist/components/input/index.js +0 -3
  361. package/dist/components/input/index.js.map +0 -1
  362. package/dist/components/input-number/index.d.ts +0 -2
  363. package/dist/components/input-number/index.d.ts.map +0 -1
  364. package/dist/components/input-number/index.js +0 -3
  365. package/dist/components/input-number/index.js.map +0 -1
  366. package/dist/components/layout/index.d.ts +0 -2
  367. package/dist/components/layout/index.d.ts.map +0 -1
  368. package/dist/components/layout/index.js +0 -3
  369. package/dist/components/layout/index.js.map +0 -1
  370. package/dist/components/list/index.d.ts +0 -2
  371. package/dist/components/list/index.d.ts.map +0 -1
  372. package/dist/components/list/index.js +0 -3
  373. package/dist/components/list/index.js.map +0 -1
  374. package/dist/components/listy/index.d.ts +0 -2
  375. package/dist/components/listy/index.d.ts.map +0 -1
  376. package/dist/components/listy/index.js +0 -3
  377. package/dist/components/listy/index.js.map +0 -1
  378. package/dist/components/masonry/index.d.ts +0 -2
  379. package/dist/components/masonry/index.d.ts.map +0 -1
  380. package/dist/components/masonry/index.js +0 -3
  381. package/dist/components/masonry/index.js.map +0 -1
  382. package/dist/components/mentions/index.d.ts +0 -2
  383. package/dist/components/mentions/index.d.ts.map +0 -1
  384. package/dist/components/mentions/index.js +0 -3
  385. package/dist/components/mentions/index.js.map +0 -1
  386. package/dist/components/menu/index.d.ts +0 -2
  387. package/dist/components/menu/index.d.ts.map +0 -1
  388. package/dist/components/menu/index.js +0 -3
  389. package/dist/components/menu/index.js.map +0 -1
  390. package/dist/components/modal/index.d.ts +0 -2
  391. package/dist/components/modal/index.d.ts.map +0 -1
  392. package/dist/components/modal/index.js +0 -3
  393. package/dist/components/modal/index.js.map +0 -1
  394. package/dist/components/pagination/index.d.ts +0 -2
  395. package/dist/components/pagination/index.d.ts.map +0 -1
  396. package/dist/components/pagination/index.js +0 -3
  397. package/dist/components/pagination/index.js.map +0 -1
  398. package/dist/components/popconfirm/index.d.ts +0 -2
  399. package/dist/components/popconfirm/index.d.ts.map +0 -1
  400. package/dist/components/popconfirm/index.js +0 -3
  401. package/dist/components/popconfirm/index.js.map +0 -1
  402. package/dist/components/popover/index.d.ts +0 -2
  403. package/dist/components/popover/index.d.ts.map +0 -1
  404. package/dist/components/popover/index.js +0 -3
  405. package/dist/components/popover/index.js.map +0 -1
  406. package/dist/components/progress/index.d.ts +0 -2
  407. package/dist/components/progress/index.d.ts.map +0 -1
  408. package/dist/components/progress/index.js +0 -3
  409. package/dist/components/progress/index.js.map +0 -1
  410. package/dist/components/qrcode/index.d.ts +0 -2
  411. package/dist/components/qrcode/index.d.ts.map +0 -1
  412. package/dist/components/qrcode/index.js +0 -3
  413. package/dist/components/qrcode/index.js.map +0 -1
  414. package/dist/components/radio/index.d.ts +0 -2
  415. package/dist/components/radio/index.d.ts.map +0 -1
  416. package/dist/components/radio/index.js +0 -3
  417. package/dist/components/radio/index.js.map +0 -1
  418. package/dist/components/rate/index.d.ts +0 -2
  419. package/dist/components/rate/index.d.ts.map +0 -1
  420. package/dist/components/rate/index.js +0 -3
  421. package/dist/components/rate/index.js.map +0 -1
  422. package/dist/components/result/index.d.ts +0 -2
  423. package/dist/components/result/index.d.ts.map +0 -1
  424. package/dist/components/result/index.js +0 -3
  425. package/dist/components/result/index.js.map +0 -1
  426. package/dist/components/row/index.d.ts +0 -2
  427. package/dist/components/row/index.d.ts.map +0 -1
  428. package/dist/components/row/index.js +0 -3
  429. package/dist/components/row/index.js.map +0 -1
  430. package/dist/components/segmented/index.d.ts +0 -2
  431. package/dist/components/segmented/index.d.ts.map +0 -1
  432. package/dist/components/segmented/index.js +0 -3
  433. package/dist/components/segmented/index.js.map +0 -1
  434. package/dist/components/select/index.d.ts +0 -2
  435. package/dist/components/select/index.d.ts.map +0 -1
  436. package/dist/components/select/index.js +0 -3
  437. package/dist/components/select/index.js.map +0 -1
  438. package/dist/components/skeleton/index.d.ts +0 -2
  439. package/dist/components/skeleton/index.d.ts.map +0 -1
  440. package/dist/components/skeleton/index.js +0 -3
  441. package/dist/components/skeleton/index.js.map +0 -1
  442. package/dist/components/slider/index.d.ts +0 -2
  443. package/dist/components/slider/index.d.ts.map +0 -1
  444. package/dist/components/slider/index.js +0 -3
  445. package/dist/components/slider/index.js.map +0 -1
  446. package/dist/components/space/index.d.ts +0 -2
  447. package/dist/components/space/index.d.ts.map +0 -1
  448. package/dist/components/space/index.js +0 -3
  449. package/dist/components/space/index.js.map +0 -1
  450. package/dist/components/spin/index.d.ts +0 -2
  451. package/dist/components/spin/index.d.ts.map +0 -1
  452. package/dist/components/spin/index.js +0 -3
  453. package/dist/components/spin/index.js.map +0 -1
  454. package/dist/components/splitter/index.d.ts +0 -2
  455. package/dist/components/splitter/index.d.ts.map +0 -1
  456. package/dist/components/splitter/index.js +0 -3
  457. package/dist/components/splitter/index.js.map +0 -1
  458. package/dist/components/statistic/index.d.ts +0 -2
  459. package/dist/components/statistic/index.d.ts.map +0 -1
  460. package/dist/components/statistic/index.js +0 -3
  461. package/dist/components/statistic/index.js.map +0 -1
  462. package/dist/components/steps/index.d.ts +0 -2
  463. package/dist/components/steps/index.d.ts.map +0 -1
  464. package/dist/components/steps/index.js +0 -3
  465. package/dist/components/steps/index.js.map +0 -1
  466. package/dist/components/switch/index.d.ts +0 -2
  467. package/dist/components/switch/index.d.ts.map +0 -1
  468. package/dist/components/switch/index.js +0 -3
  469. package/dist/components/switch/index.js.map +0 -1
  470. package/dist/components/table/index.d.ts +0 -2
  471. package/dist/components/table/index.d.ts.map +0 -1
  472. package/dist/components/table/index.js +0 -3
  473. package/dist/components/table/index.js.map +0 -1
  474. package/dist/components/tabs/index.d.ts +0 -2
  475. package/dist/components/tabs/index.d.ts.map +0 -1
  476. package/dist/components/tabs/index.js +0 -3
  477. package/dist/components/tabs/index.js.map +0 -1
  478. package/dist/components/tag/index.d.ts +0 -2
  479. package/dist/components/tag/index.d.ts.map +0 -1
  480. package/dist/components/tag/index.js +0 -3
  481. package/dist/components/tag/index.js.map +0 -1
  482. package/dist/components/time-picker/index.d.ts +0 -2
  483. package/dist/components/time-picker/index.d.ts.map +0 -1
  484. package/dist/components/time-picker/index.js +0 -3
  485. package/dist/components/time-picker/index.js.map +0 -1
  486. package/dist/components/timeline/index.d.ts +0 -2
  487. package/dist/components/timeline/index.d.ts.map +0 -1
  488. package/dist/components/timeline/index.js +0 -3
  489. package/dist/components/timeline/index.js.map +0 -1
  490. package/dist/components/tooltip/index.d.ts +0 -2
  491. package/dist/components/tooltip/index.d.ts.map +0 -1
  492. package/dist/components/tooltip/index.js +0 -3
  493. package/dist/components/tooltip/index.js.map +0 -1
  494. package/dist/components/tour/index.d.ts +0 -2
  495. package/dist/components/tour/index.d.ts.map +0 -1
  496. package/dist/components/tour/index.js +0 -3
  497. package/dist/components/tour/index.js.map +0 -1
  498. package/dist/components/transfer/index.d.ts +0 -2
  499. package/dist/components/transfer/index.d.ts.map +0 -1
  500. package/dist/components/transfer/index.js +0 -3
  501. package/dist/components/transfer/index.js.map +0 -1
  502. package/dist/components/tree/index.d.ts +0 -2
  503. package/dist/components/tree/index.d.ts.map +0 -1
  504. package/dist/components/tree/index.js +0 -3
  505. package/dist/components/tree/index.js.map +0 -1
  506. package/dist/components/tree-select/index.d.ts +0 -2
  507. package/dist/components/tree-select/index.d.ts.map +0 -1
  508. package/dist/components/tree-select/index.js +0 -3
  509. package/dist/components/tree-select/index.js.map +0 -1
  510. package/dist/components/typography/index.d.ts +0 -2
  511. package/dist/components/typography/index.d.ts.map +0 -1
  512. package/dist/components/typography/index.js +0 -3
  513. package/dist/components/typography/index.js.map +0 -1
  514. package/dist/components/upload/index.d.ts +0 -2
  515. package/dist/components/upload/index.d.ts.map +0 -1
  516. package/dist/components/upload/index.js +0 -3
  517. package/dist/components/upload/index.js.map +0 -1
  518. package/dist/components/watermark/index.d.ts +0 -2
  519. package/dist/components/watermark/index.d.ts.map +0 -1
  520. package/dist/components/watermark/index.js +0 -3
  521. package/dist/components/watermark/index.js.map +0 -1
  522. package/dist/generated/antd-components.d.ts +0 -139
  523. package/dist/generated/antd-components.d.ts.map +0 -1
  524. package/dist/generated/antd-components.js +0 -72
  525. package/dist/generated/antd-components.js.map +0 -1
  526. package/dist/generated/icons.d.ts +0 -2
  527. package/dist/generated/icons.d.ts.map +0 -1
  528. package/dist/generated/icons.js +0 -3
  529. package/dist/generated/icons.js.map +0 -1
  530. package/dist/generated/pass-throughs.d.ts +0 -213
  531. package/dist/generated/pass-throughs.d.ts.map +0 -1
  532. package/dist/generated/pass-throughs.js +0 -75
  533. package/dist/generated/pass-throughs.js.map +0 -1
  534. package/dist/index.js.map +0 -1
  535. package/dist/pages/blog-layout/BlogLayout.d.ts +0 -22
  536. package/dist/pages/blog-layout/BlogLayout.d.ts.map +0 -1
  537. package/dist/pages/blog-layout/BlogLayout.js +0 -5
  538. package/dist/pages/blog-layout/BlogLayout.js.map +0 -1
  539. package/dist/pages/blog-layout/index.d.ts +0 -2
  540. package/dist/pages/blog-layout/index.d.ts.map +0 -1
  541. package/dist/pages/blog-layout/index.js +0 -2
  542. package/dist/pages/blog-layout/index.js.map +0 -1
  543. package/dist/pages/blog-layout.d.ts +0 -22
  544. package/dist/pages/blog-layout.d.ts.map +0 -1
  545. package/dist/pages/blog-layout.js +0 -11
  546. package/dist/pages/blog-layout.js.map +0 -1
  547. package/dist/pages/docs-shell/DocsShell.d.ts +0 -37
  548. package/dist/pages/docs-shell/DocsShell.d.ts.map +0 -1
  549. package/dist/pages/docs-shell/DocsShell.js +0 -8
  550. package/dist/pages/docs-shell/DocsShell.js.map +0 -1
  551. package/dist/pages/docs-shell/index.d.ts +0 -2
  552. package/dist/pages/docs-shell/index.d.ts.map +0 -1
  553. package/dist/pages/docs-shell/index.js +0 -2
  554. package/dist/pages/docs-shell/index.js.map +0 -1
  555. package/dist/pages/docs-shell.d.ts +0 -17
  556. package/dist/pages/docs-shell.d.ts.map +0 -1
  557. package/dist/pages/docs-shell.js +0 -11
  558. package/dist/pages/docs-shell.js.map +0 -1
  559. package/dist/pages/index.js.map +0 -1
  560. package/dist/products/ProductDot.d.ts +0 -7
  561. package/dist/products/ProductDot.d.ts.map +0 -1
  562. package/dist/products/ProductDot.js +0 -7
  563. package/dist/products/ProductDot.js.map +0 -1
  564. package/dist/products/index.d.ts +0 -22
  565. package/dist/products/index.d.ts.map +0 -1
  566. package/dist/products/index.js +0 -72
  567. package/dist/products/index.js.map +0 -1
  568. package/dist/prototype/index.d.ts +0 -2
  569. package/dist/prototype/index.d.ts.map +0 -1
  570. package/dist/prototype/index.js +0 -2
  571. package/dist/prototype/index.js.map +0 -1
  572. package/dist/prototype/landing/bits.d.ts +0 -29
  573. package/dist/prototype/landing/bits.d.ts.map +0 -1
  574. package/dist/prototype/landing/bits.js +0 -50
  575. package/dist/prototype/landing/bits.js.map +0 -1
  576. package/dist/prototype/landing/index.d.ts +0 -10
  577. package/dist/prototype/landing/index.d.ts.map +0 -1
  578. package/dist/prototype/landing/index.js +0 -7
  579. package/dist/prototype/landing/index.js.map +0 -1
  580. package/dist/prototype/landing/switcher.d.ts +0 -17
  581. package/dist/prototype/landing/switcher.d.ts.map +0 -1
  582. package/dist/prototype/landing/switcher.js +0 -71
  583. package/dist/prototype/landing/switcher.js.map +0 -1
  584. package/dist/prototype/landing/theme.d.ts +0 -44
  585. package/dist/prototype/landing/theme.d.ts.map +0 -1
  586. package/dist/prototype/landing/theme.js +0 -98
  587. package/dist/prototype/landing/theme.js.map +0 -1
  588. package/dist/prototype/landing/variant-a-specimen.d.ts +0 -3
  589. package/dist/prototype/landing/variant-a-specimen.d.ts.map +0 -1
  590. package/dist/prototype/landing/variant-a-specimen.js +0 -86
  591. package/dist/prototype/landing/variant-a-specimen.js.map +0 -1
  592. package/dist/prototype/landing/variant-b-ledger.d.ts +0 -3
  593. package/dist/prototype/landing/variant-b-ledger.d.ts.map +0 -1
  594. package/dist/prototype/landing/variant-b-ledger.js +0 -51
  595. package/dist/prototype/landing/variant-b-ledger.js.map +0 -1
  596. package/dist/prototype/landing/variant-c-workbench.d.ts +0 -3
  597. package/dist/prototype/landing/variant-c-workbench.d.ts.map +0 -1
  598. package/dist/prototype/landing/variant-c-workbench.js +0 -98
  599. package/dist/prototype/landing/variant-c-workbench.js.map +0 -1
  600. package/dist/provider/PrismLinkContext.d.ts +0 -19
  601. package/dist/provider/PrismLinkContext.d.ts.map +0 -1
  602. package/dist/provider/PrismLinkContext.js +0 -11
  603. package/dist/provider/PrismLinkContext.js.map +0 -1
  604. package/dist/provider/PrismProvider.d.ts +0 -9
  605. package/dist/provider/PrismProvider.d.ts.map +0 -1
  606. package/dist/provider/PrismProvider.js +0 -21
  607. package/dist/provider/PrismProvider.js.map +0 -1
  608. package/dist/provider/PrismThemeMode.d.ts +0 -17
  609. package/dist/provider/PrismThemeMode.d.ts.map +0 -1
  610. package/dist/provider/PrismThemeMode.js +0 -61
  611. package/dist/provider/PrismThemeMode.js.map +0 -1
  612. package/dist/provider/index.js.map +0 -1
  613. package/dist/provider/mergePrismTheme.d.ts +0 -12
  614. package/dist/provider/mergePrismTheme.d.ts.map +0 -1
  615. package/dist/provider/mergePrismTheme.js +0 -52
  616. package/dist/provider/mergePrismTheme.js.map +0 -1
  617. package/dist/theming/bake.d.ts +0 -24
  618. package/dist/theming/bake.d.ts.map +0 -1
  619. package/dist/theming/bake.js +0 -78
  620. package/dist/theming/bake.js.map +0 -1
  621. package/dist/theming/bootScript.d.ts +0 -9
  622. package/dist/theming/bootScript.d.ts.map +0 -1
  623. package/dist/theming/bootScript.js +0 -27
  624. package/dist/theming/bootScript.js.map +0 -1
  625. package/dist/theming/index.js.map +0 -1
  626. package/dist/theming/storage.d.ts +0 -5
  627. package/dist/theming/storage.d.ts.map +0 -1
  628. package/dist/theming/storage.js +0 -11
  629. package/dist/theming/storage.js.map +0 -1
  630. package/dist/wrapped-registry.d.ts +0 -55
  631. package/dist/wrapped-registry.d.ts.map +0 -1
  632. package/dist/wrapped-registry.js +0 -160
  633. package/dist/wrapped-registry.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import type { ComponentProps, ReactNode } from 'react';
2
+ import { AuthForm01 } from '../../blocks/auth-form-01';
3
+ export type AuthPageAside = {
4
+ /** The supporting card's title. */
5
+ title: string;
6
+ /** One line under the title. */
7
+ description?: string;
8
+ /** The card body: product context, a short list or a supporting note. */
9
+ children?: ReactNode;
10
+ };
11
+ export type AuthPageProps = {
12
+ /** The credential form. */
13
+ form: ComponentProps<typeof AuthForm01>;
14
+ /**
15
+ * A supporting card beside the form. Omit it for a single centered column.
16
+ */
17
+ aside?: AuthPageAside;
18
+ /** A node under the form, such as a legal line or a link to another screen. */
19
+ footer?: ReactNode;
20
+ };
21
+ /**
22
+ * A complete authentication screen.
23
+ *
24
+ * It composes `AuthForm01` with `Card`: the form carries the credentials and an
25
+ * optional supporting card sits beside it with product context. The page owns
26
+ * the layout, the centering and the breakpoint only. Every field, label,
27
+ * handler and error is a prop through `form`, and the page fetches nothing and
28
+ * imports no router, so the consumer owns the links and the request.
29
+ *
30
+ * The layout is one centered column when no `aside` is passed, and a two-column
31
+ * split from the large breakpoint up when one is. That keeps the docs preview
32
+ * and a narrow screen on the same, readable path.
33
+ */
34
+ export declare function AuthPage({ form, aside, footer }: AuthPageProps): import("react").JSX.Element;
35
+ export default AuthPage;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/auth-page/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAStD,MAAM,MAAM,aAAa,GAAG;IAC1B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,IAAI,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAA;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,+BA+B9D;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { AuthForm01 } from '../../blocks/auth-form-01';
4
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card';
5
+ /**
6
+ * A complete authentication screen.
7
+ *
8
+ * It composes `AuthForm01` with `Card`: the form carries the credentials and an
9
+ * optional supporting card sits beside it with product context. The page owns
10
+ * the layout, the centering and the breakpoint only. Every field, label,
11
+ * handler and error is a prop through `form`, and the page fetches nothing and
12
+ * imports no router, so the consumer owns the links and the request.
13
+ *
14
+ * The layout is one centered column when no `aside` is passed, and a two-column
15
+ * split from the large breakpoint up when one is. That keeps the docs preview
16
+ * and a narrow screen on the same, readable path.
17
+ */
18
+ export function AuthPage({ form, aside, footer }) {
19
+ return (_jsx("div", { className: "bg-background text-foreground flex min-h-svh w-full items-center justify-center px-6 py-16", children: _jsxs("div", { className: aside
20
+ ? 'grid w-full max-w-page items-center gap-10 lg:grid-cols-2'
21
+ : 'w-full max-w-measure-narrow', children: [aside ? (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: aside.title }), aside.description ? (_jsx(CardDescription, { children: aside.description })) : null] }), aside.children ? _jsx(CardContent, { children: aside.children }) : null] })) : null, _jsxs("div", { className: "mx-auto w-full max-w-measure-narrow", children: [_jsx(AuthForm01, { ...form }), footer ? (_jsx("div", { className: "text-muted-foreground mt-4 text-center text-sm", children: footer })) : null] })] }) }));
22
+ }
23
+ export default AuthPage;
@@ -0,0 +1,36 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { AppShell01 } from '../../blocks/app-shell-01';
3
+ import { DataTable01 } from '../../blocks/data-table-01';
4
+ import { PageHeader01 } from '../../blocks/page-header-01';
5
+ import { Stats01 } from '../../blocks/stats-01';
6
+ export type DashboardPageProps = {
7
+ /**
8
+ * The frame: the navigation rail, the top bar and the mobile navigation
9
+ * sheet. Navigation, actions and the rail slots are passed as nodes, so the
10
+ * page never imports a router.
11
+ */
12
+ shell: Omit<ComponentProps<typeof AppShell01>, 'children'>;
13
+ /** The page title band. */
14
+ header: ComponentProps<typeof PageHeader01>;
15
+ /** The key-figure row above the table. */
16
+ stats: ComponentProps<typeof Stats01>;
17
+ /** The main table, with its rows, columns, labels and callbacks. */
18
+ table: ComponentProps<typeof DataTable01>;
19
+ };
20
+ /**
21
+ * A complete dashboard screen.
22
+ *
23
+ * It composes `AppShell01`, `PageHeader01`, `Stats01` and `DataTable01`: the
24
+ * shell provides the frame, the header names the screen, the stats summarise it
25
+ * and the table carries the working set. The page owns the sequence and the
26
+ * spacing only. Every row, column, label and handler is a prop, and the page
27
+ * fetches nothing.
28
+ *
29
+ * The page is a client component because the blocks it composes are stateful.
30
+ * That is a property of this composition, not of the data: the consumer still
31
+ * owns the rows and the callbacks, and can drive the table from a server render
32
+ * or a client cache by the same props.
33
+ */
34
+ export declare function DashboardPage({ shell, header, stats, table }: DashboardPageProps): import("react").JSX.Element;
35
+ export default DashboardPage;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/dashboard-page/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1D,2BAA2B;IAC3B,MAAM,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,CAAA;IAC3C,0CAA0C;IAC1C,KAAK,EAAE,cAAc,CAAC,OAAO,OAAO,CAAC,CAAA;IACrC,oEAAoE;IACpE,KAAK,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAA;CAC1C,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,kBAAkB,+BAUhF;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { AppShell01 } from '../../blocks/app-shell-01';
4
+ import { DataTable01 } from '../../blocks/data-table-01';
5
+ import { PageHeader01 } from '../../blocks/page-header-01';
6
+ import { Stats01 } from '../../blocks/stats-01';
7
+ /**
8
+ * A complete dashboard screen.
9
+ *
10
+ * It composes `AppShell01`, `PageHeader01`, `Stats01` and `DataTable01`: the
11
+ * shell provides the frame, the header names the screen, the stats summarise it
12
+ * and the table carries the working set. The page owns the sequence and the
13
+ * spacing only. Every row, column, label and handler is a prop, and the page
14
+ * fetches nothing.
15
+ *
16
+ * The page is a client component because the blocks it composes are stateful.
17
+ * That is a property of this composition, not of the data: the consumer still
18
+ * owns the rows and the callbacks, and can drive the table from a server render
19
+ * or a client cache by the same props.
20
+ */
21
+ export function DashboardPage({ shell, header, stats, table }) {
22
+ return (_jsx(AppShell01, { ...shell, children: _jsxs("div", { className: "mx-auto flex w-full max-w-page flex-col gap-8", children: [_jsx(PageHeader01, { ...header, headingLevel: header.headingLevel ?? 'h1' }), _jsx(Stats01, { ...stats }), _jsx(DataTable01, { ...table })] }) }));
23
+ }
24
+ export default DashboardPage;
@@ -1,3 +1,17 @@
1
- export { BlogLayout, type BlogLayoutProps, type BlogFrontmatter } from './blog-layout/index.js';
2
- export { DocsShell, type DocsShellProps, type DocsNavEntry } from './docs-shell/index.js';
1
+ /**
2
+ * Every Prism Page.
3
+ *
4
+ * A Page is a shipped, installable screen model composed of Blocks and
5
+ * Components that receives application-owned navigation, content and data
6
+ * (ticket 07). The v1 roster ships four Pages. Each is also importable on its
7
+ * own subpath, `@nanisoft/prism-ui/pages/<slug>`.
8
+ */
9
+ export { MarketingPage } from './marketing-page';
10
+ export type { MarketingPageProps } from './marketing-page';
11
+ export { DashboardPage } from './dashboard-page';
12
+ export type { DashboardPageProps } from './dashboard-page';
13
+ export { SettingsPage } from './settings-page';
14
+ export type { SettingsPageProps, SettingsPageTab } from './settings-page';
15
+ export { AuthPage } from './auth-page';
16
+ export type { AuthPageProps, AuthPageAside } from './auth-page';
3
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
@@ -1,4 +1,12 @@
1
- // prism-ui pages barrel — full-page compositions taking Prism-owned structural types.
2
- export { BlogLayout } from './blog-layout/index.js';
3
- export { DocsShell } from './docs-shell/index.js';
4
- //# sourceMappingURL=index.js.map
1
+ /**
2
+ * Every Prism Page.
3
+ *
4
+ * A Page is a shipped, installable screen model composed of Blocks and
5
+ * Components that receives application-owned navigation, content and data
6
+ * (ticket 07). The v1 roster ships four Pages. Each is also importable on its
7
+ * own subpath, `@nanisoft/prism-ui/pages/<slug>`.
8
+ */
9
+ export { MarketingPage } from './marketing-page';
10
+ export { DashboardPage } from './dashboard-page';
11
+ export { SettingsPage } from './settings-page';
12
+ export { AuthPage } from './auth-page';
@@ -0,0 +1,43 @@
1
+ import type { ComponentProps } from 'react';
2
+ import { Cta01 } from '../../blocks/cta-01';
3
+ import { FeatureGrid01 } from '../../blocks/feature-grid-01';
4
+ import { Hero01 } from '../../blocks/hero-01';
5
+ import { Pricing01 } from '../../blocks/pricing-01';
6
+ import { Stats01 } from '../../blocks/stats-01';
7
+ import type { HeadingLevel } from '../../components/ui/section';
8
+ export type MarketingPageProps = {
9
+ /** The opening band: an optional eyebrow, the headline and one or two actions. */
10
+ hero: ComponentProps<typeof Hero01>;
11
+ /** The capability grid below the hero. */
12
+ features: ComponentProps<typeof FeatureGrid01>;
13
+ /** The key-figure row. */
14
+ stats: ComponentProps<typeof Stats01>;
15
+ /** The plan comparison. */
16
+ pricing: ComponentProps<typeof Pricing01>;
17
+ /** The closing call to action. */
18
+ cta: ComponentProps<typeof Cta01>;
19
+ /**
20
+ * The heading level for the hero. Defaults to `h1`, because a page owns the
21
+ * top of the document outline. A consumer that embeds the page under a
22
+ * heading it already owns passes one level deeper.
23
+ */
24
+ headingLevel?: HeadingLevel;
25
+ };
26
+ /**
27
+ * A complete marketing page.
28
+ *
29
+ * It composes `Hero01`, `FeatureGrid01`, `Stats01`, `Pricing01` and `Cta01` in
30
+ * reading order and passes each block its own props unchanged, so the page adds
31
+ * the sequence and nothing else. Every string, number and action is a prop, and
32
+ * the page ships no sample copy and fetches nothing. It is a product-agnostic
33
+ * screen model, not this site's own landing route: a consumer installs it,
34
+ * passes their own content and owns the links.
35
+ *
36
+ * The hero is the page's primary heading, so it defaults to `h1`; set
37
+ * `headingLevel` when the page is embedded rather than rendered as a screen.
38
+ * The composed blocks keep their own `h2` defaults, so the outline stays one
39
+ * heading per section below the hero.
40
+ */
41
+ export declare function MarketingPage({ hero, features, stats, pricing, cta, headingLevel, }: MarketingPageProps): import("react").JSX.Element;
42
+ export default MarketingPage;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/marketing-page/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kFAAkF;IAClF,IAAI,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,CAAA;IACnC,0CAA0C;IAC1C,QAAQ,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,CAAA;IAC9C,0BAA0B;IAC1B,KAAK,EAAE,cAAc,CAAC,OAAO,OAAO,CAAC,CAAA;IACrC,2BAA2B;IAC3B,OAAO,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,CAAA;IACzC,kCAAkC;IAClC,GAAG,EAAE,cAAc,CAAC,OAAO,KAAK,CAAC,CAAA;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,OAAO,EACP,GAAG,EACH,YAAmB,GACpB,EAAE,kBAAkB,+BAUpB;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Cta01 } from '../../blocks/cta-01';
3
+ import { FeatureGrid01 } from '../../blocks/feature-grid-01';
4
+ import { Hero01 } from '../../blocks/hero-01';
5
+ import { Pricing01 } from '../../blocks/pricing-01';
6
+ import { Stats01 } from '../../blocks/stats-01';
7
+ /**
8
+ * A complete marketing page.
9
+ *
10
+ * It composes `Hero01`, `FeatureGrid01`, `Stats01`, `Pricing01` and `Cta01` in
11
+ * reading order and passes each block its own props unchanged, so the page adds
12
+ * the sequence and nothing else. Every string, number and action is a prop, and
13
+ * the page ships no sample copy and fetches nothing. It is a product-agnostic
14
+ * screen model, not this site's own landing route: a consumer installs it,
15
+ * passes their own content and owns the links.
16
+ *
17
+ * The hero is the page's primary heading, so it defaults to `h1`; set
18
+ * `headingLevel` when the page is embedded rather than rendered as a screen.
19
+ * The composed blocks keep their own `h2` defaults, so the outline stays one
20
+ * heading per section below the hero.
21
+ */
22
+ export function MarketingPage({ hero, features, stats, pricing, cta, headingLevel = 'h1', }) {
23
+ return (_jsxs("div", { className: "bg-background text-foreground", children: [_jsx(Hero01, { ...hero, headingLevel: headingLevel }), _jsx(FeatureGrid01, { ...features }), _jsx(Stats01, { ...stats }), _jsx(Pricing01, { ...pricing }), _jsx(Cta01, { ...cta })] }));
24
+ }
25
+ export default MarketingPage;
@@ -0,0 +1,47 @@
1
+ import type { ComponentProps, ReactNode } from 'react';
2
+ import { AppShell01 } from '../../blocks/app-shell-01';
3
+ import { PageHeader01 } from '../../blocks/page-header-01';
4
+ import { SettingsPanel01 } from '../../blocks/settings-panel-01';
5
+ export type SettingsPageTab = {
6
+ /** The value shared by the trigger and its panel. */
7
+ value: string;
8
+ /** The trigger label. */
9
+ label: string;
10
+ /**
11
+ * A saved settings form for this tab. Rendered through `SettingsPanel01`, so
12
+ * the tab inherits the grouped sections, the field kinds and the save footer.
13
+ */
14
+ panel?: ComponentProps<typeof SettingsPanel01>;
15
+ /** Content for a tab that is not a saved form, such as a read-only summary. */
16
+ content?: ReactNode;
17
+ };
18
+ export type SettingsPageProps = {
19
+ /** The frame: rail, top bar and mobile navigation sheet. */
20
+ shell: Omit<ComponentProps<typeof AppShell01>, 'children'>;
21
+ /** The page title band. */
22
+ header: ComponentProps<typeof PageHeader01>;
23
+ /** The tabs, in order. At least one is required. */
24
+ tabs: SettingsPageTab[];
25
+ /** The tab shown first, for uncontrolled tabs. Defaults to the first tab. */
26
+ defaultValue?: string;
27
+ /** The controlled active tab. */
28
+ value?: string;
29
+ onValueChange?: (value: string) => void;
30
+ };
31
+ /**
32
+ * A complete settings screen.
33
+ *
34
+ * It composes `AppShell01`, `PageHeader01`, `Tabs` and `SettingsPanel01`: the
35
+ * shell provides the frame, the header names the screen, and each tab is a
36
+ * saved settings form or a read-only panel. The page owns the sequence and the
37
+ * tab wiring only. Every section, field, option and label is a prop, and the
38
+ * page fetches nothing.
39
+ *
40
+ * A tab that carries a `panel` renders `SettingsPanel01`, so a settings screen
41
+ * is a set of grouped forms rather than one long page. A tab that carries
42
+ * `content` instead renders the node as-is. Both are optional, so a caller can
43
+ * mix forms and read-only views in one screen.
44
+ */
45
+ export declare function SettingsPage({ shell, header, tabs, defaultValue, value, onValueChange, }: SettingsPageProps): import("react").JSX.Element;
46
+ export default SettingsPage;
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/settings-page/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,MAAM,MAAM,eAAe,GAAG;IAC5B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,CAAA;IAC9C,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4DAA4D;IAC5D,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1D,2BAA2B;IAC3B,MAAM,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,CAAA;IAC3C,oDAAoD;IACpD,IAAI,EAAE,eAAe,EAAE,CAAA;IACvB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,aAAa,GACd,EAAE,iBAAiB,+BA4BnB;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { AppShell01 } from '../../blocks/app-shell-01';
4
+ import { PageHeader01 } from '../../blocks/page-header-01';
5
+ import { SettingsPanel01 } from '../../blocks/settings-panel-01';
6
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '../../components/ui/tabs';
7
+ /**
8
+ * A complete settings screen.
9
+ *
10
+ * It composes `AppShell01`, `PageHeader01`, `Tabs` and `SettingsPanel01`: the
11
+ * shell provides the frame, the header names the screen, and each tab is a
12
+ * saved settings form or a read-only panel. The page owns the sequence and the
13
+ * tab wiring only. Every section, field, option and label is a prop, and the
14
+ * page fetches nothing.
15
+ *
16
+ * A tab that carries a `panel` renders `SettingsPanel01`, so a settings screen
17
+ * is a set of grouped forms rather than one long page. A tab that carries
18
+ * `content` instead renders the node as-is. Both are optional, so a caller can
19
+ * mix forms and read-only views in one screen.
20
+ */
21
+ export function SettingsPage({ shell, header, tabs, defaultValue, value, onValueChange, }) {
22
+ return (_jsx(AppShell01, { ...shell, children: _jsxs("div", { className: "mx-auto flex w-full max-w-page flex-col gap-8", children: [_jsx(PageHeader01, { ...header, headingLevel: header.headingLevel ?? 'h1' }), _jsxs(Tabs, { defaultValue: defaultValue ?? tabs[0]?.value, value: value, onValueChange: onValueChange, children: [_jsx(TabsList, { children: tabs.map((tab) => (_jsx(TabsTrigger, { value: tab.value, children: tab.label }, tab.value))) }), tabs.map((tab) => (_jsx(TabsContent, { value: tab.value, children: tab.panel ? _jsx(SettingsPanel01, { ...tab.panel }) : tab.content }, tab.value)))] })] }) }));
23
+ }
24
+ export default SettingsPage;
@@ -1,5 +1,12 @@
1
- export { PrismProvider, type PrismProviderProps } from './PrismProvider.js';
2
- export { mergePrismTheme, toAntdTheme, isPrismTheme } from './mergePrismTheme.js';
3
- export { usePrismLink, PrismLinkContextProvider, type PrismLinkContextValue } from './PrismLinkContext.js';
4
- export { PrismThemeModeProvider, usePrismThemeMode, type PrismThemeModeProviderProps, type PrismThemeModeValue, } from './PrismThemeMode.js';
1
+ /**
2
+ * The Prism provider entry.
3
+ *
4
+ * `PrismProvider` and `usePrismTheme` are the optional programmatic path;
5
+ * `PrismThemeScript` is the optional pre-hydration script. The declarative
6
+ * `data-pack` and `.dark` attributes are the default and need none of this.
7
+ */
8
+ export { PrismProvider, usePrismTheme } from './provider';
9
+ export type { PrismProviderProps, PrismTheme } from './provider';
10
+ export { PrismThemeScript } from './theme-script';
11
+ export type { PrismThemeScriptProps } from './theme-script';
5
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3G,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,5 +1,9 @@
1
- export { PrismProvider } from './PrismProvider.js';
2
- export { mergePrismTheme, toAntdTheme, isPrismTheme } from './mergePrismTheme.js';
3
- export { usePrismLink, PrismLinkContextProvider } from './PrismLinkContext.js';
4
- export { PrismThemeModeProvider, usePrismThemeMode, } from './PrismThemeMode.js';
5
- //# sourceMappingURL=index.js.map
1
+ /**
2
+ * The Prism provider entry.
3
+ *
4
+ * `PrismProvider` and `usePrismTheme` are the optional programmatic path;
5
+ * `PrismThemeScript` is the optional pre-hydration script. The declarative
6
+ * `data-pack` and `.dark` attributes are the default and need none of this.
7
+ */
8
+ export { PrismProvider, usePrismTheme } from './provider';
9
+ export { PrismThemeScript } from './theme-script';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The optional client runtime for programmatic theme switching.
3
+ *
4
+ * The provider is strictly additive: a consumer who puts `data-pack` and
5
+ * `.dark` on `<html>` never needs it, and a consumer who wants no client
6
+ * JavaScript omits it. It carries the pack and mode through context and writes
7
+ * the same two markup attributes the declarative form uses. There is no
8
+ * override, merge, token, className or style prop: the provider's only outputs
9
+ * are the document-element attributes and context (ticket 07).
10
+ */
11
+ import { type ReactNode } from 'react';
12
+ import { type Mode, type PackId } from '../theming';
13
+ export type PrismTheme = {
14
+ pack: PackId;
15
+ mode: Mode;
16
+ setPack: (pack: PackId) => void;
17
+ setMode: (mode: Mode) => void;
18
+ toggleMode: () => void;
19
+ };
20
+ export type PrismProviderProps = {
21
+ /** Pack used when nothing is stored and no pack attribute is present. */
22
+ defaultPack?: PackId;
23
+ /** Mode used in the same fallback. */
24
+ defaultMode?: Mode;
25
+ /** localStorage key for the persisted `{ pack, mode }` object. */
26
+ storageKey?: string;
27
+ children?: ReactNode;
28
+ };
29
+ export declare function PrismProvider({ defaultPack, defaultMode, storageKey, children, }: PrismProviderProps): import("react").JSX.Element;
30
+ /**
31
+ * Reads and mutates the active pack and mode.
32
+ *
33
+ * Throws outside a `PrismProvider`. The provider is optional, so a consumer
34
+ * that does not mount it simply does not call this hook.
35
+ */
36
+ export declare function usePrismTheme(): PrismTheme;
37
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider/provider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAEd,OAAO,EAML,KAAK,IAAI,EACT,KAAK,MAAM,EACZ,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAwBD,wBAAgB,aAAa,CAAC,EAC5B,WAAuB,EACvB,WAAqB,EACrB,UAAgC,EAChC,QAAQ,GACT,EAAE,kBAAkB,+BA8CpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAM1C"}
@@ -0,0 +1,87 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ /**
4
+ * The optional client runtime for programmatic theme switching.
5
+ *
6
+ * The provider is strictly additive: a consumer who puts `data-pack` and
7
+ * `.dark` on `<html>` never needs it, and a consumer who wants no client
8
+ * JavaScript omits it. It carries the pack and mode through context and writes
9
+ * the same two markup attributes the declarative form uses. There is no
10
+ * override, merge, token, className or style prop: the provider's only outputs
11
+ * are the document-element attributes and context (ticket 07).
12
+ */
13
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
14
+ import { DEFAULT_STORAGE_KEY, MODES, PACKS, parseStoredTheme, themeAttributes, } from '../theming';
15
+ const PrismThemeContext = createContext(null);
16
+ function applyDocumentAttributes(pack, mode) {
17
+ const root = document.documentElement;
18
+ const { 'data-pack': packAttribute, className } = themeAttributes({ pack, mode });
19
+ if (packAttribute)
20
+ root.setAttribute('data-pack', packAttribute);
21
+ else
22
+ root.removeAttribute('data-pack');
23
+ if (className)
24
+ root.classList.add('dark');
25
+ else
26
+ root.classList.remove('dark');
27
+ }
28
+ function packFromDocument(fallback) {
29
+ const attribute = document.documentElement.getAttribute('data-pack');
30
+ return attribute && PACKS.includes(attribute)
31
+ ? attribute
32
+ : fallback;
33
+ }
34
+ function modeFromDocument(fallback) {
35
+ return document.documentElement.classList.contains('dark') ? 'dark' : fallback;
36
+ }
37
+ export function PrismProvider({ defaultPack = 'default', defaultMode = 'light', storageKey = DEFAULT_STORAGE_KEY, children, }) {
38
+ const [pack, setPackState] = useState(defaultPack);
39
+ const [mode, setModeState] = useState(defaultMode);
40
+ const [resolved, setResolved] = useState(false);
41
+ /*
42
+ * Resolution order on mount: stored value, then the server-rendered attribute,
43
+ * then the default. A server-rendered pack therefore survives hydration
44
+ * instead of flashing to the default.
45
+ */
46
+ useEffect(() => {
47
+ const stored = parseStoredTheme(localStorage.getItem(storageKey));
48
+ const next = stored ?? { pack: packFromDocument(defaultPack), mode: modeFromDocument(defaultMode) };
49
+ setPackState(next.pack);
50
+ setModeState(next.mode);
51
+ setResolved(true);
52
+ }, [storageKey, defaultPack, defaultMode]);
53
+ /*
54
+ * Persist and apply only after resolution, so the first client commit never
55
+ * writes the defaults over a stored or server-rendered choice.
56
+ */
57
+ useEffect(() => {
58
+ if (!resolved)
59
+ return;
60
+ applyDocumentAttributes(pack, mode);
61
+ try {
62
+ localStorage.setItem(storageKey, JSON.stringify({ pack, mode }));
63
+ }
64
+ catch {
65
+ // A blocked or full localStorage must not break theme switching. The
66
+ // attributes are already applied, so the visible behaviour is unchanged.
67
+ }
68
+ }, [resolved, pack, mode, storageKey]);
69
+ const setPack = useCallback((next) => setPackState(next), []);
70
+ const setMode = useCallback((next) => setModeState(next), []);
71
+ const toggleMode = useCallback(() => setModeState((current) => (current === 'dark' ? MODES[0] : MODES[1])), []);
72
+ const value = useMemo(() => ({ pack, mode, setPack, setMode, toggleMode }), [pack, mode, setPack, setMode, toggleMode]);
73
+ return _jsx(PrismThemeContext.Provider, { value: value, children: children });
74
+ }
75
+ /**
76
+ * Reads and mutates the active pack and mode.
77
+ *
78
+ * Throws outside a `PrismProvider`. The provider is optional, so a consumer
79
+ * that does not mount it simply does not call this hook.
80
+ */
81
+ export function usePrismTheme() {
82
+ const value = useContext(PrismThemeContext);
83
+ if (!value) {
84
+ throw new Error('usePrismTheme must be used within a PrismProvider');
85
+ }
86
+ return value;
87
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The optional pre-hydration theme script.
3
+ *
4
+ * A Server Component that renders one blocking script. Placed in `<head>`, it
5
+ * applies the stored pack and mode before React hydrates, so the first paint is
6
+ * already correct. Precedence matches `PrismProvider`: stored value, then the
7
+ * server-rendered attribute, then the defaults. It is safe to omit; a consumer
8
+ * who renders the attributes on `<html>` needs no client runtime at all.
9
+ */
10
+ import { type Mode, type PackId } from '../theming';
11
+ export type PrismThemeScriptProps = {
12
+ storageKey?: string;
13
+ defaultPack?: PackId;
14
+ defaultMode?: Mode;
15
+ };
16
+ export declare function PrismThemeScript({ storageKey, defaultPack, defaultMode, }: PrismThemeScriptProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=theme-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-script.d.ts","sourceRoot":"","sources":["../../src/provider/theme-script.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAqC,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAEtF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,UAAgC,EAChC,WAAuB,EACvB,WAAqB,GACtB,EAAE,qBAAqB,+BAkBvB"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * The optional pre-hydration theme script.
4
+ *
5
+ * A Server Component that renders one blocking script. Placed in `<head>`, it
6
+ * applies the stored pack and mode before React hydrates, so the first paint is
7
+ * already correct. Precedence matches `PrismProvider`: stored value, then the
8
+ * server-rendered attribute, then the defaults. It is safe to omit; a consumer
9
+ * who renders the attributes on `<html>` needs no client runtime at all.
10
+ */
11
+ import { DEFAULT_STORAGE_KEY, MODES, PACKS } from '../theming';
12
+ export function PrismThemeScript({ storageKey = DEFAULT_STORAGE_KEY, defaultPack = 'default', defaultMode = 'light', }) {
13
+ const script = '(function(){try{' +
14
+ 'var root=document.documentElement;' +
15
+ `var packs=${JSON.stringify(PACKS)};` +
16
+ `var modes=${JSON.stringify(MODES)};` +
17
+ 'var stored=null;' +
18
+ `try{stored=JSON.parse(localStorage.getItem(${JSON.stringify(storageKey)})||"null");}catch(ignored){}` +
19
+ 'var pack=stored&&packs.indexOf(stored.pack)>-1?stored.pack:(root.getAttribute("data-pack")||' +
20
+ `${JSON.stringify(defaultPack)});` +
21
+ 'var mode=stored&&modes.indexOf(stored.mode)>-1?stored.mode:(root.classList.contains("dark")?"dark":' +
22
+ `${JSON.stringify(defaultMode)});` +
23
+ `if(packs.indexOf(pack)<0){pack=${JSON.stringify(defaultPack)};}` +
24
+ 'if(pack&&pack!=="default"){root.setAttribute("data-pack",pack);}else{root.removeAttribute("data-pack");}' +
25
+ 'root.classList.toggle("dark",mode==="dark");' +
26
+ '}catch(ignored){}})();';
27
+ return _jsx("script", { dangerouslySetInnerHTML: { __html: script } });
28
+ }