tembro 1.0.3 → 2.0.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 (342) hide show
  1. package/README.md +2 -2
  2. package/dist/components/data-table/data-table.cjs +1 -1
  3. package/dist/components/data-table/data-table.js +68 -68
  4. package/dist/components/display/smart-card.d.ts +8 -8
  5. package/dist/components/patterns/index.cjs +1 -1
  6. package/dist/components/patterns/index.js +4 -4
  7. package/dist/components/patterns/public.cjs +1 -1
  8. package/dist/components/patterns/public.js +4 -4
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.d.ts +0 -1
  11. package/dist/index.js +19 -38
  12. package/dist/showcase/index.cjs +1 -1
  13. package/dist/showcase/index.d.ts +0 -1
  14. package/dist/showcase/index.js +36 -38
  15. package/dist/showcase/package-meta.cjs +1 -1
  16. package/dist/showcase/package-meta.d.ts +2 -2
  17. package/dist/showcase/package-meta.js +1 -1
  18. package/dist/showcase/premium/accordion/mock.cjs +4 -4
  19. package/dist/showcase/premium/accordion/mock.js +1 -1
  20. package/dist/showcase/{families/data-table/types.d.ts → premium/data-table-parts/data.d.ts} +4 -0
  21. package/dist/showcase/{families/data-table → premium/data-table-parts}/data.js +1 -1
  22. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  23. package/dist/showcase/premium/data-table-parts/showcase.js +1 -1
  24. package/dist/showcase/site-data.cjs +1 -1
  25. package/dist/showcase/site-data.d.ts +6 -6
  26. package/dist/showcase/site-data.js +414 -451
  27. package/dist/showcase/tembro-registry.json.cjs +1 -1
  28. package/dist/showcase/tembro-registry.json.js +1 -1
  29. package/package.json +2 -13
  30. package/packages/cli/dist/index.cjs +17 -17
  31. package/packages/cli/vendor/src/components/data-table/data-table.tsx +22 -13
  32. package/packages/cli/vendor/src/components/display/smart-card.tsx +8 -8
  33. package/packages/cli/vendor/src/index.ts +3 -4
  34. package/packages/cli/vendor/src/showcase/index.ts +5 -6
  35. package/packages/cli/vendor/src/showcase/package-meta.ts +1 -1
  36. package/packages/cli/vendor/src/showcase/premium/accordion/mock.ts +4 -4
  37. package/packages/cli/vendor/src/showcase/{families/data-table → premium/data-table-parts}/data.ts +25 -1
  38. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +1 -2
  39. package/packages/cli/vendor/src/showcase/site-data.tsx +151 -216
  40. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  41. package/registry.json +1 -1
  42. package/dist/families/badge-family.cjs +0 -1
  43. package/dist/families/badge-family.d.ts +0 -5
  44. package/dist/families/badge-family.js +0 -5
  45. package/dist/families/card-family.cjs +0 -1
  46. package/dist/families/card-family.d.ts +0 -16
  47. package/dist/families/card-family.js +0 -21
  48. package/dist/families/catalog.cjs +0 -1
  49. package/dist/families/catalog.d.ts +0 -11
  50. package/dist/families/catalog.js +0 -140
  51. package/dist/families/data-table-family.cjs +0 -1
  52. package/dist/families/data-table-family.d.ts +0 -18
  53. package/dist/families/data-table-family.js +0 -29
  54. package/dist/families/docs-adoption.cjs +0 -1
  55. package/dist/families/docs-adoption.d.ts +0 -16
  56. package/dist/families/docs-adoption.js +0 -53
  57. package/dist/families/docs-groups.cjs +0 -1
  58. package/dist/families/docs-groups.d.ts +0 -18
  59. package/dist/families/docs-groups.js +0 -262
  60. package/dist/families/docs-queries.cjs +0 -1
  61. package/dist/families/docs-queries.d.ts +0 -37
  62. package/dist/families/docs-queries.js +0 -50
  63. package/dist/families/docs-routing.cjs +0 -1
  64. package/dist/families/docs-routing.d.ts +0 -17
  65. package/dist/families/docs-routing.js +0 -49
  66. package/dist/families/form-family.cjs +0 -1
  67. package/dist/families/form-family.d.ts +0 -20
  68. package/dist/families/form-family.js +0 -35
  69. package/dist/families/index.cjs +0 -1
  70. package/dist/families/index.d.ts +0 -19
  71. package/dist/families/index.js +0 -20
  72. package/dist/families/input-family.cjs +0 -1
  73. package/dist/families/input-family.d.ts +0 -32
  74. package/dist/families/input-family.js +0 -56
  75. package/dist/families/member-metadata.cjs +0 -1
  76. package/dist/families/member-metadata.d.ts +0 -11
  77. package/dist/families/member-metadata.js +0 -1013
  78. package/dist/families/member-queries.cjs +0 -1
  79. package/dist/families/member-queries.d.ts +0 -6
  80. package/dist/families/member-queries.js +0 -14
  81. package/dist/families/member-snippet-queries.cjs +0 -1
  82. package/dist/families/member-snippet-queries.d.ts +0 -8
  83. package/dist/families/member-snippet-queries.js +0 -30
  84. package/dist/families/member-snippets.cjs +0 -484
  85. package/dist/families/member-snippets.d.ts +0 -11
  86. package/dist/families/member-snippets.js +0 -1061
  87. package/dist/families/migration-map.cjs +0 -1
  88. package/dist/families/migration-map.d.ts +0 -10
  89. package/dist/families/migration-map.js +0 -787
  90. package/dist/families/overlay-family.cjs +0 -1
  91. package/dist/families/overlay-family.d.ts +0 -22
  92. package/dist/families/overlay-family.js +0 -29
  93. package/dist/families/public-surface-rationalization.cjs +0 -1
  94. package/dist/families/public-surface-rationalization.d.ts +0 -169
  95. package/dist/families/public-surface-rationalization.js +0 -296
  96. package/dist/families/queries.cjs +0 -1
  97. package/dist/families/queries.d.ts +0 -12
  98. package/dist/families/queries.js +0 -162
  99. package/dist/families/select-family.cjs +0 -1
  100. package/dist/families/select-family.d.ts +0 -22
  101. package/dist/families/select-family.js +0 -27
  102. package/dist/families/views.cjs +0 -1
  103. package/dist/families/views.d.ts +0 -26
  104. package/dist/families/views.js +0 -45
  105. package/dist/showcase/families/actions/index.cjs +0 -1
  106. package/dist/showcase/families/actions/index.d.ts +0 -2
  107. package/dist/showcase/families/actions/index.js +0 -3
  108. package/dist/showcase/families/actions/mock.cjs +0 -5
  109. package/dist/showcase/families/actions/mock.d.ts +0 -2
  110. package/dist/showcase/families/actions/mock.js +0 -40
  111. package/dist/showcase/families/actions/showcase.cjs +0 -1
  112. package/dist/showcase/families/actions/showcase.d.ts +0 -2
  113. package/dist/showcase/families/actions/showcase.js +0 -53
  114. package/dist/showcase/families/calendar/index.cjs +0 -1
  115. package/dist/showcase/families/calendar/index.d.ts +0 -2
  116. package/dist/showcase/families/calendar/index.js +0 -3
  117. package/dist/showcase/families/calendar/mock.cjs +0 -5
  118. package/dist/showcase/families/calendar/mock.d.ts +0 -2
  119. package/dist/showcase/families/calendar/mock.js +0 -40
  120. package/dist/showcase/families/calendar/showcase.cjs +0 -1
  121. package/dist/showcase/families/calendar/showcase.d.ts +0 -2
  122. package/dist/showcase/families/calendar/showcase.js +0 -60
  123. package/dist/showcase/families/command/index.cjs +0 -1
  124. package/dist/showcase/families/command/index.d.ts +0 -2
  125. package/dist/showcase/families/command/index.js +0 -3
  126. package/dist/showcase/families/command/mock.cjs +0 -5
  127. package/dist/showcase/families/command/mock.d.ts +0 -2
  128. package/dist/showcase/families/command/mock.js +0 -40
  129. package/dist/showcase/families/command/showcase.cjs +0 -1
  130. package/dist/showcase/families/command/showcase.d.ts +0 -2
  131. package/dist/showcase/families/command/showcase.js +0 -40
  132. package/dist/showcase/families/data-table/data.d.ts +0 -5
  133. package/dist/showcase/families/data-table/index.cjs +0 -1
  134. package/dist/showcase/families/data-table/index.d.ts +0 -4
  135. package/dist/showcase/families/data-table/index.js +0 -4
  136. package/dist/showcase/families/data-table/mock.cjs +0 -24
  137. package/dist/showcase/families/data-table/mock.d.ts +0 -2
  138. package/dist/showcase/families/data-table/mock.js +0 -48
  139. package/dist/showcase/families/data-table/showcase.cjs +0 -1
  140. package/dist/showcase/families/data-table/showcase.d.ts +0 -3
  141. package/dist/showcase/families/data-table/showcase.js +0 -751
  142. package/dist/showcase/families/data-table/types.cjs +0 -1
  143. package/dist/showcase/families/data-table/types.js +0 -0
  144. package/dist/showcase/families/display/data.cjs +0 -1
  145. package/dist/showcase/families/display/data.d.ts +0 -6
  146. package/dist/showcase/families/display/data.js +0 -24
  147. package/dist/showcase/families/display/index.cjs +0 -1
  148. package/dist/showcase/families/display/index.d.ts +0 -2
  149. package/dist/showcase/families/display/index.js +0 -3
  150. package/dist/showcase/families/display/mock.cjs +0 -5
  151. package/dist/showcase/families/display/mock.d.ts +0 -2
  152. package/dist/showcase/families/display/mock.js +0 -40
  153. package/dist/showcase/families/display/showcase.cjs +0 -1
  154. package/dist/showcase/families/display/showcase.d.ts +0 -2
  155. package/dist/showcase/families/display/showcase.js +0 -201
  156. package/dist/showcase/families/filters/data.cjs +0 -1
  157. package/dist/showcase/families/filters/data.d.ts +0 -31
  158. package/dist/showcase/families/filters/data.js +0 -61
  159. package/dist/showcase/families/filters/index.cjs +0 -1
  160. package/dist/showcase/families/filters/index.d.ts +0 -2
  161. package/dist/showcase/families/filters/index.js +0 -3
  162. package/dist/showcase/families/filters/mock.cjs +0 -5
  163. package/dist/showcase/families/filters/mock.d.ts +0 -2
  164. package/dist/showcase/families/filters/mock.js +0 -40
  165. package/dist/showcase/families/filters/showcase.cjs +0 -1
  166. package/dist/showcase/families/filters/showcase.d.ts +0 -3
  167. package/dist/showcase/families/filters/showcase.js +0 -213
  168. package/dist/showcase/families/form/data.cjs +0 -1
  169. package/dist/showcase/families/form/data.d.ts +0 -22
  170. package/dist/showcase/families/form/data.js +0 -53
  171. package/dist/showcase/families/form/index.cjs +0 -1
  172. package/dist/showcase/families/form/index.d.ts +0 -4
  173. package/dist/showcase/families/form/index.js +0 -4
  174. package/dist/showcase/families/form/mock.cjs +0 -12
  175. package/dist/showcase/families/form/mock.d.ts +0 -2
  176. package/dist/showcase/families/form/mock.js +0 -40
  177. package/dist/showcase/families/form/showcase.cjs +0 -1
  178. package/dist/showcase/families/form/showcase.d.ts +0 -3
  179. package/dist/showcase/families/form/showcase.js +0 -318
  180. package/dist/showcase/families/form/types.cjs +0 -1
  181. package/dist/showcase/families/form/types.d.ts +0 -9
  182. package/dist/showcase/families/form/types.js +0 -0
  183. package/dist/showcase/families/index.cjs +0 -1
  184. package/dist/showcase/families/index.d.ts +0 -3
  185. package/dist/showcase/families/index.js +0 -96
  186. package/dist/showcase/families/inputs/data.cjs +0 -1
  187. package/dist/showcase/families/inputs/data.d.ts +0 -24
  188. package/dist/showcase/families/inputs/data.js +0 -90
  189. package/dist/showcase/families/inputs/index.cjs +0 -1
  190. package/dist/showcase/families/inputs/index.d.ts +0 -2
  191. package/dist/showcase/families/inputs/index.js +0 -3
  192. package/dist/showcase/families/inputs/mock.cjs +0 -5
  193. package/dist/showcase/families/inputs/mock.d.ts +0 -2
  194. package/dist/showcase/families/inputs/mock.js +0 -40
  195. package/dist/showcase/families/inputs/showcase.cjs +0 -1
  196. package/dist/showcase/families/inputs/showcase.d.ts +0 -3
  197. package/dist/showcase/families/inputs/showcase.js +0 -404
  198. package/dist/showcase/families/layout/index.cjs +0 -1
  199. package/dist/showcase/families/layout/index.d.ts +0 -2
  200. package/dist/showcase/families/layout/index.js +0 -3
  201. package/dist/showcase/families/layout/mock.cjs +0 -5
  202. package/dist/showcase/families/layout/mock.d.ts +0 -2
  203. package/dist/showcase/families/layout/mock.js +0 -40
  204. package/dist/showcase/families/layout/showcase.cjs +0 -1
  205. package/dist/showcase/families/layout/showcase.d.ts +0 -2
  206. package/dist/showcase/families/layout/showcase.js +0 -88
  207. package/dist/showcase/families/navigation/index.cjs +0 -1
  208. package/dist/showcase/families/navigation/index.d.ts +0 -2
  209. package/dist/showcase/families/navigation/index.js +0 -3
  210. package/dist/showcase/families/navigation/mock.cjs +0 -5
  211. package/dist/showcase/families/navigation/mock.d.ts +0 -2
  212. package/dist/showcase/families/navigation/mock.js +0 -40
  213. package/dist/showcase/families/navigation/showcase.cjs +0 -1
  214. package/dist/showcase/families/navigation/showcase.d.ts +0 -2
  215. package/dist/showcase/families/navigation/showcase.js +0 -49
  216. package/dist/showcase/families/notifications/index.cjs +0 -1
  217. package/dist/showcase/families/notifications/index.d.ts +0 -2
  218. package/dist/showcase/families/notifications/index.js +0 -3
  219. package/dist/showcase/families/notifications/mock.cjs +0 -5
  220. package/dist/showcase/families/notifications/mock.d.ts +0 -2
  221. package/dist/showcase/families/notifications/mock.js +0 -40
  222. package/dist/showcase/families/notifications/showcase.cjs +0 -1
  223. package/dist/showcase/families/notifications/showcase.d.ts +0 -1
  224. package/dist/showcase/families/notifications/showcase.js +0 -50
  225. package/dist/showcase/families/overlay/index.cjs +0 -1
  226. package/dist/showcase/families/overlay/index.d.ts +0 -2
  227. package/dist/showcase/families/overlay/index.js +0 -3
  228. package/dist/showcase/families/overlay/mock.cjs +0 -5
  229. package/dist/showcase/families/overlay/mock.d.ts +0 -2
  230. package/dist/showcase/families/overlay/mock.js +0 -40
  231. package/dist/showcase/families/overlay/showcase.cjs +0 -1
  232. package/dist/showcase/families/overlay/showcase.d.ts +0 -1
  233. package/dist/showcase/families/overlay/showcase.js +0 -38
  234. package/dist/showcase/families/patterns/index.cjs +0 -1
  235. package/dist/showcase/families/patterns/index.d.ts +0 -2
  236. package/dist/showcase/families/patterns/index.js +0 -3
  237. package/dist/showcase/families/patterns/mock.cjs +0 -5
  238. package/dist/showcase/families/patterns/mock.d.ts +0 -2
  239. package/dist/showcase/families/patterns/mock.js +0 -40
  240. package/dist/showcase/families/patterns/showcase.cjs +0 -1
  241. package/dist/showcase/families/patterns/showcase.d.ts +0 -1
  242. package/dist/showcase/families/patterns/showcase.js +0 -38
  243. package/dist/showcase/families/types.cjs +0 -1
  244. package/dist/showcase/families/types.d.ts +0 -29
  245. package/dist/showcase/families/types.js +0 -10
  246. package/dist/showcase/families/upload/data.cjs +0 -1
  247. package/dist/showcase/families/upload/data.d.ts +0 -1
  248. package/dist/showcase/families/upload/data.js +0 -10
  249. package/dist/showcase/families/upload/index.cjs +0 -1
  250. package/dist/showcase/families/upload/index.d.ts +0 -2
  251. package/dist/showcase/families/upload/index.js +0 -3
  252. package/dist/showcase/families/upload/mock.cjs +0 -5
  253. package/dist/showcase/families/upload/mock.d.ts +0 -2
  254. package/dist/showcase/families/upload/mock.js +0 -40
  255. package/dist/showcase/families/upload/showcase.cjs +0 -1
  256. package/dist/showcase/families/upload/showcase.d.ts +0 -3
  257. package/dist/showcase/families/upload/showcase.js +0 -133
  258. package/dist/showcase/families/wizard/index.cjs +0 -1
  259. package/dist/showcase/families/wizard/index.d.ts +0 -2
  260. package/dist/showcase/families/wizard/index.js +0 -3
  261. package/dist/showcase/families/wizard/mock.cjs +0 -5
  262. package/dist/showcase/families/wizard/mock.d.ts +0 -2
  263. package/dist/showcase/families/wizard/mock.js +0 -40
  264. package/dist/showcase/families/wizard/showcase.cjs +0 -1
  265. package/dist/showcase/families/wizard/showcase.d.ts +0 -2
  266. package/dist/showcase/families/wizard/showcase.js +0 -56
  267. package/packages/cli/vendor/src/families/badge-family.ts +0 -7
  268. package/packages/cli/vendor/src/families/card-family.ts +0 -26
  269. package/packages/cli/vendor/src/families/catalog.ts +0 -125
  270. package/packages/cli/vendor/src/families/data-table-family.ts +0 -31
  271. package/packages/cli/vendor/src/families/docs-adoption.ts +0 -103
  272. package/packages/cli/vendor/src/families/docs-groups.ts +0 -248
  273. package/packages/cli/vendor/src/families/docs-queries.ts +0 -84
  274. package/packages/cli/vendor/src/families/docs-routing.ts +0 -89
  275. package/packages/cli/vendor/src/families/form-family.ts +0 -37
  276. package/packages/cli/vendor/src/families/index.ts +0 -19
  277. package/packages/cli/vendor/src/families/input-family.ts +0 -61
  278. package/packages/cli/vendor/src/families/member-metadata.ts +0 -1033
  279. package/packages/cli/vendor/src/families/member-queries.ts +0 -28
  280. package/packages/cli/vendor/src/families/member-snippet-queries.ts +0 -54
  281. package/packages/cli/vendor/src/families/member-snippets.ts +0 -1563
  282. package/packages/cli/vendor/src/families/migration-map.ts +0 -161
  283. package/packages/cli/vendor/src/families/overlay-family.ts +0 -31
  284. package/packages/cli/vendor/src/families/public-surface-rationalization.ts +0 -206
  285. package/packages/cli/vendor/src/families/queries.ts +0 -131
  286. package/packages/cli/vendor/src/families/select-family.ts +0 -33
  287. package/packages/cli/vendor/src/families/views.ts +0 -85
  288. package/packages/cli/vendor/src/showcase/families/actions/index.ts +0 -2
  289. package/packages/cli/vendor/src/showcase/families/actions/mock.ts +0 -18
  290. package/packages/cli/vendor/src/showcase/families/actions/showcase.tsx +0 -36
  291. package/packages/cli/vendor/src/showcase/families/calendar/index.ts +0 -2
  292. package/packages/cli/vendor/src/showcase/families/calendar/mock.ts +0 -18
  293. package/packages/cli/vendor/src/showcase/families/calendar/showcase.tsx +0 -33
  294. package/packages/cli/vendor/src/showcase/families/command/index.ts +0 -2
  295. package/packages/cli/vendor/src/showcase/families/command/mock.ts +0 -18
  296. package/packages/cli/vendor/src/showcase/families/command/showcase.tsx +0 -33
  297. package/packages/cli/vendor/src/showcase/families/data-table/index.ts +0 -4
  298. package/packages/cli/vendor/src/showcase/families/data-table/mock.ts +0 -42
  299. package/packages/cli/vendor/src/showcase/families/data-table/showcase.tsx +0 -507
  300. package/packages/cli/vendor/src/showcase/families/data-table/types.ts +0 -25
  301. package/packages/cli/vendor/src/showcase/families/display/data.ts +0 -11
  302. package/packages/cli/vendor/src/showcase/families/display/index.ts +0 -2
  303. package/packages/cli/vendor/src/showcase/families/display/mock.ts +0 -18
  304. package/packages/cli/vendor/src/showcase/families/display/showcase.tsx +0 -113
  305. package/packages/cli/vendor/src/showcase/families/filters/data.ts +0 -18
  306. package/packages/cli/vendor/src/showcase/families/filters/index.ts +0 -2
  307. package/packages/cli/vendor/src/showcase/families/filters/mock.ts +0 -18
  308. package/packages/cli/vendor/src/showcase/families/filters/showcase.tsx +0 -137
  309. package/packages/cli/vendor/src/showcase/families/form/data.ts +0 -37
  310. package/packages/cli/vendor/src/showcase/families/form/index.ts +0 -4
  311. package/packages/cli/vendor/src/showcase/families/form/mock.ts +0 -18
  312. package/packages/cli/vendor/src/showcase/families/form/showcase.tsx +0 -230
  313. package/packages/cli/vendor/src/showcase/families/form/types.ts +0 -10
  314. package/packages/cli/vendor/src/showcase/families/index.ts +0 -37
  315. package/packages/cli/vendor/src/showcase/families/inputs/data.ts +0 -40
  316. package/packages/cli/vendor/src/showcase/families/inputs/index.ts +0 -2
  317. package/packages/cli/vendor/src/showcase/families/inputs/mock.ts +0 -18
  318. package/packages/cli/vendor/src/showcase/families/inputs/showcase.tsx +0 -294
  319. package/packages/cli/vendor/src/showcase/families/layout/index.ts +0 -2
  320. package/packages/cli/vendor/src/showcase/families/layout/mock.ts +0 -18
  321. package/packages/cli/vendor/src/showcase/families/layout/showcase.tsx +0 -57
  322. package/packages/cli/vendor/src/showcase/families/navigation/index.ts +0 -2
  323. package/packages/cli/vendor/src/showcase/families/navigation/mock.ts +0 -18
  324. package/packages/cli/vendor/src/showcase/families/navigation/showcase.tsx +0 -31
  325. package/packages/cli/vendor/src/showcase/families/notifications/index.ts +0 -2
  326. package/packages/cli/vendor/src/showcase/families/notifications/mock.ts +0 -18
  327. package/packages/cli/vendor/src/showcase/families/notifications/showcase.tsx +0 -24
  328. package/packages/cli/vendor/src/showcase/families/overlay/index.ts +0 -2
  329. package/packages/cli/vendor/src/showcase/families/overlay/mock.ts +0 -18
  330. package/packages/cli/vendor/src/showcase/families/overlay/showcase.tsx +0 -23
  331. package/packages/cli/vendor/src/showcase/families/patterns/index.ts +0 -2
  332. package/packages/cli/vendor/src/showcase/families/patterns/mock.ts +0 -18
  333. package/packages/cli/vendor/src/showcase/families/patterns/showcase.tsx +0 -23
  334. package/packages/cli/vendor/src/showcase/families/types.ts +0 -40
  335. package/packages/cli/vendor/src/showcase/families/upload/data.ts +0 -7
  336. package/packages/cli/vendor/src/showcase/families/upload/index.ts +0 -2
  337. package/packages/cli/vendor/src/showcase/families/upload/mock.ts +0 -18
  338. package/packages/cli/vendor/src/showcase/families/upload/showcase.tsx +0 -86
  339. package/packages/cli/vendor/src/showcase/families/wizard/index.ts +0 -2
  340. package/packages/cli/vendor/src/showcase/families/wizard/mock.ts +0 -18
  341. package/packages/cli/vendor/src/showcase/families/wizard/showcase.tsx +0 -39
  342. /package/dist/showcase/{families/data-table → premium/data-table-parts}/data.cjs +0 -0
@@ -28,12 +28,6 @@ import {
28
28
  ToggleLeftIcon,
29
29
  WorkflowIcon,
30
30
  } from "lucide-react"
31
- import {
32
- componentDocsGroups,
33
- getComponentDocsAdoption,
34
- getDocsGroupDetail,
35
- resolveDocsRoute,
36
- } from "@/index"
37
31
  import azamatKitRegistry from "./tembro-registry.json"
38
32
  import {
39
33
  PACKAGE_LATEST_RELEASE_DATE,
@@ -191,12 +185,12 @@ const formRHFWrapperCommonFeatures = [
191
185
  export type ComponentRelationMap = Record<
192
186
  string,
193
187
  {
194
- familySlugs: string[]
188
+ groupSlugs: string[]
195
189
  componentSlugs: string[]
196
190
  }
197
191
  >
198
192
 
199
- export type ModuleFamilyItem = {
193
+ export type ComponentModuleItem = {
200
194
  slug: string
201
195
  title: string
202
196
  description: string
@@ -280,7 +274,7 @@ export const releaseHistory: PackageReleaseRecord[] = [
280
274
  summary: "Expanded the registry with newer dashboard, input, badge, sidebar, and notification primitives.",
281
275
  notes: [
282
276
  "Registry truth now includes `accordion`, `sidebar`, `trend-card`, `delta-badge`, `entity-header`, `notification-center`, and `command-bar`.",
283
- "Family metadata was refreshed so docs can group canonical surfaces and related members more accurately.",
277
+ "Component metadata was refreshed so docs can keep canonical surfaces and related helpers accurate.",
284
278
  "CLI-first local component setup remains the default path for Next.js and Vite users.",
285
279
  ],
286
280
  },
@@ -290,7 +284,7 @@ export const releaseHistory: PackageReleaseRecord[] = [
290
284
  status: "Published",
291
285
  summary: "Refined grouped docs and related-surface mapping.",
292
286
  notes: [
293
- "Input, Select, Card, Badge, Overlay, Form, and Data Table families were aligned with the latest public exports.",
287
+ "Input, Select, Card, Badge, Overlay, Form, and Data Table components were aligned with the latest public exports.",
294
288
  "Deprecated route-level names stayed aliased for compatibility while primary docs move toward simpler canonical surfaces.",
295
289
  "Docs app metadata now prefers current package registry vocabulary over older showcase-only names.",
296
290
  ],
@@ -301,9 +295,9 @@ export const PACKAGE_RELEASE_DATE = releaseHistory[0]?.date ?? PACKAGE_LATEST_RE
301
295
 
302
296
  export const componentDocsPath = (slug: string) => `/components/${slug}`
303
297
  export const componentPlaygroundPath = (slug: string) => `/playground/${slug}`
304
- export const moduleFamilyPath = (slug: string) => `/components/${slug}`
305
- export const moduleFamilyExportSlug = (value: string) => value.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\s+/g, "-").toLowerCase()
306
- export const moduleFamilyExportPath = (familySlug: string, exportName: string) => `/components/${familySlug}/${moduleFamilyExportSlug(exportName)}`
298
+ export const componentModulePath = (slug: string) => `/components/${slug}`
299
+ export const componentExportSlug = (value: string) => value.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\s+/g, "-").toLowerCase()
300
+ export const componentExportPath = (moduleSlug: string, exportName: string) => `/components/${moduleSlug}/${componentExportSlug(exportName)}`
307
301
  export const templatePath = (slug: string) => `/templates/${slug}`
308
302
  export const blockPath = (slug: string) => `/blocks/${slug}`
309
303
  export const componentGroupOrder: ComponentGroup[] = ["Primitives", "Form Controls", "Overlay", "Data Display", "Layout", "Feedback", "Patterns"]
@@ -1615,263 +1609,263 @@ const baseComponentCatalog: ComponentCatalogItem[] = [
1615
1609
 
1616
1610
  export const componentRelations: ComponentRelationMap = {
1617
1611
  button: {
1618
- familySlugs: ["actions", "navigation", "layout"],
1612
+ groupSlugs: ["actions", "navigation", "layout"],
1619
1613
  componentSlugs: ["badge", "card", "tabs"],
1620
1614
  },
1621
1615
  input: {
1622
- familySlugs: ["inputs", "form", "filters"],
1616
+ groupSlugs: ["inputs", "form", "filters"],
1623
1617
  componentSlugs: ["textarea", "select", "switch"],
1624
1618
  },
1625
1619
  textarea: {
1626
- familySlugs: ["inputs", "form", "layout"],
1620
+ groupSlugs: ["inputs", "form", "layout"],
1627
1621
  componentSlugs: ["input", "card", "badge"],
1628
1622
  },
1629
1623
  select: {
1630
- familySlugs: ["inputs", "filters", "overlay"],
1624
+ groupSlugs: ["inputs", "filters", "overlay"],
1631
1625
  componentSlugs: ["simple-select", "async-select", "async-multi-select", "combobox"],
1632
1626
  },
1633
1627
  "simple-select": {
1634
- familySlugs: ["inputs", "form", "filters"],
1628
+ groupSlugs: ["inputs", "form", "filters"],
1635
1629
  componentSlugs: ["select", "async-select", "async-multi-select", "combobox"],
1636
1630
  },
1637
1631
  combobox: {
1638
- familySlugs: ["inputs", "form", "filters"],
1632
+ groupSlugs: ["inputs", "form", "filters"],
1639
1633
  componentSlugs: ["select", "simple-select", "async-select", "async-multi-select"],
1640
1634
  },
1641
1635
  "radio-group": {
1642
- familySlugs: ["inputs", "form"],
1636
+ groupSlugs: ["inputs", "form"],
1643
1637
  componentSlugs: ["checkbox", "switch", "select"],
1644
1638
  },
1645
1639
  "async-select": {
1646
- familySlugs: ["inputs", "form", "filters"],
1640
+ groupSlugs: ["inputs", "form", "filters"],
1647
1641
  componentSlugs: ["select", "simple-select", "async-multi-select", "combobox"],
1648
1642
  },
1649
1643
  "async-multi-select": {
1650
- familySlugs: ["inputs", "form"],
1644
+ groupSlugs: ["inputs", "form"],
1651
1645
  componentSlugs: ["select", "async-select", "simple-select", "combobox"],
1652
1646
  },
1653
1647
  "number-input": {
1654
- familySlugs: ["inputs", "form"],
1648
+ groupSlugs: ["inputs", "form"],
1655
1649
  componentSlugs: ["money-input", "quantity-input", "input"],
1656
1650
  },
1657
1651
  "date-input": {
1658
- familySlugs: ["inputs", "form", "filters"],
1652
+ groupSlugs: ["inputs", "form", "filters"],
1659
1653
  componentSlugs: ["date-range-input", "date-picker", "date-range-picker", "table", "select"],
1660
1654
  },
1661
1655
  "date-range-input": {
1662
- familySlugs: ["inputs", "filters", "form"],
1656
+ groupSlugs: ["inputs", "filters", "form"],
1663
1657
  componentSlugs: ["date-input", "date-picker", "date-range-picker", "data-table"],
1664
1658
  },
1665
1659
  "date-picker": {
1666
- familySlugs: ["inputs", "form", "display"],
1660
+ groupSlugs: ["inputs", "form", "display"],
1667
1661
  componentSlugs: ["calendar", "date-input", "date-range-picker"],
1668
1662
  },
1669
1663
  "date-range-picker": {
1670
- familySlugs: ["inputs", "form", "filters"],
1664
+ groupSlugs: ["inputs", "form", "filters"],
1671
1665
  componentSlugs: ["date-picker", "date-range-input", "calendar", "data-table"],
1672
1666
  },
1673
1667
  "form-field-shell": {
1674
- familySlugs: ["form"],
1668
+ groupSlugs: ["form"],
1675
1669
  componentSlugs: ["form-input", "form-select", "form-textarea", "form-switch", "input", "textarea", "switch"],
1676
1670
  },
1677
1671
  "form-input": {
1678
- familySlugs: ["form", "inputs"],
1672
+ groupSlugs: ["form", "inputs"],
1679
1673
  componentSlugs: ["form-field-shell", "form-textarea", "form-number-input", "form-password-input", "input", "password", "phone-input"],
1680
1674
  },
1681
1675
  "form-select": {
1682
- familySlugs: ["form", "inputs"],
1676
+ groupSlugs: ["form", "inputs"],
1683
1677
  componentSlugs: ["form-async-select", "select", "simple-select", "form-field-shell"],
1684
1678
  },
1685
1679
  "form-async-select": {
1686
- familySlugs: ["form", "inputs"],
1680
+ groupSlugs: ["form", "inputs"],
1687
1681
  componentSlugs: ["form-select", "async-select", "form-field-shell", "input"],
1688
1682
  },
1689
1683
  "form-textarea": {
1690
- familySlugs: ["form", "inputs"],
1684
+ groupSlugs: ["form", "inputs"],
1691
1685
  componentSlugs: ["form-input", "textarea", "form-field-shell", "quantity-input"],
1692
1686
  },
1693
1687
  "form-switch": {
1694
- familySlugs: ["form", "inputs"],
1688
+ groupSlugs: ["form", "inputs"],
1695
1689
  componentSlugs: ["form-field-shell", "switch", "checkbox", "form-builder"],
1696
1690
  },
1697
1691
  "form-search-input": {
1698
- familySlugs: ["form", "inputs"],
1692
+ groupSlugs: ["form", "inputs"],
1699
1693
  componentSlugs: ["form-input", "input", "form-field-shell"],
1700
1694
  },
1701
1695
  "form-password-input": {
1702
- familySlugs: ["form", "inputs"],
1696
+ groupSlugs: ["form", "inputs"],
1703
1697
  componentSlugs: ["form-input", "input", "form-field-shell"],
1704
1698
  },
1705
1699
  "form-number-input": {
1706
- familySlugs: ["form", "inputs"],
1700
+ groupSlugs: ["form", "inputs"],
1707
1701
  componentSlugs: ["number-input", "money-input", "quantity-input", "form-field-shell", "form-input"],
1708
1702
  },
1709
1703
  "form-phone-input": {
1710
- familySlugs: ["form", "inputs"],
1704
+ groupSlugs: ["form", "inputs"],
1711
1705
  componentSlugs: ["phone-input", "form-input", "masked-input", "form-field-shell"],
1712
1706
  },
1713
1707
  "form-date-input": {
1714
- familySlugs: ["form", "inputs"],
1708
+ groupSlugs: ["form", "inputs"],
1715
1709
  componentSlugs: ["date-input", "date-picker", "form-field-shell", "form-date-picker"],
1716
1710
  },
1717
1711
  "form-date-range-input": {
1718
- familySlugs: ["form", "filters"],
1712
+ groupSlugs: ["form", "filters"],
1719
1713
  componentSlugs: ["date-range-input", "date-range-picker", "form-date-range-picker", "form-field-shell"],
1720
1714
  },
1721
1715
  "form-date-picker": {
1722
- familySlugs: ["form", "inputs"],
1716
+ groupSlugs: ["form", "inputs"],
1723
1717
  componentSlugs: ["date-picker", "form-date-input", "calendar", "form-field-shell"],
1724
1718
  },
1725
1719
  "form-date-range-picker": {
1726
- familySlugs: ["form", "filters"],
1720
+ groupSlugs: ["form", "filters"],
1727
1721
  componentSlugs: ["date-range-picker", "form-date-range-input", "calendar", "form-field-shell"],
1728
1722
  },
1729
1723
  "form-builder": {
1730
- familySlugs: ["patterns", "form"],
1724
+ groupSlugs: ["patterns", "form"],
1731
1725
  componentSlugs: ["form-field-shell", "form-input", "form-switch", "form-textarea", "form-async-select"],
1732
1726
  },
1733
1727
  "phone-input": {
1734
- familySlugs: ["inputs", "form"],
1728
+ groupSlugs: ["inputs", "form"],
1735
1729
  componentSlugs: ["input", "textarea", "simple-select"],
1736
1730
  },
1737
1731
  "masked-input": {
1738
- familySlugs: ["inputs", "form"],
1732
+ groupSlugs: ["inputs", "form"],
1739
1733
  componentSlugs: ["input", "number-input", "phone-input"],
1740
1734
  },
1741
1735
  "money-input": {
1742
- familySlugs: ["inputs", "display"],
1736
+ groupSlugs: ["inputs", "display"],
1743
1737
  componentSlugs: ["number-input", "quantity-input", "input"],
1744
1738
  },
1745
1739
  "quantity-input": {
1746
- familySlugs: ["inputs", "form"],
1740
+ groupSlugs: ["inputs", "form"],
1747
1741
  componentSlugs: ["number-input", "money-input", "input"],
1748
1742
  },
1749
1743
  checkbox: {
1750
- familySlugs: ["inputs", "form"],
1744
+ groupSlugs: ["inputs", "form"],
1751
1745
  componentSlugs: ["switch", "button", "card"],
1752
1746
  },
1753
1747
  switch: {
1754
- familySlugs: ["inputs", "layout"],
1748
+ groupSlugs: ["inputs", "layout"],
1755
1749
  componentSlugs: ["checkbox", "tabs", "badge"],
1756
1750
  },
1757
1751
  badge: {
1758
- familySlugs: ["actions", "display"],
1752
+ groupSlugs: ["actions", "display"],
1759
1753
  componentSlugs: ["button", "card", "tabs"],
1760
1754
  },
1761
1755
  card: {
1762
- familySlugs: ["layout", "display", "actions"],
1756
+ groupSlugs: ["layout", "display", "actions"],
1763
1757
  componentSlugs: ["tabs", "badge", "button"],
1764
1758
  },
1765
1759
  tabs: {
1766
- familySlugs: ["navigation", "layout"],
1760
+ groupSlugs: ["navigation", "layout"],
1767
1761
  componentSlugs: ["dialog", "card", "button"],
1768
1762
  },
1769
1763
  collapse: {
1770
- familySlugs: ["layout", "display", "form"],
1764
+ groupSlugs: ["layout", "display", "form"],
1771
1765
  componentSlugs: ["tabs", "card", "sidebar-nav"],
1772
1766
  },
1773
1767
  dialog: {
1774
- familySlugs: ["overlay", "notifications"],
1768
+ groupSlugs: ["overlay", "notifications"],
1775
1769
  componentSlugs: ["popover", "confirm-dialog", "sheet-shell"],
1776
1770
  },
1777
1771
  popover: {
1778
- familySlugs: ["overlay", "navigation"],
1772
+ groupSlugs: ["overlay", "navigation"],
1779
1773
  componentSlugs: ["dropdown-menu", "dialog", "confirm-dialog"],
1780
1774
  },
1781
1775
  "dropdown-menu": {
1782
- familySlugs: ["overlay", "navigation", "actions"],
1776
+ groupSlugs: ["overlay", "navigation", "actions"],
1783
1777
  componentSlugs: ["popover", "dialog", "confirm-dialog"],
1784
1778
  },
1785
1779
  tooltip: {
1786
- familySlugs: ["overlay", "actions", "form"],
1780
+ groupSlugs: ["overlay", "actions", "form"],
1787
1781
  componentSlugs: ["popover", "button", "input"],
1788
1782
  },
1789
1783
  "hover-card": {
1790
- familySlugs: ["overlay", "display"],
1784
+ groupSlugs: ["overlay", "display"],
1791
1785
  componentSlugs: ["tooltip", "card", "info-card"],
1792
1786
  },
1793
1787
  "right-click-menu": {
1794
- familySlugs: ["overlay", "actions", "navigation"],
1788
+ groupSlugs: ["overlay", "actions", "navigation"],
1795
1789
  componentSlugs: ["dropdown-menu", "popover", "data-table"],
1796
1790
  },
1797
1791
  "confirm-dialog": {
1798
- familySlugs: ["overlay", "notifications"],
1792
+ groupSlugs: ["overlay", "notifications"],
1799
1793
  componentSlugs: ["dialog", "modal-shell", "sheet-shell"],
1800
1794
  },
1801
1795
  "modal-shell": {
1802
- familySlugs: ["overlay", "layout"],
1796
+ groupSlugs: ["overlay", "layout"],
1803
1797
  componentSlugs: ["sheet-shell", "dialog", "confirm-dialog"],
1804
1798
  },
1805
1799
  "sheet-shell": {
1806
- familySlugs: ["overlay", "layout", "navigation"],
1800
+ groupSlugs: ["overlay", "layout", "navigation"],
1807
1801
  componentSlugs: ["modal-shell", "dialog", "dropdown-menu"],
1808
1802
  },
1809
1803
  table: {
1810
- familySlugs: ["data-table", "display", "filters"],
1804
+ groupSlugs: ["data-table", "display", "filters"],
1811
1805
  componentSlugs: ["card", "tabs", "badge"],
1812
1806
  },
1813
1807
  "data-table": {
1814
- familySlugs: ["data-table", "layout", "filters"],
1808
+ groupSlugs: ["data-table", "layout", "filters"],
1815
1809
  componentSlugs: ["table", "card", "tabs"],
1816
1810
  },
1817
1811
  sidebar: {
1818
- familySlugs: ["layout", "navigation"],
1812
+ groupSlugs: ["layout", "navigation"],
1819
1813
  componentSlugs: ["sidebar-nav", "breadcrumbs", "app-shell", "page-container"],
1820
1814
  },
1821
1815
  "app-shell": {
1822
- familySlugs: ["layout"],
1816
+ groupSlugs: ["layout"],
1823
1817
  componentSlugs: ["sidebar", "sidebar-nav", "page-header", "page-container"],
1824
1818
  },
1825
1819
  "sidebar-nav": {
1826
- familySlugs: ["layout", "navigation"],
1820
+ groupSlugs: ["layout", "navigation"],
1827
1821
  componentSlugs: ["sidebar", "breadcrumbs", "app-shell"],
1828
1822
  },
1829
1823
  breadcrumbs: {
1830
- familySlugs: ["layout", "navigation"],
1824
+ groupSlugs: ["layout", "navigation"],
1831
1825
  componentSlugs: ["page-header", "sidebar", "sidebar-nav"],
1832
1826
  },
1833
1827
  "page-header": {
1834
- familySlugs: ["layout"],
1828
+ groupSlugs: ["layout"],
1835
1829
  componentSlugs: ["breadcrumbs", "sidebar", "metric-grid", "info-card"],
1836
1830
  },
1837
1831
  "page-container": {
1838
- familySlugs: ["layout"],
1832
+ groupSlugs: ["layout"],
1839
1833
  componentSlugs: ["page-header", "app-shell", "info-card"],
1840
1834
  },
1841
1835
  "metric-grid": {
1842
- familySlugs: ["display"],
1836
+ groupSlugs: ["display"],
1843
1837
  componentSlugs: ["info-card", "activity-feed", "empty-state"],
1844
1838
  },
1845
1839
  "info-card": {
1846
- familySlugs: ["display", "layout"],
1840
+ groupSlugs: ["display", "layout"],
1847
1841
  componentSlugs: ["metric-grid", "activity-feed", "result", "card"],
1848
1842
  },
1849
1843
  "activity-feed": {
1850
- familySlugs: ["display"],
1844
+ groupSlugs: ["display"],
1851
1845
  componentSlugs: ["info-card", "metric-grid", "result"],
1852
1846
  },
1853
1847
  "empty-state": {
1854
- familySlugs: ["display"],
1848
+ groupSlugs: ["display"],
1855
1849
  componentSlugs: ["loading-state", "result", "data-table"],
1856
1850
  },
1857
1851
  "loading-state": {
1858
- familySlugs: ["display"],
1852
+ groupSlugs: ["display"],
1859
1853
  componentSlugs: ["empty-state", "result", "data-table"],
1860
1854
  },
1861
1855
  result: {
1862
- familySlugs: ["display"],
1856
+ groupSlugs: ["display"],
1863
1857
  componentSlugs: ["empty-state", "loading-state", "page-header"],
1864
1858
  },
1865
1859
  "scroll-box": {
1866
- familySlugs: ["display", "layout"],
1860
+ groupSlugs: ["display", "layout"],
1867
1861
  componentSlugs: ["table", "data-table", "page-container"],
1868
1862
  },
1869
1863
  toast: {
1870
- familySlugs: ["notifications", "overlay"],
1864
+ groupSlugs: ["notifications", "overlay"],
1871
1865
  componentSlugs: ["confirm-dialog", "sheet-shell", "modal-shell"],
1872
1866
  },
1873
1867
  kbd: {
1874
- familySlugs: ["command", "actions"],
1868
+ groupSlugs: ["command", "actions"],
1875
1869
  componentSlugs: ["button", "tooltip", "input"],
1876
1870
  },
1877
1871
  }
@@ -2226,24 +2220,7 @@ for (const [group, groupSlugs] of Object.entries(kitGroups)) {
2226
2220
  const fallbackComponentCatalog = [...generatedComponentCatalog.values()]
2227
2221
  export const componentCatalog: ComponentCatalogItem[] = [...baseComponentCatalog, ...fallbackComponentCatalog]
2228
2222
 
2229
- const packageDocsSurfaceCatalog = componentDocsGroups
2230
- .map((group) => {
2231
- const source =
2232
- componentCatalog.find((item) => item.slug === group.slug) ??
2233
- componentCatalog.find((item) => item.slug === moduleFamilyExportSlug(group.primaryComponent))
2234
-
2235
- if (!source) return null
2236
-
2237
- return {
2238
- ...source,
2239
- slug: group.slug,
2240
- title: group.label,
2241
- description: group.description,
2242
- status: getComponentDocsAdoption(group.primaryComponent)?.badge.tone === "preview" ? "Preview" : source.status,
2243
- features: group.sections.map((section) => section.label),
2244
- } satisfies ComponentCatalogItem
2245
- })
2246
- .filter((item): item is ComponentCatalogItem => Boolean(item))
2223
+ const packageDocsSurfaceCatalog: ComponentCatalogItem[] = []
2247
2224
 
2248
2225
  const packageDocsSurfaceCatalogMap = new Map(packageDocsSurfaceCatalog.map((item) => [item.slug, item] as const))
2249
2226
  const hiddenPrimaryComponentCatalogSlugs = new Set([
@@ -2269,55 +2246,30 @@ const hiddenPrimaryComponentCatalogSlugs = new Set([
2269
2246
  ])
2270
2247
  const hiddenDirectoryComponentSlugs = new Set([...hiddenPrimaryComponentCatalogSlugs, ...legacyComponentSlugAliases.keys()])
2271
2248
 
2272
- function mapDocsSectionKey(sectionId: string): ComponentSurfaceSectionKey {
2273
- if (sectionId === "primitives") return "core"
2274
- if (sectionId === "form-wrappers" || sectionId === "wrappers") return "integrations"
2275
- if (sectionId === "advanced") return "advanced"
2276
- if (sectionId === "transitional") return "compatibility"
2277
- return "related"
2278
- }
2279
-
2280
- function mapDocsComponentsToSlugs(components: readonly string[]) {
2281
- return components
2282
- .map((component) => componentCatalog.find((item) => item.slug === moduleFamilyExportSlug(component))?.slug)
2283
- .filter((slug): slug is string => Boolean(slug))
2284
- }
2285
-
2286
- export function getComponentSurfaceCatalogItem(slug?: string) {
2287
- if (!slug) return undefined
2288
-
2289
- const canonicalSlug = resolveLegacyComponentSlug(slug)
2290
- const primarySurfaceSlug = getPrimaryComponentSurfaceSlug(canonicalSlug)
2291
-
2292
- if (canonicalSlug !== primarySurfaceSlug) {
2293
- const primaryRouteMatch = resolveDocsRoute(primarySurfaceSlug)
2294
- return (
2295
- (primaryRouteMatch ? packageDocsSurfaceCatalogMap.get(primaryRouteMatch.slug) : undefined) ??
2296
- componentCatalog.find((entry) => entry.slug === primarySurfaceSlug)
2297
- )
2298
- }
2299
-
2300
- const routeMatch = resolveDocsRoute(canonicalSlug)
2301
- if (routeMatch) {
2302
- return (
2303
- packageDocsSurfaceCatalogMap.get(routeMatch.slug) ??
2304
- componentCatalog.find((item) => item.slug === moduleFamilyExportSlug(routeMatch.primaryComponent))
2305
- )
2306
- }
2307
-
2308
- return componentCatalog.find((item) => item.slug === canonicalSlug)
2309
- }
2249
+ export function getComponentSurfaceCatalogItem(slug?: string) {
2250
+ if (!slug) return undefined
2251
+
2252
+ const canonicalSlug = resolveLegacyComponentSlug(slug)
2253
+ const primarySurfaceSlug = getPrimaryComponentSurfaceSlug(canonicalSlug)
2254
+
2255
+ if (canonicalSlug !== primarySurfaceSlug) {
2256
+ return (
2257
+ packageDocsSurfaceCatalogMap.get(primarySurfaceSlug) ??
2258
+ componentCatalog.find((entry) => entry.slug === primarySurfaceSlug)
2259
+ )
2260
+ }
2261
+
2262
+ return packageDocsSurfaceCatalogMap.get(canonicalSlug) ?? componentCatalog.find((item) => item.slug === canonicalSlug)
2263
+ }
2310
2264
 
2311
2265
  export function isPrimaryComponentSurface(slug: string) {
2312
2266
  return packageDocsSurfaceCatalogMap.has(resolveLegacyComponentSlug(slug)) || primaryComponentSurfaceSlugs.has(resolveLegacyComponentSlug(slug))
2313
2267
  }
2314
2268
 
2315
- export function getPrimaryComponentSurfaceSlug(slug: string) {
2316
- const canonicalSlug = resolveLegacyComponentSlug(slug)
2317
- const docsRoute = resolveDocsRoute(canonicalSlug)
2318
-
2319
- return docsRoute?.slug ?? (isPrimaryComponentSurface(canonicalSlug) ? canonicalSlug : componentPrimarySurfaceParent[canonicalSlug] ?? canonicalSlug)
2320
- }
2269
+ export function getPrimaryComponentSurfaceSlug(slug: string) {
2270
+ const canonicalSlug = resolveLegacyComponentSlug(slug)
2271
+ return isPrimaryComponentSurface(canonicalSlug) ? canonicalSlug : componentPrimarySurfaceParent[canonicalSlug] ?? canonicalSlug
2272
+ }
2321
2273
 
2322
2274
  export function getPrimaryComponentSurfaceTitle(slug: string) {
2323
2275
  const primarySlug = getPrimaryComponentSurfaceSlug(slug)
@@ -2399,63 +2351,45 @@ export function getComponentDetailSidebarSections(activeSlug?: string): Componen
2399
2351
  }
2400
2352
 
2401
2353
  export function getComponentSurfaceSections(slug: string) {
2402
- const primarySlug = getPrimaryComponentSurfaceSlug(slug)
2403
- const routeMatch = resolveDocsRoute(primarySlug)
2404
- if (routeMatch) {
2405
- const detail = getDocsGroupDetail(routeMatch.group)
2406
- if (detail) {
2407
- return detail.sections
2408
- .map((section) => ({
2409
- key: mapDocsSectionKey(section.id),
2410
- title: section.label,
2411
- description: section.description,
2412
- slugs: mapDocsComponentsToSlugs(section.components),
2413
- }))
2414
- .filter((section) => section.slugs.length > 0)
2415
- }
2416
- }
2417
-
2418
- return componentSurfaceSections[primarySlug] ?? []
2419
- }
2420
-
2421
- export function getPrimaryComponentMemberInventory(surfaceSlug?: string): ComponentSurfaceMemberInventoryItem[] {
2422
- const groups = surfaceSlug
2423
- ? componentDocsGroups.filter((group) => group.slug === getPrimaryComponentSurfaceSlug(surfaceSlug))
2424
- : componentDocsGroups
2425
-
2426
- return groups.flatMap((group) => {
2427
- const detail = getDocsGroupDetail(group.group)
2428
- if (!detail) return []
2429
-
2430
- return detail.sections.flatMap((section) => {
2431
- const entries: ComponentSurfaceMemberInventoryItem[] = []
2432
-
2433
- for (const item of section.items) {
2434
- const slug = componentCatalog.find((entry) => entry.slug === moduleFamilyExportSlug(item.component))?.slug
2435
- if (!slug) continue
2436
-
2437
- const source = componentCatalog.find((entry) => entry.slug === slug)
2438
- entries.push({
2439
- component: item.component,
2440
- slug,
2441
- title: source?.title ?? item.component,
2442
- surfaceSlug: group.slug,
2443
- surfaceTitle: group.label,
2444
- sectionId: section.id,
2445
- sectionLabel: section.label,
2446
- sectionKey: mapDocsSectionKey(section.id),
2447
- summary: item.metadata?.summary ?? source?.description ?? group.description,
2448
- useWhen: item.metadata?.useWhen ?? group.description,
2449
- maturity: item.metadata?.maturity ?? "member",
2450
- status: item.adoption?.badge.tone === "preview" ? "Preview" : "Stable",
2451
- href: componentDocsPath(slug),
2452
- } satisfies ComponentSurfaceMemberInventoryItem)
2453
- }
2454
-
2455
- return entries
2456
- })
2457
- })
2458
- }
2354
+ const primarySlug = getPrimaryComponentSurfaceSlug(slug)
2355
+ return componentSurfaceSections[primarySlug] ?? []
2356
+ }
2357
+
2358
+ export function getPrimaryComponentMemberInventory(surfaceSlug?: string): ComponentSurfaceMemberInventoryItem[] {
2359
+ const surfaceSlugs = surfaceSlug ? [getPrimaryComponentSurfaceSlug(surfaceSlug)] : Object.keys(componentSurfaceSections)
2360
+
2361
+ return surfaceSlugs.flatMap((currentSurfaceSlug) => {
2362
+ const surface = getComponentSurfaceCatalogItem(currentSurfaceSlug)
2363
+ const sections = componentSurfaceSections[currentSurfaceSlug] ?? []
2364
+
2365
+ return sections.flatMap((section) => {
2366
+ const entries: ComponentSurfaceMemberInventoryItem[] = []
2367
+
2368
+ for (const slug of section.slugs) {
2369
+ const source = componentCatalog.find((entry) => entry.slug === slug)
2370
+ if (!source) continue
2371
+
2372
+ entries.push({
2373
+ component: source.title,
2374
+ slug: source.slug,
2375
+ title: source.title,
2376
+ surfaceSlug: currentSurfaceSlug,
2377
+ surfaceTitle: surface?.title ?? currentSurfaceSlug,
2378
+ sectionId: section.key,
2379
+ sectionLabel: section.title,
2380
+ sectionKey: section.key,
2381
+ summary: source.description,
2382
+ useWhen: section.description,
2383
+ maturity: section.key === "core" ? "core" : "helper",
2384
+ status: source.status,
2385
+ href: componentDocsPath(source.slug),
2386
+ })
2387
+ }
2388
+
2389
+ return entries
2390
+ })
2391
+ })
2392
+ }
2459
2393
 
2460
2394
  export function getDocumentedMemberByComponent(component: string) {
2461
2395
  return getPrimaryComponentMemberInventory().find((item) => item.component === component)
@@ -2466,7 +2400,7 @@ export function getDocumentedMembersByComponents(components: string[]) {
2466
2400
  return getPrimaryComponentMemberInventory().filter((item) => componentSet.has(item.component))
2467
2401
  }
2468
2402
 
2469
- export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2403
+ export const componentModuleCatalog: ComponentModuleItem[] = [
2470
2404
  {
2471
2405
  slug: "actions",
2472
2406
  title: "Actions",
@@ -2474,7 +2408,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2474
2408
  icon: MousePointerClickIcon,
2475
2409
  category: "Actions",
2476
2410
  exports: ["ActionMenu", "CopyButton", "QuickActionGrid"],
2477
- href: moduleFamilyPath("actions"),
2411
+ href: componentModulePath("actions"),
2478
2412
  status: "Stable",
2479
2413
  features: ["Quick actions", "Copy affordances", "Dense command blocks"],
2480
2414
  },
@@ -2485,7 +2419,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2485
2419
  icon: LayoutDashboardIcon,
2486
2420
  category: "Layout",
2487
2421
  exports: ["Sidebar", "SidebarNav", "Breadcrumbs", "PageContainer", "Section", "SectionHeader", "StickyFooterBar"],
2488
- href: moduleFamilyPath("layout"),
2422
+ href: componentModulePath("layout"),
2489
2423
  status: "Stable",
2490
2424
  features: ["Sidebar navigation", "Page framing", "Section structure", "Sticky actions"],
2491
2425
  },
@@ -2496,7 +2430,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2496
2430
  icon: SlidersHorizontalIcon,
2497
2431
  category: "Data",
2498
2432
  exports: ["FilterBar", "FilterChips"],
2499
- href: moduleFamilyPath("filters"),
2433
+ href: componentModulePath("filters"),
2500
2434
  status: "Stable",
2501
2435
  features: ["Filter bars", "Chips", "Search + filter pairing"],
2502
2436
  },
@@ -2507,7 +2441,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2507
2441
  icon: AlertCircleIcon,
2508
2442
  category: "Overlay",
2509
2443
  exports: ["DialogActions", "ModalShell", "ConfirmDialog", "SheetShell", "Tooltip", "HoverCard", "RightClickMenu"],
2510
- href: moduleFamilyPath("overlay"),
2444
+ href: componentModulePath("overlay"),
2511
2445
  status: "Stable",
2512
2446
  features: ["Confirm flows", "Sheet layouts", "Modal actions", "Lightweight helper hints"],
2513
2447
  },
@@ -2518,7 +2452,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2518
2452
  icon: ChevronRightIcon,
2519
2453
  category: "Layout",
2520
2454
  exports: ["Pagination", "PageTabs", "StepperTabs"],
2521
- href: moduleFamilyPath("navigation"),
2455
+ href: componentModulePath("navigation"),
2522
2456
  status: "Stable",
2523
2457
  features: ["Pagination", "Page tabs", "Stepper tabs"],
2524
2458
  },
@@ -2529,7 +2463,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2529
2463
  icon: FormInputIcon,
2530
2464
  category: "Forms",
2531
2465
  exports: ["Input", "Textarea", "Select", "DatePicker", "NumberInput", "MoneyInput", "PhoneInput", "TagInput"],
2532
- href: moduleFamilyPath("inputs"),
2466
+ href: componentModulePath("inputs"),
2533
2467
  status: "Stable",
2534
2468
  features: ["Text entry", "Select flows", "Date controls", "Money input", "Tag input"],
2535
2469
  },
@@ -2540,7 +2474,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2540
2474
  icon: FileTextIcon,
2541
2475
  category: "Forms",
2542
2476
  exports: ["FormFieldShell", "FormInput", "FormSelect", "FormTextarea", "FormSwitch", "FormDatePicker"],
2543
- href: moduleFamilyPath("form"),
2477
+ href: componentModulePath("form"),
2544
2478
  status: "Stable",
2545
2479
  features: ["Field shell", "Wrapped controls", "Date helpers", "Consistent validation"],
2546
2480
  },
@@ -2551,7 +2485,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2551
2485
  icon: DatabaseIcon,
2552
2486
  category: "Data",
2553
2487
  exports: ["DescriptionList", "Progress", "Result", "Timeline", "MetricGrid", "InfoCard", "ActivityFeed", "StatusLegend", "Avatar", "DataState", "ScrollBox"],
2554
- href: moduleFamilyPath("display"),
2488
+ href: componentModulePath("display"),
2555
2489
  status: "Stable",
2556
2490
  features: ["Metric grids", "Timelines", "Activity feeds", "Status legends"],
2557
2491
  },
@@ -2562,7 +2496,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2562
2496
  icon: Table2Icon,
2563
2497
  category: "Data",
2564
2498
  exports: ["DataTable"],
2565
- href: moduleFamilyPath("data-table"),
2499
+ href: componentModulePath("data-table"),
2566
2500
  status: "Stable",
2567
2501
  features: ["Toolbar", "Selection", "Row actions", "Saved views", "Pagination"],
2568
2502
  },
@@ -2573,7 +2507,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2573
2507
  icon: BadgeIcon,
2574
2508
  category: "Overlay",
2575
2509
  exports: ["Toast"],
2576
- href: moduleFamilyPath("notifications"),
2510
+ href: componentModulePath("notifications"),
2577
2511
  status: "Preview",
2578
2512
  features: ["Toasts", "Transient feedback", "Status messaging"],
2579
2513
  },
@@ -2584,7 +2518,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2584
2518
  icon: TerminalSquareIcon,
2585
2519
  category: "Workflow",
2586
2520
  exports: ["CommandPalette"],
2587
- href: moduleFamilyPath("command"),
2521
+ href: componentModulePath("command"),
2588
2522
  status: "Preview",
2589
2523
  features: ["Command palette", "Keyboard discovery", "Quick navigation"],
2590
2524
  },
@@ -2595,7 +2529,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2595
2529
  icon: Grid2x2Icon,
2596
2530
  category: "Workflow",
2597
2531
  exports: ["DateUtils", "Calendar", "DatePicker", "DateRangePicker"],
2598
- href: moduleFamilyPath("calendar"),
2532
+ href: componentModulePath("calendar"),
2599
2533
  status: "Stable",
2600
2534
  features: ["Date picker", "Range picker", "Scheduling flows"],
2601
2535
  },
@@ -2606,7 +2540,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2606
2540
  icon: BlocksIcon,
2607
2541
  category: "Workflow",
2608
2542
  exports: ["FileUpload", "ImageUpload"],
2609
- href: moduleFamilyPath("upload"),
2543
+ href: componentModulePath("upload"),
2610
2544
  status: "Preview",
2611
2545
  features: ["File upload", "Image upload", "Attachment flows"],
2612
2546
  },
@@ -2617,7 +2551,7 @@ export const moduleFamilyCatalog: ModuleFamilyItem[] = [
2617
2551
  icon: WorkflowIcon,
2618
2552
  category: "Workflow",
2619
2553
  exports: ["Stepper", "Wizard"],
2620
- href: moduleFamilyPath("wizard"),
2554
+ href: componentModulePath("wizard"),
2621
2555
  status: "Stable",
2622
2556
  features: ["Step flow", "Guided forms", "Progress state"],
2623
2557
  },
@@ -2939,7 +2873,7 @@ export const globalSearchItems: GlobalSearchItem[] = [
2939
2873
  },
2940
2874
  {
2941
2875
  title: "Components",
2942
- description: "Browse component docs and grouped families.",
2876
+ description: "Browse component docs and related modules.",
2943
2877
  href: "/components",
2944
2878
  group: "Docs",
2945
2879
  shortcut: "C",
@@ -3025,7 +2959,7 @@ export const globalSearchItems: GlobalSearchItem[] = [
3025
2959
  "wrapper",
3026
2960
  ],
3027
2961
  })),
3028
- ...moduleFamilyCatalog.map((item) => ({
2962
+ ...componentModuleCatalog.map((item) => ({
3029
2963
  title: `${item.title} group`,
3030
2964
  description: `${item.description} Open the grouped docs surface for related exports and usage boundaries.`,
3031
2965
  href: item.href,
@@ -3034,14 +2968,15 @@ export const globalSearchItems: GlobalSearchItem[] = [
3034
2968
  featured: item.slug === "data-table" || item.slug === "form" || item.slug === "layout",
3035
2969
  keywords: [item.slug, item.title, item.category, ...item.features, ...item.exports, "component group", "catalog", "system"],
3036
2970
  })),
3037
- ...moduleFamilyCatalog.flatMap((item) =>
2971
+ ...componentModuleCatalog.flatMap((item) =>
3038
2972
  item.exports.map((exportName) => ({
3039
2973
  title: `${exportName} API`,
3040
2974
  description: `${item.title} export detail with import path, related docs and usage context.`,
3041
- href: moduleFamilyExportPath(item.slug, exportName),
2975
+ href: componentExportPath(item.slug, exportName),
3042
2976
  group: "Components" as const,
3043
2977
  shortcut: "E",
3044
2978
  keywords: [exportName, item.title, item.slug, ...item.features, "export", "api", "component"],
3045
2979
  }))
3046
2980
  ),
3047
2981
  ]
2982
+