@nanisoft/prism-ui 0.4.0 → 0.5.0

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 (496) hide show
  1. package/components.json +21 -0
  2. package/package.json +34 -95
  3. package/public/r/badge.json +26 -0
  4. package/public/r/button.json +26 -0
  5. package/public/r/card.json +25 -0
  6. package/public/r/cta-01.json +44 -0
  7. package/public/r/feature-grid-01.json +44 -0
  8. package/public/r/hero-01.json +44 -0
  9. package/public/r/pricing-01.json +46 -0
  10. package/public/r/registry.json +294 -0
  11. package/public/r/section.json +25 -0
  12. package/public/r/stats-01.json +44 -0
  13. package/registry.json +294 -0
  14. package/src/components/ds/blocks/cta-01/block.json +8 -0
  15. package/src/components/ds/blocks/cta-01/cta.tsx +62 -0
  16. package/src/components/ds/blocks/cta-01/index.tsx +1 -0
  17. package/src/components/ds/blocks/feature-grid-01/block.json +8 -0
  18. package/src/components/ds/blocks/feature-grid-01/feature-grid.tsx +69 -0
  19. package/src/components/ds/blocks/feature-grid-01/index.tsx +1 -0
  20. package/src/components/ds/blocks/hero-01/block.json +8 -0
  21. package/src/components/ds/blocks/hero-01/hero.tsx +85 -0
  22. package/src/components/ds/blocks/hero-01/index.tsx +1 -0
  23. package/src/components/ds/blocks/pricing-01/block.json +8 -0
  24. package/src/components/ds/blocks/pricing-01/index.tsx +1 -0
  25. package/src/components/ds/blocks/pricing-01/pricing.tsx +122 -0
  26. package/src/components/ds/blocks/section.meta.json +6 -0
  27. package/src/components/ds/blocks/section.tsx +86 -0
  28. package/src/components/ds/blocks/stats-01/block.json +8 -0
  29. package/src/components/ds/blocks/stats-01/index.tsx +1 -0
  30. package/src/components/ds/blocks/stats-01/stats.tsx +92 -0
  31. package/src/components/ui/badge.tsx +37 -0
  32. package/src/components/ui/button.tsx +77 -0
  33. package/src/components/ui/card.tsx +65 -0
  34. package/src/lib/utils.ts +6 -0
  35. package/LICENSE +0 -21
  36. package/dist/blocks/component-demo/ComponentDemo.d.ts +0 -13
  37. package/dist/blocks/component-demo/ComponentDemo.d.ts.map +0 -1
  38. package/dist/blocks/component-demo/ComponentDemo.js +0 -5
  39. package/dist/blocks/component-demo/ComponentDemo.js.map +0 -1
  40. package/dist/blocks/component-demo/index.d.ts +0 -2
  41. package/dist/blocks/component-demo/index.d.ts.map +0 -1
  42. package/dist/blocks/component-demo/index.js +0 -2
  43. package/dist/blocks/component-demo/index.js.map +0 -1
  44. package/dist/blocks/component-demo.d.ts +0 -15
  45. package/dist/blocks/component-demo.d.ts.map +0 -1
  46. package/dist/blocks/component-demo.js +0 -11
  47. package/dist/blocks/component-demo.js.map +0 -1
  48. package/dist/blocks/index.d.ts +0 -5
  49. package/dist/blocks/index.d.ts.map +0 -1
  50. package/dist/blocks/index.js +0 -6
  51. package/dist/blocks/index.js.map +0 -1
  52. package/dist/blocks/page-header/PageHeader.d.ts +0 -11
  53. package/dist/blocks/page-header/PageHeader.d.ts.map +0 -1
  54. package/dist/blocks/page-header/PageHeader.js +0 -9
  55. package/dist/blocks/page-header/PageHeader.js.map +0 -1
  56. package/dist/blocks/page-header/index.d.ts +0 -2
  57. package/dist/blocks/page-header/index.d.ts.map +0 -1
  58. package/dist/blocks/page-header/index.js +0 -2
  59. package/dist/blocks/page-header/index.js.map +0 -1
  60. package/dist/blocks/page-header.d.ts +0 -16
  61. package/dist/blocks/page-header.d.ts.map +0 -1
  62. package/dist/blocks/page-header.js +0 -13
  63. package/dist/blocks/page-header.js.map +0 -1
  64. package/dist/blocks/site-footer/SiteFooter.d.ts +0 -26
  65. package/dist/blocks/site-footer/SiteFooter.d.ts.map +0 -1
  66. package/dist/blocks/site-footer/SiteFooter.js +0 -10
  67. package/dist/blocks/site-footer/SiteFooter.js.map +0 -1
  68. package/dist/blocks/site-footer/index.d.ts +0 -2
  69. package/dist/blocks/site-footer/index.d.ts.map +0 -1
  70. package/dist/blocks/site-footer/index.js +0 -2
  71. package/dist/blocks/site-footer/index.js.map +0 -1
  72. package/dist/blocks/site-header/SiteHeader.d.ts +0 -19
  73. package/dist/blocks/site-header/SiteHeader.d.ts.map +0 -1
  74. package/dist/blocks/site-header/SiteHeader.js +0 -32
  75. package/dist/blocks/site-header/SiteHeader.js.map +0 -1
  76. package/dist/blocks/site-header/index.d.ts +0 -2
  77. package/dist/blocks/site-header/index.d.ts.map +0 -1
  78. package/dist/blocks/site-header/index.js +0 -2
  79. package/dist/blocks/site-header/index.js.map +0 -1
  80. package/dist/components/affix/index.d.ts +0 -2
  81. package/dist/components/affix/index.d.ts.map +0 -1
  82. package/dist/components/affix/index.js +0 -3
  83. package/dist/components/affix/index.js.map +0 -1
  84. package/dist/components/alert/index.d.ts +0 -2
  85. package/dist/components/alert/index.d.ts.map +0 -1
  86. package/dist/components/alert/index.js +0 -3
  87. package/dist/components/alert/index.js.map +0 -1
  88. package/dist/components/anchor/index.d.ts +0 -2
  89. package/dist/components/anchor/index.d.ts.map +0 -1
  90. package/dist/components/anchor/index.js +0 -3
  91. package/dist/components/anchor/index.js.map +0 -1
  92. package/dist/components/auto-complete/index.d.ts +0 -2
  93. package/dist/components/auto-complete/index.d.ts.map +0 -1
  94. package/dist/components/auto-complete/index.js +0 -3
  95. package/dist/components/auto-complete/index.js.map +0 -1
  96. package/dist/components/avatar/index.d.ts +0 -2
  97. package/dist/components/avatar/index.d.ts.map +0 -1
  98. package/dist/components/avatar/index.js +0 -3
  99. package/dist/components/avatar/index.js.map +0 -1
  100. package/dist/components/back-top/index.d.ts +0 -2
  101. package/dist/components/back-top/index.d.ts.map +0 -1
  102. package/dist/components/back-top/index.js +0 -3
  103. package/dist/components/back-top/index.js.map +0 -1
  104. package/dist/components/badge/index.d.ts +0 -2
  105. package/dist/components/badge/index.d.ts.map +0 -1
  106. package/dist/components/badge/index.js +0 -3
  107. package/dist/components/badge/index.js.map +0 -1
  108. package/dist/components/border-beam/index.d.ts +0 -2
  109. package/dist/components/border-beam/index.d.ts.map +0 -1
  110. package/dist/components/border-beam/index.js +0 -3
  111. package/dist/components/border-beam/index.js.map +0 -1
  112. package/dist/components/breadcrumb/index.d.ts +0 -2
  113. package/dist/components/breadcrumb/index.d.ts.map +0 -1
  114. package/dist/components/breadcrumb/index.js +0 -3
  115. package/dist/components/breadcrumb/index.js.map +0 -1
  116. package/dist/components/button/index.d.ts +0 -2
  117. package/dist/components/button/index.d.ts.map +0 -1
  118. package/dist/components/button/index.js +0 -3
  119. package/dist/components/button/index.js.map +0 -1
  120. package/dist/components/calendar/index.d.ts +0 -2
  121. package/dist/components/calendar/index.d.ts.map +0 -1
  122. package/dist/components/calendar/index.js +0 -3
  123. package/dist/components/calendar/index.js.map +0 -1
  124. package/dist/components/card/index.d.ts +0 -2
  125. package/dist/components/card/index.d.ts.map +0 -1
  126. package/dist/components/card/index.js +0 -3
  127. package/dist/components/card/index.js.map +0 -1
  128. package/dist/components/carousel/index.d.ts +0 -2
  129. package/dist/components/carousel/index.d.ts.map +0 -1
  130. package/dist/components/carousel/index.js +0 -3
  131. package/dist/components/carousel/index.js.map +0 -1
  132. package/dist/components/cascader/index.d.ts +0 -2
  133. package/dist/components/cascader/index.d.ts.map +0 -1
  134. package/dist/components/cascader/index.js +0 -3
  135. package/dist/components/cascader/index.js.map +0 -1
  136. package/dist/components/checkbox/index.d.ts +0 -2
  137. package/dist/components/checkbox/index.d.ts.map +0 -1
  138. package/dist/components/checkbox/index.js +0 -3
  139. package/dist/components/checkbox/index.js.map +0 -1
  140. package/dist/components/col/index.d.ts +0 -2
  141. package/dist/components/col/index.d.ts.map +0 -1
  142. package/dist/components/col/index.js +0 -3
  143. package/dist/components/col/index.js.map +0 -1
  144. package/dist/components/collapse/index.d.ts +0 -2
  145. package/dist/components/collapse/index.d.ts.map +0 -1
  146. package/dist/components/collapse/index.js +0 -3
  147. package/dist/components/collapse/index.js.map +0 -1
  148. package/dist/components/color-picker/index.d.ts +0 -2
  149. package/dist/components/color-picker/index.d.ts.map +0 -1
  150. package/dist/components/color-picker/index.js +0 -3
  151. package/dist/components/color-picker/index.js.map +0 -1
  152. package/dist/components/date-picker/index.d.ts +0 -2
  153. package/dist/components/date-picker/index.d.ts.map +0 -1
  154. package/dist/components/date-picker/index.js +0 -3
  155. package/dist/components/date-picker/index.js.map +0 -1
  156. package/dist/components/descriptions/index.d.ts +0 -2
  157. package/dist/components/descriptions/index.d.ts.map +0 -1
  158. package/dist/components/descriptions/index.js +0 -3
  159. package/dist/components/descriptions/index.js.map +0 -1
  160. package/dist/components/display-title/DisplayTitle.d.ts +0 -7
  161. package/dist/components/display-title/DisplayTitle.d.ts.map +0 -1
  162. package/dist/components/display-title/DisplayTitle.js +0 -12
  163. package/dist/components/display-title/DisplayTitle.js.map +0 -1
  164. package/dist/components/display-title/index.d.ts +0 -2
  165. package/dist/components/display-title/index.d.ts.map +0 -1
  166. package/dist/components/display-title/index.js +0 -2
  167. package/dist/components/display-title/index.js.map +0 -1
  168. package/dist/components/divider/index.d.ts +0 -2
  169. package/dist/components/divider/index.d.ts.map +0 -1
  170. package/dist/components/divider/index.js +0 -3
  171. package/dist/components/divider/index.js.map +0 -1
  172. package/dist/components/drawer/index.d.ts +0 -2
  173. package/dist/components/drawer/index.d.ts.map +0 -1
  174. package/dist/components/drawer/index.js +0 -3
  175. package/dist/components/drawer/index.js.map +0 -1
  176. package/dist/components/dropdown/index.d.ts +0 -2
  177. package/dist/components/dropdown/index.d.ts.map +0 -1
  178. package/dist/components/dropdown/index.js +0 -3
  179. package/dist/components/dropdown/index.js.map +0 -1
  180. package/dist/components/empty/index.d.ts +0 -2
  181. package/dist/components/empty/index.d.ts.map +0 -1
  182. package/dist/components/empty/index.js +0 -3
  183. package/dist/components/empty/index.js.map +0 -1
  184. package/dist/components/flex/index.d.ts +0 -2
  185. package/dist/components/flex/index.d.ts.map +0 -1
  186. package/dist/components/flex/index.js +0 -3
  187. package/dist/components/flex/index.js.map +0 -1
  188. package/dist/components/float-button/index.d.ts +0 -2
  189. package/dist/components/float-button/index.d.ts.map +0 -1
  190. package/dist/components/float-button/index.js +0 -3
  191. package/dist/components/float-button/index.js.map +0 -1
  192. package/dist/components/form/index.d.ts +0 -2
  193. package/dist/components/form/index.d.ts.map +0 -1
  194. package/dist/components/form/index.js +0 -3
  195. package/dist/components/form/index.js.map +0 -1
  196. package/dist/components/grid/index.d.ts +0 -2
  197. package/dist/components/grid/index.d.ts.map +0 -1
  198. package/dist/components/grid/index.js +0 -3
  199. package/dist/components/grid/index.js.map +0 -1
  200. package/dist/components/image/index.d.ts +0 -2
  201. package/dist/components/image/index.d.ts.map +0 -1
  202. package/dist/components/image/index.js +0 -3
  203. package/dist/components/image/index.js.map +0 -1
  204. package/dist/components/index.d.ts +0 -3
  205. package/dist/components/index.d.ts.map +0 -1
  206. package/dist/components/index.js +0 -5
  207. package/dist/components/index.js.map +0 -1
  208. package/dist/components/input/index.d.ts +0 -2
  209. package/dist/components/input/index.d.ts.map +0 -1
  210. package/dist/components/input/index.js +0 -3
  211. package/dist/components/input/index.js.map +0 -1
  212. package/dist/components/input-number/index.d.ts +0 -2
  213. package/dist/components/input-number/index.d.ts.map +0 -1
  214. package/dist/components/input-number/index.js +0 -3
  215. package/dist/components/input-number/index.js.map +0 -1
  216. package/dist/components/layout/index.d.ts +0 -2
  217. package/dist/components/layout/index.d.ts.map +0 -1
  218. package/dist/components/layout/index.js +0 -3
  219. package/dist/components/layout/index.js.map +0 -1
  220. package/dist/components/list/index.d.ts +0 -2
  221. package/dist/components/list/index.d.ts.map +0 -1
  222. package/dist/components/list/index.js +0 -3
  223. package/dist/components/list/index.js.map +0 -1
  224. package/dist/components/listy/index.d.ts +0 -2
  225. package/dist/components/listy/index.d.ts.map +0 -1
  226. package/dist/components/listy/index.js +0 -3
  227. package/dist/components/listy/index.js.map +0 -1
  228. package/dist/components/masonry/index.d.ts +0 -2
  229. package/dist/components/masonry/index.d.ts.map +0 -1
  230. package/dist/components/masonry/index.js +0 -3
  231. package/dist/components/masonry/index.js.map +0 -1
  232. package/dist/components/mentions/index.d.ts +0 -2
  233. package/dist/components/mentions/index.d.ts.map +0 -1
  234. package/dist/components/mentions/index.js +0 -3
  235. package/dist/components/mentions/index.js.map +0 -1
  236. package/dist/components/menu/index.d.ts +0 -2
  237. package/dist/components/menu/index.d.ts.map +0 -1
  238. package/dist/components/menu/index.js +0 -3
  239. package/dist/components/menu/index.js.map +0 -1
  240. package/dist/components/modal/index.d.ts +0 -2
  241. package/dist/components/modal/index.d.ts.map +0 -1
  242. package/dist/components/modal/index.js +0 -3
  243. package/dist/components/modal/index.js.map +0 -1
  244. package/dist/components/pagination/index.d.ts +0 -2
  245. package/dist/components/pagination/index.d.ts.map +0 -1
  246. package/dist/components/pagination/index.js +0 -3
  247. package/dist/components/pagination/index.js.map +0 -1
  248. package/dist/components/popconfirm/index.d.ts +0 -2
  249. package/dist/components/popconfirm/index.d.ts.map +0 -1
  250. package/dist/components/popconfirm/index.js +0 -3
  251. package/dist/components/popconfirm/index.js.map +0 -1
  252. package/dist/components/popover/index.d.ts +0 -2
  253. package/dist/components/popover/index.d.ts.map +0 -1
  254. package/dist/components/popover/index.js +0 -3
  255. package/dist/components/popover/index.js.map +0 -1
  256. package/dist/components/progress/index.d.ts +0 -2
  257. package/dist/components/progress/index.d.ts.map +0 -1
  258. package/dist/components/progress/index.js +0 -3
  259. package/dist/components/progress/index.js.map +0 -1
  260. package/dist/components/qrcode/index.d.ts +0 -2
  261. package/dist/components/qrcode/index.d.ts.map +0 -1
  262. package/dist/components/qrcode/index.js +0 -3
  263. package/dist/components/qrcode/index.js.map +0 -1
  264. package/dist/components/radio/index.d.ts +0 -2
  265. package/dist/components/radio/index.d.ts.map +0 -1
  266. package/dist/components/radio/index.js +0 -3
  267. package/dist/components/radio/index.js.map +0 -1
  268. package/dist/components/rate/index.d.ts +0 -2
  269. package/dist/components/rate/index.d.ts.map +0 -1
  270. package/dist/components/rate/index.js +0 -3
  271. package/dist/components/rate/index.js.map +0 -1
  272. package/dist/components/result/index.d.ts +0 -2
  273. package/dist/components/result/index.d.ts.map +0 -1
  274. package/dist/components/result/index.js +0 -3
  275. package/dist/components/result/index.js.map +0 -1
  276. package/dist/components/row/index.d.ts +0 -2
  277. package/dist/components/row/index.d.ts.map +0 -1
  278. package/dist/components/row/index.js +0 -3
  279. package/dist/components/row/index.js.map +0 -1
  280. package/dist/components/segmented/index.d.ts +0 -2
  281. package/dist/components/segmented/index.d.ts.map +0 -1
  282. package/dist/components/segmented/index.js +0 -3
  283. package/dist/components/segmented/index.js.map +0 -1
  284. package/dist/components/select/index.d.ts +0 -2
  285. package/dist/components/select/index.d.ts.map +0 -1
  286. package/dist/components/select/index.js +0 -3
  287. package/dist/components/select/index.js.map +0 -1
  288. package/dist/components/skeleton/index.d.ts +0 -2
  289. package/dist/components/skeleton/index.d.ts.map +0 -1
  290. package/dist/components/skeleton/index.js +0 -3
  291. package/dist/components/skeleton/index.js.map +0 -1
  292. package/dist/components/slider/index.d.ts +0 -2
  293. package/dist/components/slider/index.d.ts.map +0 -1
  294. package/dist/components/slider/index.js +0 -3
  295. package/dist/components/slider/index.js.map +0 -1
  296. package/dist/components/space/index.d.ts +0 -2
  297. package/dist/components/space/index.d.ts.map +0 -1
  298. package/dist/components/space/index.js +0 -3
  299. package/dist/components/space/index.js.map +0 -1
  300. package/dist/components/spin/index.d.ts +0 -2
  301. package/dist/components/spin/index.d.ts.map +0 -1
  302. package/dist/components/spin/index.js +0 -3
  303. package/dist/components/spin/index.js.map +0 -1
  304. package/dist/components/splitter/index.d.ts +0 -2
  305. package/dist/components/splitter/index.d.ts.map +0 -1
  306. package/dist/components/splitter/index.js +0 -3
  307. package/dist/components/splitter/index.js.map +0 -1
  308. package/dist/components/statistic/index.d.ts +0 -2
  309. package/dist/components/statistic/index.d.ts.map +0 -1
  310. package/dist/components/statistic/index.js +0 -3
  311. package/dist/components/statistic/index.js.map +0 -1
  312. package/dist/components/steps/index.d.ts +0 -2
  313. package/dist/components/steps/index.d.ts.map +0 -1
  314. package/dist/components/steps/index.js +0 -3
  315. package/dist/components/steps/index.js.map +0 -1
  316. package/dist/components/switch/index.d.ts +0 -2
  317. package/dist/components/switch/index.d.ts.map +0 -1
  318. package/dist/components/switch/index.js +0 -3
  319. package/dist/components/switch/index.js.map +0 -1
  320. package/dist/components/table/index.d.ts +0 -2
  321. package/dist/components/table/index.d.ts.map +0 -1
  322. package/dist/components/table/index.js +0 -3
  323. package/dist/components/table/index.js.map +0 -1
  324. package/dist/components/tabs/index.d.ts +0 -2
  325. package/dist/components/tabs/index.d.ts.map +0 -1
  326. package/dist/components/tabs/index.js +0 -3
  327. package/dist/components/tabs/index.js.map +0 -1
  328. package/dist/components/tag/index.d.ts +0 -2
  329. package/dist/components/tag/index.d.ts.map +0 -1
  330. package/dist/components/tag/index.js +0 -3
  331. package/dist/components/tag/index.js.map +0 -1
  332. package/dist/components/time-picker/index.d.ts +0 -2
  333. package/dist/components/time-picker/index.d.ts.map +0 -1
  334. package/dist/components/time-picker/index.js +0 -3
  335. package/dist/components/time-picker/index.js.map +0 -1
  336. package/dist/components/timeline/index.d.ts +0 -2
  337. package/dist/components/timeline/index.d.ts.map +0 -1
  338. package/dist/components/timeline/index.js +0 -3
  339. package/dist/components/timeline/index.js.map +0 -1
  340. package/dist/components/tooltip/index.d.ts +0 -2
  341. package/dist/components/tooltip/index.d.ts.map +0 -1
  342. package/dist/components/tooltip/index.js +0 -3
  343. package/dist/components/tooltip/index.js.map +0 -1
  344. package/dist/components/tour/index.d.ts +0 -2
  345. package/dist/components/tour/index.d.ts.map +0 -1
  346. package/dist/components/tour/index.js +0 -3
  347. package/dist/components/tour/index.js.map +0 -1
  348. package/dist/components/transfer/index.d.ts +0 -2
  349. package/dist/components/transfer/index.d.ts.map +0 -1
  350. package/dist/components/transfer/index.js +0 -3
  351. package/dist/components/transfer/index.js.map +0 -1
  352. package/dist/components/tree/index.d.ts +0 -2
  353. package/dist/components/tree/index.d.ts.map +0 -1
  354. package/dist/components/tree/index.js +0 -3
  355. package/dist/components/tree/index.js.map +0 -1
  356. package/dist/components/tree-select/index.d.ts +0 -2
  357. package/dist/components/tree-select/index.d.ts.map +0 -1
  358. package/dist/components/tree-select/index.js +0 -3
  359. package/dist/components/tree-select/index.js.map +0 -1
  360. package/dist/components/typography/index.d.ts +0 -2
  361. package/dist/components/typography/index.d.ts.map +0 -1
  362. package/dist/components/typography/index.js +0 -3
  363. package/dist/components/typography/index.js.map +0 -1
  364. package/dist/components/upload/index.d.ts +0 -2
  365. package/dist/components/upload/index.d.ts.map +0 -1
  366. package/dist/components/upload/index.js +0 -3
  367. package/dist/components/upload/index.js.map +0 -1
  368. package/dist/components/watermark/index.d.ts +0 -2
  369. package/dist/components/watermark/index.d.ts.map +0 -1
  370. package/dist/components/watermark/index.js +0 -3
  371. package/dist/components/watermark/index.js.map +0 -1
  372. package/dist/generated/antd-components.d.ts +0 -139
  373. package/dist/generated/antd-components.d.ts.map +0 -1
  374. package/dist/generated/antd-components.js +0 -72
  375. package/dist/generated/antd-components.js.map +0 -1
  376. package/dist/generated/icons.d.ts +0 -2
  377. package/dist/generated/icons.d.ts.map +0 -1
  378. package/dist/generated/icons.js +0 -3
  379. package/dist/generated/icons.js.map +0 -1
  380. package/dist/generated/pass-throughs.d.ts +0 -213
  381. package/dist/generated/pass-throughs.d.ts.map +0 -1
  382. package/dist/generated/pass-throughs.js +0 -75
  383. package/dist/generated/pass-throughs.js.map +0 -1
  384. package/dist/index.d.ts +0 -14
  385. package/dist/index.d.ts.map +0 -1
  386. package/dist/index.js +0 -20
  387. package/dist/index.js.map +0 -1
  388. package/dist/pages/blog-layout/BlogLayout.d.ts +0 -22
  389. package/dist/pages/blog-layout/BlogLayout.d.ts.map +0 -1
  390. package/dist/pages/blog-layout/BlogLayout.js +0 -5
  391. package/dist/pages/blog-layout/BlogLayout.js.map +0 -1
  392. package/dist/pages/blog-layout/index.d.ts +0 -2
  393. package/dist/pages/blog-layout/index.d.ts.map +0 -1
  394. package/dist/pages/blog-layout/index.js +0 -2
  395. package/dist/pages/blog-layout/index.js.map +0 -1
  396. package/dist/pages/blog-layout.d.ts +0 -22
  397. package/dist/pages/blog-layout.d.ts.map +0 -1
  398. package/dist/pages/blog-layout.js +0 -11
  399. package/dist/pages/blog-layout.js.map +0 -1
  400. package/dist/pages/docs-shell/DocsShell.d.ts +0 -37
  401. package/dist/pages/docs-shell/DocsShell.d.ts.map +0 -1
  402. package/dist/pages/docs-shell/DocsShell.js +0 -8
  403. package/dist/pages/docs-shell/DocsShell.js.map +0 -1
  404. package/dist/pages/docs-shell/index.d.ts +0 -2
  405. package/dist/pages/docs-shell/index.d.ts.map +0 -1
  406. package/dist/pages/docs-shell/index.js +0 -2
  407. package/dist/pages/docs-shell/index.js.map +0 -1
  408. package/dist/pages/docs-shell.d.ts +0 -17
  409. package/dist/pages/docs-shell.d.ts.map +0 -1
  410. package/dist/pages/docs-shell.js +0 -11
  411. package/dist/pages/docs-shell.js.map +0 -1
  412. package/dist/pages/index.d.ts +0 -3
  413. package/dist/pages/index.d.ts.map +0 -1
  414. package/dist/pages/index.js +0 -4
  415. package/dist/pages/index.js.map +0 -1
  416. package/dist/products/ProductDot.d.ts +0 -7
  417. package/dist/products/ProductDot.d.ts.map +0 -1
  418. package/dist/products/ProductDot.js +0 -7
  419. package/dist/products/ProductDot.js.map +0 -1
  420. package/dist/products/index.d.ts +0 -22
  421. package/dist/products/index.d.ts.map +0 -1
  422. package/dist/products/index.js +0 -72
  423. package/dist/products/index.js.map +0 -1
  424. package/dist/prototype/index.d.ts +0 -2
  425. package/dist/prototype/index.d.ts.map +0 -1
  426. package/dist/prototype/index.js +0 -2
  427. package/dist/prototype/index.js.map +0 -1
  428. package/dist/prototype/landing/bits.d.ts +0 -29
  429. package/dist/prototype/landing/bits.d.ts.map +0 -1
  430. package/dist/prototype/landing/bits.js +0 -50
  431. package/dist/prototype/landing/bits.js.map +0 -1
  432. package/dist/prototype/landing/index.d.ts +0 -10
  433. package/dist/prototype/landing/index.d.ts.map +0 -1
  434. package/dist/prototype/landing/index.js +0 -7
  435. package/dist/prototype/landing/index.js.map +0 -1
  436. package/dist/prototype/landing/switcher.d.ts +0 -17
  437. package/dist/prototype/landing/switcher.d.ts.map +0 -1
  438. package/dist/prototype/landing/switcher.js +0 -71
  439. package/dist/prototype/landing/switcher.js.map +0 -1
  440. package/dist/prototype/landing/theme.d.ts +0 -44
  441. package/dist/prototype/landing/theme.d.ts.map +0 -1
  442. package/dist/prototype/landing/theme.js +0 -98
  443. package/dist/prototype/landing/theme.js.map +0 -1
  444. package/dist/prototype/landing/variant-a-specimen.d.ts +0 -3
  445. package/dist/prototype/landing/variant-a-specimen.d.ts.map +0 -1
  446. package/dist/prototype/landing/variant-a-specimen.js +0 -86
  447. package/dist/prototype/landing/variant-a-specimen.js.map +0 -1
  448. package/dist/prototype/landing/variant-b-ledger.d.ts +0 -3
  449. package/dist/prototype/landing/variant-b-ledger.d.ts.map +0 -1
  450. package/dist/prototype/landing/variant-b-ledger.js +0 -51
  451. package/dist/prototype/landing/variant-b-ledger.js.map +0 -1
  452. package/dist/prototype/landing/variant-c-workbench.d.ts +0 -3
  453. package/dist/prototype/landing/variant-c-workbench.d.ts.map +0 -1
  454. package/dist/prototype/landing/variant-c-workbench.js +0 -98
  455. package/dist/prototype/landing/variant-c-workbench.js.map +0 -1
  456. package/dist/provider/PrismLinkContext.d.ts +0 -19
  457. package/dist/provider/PrismLinkContext.d.ts.map +0 -1
  458. package/dist/provider/PrismLinkContext.js +0 -11
  459. package/dist/provider/PrismLinkContext.js.map +0 -1
  460. package/dist/provider/PrismProvider.d.ts +0 -9
  461. package/dist/provider/PrismProvider.d.ts.map +0 -1
  462. package/dist/provider/PrismProvider.js +0 -21
  463. package/dist/provider/PrismProvider.js.map +0 -1
  464. package/dist/provider/PrismThemeMode.d.ts +0 -17
  465. package/dist/provider/PrismThemeMode.d.ts.map +0 -1
  466. package/dist/provider/PrismThemeMode.js +0 -61
  467. package/dist/provider/PrismThemeMode.js.map +0 -1
  468. package/dist/provider/index.d.ts +0 -5
  469. package/dist/provider/index.d.ts.map +0 -1
  470. package/dist/provider/index.js +0 -5
  471. package/dist/provider/index.js.map +0 -1
  472. package/dist/provider/mergePrismTheme.d.ts +0 -12
  473. package/dist/provider/mergePrismTheme.d.ts.map +0 -1
  474. package/dist/provider/mergePrismTheme.js +0 -52
  475. package/dist/provider/mergePrismTheme.js.map +0 -1
  476. package/dist/styles.css +0 -372
  477. package/dist/theming/bake.d.ts +0 -24
  478. package/dist/theming/bake.d.ts.map +0 -1
  479. package/dist/theming/bake.js +0 -78
  480. package/dist/theming/bake.js.map +0 -1
  481. package/dist/theming/bootScript.d.ts +0 -9
  482. package/dist/theming/bootScript.d.ts.map +0 -1
  483. package/dist/theming/bootScript.js +0 -27
  484. package/dist/theming/bootScript.js.map +0 -1
  485. package/dist/theming/index.d.ts +0 -4
  486. package/dist/theming/index.d.ts.map +0 -1
  487. package/dist/theming/index.js +0 -8
  488. package/dist/theming/index.js.map +0 -1
  489. package/dist/theming/storage.d.ts +0 -5
  490. package/dist/theming/storage.d.ts.map +0 -1
  491. package/dist/theming/storage.js +0 -11
  492. package/dist/theming/storage.js.map +0 -1
  493. package/dist/wrapped-registry.d.ts +0 -55
  494. package/dist/wrapped-registry.d.ts.map +0 -1
  495. package/dist/wrapped-registry.js +0 -160
  496. package/dist/wrapped-registry.js.map +0 -1
@@ -0,0 +1,294 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "nanisoft",
4
+ "homepage": "https://prism.nanisoft.com",
5
+ "items": [
6
+ {
7
+ "name": "badge",
8
+ "title": "Badge",
9
+ "description": "Shared badge primitive. Installed automatically as a dependency of any block that uses it.",
10
+ "type": "registry:component",
11
+ "dependencies": [
12
+ "class-variance-authority",
13
+ "clsx",
14
+ "tailwind-merge"
15
+ ],
16
+ "files": [
17
+ {
18
+ "path": "src/components/ui/badge.tsx",
19
+ "type": "registry:component",
20
+ "target": "components/ui/badge.tsx"
21
+ },
22
+ {
23
+ "path": "src/lib/utils.ts",
24
+ "type": "registry:lib",
25
+ "target": "lib/utils.ts"
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "name": "button",
31
+ "title": "Button",
32
+ "description": "Shared button primitive. Installed automatically as a dependency of any block that uses it.",
33
+ "type": "registry:component",
34
+ "dependencies": [
35
+ "class-variance-authority",
36
+ "clsx",
37
+ "tailwind-merge"
38
+ ],
39
+ "files": [
40
+ {
41
+ "path": "src/components/ui/button.tsx",
42
+ "type": "registry:component",
43
+ "target": "components/ui/button.tsx"
44
+ },
45
+ {
46
+ "path": "src/lib/utils.ts",
47
+ "type": "registry:lib",
48
+ "target": "lib/utils.ts"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "name": "card",
54
+ "title": "Card",
55
+ "description": "Shared card primitive. Installed automatically as a dependency of any block that uses it.",
56
+ "type": "registry:component",
57
+ "dependencies": [
58
+ "clsx",
59
+ "tailwind-merge"
60
+ ],
61
+ "files": [
62
+ {
63
+ "path": "src/components/ui/card.tsx",
64
+ "type": "registry:component",
65
+ "target": "components/ui/card.tsx"
66
+ },
67
+ {
68
+ "path": "src/lib/utils.ts",
69
+ "type": "registry:lib",
70
+ "target": "lib/utils.ts"
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "name": "cta-01",
76
+ "title": "CTA 01 - Filled Banner",
77
+ "description": "A closing call to action on a filled primary surface. Headline, supporting line and the action are passed in as props.",
78
+ "type": "registry:block",
79
+ "categories": [
80
+ "marketing"
81
+ ],
82
+ "registryDependencies": [
83
+ "button"
84
+ ],
85
+ "dependencies": [
86
+ "clsx",
87
+ "lucide-react",
88
+ "tailwind-merge"
89
+ ],
90
+ "files": [
91
+ {
92
+ "path": "src/components/ds/blocks/cta-01/cta.tsx",
93
+ "type": "registry:component",
94
+ "target": "components/ds/blocks/cta-01/cta.tsx"
95
+ },
96
+ {
97
+ "path": "src/components/ds/blocks/cta-01/index.tsx",
98
+ "type": "registry:component",
99
+ "target": "components/ds/blocks/cta-01/index.tsx"
100
+ },
101
+ {
102
+ "path": "src/components/ds/blocks/section.tsx",
103
+ "type": "registry:component",
104
+ "target": "components/ds/blocks/section.tsx"
105
+ },
106
+ {
107
+ "path": "src/lib/utils.ts",
108
+ "type": "registry:lib",
109
+ "target": "lib/utils.ts"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "name": "feature-grid-01",
115
+ "title": "Feature Grid 01 - Four Up With Icons",
116
+ "description": "A four-up feature grid with icon tiles. Pass the items in; the section heading is optional.",
117
+ "type": "registry:block",
118
+ "categories": [
119
+ "marketing"
120
+ ],
121
+ "registryDependencies": [
122
+ "card"
123
+ ],
124
+ "dependencies": [
125
+ "clsx",
126
+ "lucide-react",
127
+ "tailwind-merge"
128
+ ],
129
+ "files": [
130
+ {
131
+ "path": "src/components/ds/blocks/feature-grid-01/feature-grid.tsx",
132
+ "type": "registry:component",
133
+ "target": "components/ds/blocks/feature-grid-01/feature-grid.tsx"
134
+ },
135
+ {
136
+ "path": "src/components/ds/blocks/feature-grid-01/index.tsx",
137
+ "type": "registry:component",
138
+ "target": "components/ds/blocks/feature-grid-01/index.tsx"
139
+ },
140
+ {
141
+ "path": "src/components/ds/blocks/section.tsx",
142
+ "type": "registry:component",
143
+ "target": "components/ds/blocks/section.tsx"
144
+ },
145
+ {
146
+ "path": "src/lib/utils.ts",
147
+ "type": "registry:lib",
148
+ "target": "lib/utils.ts"
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "name": "hero-01",
154
+ "title": "Hero 01 - Centered Marketing Hero",
155
+ "description": "A centered hero with an optional eyebrow, headline, supporting line and one or two actions. All copy is passed in as props.",
156
+ "type": "registry:block",
157
+ "categories": [
158
+ "marketing"
159
+ ],
160
+ "registryDependencies": [
161
+ "button"
162
+ ],
163
+ "dependencies": [
164
+ "clsx",
165
+ "lucide-react",
166
+ "tailwind-merge"
167
+ ],
168
+ "files": [
169
+ {
170
+ "path": "src/components/ds/blocks/hero-01/hero.tsx",
171
+ "type": "registry:component",
172
+ "target": "components/ds/blocks/hero-01/hero.tsx"
173
+ },
174
+ {
175
+ "path": "src/components/ds/blocks/hero-01/index.tsx",
176
+ "type": "registry:component",
177
+ "target": "components/ds/blocks/hero-01/index.tsx"
178
+ },
179
+ {
180
+ "path": "src/components/ds/blocks/section.tsx",
181
+ "type": "registry:component",
182
+ "target": "components/ds/blocks/section.tsx"
183
+ },
184
+ {
185
+ "path": "src/lib/utils.ts",
186
+ "type": "registry:lib",
187
+ "target": "lib/utils.ts"
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ "name": "pricing-01",
193
+ "title": "Pricing 01 - Three Tier With Highlight",
194
+ "description": "A three-up plan comparison with one plan lifted. Plans, prices, features and actions are all passed in as props.",
195
+ "type": "registry:block",
196
+ "categories": [
197
+ "marketing"
198
+ ],
199
+ "registryDependencies": [
200
+ "button",
201
+ "badge",
202
+ "card"
203
+ ],
204
+ "dependencies": [
205
+ "clsx",
206
+ "lucide-react",
207
+ "tailwind-merge"
208
+ ],
209
+ "files": [
210
+ {
211
+ "path": "src/components/ds/blocks/pricing-01/index.tsx",
212
+ "type": "registry:component",
213
+ "target": "components/ds/blocks/pricing-01/index.tsx"
214
+ },
215
+ {
216
+ "path": "src/components/ds/blocks/pricing-01/pricing.tsx",
217
+ "type": "registry:component",
218
+ "target": "components/ds/blocks/pricing-01/pricing.tsx"
219
+ },
220
+ {
221
+ "path": "src/components/ds/blocks/section.tsx",
222
+ "type": "registry:component",
223
+ "target": "components/ds/blocks/section.tsx"
224
+ },
225
+ {
226
+ "path": "src/lib/utils.ts",
227
+ "type": "registry:lib",
228
+ "target": "lib/utils.ts"
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "name": "section",
234
+ "title": "Section",
235
+ "description": "Container and heading primitives that give every block a consistent vertical rhythm.",
236
+ "type": "registry:component",
237
+ "dependencies": [
238
+ "clsx",
239
+ "tailwind-merge"
240
+ ],
241
+ "files": [
242
+ {
243
+ "path": "src/components/ds/blocks/section.tsx",
244
+ "type": "registry:component",
245
+ "target": "components/ds/blocks/section.tsx"
246
+ },
247
+ {
248
+ "path": "src/lib/utils.ts",
249
+ "type": "registry:lib",
250
+ "target": "lib/utils.ts"
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "name": "stats-01",
256
+ "title": "Stats 01 - KPI Row With Trend",
257
+ "description": "A four-up KPI row with optional directional deltas. Every metric is passed in; the block ships no sample data.",
258
+ "type": "registry:block",
259
+ "categories": [
260
+ "application"
261
+ ],
262
+ "registryDependencies": [
263
+ "card"
264
+ ],
265
+ "dependencies": [
266
+ "clsx",
267
+ "lucide-react",
268
+ "tailwind-merge"
269
+ ],
270
+ "files": [
271
+ {
272
+ "path": "src/components/ds/blocks/stats-01/index.tsx",
273
+ "type": "registry:component",
274
+ "target": "components/ds/blocks/stats-01/index.tsx"
275
+ },
276
+ {
277
+ "path": "src/components/ds/blocks/stats-01/stats.tsx",
278
+ "type": "registry:component",
279
+ "target": "components/ds/blocks/stats-01/stats.tsx"
280
+ },
281
+ {
282
+ "path": "src/components/ds/blocks/section.tsx",
283
+ "type": "registry:component",
284
+ "target": "components/ds/blocks/section.tsx"
285
+ },
286
+ {
287
+ "path": "src/lib/utils.ts",
288
+ "type": "registry:lib",
289
+ "target": "lib/utils.ts"
290
+ }
291
+ ]
292
+ }
293
+ ]
294
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "section",
4
+ "title": "Section",
5
+ "description": "Container and heading primitives that give every block a consistent vertical rhythm.",
6
+ "dependencies": [
7
+ "clsx",
8
+ "tailwind-merge"
9
+ ],
10
+ "files": [
11
+ {
12
+ "path": "src/components/ds/blocks/section.tsx",
13
+ "content": "import type { ReactNode } from 'react'\nimport { cn } from '@/lib/utils'\n\n/**\n * Container primitive. Every block composes its own section from this so vertical\n * rhythm stays consistent across the catalog instead of being re-invented per block.\n */\nexport function Section({\n className,\n children,\n ...props\n}: React.ComponentProps<'section'>) {\n return (\n <section\n className={cn('py-16 sm:py-24', className)}\n {...props}\n >\n <div className=\"mx-auto w-full max-w-6xl px-6 lg:px-8\">\n {children}\n </div>\n </section>\n )\n}\n\n/**\n * The six heading levels a block can be composed at.\n *\n * Every block takes a `headingLevel` prop typed with this and forwards it to the\n * one heading it renders, so the surrounding document decides where the block\n * sits in the outline rather than the block deciding for itself. `h2` is the\n * default because a block is composed, not a page.\n *\n * A block rendered where the document *already* owns a heading for the same\n * content passes one level deeper. A catalog card already names the block in its\n * own `h2`, so the copy of the block embedded inside that card passes `h3`: the\n * embedded heading then reads as a child of the card that introduces it instead\n * of as a second, competing sibling. This is a fact about where the block was\n * placed, not about the block, which is why it is a prop and not a default.\n */\nexport type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'\n\nexport function SectionHeading({\n eyebrow,\n title,\n as: Heading = 'h2',\n description,\n align = 'center',\n className,\n}: {\n eyebrow?: ReactNode\n title: ReactNode\n description?: ReactNode\n align?: 'center' | 'left'\n /**\n * Heading level. Defaults to `h2` because blocks compose under a page heading.\n * A page that renders a block as its primary heading passes `as=\"h1\"` — a\n * document with no `h1` gives screen-reader and search engines no top-level\n * entry point.\n */\n as?: HeadingLevel\n className?: string\n}) {\n return (\n <div\n className={cn(\n 'flex flex-col gap-4',\n align === 'center' ? 'items-center text-center' : 'items-start text-left',\n className,\n )}\n >\n {eyebrow ? (\n <span className=\"text-muted-foreground text-sm font-medium tracking-wide uppercase\">\n {eyebrow}\n </span>\n ) : null}\n <Heading className=\"text-3xl font-semibold tracking-tight text-balance sm:text-4xl\">\n {title}\n </Heading>\n {description ? (\n <p className=\"text-muted-foreground max-w-2xl text-lg text-pretty\">\n {description}\n </p>\n ) : null}\n </div>\n )\n}\n",
14
+ "type": "registry:component",
15
+ "target": "components/ds/blocks/section.tsx"
16
+ },
17
+ {
18
+ "path": "src/lib/utils.ts",
19
+ "content": "import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n",
20
+ "type": "registry:lib",
21
+ "target": "lib/utils.ts"
22
+ }
23
+ ],
24
+ "type": "registry:component"
25
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "stats-01",
4
+ "title": "Stats 01 - KPI Row With Trend",
5
+ "description": "A four-up KPI row with optional directional deltas. Every metric is passed in; the block ships no sample data.",
6
+ "dependencies": [
7
+ "clsx",
8
+ "lucide-react",
9
+ "tailwind-merge"
10
+ ],
11
+ "registryDependencies": [
12
+ "card"
13
+ ],
14
+ "files": [
15
+ {
16
+ "path": "src/components/ds/blocks/stats-01/index.tsx",
17
+ "content": "export { Stats01, default } from './stats'\r\n",
18
+ "type": "registry:component",
19
+ "target": "components/ds/blocks/stats-01/index.tsx"
20
+ },
21
+ {
22
+ "path": "src/components/ds/blocks/stats-01/stats.tsx",
23
+ "content": "import { ArrowDownRight, ArrowUpRight, Minus } from 'lucide-react'\n\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Section, SectionHeading, type HeadingLevel } from '@/components/ds/blocks/section'\n\nexport type Stat = {\n label: string\n value: string\n /** Percentage change. Positive reads as growth, negative as decline. */\n delta?: number\n /** Period the delta compares against, e.g. \"vs last month\". */\n hint?: string\n}\n\nexport type Stats01Props = {\n eyebrow?: string\n title?: string\n stats: Stat[]\n /** Heading level for the section title. See `HeadingLevel`. */\n headingLevel?: HeadingLevel\n}\n\nfunction Delta({ value }: { value: number }) {\n if (value === 0) {\n return (\n <span className=\"text-muted-foreground flex items-center gap-1 text-xs\">\n <Minus className=\"size-3\" />\n 0%\n </span>\n )\n }\n const up = value > 0\n const Icon = up ? ArrowUpRight : ArrowDownRight\n return (\n <span\n className={\n up\n ? 'text-success flex items-center gap-1 text-xs'\n : 'text-destructive flex items-center gap-1 text-xs'\n }\n >\n <Icon className=\"size-3\" />\n {Math.abs(value)}%\n </span>\n )\n}\n\n/**\n * A KPI row. Every number is a prop.\n *\n * This block used to carry a hardcoded set reading \"128 blocks shipped\" and \"9.4k\n * weekly installs\". Those were invented figures about a library nobody installs\n * yet, and because they lived in the component rather than at the call site, a\n * consumer who installed the block shipped fabricated metrics into their own\n * dashboard. A stat block with invented stats in it is worse than no stat block.\n */\nexport function Stats01({ eyebrow, title, stats, headingLevel = 'h2' }: Stats01Props) {\n return (\n <Section>\n {title ? (\n <SectionHeading\n as={headingLevel}\n eyebrow={eyebrow}\n title={title}\n align=\"left\"\n className=\"mb-10\"\n />\n ) : null}\n\n <div className=\"grid gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n {stats.map((stat) => (\n <Card key={stat.label} className=\"gap-2 py-5\">\n <CardContent className=\"flex flex-col gap-1\">\n <span className=\"text-muted-foreground text-sm\">{stat.label}</span>\n <span className=\"text-2xl font-semibold tracking-tight\">{stat.value}</span>\n {stat.delta === undefined && !stat.hint ? null : (\n <div className=\"flex items-center gap-2\">\n {stat.delta === undefined ? null : <Delta value={stat.delta} />}\n {stat.hint ? (\n <span className=\"text-muted-foreground text-xs\">{stat.hint}</span>\n ) : null}\n </div>\n )}\n </CardContent>\n </Card>\n ))}\n </div>\n </Section>\n )\n}\n\nexport default Stats01\n",
24
+ "type": "registry:component",
25
+ "target": "components/ds/blocks/stats-01/stats.tsx"
26
+ },
27
+ {
28
+ "path": "src/components/ds/blocks/section.tsx",
29
+ "content": "import type { ReactNode } from 'react'\nimport { cn } from '@/lib/utils'\n\n/**\n * Container primitive. Every block composes its own section from this so vertical\n * rhythm stays consistent across the catalog instead of being re-invented per block.\n */\nexport function Section({\n className,\n children,\n ...props\n}: React.ComponentProps<'section'>) {\n return (\n <section\n className={cn('py-16 sm:py-24', className)}\n {...props}\n >\n <div className=\"mx-auto w-full max-w-6xl px-6 lg:px-8\">\n {children}\n </div>\n </section>\n )\n}\n\n/**\n * The six heading levels a block can be composed at.\n *\n * Every block takes a `headingLevel` prop typed with this and forwards it to the\n * one heading it renders, so the surrounding document decides where the block\n * sits in the outline rather than the block deciding for itself. `h2` is the\n * default because a block is composed, not a page.\n *\n * A block rendered where the document *already* owns a heading for the same\n * content passes one level deeper. A catalog card already names the block in its\n * own `h2`, so the copy of the block embedded inside that card passes `h3`: the\n * embedded heading then reads as a child of the card that introduces it instead\n * of as a second, competing sibling. This is a fact about where the block was\n * placed, not about the block, which is why it is a prop and not a default.\n */\nexport type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'\n\nexport function SectionHeading({\n eyebrow,\n title,\n as: Heading = 'h2',\n description,\n align = 'center',\n className,\n}: {\n eyebrow?: ReactNode\n title: ReactNode\n description?: ReactNode\n align?: 'center' | 'left'\n /**\n * Heading level. Defaults to `h2` because blocks compose under a page heading.\n * A page that renders a block as its primary heading passes `as=\"h1\"` — a\n * document with no `h1` gives screen-reader and search engines no top-level\n * entry point.\n */\n as?: HeadingLevel\n className?: string\n}) {\n return (\n <div\n className={cn(\n 'flex flex-col gap-4',\n align === 'center' ? 'items-center text-center' : 'items-start text-left',\n className,\n )}\n >\n {eyebrow ? (\n <span className=\"text-muted-foreground text-sm font-medium tracking-wide uppercase\">\n {eyebrow}\n </span>\n ) : null}\n <Heading className=\"text-3xl font-semibold tracking-tight text-balance sm:text-4xl\">\n {title}\n </Heading>\n {description ? (\n <p className=\"text-muted-foreground max-w-2xl text-lg text-pretty\">\n {description}\n </p>\n ) : null}\n </div>\n )\n}\n",
30
+ "type": "registry:component",
31
+ "target": "components/ds/blocks/section.tsx"
32
+ },
33
+ {
34
+ "path": "src/lib/utils.ts",
35
+ "content": "import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n",
36
+ "type": "registry:lib",
37
+ "target": "lib/utils.ts"
38
+ }
39
+ ],
40
+ "categories": [
41
+ "application"
42
+ ],
43
+ "type": "registry:block"
44
+ }
package/registry.json ADDED
@@ -0,0 +1,294 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry.json",
3
+ "name": "nanisoft",
4
+ "homepage": "https://prism.nanisoft.com",
5
+ "items": [
6
+ {
7
+ "name": "badge",
8
+ "title": "Badge",
9
+ "description": "Shared badge primitive. Installed automatically as a dependency of any block that uses it.",
10
+ "type": "registry:component",
11
+ "dependencies": [
12
+ "class-variance-authority",
13
+ "clsx",
14
+ "tailwind-merge"
15
+ ],
16
+ "files": [
17
+ {
18
+ "path": "src/components/ui/badge.tsx",
19
+ "type": "registry:component",
20
+ "target": "components/ui/badge.tsx"
21
+ },
22
+ {
23
+ "path": "src/lib/utils.ts",
24
+ "type": "registry:lib",
25
+ "target": "lib/utils.ts"
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "name": "button",
31
+ "title": "Button",
32
+ "description": "Shared button primitive. Installed automatically as a dependency of any block that uses it.",
33
+ "type": "registry:component",
34
+ "dependencies": [
35
+ "class-variance-authority",
36
+ "clsx",
37
+ "tailwind-merge"
38
+ ],
39
+ "files": [
40
+ {
41
+ "path": "src/components/ui/button.tsx",
42
+ "type": "registry:component",
43
+ "target": "components/ui/button.tsx"
44
+ },
45
+ {
46
+ "path": "src/lib/utils.ts",
47
+ "type": "registry:lib",
48
+ "target": "lib/utils.ts"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "name": "card",
54
+ "title": "Card",
55
+ "description": "Shared card primitive. Installed automatically as a dependency of any block that uses it.",
56
+ "type": "registry:component",
57
+ "dependencies": [
58
+ "clsx",
59
+ "tailwind-merge"
60
+ ],
61
+ "files": [
62
+ {
63
+ "path": "src/components/ui/card.tsx",
64
+ "type": "registry:component",
65
+ "target": "components/ui/card.tsx"
66
+ },
67
+ {
68
+ "path": "src/lib/utils.ts",
69
+ "type": "registry:lib",
70
+ "target": "lib/utils.ts"
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "name": "cta-01",
76
+ "title": "CTA 01 - Filled Banner",
77
+ "description": "A closing call to action on a filled primary surface. Headline, supporting line and the action are passed in as props.",
78
+ "type": "registry:block",
79
+ "categories": [
80
+ "marketing"
81
+ ],
82
+ "registryDependencies": [
83
+ "button"
84
+ ],
85
+ "dependencies": [
86
+ "clsx",
87
+ "lucide-react",
88
+ "tailwind-merge"
89
+ ],
90
+ "files": [
91
+ {
92
+ "path": "src/components/ds/blocks/cta-01/cta.tsx",
93
+ "type": "registry:component",
94
+ "target": "components/ds/blocks/cta-01/cta.tsx"
95
+ },
96
+ {
97
+ "path": "src/components/ds/blocks/cta-01/index.tsx",
98
+ "type": "registry:component",
99
+ "target": "components/ds/blocks/cta-01/index.tsx"
100
+ },
101
+ {
102
+ "path": "src/components/ds/blocks/section.tsx",
103
+ "type": "registry:component",
104
+ "target": "components/ds/blocks/section.tsx"
105
+ },
106
+ {
107
+ "path": "src/lib/utils.ts",
108
+ "type": "registry:lib",
109
+ "target": "lib/utils.ts"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "name": "feature-grid-01",
115
+ "title": "Feature Grid 01 - Four Up With Icons",
116
+ "description": "A four-up feature grid with icon tiles. Pass the items in; the section heading is optional.",
117
+ "type": "registry:block",
118
+ "categories": [
119
+ "marketing"
120
+ ],
121
+ "registryDependencies": [
122
+ "card"
123
+ ],
124
+ "dependencies": [
125
+ "clsx",
126
+ "lucide-react",
127
+ "tailwind-merge"
128
+ ],
129
+ "files": [
130
+ {
131
+ "path": "src/components/ds/blocks/feature-grid-01/feature-grid.tsx",
132
+ "type": "registry:component",
133
+ "target": "components/ds/blocks/feature-grid-01/feature-grid.tsx"
134
+ },
135
+ {
136
+ "path": "src/components/ds/blocks/feature-grid-01/index.tsx",
137
+ "type": "registry:component",
138
+ "target": "components/ds/blocks/feature-grid-01/index.tsx"
139
+ },
140
+ {
141
+ "path": "src/components/ds/blocks/section.tsx",
142
+ "type": "registry:component",
143
+ "target": "components/ds/blocks/section.tsx"
144
+ },
145
+ {
146
+ "path": "src/lib/utils.ts",
147
+ "type": "registry:lib",
148
+ "target": "lib/utils.ts"
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "name": "hero-01",
154
+ "title": "Hero 01 - Centered Marketing Hero",
155
+ "description": "A centered hero with an optional eyebrow, headline, supporting line and one or two actions. All copy is passed in as props.",
156
+ "type": "registry:block",
157
+ "categories": [
158
+ "marketing"
159
+ ],
160
+ "registryDependencies": [
161
+ "button"
162
+ ],
163
+ "dependencies": [
164
+ "clsx",
165
+ "lucide-react",
166
+ "tailwind-merge"
167
+ ],
168
+ "files": [
169
+ {
170
+ "path": "src/components/ds/blocks/hero-01/hero.tsx",
171
+ "type": "registry:component",
172
+ "target": "components/ds/blocks/hero-01/hero.tsx"
173
+ },
174
+ {
175
+ "path": "src/components/ds/blocks/hero-01/index.tsx",
176
+ "type": "registry:component",
177
+ "target": "components/ds/blocks/hero-01/index.tsx"
178
+ },
179
+ {
180
+ "path": "src/components/ds/blocks/section.tsx",
181
+ "type": "registry:component",
182
+ "target": "components/ds/blocks/section.tsx"
183
+ },
184
+ {
185
+ "path": "src/lib/utils.ts",
186
+ "type": "registry:lib",
187
+ "target": "lib/utils.ts"
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ "name": "pricing-01",
193
+ "title": "Pricing 01 - Three Tier With Highlight",
194
+ "description": "A three-up plan comparison with one plan lifted. Plans, prices, features and actions are all passed in as props.",
195
+ "type": "registry:block",
196
+ "categories": [
197
+ "marketing"
198
+ ],
199
+ "registryDependencies": [
200
+ "button",
201
+ "badge",
202
+ "card"
203
+ ],
204
+ "dependencies": [
205
+ "clsx",
206
+ "lucide-react",
207
+ "tailwind-merge"
208
+ ],
209
+ "files": [
210
+ {
211
+ "path": "src/components/ds/blocks/pricing-01/index.tsx",
212
+ "type": "registry:component",
213
+ "target": "components/ds/blocks/pricing-01/index.tsx"
214
+ },
215
+ {
216
+ "path": "src/components/ds/blocks/pricing-01/pricing.tsx",
217
+ "type": "registry:component",
218
+ "target": "components/ds/blocks/pricing-01/pricing.tsx"
219
+ },
220
+ {
221
+ "path": "src/components/ds/blocks/section.tsx",
222
+ "type": "registry:component",
223
+ "target": "components/ds/blocks/section.tsx"
224
+ },
225
+ {
226
+ "path": "src/lib/utils.ts",
227
+ "type": "registry:lib",
228
+ "target": "lib/utils.ts"
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "name": "section",
234
+ "title": "Section",
235
+ "description": "Container and heading primitives that give every block a consistent vertical rhythm.",
236
+ "type": "registry:component",
237
+ "dependencies": [
238
+ "clsx",
239
+ "tailwind-merge"
240
+ ],
241
+ "files": [
242
+ {
243
+ "path": "src/components/ds/blocks/section.tsx",
244
+ "type": "registry:component",
245
+ "target": "components/ds/blocks/section.tsx"
246
+ },
247
+ {
248
+ "path": "src/lib/utils.ts",
249
+ "type": "registry:lib",
250
+ "target": "lib/utils.ts"
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "name": "stats-01",
256
+ "title": "Stats 01 - KPI Row With Trend",
257
+ "description": "A four-up KPI row with optional directional deltas. Every metric is passed in; the block ships no sample data.",
258
+ "type": "registry:block",
259
+ "categories": [
260
+ "application"
261
+ ],
262
+ "registryDependencies": [
263
+ "card"
264
+ ],
265
+ "dependencies": [
266
+ "clsx",
267
+ "lucide-react",
268
+ "tailwind-merge"
269
+ ],
270
+ "files": [
271
+ {
272
+ "path": "src/components/ds/blocks/stats-01/index.tsx",
273
+ "type": "registry:component",
274
+ "target": "components/ds/blocks/stats-01/index.tsx"
275
+ },
276
+ {
277
+ "path": "src/components/ds/blocks/stats-01/stats.tsx",
278
+ "type": "registry:component",
279
+ "target": "components/ds/blocks/stats-01/stats.tsx"
280
+ },
281
+ {
282
+ "path": "src/components/ds/blocks/section.tsx",
283
+ "type": "registry:component",
284
+ "target": "components/ds/blocks/section.tsx"
285
+ },
286
+ {
287
+ "path": "src/lib/utils.ts",
288
+ "type": "registry:lib",
289
+ "target": "lib/utils.ts"
290
+ }
291
+ ]
292
+ }
293
+ ]
294
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "cta-01",
3
+ "title": "CTA 01 - Filled Banner",
4
+ "description": "A closing call to action on a filled primary surface. Headline, supporting line and the action are passed in as props.",
5
+ "categories": ["marketing"],
6
+ "registryDependencies": ["button"],
7
+ "dependencies": ["lucide-react"]
8
+ }