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,8 +1,4 @@
1
1
  export * from "./app-header"
2
2
  export * from "./app-sidebar"
3
- export * from "./stat-card"
4
- export * from "./sidebar-nav"
5
3
  export * from "./breadcrumbs"
6
- export * from "./page-container"
7
4
  export * from "./section"
8
- export * from "./sticky-footer-bar"
@@ -1,7 +1,3 @@
1
1
  export * from "./app-sidebar"
2
2
  export * from "./breadcrumbs"
3
- export * from "./page-container"
4
3
  export * from "./section"
5
- export * from "./section-header"
6
- export * from "./sidebar-nav"
7
- export * from "./sticky-footer-bar"
@@ -1,8 +1,11 @@
1
+ "use client"
2
+
1
3
  import * as React from "react"
2
4
 
3
5
  import { Badge } from "@/components/ui/badge"
4
6
  import { Tooltip } from "@/components/ui/tooltip"
5
7
  import { cn } from "@/lib/utils"
8
+ import { ControllableDetails } from "./controllable-details"
6
9
 
7
10
  export type SidebarNavItem = {
8
11
  key: string
@@ -17,6 +20,8 @@ export type SidebarNavItem = {
17
20
  hidden?: boolean
18
21
  sectionLabel?: React.ReactNode
19
22
  defaultExpanded?: boolean
23
+ expanded?: boolean
24
+ onExpandedChange?: (expanded: boolean) => void
20
25
  tooltip?: React.ReactNode
21
26
  onSelect?: () => void
22
27
  }
@@ -26,6 +31,9 @@ export type SidebarNavProps = React.ComponentProps<"nav"> & {
26
31
  collapsed?: boolean
27
32
  scrollable?: boolean
28
33
  tooltipOnCollapsed?: boolean
34
+ showSectionLabels?: boolean
35
+ itemSize?: "sm" | "md" | "lg"
36
+ activeIndicator?: "none" | "bar" | "pill"
29
37
  itemClassName?: string
30
38
  activeItemClassName?: string
31
39
  renderItem?: (item: SidebarNavItem, element: React.ReactNode) => React.ReactNode
@@ -45,6 +53,8 @@ function SidebarLeaf({
45
53
  item,
46
54
  collapsed,
47
55
  depth,
56
+ itemSize,
57
+ activeIndicator,
48
58
  itemClassName,
49
59
  activeItemClassName,
50
60
  renderLink,
@@ -52,6 +62,8 @@ function SidebarLeaf({
52
62
  item: SidebarNavItem
53
63
  collapsed: boolean
54
64
  depth: number
65
+ itemSize: NonNullable<SidebarNavProps["itemSize"]>
66
+ activeIndicator: NonNullable<SidebarNavProps["activeIndicator"]>
55
67
  itemClassName?: string
56
68
  activeItemClassName?: string
57
69
  renderLink?: SidebarNavProps["renderLink"]
@@ -70,7 +82,7 @@ function SidebarLeaf({
70
82
  )
71
83
 
72
84
  const commonClassName = cn(
73
- "group flex min-h-9 items-center gap-2 rounded-xl border border-transparent px-2.5 text-sm font-medium text-[color:var(--aui-page-muted-strong,var(--muted-foreground))] transition-[background-color,border-color,color,box-shadow] hover:border-[color:var(--aui-divider)] hover:bg-[color:var(--aui-page-bg-alt)] hover:text-[color:var(--aui-page-foreground)] data-[active=true]:border-[color:var(--aui-surface-border-strong,var(--ring))] data-[active=true]:bg-[color:var(--aui-control-bg)] data-[active=true]:text-[color:var(--aui-page-foreground)] data-[active=true]:shadow-[inset_0_1px_0_rgba(255,255,255,0.25)] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
85
+ "group flex items-center gap-2 border border-transparent text-sm font-medium transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
74
86
  collapsed && "justify-center px-0",
75
87
  depth > 0 && !collapsed && "pl-3",
76
88
  itemClassName,
@@ -98,6 +110,8 @@ function SidebarLeaf({
98
110
  "data-depth": String(depth),
99
111
  "data-active": item.active || undefined,
100
112
  "data-disabled": item.disabled || undefined,
113
+ "data-size": itemSize,
114
+ "data-active-indicator": activeIndicator,
101
115
  "aria-current": currentValue,
102
116
  className: commonClassName,
103
117
  onClick: (event) => {
@@ -119,6 +133,8 @@ function SidebarLeaf({
119
133
  data-depth={depth}
120
134
  data-active={item.active || undefined}
121
135
  data-disabled={item.disabled || undefined}
136
+ data-size={itemSize}
137
+ data-active-indicator={activeIndicator}
122
138
  aria-current={currentValue}
123
139
  className={commonClassName}
124
140
  onClick={(event) => {
@@ -142,6 +158,8 @@ function SidebarLeaf({
142
158
  data-depth={depth}
143
159
  data-active={item.active || undefined}
144
160
  data-disabled={item.disabled || undefined}
161
+ data-size={itemSize}
162
+ data-active-indicator={activeIndicator}
145
163
  aria-current={currentValue}
146
164
  className={cn("w-full text-left", commonClassName)}
147
165
  onClick={() => {
@@ -168,6 +186,8 @@ function SidebarLeaf({
168
186
  data-depth={depth}
169
187
  data-active={item.active || undefined}
170
188
  data-disabled={item.disabled || undefined}
189
+ data-size={itemSize}
190
+ data-active-indicator={activeIndicator}
171
191
  aria-current={currentValue}
172
192
  disabled={item.disabled}
173
193
  className={cn("w-full text-left", commonClassName)}
@@ -182,6 +202,9 @@ function SidebarTree({
182
202
  items,
183
203
  collapsed,
184
204
  depth,
205
+ showSectionLabels,
206
+ itemSize,
207
+ activeIndicator,
185
208
  itemClassName,
186
209
  activeItemClassName,
187
210
  renderItem,
@@ -190,6 +213,9 @@ function SidebarTree({
190
213
  items: SidebarNavItem[]
191
214
  collapsed: boolean
192
215
  depth: number
216
+ showSectionLabels: boolean
217
+ itemSize: NonNullable<SidebarNavProps["itemSize"]>
218
+ activeIndicator: NonNullable<SidebarNavProps["activeIndicator"]>
193
219
  itemClassName?: string
194
220
  activeItemClassName?: string
195
221
  renderItem?: SidebarNavProps["renderItem"]
@@ -198,7 +224,7 @@ function SidebarTree({
198
224
  return items.map((item) => {
199
225
  if (item.hidden) return null
200
226
 
201
- const showSectionLabel = !collapsed && depth === 0 && item.sectionLabel
227
+ const showSectionLabel = showSectionLabels && !collapsed && depth === 0 && item.sectionLabel
202
228
  const hasChildren = hasVisibleChildren(item)
203
229
 
204
230
  if (!hasChildren) {
@@ -207,6 +233,8 @@ function SidebarTree({
207
233
  item={item}
208
234
  collapsed={collapsed}
209
235
  depth={depth}
236
+ itemSize={itemSize}
237
+ activeIndicator={activeIndicator}
210
238
  itemClassName={itemClassName}
211
239
  activeItemClassName={activeItemClassName}
212
240
  renderLink={renderLink}
@@ -273,10 +301,12 @@ function SidebarTree({
273
301
  {item.sectionLabel}
274
302
  </div>
275
303
  ) : null}
276
- <details
304
+ <ControllableDetails
277
305
  data-slot="sidebar-nav-group-details"
278
- open={isExpanded}
306
+ open={item.expanded}
307
+ defaultOpen={isExpanded}
279
308
  className="group/sidebar-nav-details"
309
+ onOpenChange={item.onExpandedChange}
280
310
  >
281
311
  {trigger}
282
312
  <div
@@ -287,13 +317,16 @@ function SidebarTree({
287
317
  items={item.items ?? []}
288
318
  collapsed={collapsed}
289
319
  depth={depth + 1}
320
+ showSectionLabels={showSectionLabels}
321
+ itemSize={itemSize}
322
+ activeIndicator={activeIndicator}
290
323
  itemClassName={itemClassName}
291
324
  activeItemClassName={activeItemClassName}
292
325
  renderItem={renderItem}
293
326
  renderLink={renderLink}
294
327
  />
295
328
  </div>
296
- </details>
329
+ </ControllableDetails>
297
330
  </div>
298
331
  )
299
332
 
@@ -306,6 +339,9 @@ function SidebarNav({
306
339
  items,
307
340
  collapsed = false,
308
341
  scrollable = true,
342
+ showSectionLabels = true,
343
+ itemSize = "md",
344
+ activeIndicator = "bar",
309
345
  itemClassName,
310
346
  activeItemClassName,
311
347
  renderItem,
@@ -316,6 +352,7 @@ function SidebarNav({
316
352
 
317
353
  return (
318
354
  <nav
355
+ aria-label="Primary navigation"
319
356
  data-slot="sidebar-nav"
320
357
  data-collapsed={collapsed || undefined}
321
358
  className={cn("grid min-h-0 gap-1", scrollable ? "overflow-y-auto overscroll-contain" : null, className)}
@@ -325,6 +362,9 @@ function SidebarNav({
325
362
  items={visibleItems}
326
363
  collapsed={collapsed}
327
364
  depth={0}
365
+ showSectionLabels={showSectionLabels}
366
+ itemSize={itemSize}
367
+ activeIndicator={activeIndicator}
328
368
  itemClassName={itemClassName}
329
369
  activeItemClassName={activeItemClassName}
330
370
  renderItem={renderItem}
@@ -0,0 +1,226 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import Cropper, { type Area, type Point } from "react-easy-crop"
5
+ import { RotateCwIcon, ZoomInIcon } from "lucide-react"
6
+
7
+ import { cn } from "@/lib/utils"
8
+
9
+ function degreesToRadians(degrees: number) {
10
+ return (degrees * Math.PI) / 180
11
+ }
12
+
13
+ function getRotatedSize(width: number, height: number, rotation: number) {
14
+ const radians = degreesToRadians(rotation)
15
+ return {
16
+ width: Math.abs(Math.cos(radians) * width) + Math.abs(Math.sin(radians) * height),
17
+ height: Math.abs(Math.sin(radians) * width) + Math.abs(Math.cos(radians) * height),
18
+ }
19
+ }
20
+
21
+ function loadImage(src: string, crossOrigin?: string) {
22
+ return new Promise<HTMLImageElement>((resolve, reject) => {
23
+ const image = new Image()
24
+ if (crossOrigin) image.crossOrigin = crossOrigin
25
+ image.onload = () => resolve(image)
26
+ image.onerror = () => reject(new Error("Crop source image could not be loaded"))
27
+ image.src = src
28
+ })
29
+ }
30
+
31
+ export async function createCroppedImageBlob({
32
+ src,
33
+ crop,
34
+ rotation = 0,
35
+ type = "image/png",
36
+ quality = 0.92,
37
+ crossOrigin = "anonymous",
38
+ }: {
39
+ src: string
40
+ crop: Area
41
+ rotation?: number
42
+ type?: string
43
+ quality?: number
44
+ crossOrigin?: string
45
+ }) {
46
+ const image = await loadImage(src, crossOrigin)
47
+ const rotatedSize = getRotatedSize(image.naturalWidth, image.naturalHeight, rotation)
48
+ const sourceCanvas = document.createElement("canvas")
49
+ sourceCanvas.width = Math.ceil(rotatedSize.width)
50
+ sourceCanvas.height = Math.ceil(rotatedSize.height)
51
+ const sourceContext = sourceCanvas.getContext("2d")
52
+ if (!sourceContext) throw new Error("Canvas 2D context is unavailable")
53
+
54
+ sourceContext.translate(sourceCanvas.width / 2, sourceCanvas.height / 2)
55
+ sourceContext.rotate(degreesToRadians(rotation))
56
+ sourceContext.translate(-image.naturalWidth / 2, -image.naturalHeight / 2)
57
+ sourceContext.drawImage(image, 0, 0)
58
+
59
+ const outputCanvas = document.createElement("canvas")
60
+ outputCanvas.width = Math.max(1, Math.round(crop.width))
61
+ outputCanvas.height = Math.max(1, Math.round(crop.height))
62
+ const outputContext = outputCanvas.getContext("2d")
63
+ if (!outputContext) throw new Error("Canvas 2D context is unavailable")
64
+ outputContext.drawImage(
65
+ sourceCanvas,
66
+ Math.round(crop.x),
67
+ Math.round(crop.y),
68
+ Math.round(crop.width),
69
+ Math.round(crop.height),
70
+ 0,
71
+ 0,
72
+ outputCanvas.width,
73
+ outputCanvas.height
74
+ )
75
+
76
+ return new Promise<Blob>((resolve, reject) => {
77
+ outputCanvas.toBlob(
78
+ (blob) => (blob ? resolve(blob) : reject(new Error("Cropped image could not be encoded"))),
79
+ type,
80
+ quality
81
+ )
82
+ })
83
+ }
84
+
85
+ export type ImageCropperProps = Omit<React.ComponentProps<"div">, "onChange"> & {
86
+ src: string
87
+ alt?: string
88
+ crop?: Point
89
+ defaultCrop?: Point
90
+ onCropChange?: (crop: Point) => void
91
+ zoom?: number
92
+ defaultZoom?: number
93
+ onZoomChange?: (zoom: number) => void
94
+ rotation?: number
95
+ defaultRotation?: number
96
+ onRotationChange?: (rotation: number) => void
97
+ onCropComplete?: (area: Area, areaPixels: Area) => void
98
+ aspect?: number
99
+ cropShape?: "rect" | "round"
100
+ objectFit?: "contain" | "cover" | "horizontal-cover" | "vertical-cover"
101
+ minZoom?: number
102
+ maxZoom?: number
103
+ zoomStep?: number
104
+ showGrid?: boolean
105
+ disabled?: boolean
106
+ labels?: {
107
+ cropper?: string
108
+ zoom?: string
109
+ rotation?: string
110
+ }
111
+ }
112
+
113
+ function ImageCropper({
114
+ src,
115
+ alt = "Image crop preview",
116
+ crop,
117
+ defaultCrop = { x: 0, y: 0 },
118
+ onCropChange,
119
+ zoom,
120
+ defaultZoom = 1,
121
+ onZoomChange,
122
+ rotation,
123
+ defaultRotation = 0,
124
+ onRotationChange,
125
+ onCropComplete,
126
+ aspect = 1,
127
+ cropShape = "rect",
128
+ objectFit = "contain",
129
+ minZoom = 1,
130
+ maxZoom = 3,
131
+ zoomStep = 0.1,
132
+ showGrid = true,
133
+ disabled = false,
134
+ labels,
135
+ className,
136
+ ...props
137
+ }: ImageCropperProps) {
138
+ const [internalCrop, setInternalCrop] = React.useState(defaultCrop)
139
+ const [internalZoom, setInternalZoom] = React.useState(defaultZoom)
140
+ const [internalRotation, setInternalRotation] = React.useState(defaultRotation)
141
+ const currentCrop = crop ?? internalCrop
142
+ const currentZoom = zoom ?? internalZoom
143
+ const currentRotation = rotation ?? internalRotation
144
+
145
+ return (
146
+ <div data-slot="image-cropper" data-disabled={disabled || undefined} className={cn("grid gap-3 data-[disabled]:opacity-60", className)} {...props}>
147
+ <div
148
+ role="img"
149
+ aria-label={labels?.cropper ?? alt}
150
+ className={cn("relative min-h-64 overflow-hidden rounded-md bg-black", disabled && "pointer-events-none")}
151
+ style={{ aspectRatio: aspect }}
152
+ >
153
+ <Cropper
154
+ image={src}
155
+ crop={currentCrop}
156
+ zoom={currentZoom}
157
+ rotation={currentRotation}
158
+ aspect={aspect}
159
+ cropShape={cropShape}
160
+ objectFit={objectFit}
161
+ minZoom={minZoom}
162
+ maxZoom={maxZoom}
163
+ zoomSpeed={zoomStep}
164
+ showGrid={showGrid}
165
+ onCropChange={(nextCrop) => {
166
+ if (crop === undefined) setInternalCrop(nextCrop)
167
+ onCropChange?.(nextCrop)
168
+ }}
169
+ onZoomChange={(nextZoom) => {
170
+ if (zoom === undefined) setInternalZoom(nextZoom)
171
+ onZoomChange?.(nextZoom)
172
+ }}
173
+ onRotationChange={(nextRotation) => {
174
+ if (rotation === undefined) setInternalRotation(nextRotation)
175
+ onRotationChange?.(nextRotation)
176
+ }}
177
+ onCropComplete={onCropComplete}
178
+ />
179
+ </div>
180
+ <div className="grid gap-2 sm:grid-cols-2">
181
+ <label className="grid grid-cols-[auto_1fr_auto] items-center gap-2 text-xs text-muted-foreground">
182
+ <ZoomInIcon className="size-4" aria-hidden="true" />
183
+ <span className="sr-only">{labels?.zoom ?? "Zoom"}</span>
184
+ <input
185
+ type="range"
186
+ min={minZoom}
187
+ max={maxZoom}
188
+ step={zoomStep}
189
+ value={currentZoom}
190
+ disabled={disabled}
191
+ aria-label={labels?.zoom ?? "Zoom"}
192
+ className="w-full accent-foreground"
193
+ onChange={(event) => {
194
+ const nextZoom = Number(event.target.value)
195
+ if (zoom === undefined) setInternalZoom(nextZoom)
196
+ onZoomChange?.(nextZoom)
197
+ }}
198
+ />
199
+ <span className="w-9 text-right tabular-nums">{currentZoom.toFixed(1)}x</span>
200
+ </label>
201
+ <label className="grid grid-cols-[auto_1fr_auto] items-center gap-2 text-xs text-muted-foreground">
202
+ <RotateCwIcon className="size-4" aria-hidden="true" />
203
+ <span className="sr-only">{labels?.rotation ?? "Rotation"}</span>
204
+ <input
205
+ type="range"
206
+ min="-180"
207
+ max="180"
208
+ step="1"
209
+ value={currentRotation}
210
+ disabled={disabled}
211
+ aria-label={labels?.rotation ?? "Rotation"}
212
+ className="w-full accent-foreground"
213
+ onChange={(event) => {
214
+ const nextRotation = Number(event.target.value)
215
+ if (rotation === undefined) setInternalRotation(nextRotation)
216
+ onRotationChange?.(nextRotation)
217
+ }}
218
+ />
219
+ <span className="w-10 text-right tabular-nums">{Math.round(currentRotation)}°</span>
220
+ </label>
221
+ </div>
222
+ </div>
223
+ )
224
+ }
225
+
226
+ export { ImageCropper }
@@ -1,6 +1,5 @@
1
- export * from "../display/carousel"
2
- export * from "../display/tag"
3
- export * from "../display/typography"
4
1
  export * from "./calendar-scheduler"
5
2
  export * from "./dual-list-picker"
6
3
  export * from "./resizable-panel"
4
+ export * from "./rich-text-editor"
5
+ export * from "./image-cropper"
@@ -1,58 +1,199 @@
1
1
  "use client"
2
2
 
3
3
  import * as React from "react"
4
+ import { EditorContent, useEditor, type Editor } from "@tiptap/react"
5
+ import StarterKit from "@tiptap/starter-kit"
6
+ import Link from "@tiptap/extension-link"
7
+ import Placeholder from "@tiptap/extension-placeholder"
8
+ import {
9
+ BoldIcon,
10
+ CodeIcon,
11
+ Heading2Icon,
12
+ ItalicIcon,
13
+ LinkIcon,
14
+ ListIcon,
15
+ ListOrderedIcon,
16
+ QuoteIcon,
17
+ Redo2Icon,
18
+ StrikethroughIcon,
19
+ Undo2Icon,
20
+ UnlinkIcon,
21
+ } from "lucide-react"
4
22
 
5
23
  import { cn } from "@/lib/utils"
6
24
 
7
- export type RichTextEditorProps = React.ComponentProps<"div"> & {
25
+ export type RichTextEditorProps = Omit<React.ComponentProps<"div">, "defaultValue" | "onChange"> & {
8
26
  value?: string
9
27
  defaultValue?: string
10
28
  onValueChange?: (value: string) => void
11
29
  output?: "text" | "html"
12
30
  placeholder?: string
31
+ editable?: boolean
32
+ autoFocus?: boolean
33
+ minHeight?: number
34
+ onLinkRequest?: (currentHref?: string) => string | null | undefined
35
+ labels?: {
36
+ editor?: string
37
+ toolbar?: string
38
+ }
13
39
  }
14
40
 
15
- function RichTextEditor({
41
+ type ToolbarAction = {
42
+ label: string
43
+ icon: React.ComponentType<{ className?: string }>
44
+ active?: boolean
45
+ disabled?: boolean
46
+ run: () => void
47
+ }
48
+
49
+ function escapeHtml(value: string) {
50
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;")
51
+ }
52
+
53
+ function contentForEditor(value: string, output: "text" | "html") {
54
+ return output === "html" ? value : `<p>${escapeHtml(value)}</p>`
55
+ }
56
+
57
+ function EditorToolbar({ editor, onLinkRequest, label }: { editor: Editor; onLinkRequest?: RichTextEditorProps["onLinkRequest"]; label: string }) {
58
+ const linkHref = editor.getAttributes("link").href as string | undefined
59
+ const actions: ToolbarAction[] = [
60
+ { label: "Undo", icon: Undo2Icon, disabled: !editor.can().undo(), run: () => editor.chain().focus().undo().run() },
61
+ { label: "Redo", icon: Redo2Icon, disabled: !editor.can().redo(), run: () => editor.chain().focus().redo().run() },
62
+ { label: "Bold", icon: BoldIcon, active: editor.isActive("bold"), run: () => editor.chain().focus().toggleBold().run() },
63
+ { label: "Italic", icon: ItalicIcon, active: editor.isActive("italic"), run: () => editor.chain().focus().toggleItalic().run() },
64
+ { label: "Strike", icon: StrikethroughIcon, active: editor.isActive("strike"), run: () => editor.chain().focus().toggleStrike().run() },
65
+ { label: "Inline code", icon: CodeIcon, active: editor.isActive("code"), run: () => editor.chain().focus().toggleCode().run() },
66
+ { label: "Heading", icon: Heading2Icon, active: editor.isActive("heading", { level: 2 }), run: () => editor.chain().focus().toggleHeading({ level: 2 }).run() },
67
+ { label: "Bullet list", icon: ListIcon, active: editor.isActive("bulletList"), run: () => editor.chain().focus().toggleBulletList().run() },
68
+ { label: "Ordered list", icon: ListOrderedIcon, active: editor.isActive("orderedList"), run: () => editor.chain().focus().toggleOrderedList().run() },
69
+ { label: "Blockquote", icon: QuoteIcon, active: editor.isActive("blockquote"), run: () => editor.chain().focus().toggleBlockquote().run() },
70
+ ]
71
+
72
+ if (onLinkRequest) {
73
+ actions.push({
74
+ label: "Set link",
75
+ icon: LinkIcon,
76
+ active: editor.isActive("link"),
77
+ run: () => {
78
+ const href = onLinkRequest(linkHref)
79
+ if (href === null || href === undefined) return
80
+ if (!href.trim()) editor.chain().focus().unsetLink().run()
81
+ else editor.chain().focus().extendMarkRange("link").setLink({ href: href.trim() }).run()
82
+ },
83
+ })
84
+ }
85
+
86
+ if (editor.isActive("link")) {
87
+ actions.push({ label: "Remove link", icon: UnlinkIcon, run: () => editor.chain().focus().unsetLink().run() })
88
+ }
89
+
90
+ return (
91
+ <div role="toolbar" aria-label={label} className="flex flex-wrap gap-1 border-b p-1.5">
92
+ {actions.map((action) => {
93
+ const Icon = action.icon
94
+ return (
95
+ <button
96
+ key={action.label}
97
+ type="button"
98
+ title={action.label}
99
+ aria-label={action.label}
100
+ aria-pressed={action.active || undefined}
101
+ disabled={action.disabled}
102
+ className="inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring aria-pressed:bg-accent aria-pressed:text-foreground disabled:pointer-events-none disabled:opacity-40"
103
+ onClick={action.run}
104
+ >
105
+ <Icon className="size-4" />
106
+ </button>
107
+ )
108
+ })}
109
+ </div>
110
+ )
111
+ }
112
+
113
+ function MountedRichTextEditor({
16
114
  value,
17
- defaultValue,
115
+ defaultValue = "",
18
116
  onValueChange,
19
- output: _output,
117
+ output = "html",
20
118
  placeholder = "Start typing...",
119
+ editable = true,
120
+ autoFocus = false,
121
+ minHeight = 144,
122
+ onLinkRequest,
123
+ labels,
21
124
  className,
22
- children,
23
125
  ...props
24
126
  }: RichTextEditorProps) {
25
- const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue ?? "")
26
- const isControlled = value !== undefined
27
- const currentValue = isControlled ? value ?? "" : uncontrolledValue
127
+ const initialContent = value ?? defaultValue
128
+ const editor = useEditor({
129
+ immediatelyRender: true,
130
+ autofocus: autoFocus,
131
+ editable,
132
+ editorProps: {
133
+ attributes: {
134
+ "aria-label": labels?.editor ?? "Rich text editor",
135
+ role: "textbox",
136
+ },
137
+ },
138
+ content: contentForEditor(initialContent, output),
139
+ extensions: [
140
+ StarterKit.configure({ link: false }),
141
+ Link.configure({ openOnClick: false, autolink: true, defaultProtocol: "https" }),
142
+ Placeholder.configure({ placeholder }),
143
+ ],
144
+ onUpdate: ({ editor: nextEditor }) => {
145
+ onValueChange?.(output === "html" ? nextEditor.getHTML() : nextEditor.getText())
146
+ },
147
+ })
148
+
149
+ React.useEffect(() => {
150
+ if (!editor || value === undefined) return
151
+ const currentValue = output === "html" ? editor.getHTML() : editor.getText()
152
+ if (currentValue !== value) editor.commands.setContent(contentForEditor(value, output), { emitUpdate: false })
153
+ }, [editor, output, value])
154
+
155
+ React.useEffect(() => {
156
+ editor?.setEditable(editable)
157
+ }, [editable, editor])
28
158
 
29
159
  return (
30
160
  <div
31
- {...props}
32
161
  data-slot="rich-text-editor"
33
- className={cn(
34
- "min-h-28 rounded-[var(--aui-control-radius,var(--radius-md))] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-3 py-2 text-sm leading-6 text-foreground shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))] outline-none transition-[background-color,border-color,box-shadow] focus-within:border-[color:var(--ring)] focus-within:shadow-[0_0_0_1px_var(--aui-focus-ring,var(--ring)),0_0_0_4px_var(--aui-focus-ring-soft,transparent)]",
35
- className
36
- )}
162
+ data-disabled={!editable || undefined}
163
+ className={cn("overflow-hidden rounded-md border bg-background shadow-sm focus-within:ring-2 focus-within:ring-ring data-[disabled]:opacity-60", className)}
164
+ {...props}
37
165
  >
38
- <textarea
39
- value={currentValue}
40
- placeholder={placeholder}
41
- aria-multiline="true"
42
- className={cn(
43
- "min-h-20 w-full resize-none border-0 bg-transparent p-0 outline-none placeholder:text-muted-foreground/65"
44
- )}
45
- onChange={(event) => {
46
- const nextValue = event.currentTarget.value
47
- if (!isControlled) {
48
- setUncontrolledValue(nextValue)
49
- }
50
- onValueChange?.(nextValue)
51
- }}
166
+ {editor && editable ? <EditorToolbar editor={editor} onLinkRequest={onLinkRequest} label={labels?.toolbar ?? "Text formatting"} /> : null}
167
+ <EditorContent
168
+ editor={editor}
169
+ aria-label={labels?.editor ?? "Rich text editor"}
170
+ className="[&_.tiptap]:px-3 [&_.tiptap]:py-2.5 [&_.tiptap]:outline-none [&_.tiptap_a]:text-primary [&_.tiptap_a]:underline [&_.tiptap_blockquote]:border-l-2 [&_.tiptap_blockquote]:pl-3 [&_.tiptap_h2]:text-lg [&_.tiptap_h2]:font-semibold [&_.tiptap_ol]:list-decimal [&_.tiptap_ol]:pl-6 [&_.tiptap_p.is-editor-empty:first-child:before]:pointer-events-none [&_.tiptap_p.is-editor-empty:first-child:before]:float-left [&_.tiptap_p.is-editor-empty:first-child:before]:h-0 [&_.tiptap_p.is-editor-empty:first-child:before]:text-muted-foreground [&_.tiptap_p.is-editor-empty:first-child:before]:content-[attr(data-placeholder)] [&_.tiptap_ul]:list-disc [&_.tiptap_ul]:pl-6"
171
+ style={{ minHeight }}
52
172
  />
53
- {children}
54
173
  </div>
55
174
  )
56
175
  }
57
176
 
58
- export { RichTextEditor }
177
+ function RichTextEditor(props: RichTextEditorProps) {
178
+ const [mounted, setMounted] = React.useState(false)
179
+
180
+ React.useEffect(() => {
181
+ setMounted(true)
182
+ }, [])
183
+
184
+ if (!mounted) {
185
+ return (
186
+ <div
187
+ data-slot="rich-text-editor"
188
+ data-state="loading"
189
+ className={cn("overflow-hidden rounded-md border bg-background shadow-sm", props.className)}
190
+ style={{ minHeight: props.minHeight ?? 144 }}
191
+ aria-busy="true"
192
+ />
193
+ )
194
+ }
195
+
196
+ return <MountedRichTextEditor {...props} />
197
+ }
198
+
199
+ export { EditorToolbar, RichTextEditor }
@@ -2,7 +2,4 @@ import { component, createShowcaseDemoRegistry } from "@/showcase/create-demo"
2
2
 
3
3
  export const navigationShowcaseDemoRegistry = createShowcaseDemoRegistry([
4
4
  component("pagination", "Pagination", "navigation", "Controlled page navigation with edge buttons and active state."),
5
- component("nav-tabs", "NavTabs", "navigation", "Navigation tabs for switching related document sections."),
6
- component("page-tabs", "PageTabs", "navigation", "Top-level page tab strip for route-sized sections."),
7
- component("stepper-tabs", "StepperTabs", "navigation", "Step-like tabs for setup and onboarding progress."),
8
5
  ])
@@ -1,6 +1 @@
1
- export * from "./anchor-nav"
2
- export * from "./nav-tabs"
3
- export * from "./page-tabs"
4
1
  export * from "./pagination"
5
- export * from "./stepper-tabs"
6
- export * from "./command-bar"