tembro 3.1.1 → 3.1.5

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 (1114) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/dist/components/actions/index.d.ts +0 -1
  3. package/dist/components/actions/public.d.ts +0 -1
  4. package/dist/components/charts/index.d.ts +1 -3
  5. package/dist/components/charts/progress-circle.cjs +1 -0
  6. package/dist/components/charts/progress-circle.d.ts +4 -0
  7. package/dist/components/charts/progress-circle.js +1 -0
  8. package/dist/components/data-table/public.d.ts +0 -5
  9. package/dist/components/display/index.d.ts +4 -10
  10. package/dist/components/display/qr-code.cjs +1 -0
  11. package/dist/components/display/qr-code.d.ts +18 -0
  12. package/dist/components/display/qr-code.js +1 -0
  13. package/dist/components/display/virtual-list.d.ts +2 -1
  14. package/dist/components/inputs/color-picker.cjs +1 -0
  15. package/dist/components/inputs/color-picker.d.ts +20 -0
  16. package/dist/components/inputs/color-picker.js +1 -0
  17. package/dist/components/inputs/index.d.ts +2 -0
  18. package/dist/components/inputs/public.d.ts +2 -0
  19. package/dist/components/inputs/signature-pad.cjs +1 -0
  20. package/dist/components/inputs/signature-pad.d.ts +36 -0
  21. package/dist/components/inputs/signature-pad.js +1 -0
  22. package/dist/components/layout/app-sidebar.d.ts +9 -2
  23. package/dist/components/layout/controllable-details.cjs +1 -0
  24. package/dist/components/layout/controllable-details.d.ts +9 -0
  25. package/dist/components/layout/controllable-details.js +1 -0
  26. package/dist/components/layout/index.d.ts +0 -4
  27. package/dist/components/layout/public.d.ts +0 -4
  28. package/dist/components/layout/sidebar-nav.d.ts +6 -1
  29. package/dist/components/modern/image-cropper.cjs +1 -0
  30. package/dist/components/modern/image-cropper.d.ts +39 -0
  31. package/dist/components/modern/image-cropper.js +1 -0
  32. package/dist/components/modern/index.d.ts +2 -3
  33. package/dist/components/modern/rich-text-editor.d.ts +17 -3
  34. package/dist/components/navigation/index.d.ts +0 -5
  35. package/dist/components/overlay/confirm-dialog.d.ts +17 -5
  36. package/dist/components/overlay/index.d.ts +0 -3
  37. package/dist/components/patterns/bulk-action-bar.cjs +1 -0
  38. package/dist/components/patterns/bulk-action-bar.d.ts +10 -0
  39. package/dist/components/patterns/bulk-action-bar.js +1 -0
  40. package/dist/components/patterns/data-view.cjs +1 -0
  41. package/dist/components/patterns/data-view.d.ts +17 -0
  42. package/dist/components/patterns/data-view.js +1 -0
  43. package/dist/components/patterns/detail-layout.cjs +1 -0
  44. package/dist/components/patterns/detail-layout.d.ts +16 -0
  45. package/dist/components/patterns/detail-layout.js +1 -0
  46. package/dist/components/patterns/empty-state.cjs +1 -0
  47. package/dist/components/patterns/empty-state.d.ts +22 -0
  48. package/dist/components/patterns/empty-state.js +1 -0
  49. package/dist/components/patterns/index.d.ts +7 -0
  50. package/dist/components/patterns/page-toolbar.cjs +1 -0
  51. package/dist/components/patterns/page-toolbar.d.ts +11 -0
  52. package/dist/components/patterns/page-toolbar.js +1 -0
  53. package/dist/components/patterns/public.d.ts +7 -0
  54. package/dist/components/patterns/settings-page.cjs +1 -0
  55. package/dist/components/patterns/settings-page.d.ts +21 -0
  56. package/dist/components/patterns/settings-page.js +1 -0
  57. package/dist/components/theme-provider.d.ts +4 -1
  58. package/dist/components/ui/accordion/index.d.ts +8 -12
  59. package/dist/components/ui/checkbox/index.d.ts +8 -2
  60. package/dist/components/ui/input/decorator.d.ts +1 -1
  61. package/dist/components/upload/index.d.ts +0 -2
  62. package/dist/index.d.ts +2 -2
  63. package/dist/showcase/package-meta.d.ts +3 -3
  64. package/dist/showcase/premium/color-picker/index.cjs +1 -0
  65. package/dist/showcase/premium/color-picker/index.d.ts +2 -0
  66. package/dist/showcase/premium/color-picker/index.js +1 -0
  67. package/dist/showcase/premium/color-picker/mock.cjs +1 -0
  68. package/dist/showcase/premium/color-picker/mock.d.ts +2 -0
  69. package/dist/showcase/premium/color-picker/mock.js +1 -0
  70. package/dist/showcase/premium/color-picker/showcase.cjs +1 -0
  71. package/dist/showcase/premium/color-picker/showcase.d.ts +2 -0
  72. package/dist/showcase/premium/color-picker/showcase.js +1 -0
  73. package/dist/showcase/premium/image-cropper/index.cjs +1 -0
  74. package/dist/showcase/premium/image-cropper/index.d.ts +2 -0
  75. package/dist/showcase/premium/image-cropper/index.js +1 -0
  76. package/dist/showcase/premium/image-cropper/mock.cjs +1 -0
  77. package/dist/showcase/premium/image-cropper/mock.d.ts +2 -0
  78. package/dist/showcase/premium/image-cropper/mock.js +1 -0
  79. package/dist/showcase/premium/image-cropper/showcase.cjs +1 -0
  80. package/dist/showcase/premium/image-cropper/showcase.d.ts +2 -0
  81. package/dist/showcase/premium/image-cropper/showcase.js +1 -0
  82. package/dist/showcase/premium/qr-code/index.cjs +1 -0
  83. package/dist/showcase/premium/qr-code/index.d.ts +2 -0
  84. package/dist/showcase/premium/qr-code/index.js +1 -0
  85. package/dist/showcase/premium/qr-code/mock.cjs +1 -0
  86. package/dist/showcase/premium/qr-code/mock.d.ts +2 -0
  87. package/dist/showcase/premium/qr-code/mock.js +1 -0
  88. package/dist/showcase/premium/qr-code/showcase.cjs +1 -0
  89. package/dist/showcase/premium/qr-code/showcase.d.ts +2 -0
  90. package/dist/showcase/premium/qr-code/showcase.js +1 -0
  91. package/dist/showcase/premium/rich-text-editor/index.cjs +1 -0
  92. package/dist/showcase/premium/rich-text-editor/index.d.ts +2 -0
  93. package/dist/showcase/premium/rich-text-editor/index.js +1 -0
  94. package/dist/showcase/premium/rich-text-editor/mock.cjs +1 -0
  95. package/dist/showcase/premium/rich-text-editor/mock.d.ts +2 -0
  96. package/dist/showcase/premium/rich-text-editor/mock.js +1 -0
  97. package/dist/showcase/premium/rich-text-editor/showcase.cjs +1 -0
  98. package/dist/showcase/premium/rich-text-editor/showcase.d.ts +2 -0
  99. package/dist/showcase/premium/rich-text-editor/showcase.js +1 -0
  100. package/dist/showcase/premium/signature-pad/index.cjs +1 -0
  101. package/dist/showcase/premium/signature-pad/index.d.ts +2 -0
  102. package/dist/showcase/premium/signature-pad/index.js +1 -0
  103. package/dist/showcase/premium/signature-pad/mock.cjs +1 -0
  104. package/dist/showcase/premium/signature-pad/mock.d.ts +2 -0
  105. package/dist/showcase/premium/signature-pad/mock.js +1 -0
  106. package/dist/showcase/premium/signature-pad/showcase.cjs +1 -0
  107. package/dist/showcase/premium/signature-pad/showcase.d.ts +2 -0
  108. package/dist/showcase/premium/signature-pad/showcase.js +1 -0
  109. package/dist/showcase/premium/statistic/showcase.d.ts +2 -1
  110. package/dist/showcase/preview-compositions.cjs +1 -0
  111. package/dist/showcase/preview-compositions.d.ts +30 -0
  112. package/dist/showcase/preview-compositions.js +1 -0
  113. package/dist/src/components/actions/index.cjs +1 -1
  114. package/dist/src/components/actions/index.js +2 -3
  115. package/dist/src/components/actions/public.cjs +1 -1
  116. package/dist/src/components/actions/public.js +2 -3
  117. package/dist/src/components/charts/index.cjs +1 -1
  118. package/dist/src/components/charts/index.js +2 -4
  119. package/dist/src/components/charts/progress-circle.cjs +1 -0
  120. package/dist/src/components/charts/progress-circle.js +5 -0
  121. package/dist/src/components/data-table/demo.cjs +1 -1
  122. package/dist/src/components/data-table/demo.js +5 -25
  123. package/dist/src/components/data-table/index.cjs +1 -1
  124. package/dist/src/components/data-table/index.js +5 -5
  125. package/dist/src/components/data-table/public.cjs +1 -1
  126. package/dist/src/components/data-table/public.js +2 -7
  127. package/dist/src/components/display/demo.cjs +1 -1
  128. package/dist/src/components/display/demo.js +1 -6
  129. package/dist/src/components/display/index.cjs +1 -1
  130. package/dist/src/components/display/index.js +19 -25
  131. package/dist/src/components/display/info-card.cjs +1 -1
  132. package/dist/src/components/display/info-card.js +30 -19
  133. package/dist/src/components/display/qr-code.cjs +1 -0
  134. package/dist/src/components/display/qr-code.js +74 -0
  135. package/dist/src/components/display/statistic.cjs +1 -1
  136. package/dist/src/components/display/statistic.js +24 -3
  137. package/dist/src/components/display/tag.cjs +1 -1
  138. package/dist/src/components/display/tag.js +13 -8
  139. package/dist/src/components/display/typography.cjs +1 -1
  140. package/dist/src/components/display/typography.js +36 -28
  141. package/dist/src/components/feedback/page-state.cjs +1 -1
  142. package/dist/src/components/feedback/page-state.js +9 -0
  143. package/dist/src/components/form/form-field-shell.cjs +1 -1
  144. package/dist/src/components/form/form-field-shell.js +9 -10
  145. package/dist/src/components/inputs/async-select.cjs +1 -1
  146. package/dist/src/components/inputs/async-select.js +36 -30
  147. package/dist/src/components/inputs/color-picker.cjs +1 -0
  148. package/dist/src/components/inputs/color-picker.js +124 -0
  149. package/dist/src/components/inputs/demo.cjs +1 -1
  150. package/dist/src/components/inputs/demo.js +0 -8
  151. package/dist/src/components/inputs/index.cjs +1 -1
  152. package/dist/src/components/inputs/index.js +3 -1
  153. package/dist/src/components/inputs/public.cjs +1 -1
  154. package/dist/src/components/inputs/public.js +3 -1
  155. package/dist/src/components/inputs/signature-pad.cjs +1 -0
  156. package/dist/src/components/inputs/signature-pad.js +118 -0
  157. package/dist/src/components/layout/app-sidebar.cjs +1 -1
  158. package/dist/src/components/layout/app-sidebar.js +211 -189
  159. package/dist/src/components/layout/controllable-details.cjs +1 -0
  160. package/dist/src/components/layout/controllable-details.js +18 -0
  161. package/dist/src/components/layout/demo.cjs +1 -1
  162. package/dist/src/components/layout/demo.js +1 -5
  163. package/dist/src/components/layout/index.cjs +1 -1
  164. package/dist/src/components/layout/index.js +3 -7
  165. package/dist/src/components/layout/public.cjs +1 -1
  166. package/dist/src/components/layout/public.js +2 -6
  167. package/dist/src/components/layout/sidebar-nav.cjs +1 -1
  168. package/dist/src/components/layout/sidebar-nav.js +105 -84
  169. package/dist/src/components/modern/image-cropper.cjs +1 -0
  170. package/dist/src/components/modern/image-cropper.js +143 -0
  171. package/dist/src/components/modern/index.cjs +1 -1
  172. package/dist/src/components/modern/index.js +6 -7
  173. package/dist/src/components/modern/rich-text-editor.cjs +1 -1
  174. package/dist/src/components/modern/rich-text-editor.js +164 -17
  175. package/dist/src/components/navigation/demo.cjs +1 -1
  176. package/dist/src/components/navigation/demo.js +1 -6
  177. package/dist/src/components/navigation/index.cjs +1 -1
  178. package/dist/src/components/navigation/index.js +2 -7
  179. package/dist/src/components/overlay/confirm-dialog.cjs +1 -1
  180. package/dist/src/components/overlay/confirm-dialog.js +54 -33
  181. package/dist/src/components/overlay/index.cjs +1 -1
  182. package/dist/src/components/overlay/index.js +3 -6
  183. package/dist/src/components/patterns/bulk-action-bar.cjs +1 -0
  184. package/dist/src/components/patterns/bulk-action-bar.js +34 -0
  185. package/dist/src/components/patterns/data-view.cjs +1 -0
  186. package/dist/src/components/patterns/data-view.js +47 -0
  187. package/dist/src/components/patterns/detail-layout.cjs +1 -0
  188. package/dist/src/components/patterns/detail-layout.js +65 -0
  189. package/dist/src/components/patterns/empty-state.cjs +1 -0
  190. package/dist/src/components/patterns/empty-state.js +62 -0
  191. package/dist/src/components/patterns/index.cjs +1 -1
  192. package/dist/src/components/patterns/index.js +10 -3
  193. package/dist/src/components/patterns/page-toolbar.cjs +1 -0
  194. package/dist/src/components/patterns/page-toolbar.js +41 -0
  195. package/dist/src/components/patterns/public.cjs +1 -1
  196. package/dist/src/components/patterns/public.js +10 -3
  197. package/dist/src/components/patterns/resource-detail-page.cjs +1 -1
  198. package/dist/src/components/patterns/resource-detail-page.js +8 -8
  199. package/dist/src/components/patterns/resource-page.cjs +1 -1
  200. package/dist/src/components/patterns/resource-page.js +1 -1
  201. package/dist/src/components/patterns/settings-page.cjs +1 -0
  202. package/dist/src/components/patterns/settings-page.js +64 -0
  203. package/dist/src/components/theme-provider.cjs +1 -1
  204. package/dist/src/components/theme-provider.js +33 -21
  205. package/dist/src/components/ui/accordion/index.cjs +1 -1
  206. package/dist/src/components/ui/accordion/index.js +3 -27
  207. package/dist/src/components/ui/badge/index.cjs +1 -1
  208. package/dist/src/components/ui/badge/index.js +19 -24
  209. package/dist/src/components/ui/button/index.cjs +1 -1
  210. package/dist/src/components/ui/button/index.js +20 -21
  211. package/dist/src/components/ui/card/index.cjs +1 -1
  212. package/dist/src/components/ui/card/index.js +21 -20
  213. package/dist/src/components/ui/checkbox/index.cjs +1 -1
  214. package/dist/src/components/ui/checkbox/index.js +31 -20
  215. package/dist/src/components/ui/dialog/index.cjs +1 -1
  216. package/dist/src/components/ui/dialog/index.js +11 -11
  217. package/dist/src/components/ui/dropdown-menu/index.cjs +1 -1
  218. package/dist/src/components/ui/dropdown-menu/index.js +21 -23
  219. package/dist/src/components/ui/input/group.cjs +1 -1
  220. package/dist/src/components/ui/input/group.js +2 -1
  221. package/dist/src/components/ui/input/index.cjs +1 -1
  222. package/dist/src/components/ui/input/index.js +9 -5
  223. package/dist/src/components/ui/input/password.cjs +1 -1
  224. package/dist/src/components/ui/input/password.js +2 -3
  225. package/dist/src/components/ui/popover/index.cjs +1 -1
  226. package/dist/src/components/ui/popover/index.js +10 -10
  227. package/dist/src/components/ui/select/index.cjs +1 -1
  228. package/dist/src/components/ui/select/index.js +12 -12
  229. package/dist/src/components/ui/tabs/index.cjs +1 -1
  230. package/dist/src/components/ui/tabs/index.js +6 -6
  231. package/dist/src/components/upload/demo.cjs +1 -1
  232. package/dist/src/components/upload/demo.js +1 -5
  233. package/dist/src/components/upload/file-upload.cjs +1 -1
  234. package/dist/src/components/upload/file-upload.js +18 -0
  235. package/dist/src/components/upload/index.cjs +1 -1
  236. package/dist/src/components/upload/index.js +1 -2
  237. package/dist/src/index.cjs +1 -1
  238. package/dist/src/index.js +109 -127
  239. package/dist/src/public-component-surface.cjs +1 -1
  240. package/dist/src/public-component-surface.js +74 -4
  241. package/dist/src/showcase/demo-snippets/actions/index.cjs +6 -6
  242. package/dist/src/showcase/demo-snippets/actions/index.js +1 -1
  243. package/dist/src/showcase/fallback.cjs +3 -3
  244. package/dist/src/showcase/fallback.js +179 -336
  245. package/dist/src/showcase/package-meta.cjs +1 -1
  246. package/dist/src/showcase/package-meta.js +1 -1
  247. package/dist/src/showcase/premium/app-sidebar/mock.cjs +25 -6
  248. package/dist/src/showcase/premium/app-sidebar/mock.js +7 -5
  249. package/dist/src/showcase/premium/app-sidebar/showcase.cjs +1 -1
  250. package/dist/src/showcase/premium/app-sidebar/showcase.js +147 -63
  251. package/dist/src/showcase/premium/{command-bar → color-picker}/index.cjs +1 -1
  252. package/dist/src/showcase/premium/color-picker/index.js +3 -0
  253. package/dist/src/showcase/premium/color-picker/mock.cjs +11 -0
  254. package/dist/src/showcase/premium/color-picker/mock.js +15 -0
  255. package/dist/src/showcase/premium/color-picker/showcase.cjs +1 -0
  256. package/dist/src/showcase/premium/color-picker/showcase.js +21 -0
  257. package/dist/src/showcase/premium/data-table/showcase.cjs +1 -1
  258. package/dist/src/showcase/premium/data-table/showcase.js +6 -6
  259. package/dist/src/showcase/premium/file-upload/mock.cjs +6 -1
  260. package/dist/src/showcase/premium/file-upload/mock.js +3 -2
  261. package/dist/src/showcase/premium/file-upload/showcase.cjs +1 -1
  262. package/dist/src/showcase/premium/file-upload/showcase.js +89 -36
  263. package/dist/src/showcase/premium/{copy-field → image-cropper}/index.cjs +1 -1
  264. package/dist/src/showcase/premium/image-cropper/index.js +3 -0
  265. package/dist/src/showcase/premium/image-cropper/mock.cjs +5 -0
  266. package/dist/src/showcase/premium/image-cropper/mock.js +15 -0
  267. package/dist/src/showcase/premium/image-cropper/showcase.cjs +1 -0
  268. package/dist/src/showcase/premium/image-cropper/showcase.js +21 -0
  269. package/dist/src/showcase/premium/index.cjs +1 -1
  270. package/dist/src/showcase/premium/index.js +352 -498
  271. package/dist/src/showcase/premium/input/mock.cjs +17 -36
  272. package/dist/src/showcase/premium/input/mock.js +3 -2
  273. package/dist/src/showcase/premium/input/showcase.cjs +1 -1
  274. package/dist/src/showcase/premium/input/showcase.js +326 -175
  275. package/dist/src/showcase/premium/page-state/mock.cjs +11 -8
  276. package/dist/src/showcase/premium/page-state/mock.js +5 -5
  277. package/dist/src/showcase/premium/page-state/showcase.cjs +1 -1
  278. package/dist/src/showcase/premium/page-state/showcase.js +59 -31
  279. package/dist/src/showcase/premium/{accordion → qr-code}/index.cjs +1 -1
  280. package/dist/src/showcase/premium/qr-code/index.js +3 -0
  281. package/dist/src/showcase/premium/qr-code/mock.cjs +5 -0
  282. package/dist/src/showcase/premium/qr-code/mock.js +15 -0
  283. package/dist/src/showcase/premium/qr-code/showcase.cjs +1 -0
  284. package/dist/src/showcase/premium/qr-code/showcase.js +22 -0
  285. package/dist/src/showcase/premium/rich-text-editor/index.cjs +1 -0
  286. package/dist/src/showcase/premium/rich-text-editor/index.js +3 -0
  287. package/dist/src/showcase/premium/rich-text-editor/mock.cjs +5 -0
  288. package/dist/src/showcase/premium/rich-text-editor/mock.js +15 -0
  289. package/dist/src/showcase/premium/rich-text-editor/showcase.cjs +1 -0
  290. package/dist/src/showcase/premium/rich-text-editor/showcase.js +20 -0
  291. package/dist/src/showcase/premium/{descriptions → signature-pad}/index.cjs +1 -1
  292. package/dist/src/showcase/premium/signature-pad/index.js +3 -0
  293. package/dist/src/showcase/premium/signature-pad/mock.cjs +10 -0
  294. package/dist/src/showcase/premium/signature-pad/mock.js +15 -0
  295. package/dist/src/showcase/premium/signature-pad/showcase.cjs +1 -0
  296. package/dist/src/showcase/premium/signature-pad/showcase.js +24 -0
  297. package/dist/src/showcase/premium/statistic/mock.cjs +2 -2
  298. package/dist/src/showcase/premium/statistic/mock.js +1 -1
  299. package/dist/src/showcase/premium/statistic/showcase.cjs +1 -1
  300. package/dist/src/showcase/premium/statistic/showcase.js +72 -50
  301. package/dist/src/showcase/premium/tag/showcase.cjs +1 -1
  302. package/dist/src/showcase/premium/tag/showcase.js +82 -13
  303. package/dist/src/showcase/preview-catalog.cjs +1 -2
  304. package/dist/src/showcase/preview-catalog.js +2 -2
  305. package/dist/src/showcase/preview-compositions.cjs +1 -0
  306. package/dist/src/showcase/preview-compositions.js +50 -0
  307. package/dist/src/showcase/registry-quality.cjs +1 -1
  308. package/dist/src/showcase/registry-quality.js +4 -19
  309. package/dist/src/showcase/registry-specific.cjs +1 -1
  310. package/dist/src/showcase/registry-specific.js +272 -430
  311. package/dist/src/showcase/render-registry-preview.cjs +1 -1
  312. package/dist/src/showcase/render-registry-preview.js +233 -338
  313. package/dist/src/showcase/site-data.cjs +1 -1
  314. package/dist/src/showcase/site-data.js +365 -1422
  315. package/dist/src/showcase/tembro-registry.json.cjs +1 -1
  316. package/dist/src/showcase/tembro-registry.json.js +76 -57
  317. package/package.json +16 -7
  318. package/packages/cli/dist/index.cjs +931 -123
  319. package/packages/cli/vendor/src/components/actions/index.ts +0 -1
  320. package/packages/cli/vendor/src/components/actions/public.ts +0 -1
  321. package/packages/cli/vendor/src/components/charts/index.ts +2 -4
  322. package/packages/cli/vendor/src/components/charts/progress-circle.tsx +7 -0
  323. package/packages/cli/vendor/src/components/data-table/demo.tsx +0 -25
  324. package/packages/cli/vendor/src/components/data-table/public.ts +0 -5
  325. package/packages/cli/vendor/src/components/display/demo.tsx +0 -5
  326. package/packages/cli/vendor/src/components/display/index.ts +12 -18
  327. package/packages/cli/vendor/src/components/display/info-card.tsx +35 -27
  328. package/packages/cli/vendor/src/components/display/qr-code.tsx +101 -0
  329. package/packages/cli/vendor/src/components/display/statistic.tsx +14 -12
  330. package/packages/cli/vendor/src/components/display/tag.tsx +18 -11
  331. package/packages/cli/vendor/src/components/display/typography.tsx +12 -14
  332. package/packages/cli/vendor/src/components/display/virtual-list.tsx +18 -16
  333. package/packages/cli/vendor/src/components/feedback/page-state.tsx +9 -5
  334. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +9 -12
  335. package/packages/cli/vendor/src/components/inputs/async-select.tsx +47 -73
  336. package/packages/cli/vendor/src/components/inputs/color-picker.tsx +154 -0
  337. package/packages/cli/vendor/src/components/inputs/demo.tsx +0 -8
  338. package/packages/cli/vendor/src/components/inputs/index.ts +2 -0
  339. package/packages/cli/vendor/src/components/inputs/public.ts +2 -0
  340. package/packages/cli/vendor/src/components/inputs/signature-pad.tsx +192 -0
  341. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +168 -112
  342. package/packages/cli/vendor/src/components/layout/controllable-details.tsx +37 -0
  343. package/packages/cli/vendor/src/components/layout/demo.tsx +0 -2
  344. package/packages/cli/vendor/src/components/layout/index.ts +0 -4
  345. package/packages/cli/vendor/src/components/layout/public.ts +0 -4
  346. package/packages/cli/vendor/src/components/layout/sidebar-nav.tsx +45 -5
  347. package/packages/cli/vendor/src/components/modern/image-cropper.tsx +226 -0
  348. package/packages/cli/vendor/src/components/modern/index.ts +2 -3
  349. package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +170 -29
  350. package/packages/cli/vendor/src/components/navigation/demo.tsx +0 -3
  351. package/packages/cli/vendor/src/components/navigation/index.ts +0 -5
  352. package/packages/cli/vendor/src/components/overlay/confirm-dialog.tsx +84 -30
  353. package/packages/cli/vendor/src/components/overlay/index.ts +0 -3
  354. package/packages/cli/vendor/src/components/patterns/bulk-action-bar.tsx +53 -0
  355. package/packages/cli/vendor/src/components/patterns/data-view.tsx +64 -0
  356. package/packages/cli/vendor/src/components/patterns/detail-layout.tsx +75 -0
  357. package/packages/cli/vendor/src/components/patterns/empty-state.tsx +99 -0
  358. package/packages/cli/vendor/src/components/patterns/index.ts +7 -0
  359. package/packages/cli/vendor/src/components/patterns/page-toolbar.tsx +61 -0
  360. package/packages/cli/vendor/src/components/patterns/public.ts +7 -0
  361. package/packages/cli/vendor/src/components/patterns/resource-detail-page.tsx +59 -55
  362. package/packages/cli/vendor/src/components/patterns/resource-page.tsx +5 -5
  363. package/packages/cli/vendor/src/components/patterns/settings-page.tsx +84 -0
  364. package/packages/cli/vendor/src/components/theme-provider.tsx +36 -9
  365. package/packages/cli/vendor/src/components/ui/accordion/index.tsx +10 -28
  366. package/packages/cli/vendor/src/components/ui/badge/index.tsx +20 -29
  367. package/packages/cli/vendor/src/components/ui/button/index.tsx +19 -23
  368. package/packages/cli/vendor/src/components/ui/card/index.tsx +16 -21
  369. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +50 -28
  370. package/packages/cli/vendor/src/components/ui/command/index.tsx +1 -1
  371. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +7 -13
  372. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +14 -26
  373. package/packages/cli/vendor/src/components/ui/input/decorator.tsx +1 -1
  374. package/packages/cli/vendor/src/components/ui/input/group.tsx +2 -1
  375. package/packages/cli/vendor/src/components/ui/input/index.tsx +15 -19
  376. package/packages/cli/vendor/src/components/ui/input/money.tsx +1 -1
  377. package/packages/cli/vendor/src/components/ui/input/password.tsx +8 -8
  378. package/packages/cli/vendor/src/components/ui/input/quantity.tsx +1 -1
  379. package/packages/cli/vendor/src/components/ui/popover/index.tsx +5 -5
  380. package/packages/cli/vendor/src/components/ui/select/index.tsx +9 -13
  381. package/packages/cli/vendor/src/components/ui/tabs/index.tsx +3 -12
  382. package/packages/cli/vendor/src/components/upload/demo.tsx +0 -1
  383. package/packages/cli/vendor/src/components/upload/file-upload.tsx +16 -14
  384. package/packages/cli/vendor/src/components/upload/index.ts +0 -2
  385. package/packages/cli/vendor/src/index.ts +10 -10
  386. package/packages/cli/vendor/src/public-component-surface.ts +27 -13
  387. package/packages/cli/vendor/src/showcase/demo-snippets/actions/index.ts +6 -6
  388. package/packages/cli/vendor/src/showcase/fallback.tsx +20 -137
  389. package/packages/cli/vendor/src/showcase/package-meta.ts +2 -2
  390. package/packages/cli/vendor/src/showcase/premium/app-sidebar/mock.ts +29 -9
  391. package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +60 -17
  392. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +2 -1
  393. package/packages/cli/vendor/src/showcase/premium/color-picker/index.ts +2 -0
  394. package/packages/cli/vendor/src/showcase/premium/color-picker/mock.ts +21 -0
  395. package/packages/cli/vendor/src/showcase/premium/color-picker/showcase.tsx +14 -0
  396. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +2 -2
  397. package/packages/cli/vendor/src/showcase/premium/file-upload/mock.ts +7 -1
  398. package/packages/cli/vendor/src/showcase/premium/file-upload/showcase.tsx +33 -2
  399. package/packages/cli/vendor/src/showcase/premium/image-cropper/index.ts +2 -0
  400. package/packages/cli/vendor/src/showcase/premium/image-cropper/mock.ts +15 -0
  401. package/packages/cli/vendor/src/showcase/premium/image-cropper/showcase.tsx +14 -0
  402. package/packages/cli/vendor/src/showcase/premium/index.ts +28 -76
  403. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +3 -2
  404. package/packages/cli/vendor/src/showcase/premium/input/showcase.tsx +67 -0
  405. package/packages/cli/vendor/src/showcase/premium/page-state/mock.ts +11 -8
  406. package/packages/cli/vendor/src/showcase/premium/page-state/showcase.tsx +24 -3
  407. package/packages/cli/vendor/src/showcase/premium/qr-code/index.ts +2 -0
  408. package/packages/cli/vendor/src/showcase/premium/qr-code/mock.ts +15 -0
  409. package/packages/cli/vendor/src/showcase/premium/qr-code/showcase.tsx +12 -0
  410. package/packages/cli/vendor/src/showcase/premium/rich-text-editor/index.ts +2 -0
  411. package/packages/cli/vendor/src/showcase/premium/rich-text-editor/mock.ts +15 -0
  412. package/packages/cli/vendor/src/showcase/premium/rich-text-editor/showcase.tsx +12 -0
  413. package/packages/cli/vendor/src/showcase/premium/signature-pad/index.ts +2 -0
  414. package/packages/cli/vendor/src/showcase/premium/signature-pad/mock.ts +20 -0
  415. package/packages/cli/vendor/src/showcase/premium/signature-pad/showcase.tsx +14 -0
  416. package/packages/cli/vendor/src/showcase/premium/statistic/mock.ts +2 -2
  417. package/packages/cli/vendor/src/showcase/premium/statistic/showcase.tsx +22 -7
  418. package/packages/cli/vendor/src/showcase/premium/tag/showcase.tsx +41 -10
  419. package/packages/cli/vendor/src/showcase/premium/typography/showcase.tsx +1 -1
  420. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +2 -2
  421. package/packages/cli/vendor/src/showcase/preview-compositions.tsx +37 -0
  422. package/packages/cli/vendor/src/showcase/registry-quality.ts +8 -25
  423. package/packages/cli/vendor/src/showcase/registry-specific.tsx +31 -132
  424. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +37 -117
  425. package/packages/cli/vendor/src/showcase/site-data.tsx +70 -489
  426. package/packages/cli/vendor/src/showcase/tembro-registry.json +373 -347
  427. package/packages/cli/vendor/templates/styles/globals.css +793 -12
  428. package/registry.json +82 -39
  429. package/dist/components/actions/copy-field.cjs +0 -1
  430. package/dist/components/actions/copy-field.d.ts +0 -11
  431. package/dist/components/actions/copy-field.js +0 -1
  432. package/dist/components/charts/horizontal-bar-chart.cjs +0 -1
  433. package/dist/components/charts/horizontal-bar-chart.d.ts +0 -17
  434. package/dist/components/charts/horizontal-bar-chart.js +0 -1
  435. package/dist/components/charts/kpi.cjs +0 -1
  436. package/dist/components/charts/kpi.d.ts +0 -18
  437. package/dist/components/charts/kpi.js +0 -1
  438. package/dist/components/display/comparison-card.cjs +0 -1
  439. package/dist/components/display/comparison-card.d.ts +0 -15
  440. package/dist/components/display/comparison-card.js +0 -1
  441. package/dist/components/display/data-list.cjs +0 -1
  442. package/dist/components/display/data-list.d.ts +0 -25
  443. package/dist/components/display/data-list.js +0 -1
  444. package/dist/components/display/delta-badge.cjs +0 -1
  445. package/dist/components/display/delta-badge.d.ts +0 -10
  446. package/dist/components/display/delta-badge.js +0 -1
  447. package/dist/components/display/descriptions.cjs +0 -1
  448. package/dist/components/display/descriptions.d.ts +0 -19
  449. package/dist/components/display/descriptions.js +0 -1
  450. package/dist/components/display/metric-grid.cjs +0 -1
  451. package/dist/components/display/metric-grid.d.ts +0 -23
  452. package/dist/components/display/metric-grid.js +0 -1
  453. package/dist/components/display/progress-circle.cjs +0 -1
  454. package/dist/components/display/progress-circle.d.ts +0 -8
  455. package/dist/components/display/progress-circle.js +0 -1
  456. package/dist/components/display/property-grid.cjs +0 -1
  457. package/dist/components/display/property-grid.d.ts +0 -15
  458. package/dist/components/display/property-grid.js +0 -1
  459. package/dist/components/display/result.cjs +0 -1
  460. package/dist/components/display/result.d.ts +0 -18
  461. package/dist/components/display/result.js +0 -1
  462. package/dist/components/display/trend-card.cjs +0 -1
  463. package/dist/components/display/trend-card.d.ts +0 -13
  464. package/dist/components/display/trend-card.js +0 -1
  465. package/dist/components/display/user-card.cjs +0 -1
  466. package/dist/components/display/user-card.d.ts +0 -12
  467. package/dist/components/display/user-card.js +0 -1
  468. package/dist/components/layout/stat-card.cjs +0 -1
  469. package/dist/components/layout/stat-card.d.ts +0 -32
  470. package/dist/components/layout/stat-card.js +0 -1
  471. package/dist/components/modern/tour.cjs +0 -1
  472. package/dist/components/modern/tour.d.ts +0 -14
  473. package/dist/components/modern/tour.js +0 -1
  474. package/dist/components/navigation/anchor-nav.cjs +0 -1
  475. package/dist/components/navigation/anchor-nav.d.ts +0 -15
  476. package/dist/components/navigation/anchor-nav.js +0 -1
  477. package/dist/components/navigation/command-bar.cjs +0 -1
  478. package/dist/components/navigation/command-bar.d.ts +0 -10
  479. package/dist/components/navigation/command-bar.js +0 -1
  480. package/dist/components/navigation/nav-tabs.cjs +0 -1
  481. package/dist/components/navigation/nav-tabs.d.ts +0 -17
  482. package/dist/components/navigation/nav-tabs.js +0 -1
  483. package/dist/components/navigation/page-tabs.cjs +0 -1
  484. package/dist/components/navigation/page-tabs.d.ts +0 -18
  485. package/dist/components/navigation/page-tabs.js +0 -1
  486. package/dist/components/navigation/stepper-tabs.cjs +0 -1
  487. package/dist/components/navigation/stepper-tabs.d.ts +0 -19
  488. package/dist/components/navigation/stepper-tabs.js +0 -1
  489. package/dist/components/overlay/dialog-actions.cjs +0 -1
  490. package/dist/components/overlay/dialog-actions.d.ts +0 -14
  491. package/dist/components/overlay/dialog-actions.js +0 -1
  492. package/dist/components/overlay/modal-shell.cjs +0 -1
  493. package/dist/components/overlay/modal-shell.d.ts +0 -20
  494. package/dist/components/overlay/modal-shell.js +0 -1
  495. package/dist/components/overlay/sheet-shell.cjs +0 -1
  496. package/dist/components/overlay/sheet-shell.d.ts +0 -34
  497. package/dist/components/overlay/sheet-shell.js +0 -1
  498. package/dist/components/ui/hover-card.cjs +0 -1
  499. package/dist/components/ui/hover-card.d.ts +0 -17
  500. package/dist/components/ui/hover-card.js +0 -1
  501. package/dist/components/ui/input-group/index.cjs +0 -1
  502. package/dist/components/ui/input-group/index.d.ts +0 -1
  503. package/dist/components/ui/input-group/index.js +0 -1
  504. package/dist/components/ui/input-primitive/index.cjs +0 -1
  505. package/dist/components/ui/input-primitive/index.d.ts +0 -2
  506. package/dist/components/ui/input-primitive/index.js +0 -1
  507. package/dist/components/upload/file-dropzone.cjs +0 -1
  508. package/dist/components/upload/file-dropzone.d.ts +0 -10
  509. package/dist/components/upload/file-dropzone.js +0 -1
  510. package/dist/showcase/premium/accordion/index.cjs +0 -1
  511. package/dist/showcase/premium/accordion/index.d.ts +0 -2
  512. package/dist/showcase/premium/accordion/index.js +0 -1
  513. package/dist/showcase/premium/accordion/mock.cjs +0 -1
  514. package/dist/showcase/premium/accordion/mock.d.ts +0 -2
  515. package/dist/showcase/premium/accordion/mock.js +0 -1
  516. package/dist/showcase/premium/accordion/showcase.cjs +0 -1
  517. package/dist/showcase/premium/accordion/showcase.d.ts +0 -2
  518. package/dist/showcase/premium/accordion/showcase.js +0 -1
  519. package/dist/showcase/premium/app-shell/index.cjs +0 -1
  520. package/dist/showcase/premium/app-shell/index.d.ts +0 -2
  521. package/dist/showcase/premium/app-shell/index.js +0 -1
  522. package/dist/showcase/premium/app-shell/mock.cjs +0 -1
  523. package/dist/showcase/premium/app-shell/mock.d.ts +0 -2
  524. package/dist/showcase/premium/app-shell/mock.js +0 -1
  525. package/dist/showcase/premium/app-shell/showcase.cjs +0 -1
  526. package/dist/showcase/premium/app-shell/showcase.d.ts +0 -3
  527. package/dist/showcase/premium/app-shell/showcase.js +0 -1
  528. package/dist/showcase/premium/clearable-input/index.cjs +0 -1
  529. package/dist/showcase/premium/clearable-input/index.d.ts +0 -2
  530. package/dist/showcase/premium/clearable-input/index.js +0 -1
  531. package/dist/showcase/premium/clearable-input/mock.cjs +0 -1
  532. package/dist/showcase/premium/clearable-input/mock.d.ts +0 -2
  533. package/dist/showcase/premium/clearable-input/mock.js +0 -1
  534. package/dist/showcase/premium/clearable-input/showcase.cjs +0 -1
  535. package/dist/showcase/premium/clearable-input/showcase.d.ts +0 -3
  536. package/dist/showcase/premium/clearable-input/showcase.js +0 -1
  537. package/dist/showcase/premium/combobox/index.cjs +0 -1
  538. package/dist/showcase/premium/combobox/index.d.ts +0 -2
  539. package/dist/showcase/premium/combobox/index.js +0 -1
  540. package/dist/showcase/premium/combobox/mock.cjs +0 -1
  541. package/dist/showcase/premium/combobox/mock.d.ts +0 -2
  542. package/dist/showcase/premium/combobox/mock.js +0 -1
  543. package/dist/showcase/premium/combobox/showcase.cjs +0 -1
  544. package/dist/showcase/premium/combobox/showcase.d.ts +0 -3
  545. package/dist/showcase/premium/combobox/showcase.js +0 -1
  546. package/dist/showcase/premium/command-bar/index.cjs +0 -1
  547. package/dist/showcase/premium/command-bar/index.d.ts +0 -2
  548. package/dist/showcase/premium/command-bar/index.js +0 -1
  549. package/dist/showcase/premium/command-bar/mock.cjs +0 -1
  550. package/dist/showcase/premium/command-bar/mock.d.ts +0 -2
  551. package/dist/showcase/premium/command-bar/mock.js +0 -1
  552. package/dist/showcase/premium/command-bar/showcase.cjs +0 -1
  553. package/dist/showcase/premium/command-bar/showcase.d.ts +0 -2
  554. package/dist/showcase/premium/command-bar/showcase.js +0 -1
  555. package/dist/showcase/premium/copy-field/index.cjs +0 -1
  556. package/dist/showcase/premium/copy-field/index.d.ts +0 -2
  557. package/dist/showcase/premium/copy-field/index.js +0 -1
  558. package/dist/showcase/premium/copy-field/mock.cjs +0 -1
  559. package/dist/showcase/premium/copy-field/mock.d.ts +0 -2
  560. package/dist/showcase/premium/copy-field/mock.js +0 -1
  561. package/dist/showcase/premium/copy-field/showcase.cjs +0 -1
  562. package/dist/showcase/premium/copy-field/showcase.d.ts +0 -2
  563. package/dist/showcase/premium/copy-field/showcase.js +0 -1
  564. package/dist/showcase/premium/data-table-parts/data.cjs +0 -1
  565. package/dist/showcase/premium/data-table-parts/data.d.ts +0 -27
  566. package/dist/showcase/premium/data-table-parts/data.js +0 -1
  567. package/dist/showcase/premium/data-table-parts/index.cjs +0 -1
  568. package/dist/showcase/premium/data-table-parts/index.d.ts +0 -2
  569. package/dist/showcase/premium/data-table-parts/index.js +0 -1
  570. package/dist/showcase/premium/data-table-parts/mock.cjs +0 -1
  571. package/dist/showcase/premium/data-table-parts/mock.d.ts +0 -7
  572. package/dist/showcase/premium/data-table-parts/mock.js +0 -1
  573. package/dist/showcase/premium/data-table-parts/showcase.cjs +0 -1
  574. package/dist/showcase/premium/data-table-parts/showcase.d.ts +0 -6
  575. package/dist/showcase/premium/data-table-parts/showcase.js +0 -1
  576. package/dist/showcase/premium/date-input/index.cjs +0 -1
  577. package/dist/showcase/premium/date-input/index.d.ts +0 -2
  578. package/dist/showcase/premium/date-input/index.js +0 -1
  579. package/dist/showcase/premium/date-input/mock.cjs +0 -1
  580. package/dist/showcase/premium/date-input/mock.d.ts +0 -2
  581. package/dist/showcase/premium/date-input/mock.js +0 -1
  582. package/dist/showcase/premium/date-input/showcase.cjs +0 -1
  583. package/dist/showcase/premium/date-input/showcase.d.ts +0 -2
  584. package/dist/showcase/premium/date-input/showcase.js +0 -1
  585. package/dist/showcase/premium/date-range-input/index.cjs +0 -1
  586. package/dist/showcase/premium/date-range-input/index.d.ts +0 -2
  587. package/dist/showcase/premium/date-range-input/index.js +0 -1
  588. package/dist/showcase/premium/date-range-input/mock.cjs +0 -1
  589. package/dist/showcase/premium/date-range-input/mock.d.ts +0 -2
  590. package/dist/showcase/premium/date-range-input/mock.js +0 -1
  591. package/dist/showcase/premium/date-range-input/showcase.cjs +0 -1
  592. package/dist/showcase/premium/date-range-input/showcase.d.ts +0 -2
  593. package/dist/showcase/premium/date-range-input/showcase.js +0 -1
  594. package/dist/showcase/premium/descriptions/index.cjs +0 -1
  595. package/dist/showcase/premium/descriptions/index.d.ts +0 -2
  596. package/dist/showcase/premium/descriptions/index.js +0 -1
  597. package/dist/showcase/premium/descriptions/mock.cjs +0 -1
  598. package/dist/showcase/premium/descriptions/mock.d.ts +0 -2
  599. package/dist/showcase/premium/descriptions/mock.js +0 -1
  600. package/dist/showcase/premium/descriptions/showcase.cjs +0 -1
  601. package/dist/showcase/premium/descriptions/showcase.d.ts +0 -2
  602. package/dist/showcase/premium/descriptions/showcase.js +0 -1
  603. package/dist/showcase/premium/hover-card/index.cjs +0 -1
  604. package/dist/showcase/premium/hover-card/index.d.ts +0 -2
  605. package/dist/showcase/premium/hover-card/index.js +0 -1
  606. package/dist/showcase/premium/hover-card/mock.cjs +0 -1
  607. package/dist/showcase/premium/hover-card/mock.d.ts +0 -2
  608. package/dist/showcase/premium/hover-card/mock.js +0 -1
  609. package/dist/showcase/premium/hover-card/showcase.cjs +0 -1
  610. package/dist/showcase/premium/hover-card/showcase.d.ts +0 -2
  611. package/dist/showcase/premium/hover-card/showcase.js +0 -1
  612. package/dist/showcase/premium/masked-input/index.cjs +0 -1
  613. package/dist/showcase/premium/masked-input/index.d.ts +0 -2
  614. package/dist/showcase/premium/masked-input/index.js +0 -1
  615. package/dist/showcase/premium/masked-input/mock.cjs +0 -1
  616. package/dist/showcase/premium/masked-input/mock.d.ts +0 -2
  617. package/dist/showcase/premium/masked-input/mock.js +0 -1
  618. package/dist/showcase/premium/masked-input/showcase.cjs +0 -1
  619. package/dist/showcase/premium/masked-input/showcase.d.ts +0 -2
  620. package/dist/showcase/premium/masked-input/showcase.js +0 -1
  621. package/dist/showcase/premium/metric-grid/index.cjs +0 -1
  622. package/dist/showcase/premium/metric-grid/index.d.ts +0 -2
  623. package/dist/showcase/premium/metric-grid/index.js +0 -1
  624. package/dist/showcase/premium/metric-grid/mock.cjs +0 -1
  625. package/dist/showcase/premium/metric-grid/mock.d.ts +0 -2
  626. package/dist/showcase/premium/metric-grid/mock.js +0 -1
  627. package/dist/showcase/premium/metric-grid/showcase.cjs +0 -1
  628. package/dist/showcase/premium/metric-grid/showcase.d.ts +0 -3
  629. package/dist/showcase/premium/metric-grid/showcase.js +0 -1
  630. package/dist/showcase/premium/modal-shell/index.cjs +0 -1
  631. package/dist/showcase/premium/modal-shell/index.d.ts +0 -2
  632. package/dist/showcase/premium/modal-shell/index.js +0 -1
  633. package/dist/showcase/premium/modal-shell/mock.cjs +0 -1
  634. package/dist/showcase/premium/modal-shell/mock.d.ts +0 -2
  635. package/dist/showcase/premium/modal-shell/mock.js +0 -1
  636. package/dist/showcase/premium/modal-shell/showcase.cjs +0 -1
  637. package/dist/showcase/premium/modal-shell/showcase.d.ts +0 -3
  638. package/dist/showcase/premium/modal-shell/showcase.js +0 -1
  639. package/dist/showcase/premium/money-input/index.cjs +0 -1
  640. package/dist/showcase/premium/money-input/index.d.ts +0 -2
  641. package/dist/showcase/premium/money-input/index.js +0 -1
  642. package/dist/showcase/premium/money-input/mock.cjs +0 -1
  643. package/dist/showcase/premium/money-input/mock.d.ts +0 -2
  644. package/dist/showcase/premium/money-input/mock.js +0 -1
  645. package/dist/showcase/premium/money-input/showcase.cjs +0 -1
  646. package/dist/showcase/premium/money-input/showcase.d.ts +0 -1
  647. package/dist/showcase/premium/money-input/showcase.js +0 -1
  648. package/dist/showcase/premium/number-input/index.cjs +0 -1
  649. package/dist/showcase/premium/number-input/index.d.ts +0 -2
  650. package/dist/showcase/premium/number-input/index.js +0 -1
  651. package/dist/showcase/premium/number-input/mock.cjs +0 -1
  652. package/dist/showcase/premium/number-input/mock.d.ts +0 -2
  653. package/dist/showcase/premium/number-input/mock.js +0 -1
  654. package/dist/showcase/premium/number-input/showcase.cjs +0 -1
  655. package/dist/showcase/premium/number-input/showcase.d.ts +0 -1
  656. package/dist/showcase/premium/number-input/showcase.js +0 -1
  657. package/dist/showcase/premium/page-container/index.cjs +0 -1
  658. package/dist/showcase/premium/page-container/index.d.ts +0 -2
  659. package/dist/showcase/premium/page-container/index.js +0 -1
  660. package/dist/showcase/premium/page-container/mock.cjs +0 -1
  661. package/dist/showcase/premium/page-container/mock.d.ts +0 -2
  662. package/dist/showcase/premium/page-container/mock.js +0 -1
  663. package/dist/showcase/premium/page-container/showcase.cjs +0 -1
  664. package/dist/showcase/premium/page-container/showcase.d.ts +0 -3
  665. package/dist/showcase/premium/page-container/showcase.js +0 -1
  666. package/dist/showcase/premium/page-header/index.cjs +0 -1
  667. package/dist/showcase/premium/page-header/index.d.ts +0 -2
  668. package/dist/showcase/premium/page-header/index.js +0 -1
  669. package/dist/showcase/premium/page-header/mock.cjs +0 -1
  670. package/dist/showcase/premium/page-header/mock.d.ts +0 -2
  671. package/dist/showcase/premium/page-header/mock.js +0 -1
  672. package/dist/showcase/premium/page-header/showcase.cjs +0 -1
  673. package/dist/showcase/premium/page-header/showcase.d.ts +0 -3
  674. package/dist/showcase/premium/page-header/showcase.js +0 -1
  675. package/dist/showcase/premium/page-tabs/index.cjs +0 -1
  676. package/dist/showcase/premium/page-tabs/index.d.ts +0 -2
  677. package/dist/showcase/premium/page-tabs/index.js +0 -1
  678. package/dist/showcase/premium/page-tabs/mock.cjs +0 -1
  679. package/dist/showcase/premium/page-tabs/mock.d.ts +0 -2
  680. package/dist/showcase/premium/page-tabs/mock.js +0 -1
  681. package/dist/showcase/premium/page-tabs/showcase.cjs +0 -1
  682. package/dist/showcase/premium/page-tabs/showcase.d.ts +0 -3
  683. package/dist/showcase/premium/page-tabs/showcase.js +0 -1
  684. package/dist/showcase/premium/password-input/index.cjs +0 -1
  685. package/dist/showcase/premium/password-input/index.d.ts +0 -2
  686. package/dist/showcase/premium/password-input/index.js +0 -1
  687. package/dist/showcase/premium/password-input/mock.cjs +0 -1
  688. package/dist/showcase/premium/password-input/mock.d.ts +0 -2
  689. package/dist/showcase/premium/password-input/mock.js +0 -1
  690. package/dist/showcase/premium/password-input/showcase.cjs +0 -1
  691. package/dist/showcase/premium/password-input/showcase.d.ts +0 -3
  692. package/dist/showcase/premium/password-input/showcase.js +0 -1
  693. package/dist/showcase/premium/phone-input/index.cjs +0 -1
  694. package/dist/showcase/premium/phone-input/index.d.ts +0 -2
  695. package/dist/showcase/premium/phone-input/index.js +0 -1
  696. package/dist/showcase/premium/phone-input/mock.cjs +0 -1
  697. package/dist/showcase/premium/phone-input/mock.d.ts +0 -2
  698. package/dist/showcase/premium/phone-input/mock.js +0 -1
  699. package/dist/showcase/premium/phone-input/showcase.cjs +0 -1
  700. package/dist/showcase/premium/phone-input/showcase.d.ts +0 -2
  701. package/dist/showcase/premium/phone-input/showcase.js +0 -1
  702. package/dist/showcase/premium/property-grid/index.cjs +0 -1
  703. package/dist/showcase/premium/property-grid/index.d.ts +0 -2
  704. package/dist/showcase/premium/property-grid/index.js +0 -1
  705. package/dist/showcase/premium/property-grid/mock.cjs +0 -1
  706. package/dist/showcase/premium/property-grid/mock.d.ts +0 -2
  707. package/dist/showcase/premium/property-grid/mock.js +0 -1
  708. package/dist/showcase/premium/property-grid/showcase.cjs +0 -1
  709. package/dist/showcase/premium/property-grid/showcase.d.ts +0 -1
  710. package/dist/showcase/premium/property-grid/showcase.js +0 -1
  711. package/dist/showcase/premium/quantity-input/index.cjs +0 -1
  712. package/dist/showcase/premium/quantity-input/index.d.ts +0 -2
  713. package/dist/showcase/premium/quantity-input/index.js +0 -1
  714. package/dist/showcase/premium/quantity-input/mock.cjs +0 -1
  715. package/dist/showcase/premium/quantity-input/mock.d.ts +0 -2
  716. package/dist/showcase/premium/quantity-input/mock.js +0 -1
  717. package/dist/showcase/premium/quantity-input/showcase.cjs +0 -1
  718. package/dist/showcase/premium/quantity-input/showcase.d.ts +0 -1
  719. package/dist/showcase/premium/quantity-input/showcase.js +0 -1
  720. package/dist/showcase/premium/result/index.cjs +0 -1
  721. package/dist/showcase/premium/result/index.d.ts +0 -2
  722. package/dist/showcase/premium/result/index.js +0 -1
  723. package/dist/showcase/premium/result/mock.cjs +0 -1
  724. package/dist/showcase/premium/result/mock.d.ts +0 -2
  725. package/dist/showcase/premium/result/mock.js +0 -1
  726. package/dist/showcase/premium/result/showcase.cjs +0 -1
  727. package/dist/showcase/premium/result/showcase.d.ts +0 -3
  728. package/dist/showcase/premium/result/showcase.js +0 -1
  729. package/dist/showcase/premium/search-input/index.cjs +0 -1
  730. package/dist/showcase/premium/search-input/index.d.ts +0 -2
  731. package/dist/showcase/premium/search-input/index.js +0 -1
  732. package/dist/showcase/premium/search-input/mock.cjs +0 -1
  733. package/dist/showcase/premium/search-input/mock.d.ts +0 -2
  734. package/dist/showcase/premium/search-input/mock.js +0 -1
  735. package/dist/showcase/premium/search-input/showcase.cjs +0 -1
  736. package/dist/showcase/premium/search-input/showcase.d.ts +0 -3
  737. package/dist/showcase/premium/search-input/showcase.js +0 -1
  738. package/dist/showcase/premium/sheet-shell/index.cjs +0 -1
  739. package/dist/showcase/premium/sheet-shell/index.d.ts +0 -2
  740. package/dist/showcase/premium/sheet-shell/index.js +0 -1
  741. package/dist/showcase/premium/sheet-shell/mock.cjs +0 -1
  742. package/dist/showcase/premium/sheet-shell/mock.d.ts +0 -2
  743. package/dist/showcase/premium/sheet-shell/mock.js +0 -1
  744. package/dist/showcase/premium/sheet-shell/showcase.cjs +0 -1
  745. package/dist/showcase/premium/sheet-shell/showcase.d.ts +0 -2
  746. package/dist/showcase/premium/sheet-shell/showcase.js +0 -1
  747. package/dist/showcase/premium/sidebar-nav/index.cjs +0 -1
  748. package/dist/showcase/premium/sidebar-nav/index.d.ts +0 -2
  749. package/dist/showcase/premium/sidebar-nav/index.js +0 -1
  750. package/dist/showcase/premium/sidebar-nav/mock.cjs +0 -1
  751. package/dist/showcase/premium/sidebar-nav/mock.d.ts +0 -2
  752. package/dist/showcase/premium/sidebar-nav/mock.js +0 -1
  753. package/dist/showcase/premium/sidebar-nav/showcase.cjs +0 -1
  754. package/dist/showcase/premium/sidebar-nav/showcase.d.ts +0 -3
  755. package/dist/showcase/premium/sidebar-nav/showcase.js +0 -1
  756. package/dist/showcase/premium/simple-select/index.cjs +0 -1
  757. package/dist/showcase/premium/simple-select/index.d.ts +0 -2
  758. package/dist/showcase/premium/simple-select/index.js +0 -1
  759. package/dist/showcase/premium/simple-select/mock.cjs +0 -1
  760. package/dist/showcase/premium/simple-select/mock.d.ts +0 -2
  761. package/dist/showcase/premium/simple-select/mock.js +0 -1
  762. package/dist/showcase/premium/simple-select/showcase.cjs +0 -1
  763. package/dist/showcase/premium/simple-select/showcase.d.ts +0 -2
  764. package/dist/showcase/premium/simple-select/showcase.js +0 -1
  765. package/dist/showcase/premium/sticky-footer-bar/index.cjs +0 -1
  766. package/dist/showcase/premium/sticky-footer-bar/index.d.ts +0 -2
  767. package/dist/showcase/premium/sticky-footer-bar/index.js +0 -1
  768. package/dist/showcase/premium/sticky-footer-bar/mock.cjs +0 -1
  769. package/dist/showcase/premium/sticky-footer-bar/mock.d.ts +0 -2
  770. package/dist/showcase/premium/sticky-footer-bar/mock.js +0 -1
  771. package/dist/showcase/premium/sticky-footer-bar/showcase.cjs +0 -1
  772. package/dist/showcase/premium/sticky-footer-bar/showcase.d.ts +0 -1
  773. package/dist/showcase/premium/sticky-footer-bar/showcase.js +0 -1
  774. package/dist/src/components/actions/copy-field.cjs +0 -1
  775. package/dist/src/components/actions/copy-field.js +0 -35
  776. package/dist/src/components/charts/horizontal-bar-chart.cjs +0 -1
  777. package/dist/src/components/charts/horizontal-bar-chart.js +0 -50
  778. package/dist/src/components/charts/kpi.cjs +0 -1
  779. package/dist/src/components/charts/kpi.js +0 -59
  780. package/dist/src/components/display/comparison-card.cjs +0 -1
  781. package/dist/src/components/display/comparison-card.js +0 -20
  782. package/dist/src/components/display/data-list.cjs +0 -1
  783. package/dist/src/components/display/data-list.js +0 -68
  784. package/dist/src/components/display/delta-badge.cjs +0 -1
  785. package/dist/src/components/display/delta-badge.js +0 -20
  786. package/dist/src/components/display/descriptions.cjs +0 -1
  787. package/dist/src/components/display/descriptions.js +0 -38
  788. package/dist/src/components/display/metric-grid.cjs +0 -1
  789. package/dist/src/components/display/metric-grid.js +0 -58
  790. package/dist/src/components/display/progress-circle.cjs +0 -1
  791. package/dist/src/components/display/progress-circle.js +0 -21
  792. package/dist/src/components/display/property-grid.cjs +0 -1
  793. package/dist/src/components/display/property-grid.js +0 -31
  794. package/dist/src/components/display/result.cjs +0 -1
  795. package/dist/src/components/display/result.js +0 -71
  796. package/dist/src/components/display/trend-card.cjs +0 -1
  797. package/dist/src/components/display/trend-card.js +0 -48
  798. package/dist/src/components/display/user-card.cjs +0 -1
  799. package/dist/src/components/display/user-card.js +0 -42
  800. package/dist/src/components/layout/stat-card.cjs +0 -1
  801. package/dist/src/components/layout/stat-card.js +0 -113
  802. package/dist/src/components/modern/tour.cjs +0 -1
  803. package/dist/src/components/modern/tour.js +0 -44
  804. package/dist/src/components/navigation/anchor-nav.cjs +0 -1
  805. package/dist/src/components/navigation/anchor-nav.js +0 -26
  806. package/dist/src/components/navigation/command-bar.cjs +0 -1
  807. package/dist/src/components/navigation/command-bar.js +0 -17
  808. package/dist/src/components/navigation/nav-tabs.cjs +0 -1
  809. package/dist/src/components/navigation/nav-tabs.js +0 -51
  810. package/dist/src/components/navigation/page-tabs.cjs +0 -1
  811. package/dist/src/components/navigation/page-tabs.js +0 -50
  812. package/dist/src/components/navigation/stepper-tabs.cjs +0 -1
  813. package/dist/src/components/navigation/stepper-tabs.js +0 -41
  814. package/dist/src/components/overlay/dialog-actions.cjs +0 -1
  815. package/dist/src/components/overlay/dialog-actions.js +0 -33
  816. package/dist/src/components/overlay/modal-shell.cjs +0 -1
  817. package/dist/src/components/overlay/modal-shell.js +0 -44
  818. package/dist/src/components/overlay/sheet-shell.cjs +0 -1
  819. package/dist/src/components/overlay/sheet-shell.js +0 -116
  820. package/dist/src/components/ui/hover-card.cjs +0 -1
  821. package/dist/src/components/ui/hover-card.js +0 -37
  822. package/dist/src/components/ui/input-group/index.cjs +0 -1
  823. package/dist/src/components/ui/input-group/index.js +0 -2
  824. package/dist/src/components/ui/input-primitive/index.cjs +0 -1
  825. package/dist/src/components/ui/input-primitive/index.js +0 -2
  826. package/dist/src/components/upload/file-dropzone.cjs +0 -1
  827. package/dist/src/components/upload/file-dropzone.js +0 -36
  828. package/dist/src/showcase/premium/accordion/index.js +0 -3
  829. package/dist/src/showcase/premium/accordion/mock.cjs +0 -23
  830. package/dist/src/showcase/premium/accordion/mock.js +0 -28
  831. package/dist/src/showcase/premium/accordion/showcase.cjs +0 -1
  832. package/dist/src/showcase/premium/accordion/showcase.js +0 -172
  833. package/dist/src/showcase/premium/app-shell/index.cjs +0 -1
  834. package/dist/src/showcase/premium/app-shell/index.js +0 -3
  835. package/dist/src/showcase/premium/app-shell/mock.cjs +0 -48
  836. package/dist/src/showcase/premium/app-shell/mock.js +0 -38
  837. package/dist/src/showcase/premium/app-shell/showcase.cjs +0 -1
  838. package/dist/src/showcase/premium/app-shell/showcase.js +0 -208
  839. package/dist/src/showcase/premium/clearable-input/index.cjs +0 -1
  840. package/dist/src/showcase/premium/clearable-input/index.js +0 -3
  841. package/dist/src/showcase/premium/clearable-input/mock.cjs +0 -16
  842. package/dist/src/showcase/premium/clearable-input/mock.js +0 -32
  843. package/dist/src/showcase/premium/clearable-input/showcase.cjs +0 -1
  844. package/dist/src/showcase/premium/clearable-input/showcase.js +0 -94
  845. package/dist/src/showcase/premium/combobox/index.cjs +0 -1
  846. package/dist/src/showcase/premium/combobox/index.js +0 -3
  847. package/dist/src/showcase/premium/combobox/mock.cjs +0 -29
  848. package/dist/src/showcase/premium/combobox/mock.js +0 -39
  849. package/dist/src/showcase/premium/combobox/showcase.cjs +0 -1
  850. package/dist/src/showcase/premium/combobox/showcase.js +0 -157
  851. package/dist/src/showcase/premium/command-bar/index.js +0 -3
  852. package/dist/src/showcase/premium/command-bar/mock.cjs +0 -11
  853. package/dist/src/showcase/premium/command-bar/mock.js +0 -26
  854. package/dist/src/showcase/premium/command-bar/showcase.cjs +0 -1
  855. package/dist/src/showcase/premium/command-bar/showcase.js +0 -107
  856. package/dist/src/showcase/premium/copy-field/index.js +0 -3
  857. package/dist/src/showcase/premium/copy-field/mock.cjs +0 -11
  858. package/dist/src/showcase/premium/copy-field/mock.js +0 -26
  859. package/dist/src/showcase/premium/copy-field/showcase.cjs +0 -1
  860. package/dist/src/showcase/premium/copy-field/showcase.js +0 -85
  861. package/dist/src/showcase/premium/data-table-parts/data.cjs +0 -1
  862. package/dist/src/showcase/premium/data-table-parts/data.js +0 -127
  863. package/dist/src/showcase/premium/data-table-parts/index.cjs +0 -1
  864. package/dist/src/showcase/premium/data-table-parts/index.js +0 -3
  865. package/dist/src/showcase/premium/data-table-parts/mock.cjs +0 -1
  866. package/dist/src/showcase/premium/data-table-parts/mock.js +0 -30
  867. package/dist/src/showcase/premium/data-table-parts/showcase.cjs +0 -1
  868. package/dist/src/showcase/premium/data-table-parts/showcase.js +0 -256
  869. package/dist/src/showcase/premium/date-input/index.cjs +0 -1
  870. package/dist/src/showcase/premium/date-input/index.js +0 -3
  871. package/dist/src/showcase/premium/date-input/mock.cjs +0 -17
  872. package/dist/src/showcase/premium/date-input/mock.js +0 -43
  873. package/dist/src/showcase/premium/date-input/showcase.cjs +0 -1
  874. package/dist/src/showcase/premium/date-input/showcase.js +0 -29
  875. package/dist/src/showcase/premium/date-range-input/index.cjs +0 -1
  876. package/dist/src/showcase/premium/date-range-input/index.js +0 -3
  877. package/dist/src/showcase/premium/date-range-input/mock.cjs +0 -17
  878. package/dist/src/showcase/premium/date-range-input/mock.js +0 -43
  879. package/dist/src/showcase/premium/date-range-input/showcase.cjs +0 -1
  880. package/dist/src/showcase/premium/date-range-input/showcase.js +0 -40
  881. package/dist/src/showcase/premium/descriptions/index.js +0 -3
  882. package/dist/src/showcase/premium/descriptions/mock.cjs +0 -16
  883. package/dist/src/showcase/premium/descriptions/mock.js +0 -19
  884. package/dist/src/showcase/premium/descriptions/showcase.cjs +0 -1
  885. package/dist/src/showcase/premium/descriptions/showcase.js +0 -85
  886. package/dist/src/showcase/premium/hover-card/index.cjs +0 -1
  887. package/dist/src/showcase/premium/hover-card/index.js +0 -3
  888. package/dist/src/showcase/premium/hover-card/mock.cjs +0 -10
  889. package/dist/src/showcase/premium/hover-card/mock.js +0 -39
  890. package/dist/src/showcase/premium/hover-card/showcase.cjs +0 -1
  891. package/dist/src/showcase/premium/hover-card/showcase.js +0 -123
  892. package/dist/src/showcase/premium/masked-input/index.cjs +0 -1
  893. package/dist/src/showcase/premium/masked-input/index.js +0 -3
  894. package/dist/src/showcase/premium/masked-input/mock.cjs +0 -17
  895. package/dist/src/showcase/premium/masked-input/mock.js +0 -43
  896. package/dist/src/showcase/premium/masked-input/showcase.cjs +0 -1
  897. package/dist/src/showcase/premium/masked-input/showcase.js +0 -33
  898. package/dist/src/showcase/premium/metric-grid/index.cjs +0 -1
  899. package/dist/src/showcase/premium/metric-grid/index.js +0 -3
  900. package/dist/src/showcase/premium/metric-grid/mock.cjs +0 -11
  901. package/dist/src/showcase/premium/metric-grid/mock.js +0 -36
  902. package/dist/src/showcase/premium/metric-grid/showcase.cjs +0 -1
  903. package/dist/src/showcase/premium/metric-grid/showcase.js +0 -133
  904. package/dist/src/showcase/premium/modal-shell/index.cjs +0 -1
  905. package/dist/src/showcase/premium/modal-shell/index.js +0 -3
  906. package/dist/src/showcase/premium/modal-shell/mock.cjs +0 -30
  907. package/dist/src/showcase/premium/modal-shell/mock.js +0 -43
  908. package/dist/src/showcase/premium/modal-shell/showcase.cjs +0 -1
  909. package/dist/src/showcase/premium/modal-shell/showcase.js +0 -148
  910. package/dist/src/showcase/premium/money-input/index.cjs +0 -1
  911. package/dist/src/showcase/premium/money-input/index.js +0 -3
  912. package/dist/src/showcase/premium/money-input/mock.cjs +0 -28
  913. package/dist/src/showcase/premium/money-input/mock.js +0 -43
  914. package/dist/src/showcase/premium/money-input/showcase.cjs +0 -1
  915. package/dist/src/showcase/premium/money-input/showcase.js +0 -21
  916. package/dist/src/showcase/premium/number-input/index.cjs +0 -1
  917. package/dist/src/showcase/premium/number-input/index.js +0 -3
  918. package/dist/src/showcase/premium/number-input/mock.cjs +0 -32
  919. package/dist/src/showcase/premium/number-input/mock.js +0 -43
  920. package/dist/src/showcase/premium/number-input/showcase.cjs +0 -1
  921. package/dist/src/showcase/premium/number-input/showcase.js +0 -23
  922. package/dist/src/showcase/premium/page-container/index.cjs +0 -1
  923. package/dist/src/showcase/premium/page-container/index.js +0 -3
  924. package/dist/src/showcase/premium/page-container/mock.cjs +0 -9
  925. package/dist/src/showcase/premium/page-container/mock.js +0 -31
  926. package/dist/src/showcase/premium/page-container/showcase.cjs +0 -1
  927. package/dist/src/showcase/premium/page-container/showcase.js +0 -79
  928. package/dist/src/showcase/premium/page-header/index.cjs +0 -1
  929. package/dist/src/showcase/premium/page-header/index.js +0 -3
  930. package/dist/src/showcase/premium/page-header/mock.cjs +0 -14
  931. package/dist/src/showcase/premium/page-header/mock.js +0 -36
  932. package/dist/src/showcase/premium/page-header/showcase.cjs +0 -1
  933. package/dist/src/showcase/premium/page-header/showcase.js +0 -70
  934. package/dist/src/showcase/premium/page-tabs/index.cjs +0 -1
  935. package/dist/src/showcase/premium/page-tabs/index.js +0 -3
  936. package/dist/src/showcase/premium/page-tabs/mock.cjs +0 -18
  937. package/dist/src/showcase/premium/page-tabs/mock.js +0 -31
  938. package/dist/src/showcase/premium/page-tabs/showcase.cjs +0 -1
  939. package/dist/src/showcase/premium/page-tabs/showcase.js +0 -121
  940. package/dist/src/showcase/premium/password-input/index.cjs +0 -1
  941. package/dist/src/showcase/premium/password-input/index.js +0 -3
  942. package/dist/src/showcase/premium/password-input/mock.cjs +0 -16
  943. package/dist/src/showcase/premium/password-input/mock.js +0 -31
  944. package/dist/src/showcase/premium/password-input/showcase.cjs +0 -1
  945. package/dist/src/showcase/premium/password-input/showcase.js +0 -104
  946. package/dist/src/showcase/premium/phone-input/index.cjs +0 -1
  947. package/dist/src/showcase/premium/phone-input/index.js +0 -3
  948. package/dist/src/showcase/premium/phone-input/mock.cjs +0 -17
  949. package/dist/src/showcase/premium/phone-input/mock.js +0 -43
  950. package/dist/src/showcase/premium/phone-input/showcase.cjs +0 -1
  951. package/dist/src/showcase/premium/phone-input/showcase.js +0 -33
  952. package/dist/src/showcase/premium/property-grid/index.cjs +0 -1
  953. package/dist/src/showcase/premium/property-grid/index.js +0 -3
  954. package/dist/src/showcase/premium/property-grid/mock.cjs +0 -14
  955. package/dist/src/showcase/premium/property-grid/mock.js +0 -26
  956. package/dist/src/showcase/premium/property-grid/showcase.cjs +0 -1
  957. package/dist/src/showcase/premium/property-grid/showcase.js +0 -93
  958. package/dist/src/showcase/premium/quantity-input/index.cjs +0 -1
  959. package/dist/src/showcase/premium/quantity-input/index.js +0 -3
  960. package/dist/src/showcase/premium/quantity-input/mock.cjs +0 -29
  961. package/dist/src/showcase/premium/quantity-input/mock.js +0 -43
  962. package/dist/src/showcase/premium/quantity-input/showcase.cjs +0 -1
  963. package/dist/src/showcase/premium/quantity-input/showcase.js +0 -23
  964. package/dist/src/showcase/premium/result/index.cjs +0 -1
  965. package/dist/src/showcase/premium/result/index.js +0 -3
  966. package/dist/src/showcase/premium/result/mock.cjs +0 -12
  967. package/dist/src/showcase/premium/result/mock.js +0 -31
  968. package/dist/src/showcase/premium/result/showcase.cjs +0 -1
  969. package/dist/src/showcase/premium/result/showcase.js +0 -98
  970. package/dist/src/showcase/premium/search-input/index.cjs +0 -1
  971. package/dist/src/showcase/premium/search-input/index.js +0 -3
  972. package/dist/src/showcase/premium/search-input/mock.cjs +0 -18
  973. package/dist/src/showcase/premium/search-input/mock.js +0 -31
  974. package/dist/src/showcase/premium/search-input/showcase.cjs +0 -1
  975. package/dist/src/showcase/premium/search-input/showcase.js +0 -113
  976. package/dist/src/showcase/premium/sheet-shell/index.cjs +0 -1
  977. package/dist/src/showcase/premium/sheet-shell/index.js +0 -3
  978. package/dist/src/showcase/premium/sheet-shell/mock.cjs +0 -34
  979. package/dist/src/showcase/premium/sheet-shell/mock.js +0 -43
  980. package/dist/src/showcase/premium/sheet-shell/showcase.cjs +0 -1
  981. package/dist/src/showcase/premium/sheet-shell/showcase.js +0 -137
  982. package/dist/src/showcase/premium/sidebar-nav/index.cjs +0 -1
  983. package/dist/src/showcase/premium/sidebar-nav/index.js +0 -3
  984. package/dist/src/showcase/premium/sidebar-nav/mock.cjs +0 -11
  985. package/dist/src/showcase/premium/sidebar-nav/mock.js +0 -32
  986. package/dist/src/showcase/premium/sidebar-nav/showcase.cjs +0 -1
  987. package/dist/src/showcase/premium/sidebar-nav/showcase.js +0 -113
  988. package/dist/src/showcase/premium/simple-select/index.cjs +0 -1
  989. package/dist/src/showcase/premium/simple-select/index.js +0 -3
  990. package/dist/src/showcase/premium/simple-select/mock.cjs +0 -29
  991. package/dist/src/showcase/premium/simple-select/mock.js +0 -43
  992. package/dist/src/showcase/premium/simple-select/showcase.cjs +0 -1
  993. package/dist/src/showcase/premium/simple-select/showcase.js +0 -114
  994. package/dist/src/showcase/premium/sticky-footer-bar/index.cjs +0 -1
  995. package/dist/src/showcase/premium/sticky-footer-bar/index.js +0 -3
  996. package/dist/src/showcase/premium/sticky-footer-bar/mock.cjs +0 -15
  997. package/dist/src/showcase/premium/sticky-footer-bar/mock.js +0 -19
  998. package/dist/src/showcase/premium/sticky-footer-bar/showcase.cjs +0 -1
  999. package/dist/src/showcase/premium/sticky-footer-bar/showcase.js +0 -37
  1000. package/packages/cli/vendor/src/components/actions/copy-field.tsx +0 -31
  1001. package/packages/cli/vendor/src/components/charts/horizontal-bar-chart.tsx +0 -60
  1002. package/packages/cli/vendor/src/components/charts/kpi.tsx +0 -68
  1003. package/packages/cli/vendor/src/components/display/comparison-card.tsx +0 -35
  1004. package/packages/cli/vendor/src/components/display/data-list.tsx +0 -97
  1005. package/packages/cli/vendor/src/components/display/delta-badge.tsx +0 -42
  1006. package/packages/cli/vendor/src/components/display/descriptions.tsx +0 -83
  1007. package/packages/cli/vendor/src/components/display/metric-grid.tsx +0 -89
  1008. package/packages/cli/vendor/src/components/display/progress-circle.tsx +0 -24
  1009. package/packages/cli/vendor/src/components/display/property-grid.tsx +0 -54
  1010. package/packages/cli/vendor/src/components/display/result.tsx +0 -90
  1011. package/packages/cli/vendor/src/components/display/trend-card.tsx +0 -57
  1012. package/packages/cli/vendor/src/components/display/user-card.tsx +0 -30
  1013. package/packages/cli/vendor/src/components/layout/stat-card.tsx +0 -165
  1014. package/packages/cli/vendor/src/components/modern/tour.tsx +0 -72
  1015. package/packages/cli/vendor/src/components/navigation/anchor-nav.tsx +0 -44
  1016. package/packages/cli/vendor/src/components/navigation/command-bar.tsx +0 -40
  1017. package/packages/cli/vendor/src/components/navigation/nav-tabs.tsx +0 -69
  1018. package/packages/cli/vendor/src/components/navigation/page-tabs.tsx +0 -94
  1019. package/packages/cli/vendor/src/components/navigation/stepper-tabs.tsx +0 -67
  1020. package/packages/cli/vendor/src/components/overlay/dialog-actions.tsx +0 -68
  1021. package/packages/cli/vendor/src/components/overlay/modal-shell.tsx +0 -93
  1022. package/packages/cli/vendor/src/components/overlay/sheet-shell.tsx +0 -212
  1023. package/packages/cli/vendor/src/components/ui/hover-card.tsx +0 -78
  1024. package/packages/cli/vendor/src/components/ui/input-group/index.tsx +0 -8
  1025. package/packages/cli/vendor/src/components/ui/input-primitive/index.tsx +0 -2
  1026. package/packages/cli/vendor/src/components/upload/file-dropzone.tsx +0 -38
  1027. package/packages/cli/vendor/src/showcase/premium/accordion/index.ts +0 -2
  1028. package/packages/cli/vendor/src/showcase/premium/accordion/mock.ts +0 -43
  1029. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +0 -138
  1030. package/packages/cli/vendor/src/showcase/premium/app-shell/index.ts +0 -2
  1031. package/packages/cli/vendor/src/showcase/premium/app-shell/mock.ts +0 -66
  1032. package/packages/cli/vendor/src/showcase/premium/app-shell/showcase.tsx +0 -114
  1033. package/packages/cli/vendor/src/showcase/premium/clearable-input/index.ts +0 -2
  1034. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +0 -32
  1035. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +0 -63
  1036. package/packages/cli/vendor/src/showcase/premium/combobox/index.ts +0 -2
  1037. package/packages/cli/vendor/src/showcase/premium/combobox/mock.ts +0 -48
  1038. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +0 -92
  1039. package/packages/cli/vendor/src/showcase/premium/command-bar/index.ts +0 -2
  1040. package/packages/cli/vendor/src/showcase/premium/command-bar/mock.ts +0 -26
  1041. package/packages/cli/vendor/src/showcase/premium/command-bar/showcase.tsx +0 -69
  1042. package/packages/cli/vendor/src/showcase/premium/copy-field/index.ts +0 -2
  1043. package/packages/cli/vendor/src/showcase/premium/copy-field/mock.ts +0 -26
  1044. package/packages/cli/vendor/src/showcase/premium/copy-field/showcase.tsx +0 -64
  1045. package/packages/cli/vendor/src/showcase/premium/data-table-parts/data.ts +0 -90
  1046. package/packages/cli/vendor/src/showcase/premium/data-table-parts/index.ts +0 -9
  1047. package/packages/cli/vendor/src/showcase/premium/data-table-parts/mock.ts +0 -63
  1048. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +0 -218
  1049. package/packages/cli/vendor/src/showcase/premium/date-input/index.ts +0 -2
  1050. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +0 -37
  1051. package/packages/cli/vendor/src/showcase/premium/date-input/showcase.tsx +0 -24
  1052. package/packages/cli/vendor/src/showcase/premium/date-range-input/index.ts +0 -2
  1053. package/packages/cli/vendor/src/showcase/premium/date-range-input/mock.ts +0 -37
  1054. package/packages/cli/vendor/src/showcase/premium/date-range-input/showcase.tsx +0 -24
  1055. package/packages/cli/vendor/src/showcase/premium/descriptions/index.ts +0 -3
  1056. package/packages/cli/vendor/src/showcase/premium/descriptions/mock.ts +0 -31
  1057. package/packages/cli/vendor/src/showcase/premium/descriptions/showcase.tsx +0 -45
  1058. package/packages/cli/vendor/src/showcase/premium/hover-card/index.ts +0 -2
  1059. package/packages/cli/vendor/src/showcase/premium/hover-card/mock.ts +0 -30
  1060. package/packages/cli/vendor/src/showcase/premium/hover-card/showcase.tsx +0 -59
  1061. package/packages/cli/vendor/src/showcase/premium/masked-input/index.ts +0 -2
  1062. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +0 -42
  1063. package/packages/cli/vendor/src/showcase/premium/masked-input/showcase.tsx +0 -25
  1064. package/packages/cli/vendor/src/showcase/premium/metric-grid/index.ts +0 -2
  1065. package/packages/cli/vendor/src/showcase/premium/metric-grid/mock.ts +0 -28
  1066. package/packages/cli/vendor/src/showcase/premium/metric-grid/showcase.tsx +0 -70
  1067. package/packages/cli/vendor/src/showcase/premium/modal-shell/index.ts +0 -3
  1068. package/packages/cli/vendor/src/showcase/premium/modal-shell/mock.ts +0 -55
  1069. package/packages/cli/vendor/src/showcase/premium/modal-shell/showcase.tsx +0 -93
  1070. package/packages/cli/vendor/src/showcase/premium/money-input/index.ts +0 -2
  1071. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +0 -48
  1072. package/packages/cli/vendor/src/showcase/premium/money-input/showcase.tsx +0 -21
  1073. package/packages/cli/vendor/src/showcase/premium/number-input/index.ts +0 -2
  1074. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +0 -52
  1075. package/packages/cli/vendor/src/showcase/premium/number-input/showcase.tsx +0 -14
  1076. package/packages/cli/vendor/src/showcase/premium/page-container/index.ts +0 -2
  1077. package/packages/cli/vendor/src/showcase/premium/page-container/mock.ts +0 -25
  1078. package/packages/cli/vendor/src/showcase/premium/page-container/showcase.tsx +0 -50
  1079. package/packages/cli/vendor/src/showcase/premium/page-header/index.ts +0 -2
  1080. package/packages/cli/vendor/src/showcase/premium/page-header/mock.ts +0 -31
  1081. package/packages/cli/vendor/src/showcase/premium/page-header/showcase.tsx +0 -44
  1082. package/packages/cli/vendor/src/showcase/premium/page-tabs/index.ts +0 -2
  1083. package/packages/cli/vendor/src/showcase/premium/page-tabs/mock.ts +0 -33
  1084. package/packages/cli/vendor/src/showcase/premium/page-tabs/showcase.tsx +0 -67
  1085. package/packages/cli/vendor/src/showcase/premium/password-input/index.ts +0 -2
  1086. package/packages/cli/vendor/src/showcase/premium/password-input/mock.ts +0 -31
  1087. package/packages/cli/vendor/src/showcase/premium/password-input/showcase.tsx +0 -74
  1088. package/packages/cli/vendor/src/showcase/premium/phone-input/index.ts +0 -2
  1089. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +0 -37
  1090. package/packages/cli/vendor/src/showcase/premium/phone-input/showcase.tsx +0 -27
  1091. package/packages/cli/vendor/src/showcase/premium/property-grid/index.ts +0 -2
  1092. package/packages/cli/vendor/src/showcase/premium/property-grid/mock.ts +0 -29
  1093. package/packages/cli/vendor/src/showcase/premium/property-grid/showcase.tsx +0 -48
  1094. package/packages/cli/vendor/src/showcase/premium/quantity-input/index.ts +0 -2
  1095. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +0 -49
  1096. package/packages/cli/vendor/src/showcase/premium/quantity-input/showcase.tsx +0 -21
  1097. package/packages/cli/vendor/src/showcase/premium/result/index.ts +0 -2
  1098. package/packages/cli/vendor/src/showcase/premium/result/mock.ts +0 -28
  1099. package/packages/cli/vendor/src/showcase/premium/result/showcase.tsx +0 -67
  1100. package/packages/cli/vendor/src/showcase/premium/search-input/index.ts +0 -2
  1101. package/packages/cli/vendor/src/showcase/premium/search-input/mock.ts +0 -33
  1102. package/packages/cli/vendor/src/showcase/premium/search-input/showcase.tsx +0 -85
  1103. package/packages/cli/vendor/src/showcase/premium/sheet-shell/index.ts +0 -3
  1104. package/packages/cli/vendor/src/showcase/premium/sheet-shell/mock.ts +0 -59
  1105. package/packages/cli/vendor/src/showcase/premium/sheet-shell/showcase.tsx +0 -87
  1106. package/packages/cli/vendor/src/showcase/premium/sidebar-nav/index.ts +0 -2
  1107. package/packages/cli/vendor/src/showcase/premium/sidebar-nav/mock.ts +0 -28
  1108. package/packages/cli/vendor/src/showcase/premium/sidebar-nav/showcase.tsx +0 -78
  1109. package/packages/cli/vendor/src/showcase/premium/simple-select/index.ts +0 -2
  1110. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +0 -49
  1111. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +0 -66
  1112. package/packages/cli/vendor/src/showcase/premium/sticky-footer-bar/index.ts +0 -3
  1113. package/packages/cli/vendor/src/showcase/premium/sticky-footer-bar/mock.ts +0 -30
  1114. package/packages/cli/vendor/src/showcase/premium/sticky-footer-bar/showcase.tsx +0 -33
@@ -1,10 +1,24 @@
1
1
  import * as React from "react"
2
2
 
3
- import { Badge, FileUpload } from "@/index"
3
+ import { Badge, Button, FileUpload } from "@/index"
4
4
 
5
5
  export function FileUploadShowcase() {
6
6
  const [files, setFiles] = React.useState<File[]>([])
7
7
  const [status, setStatus] = React.useState<Record<string, "idle" | "uploading" | "success" | "error">>({})
8
+ const [progress, setProgress] = React.useState<Record<string, number>>({})
9
+
10
+ const loadSamples = () => {
11
+ const now = Date.now()
12
+ const samples = [
13
+ new File(["release notes"], "release-notes.pdf", { type: "application/pdf", lastModified: now }),
14
+ new File(["contract draft"], "contract.docx", { type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", lastModified: now + 1 }),
15
+ new File(["preview image"], "preview.png", { type: "image/png", lastModified: now + 2 }),
16
+ ]
17
+ const keys = samples.map((file) => `${file.name}-${file.size}-${file.lastModified}`)
18
+ setFiles(samples)
19
+ setStatus({ [keys[0]]: "uploading", [keys[1]]: "error", [keys[2]]: "success" })
20
+ setProgress({ [keys[0]]: 46, [keys[1]]: 72, [keys[2]]: 100 })
21
+ }
8
22
 
9
23
  React.useEffect(() => {
10
24
  setStatus((current) => {
@@ -31,6 +45,15 @@ export function FileUploadShowcase() {
31
45
  </p>
32
46
  </div>
33
47
 
48
+ <div className="flex flex-wrap gap-2">
49
+ <Button size="sm" onClick={loadSamples}>Load sample files</Button>
50
+ <Button size="sm" variant="outline" disabled={files.length === 0} onClick={() => {
51
+ setFiles([])
52
+ setStatus({})
53
+ setProgress({})
54
+ }}>Clear demo</Button>
55
+ </div>
56
+
34
57
  <FileUpload
35
58
  files={files}
36
59
  onFilesChange={setFiles}
@@ -38,14 +61,22 @@ export function FileUploadShowcase() {
38
61
  accept=".pdf,.docx,.png"
39
62
  maxFiles={4}
40
63
  maxSize={4 * 1024 * 1024}
64
+ progress={progress}
41
65
  dropzoneLabel="Upload release assets"
42
66
  dropzoneDescription="Drag files here or choose from your device."
43
- helperText="Supports PDF, DOCX and PNG up to 4 MB."
67
+ helperText="Supports PDF, DOCX and PNG up to 4 MB. Filenames containing private are rejected."
68
+ validateFile={(file) => file.name.toLowerCase().includes("private") ? "Private files cannot be uploaded here." : null}
69
+ rejectionMessages={{
70
+ "max-files": ({ maxFiles }) => `Only ${maxFiles} release assets are allowed.`,
71
+ "max-size": "This asset exceeds the 4 MB release limit.",
72
+ }}
44
73
  onRetryFile={(file) => {
45
74
  const key = `${file.name}-${file.size}-${file.lastModified}`
46
75
  setStatus((current) => ({ ...current, [key]: "uploading" }))
76
+ setProgress((current) => ({ ...current, [key]: 35 }))
47
77
  window.setTimeout(() => {
48
78
  setStatus((current) => ({ ...current, [key]: "success" }))
79
+ setProgress((current) => ({ ...current, [key]: 100 }))
49
80
  }, 900)
50
81
  }}
51
82
  />
@@ -0,0 +1,2 @@
1
+ export * from "./mock"
2
+ export * from "./showcase"
@@ -0,0 +1,15 @@
1
+ import type { ComponentDemoMock } from "../types"
2
+
3
+ export const imageCropperMock: ComponentDemoMock = {
4
+ code: `import { ImageCropper } from "tembro"
5
+
6
+ export function Example() {
7
+ return <ImageCropper src="/profile-photo.jpg" aspect={1} cropShape="round" />
8
+ }`,
9
+ cliCommand: "npx tembro add image-cropper",
10
+ highlights: ["Drag, zoom, rotation, and pixel crop coordinates", "Canvas helper exports the selected area as a Blob"],
11
+ scenarios: [
12
+ { title: "Avatar editor", description: "Crop profile media into a consistent square or circle." },
13
+ { title: "Asset manager", description: "Prepare upload dimensions before saving media." },
14
+ ],
15
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from "react"
2
+ import { ImageCropper } from "@/index"
3
+
4
+ const demoImage = "https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80"
5
+
6
+ export function ImageCropperShowcase() {
7
+ const [cropSummary, setCropSummary] = React.useState("Move or zoom the image")
8
+ return (
9
+ <div className="grid gap-3">
10
+ <ImageCropper src={demoImage} aspect={16 / 9} onCropComplete={(_, pixels) => setCropSummary(`${Math.round(pixels.width)} × ${Math.round(pixels.height)} px`)} />
11
+ <p className="text-xs text-muted-foreground">Crop: {cropSummary}</p>
12
+ </div>
13
+ )
14
+ }
@@ -2,7 +2,6 @@ import type { ComponentDemoBundle } from "./types"
2
2
 
3
3
  import { alertMock, AlertShowcase } from "./alert"
4
4
  import { AlertDialogShowcase, alertDialogMock } from "./alert-dialog"
5
- import { accordionMock, AccordionShowcase } from "./accordion"
6
5
  import { activityFeedMock, ActivityFeedShowcase } from "./activity-feed"
7
6
  import { ActionMenuShowcase, actionMenuMock } from "./action-menu"
8
7
  import { appSidebarMock, AppSidebarShowcase } from "./app-sidebar"
@@ -10,7 +9,7 @@ import { asyncSelectMock, AsyncSelectShowcase } from "./async-select"
10
9
  import { asyncMultiSelectMock, AsyncMultiSelectShowcase } from "./async-multi-select"
11
10
  import { avatarMock, AvatarShowcase } from "./avatar"
12
11
  import { carouselMock, CarouselShowcase } from "./carousel"
13
- import { clearableInputMock, ClearableInputShowcase } from "./clearable-input"
12
+ import { colorPickerMock, ColorPickerShowcase } from "./color-picker"
14
13
  import { jsonInputMock, JsonInputShowcase } from "./json-input"
15
14
  import { badgeMock, BadgeShowcase } from "./badge"
16
15
  import { dividerMock, DividerShowcase } from "./divider"
@@ -24,65 +23,44 @@ import { checkboxMock, CheckboxShowcase } from "./checkbox"
24
23
  import { codeBlockMock, CodeBlockShowcase } from "./code-block"
25
24
  import { dualListPickerMock, DualListPickerShowcase } from "./dual-list-picker"
26
25
  import { collapseMock, CollapseShowcase } from "./collapse"
27
- import { comboboxMock, ComboboxShowcase } from "./combobox"
28
- import { commandBarMock, CommandBarShowcase } from "./command-bar"
29
- import { commandPaletteMock, CommandPaletteShowcase } from "./command-palette"
30
- import { ConfirmDialogShowcase, confirmDialogMock } from "./confirm-dialog"
31
- import { copyButtonMock, CopyButtonShowcase } from "./copy-button"
32
- import { copyFieldMock, CopyFieldShowcase } from "./copy-field"
33
- import { dataStateMock, DataStateShowcase } from "./data-state"
26
+ import { commandPaletteMock, CommandPaletteShowcase } from "./command-palette"
27
+ import { ConfirmDialogShowcase, confirmDialogMock } from "./confirm-dialog"
28
+ import { copyButtonMock, CopyButtonShowcase } from "./copy-button"
29
+ import { dataStateMock, DataStateShowcase } from "./data-state"
34
30
  import { dataTableMock, DataTableShowcase } from "./data-table"
35
- import { dateInputMock, DateInputShowcase } from "./date-input"
36
31
  import { DatePickerShowcase, datePickerMock } from "./date-picker"
37
- import { DateRangeInputShowcase, dateRangeInputMock } from "./date-range-input"
38
32
  import { DateRangePickerShowcase, dateRangePickerMock } from "./date-range-picker"
39
33
  import { DescriptionListShowcase, descriptionListMock } from "./description-list"
40
- import { descriptionsMock, DescriptionsShowcase } from "./descriptions"
41
34
  import { dialogMock, DialogShowcase } from "./dialog"
42
35
  import { dropdownMenuMock, DropdownMenuShowcase } from "./dropdown-menu"
43
36
  import { DrawerShowcase, drawerMock } from "./drawer"
44
37
  import { FormWrapperShowcase, formRHFWrapperMock, formSelectMock } from "./form-wrapper"
45
- import { hoverCardMock, HoverCardShowcase } from "./hover-card"
46
- import { kanbanBoardMock, KanbanBoardShowcase } from "./kanban-board"
47
- import { infoCardMock, InfoCardShowcase } from "./info-card"
38
+ import { kanbanBoardMock, KanbanBoardShowcase } from "./kanban-board"
39
+ import { infoCardMock, InfoCardShowcase } from "./info-card"
40
+ import { imageCropperMock, ImageCropperShowcase } from "./image-cropper"
48
41
  import { inputMock, InputShowcase } from "./input"
49
42
  import { kbdMock, KbdShowcase } from "./kbd"
50
43
  import { listMock, ListShowcase } from "./list"
51
44
  import { loadingStateMock, LoadingStateShowcase } from "./loading-state"
52
45
  import { timePickerMock, TimePickerShowcase } from "./time-picker"
53
- import { stickyFooterBarMock, StickyFooterBarShowcase } from "./sticky-footer-bar"
54
- import { maskedInputMock, MaskedInputShowcase } from "./masked-input"
55
- import { metricGridMock, MetricGridShowcase } from "./metric-grid"
56
- import { modalShellMock, ModalShellShowcase } from "./modal-shell"
57
46
  import { resizablePanelMock, ResizablePanelShowcase } from "./resizable-panel"
58
- import { moneyInputMock, MoneyInputShowcase } from "./money-input"
59
47
  import { NotificationCenterShowcase, notificationCenterMock } from "./notification-center"
60
- import { numberInputMock, NumberInputShowcase } from "./number-input"
61
48
  import { OtpInputShowcase, otpInputMock } from "./otp-input"
62
- import { pageContainerMock, PageContainerShowcase } from "./page-container"
63
- import { pageHeaderMock, PageHeaderShowcase } from "./page-header"
64
- import { PageTabsShowcase, pageTabsMock } from "./page-tabs"
65
49
  import { sectionMock, SectionShowcase } from "./section"
66
- import { phoneInputMock, PhoneInputShowcase } from "./phone-input"
67
50
  import { pageStateMock, PageStateShowcase } from "./page-state"
68
51
  import { paginationMock, PaginationShowcase } from "./pagination"
69
52
  import { popoverMock, PopoverShowcase } from "./popover"
70
- import { propertyGridMock, PropertyGridShowcase } from "./property-grid"
71
53
  import { ProgressShowcase, progressMock } from "./progress"
72
- import { quantityInputMock, QuantityInputShowcase } from "./quantity-input"
54
+ import { qrCodeMock, QRCodeShowcase } from "./qr-code"
73
55
  import { radioGroupMock, RadioGroupShowcase } from "./radio-group"
74
- import { resultMock, ResultShowcase } from "./result"
75
- import { rightClickMenuMock, RightClickMenuShowcase } from "./right-click-menu"
56
+ import { rightClickMenuMock, RightClickMenuShowcase } from "./right-click-menu"
57
+ import { richTextEditorMock, RichTextEditorShowcase } from "./rich-text-editor"
76
58
  import { scrollBoxMock, ScrollBoxShowcase } from "./scroll-box"
77
59
  import { savedFilterSelectMock, SavedFilterSelectShowcase } from "./saved-filter-select"
78
60
  import { sortableListMock, SortableListShowcase } from "./sortable-list"
79
- import { searchInputMock, SearchInputShowcase } from "./search-input"
61
+ import { signaturePadMock, SignaturePadShowcase } from "./signature-pad"
80
62
  import { segmentedControlMock, SegmentedControlShowcase } from "./segmented-control"
81
63
  import { selectMock, SelectShowcase } from "./select"
82
- import { sheetShellMock, SheetShellShowcase } from "./sheet-shell"
83
- import { sidebarNavMock, SidebarNavShowcase } from "./sidebar-nav"
84
- import { appShellMock, AppShellShowcase } from "./app-shell"
85
- import { simpleSelectMock, SimpleSelectShowcase } from "./simple-select"
86
64
  import { sliderMock, SliderShowcase } from "./slider"
87
65
  import { skeletonMock, SkeletonShowcase } from "./skeleton"
88
66
  import { spinnerMock, SpinnerShowcase } from "./spinner"
@@ -100,7 +78,6 @@ import { toastMock, ToastShowcase } from "./toast"
100
78
  import { tooltipMock, TooltipShowcase } from "./tooltip"
101
79
  import { fileUploadMock, FileUploadShowcase } from "./file-upload"
102
80
  import { imageUploadMock, ImageUploadShowcase } from "./image-upload"
103
- import { passwordInputMock, PasswordInputShowcase } from "./password-input"
104
81
  import { ratingMock, RatingShowcase } from "./rating"
105
82
  import { virtualListMock, VirtualListShowcase } from "./virtual-list"
106
83
 
@@ -110,72 +87,54 @@ export type { ComponentDemoBundle, ComponentDemoMock, ComponentDemoProps, Compon
110
87
  export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> = {
111
88
  alert: { mock: alertMock, Showcase: AlertShowcase },
112
89
  "alert-dialog": { mock: alertDialogMock, Showcase: AlertDialogShowcase },
113
- accordion: { mock: accordionMock, Showcase: AccordionShowcase },
114
90
  "action-menu": { mock: actionMenuMock, Showcase: ActionMenuShowcase },
115
91
  button: { mock: buttonMock, Showcase: ButtonShowcase },
116
92
  "button-group": { mock: buttonGroupMock, Showcase: ButtonGroupShowcase },
117
93
  calendar: { mock: calendarMock, Showcase: CalendarShowcase },
118
94
  "calendar-scheduler": { mock: calendarSchedulerMock, Showcase: CalendarSchedulerShowcase },
119
- "command-bar": { mock: commandBarMock, Showcase: CommandBarShowcase },
120
95
  "command-palette": { mock: commandPaletteMock, Showcase: CommandPaletteShowcase },
121
96
  "carousel": { mock: carouselMock, Showcase: CarouselShowcase },
122
- "clearable-input": { mock: clearableInputMock, Showcase: ClearableInputShowcase },
97
+ "color-picker": { mock: colorPickerMock, Showcase: ColorPickerShowcase },
123
98
  "code-block": { mock: codeBlockMock, Showcase: CodeBlockShowcase },
124
99
  "dual-list-picker": { mock: dualListPickerMock, Showcase: DualListPickerShowcase },
125
100
  divider: { mock: dividerMock, Showcase: DividerShowcase },
126
- input: { mock: inputMock, Showcase: InputShowcase },
101
+ input: { mock: inputMock, Showcase: InputShowcase },
102
+ "number-input": { mock: inputMock, Showcase: InputShowcase },
127
103
  textarea: { mock: textareaMock, Showcase: TextareaShowcase },
128
104
  select: { mock: selectMock, Showcase: SelectShowcase },
129
- combobox: { mock: comboboxMock, Showcase: ComboboxShowcase },
130
105
  "radio-group": { mock: radioGroupMock, Showcase: RadioGroupShowcase },
131
- "simple-select": { mock: simpleSelectMock, Showcase: SimpleSelectShowcase },
132
106
  "async-select": { mock: asyncSelectMock, Showcase: AsyncSelectShowcase },
133
107
  "async-multi-select": { mock: asyncMultiSelectMock, Showcase: AsyncMultiSelectShowcase },
134
108
  avatar: { mock: avatarMock, Showcase: AvatarShowcase },
135
- "number-input": { mock: numberInputMock, Showcase: NumberInputShowcase },
136
- "money-input": { mock: moneyInputMock, Showcase: MoneyInputShowcase },
137
- "password-input": { mock: passwordInputMock, Showcase: PasswordInputShowcase },
138
- "date-input": { mock: dateInputMock, Showcase: DateInputShowcase },
139
- "date-range-input": { mock: dateRangeInputMock, Showcase: DateRangeInputShowcase },
140
109
  "date-picker": { mock: datePickerMock, Showcase: DatePickerShowcase },
141
110
  "date-range-picker": { mock: dateRangePickerMock, Showcase: DateRangePickerShowcase },
142
111
  "description-list": { mock: descriptionListMock, Showcase: DescriptionListShowcase },
143
- descriptions: { mock: descriptionsMock, Showcase: DescriptionsShowcase },
144
112
  drawer: { mock: drawerMock, Showcase: DrawerShowcase },
145
113
  "json-input": { mock: jsonInputMock, Showcase: JsonInputShowcase },
146
114
  kanban: { mock: kanbanBoardMock, Showcase: KanbanBoardShowcase },
147
115
  "otp-input": { mock: otpInputMock, Showcase: OtpInputShowcase },
148
- "quantity-input": { mock: quantityInputMock, Showcase: QuantityInputShowcase },
116
+ "qr-code": { mock: qrCodeMock, Showcase: QRCodeShowcase },
149
117
  rating: { mock: ratingMock, Showcase: RatingShowcase },
150
- "masked-input": { mock: maskedInputMock, Showcase: MaskedInputShowcase },
151
- "phone-input": { mock: phoneInputMock, Showcase: PhoneInputShowcase },
152
- "search-input": { mock: searchInputMock, Showcase: SearchInputShowcase },
118
+ "signature-pad": { mock: signaturePadMock, Showcase: SignaturePadShowcase },
153
119
  slider: { mock: sliderMock, Showcase: SliderShowcase },
154
120
  "time-picker": { mock: timePickerMock, Showcase: TimePickerShowcase },
155
121
  "tag-input": { mock: tagInputMock, Showcase: TagInputShowcase },
156
122
  "dropdown-menu": { mock: dropdownMenuMock, Showcase: DropdownMenuShowcase },
157
123
  "confirm-dialog": { mock: confirmDialogMock, Showcase: ConfirmDialogShowcase },
158
- checkbox: { mock: checkboxMock, Showcase: CheckboxShowcase },
159
- "copy-button": { mock: copyButtonMock, Showcase: CopyButtonShowcase },
160
- "copy-field": { mock: copyFieldMock, Showcase: CopyFieldShowcase },
161
- switch: { mock: switchMock, Showcase: SwitchShowcase },
124
+ checkbox: { mock: checkboxMock, Showcase: CheckboxShowcase },
125
+ "copy-button": { mock: copyButtonMock, Showcase: CopyButtonShowcase },
126
+ switch: { mock: switchMock, Showcase: SwitchShowcase },
162
127
  badge: { mock: badgeMock, Showcase: BadgeShowcase },
163
128
  card: { mock: cardMock, Showcase: CardShowcase },
164
129
  tabs: { mock: tabsMock, Showcase: TabsShowcase },
165
130
  collapse: { mock: collapseMock, Showcase: CollapseShowcase },
166
131
  kbd: { mock: kbdMock, Showcase: KbdShowcase },
167
- "modal-shell": { mock: modalShellMock, Showcase: ModalShellShowcase },
168
- "sheet-shell": { mock: sheetShellMock, Showcase: SheetShellShowcase },
169
132
  dialog: { mock: dialogMock, Showcase: DialogShowcase },
170
- popover: { mock: popoverMock, Showcase: PopoverShowcase },
171
- tooltip: { mock: tooltipMock, Showcase: TooltipShowcase },
172
- "hover-card": { mock: hoverCardMock, Showcase: HoverCardShowcase },
173
- "right-click-menu": { mock: rightClickMenuMock, Showcase: RightClickMenuShowcase },
133
+ popover: { mock: popoverMock, Showcase: PopoverShowcase },
134
+ tooltip: { mock: tooltipMock, Showcase: TooltipShowcase },
135
+ "right-click-menu": { mock: rightClickMenuMock, Showcase: RightClickMenuShowcase },
136
+ "rich-text-editor": { mock: richTextEditorMock, Showcase: RichTextEditorShowcase },
174
137
  "data-table": { mock: dataTableMock, Showcase: DataTableShowcase },
175
- "data-table-column-visibility-menu": { mock: dataTableMock, Showcase: DataTableShowcase },
176
- "data-table-sortable-header": { mock: dataTableMock, Showcase: DataTableShowcase },
177
- "data-table-bulk-actions": { mock: dataTableMock, Showcase: DataTableShowcase },
178
- "data-table-view-presets": { mock: dataTableMock, Showcase: DataTableShowcase },
179
138
  "saved-filter-select": { mock: savedFilterSelectMock, Showcase: SavedFilterSelectShowcase },
180
139
  "sortable-list": { mock: sortableListMock, Showcase: SortableListShowcase },
181
140
  "form-field": { mock: formRHFWrapperMock, Showcase: FormWrapperShowcase },
@@ -192,28 +151,21 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
192
151
  spinner: { mock: spinnerMock, Showcase: SpinnerShowcase },
193
152
  table: { mock: tableMock, Showcase: TableShowcase },
194
153
  sidebar: { mock: appSidebarMock, Showcase: AppSidebarShowcase },
195
- "app-shell": { mock: appShellMock, Showcase: AppShellShowcase },
196
- "sidebar-nav": { mock: sidebarNavMock, Showcase: SidebarNavShowcase },
197
154
  breadcrumbs: { mock: breadcrumbsMock, Showcase: BreadcrumbsShowcase },
198
- "page-header": { mock: pageHeaderMock, Showcase: PageHeaderShowcase },
199
- "page-container": { mock: pageContainerMock, Showcase: PageContainerShowcase },
200
155
  "page-state": { mock: pageStateMock, Showcase: PageStateShowcase },
201
- "page-tabs": { mock: pageTabsMock, Showcase: PageTabsShowcase },
202
156
  pagination: { mock: paginationMock, Showcase: PaginationShowcase },
203
- "metric-grid": { mock: metricGridMock, Showcase: MetricGridShowcase },
204
157
  "notification-center": { mock: notificationCenterMock, Showcase: NotificationCenterShowcase },
205
- "info-card": { mock: infoCardMock, Showcase: InfoCardShowcase },
158
+ "info-card": { mock: infoCardMock, Showcase: InfoCardShowcase },
159
+ "image-cropper": { mock: imageCropperMock, Showcase: ImageCropperShowcase },
206
160
  list: { mock: listMock, Showcase: ListShowcase },
207
- "property-grid": { mock: propertyGridMock, Showcase: PropertyGridShowcase },
208
161
  "activity-feed": { mock: activityFeedMock, Showcase: ActivityFeedShowcase },
209
162
  "loading-state": { mock: loadingStateMock, Showcase: LoadingStateShowcase },
210
163
  "data-state": { mock: dataStateMock, Showcase: DataStateShowcase },
211
- progress: { mock: progressMock, Showcase: ProgressShowcase },
212
- result: { mock: resultMock, Showcase: ResultShowcase },
164
+ progress: { mock: progressMock, Showcase: ProgressShowcase },
165
+ "progress-circle": { mock: progressMock, Showcase: ProgressShowcase },
213
166
  "resizable-panel": { mock: resizablePanelMock, Showcase: ResizablePanelShowcase },
214
167
  section: { mock: sectionMock, Showcase: SectionShowcase },
215
168
  statistic: { mock: statisticMock, Showcase: StatisticShowcase },
216
- "sticky-footer-bar": { mock: stickyFooterBarMock, Showcase: StickyFooterBarShowcase },
217
169
  tag: { mock: tagMock, Showcase: TagShowcase },
218
170
  typography: { mock: typographyMock, Showcase: TypographyShowcase },
219
171
  "tree-view": { mock: treeViewMock, Showcase: TreeViewShowcase },
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const inputMock: ComponentDemoMock = {
4
- code: `import { useState } from "react"\nimport { Label, Input } from "tembro"\n\nexport function Example() {\n const [query, setQuery] = useState("buttons")\n\n return (\n <form className="space-y-4">\n <div>\n <Label htmlFor="support-email">Support email</Label>\n <Input id="support-email" type="email" defaultValue="team@acme.io" required />\n </div>\n\n <div>\n <Label htmlFor="component-search">Search components</Label>\n <Input\n id="component-search"\n value={query}\n onValueChange={setQuery}\n placeholder="Search by slug or title"\n clearable\n trailingAction={<span className="text-xs text-muted-foreground">12 results</span>}\n replaceTrailingWhenClear={false}\n />\n </div>\n\n <div>\n <Label htmlFor="api-prefix">Cost estimate</Label>\n <Input\n id="api-prefix"\n defaultValue="120"\n readOnly\n trailing={<span className="text-sm aui-text-muted">USD</span>}\n />\n </div>\n\n <div>\n <Label htmlFor="disabled-input">Locked status</Label>\n <Input id="disabled-input" disabled value="Locked while syncing" />\n </div>\n </form>\n )\n}\n`,
4
+ code: `import { useState } from "react"\nimport { Input } from "tembro"\n\nexport function Example() {\n const [query, setQuery] = useState("buttons")\n const [budget, setBudget] = useState<number | null>(1200)\n\n return (\n <div className="grid gap-4">\n <Input\n kind="search"\n value={query}\n onValueChange={setQuery}\n placeholder="Search components"\n clearOnEscape\n />\n <Input kind="password" autoComplete="current-password" />\n <Input kind="money" value={budget} onValueChange={setBudget} prefix="$" suffix="USD" />\n <Input kind="phone" defaultValue="+998 90 123 45 67" />\n <Input kind="date" defaultValue="2026-07-13" />\n <Input kind="quantity" defaultValue={3} min={1} max={12} />\n </div>\n )\n}\n`,
5
5
  htmlCode: `<label for="example">Search components</label>\n<input id="example" data-slot="input" type="text" placeholder="Search components..." />`,
6
6
  cliCommand: "npx tembro add input",
7
7
  highlights: [
@@ -9,7 +9,8 @@ export const inputMock: ComponentDemoMock = {
9
9
  "Label + control association with htmlFor",
10
10
  "Validation-ready required states",
11
11
  "Disabled and readOnly form states",
12
- "Built-in clear action and trailing metadata",
12
+ "Built-in clear action and trailing metadata",
13
+ "Password, numeric, money, phone, date and quantity kinds through one import",
13
14
  ],
14
15
  relatedBlockSlugs: ["users-table", "settings-form", "crm-dashboard"],
15
16
  scenarios: [
@@ -18,6 +18,11 @@ export function InputShowcase({ state, setState }: ComponentDemoProps) {
18
18
  const activeLabel = activeMode === "search" ? searchField.label : "Profile contact"
19
19
  const activePlaceholder = activeMode === "search" ? searchField.placeholder : "owner@azamatui.dev"
20
20
  const activeType = activeMode === "search" ? "text" : "email"
21
+ const [moneyValue, setMoneyValue] = React.useState<number | null>(1250)
22
+ const [quantityValue, setQuantityValue] = React.useState<number | null>(3)
23
+ const [phoneValue, setPhoneValue] = React.useState("+998 90 123 45 67")
24
+ const [dateValue, setDateValue] = React.useState("2026-07-13")
25
+ const [clearableValue, setClearableValue] = React.useState("Azamat UI")
21
26
 
22
27
  return (
23
28
  <div className="space-y-0">
@@ -134,6 +139,68 @@ export function InputShowcase({ state, setState }: ComponentDemoProps) {
134
139
  </div>
135
140
  </div>
136
141
  </section>
142
+
143
+ <section className={panelClass} data-slot="input-kind-showcase">
144
+ <div className="max-w-2xl">
145
+ <p className="text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted">Unified kind API</p>
146
+ <h4 className="mt-2 text-xl font-semibold tracking-tight aui-text-strong">One import, every production input</h4>
147
+ <p className="mt-2 text-sm leading-6 aui-text-muted">
148
+ Change only the <code>kind</code> prop. Validation, disabled state, value callbacks and keyboard behavior stay in the same public component.
149
+ </p>
150
+ </div>
151
+
152
+ <div className="mt-6 grid gap-x-6 gap-y-5 md:grid-cols-2 xl:grid-cols-3">
153
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
154
+ Password
155
+ <Input kind="password" defaultValue="tembro-2026" autoComplete="current-password" />
156
+ <span className="text-xs font-normal aui-text-muted">Built-in visibility toggle and caps-lock feedback.</span>
157
+ </label>
158
+
159
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
160
+ Numeric threshold
161
+ <Input kind="number" defaultValue={24} min={0} max={100} step={1} />
162
+ <span className="text-xs font-normal aui-text-muted">Native limits with normalized numeric callbacks.</span>
163
+ </label>
164
+
165
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
166
+ Budget
167
+ <Input kind="money" value={moneyValue} onValueChange={setMoneyValue} prefix="$" suffix="USD" />
168
+ <span className="text-xs font-normal aui-text-muted">Current value: {moneyValue ?? "empty"}</span>
169
+ </label>
170
+
171
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
172
+ Phone
173
+ <Input kind="phone" value={phoneValue} onValueChange={setPhoneValue} />
174
+ <span className="text-xs font-normal aui-text-muted">Normalized value: {phoneValue || "empty"}</span>
175
+ </label>
176
+
177
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
178
+ Release date
179
+ <Input kind="date" value={dateValue} onValueChange={setDateValue} />
180
+ <span className="text-xs font-normal aui-text-muted">ISO value: {dateValue || "empty"}</span>
181
+ </label>
182
+
183
+ <label className="grid gap-2 text-sm font-medium aui-text-strong">
184
+ Seats
185
+ <Input kind="quantity" value={quantityValue} onValueChange={setQuantityValue} min={1} max={12} />
186
+ <span className="text-xs font-normal aui-text-muted">Use the buttons or type a value directly.</span>
187
+ </label>
188
+ </div>
189
+
190
+ <div className="mt-6 border-t border-[color:var(--aui-divider)] pt-5">
191
+ <label className="grid max-w-xl gap-2 text-sm font-medium aui-text-strong">
192
+ Clearable project name
193
+ <Input
194
+ kind="clearable"
195
+ value={clearableValue}
196
+ onValueChange={setClearableValue}
197
+ placeholder="Enter a project name"
198
+ clearOnEscape
199
+ />
200
+ <span className="text-xs font-normal aui-text-muted">Use the clear control or press Escape while the field is focused.</span>
201
+ </label>
202
+ </div>
203
+ </section>
137
204
  </div>
138
205
  )
139
206
  }
@@ -1,19 +1,22 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const pageStateMock: ComponentDemoMock = {
4
- code: `import { Button, PageState } from "tembro"
4
+ code: `import { Button, InlineState, PageState } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
8
- <PageState
9
- tone="error"
10
- title="Connection failed"
11
- description="We could not sync workspace usage. Retry after restoring the API token."
12
- action={<Button variant="outline">Retry sync</Button>}
13
- />
8
+ <>
9
+ <PageState
10
+ tone="error"
11
+ title="Connection failed"
12
+ description="We could not sync workspace usage. Retry after restoring the API token."
13
+ action={<Button variant="outline">Retry sync</Button>}
14
+ />
15
+ <InlineState tone="empty" title="No comments" onRetry={() => refetch()} />
16
+ </>
14
17
  )
15
18
  }`,
16
- highlights: ["Full-page status surface", "Built for empty, loading, success, info, and error flows", "Single decisive CTA", "Works as route-level fallback or section state"],
19
+ highlights: ["Full-page and compact inline surfaces", "Empty, loading, success, info, and error flows", "Retry and custom action support", "Accessible status and alert roles"],
17
20
  scenarios: [
18
21
  { title: "No data yet", description: "Guide the first useful action when a route has no content." },
19
22
  { title: "Load failed", description: "Keep retry and explanation visible without dropping the user into confusion." },
@@ -1,6 +1,6 @@
1
1
  import * as React from "react"
2
2
 
3
- import { Badge, Button, PageState } from "@/index"
3
+ import { Badge, Button, InlineState, PageState } from "@/index"
4
4
 
5
5
  import type { ComponentDemoProps } from "../types"
6
6
 
@@ -11,6 +11,8 @@ const tones = ["empty", "loading", "error", "success", "info"] as const
11
11
 
12
12
  export function PageStateShowcase({ mode }: ComponentDemoProps) {
13
13
  const [toneIndex, setToneIndex] = React.useState(2)
14
+ const [actionMessage, setActionMessage] = React.useState("No action triggered yet")
15
+ const [retryCount, setRetryCount] = React.useState(0)
14
16
  const tone = tones[toneIndex] ?? "error"
15
17
 
16
18
  return (
@@ -49,14 +51,33 @@ export function PageStateShowcase({ mode }: ComponentDemoProps) {
49
51
  }
50
52
  action={
51
53
  tone === "loading" ? undefined : (
52
- <Button variant={tone === "error" ? "outline" : "default"}>
54
+ <Button variant={tone === "error" ? "outline" : "default"} onClick={() => setActionMessage(`${tone} action completed`)}>
53
55
  {tone === "empty" ? "Create invoice" : tone === "error" ? "Retry sync" : tone === "success" ? "Open dashboard" : "View progress"}
54
56
  </Button>
55
57
  )
56
58
  }
57
- extra={tone === "error" ? <Button variant="ghost">Open logs</Button> : undefined}
59
+ extra={tone === "error" ? <Button variant="ghost" onClick={() => setActionMessage("Logs opened")}>Open logs</Button> : undefined}
58
60
  />
59
61
 
62
+ <section className={panelClass}>
63
+ <div className="grid gap-4 lg:grid-cols-2">
64
+ <InlineState
65
+ tone="error"
66
+ title="Widget unavailable"
67
+ description={`Compact retry state. Attempts: ${retryCount}`}
68
+ retryLabel="Retry widget"
69
+ onRetry={() => setRetryCount((value) => value + 1)}
70
+ />
71
+ <InlineState
72
+ tone="success"
73
+ title="Changes published"
74
+ description="Use the compact surface inside a section without replacing the whole route."
75
+ action={<Button size="sm" onClick={() => setActionMessage("Published changes opened")}>View changes</Button>}
76
+ />
77
+ </div>
78
+ <p aria-live="polite" className="mt-4 text-sm aui-text-muted">{actionMessage}</p>
79
+ </section>
80
+
60
81
  {mode === "playground" ? (
61
82
  <section className={panelClass}>
62
83
  <div className="flex flex-wrap gap-2">
@@ -0,0 +1,2 @@
1
+ export * from "./mock"
2
+ export * from "./showcase"
@@ -0,0 +1,15 @@
1
+ import type { ComponentDemoMock } from "../types"
2
+
3
+ export const qrCodeMock: ComponentDemoMock = {
4
+ code: `import { QRCode } from "tembro"
5
+
6
+ export function Example() {
7
+ return <QRCode value="https://example.com/invoices/INV-2048" errorCorrectionLevel="H" size={180} />
8
+ }`,
9
+ cliCommand: "npx tembro add qr-code",
10
+ highlights: ["Real standards-compliant QR encoding", "SVG output with configurable error correction and colors"],
11
+ scenarios: [
12
+ { title: "Payment links", description: "Encode checkout or invoice URLs into scan-ready symbols." },
13
+ { title: "Device pairing", description: "Share connection payloads with stronger error correction." },
14
+ ],
15
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react"
2
+ import { QRCode } from "@/index"
3
+
4
+ export function QRCodeShowcase() {
5
+ const [value, setValue] = React.useState("https://tembro.dev/components/qr-code")
6
+ return (
7
+ <div className="mx-auto grid max-w-sm justify-items-center gap-4">
8
+ <QRCode value={value} size={184} errorCorrectionLevel="H" />
9
+ <input aria-label="QR code value" value={value} className="h-10 w-full rounded-md border bg-background px-3 text-sm outline-none focus-visible:ring-2 focus-visible:ring-ring" onChange={(event) => setValue(event.target.value)} />
10
+ </div>
11
+ )
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./mock"
2
+ export * from "./showcase"
@@ -0,0 +1,15 @@
1
+ import type { ComponentDemoMock } from "../types"
2
+
3
+ export const richTextEditorMock: ComponentDemoMock = {
4
+ code: `import { RichTextEditor } from "tembro"
5
+
6
+ export function Example() {
7
+ return <RichTextEditor defaultValue="<p>Write the release notes...</p>" onValueChange={console.log} />
8
+ }`,
9
+ cliCommand: "npx tembro add rich-text-editor",
10
+ highlights: ["TipTap and ProseMirror editing engine", "HTML/text output with formatting, history, lists, quotes, and links"],
11
+ scenarios: [
12
+ { title: "Knowledge base", description: "Author structured support and documentation content." },
13
+ { title: "Product updates", description: "Create formatted release notes with controlled persistence." },
14
+ ],
15
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react"
2
+ import { RichTextEditor } from "@/index"
3
+
4
+ export function RichTextEditorShowcase() {
5
+ const [value, setValue] = React.useState("<h2>Release notes</h2><p>Describe what changed for customers.</p>")
6
+ return (
7
+ <div className="grid gap-3">
8
+ <RichTextEditor value={value} onValueChange={setValue} onLinkRequest={() => "https://tembro.dev"} />
9
+ <p className="text-xs text-muted-foreground">{value.length} HTML characters</p>
10
+ </div>
11
+ )
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./mock"
2
+ export * from "./showcase"
@@ -0,0 +1,20 @@
1
+ import type { ComponentDemoMock } from "../types"
2
+
3
+ export const signaturePadMock: ComponentDemoMock = {
4
+ code: `import { SignaturePad } from "tembro"
5
+
6
+ export function Example() {
7
+ return (
8
+ <SignaturePad
9
+ onValueChange={(strokes) => console.log(strokes)}
10
+ onStrokeEnd={(stroke) => console.log(stroke)}
11
+ />
12
+ )
13
+ }`,
14
+ cliCommand: "npx tembro add signature-pad",
15
+ highlights: ["Controlled normalized stroke data", "Undo, clear, pointer capture, and PNG export API"],
16
+ scenarios: [
17
+ { title: "Approval flow", description: "Capture a signature without coupling form state to canvas pixels." },
18
+ { title: "Delivery proof", description: "Store normalized strokes or export the rendered signature as PNG." },
19
+ ],
20
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from "react"
2
+
3
+ import { SignaturePad, type SignatureStroke } from "@/index"
4
+
5
+ export function SignaturePadShowcase() {
6
+ const [strokes, setStrokes] = React.useState<SignatureStroke[]>([])
7
+
8
+ return (
9
+ <div className="mx-auto grid w-full max-w-xl gap-3">
10
+ <SignaturePad value={strokes} onValueChange={setStrokes} />
11
+ <p className="text-sm text-muted-foreground">{strokes.length} stroke{strokes.length === 1 ? "" : "s"} captured</p>
12
+ </div>
13
+ )
14
+ }