tembro 1.0.3 → 2.0.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 (339) hide show
  1. package/README.md +2 -2
  2. package/dist/components/display/smart-card.d.ts +8 -8
  3. package/dist/components/patterns/index.cjs +1 -1
  4. package/dist/components/patterns/index.js +4 -4
  5. package/dist/components/patterns/public.cjs +1 -1
  6. package/dist/components/patterns/public.js +4 -4
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.ts +0 -1
  9. package/dist/index.js +19 -38
  10. package/dist/showcase/index.cjs +1 -1
  11. package/dist/showcase/index.d.ts +0 -1
  12. package/dist/showcase/index.js +36 -38
  13. package/dist/showcase/package-meta.cjs +1 -1
  14. package/dist/showcase/package-meta.d.ts +2 -2
  15. package/dist/showcase/package-meta.js +1 -1
  16. package/dist/showcase/premium/accordion/mock.cjs +4 -4
  17. package/dist/showcase/premium/accordion/mock.js +1 -1
  18. package/dist/showcase/{families/data-table/types.d.ts → premium/data-table-parts/data.d.ts} +4 -0
  19. package/dist/showcase/{families/data-table → premium/data-table-parts}/data.js +1 -1
  20. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  21. package/dist/showcase/premium/data-table-parts/showcase.js +1 -1
  22. package/dist/showcase/site-data.cjs +1 -1
  23. package/dist/showcase/site-data.d.ts +6 -6
  24. package/dist/showcase/site-data.js +414 -451
  25. package/dist/showcase/tembro-registry.json.cjs +1 -1
  26. package/dist/showcase/tembro-registry.json.js +1 -1
  27. package/package.json +2 -13
  28. package/packages/cli/dist/index.cjs +17 -17
  29. package/packages/cli/vendor/src/components/display/smart-card.tsx +8 -8
  30. package/packages/cli/vendor/src/index.ts +3 -4
  31. package/packages/cli/vendor/src/showcase/index.ts +5 -6
  32. package/packages/cli/vendor/src/showcase/package-meta.ts +1 -1
  33. package/packages/cli/vendor/src/showcase/premium/accordion/mock.ts +4 -4
  34. package/packages/cli/vendor/src/showcase/{families/data-table → premium/data-table-parts}/data.ts +25 -1
  35. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +1 -2
  36. package/packages/cli/vendor/src/showcase/site-data.tsx +151 -216
  37. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  38. package/registry.json +1 -1
  39. package/dist/families/badge-family.cjs +0 -1
  40. package/dist/families/badge-family.d.ts +0 -5
  41. package/dist/families/badge-family.js +0 -5
  42. package/dist/families/card-family.cjs +0 -1
  43. package/dist/families/card-family.d.ts +0 -16
  44. package/dist/families/card-family.js +0 -21
  45. package/dist/families/catalog.cjs +0 -1
  46. package/dist/families/catalog.d.ts +0 -11
  47. package/dist/families/catalog.js +0 -140
  48. package/dist/families/data-table-family.cjs +0 -1
  49. package/dist/families/data-table-family.d.ts +0 -18
  50. package/dist/families/data-table-family.js +0 -29
  51. package/dist/families/docs-adoption.cjs +0 -1
  52. package/dist/families/docs-adoption.d.ts +0 -16
  53. package/dist/families/docs-adoption.js +0 -53
  54. package/dist/families/docs-groups.cjs +0 -1
  55. package/dist/families/docs-groups.d.ts +0 -18
  56. package/dist/families/docs-groups.js +0 -262
  57. package/dist/families/docs-queries.cjs +0 -1
  58. package/dist/families/docs-queries.d.ts +0 -37
  59. package/dist/families/docs-queries.js +0 -50
  60. package/dist/families/docs-routing.cjs +0 -1
  61. package/dist/families/docs-routing.d.ts +0 -17
  62. package/dist/families/docs-routing.js +0 -49
  63. package/dist/families/form-family.cjs +0 -1
  64. package/dist/families/form-family.d.ts +0 -20
  65. package/dist/families/form-family.js +0 -35
  66. package/dist/families/index.cjs +0 -1
  67. package/dist/families/index.d.ts +0 -19
  68. package/dist/families/index.js +0 -20
  69. package/dist/families/input-family.cjs +0 -1
  70. package/dist/families/input-family.d.ts +0 -32
  71. package/dist/families/input-family.js +0 -56
  72. package/dist/families/member-metadata.cjs +0 -1
  73. package/dist/families/member-metadata.d.ts +0 -11
  74. package/dist/families/member-metadata.js +0 -1013
  75. package/dist/families/member-queries.cjs +0 -1
  76. package/dist/families/member-queries.d.ts +0 -6
  77. package/dist/families/member-queries.js +0 -14
  78. package/dist/families/member-snippet-queries.cjs +0 -1
  79. package/dist/families/member-snippet-queries.d.ts +0 -8
  80. package/dist/families/member-snippet-queries.js +0 -30
  81. package/dist/families/member-snippets.cjs +0 -484
  82. package/dist/families/member-snippets.d.ts +0 -11
  83. package/dist/families/member-snippets.js +0 -1061
  84. package/dist/families/migration-map.cjs +0 -1
  85. package/dist/families/migration-map.d.ts +0 -10
  86. package/dist/families/migration-map.js +0 -787
  87. package/dist/families/overlay-family.cjs +0 -1
  88. package/dist/families/overlay-family.d.ts +0 -22
  89. package/dist/families/overlay-family.js +0 -29
  90. package/dist/families/public-surface-rationalization.cjs +0 -1
  91. package/dist/families/public-surface-rationalization.d.ts +0 -169
  92. package/dist/families/public-surface-rationalization.js +0 -296
  93. package/dist/families/queries.cjs +0 -1
  94. package/dist/families/queries.d.ts +0 -12
  95. package/dist/families/queries.js +0 -162
  96. package/dist/families/select-family.cjs +0 -1
  97. package/dist/families/select-family.d.ts +0 -22
  98. package/dist/families/select-family.js +0 -27
  99. package/dist/families/views.cjs +0 -1
  100. package/dist/families/views.d.ts +0 -26
  101. package/dist/families/views.js +0 -45
  102. package/dist/showcase/families/actions/index.cjs +0 -1
  103. package/dist/showcase/families/actions/index.d.ts +0 -2
  104. package/dist/showcase/families/actions/index.js +0 -3
  105. package/dist/showcase/families/actions/mock.cjs +0 -5
  106. package/dist/showcase/families/actions/mock.d.ts +0 -2
  107. package/dist/showcase/families/actions/mock.js +0 -40
  108. package/dist/showcase/families/actions/showcase.cjs +0 -1
  109. package/dist/showcase/families/actions/showcase.d.ts +0 -2
  110. package/dist/showcase/families/actions/showcase.js +0 -53
  111. package/dist/showcase/families/calendar/index.cjs +0 -1
  112. package/dist/showcase/families/calendar/index.d.ts +0 -2
  113. package/dist/showcase/families/calendar/index.js +0 -3
  114. package/dist/showcase/families/calendar/mock.cjs +0 -5
  115. package/dist/showcase/families/calendar/mock.d.ts +0 -2
  116. package/dist/showcase/families/calendar/mock.js +0 -40
  117. package/dist/showcase/families/calendar/showcase.cjs +0 -1
  118. package/dist/showcase/families/calendar/showcase.d.ts +0 -2
  119. package/dist/showcase/families/calendar/showcase.js +0 -60
  120. package/dist/showcase/families/command/index.cjs +0 -1
  121. package/dist/showcase/families/command/index.d.ts +0 -2
  122. package/dist/showcase/families/command/index.js +0 -3
  123. package/dist/showcase/families/command/mock.cjs +0 -5
  124. package/dist/showcase/families/command/mock.d.ts +0 -2
  125. package/dist/showcase/families/command/mock.js +0 -40
  126. package/dist/showcase/families/command/showcase.cjs +0 -1
  127. package/dist/showcase/families/command/showcase.d.ts +0 -2
  128. package/dist/showcase/families/command/showcase.js +0 -40
  129. package/dist/showcase/families/data-table/data.d.ts +0 -5
  130. package/dist/showcase/families/data-table/index.cjs +0 -1
  131. package/dist/showcase/families/data-table/index.d.ts +0 -4
  132. package/dist/showcase/families/data-table/index.js +0 -4
  133. package/dist/showcase/families/data-table/mock.cjs +0 -24
  134. package/dist/showcase/families/data-table/mock.d.ts +0 -2
  135. package/dist/showcase/families/data-table/mock.js +0 -48
  136. package/dist/showcase/families/data-table/showcase.cjs +0 -1
  137. package/dist/showcase/families/data-table/showcase.d.ts +0 -3
  138. package/dist/showcase/families/data-table/showcase.js +0 -751
  139. package/dist/showcase/families/data-table/types.cjs +0 -1
  140. package/dist/showcase/families/data-table/types.js +0 -0
  141. package/dist/showcase/families/display/data.cjs +0 -1
  142. package/dist/showcase/families/display/data.d.ts +0 -6
  143. package/dist/showcase/families/display/data.js +0 -24
  144. package/dist/showcase/families/display/index.cjs +0 -1
  145. package/dist/showcase/families/display/index.d.ts +0 -2
  146. package/dist/showcase/families/display/index.js +0 -3
  147. package/dist/showcase/families/display/mock.cjs +0 -5
  148. package/dist/showcase/families/display/mock.d.ts +0 -2
  149. package/dist/showcase/families/display/mock.js +0 -40
  150. package/dist/showcase/families/display/showcase.cjs +0 -1
  151. package/dist/showcase/families/display/showcase.d.ts +0 -2
  152. package/dist/showcase/families/display/showcase.js +0 -201
  153. package/dist/showcase/families/filters/data.cjs +0 -1
  154. package/dist/showcase/families/filters/data.d.ts +0 -31
  155. package/dist/showcase/families/filters/data.js +0 -61
  156. package/dist/showcase/families/filters/index.cjs +0 -1
  157. package/dist/showcase/families/filters/index.d.ts +0 -2
  158. package/dist/showcase/families/filters/index.js +0 -3
  159. package/dist/showcase/families/filters/mock.cjs +0 -5
  160. package/dist/showcase/families/filters/mock.d.ts +0 -2
  161. package/dist/showcase/families/filters/mock.js +0 -40
  162. package/dist/showcase/families/filters/showcase.cjs +0 -1
  163. package/dist/showcase/families/filters/showcase.d.ts +0 -3
  164. package/dist/showcase/families/filters/showcase.js +0 -213
  165. package/dist/showcase/families/form/data.cjs +0 -1
  166. package/dist/showcase/families/form/data.d.ts +0 -22
  167. package/dist/showcase/families/form/data.js +0 -53
  168. package/dist/showcase/families/form/index.cjs +0 -1
  169. package/dist/showcase/families/form/index.d.ts +0 -4
  170. package/dist/showcase/families/form/index.js +0 -4
  171. package/dist/showcase/families/form/mock.cjs +0 -12
  172. package/dist/showcase/families/form/mock.d.ts +0 -2
  173. package/dist/showcase/families/form/mock.js +0 -40
  174. package/dist/showcase/families/form/showcase.cjs +0 -1
  175. package/dist/showcase/families/form/showcase.d.ts +0 -3
  176. package/dist/showcase/families/form/showcase.js +0 -318
  177. package/dist/showcase/families/form/types.cjs +0 -1
  178. package/dist/showcase/families/form/types.d.ts +0 -9
  179. package/dist/showcase/families/form/types.js +0 -0
  180. package/dist/showcase/families/index.cjs +0 -1
  181. package/dist/showcase/families/index.d.ts +0 -3
  182. package/dist/showcase/families/index.js +0 -96
  183. package/dist/showcase/families/inputs/data.cjs +0 -1
  184. package/dist/showcase/families/inputs/data.d.ts +0 -24
  185. package/dist/showcase/families/inputs/data.js +0 -90
  186. package/dist/showcase/families/inputs/index.cjs +0 -1
  187. package/dist/showcase/families/inputs/index.d.ts +0 -2
  188. package/dist/showcase/families/inputs/index.js +0 -3
  189. package/dist/showcase/families/inputs/mock.cjs +0 -5
  190. package/dist/showcase/families/inputs/mock.d.ts +0 -2
  191. package/dist/showcase/families/inputs/mock.js +0 -40
  192. package/dist/showcase/families/inputs/showcase.cjs +0 -1
  193. package/dist/showcase/families/inputs/showcase.d.ts +0 -3
  194. package/dist/showcase/families/inputs/showcase.js +0 -404
  195. package/dist/showcase/families/layout/index.cjs +0 -1
  196. package/dist/showcase/families/layout/index.d.ts +0 -2
  197. package/dist/showcase/families/layout/index.js +0 -3
  198. package/dist/showcase/families/layout/mock.cjs +0 -5
  199. package/dist/showcase/families/layout/mock.d.ts +0 -2
  200. package/dist/showcase/families/layout/mock.js +0 -40
  201. package/dist/showcase/families/layout/showcase.cjs +0 -1
  202. package/dist/showcase/families/layout/showcase.d.ts +0 -2
  203. package/dist/showcase/families/layout/showcase.js +0 -88
  204. package/dist/showcase/families/navigation/index.cjs +0 -1
  205. package/dist/showcase/families/navigation/index.d.ts +0 -2
  206. package/dist/showcase/families/navigation/index.js +0 -3
  207. package/dist/showcase/families/navigation/mock.cjs +0 -5
  208. package/dist/showcase/families/navigation/mock.d.ts +0 -2
  209. package/dist/showcase/families/navigation/mock.js +0 -40
  210. package/dist/showcase/families/navigation/showcase.cjs +0 -1
  211. package/dist/showcase/families/navigation/showcase.d.ts +0 -2
  212. package/dist/showcase/families/navigation/showcase.js +0 -49
  213. package/dist/showcase/families/notifications/index.cjs +0 -1
  214. package/dist/showcase/families/notifications/index.d.ts +0 -2
  215. package/dist/showcase/families/notifications/index.js +0 -3
  216. package/dist/showcase/families/notifications/mock.cjs +0 -5
  217. package/dist/showcase/families/notifications/mock.d.ts +0 -2
  218. package/dist/showcase/families/notifications/mock.js +0 -40
  219. package/dist/showcase/families/notifications/showcase.cjs +0 -1
  220. package/dist/showcase/families/notifications/showcase.d.ts +0 -1
  221. package/dist/showcase/families/notifications/showcase.js +0 -50
  222. package/dist/showcase/families/overlay/index.cjs +0 -1
  223. package/dist/showcase/families/overlay/index.d.ts +0 -2
  224. package/dist/showcase/families/overlay/index.js +0 -3
  225. package/dist/showcase/families/overlay/mock.cjs +0 -5
  226. package/dist/showcase/families/overlay/mock.d.ts +0 -2
  227. package/dist/showcase/families/overlay/mock.js +0 -40
  228. package/dist/showcase/families/overlay/showcase.cjs +0 -1
  229. package/dist/showcase/families/overlay/showcase.d.ts +0 -1
  230. package/dist/showcase/families/overlay/showcase.js +0 -38
  231. package/dist/showcase/families/patterns/index.cjs +0 -1
  232. package/dist/showcase/families/patterns/index.d.ts +0 -2
  233. package/dist/showcase/families/patterns/index.js +0 -3
  234. package/dist/showcase/families/patterns/mock.cjs +0 -5
  235. package/dist/showcase/families/patterns/mock.d.ts +0 -2
  236. package/dist/showcase/families/patterns/mock.js +0 -40
  237. package/dist/showcase/families/patterns/showcase.cjs +0 -1
  238. package/dist/showcase/families/patterns/showcase.d.ts +0 -1
  239. package/dist/showcase/families/patterns/showcase.js +0 -38
  240. package/dist/showcase/families/types.cjs +0 -1
  241. package/dist/showcase/families/types.d.ts +0 -29
  242. package/dist/showcase/families/types.js +0 -10
  243. package/dist/showcase/families/upload/data.cjs +0 -1
  244. package/dist/showcase/families/upload/data.d.ts +0 -1
  245. package/dist/showcase/families/upload/data.js +0 -10
  246. package/dist/showcase/families/upload/index.cjs +0 -1
  247. package/dist/showcase/families/upload/index.d.ts +0 -2
  248. package/dist/showcase/families/upload/index.js +0 -3
  249. package/dist/showcase/families/upload/mock.cjs +0 -5
  250. package/dist/showcase/families/upload/mock.d.ts +0 -2
  251. package/dist/showcase/families/upload/mock.js +0 -40
  252. package/dist/showcase/families/upload/showcase.cjs +0 -1
  253. package/dist/showcase/families/upload/showcase.d.ts +0 -3
  254. package/dist/showcase/families/upload/showcase.js +0 -133
  255. package/dist/showcase/families/wizard/index.cjs +0 -1
  256. package/dist/showcase/families/wizard/index.d.ts +0 -2
  257. package/dist/showcase/families/wizard/index.js +0 -3
  258. package/dist/showcase/families/wizard/mock.cjs +0 -5
  259. package/dist/showcase/families/wizard/mock.d.ts +0 -2
  260. package/dist/showcase/families/wizard/mock.js +0 -40
  261. package/dist/showcase/families/wizard/showcase.cjs +0 -1
  262. package/dist/showcase/families/wizard/showcase.d.ts +0 -2
  263. package/dist/showcase/families/wizard/showcase.js +0 -56
  264. package/packages/cli/vendor/src/families/badge-family.ts +0 -7
  265. package/packages/cli/vendor/src/families/card-family.ts +0 -26
  266. package/packages/cli/vendor/src/families/catalog.ts +0 -125
  267. package/packages/cli/vendor/src/families/data-table-family.ts +0 -31
  268. package/packages/cli/vendor/src/families/docs-adoption.ts +0 -103
  269. package/packages/cli/vendor/src/families/docs-groups.ts +0 -248
  270. package/packages/cli/vendor/src/families/docs-queries.ts +0 -84
  271. package/packages/cli/vendor/src/families/docs-routing.ts +0 -89
  272. package/packages/cli/vendor/src/families/form-family.ts +0 -37
  273. package/packages/cli/vendor/src/families/index.ts +0 -19
  274. package/packages/cli/vendor/src/families/input-family.ts +0 -61
  275. package/packages/cli/vendor/src/families/member-metadata.ts +0 -1033
  276. package/packages/cli/vendor/src/families/member-queries.ts +0 -28
  277. package/packages/cli/vendor/src/families/member-snippet-queries.ts +0 -54
  278. package/packages/cli/vendor/src/families/member-snippets.ts +0 -1563
  279. package/packages/cli/vendor/src/families/migration-map.ts +0 -161
  280. package/packages/cli/vendor/src/families/overlay-family.ts +0 -31
  281. package/packages/cli/vendor/src/families/public-surface-rationalization.ts +0 -206
  282. package/packages/cli/vendor/src/families/queries.ts +0 -131
  283. package/packages/cli/vendor/src/families/select-family.ts +0 -33
  284. package/packages/cli/vendor/src/families/views.ts +0 -85
  285. package/packages/cli/vendor/src/showcase/families/actions/index.ts +0 -2
  286. package/packages/cli/vendor/src/showcase/families/actions/mock.ts +0 -18
  287. package/packages/cli/vendor/src/showcase/families/actions/showcase.tsx +0 -36
  288. package/packages/cli/vendor/src/showcase/families/calendar/index.ts +0 -2
  289. package/packages/cli/vendor/src/showcase/families/calendar/mock.ts +0 -18
  290. package/packages/cli/vendor/src/showcase/families/calendar/showcase.tsx +0 -33
  291. package/packages/cli/vendor/src/showcase/families/command/index.ts +0 -2
  292. package/packages/cli/vendor/src/showcase/families/command/mock.ts +0 -18
  293. package/packages/cli/vendor/src/showcase/families/command/showcase.tsx +0 -33
  294. package/packages/cli/vendor/src/showcase/families/data-table/index.ts +0 -4
  295. package/packages/cli/vendor/src/showcase/families/data-table/mock.ts +0 -42
  296. package/packages/cli/vendor/src/showcase/families/data-table/showcase.tsx +0 -507
  297. package/packages/cli/vendor/src/showcase/families/data-table/types.ts +0 -25
  298. package/packages/cli/vendor/src/showcase/families/display/data.ts +0 -11
  299. package/packages/cli/vendor/src/showcase/families/display/index.ts +0 -2
  300. package/packages/cli/vendor/src/showcase/families/display/mock.ts +0 -18
  301. package/packages/cli/vendor/src/showcase/families/display/showcase.tsx +0 -113
  302. package/packages/cli/vendor/src/showcase/families/filters/data.ts +0 -18
  303. package/packages/cli/vendor/src/showcase/families/filters/index.ts +0 -2
  304. package/packages/cli/vendor/src/showcase/families/filters/mock.ts +0 -18
  305. package/packages/cli/vendor/src/showcase/families/filters/showcase.tsx +0 -137
  306. package/packages/cli/vendor/src/showcase/families/form/data.ts +0 -37
  307. package/packages/cli/vendor/src/showcase/families/form/index.ts +0 -4
  308. package/packages/cli/vendor/src/showcase/families/form/mock.ts +0 -18
  309. package/packages/cli/vendor/src/showcase/families/form/showcase.tsx +0 -230
  310. package/packages/cli/vendor/src/showcase/families/form/types.ts +0 -10
  311. package/packages/cli/vendor/src/showcase/families/index.ts +0 -37
  312. package/packages/cli/vendor/src/showcase/families/inputs/data.ts +0 -40
  313. package/packages/cli/vendor/src/showcase/families/inputs/index.ts +0 -2
  314. package/packages/cli/vendor/src/showcase/families/inputs/mock.ts +0 -18
  315. package/packages/cli/vendor/src/showcase/families/inputs/showcase.tsx +0 -294
  316. package/packages/cli/vendor/src/showcase/families/layout/index.ts +0 -2
  317. package/packages/cli/vendor/src/showcase/families/layout/mock.ts +0 -18
  318. package/packages/cli/vendor/src/showcase/families/layout/showcase.tsx +0 -57
  319. package/packages/cli/vendor/src/showcase/families/navigation/index.ts +0 -2
  320. package/packages/cli/vendor/src/showcase/families/navigation/mock.ts +0 -18
  321. package/packages/cli/vendor/src/showcase/families/navigation/showcase.tsx +0 -31
  322. package/packages/cli/vendor/src/showcase/families/notifications/index.ts +0 -2
  323. package/packages/cli/vendor/src/showcase/families/notifications/mock.ts +0 -18
  324. package/packages/cli/vendor/src/showcase/families/notifications/showcase.tsx +0 -24
  325. package/packages/cli/vendor/src/showcase/families/overlay/index.ts +0 -2
  326. package/packages/cli/vendor/src/showcase/families/overlay/mock.ts +0 -18
  327. package/packages/cli/vendor/src/showcase/families/overlay/showcase.tsx +0 -23
  328. package/packages/cli/vendor/src/showcase/families/patterns/index.ts +0 -2
  329. package/packages/cli/vendor/src/showcase/families/patterns/mock.ts +0 -18
  330. package/packages/cli/vendor/src/showcase/families/patterns/showcase.tsx +0 -23
  331. package/packages/cli/vendor/src/showcase/families/types.ts +0 -40
  332. package/packages/cli/vendor/src/showcase/families/upload/data.ts +0 -7
  333. package/packages/cli/vendor/src/showcase/families/upload/index.ts +0 -2
  334. package/packages/cli/vendor/src/showcase/families/upload/mock.ts +0 -18
  335. package/packages/cli/vendor/src/showcase/families/upload/showcase.tsx +0 -86
  336. package/packages/cli/vendor/src/showcase/families/wizard/index.ts +0 -2
  337. package/packages/cli/vendor/src/showcase/families/wizard/mock.ts +0 -18
  338. package/packages/cli/vendor/src/showcase/families/wizard/showcase.tsx +0 -39
  339. /package/dist/showcase/{families/data-table → premium/data-table-parts}/data.cjs +0 -0
@@ -1,751 +0,0 @@
1
- import { Button as e } from "../../../components/ui/button/index.js";
2
- import { SearchInput as t } from "../../../components/inputs/search-input.js";
3
- import { Badge as n } from "../../../components/ui/badge/index.js";
4
- import { SheetShell as r } from "../../../components/overlay/sheet-shell.js";
5
- import { createDataTableActionsColumn as i } from "../../../components/data-table/data-table-actions-column.js";
6
- import { DataTableBulkActions as a } from "../../../components/data-table/data-table-bulk-actions.js";
7
- import { DataTableColumnVisibilityMenu as o } from "../../../components/data-table/data-table-column-visibility-menu.js";
8
- import { DataTable as s } from "../../../components/data-table/data-table.js";
9
- import { createDataTableSelectColumn as c } from "../../../components/data-table/data-table-select-column.js";
10
- import { DataTableSortableHeader as l } from "../../../components/data-table/data-table-sortable-header.js";
11
- import { DataTableViewPresets as u } from "../../../components/data-table/data-table-view-presets.js";
12
- import { dataTableDemoPresets as d, dataTableDemoRows as f, dataTableToolbarActions as p } from "./data.js";
13
- import * as m from "react";
14
- import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
15
- //#region src/showcase/families/data-table/showcase.tsx
16
- function v({ state: v, setState: y }) {
17
- let [b, x] = m.useState({}), [S, C] = m.useState([]), [w, T] = m.useState({}), [E, D] = m.useState(f[0]?.invoice ?? ""), [O, k] = m.useState(!1), [A, j] = m.useState(!1), [M, N] = m.useState(!1), [P, F] = m.useState(!1), [I, L] = m.useState("all"), [R, z] = m.useState("skeleton"), [B, V] = m.useState("client"), [H, U] = m.useState(3), [W, G] = m.useState(0), K = m.useMemo(() => {
18
- let e = v.search.trim().toLowerCase(), t = f;
19
- return I === "finance" && (t = t.filter((e) => e.status === "Paid" || e.status === "Review")), I === "at-risk" && (t = t.filter((e) => e.status === "Draft" || e.status === "Overdue")), M ? [] : e ? t.filter((t) => [
20
- t.invoice,
21
- t.order,
22
- t.customer,
23
- t.owner,
24
- t.channel,
25
- t.status,
26
- t.amount,
27
- t.items
28
- ].join(" ").toLowerCase().includes(e)) : t;
29
- }, [
30
- M,
31
- v.search,
32
- I
33
- ]), q = Math.max(Math.ceil(K.length / H), 1), J = Math.min(W, Math.max(q - 1, 0)), Y = m.useMemo(() => K.slice(J * H, J * H + H), [
34
- H,
35
- J,
36
- K
37
- ]), X = m.useMemo(() => f.filter((e, t) => b[t]), [b]), Z = f.find((e) => e.invoice === E) ?? Y[0], Q = K.filter((e) => e.status === "Paid").reduce((e, t) => e + t.amountValue, 0), $ = A, ee = m.useMemo(() => [
38
- c(),
39
- {
40
- accessorKey: "invoice",
41
- header: ({ column: e }) => /* @__PURE__ */ g(l, {
42
- column: e,
43
- children: "Invoice"
44
- }),
45
- cell: ({ row: e }) => /* @__PURE__ */ _("div", {
46
- className: "min-w-[132px]",
47
- children: [/* @__PURE__ */ g("p", {
48
- className: "aui-text-strong font-medium",
49
- children: e.original.invoice
50
- }), /* @__PURE__ */ g("p", {
51
- className: "aui-text-muted mt-1 text-xs",
52
- children: e.original.order
53
- })]
54
- })
55
- },
56
- {
57
- accessorKey: "customer",
58
- header: ({ column: e }) => /* @__PURE__ */ g(l, {
59
- column: e,
60
- children: "Customer"
61
- }),
62
- cell: ({ row: e }) => /* @__PURE__ */ _("div", {
63
- className: "min-w-[180px]",
64
- children: [/* @__PURE__ */ g("p", {
65
- className: "aui-text-strong font-medium",
66
- children: e.original.customer
67
- }), /* @__PURE__ */ _("p", {
68
- className: "aui-text-muted mt-1 text-xs",
69
- children: [
70
- e.original.owner,
71
- " • ",
72
- e.original.channel
73
- ]
74
- })]
75
- })
76
- },
77
- {
78
- accessorKey: "status",
79
- header: "Status",
80
- cell: ({ row: e }) => /* @__PURE__ */ g(n, {
81
- variant: e.original.status === "Paid" ? "secondary" : e.original.status === "Review" ? "outline" : "destructive",
82
- children: e.original.status
83
- })
84
- },
85
- {
86
- accessorKey: "items",
87
- header: ({ column: e }) => /* @__PURE__ */ g(l, {
88
- column: e,
89
- children: "Items"
90
- }),
91
- cell: ({ row: e }) => /* @__PURE__ */ g("span", {
92
- className: "aui-text-strong font-medium",
93
- children: e.original.items
94
- })
95
- },
96
- {
97
- accessorKey: "stock",
98
- header: ({ column: e }) => /* @__PURE__ */ g(l, {
99
- column: e,
100
- children: "Stock"
101
- })
102
- },
103
- {
104
- accessorKey: "amount",
105
- header: ({ column: e }) => /* @__PURE__ */ g(l, {
106
- column: e,
107
- children: "Amount"
108
- }),
109
- cell: ({ row: e }) => /* @__PURE__ */ _("div", {
110
- className: "min-w-[116px]",
111
- children: [/* @__PURE__ */ g("p", {
112
- className: "aui-text-strong font-medium",
113
- children: e.original.amount
114
- }), /* @__PURE__ */ g("p", {
115
- className: `mt-1 text-xs ${e.original.trend === "up" ? "text-emerald-600" : e.original.trend === "down" ? "text-rose-600" : "aui-text-muted"}`,
116
- children: e.original.trend === "up" ? "Trending up" : e.original.trend === "down" ? "Needs attention" : "Stable"
117
- })]
118
- })
119
- },
120
- {
121
- accessorKey: "updatedAt",
122
- header: "Updated",
123
- cell: ({ row: e }) => /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
124
- className: "aui-text-strong font-medium",
125
- children: e.original.updatedAt
126
- }), /* @__PURE__ */ g("p", {
127
- className: "aui-text-muted mt-1 text-xs",
128
- children: e.original.status === "Draft" ? "Editing locked" : "Live sync"
129
- })] })
130
- },
131
- i({ getActions: (e, t) => [
132
- {
133
- key: "view",
134
- label: "Open detail",
135
- onSelect: () => {
136
- D(t.invoice), k(!0);
137
- }
138
- },
139
- {
140
- key: "follow-up",
141
- label: "Create follow-up",
142
- onSelect: () => y({ notes: `Follow-up prepared for ${t.customer}` })
143
- },
144
- {
145
- key: "archive",
146
- label: "Archive",
147
- destructive: !0,
148
- onSelect: () => y({ notes: `${t.invoice} marked for archive review` })
149
- }
150
- ] })
151
- ], [y]);
152
- return /* @__PURE__ */ _("div", {
153
- className: "space-y-4",
154
- children: [
155
- /* @__PURE__ */ _("div", {
156
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
157
- children: [/* @__PURE__ */ _("div", {
158
- className: "flex flex-col gap-4 xl:flex-row xl:items-start xl:justify-between",
159
- children: [/* @__PURE__ */ _("div", {
160
- className: "space-y-3",
161
- children: [/* @__PURE__ */ _("div", {
162
- className: "flex flex-wrap items-center gap-2",
163
- children: [
164
- /* @__PURE__ */ _(n, {
165
- variant: "outline",
166
- children: [X.length, " selected"]
167
- }),
168
- /* @__PURE__ */ g(n, {
169
- variant: "outline",
170
- children: I === "all" ? "All invoices" : I === "finance" ? "Finance review" : "At risk"
171
- }),
172
- /* @__PURE__ */ _(n, {
173
- variant: "outline",
174
- children: [K.length, " rows"]
175
- }),
176
- /* @__PURE__ */ g(n, {
177
- variant: "outline",
178
- children: R
179
- }),
180
- /* @__PURE__ */ g(n, {
181
- variant: "outline",
182
- children: B === "server" ? "Manual server-state" : "Client state"
183
- })
184
- ]
185
- }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
186
- className: "aui-text-strong text-sm font-medium",
187
- children: "Reusable DataTable flow"
188
- }), /* @__PURE__ */ g("p", {
189
- className: "aui-text-muted mt-1 text-sm leading-6",
190
- children: "Selection, column visibility, mobile cards, manual server-state, detail sheet, disabled rows and pagination in one compact surface."
191
- })] })]
192
- }), /* @__PURE__ */ _("div", {
193
- className: "flex flex-wrap items-center gap-2",
194
- children: [
195
- /* @__PURE__ */ g(e, {
196
- variant: B === "client" ? "default" : "outline",
197
- size: "sm",
198
- onClick: () => {
199
- V("client"), j(!1);
200
- },
201
- children: "Client"
202
- }),
203
- /* @__PURE__ */ g(e, {
204
- variant: B === "server" ? "default" : "outline",
205
- size: "sm",
206
- onClick: () => {
207
- V("server"), j(!1);
208
- },
209
- children: "Server"
210
- }),
211
- /* @__PURE__ */ g(e, {
212
- variant: v.density === "compact" ? "default" : "outline",
213
- size: "sm",
214
- onClick: () => y({ density: "compact" }),
215
- children: "Compact"
216
- }),
217
- /* @__PURE__ */ g(e, {
218
- variant: v.density === "comfortable" ? "default" : "outline",
219
- size: "sm",
220
- onClick: () => y({ density: "comfortable" }),
221
- children: "Comfortable"
222
- }),
223
- /* @__PURE__ */ g(e, {
224
- variant: R === "skeleton" ? "default" : "outline",
225
- size: "sm",
226
- onClick: () => z((e) => e === "skeleton" ? "state" : "skeleton"),
227
- children: R === "skeleton" ? "Skeleton" : "State"
228
- }),
229
- /* @__PURE__ */ g(e, {
230
- variant: A ? "default" : "outline",
231
- size: "sm",
232
- onClick: () => j((e) => !e),
233
- children: "Loading"
234
- }),
235
- /* @__PURE__ */ g(e, {
236
- variant: P ? "default" : "outline",
237
- size: "sm",
238
- onClick: () => F((e) => !e),
239
- children: "Error"
240
- }),
241
- /* @__PURE__ */ g(e, {
242
- variant: M ? "default" : "outline",
243
- size: "sm",
244
- onClick: () => N((e) => !e),
245
- children: "Empty"
246
- }),
247
- /* @__PURE__ */ g(e, {
248
- variant: "outline",
249
- size: "sm",
250
- onClick: () => {
251
- y({ search: "" }), L("all"), j(!1), F(!1), N(!1), z("skeleton"), V("client"), G(0), x({}), T({}), k(!1);
252
- },
253
- children: "Reset"
254
- })
255
- ]
256
- })]
257
- }), /* @__PURE__ */ _("div", {
258
- className: "mt-4 flex flex-col gap-3 xl:flex-row xl:items-center xl:justify-between",
259
- children: [/* @__PURE__ */ g(u, {
260
- value: I,
261
- onValueChange: (e) => {
262
- L(e ?? "all"), G(0);
263
- },
264
- presets: d,
265
- size: "sm"
266
- }), /* @__PURE__ */ g("div", {
267
- className: "w-full max-w-[320px]",
268
- children: /* @__PURE__ */ g(t, {
269
- value: v.search,
270
- onValueChange: (e) => y({ search: e }),
271
- placeholder: "Search invoice, customer, owner..."
272
- })
273
- })]
274
- })]
275
- }),
276
- /* @__PURE__ */ g("div", {
277
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
278
- children: /* @__PURE__ */ g(s, {
279
- columns: ee,
280
- data: Y,
281
- getRowId: (e) => e.invoice,
282
- rowSelection: b,
283
- onRowSelectionChange: x,
284
- sorting: S,
285
- onSortingChange: C,
286
- columnVisibility: w,
287
- onColumnVisibilityChange: T,
288
- enableRowSelection: !0,
289
- density: v.density === "comfortable" ? "comfortable" : "compact",
290
- striped: !0,
291
- bordered: !0,
292
- stickyHeader: !0,
293
- isLoading: $,
294
- isError: P,
295
- loadingVariant: R,
296
- loadingState: {
297
- label: B === "server" ? "Fetching invoices" : "Loading invoices",
298
- description: B === "server" ? "Manual mode simulates server-side filtering, sorting and pagination." : "Reusable DataTable loading state."
299
- },
300
- errorState: {
301
- title: "Invoice table failed",
302
- description: "Force error state to inspect resilient UI."
303
- },
304
- emptyState: {
305
- title: "No rows found",
306
- description: "Current view or search does not match any invoice."
307
- },
308
- getRowDisabled: (e) => e.original.status === "Draft",
309
- onRowClick: (e) => D(e.original.invoice),
310
- onRowDoubleClick: (e) => {
311
- D(e.original.invoice), k(!0), y({ notes: `${e.original.invoice} opened from double click` });
312
- },
313
- renderMobileCard: (e) => /* @__PURE__ */ _("button", {
314
- type: "button",
315
- onClick: () => {
316
- D(e.original.invoice), k(!0);
317
- },
318
- className: E === e.original.invoice ? "rounded-[20px] aui-surface-strong border-[color:var(--aui-surface-strong)] p-4 text-left" : "rounded-[20px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4 text-left",
319
- children: [/* @__PURE__ */ _("div", {
320
- className: "flex items-center justify-between gap-3",
321
- children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
322
- className: "font-medium",
323
- children: e.original.invoice
324
- }), /* @__PURE__ */ _("p", {
325
- className: E === e.original.invoice ? "mt-1 text-sm text-[color:color-mix(in_oklch,var(--aui-surface-strong-foreground)_72%,transparent)]" : "aui-text-muted mt-1 text-sm",
326
- children: [
327
- e.original.customer,
328
- " • ",
329
- e.original.owner
330
- ]
331
- })] }), /* @__PURE__ */ g(n, {
332
- variant: e.original.status === "Paid" ? "secondary" : e.original.status === "Review" ? "outline" : "destructive",
333
- children: e.original.status
334
- })]
335
- }), /* @__PURE__ */ _("div", {
336
- className: "mt-4 grid grid-cols-2 gap-3 text-sm",
337
- children: [
338
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
339
- className: E === e.original.invoice ? "text-[color:color-mix(in_oklch,var(--aui-surface-strong-foreground)_60%,transparent)]" : "aui-text-muted",
340
- children: "Amount"
341
- }), /* @__PURE__ */ g("p", {
342
- className: "mt-1 font-semibold",
343
- children: e.original.amount
344
- })] }),
345
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
346
- className: E === e.original.invoice ? "text-[color:color-mix(in_oklch,var(--aui-surface-strong-foreground)_60%,transparent)]" : "aui-text-muted",
347
- children: "Updated"
348
- }), /* @__PURE__ */ g("p", {
349
- className: "mt-1 font-semibold",
350
- children: e.original.updatedAt
351
- })] }),
352
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
353
- className: E === e.original.invoice ? "text-[color:color-mix(in_oklch,var(--aui-surface-strong-foreground)_60%,transparent)]" : "aui-text-muted",
354
- children: "Items"
355
- }), /* @__PURE__ */ g("p", {
356
- className: "mt-1 font-semibold",
357
- children: e.original.items
358
- })] }),
359
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
360
- className: E === e.original.invoice ? "text-[color:color-mix(in_oklch,var(--aui-surface-strong-foreground)_60%,transparent)]" : "aui-text-muted",
361
- children: "Channel"
362
- }), /* @__PURE__ */ g("p", {
363
- className: "mt-1 font-semibold",
364
- children: e.original.channel
365
- })] })
366
- ]
367
- })]
368
- }, e.id),
369
- toolbarProps: (t) => ({
370
- title: "Invoices",
371
- description: "Primary reusable data-table API for finance, ops and admin surfaces.",
372
- search: /* @__PURE__ */ _("div", {
373
- className: "flex flex-wrap items-center gap-2",
374
- children: [/* @__PURE__ */ g(n, {
375
- variant: "outline",
376
- children: I === "all" ? "All" : I === "finance" ? "Finance" : "At risk"
377
- }), v.search || I !== "all" ? /* @__PURE__ */ g(e, {
378
- variant: "ghost",
379
- size: "sm",
380
- onClick: () => {
381
- y({ search: "" }), L("all"), G(0);
382
- },
383
- children: "Clear filters"
384
- }) : null]
385
- }),
386
- actions: /* @__PURE__ */ _("div", {
387
- className: "flex items-center gap-2",
388
- children: [/* @__PURE__ */ g(o, { table: t }), p.map((t) => /* @__PURE__ */ g(e, {
389
- variant: t.variant,
390
- size: "sm",
391
- onClick: () => y({ notes: `${t.label} prepared for ${K.length} visible rows` }),
392
- children: t.label
393
- }, t.label))]
394
- }),
395
- selectionActions: /* @__PURE__ */ g("div", {
396
- className: "flex flex-wrap items-center gap-2",
397
- children: /* @__PURE__ */ g(a, {
398
- rows: t.getSelectedRowModel().rows.map((e) => e.original),
399
- actions: [{
400
- key: "export",
401
- label: "Export selected",
402
- onSelect: (e) => y({ notes: `${e.length} rows prepared for export` })
403
- }, {
404
- key: "archive",
405
- label: "Archive selected",
406
- destructive: !0,
407
- onSelect: (e) => y({ notes: `${e.length} rows sent to archive flow` })
408
- }],
409
- onClearSelection: () => x({})
410
- })
411
- })
412
- }),
413
- pagination: {
414
- manual: !0,
415
- pageIndex: J,
416
- pageSize: H,
417
- rowCount: K.length,
418
- pageCount: q,
419
- pageSizeOptions: [
420
- 3,
421
- 5,
422
- 10
423
- ],
424
- showPageSize: !0,
425
- labels: {
426
- rowsPerPage: "Rows per page",
427
- pageInfo: (e, t, n) => `${e + 1} / ${t}${n ? ` • ${n} rows` : ""}`,
428
- first: "First",
429
- previous: "Previous",
430
- next: "Next",
431
- last: "Last",
432
- page: (e) => `Page ${e}`
433
- },
434
- onPageChange: G,
435
- onPageSizeChange: (e) => {
436
- U(e), G(0);
437
- }
438
- }
439
- })
440
- }),
441
- /* @__PURE__ */ _("div", {
442
- className: "grid gap-4 lg:grid-cols-[1.3fr_0.7fr]",
443
- children: [/* @__PURE__ */ _("div", {
444
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
445
- children: [/* @__PURE__ */ _("div", {
446
- className: "flex flex-wrap items-center gap-2",
447
- children: [
448
- /* @__PURE__ */ g(n, {
449
- variant: "outline",
450
- children: "Row click focuses detail"
451
- }),
452
- /* @__PURE__ */ g(n, {
453
- variant: "outline",
454
- children: "Checkbox stays isolated"
455
- }),
456
- /* @__PURE__ */ g(n, {
457
- variant: "outline",
458
- children: "Action menu stays isolated"
459
- }),
460
- /* @__PURE__ */ g(n, {
461
- variant: "outline",
462
- children: "Bulk actions use real selection"
463
- })
464
- ]
465
- }), /* @__PURE__ */ _("div", {
466
- className: "mt-4 grid gap-3 md:grid-cols-3",
467
- children: [
468
- /* @__PURE__ */ _("div", {
469
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
470
- children: [
471
- /* @__PURE__ */ g("p", {
472
- className: "aui-text-muted text-xs uppercase tracking-[0.18em]",
473
- children: "Step 1"
474
- }),
475
- /* @__PURE__ */ g("p", {
476
- className: "aui-text-strong mt-2 text-sm font-medium",
477
- children: "Click row body"
478
- }),
479
- /* @__PURE__ */ g("p", {
480
- className: "aui-text-subtle mt-2 text-sm leading-6",
481
- children: "Focus shifts to the invoice summary card below without opening unrelated controls."
482
- })
483
- ]
484
- }),
485
- /* @__PURE__ */ _("div", {
486
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
487
- children: [
488
- /* @__PURE__ */ g("p", {
489
- className: "aui-text-muted text-xs uppercase tracking-[0.18em]",
490
- children: "Step 2"
491
- }),
492
- /* @__PURE__ */ g("p", {
493
- className: "aui-text-strong mt-2 text-sm font-medium",
494
- children: "Use select checkbox"
495
- }),
496
- /* @__PURE__ */ g("p", {
497
- className: "aui-text-subtle mt-2 text-sm leading-6",
498
- children: "Selection updates bulk actions only. It does not trigger row focus or open detail."
499
- })
500
- ]
501
- }),
502
- /* @__PURE__ */ _("div", {
503
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
504
- children: [
505
- /* @__PURE__ */ g("p", {
506
- className: "aui-text-muted text-xs uppercase tracking-[0.18em]",
507
- children: "Step 3"
508
- }),
509
- /* @__PURE__ */ g("p", {
510
- className: "aui-text-strong mt-2 text-sm font-medium",
511
- children: "Open row actions"
512
- }),
513
- /* @__PURE__ */ g("p", {
514
- className: "aui-text-subtle mt-2 text-sm leading-6",
515
- children: "Action menu dispatches row-specific commands and keeps parent row click untouched."
516
- })
517
- ]
518
- })
519
- ]
520
- })]
521
- }), /* @__PURE__ */ _("div", {
522
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
523
- children: [/* @__PURE__ */ g("p", {
524
- className: "aui-text-muted text-sm",
525
- children: "Interaction proof"
526
- }), /* @__PURE__ */ _("div", {
527
- className: "mt-3 space-y-3",
528
- children: [
529
- /* @__PURE__ */ _("div", {
530
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
531
- children: [/* @__PURE__ */ g("p", {
532
- className: "aui-text-strong text-sm font-medium",
533
- children: Z?.invoice ?? "No active invoice"
534
- }), /* @__PURE__ */ g("p", {
535
- className: "aui-text-subtle mt-1 text-sm",
536
- children: "Active focus row"
537
- })]
538
- }),
539
- /* @__PURE__ */ _("div", {
540
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
541
- children: [/* @__PURE__ */ _("p", {
542
- className: "aui-text-strong text-sm font-medium",
543
- children: [X.length, " selected"]
544
- }), /* @__PURE__ */ g("p", {
545
- className: "aui-text-subtle mt-1 text-sm",
546
- children: "Selection state stays independent from row detail state."
547
- })]
548
- }),
549
- /* @__PURE__ */ _("div", {
550
- className: "rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-page-bg)] px-4 py-3",
551
- children: [/* @__PURE__ */ g("p", {
552
- className: "aui-text-strong text-sm font-medium",
553
- children: O ? "Detail sheet open" : "Detail sheet closed"
554
- }), /* @__PURE__ */ g("p", {
555
- className: "aui-text-subtle mt-1 text-sm",
556
- children: "Double click and menu actions can open the same reusable detail surface."
557
- })]
558
- })
559
- ]
560
- })]
561
- })]
562
- }),
563
- /* @__PURE__ */ _("div", {
564
- className: "grid gap-4 md:grid-cols-4",
565
- children: [
566
- /* @__PURE__ */ _("div", {
567
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
568
- children: [
569
- /* @__PURE__ */ g("p", {
570
- className: "aui-text-muted text-sm",
571
- children: "Focused row"
572
- }),
573
- /* @__PURE__ */ g("p", {
574
- className: "aui-text-strong mt-2 text-lg font-semibold",
575
- children: Z?.invoice ?? "No row"
576
- }),
577
- /* @__PURE__ */ g("p", {
578
- className: "aui-text-subtle mt-2 text-sm",
579
- children: Z ? `${Z.customer} • ${Z.owner} • ${Z.channel}` : "Select a row to inspect actions."
580
- })
581
- ]
582
- }),
583
- /* @__PURE__ */ _("div", {
584
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
585
- children: [
586
- /* @__PURE__ */ g("p", {
587
- className: "aui-text-muted text-sm",
588
- children: "Selection"
589
- }),
590
- /* @__PURE__ */ _("p", {
591
- className: "aui-text-strong mt-2 text-lg font-semibold",
592
- children: [X.length, " rows active"]
593
- }),
594
- /* @__PURE__ */ g("p", {
595
- className: "aui-text-subtle mt-2 text-sm",
596
- children: "Bulk export and archive stay attached to the real selected rows."
597
- })
598
- ]
599
- }),
600
- /* @__PURE__ */ _("div", {
601
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
602
- children: [
603
- /* @__PURE__ */ g("p", {
604
- className: "aui-text-muted text-sm",
605
- children: "Finance signal"
606
- }),
607
- /* @__PURE__ */ _("p", {
608
- className: "aui-text-strong mt-2 text-lg font-semibold",
609
- children: ["$", Q.toLocaleString()]
610
- }),
611
- /* @__PURE__ */ g("p", {
612
- className: "aui-text-subtle mt-2 text-sm",
613
- children: "Paid invoices total in the current filtered view."
614
- })
615
- ]
616
- }),
617
- /* @__PURE__ */ _("div", {
618
- className: "rounded-[22px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
619
- children: [
620
- /* @__PURE__ */ g("p", {
621
- className: "aui-text-muted text-sm",
622
- children: "Data mode"
623
- }),
624
- /* @__PURE__ */ g("p", {
625
- className: "aui-text-strong mt-2 text-lg font-semibold",
626
- children: B === "server" ? "Manual server" : "Client only"
627
- }),
628
- /* @__PURE__ */ g("p", {
629
- className: "aui-text-subtle mt-2 text-sm",
630
- children: B === "server" ? "Query changes pass through simulated fetch state." : "Filters resolve immediately in memory."
631
- })
632
- ]
633
- })
634
- ]
635
- }),
636
- /* @__PURE__ */ g(r, {
637
- open: O,
638
- onOpenChange: k,
639
- side: "right",
640
- title: Z ? `${Z.invoice} detail` : "Invoice detail",
641
- description: "Row click, double click and action menu all converge into one reusable detail surface.",
642
- contentClassName: "sm:max-w-xl",
643
- bodyClassName: "space-y-6",
644
- footer: /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(e, {
645
- variant: "outline",
646
- onClick: () => k(!1),
647
- children: "Close"
648
- }), /* @__PURE__ */ g(e, {
649
- onClick: () => y({ notes: `${Z?.invoice ?? "Invoice"} sent to finance review` }),
650
- children: "Send to review"
651
- })] }),
652
- children: Z ? /* @__PURE__ */ _(h, { children: [
653
- /* @__PURE__ */ _("div", {
654
- className: "grid gap-4 sm:grid-cols-2",
655
- children: [/* @__PURE__ */ _("div", {
656
- className: "rounded-[20px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
657
- children: [
658
- /* @__PURE__ */ g("p", {
659
- className: "aui-text-muted text-sm",
660
- children: "Customer"
661
- }),
662
- /* @__PURE__ */ g("p", {
663
- className: "aui-text-strong mt-2 text-lg font-semibold",
664
- children: Z.customer
665
- }),
666
- /* @__PURE__ */ _("p", {
667
- className: "aui-text-subtle mt-1 text-sm",
668
- children: [
669
- Z.owner,
670
- " • ",
671
- Z.channel
672
- ]
673
- })
674
- ]
675
- }), /* @__PURE__ */ _("div", {
676
- className: "rounded-[20px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
677
- children: [
678
- /* @__PURE__ */ g("p", {
679
- className: "aui-text-muted text-sm",
680
- children: "Order value"
681
- }),
682
- /* @__PURE__ */ g("p", {
683
- className: "aui-text-strong mt-2 text-lg font-semibold",
684
- children: Z.amount
685
- }),
686
- /* @__PURE__ */ g("p", {
687
- className: `mt-1 text-sm ${Z.trend === "up" ? "text-emerald-600" : Z.trend === "down" ? "text-rose-600" : "aui-text-muted"}`,
688
- children: Z.trend === "up" ? "Revenue is climbing" : Z.trend === "down" ? "Revenue trend needs attention" : "Revenue is stable"
689
- })
690
- ]
691
- })]
692
- }),
693
- /* @__PURE__ */ g("div", {
694
- className: "grid gap-3",
695
- children: [
696
- ["Status", Z.status],
697
- ["Items", String(Z.items)],
698
- ["Stock", String(Z.stock)],
699
- ["Updated", Z.updatedAt]
700
- ].map(([e, t]) => /* @__PURE__ */ _("div", {
701
- className: "flex items-center justify-between rounded-[18px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] px-4 py-3",
702
- children: [/* @__PURE__ */ g("span", {
703
- className: "aui-text-muted text-sm",
704
- children: e
705
- }), /* @__PURE__ */ g("span", {
706
- className: "aui-text-strong text-sm font-medium",
707
- children: t
708
- })]
709
- }, e))
710
- }),
711
- /* @__PURE__ */ _("div", {
712
- className: "rounded-[20px] border border-[color:var(--aui-surface-border)] bg-[color:var(--aui-surface)] p-4",
713
- children: [
714
- /* @__PURE__ */ g("p", {
715
- className: "aui-text-muted text-sm",
716
- children: "Interaction coverage"
717
- }),
718
- /* @__PURE__ */ _("div", {
719
- className: "mt-3 flex flex-wrap gap-2",
720
- children: [
721
- /* @__PURE__ */ g(n, {
722
- variant: "outline",
723
- children: "Row click"
724
- }),
725
- /* @__PURE__ */ g(n, {
726
- variant: "outline",
727
- children: "Double click"
728
- }),
729
- /* @__PURE__ */ g(n, {
730
- variant: "outline",
731
- children: "Action menu"
732
- }),
733
- /* @__PURE__ */ g(n, {
734
- variant: "outline",
735
- children: "Mobile card"
736
- })
737
- ]
738
- }),
739
- /* @__PURE__ */ g("p", {
740
- className: "aui-text-subtle mt-3 text-sm leading-6",
741
- children: "This sheet shows a reusable row-detail pattern. The DataTable stays generic while the surrounding flow remains app-owned."
742
- })
743
- ]
744
- })
745
- ] }) : null
746
- })
747
- ]
748
- });
749
- }
750
- //#endregion
751
- export { v as DataTableFamilyShowcase };