tembro 2.0.3 → 2.0.4

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 (239) hide show
  1. package/dist/components/display/index.cjs +1 -1
  2. package/dist/components/display/index.d.ts +0 -5
  3. package/dist/components/display/index.js +22 -27
  4. package/dist/components/form/demo.cjs +1 -1
  5. package/dist/components/form/demo.js +1 -2
  6. package/dist/components/form/index.cjs +1 -1
  7. package/dist/components/form/index.d.ts +0 -1
  8. package/dist/components/form/index.js +8 -9
  9. package/dist/components/form/public.cjs +1 -1
  10. package/dist/components/form/public.d.ts +0 -1
  11. package/dist/components/form/public.js +8 -9
  12. package/dist/components/inputs/index.cjs +1 -1
  13. package/dist/components/inputs/index.d.ts +0 -2
  14. package/dist/components/inputs/index.js +3 -5
  15. package/dist/components/inputs/public.cjs +1 -1
  16. package/dist/components/inputs/public.d.ts +0 -2
  17. package/dist/components/inputs/public.js +3 -5
  18. package/dist/components/layout/index.cjs +1 -1
  19. package/dist/components/layout/index.d.ts +0 -1
  20. package/dist/components/layout/index.js +4 -5
  21. package/dist/components/layout/public.cjs +1 -1
  22. package/dist/components/layout/public.d.ts +0 -1
  23. package/dist/components/layout/public.js +2 -3
  24. package/dist/components/modern/index.cjs +1 -1
  25. package/dist/components/modern/index.d.ts +0 -4
  26. package/dist/components/modern/index.js +12 -16
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.js +117 -130
  29. package/dist/public-component-surface.cjs +1 -1
  30. package/dist/public-component-surface.js +0 -65
  31. package/dist/showcase/fallback.cjs +3 -3
  32. package/dist/showcase/fallback.js +140 -314
  33. package/dist/showcase/premium/index.cjs +1 -1
  34. package/dist/showcase/premium/index.js +431 -497
  35. package/dist/showcase/registry-quality.cjs +1 -1
  36. package/dist/showcase/registry-quality.js +0 -1
  37. package/dist/showcase/tembro-registry.json.cjs +1 -1
  38. package/dist/showcase/tembro-registry.json.js +3 -11
  39. package/package.json +1 -1
  40. package/packages/cli/dist/index.cjs +2 -2
  41. package/packages/cli/vendor/src/components/display/index.ts +0 -5
  42. package/packages/cli/vendor/src/components/form/demo.tsx +0 -1
  43. package/packages/cli/vendor/src/components/form/index.ts +0 -1
  44. package/packages/cli/vendor/src/components/form/public.ts +0 -2
  45. package/packages/cli/vendor/src/components/inputs/index.ts +0 -2
  46. package/packages/cli/vendor/src/components/inputs/public.ts +0 -2
  47. package/packages/cli/vendor/src/components/layout/index.ts +0 -1
  48. package/packages/cli/vendor/src/components/layout/public.ts +0 -1
  49. package/packages/cli/vendor/src/components/modern/index.ts +1 -5
  50. package/packages/cli/vendor/src/public-component-surface.ts +0 -13
  51. package/packages/cli/vendor/src/showcase/fallback.tsx +3 -164
  52. package/packages/cli/vendor/src/showcase/premium/index.ts +0 -22
  53. package/packages/cli/vendor/src/showcase/registry-quality.ts +0 -2
  54. package/packages/cli/vendor/src/showcase/tembro-registry.json +224 -251
  55. package/registry.json +296 -324
  56. package/dist/components/display/aspect-ratio.cjs +0 -1
  57. package/dist/components/display/aspect-ratio.d.ts +0 -6
  58. package/dist/components/display/aspect-ratio.js +0 -21
  59. package/dist/components/display/float-button.cjs +0 -1
  60. package/dist/components/display/float-button.d.ts +0 -6
  61. package/dist/components/display/float-button.js +0 -20
  62. package/dist/components/display/key-value-card.cjs +0 -1
  63. package/dist/components/display/key-value-card.d.ts +0 -16
  64. package/dist/components/display/key-value-card.js +0 -35
  65. package/dist/components/display/keyboard-shortcut.cjs +0 -1
  66. package/dist/components/display/keyboard-shortcut.d.ts +0 -7
  67. package/dist/components/display/keyboard-shortcut.js +0 -18
  68. package/dist/components/display/skeleton-form.cjs +0 -1
  69. package/dist/components/display/skeleton-form.d.ts +0 -9
  70. package/dist/components/display/skeleton-form.js +0 -31
  71. package/dist/components/display/skeleton-table.cjs +0 -1
  72. package/dist/components/display/skeleton-table.d.ts +0 -9
  73. package/dist/components/display/skeleton-table.js +0 -42
  74. package/dist/components/display/tag-list.cjs +0 -1
  75. package/dist/components/display/tag-list.d.ts +0 -17
  76. package/dist/components/display/tag-list.js +0 -30
  77. package/dist/components/display/watermark.cjs +0 -1
  78. package/dist/components/display/watermark.d.ts +0 -6
  79. package/dist/components/display/watermark.js +0 -23
  80. package/dist/components/form/repeater-field.cjs +0 -1
  81. package/dist/components/form/repeater-field.d.ts +0 -16
  82. package/dist/components/form/repeater-field.js +0 -48
  83. package/dist/components/inputs/cascader.cjs +0 -1
  84. package/dist/components/inputs/cascader.d.ts +0 -13
  85. package/dist/components/inputs/cascader.js +0 -58
  86. package/dist/components/inputs/mention-input.cjs +0 -1
  87. package/dist/components/inputs/mention-input.d.ts +0 -18
  88. package/dist/components/inputs/mention-input.js +0 -96
  89. package/dist/components/layout/stack.cjs +0 -1
  90. package/dist/components/layout/stack.d.ts +0 -23
  91. package/dist/components/layout/stack.js +0 -57
  92. package/dist/components/modern/affix.cjs +0 -1
  93. package/dist/components/modern/affix.d.ts +0 -7
  94. package/dist/components/modern/affix.js +0 -18
  95. package/dist/showcase/premium/affix/index.cjs +0 -1
  96. package/dist/showcase/premium/affix/index.d.ts +0 -2
  97. package/dist/showcase/premium/affix/index.js +0 -3
  98. package/dist/showcase/premium/affix/mock.cjs +0 -12
  99. package/dist/showcase/premium/affix/mock.d.ts +0 -2
  100. package/dist/showcase/premium/affix/mock.js +0 -15
  101. package/dist/showcase/premium/affix/showcase.cjs +0 -1
  102. package/dist/showcase/premium/affix/showcase.d.ts +0 -2
  103. package/dist/showcase/premium/affix/showcase.js +0 -64
  104. package/dist/showcase/premium/aspect-ratio/index.cjs +0 -1
  105. package/dist/showcase/premium/aspect-ratio/index.d.ts +0 -2
  106. package/dist/showcase/premium/aspect-ratio/index.js +0 -3
  107. package/dist/showcase/premium/aspect-ratio/mock.cjs +0 -11
  108. package/dist/showcase/premium/aspect-ratio/mock.d.ts +0 -2
  109. package/dist/showcase/premium/aspect-ratio/mock.js +0 -26
  110. package/dist/showcase/premium/aspect-ratio/showcase.cjs +0 -1
  111. package/dist/showcase/premium/aspect-ratio/showcase.d.ts +0 -2
  112. package/dist/showcase/premium/aspect-ratio/showcase.js +0 -53
  113. package/dist/showcase/premium/cascader/index.cjs +0 -1
  114. package/dist/showcase/premium/cascader/index.d.ts +0 -2
  115. package/dist/showcase/premium/cascader/index.js +0 -3
  116. package/dist/showcase/premium/cascader/mock.cjs +0 -9
  117. package/dist/showcase/premium/cascader/mock.d.ts +0 -2
  118. package/dist/showcase/premium/cascader/mock.js +0 -19
  119. package/dist/showcase/premium/cascader/showcase.cjs +0 -1
  120. package/dist/showcase/premium/cascader/showcase.d.ts +0 -2
  121. package/dist/showcase/premium/cascader/showcase.js +0 -43
  122. package/dist/showcase/premium/float-button/index.cjs +0 -1
  123. package/dist/showcase/premium/float-button/index.d.ts +0 -2
  124. package/dist/showcase/premium/float-button/index.js +0 -3
  125. package/dist/showcase/premium/float-button/mock.cjs +0 -10
  126. package/dist/showcase/premium/float-button/mock.d.ts +0 -2
  127. package/dist/showcase/premium/float-button/mock.js +0 -15
  128. package/dist/showcase/premium/float-button/showcase.cjs +0 -1
  129. package/dist/showcase/premium/float-button/showcase.d.ts +0 -2
  130. package/dist/showcase/premium/float-button/showcase.js +0 -28
  131. package/dist/showcase/premium/keyboard-shortcut/index.cjs +0 -1
  132. package/dist/showcase/premium/keyboard-shortcut/index.d.ts +0 -2
  133. package/dist/showcase/premium/keyboard-shortcut/index.js +0 -3
  134. package/dist/showcase/premium/keyboard-shortcut/mock.cjs +0 -5
  135. package/dist/showcase/premium/keyboard-shortcut/mock.d.ts +0 -2
  136. package/dist/showcase/premium/keyboard-shortcut/mock.js +0 -26
  137. package/dist/showcase/premium/keyboard-shortcut/showcase.cjs +0 -1
  138. package/dist/showcase/premium/keyboard-shortcut/showcase.d.ts +0 -1
  139. package/dist/showcase/premium/keyboard-shortcut/showcase.js +0 -64
  140. package/dist/showcase/premium/mention-input/index.cjs +0 -1
  141. package/dist/showcase/premium/mention-input/index.d.ts +0 -2
  142. package/dist/showcase/premium/mention-input/index.js +0 -3
  143. package/dist/showcase/premium/mention-input/mock.cjs +0 -11
  144. package/dist/showcase/premium/mention-input/mock.d.ts +0 -2
  145. package/dist/showcase/premium/mention-input/mock.js +0 -19
  146. package/dist/showcase/premium/mention-input/showcase.cjs +0 -1
  147. package/dist/showcase/premium/mention-input/showcase.d.ts +0 -2
  148. package/dist/showcase/premium/mention-input/showcase.js +0 -35
  149. package/dist/showcase/premium/skeleton-form/index.cjs +0 -1
  150. package/dist/showcase/premium/skeleton-form/index.d.ts +0 -2
  151. package/dist/showcase/premium/skeleton-form/index.js +0 -3
  152. package/dist/showcase/premium/skeleton-form/mock.cjs +0 -5
  153. package/dist/showcase/premium/skeleton-form/mock.d.ts +0 -2
  154. package/dist/showcase/premium/skeleton-form/mock.js +0 -19
  155. package/dist/showcase/premium/skeleton-form/showcase.cjs +0 -1
  156. package/dist/showcase/premium/skeleton-form/showcase.d.ts +0 -2
  157. package/dist/showcase/premium/skeleton-form/showcase.js +0 -52
  158. package/dist/showcase/premium/skeleton-table/index.cjs +0 -1
  159. package/dist/showcase/premium/skeleton-table/index.d.ts +0 -2
  160. package/dist/showcase/premium/skeleton-table/index.js +0 -3
  161. package/dist/showcase/premium/skeleton-table/mock.cjs +0 -5
  162. package/dist/showcase/premium/skeleton-table/mock.d.ts +0 -2
  163. package/dist/showcase/premium/skeleton-table/mock.js +0 -19
  164. package/dist/showcase/premium/skeleton-table/showcase.cjs +0 -1
  165. package/dist/showcase/premium/skeleton-table/showcase.d.ts +0 -2
  166. package/dist/showcase/premium/skeleton-table/showcase.js +0 -59
  167. package/dist/showcase/premium/stack/index.cjs +0 -1
  168. package/dist/showcase/premium/stack/index.d.ts +0 -2
  169. package/dist/showcase/premium/stack/index.js +0 -3
  170. package/dist/showcase/premium/stack/mock.cjs +0 -10
  171. package/dist/showcase/premium/stack/mock.d.ts +0 -2
  172. package/dist/showcase/premium/stack/mock.js +0 -26
  173. package/dist/showcase/premium/stack/showcase.cjs +0 -1
  174. package/dist/showcase/premium/stack/showcase.d.ts +0 -1
  175. package/dist/showcase/premium/stack/showcase.js +0 -47
  176. package/dist/showcase/premium/tag-list/index.cjs +0 -1
  177. package/dist/showcase/premium/tag-list/index.d.ts +0 -2
  178. package/dist/showcase/premium/tag-list/index.js +0 -3
  179. package/dist/showcase/premium/tag-list/mock.cjs +0 -12
  180. package/dist/showcase/premium/tag-list/mock.d.ts +0 -2
  181. package/dist/showcase/premium/tag-list/mock.js +0 -26
  182. package/dist/showcase/premium/tag-list/showcase.cjs +0 -1
  183. package/dist/showcase/premium/tag-list/showcase.d.ts +0 -2
  184. package/dist/showcase/premium/tag-list/showcase.js +0 -83
  185. package/dist/showcase/premium/watermark/index.cjs +0 -1
  186. package/dist/showcase/premium/watermark/index.d.ts +0 -2
  187. package/dist/showcase/premium/watermark/index.js +0 -3
  188. package/dist/showcase/premium/watermark/mock.cjs +0 -11
  189. package/dist/showcase/premium/watermark/mock.d.ts +0 -2
  190. package/dist/showcase/premium/watermark/mock.js +0 -26
  191. package/dist/showcase/premium/watermark/showcase.cjs +0 -1
  192. package/dist/showcase/premium/watermark/showcase.d.ts +0 -2
  193. package/dist/showcase/premium/watermark/showcase.js +0 -34
  194. package/packages/cli/vendor/src/components/display/aspect-ratio.tsx +0 -22
  195. package/packages/cli/vendor/src/components/display/float-button.tsx +0 -27
  196. package/packages/cli/vendor/src/components/display/key-value-card.tsx +0 -50
  197. package/packages/cli/vendor/src/components/display/keyboard-shortcut.tsx +0 -31
  198. package/packages/cli/vendor/src/components/display/skeleton-form.tsx +0 -51
  199. package/packages/cli/vendor/src/components/display/skeleton-table.tsx +0 -59
  200. package/packages/cli/vendor/src/components/display/tag-list.tsx +0 -52
  201. package/packages/cli/vendor/src/components/display/watermark.tsx +0 -20
  202. package/packages/cli/vendor/src/components/form/repeater-field.tsx +0 -93
  203. package/packages/cli/vendor/src/components/inputs/cascader.tsx +0 -41
  204. package/packages/cli/vendor/src/components/inputs/mention-input.tsx +0 -162
  205. package/packages/cli/vendor/src/components/layout/stack.tsx +0 -106
  206. package/packages/cli/vendor/src/components/modern/affix.tsx +0 -21
  207. package/packages/cli/vendor/src/showcase/premium/affix/index.ts +0 -3
  208. package/packages/cli/vendor/src/showcase/premium/affix/mock.ts +0 -26
  209. package/packages/cli/vendor/src/showcase/premium/affix/showcase.tsx +0 -37
  210. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/index.ts +0 -2
  211. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/mock.ts +0 -26
  212. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/showcase.tsx +0 -37
  213. package/packages/cli/vendor/src/showcase/premium/cascader/index.ts +0 -3
  214. package/packages/cli/vendor/src/showcase/premium/cascader/mock.ts +0 -24
  215. package/packages/cli/vendor/src/showcase/premium/cascader/showcase.tsx +0 -20
  216. package/packages/cli/vendor/src/showcase/premium/float-button/index.ts +0 -3
  217. package/packages/cli/vendor/src/showcase/premium/float-button/mock.ts +0 -24
  218. package/packages/cli/vendor/src/showcase/premium/float-button/showcase.tsx +0 -21
  219. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/index.ts +0 -2
  220. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/mock.ts +0 -20
  221. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/showcase.tsx +0 -42
  222. package/packages/cli/vendor/src/showcase/premium/mention-input/index.ts +0 -3
  223. package/packages/cli/vendor/src/showcase/premium/mention-input/mock.ts +0 -26
  224. package/packages/cli/vendor/src/showcase/premium/mention-input/showcase.tsx +0 -27
  225. package/packages/cli/vendor/src/showcase/premium/skeleton-form/index.ts +0 -3
  226. package/packages/cli/vendor/src/showcase/premium/skeleton-form/mock.ts +0 -20
  227. package/packages/cli/vendor/src/showcase/premium/skeleton-form/showcase.tsx +0 -34
  228. package/packages/cli/vendor/src/showcase/premium/skeleton-table/index.ts +0 -3
  229. package/packages/cli/vendor/src/showcase/premium/skeleton-table/mock.ts +0 -20
  230. package/packages/cli/vendor/src/showcase/premium/skeleton-table/showcase.tsx +0 -37
  231. package/packages/cli/vendor/src/showcase/premium/stack/index.ts +0 -2
  232. package/packages/cli/vendor/src/showcase/premium/stack/mock.ts +0 -25
  233. package/packages/cli/vendor/src/showcase/premium/stack/showcase.tsx +0 -22
  234. package/packages/cli/vendor/src/showcase/premium/tag-list/index.ts +0 -2
  235. package/packages/cli/vendor/src/showcase/premium/tag-list/mock.ts +0 -27
  236. package/packages/cli/vendor/src/showcase/premium/tag-list/showcase.tsx +0 -55
  237. package/packages/cli/vendor/src/showcase/premium/watermark/index.ts +0 -2
  238. package/packages/cli/vendor/src/showcase/premium/watermark/mock.ts +0 -26
  239. package/packages/cli/vendor/src/showcase/premium/watermark/showcase.tsx +0 -26
@@ -30,28 +30,20 @@ export const standalonePublicComponentSurfaces: readonly PublicComponentSurfaceE
30
30
  { slug: "command-bar", registryName: "command-bar", surface: "standalone" },
31
31
  { slug: "quantity-stepper", registryName: "quantity-stepper", surface: "standalone" },
32
32
  { slug: "inline-editable", registryName: "inline-editable", surface: "standalone" },
33
- { slug: "repeater-field", registryName: "repeater-field", surface: "standalone" },
34
33
  { slug: "empty-search-state", registryName: "empty-search-state", surface: "standalone" },
35
34
  { slug: "avatar", registryName: "avatar", surface: "standalone" },
36
35
  { slug: "code-block", registryName: "code-block", surface: "standalone" },
37
36
  { slug: "data-state", registryName: "data-state", surface: "standalone" },
38
37
  { slug: "descriptions", registryName: "descriptions", surface: "standalone" },
39
- { slug: "keyboard-shortcut", registryName: "keyboard-shortcut", surface: "standalone" },
40
- { slug: "key-value-card", registryName: "key-value-card", surface: "standalone" },
41
38
  { slug: "kanban", registryName: "kanban", surface: "standalone" },
42
39
  { slug: "list", registryName: "list", surface: "standalone" },
43
40
  { slug: "property-grid", registryName: "property-grid", surface: "standalone" },
44
41
  { slug: "statistic", registryName: "statistic", surface: "standalone" },
45
- { slug: "tag-list", registryName: "tag-list", surface: "standalone" },
46
42
  { slug: "tree-view", registryName: "tree-view", surface: "standalone" },
47
- { slug: "skeleton-table", registryName: "skeleton-table", surface: "standalone" },
48
- { slug: "skeleton-form", registryName: "skeleton-form", surface: "standalone" },
49
43
  { slug: "copy-button", registryName: "copy-button", surface: "standalone" },
50
44
  { slug: "copy-field", registryName: "copy-field", surface: "standalone" },
51
45
  { slug: "section", registryName: "section", surface: "standalone" },
52
- { slug: "stack", registryName: "stack", surface: "standalone" },
53
46
  { slug: "sticky-footer-bar", registryName: "sticky-footer-bar", surface: "standalone" },
54
- { slug: "affix", registryName: "affix", surface: "standalone" },
55
47
  { slug: "calendar-scheduler", registryName: "calendar-scheduler", surface: "standalone" },
56
48
  { slug: "dual-list-picker", registryName: "dual-list-picker", surface: "standalone" },
57
49
  { slug: "menubar", registryName: "menubar", surface: "standalone" },
@@ -61,14 +53,9 @@ export const standalonePublicComponentSurfaces: readonly PublicComponentSurfaceE
61
53
  { slug: "tour", registryName: "tour", surface: "standalone" },
62
54
  { slug: "qr-code", registryName: "qr-code", surface: "standalone" },
63
55
  { slug: "tag", registryName: "tag", surface: "standalone" },
64
- { slug: "aspect-ratio", registryName: "aspect-ratio", surface: "standalone" },
65
56
  { slug: "carousel", registryName: "carousel", surface: "standalone" },
66
- { slug: "float-button", registryName: "float-button", surface: "standalone" },
67
57
  { slug: "typography", registryName: "typography", surface: "standalone" },
68
- { slug: "watermark", registryName: "watermark", surface: "standalone" },
69
- { slug: "cascader", registryName: "cascader", surface: "standalone" },
70
58
  { slug: "json-input", registryName: "json-input", surface: "standalone" },
71
- { slug: "mention-input", registryName: "mention-input", surface: "standalone" },
72
59
  { slug: "time-picker", registryName: "time-picker", surface: "standalone" },
73
60
  ] as const
74
61
 
@@ -1,9 +1,7 @@
1
1
  import {
2
2
  Accordion,
3
3
  Alert,
4
- Affix,
5
4
  AnchorNav,
6
- AspectRatio,
7
5
  Avatar,
8
6
  AvatarGroup,
9
7
  Badge,
@@ -12,30 +10,23 @@ import {
12
10
  CalendarScheduler,
13
11
  Card,
14
12
  CardContent,
15
- CardHeader,
16
- CardTitle,
17
13
  Carousel,
18
14
  CarouselItem,
19
- Cascader,
20
15
  CodeBlock,
21
16
  ColorInput,
22
17
  CopyButton,
23
18
  CopyField,
24
19
  DataState,
25
- DescriptionList,
26
20
  Descriptions,
27
21
  Divider,
28
22
  DualListPicker,
29
23
  EmptyState,
30
24
  EntityCard,
31
25
  FilterChips,
32
- FloatButton,
33
- Grid,
34
26
  Heading,
35
27
  Input,
36
28
  JsonInput,
37
29
  KanbanBoard,
38
- KeyboardShortcut,
39
30
  List,
40
31
  Mark,
41
32
  Menubar,
@@ -43,7 +34,6 @@ import {
43
34
  MenubarItem,
44
35
  MenubarMenu,
45
36
  MenubarTrigger,
46
- MentionInput,
47
37
  NavigationMenu,
48
38
  NavigationMenuItem,
49
39
  NavigationMenuLink,
@@ -66,12 +56,9 @@ import {
66
56
  SegmentedControl,
67
57
  Skeleton,
68
58
  SkeletonCard,
69
- SkeletonForm,
70
- SkeletonTable,
71
59
  SkeletonText,
72
60
  Slider,
73
61
  Spinner,
74
- Stack,
75
62
  StepperTabs,
76
63
  Statistic,
77
64
  StatisticCard,
@@ -81,13 +68,11 @@ import {
81
68
  Tag,
82
69
  TagInput,
83
70
  TagGroup,
84
- TagList,
85
71
  Text,
86
72
  TimePicker,
87
73
  TimeRangePicker,
88
74
  Tour,
89
75
  TreeView,
90
- Watermark,
91
76
  } from "@/index"
92
77
  import { StatCard } from "@/components/layout/stat-card"
93
78
 
@@ -200,31 +185,6 @@ function renderGenericPreviewSurface(
200
185
  )
201
186
  }
202
187
 
203
- if (item.slug === "affix") {
204
- return (
205
- <div className="grid gap-3">
206
- <Affix offsetTop={0}>
207
- <div className="rounded-lg border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] px-3 py-2 text-sm font-medium">
208
- Sticky helper bar
209
- </div>
210
- </Affix>
211
- <div className="rounded-xl border border-dashed border-[color:var(--aui-divider)] p-4 text-sm text-[color:var(--aui-page-muted)]">
212
- Use `Affix` when a small control or summary should remain visible while the surrounding content scrolls.
213
- </div>
214
- </div>
215
- )
216
- }
217
-
218
- if (item.slug === "aspect-ratio") {
219
- return (
220
- <AspectRatio ratio={16 / 9} className="rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)]">
221
- <div className="flex size-full items-center justify-center bg-[linear-gradient(135deg,color-mix(in_oklch,var(--aui-brand),transparent_88%),transparent)] text-sm font-medium text-[color:var(--aui-page-foreground)]">
222
- 16:9 media surface
223
- </div>
224
- </AspectRatio>
225
- )
226
- }
227
-
228
188
  if (item.slug === "avatar") {
229
189
  return (
230
190
  <div className="flex flex-wrap items-center gap-4">
@@ -277,18 +237,6 @@ function renderGenericPreviewSurface(
277
237
  )
278
238
  }
279
239
 
280
- if (item.slug === "cascader") {
281
- return (
282
- <Cascader
283
- value={["workspace", "billing", "invoices"]}
284
- options={[
285
- { value: "workspace", label: "Workspace", children: [{ value: "billing", label: "Billing", children: [{ value: "invoices", label: "Invoices" }, { value: "plans", label: "Plans" }] }] },
286
- { value: "settings", label: "Settings", children: [{ value: "team", label: "Team" }] },
287
- ]}
288
- />
289
- )
290
- }
291
-
292
240
  if (item.slug === "code-block") {
293
241
  return (
294
242
  <CodeBlock
@@ -396,28 +344,10 @@ function renderGenericPreviewSurface(
396
344
  )
397
345
  }
398
346
 
399
- if (item.slug === "skeleton-form") {
400
- return <SkeletonForm />
401
- }
402
-
403
- if (item.slug === "skeleton-table") {
404
- return <SkeletonTable rows={5} columns={4} />
405
- }
406
-
407
347
  if (item.slug === "slider") {
408
348
  return <Slider label="Spacing scale" description="Adjust dashboard density." defaultValue={64} showValue />
409
349
  }
410
350
 
411
- if (item.slug === "stack") {
412
- return (
413
- <Stack gap="sm">
414
- <div className="rounded-lg border p-3 text-sm">Header area</div>
415
- <div className="rounded-lg border p-3 text-sm">Content area</div>
416
- <div className="rounded-lg border p-3 text-sm">Footer area</div>
417
- </Stack>
418
- )
419
- }
420
-
421
351
  if (item.slug === "statistic") {
422
352
  return (
423
353
  <StatisticGrid columns={3}>
@@ -448,19 +378,6 @@ function renderGenericPreviewSurface(
448
378
  )
449
379
  }
450
380
 
451
- if (item.slug === "tag-list") {
452
- return (
453
- <TagList
454
- removable
455
- items={[
456
- { key: "1", label: "Dashboard" },
457
- { key: "2", label: "Billing", variant: "secondary" },
458
- { key: "3", label: "Priority", variant: "outline" },
459
- ]}
460
- />
461
- )
462
- }
463
-
464
381
  if (item.slug === "time-picker") {
465
382
  return (
466
383
  <div className="grid gap-3">
@@ -519,19 +436,6 @@ function renderGenericPreviewSurface(
519
436
  )
520
437
  }
521
438
 
522
- if (item.slug === "watermark") {
523
- return (
524
- <Watermark text="AZAMAT UI">
525
- <Card>
526
- <CardContent className="p-6">
527
- <p className="text-lg font-semibold">Preview export</p>
528
- <p className="mt-2 text-sm text-muted-foreground">Subtle branding surface for internal screenshots or mockups.</p>
529
- </CardContent>
530
- </Card>
531
- </Watermark>
532
- )
533
- }
534
-
535
439
  if (item.slug === "range-slider") {
536
440
  return <RangeSlider label="Revenue band" description="Filter a metric window." defaultValue={[20, 80]} showValue />
537
441
  }
@@ -670,15 +574,6 @@ function renderGenericPreviewSurface(
670
574
  )
671
575
  }
672
576
 
673
- if (item.slug === "float-button") {
674
- return (
675
- <div className="relative min-h-28 rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-4">
676
- <p className="text-sm text-muted-foreground">Floating action inside a content area.</p>
677
- <FloatButton className="absolute bottom-4 right-4">+</FloatButton>
678
- </div>
679
- )
680
- }
681
-
682
577
  if (item.slug === "data-list" || item.slug === "list") {
683
578
  return (
684
579
  <List
@@ -691,25 +586,6 @@ function renderGenericPreviewSurface(
691
586
  )
692
587
  }
693
588
 
694
- if (item.slug === "key-value-card") {
695
- return (
696
- <Card>
697
- <CardHeader>
698
- <CardTitle>Account summary</CardTitle>
699
- </CardHeader>
700
- <CardContent>
701
- <DescriptionList
702
- items={[
703
- { key: "owner", label: "Owner", value: "Azamat UI" },
704
- { key: "plan", label: "Plan", value: "Scale" },
705
- { key: "renewal", label: "Renewal", value: "July 14, 2026" },
706
- ]}
707
- />
708
- </CardContent>
709
- </Card>
710
- )
711
- }
712
-
713
589
  if (item.slug === "entity-card" || item.slug === "file-card") {
714
590
  return (
715
591
  <EntityCard
@@ -822,7 +698,7 @@ function renderGenericPreviewSurface(
822
698
  key: "done",
823
699
  title: "Done",
824
700
  cards: [
825
- { key: "3", title: "Publish 1.0.0", description: "Release package and sync docs." },
701
+ { key: "3", title: "Publish 1.0.0", description: "Release package and sync docs." },
826
702
  ],
827
703
  },
828
704
  ]}
@@ -830,29 +706,6 @@ function renderGenericPreviewSurface(
830
706
  )
831
707
  }
832
708
 
833
- if (item.slug === "keyboard-shortcut") {
834
- return (
835
- <div className="flex flex-wrap gap-3">
836
- <KeyboardShortcut keys={["Ctrl", "K"]} />
837
- <KeyboardShortcut keys={["Shift", "Enter"]} />
838
- <KeyboardShortcut keys={["Alt", "S"]} />
839
- </div>
840
- )
841
- }
842
-
843
- if (item.slug === "mention-input") {
844
- return (
845
- <MentionInput
846
- defaultValue="@azamat can you review the DataTable route?"
847
- options={[
848
- { value: "@azamat", label: "@azamat" },
849
- { value: "@team", label: "@team" },
850
- { value: "@design", label: "@design" },
851
- ]}
852
- />
853
- )
854
- }
855
-
856
709
  if (item.slug === "menubar") {
857
710
  return (
858
711
  <Menubar>
@@ -887,11 +740,11 @@ function renderGenericPreviewSurface(
887
740
 
888
741
  if (item.slug === "overlay") {
889
742
  return (
890
- <Grid columns={3} gap="sm">
743
+ <div className="grid gap-3 sm:grid-cols-3">
891
744
  <Card><CardContent className="p-4"><p className="font-medium">Dialog</p><p className="mt-1 text-sm text-muted-foreground">Focused confirmation and forms.</p></CardContent></Card>
892
745
  <Card><CardContent className="p-4"><p className="font-medium">Popover</p><p className="mt-1 text-sm text-muted-foreground">Compact contextual actions.</p></CardContent></Card>
893
746
  <Card><CardContent className="p-4"><p className="font-medium">Sheet</p><p className="mt-1 text-sm text-muted-foreground">Side panel workflows.</p></CardContent></Card>
894
- </Grid>
747
+ </div>
895
748
  )
896
749
  }
897
750
 
@@ -916,20 +769,6 @@ function renderGenericPreviewSurface(
916
769
  return <QuantityStepper defaultValue={3} min={1} max={10} />
917
770
  }
918
771
 
919
- if (item.slug === "repeater-field") {
920
- return (
921
- <Card>
922
- <CardContent className="grid gap-3 p-5">
923
- <Input placeholder="First item" defaultValue="Revenue KPI" />
924
- <Input placeholder="Second item" defaultValue="Churn guardrail" />
925
- <div>
926
- <Button size="sm" variant="outline">Add row</Button>
927
- </div>
928
- </CardContent>
929
- </Card>
930
- )
931
- }
932
-
933
772
  if (item.slug === "resizable-panel") {
934
773
  return (
935
774
  <ResizablePanelGroup>
@@ -5,20 +5,15 @@ import type { ComponentDemoBundle } from "./types"
5
5
  import { alertMock, AlertShowcase } from "./alert"
6
6
  import { AlertDialogShowcase, alertDialogMock } from "./alert-dialog"
7
7
  import { accordionMock, AccordionShowcase } from "./accordion"
8
- import { affixMock, AffixShowcase } from "./affix"
9
8
  import { activityFeedMock, ActivityFeedShowcase } from "./activity-feed"
10
9
  import { ActionMenuShowcase, actionMenuMock } from "./action-menu"
11
10
  import { appShellMock, AppShellShowcase } from "./app-shell"
12
11
  import { appSidebarMock, AppSidebarShowcase } from "./app-sidebar"
13
12
  import { asyncMultiSelectMock, AsyncMultiSelectShowcase } from "./async-multi-select"
14
13
  import { asyncSelectMock, AsyncSelectShowcase } from "./async-select"
15
- import { aspectRatioMock, AspectRatioShowcase } from "./aspect-ratio"
16
- import { cascaderMock, CascaderShowcase } from "./cascader"
17
14
  import { avatarMock, AvatarShowcase } from "./avatar"
18
15
  import { carouselMock, CarouselShowcase } from "./carousel"
19
- import { floatButtonMock, FloatButtonShowcase } from "./float-button"
20
16
  import { jsonInputMock, JsonInputShowcase } from "./json-input"
21
- import { mentionInputMock, MentionInputShowcase } from "./mention-input"
22
17
  import { qrCodeMock, QRCodeShowcase } from "./qr-code"
23
18
  import { menubarMock, MenubarShowcase } from "./menubar"
24
19
  import { navigationMenuMock, NavigationMenuShowcase } from "./navigation-menu"
@@ -68,7 +63,6 @@ import { hoverCardMock, HoverCardShowcase } from "./hover-card"
68
63
  import { kanbanBoardMock, KanbanBoardShowcase } from "./kanban-board"
69
64
  import { infoCardMock, InfoCardShowcase } from "./info-card"
70
65
  import { inputMock, InputShowcase } from "./input"
71
- import { keyboardShortcutMock, KeyboardShortcutShowcase } from "./keyboard-shortcut"
72
66
  import { kbdMock, KbdShowcase } from "./kbd"
73
67
  import { listMock, ListShowcase } from "./list"
74
68
  import { loadingStateMock, LoadingStateShowcase } from "./loading-state"
@@ -88,9 +82,6 @@ import { pageContainerMock, PageContainerShowcase } from "./page-container"
88
82
  import { pageHeaderMock, PageHeaderShowcase } from "./page-header"
89
83
  import { PageTabsShowcase, pageTabsMock } from "./page-tabs"
90
84
  import { sectionMock, SectionShowcase } from "./section"
91
- import { stackMock, StackShowcase } from "./stack"
92
- import { skeletonFormMock, SkeletonFormShowcase } from "./skeleton-form"
93
- import { skeletonTableMock, SkeletonTableShowcase } from "./skeleton-table"
94
85
  import { phoneInputMock, PhoneInputShowcase } from "./phone-input"
95
86
  import { pageStateMock, PageStateShowcase } from "./page-state"
96
87
  import { paginationMock, PaginationShowcase } from "./pagination"
@@ -115,7 +106,6 @@ import { spinnerMock, SpinnerShowcase } from "./spinner"
115
106
  import { statisticMock, StatisticShowcase } from "./statistic"
116
107
  import { switchMock, SwitchShowcase } from "./switch"
117
108
  import { TagInputShowcase, tagInputMock } from "./tag-input"
118
- import { tagListMock, TagListShowcase } from "./tag-list"
119
109
  import { tableMock, TableShowcase } from "./table"
120
110
  import { tabsMock, TabsShowcase } from "./tabs"
121
111
  import { textareaMock, TextareaShowcase } from "./textarea"
@@ -129,7 +119,6 @@ import { fileUploadMock, FileUploadShowcase } from "./file-upload"
129
119
  import { imageUploadMock, ImageUploadShowcase } from "./image-upload"
130
120
  import { passwordInputMock, PasswordInputShowcase } from "./password-input"
131
121
  import { ratingMock, RatingShowcase } from "./rating"
132
- import { watermarkMock, WatermarkShowcase } from "./watermark"
133
122
 
134
123
  export { defaultComponentDemoState } from "./types"
135
124
  export type { ComponentDemoBundle, ComponentDemoMock, ComponentDemoProps, ComponentDemoState } from "./types"
@@ -138,21 +127,17 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
138
127
  alert: { mock: alertMock, Showcase: AlertShowcase },
139
128
  "alert-dialog": { mock: alertDialogMock, Showcase: AlertDialogShowcase },
140
129
  accordion: { mock: accordionMock, Showcase: AccordionShowcase },
141
- affix: { mock: affixMock, Showcase: AffixShowcase },
142
130
  "action-menu": { mock: actionMenuMock, Showcase: ActionMenuShowcase },
143
131
  button: { mock: buttonMock, Showcase: ButtonShowcase },
144
132
  "button-group": { mock: buttonGroupMock, Showcase: ButtonGroupShowcase },
145
133
  calendar: { mock: calendarMock, Showcase: CalendarShowcase },
146
134
  "calendar-scheduler": { mock: calendarSchedulerMock, Showcase: CalendarSchedulerShowcase },
147
- "cascader": { mock: cascaderMock, Showcase: CascaderShowcase },
148
135
  "command-bar": { mock: commandBarMock, Showcase: CommandBarShowcase },
149
136
  "command-palette": { mock: commandPaletteMock, Showcase: CommandPaletteShowcase },
150
137
  "carousel": { mock: carouselMock, Showcase: CarouselShowcase },
151
138
  "clearable-input": { mock: clearableInputMock, Showcase: ClearableInputShowcase },
152
139
  "code-block": { mock: codeBlockMock, Showcase: CodeBlockShowcase },
153
- "aspect-ratio": { mock: aspectRatioMock, Showcase: AspectRatioShowcase },
154
140
  "dual-list-picker": { mock: dualListPickerMock, Showcase: DualListPickerShowcase },
155
- "float-button": { mock: floatButtonMock, Showcase: FloatButtonShowcase },
156
141
  divider: { mock: dividerMock, Showcase: DividerShowcase },
157
142
  input: { mock: inputMock, Showcase: InputShowcase },
158
143
  textarea: { mock: textareaMock, Showcase: TextareaShowcase },
@@ -182,7 +167,6 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
182
167
  rating: { mock: ratingMock, Showcase: RatingShowcase },
183
168
  "masked-input": { mock: maskedInputMock, Showcase: MaskedInputShowcase },
184
169
  "phone-input": { mock: phoneInputMock, Showcase: PhoneInputShowcase },
185
- "mention-input": { mock: mentionInputMock, Showcase: MentionInputShowcase },
186
170
  "search-input": { mock: searchInputMock, Showcase: SearchInputShowcase },
187
171
  slider: { mock: sliderMock, Showcase: SliderShowcase },
188
172
  "time-picker": { mock: timePickerMock, Showcase: TimePickerShowcase },
@@ -252,15 +236,11 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
252
236
  "empty-state": { mock: emptyStateMock, Showcase: EmptyStateShowcase },
253
237
  "loading-state": { mock: loadingStateMock, Showcase: LoadingStateShowcase },
254
238
  "data-state": { mock: dataStateMock, Showcase: DataStateShowcase },
255
- "keyboard-shortcut": { mock: keyboardShortcutMock, Showcase: KeyboardShortcutShowcase },
256
239
  progress: { mock: progressMock, Showcase: ProgressShowcase },
257
240
  result: { mock: resultMock, Showcase: ResultShowcase },
258
241
  "resizable-panel": { mock: resizablePanelMock, Showcase: ResizablePanelShowcase },
259
242
  section: { mock: sectionMock, Showcase: SectionShowcase },
260
- stack: { mock: stackMock, Showcase: StackShowcase },
261
243
  statistic: { mock: statisticMock, Showcase: StatisticShowcase },
262
- "skeleton-form": { mock: skeletonFormMock, Showcase: SkeletonFormShowcase },
263
- "skeleton-table": { mock: skeletonTableMock, Showcase: SkeletonTableShowcase },
264
244
  "sticky-footer-bar": { mock: stickyFooterBarMock, Showcase: StickyFooterBarShowcase },
265
245
  "rich-text-editor": { mock: richTextEditorMock, Showcase: RichTextEditorShowcase },
266
246
  tour: { mock: tourMock, Showcase: TourShowcase },
@@ -270,9 +250,7 @@ export const premiumShowcaseDemoRegistry: Record<string, ComponentDemoBundle> =
270
250
  "tree-view": { mock: treeViewMock, Showcase: TreeViewShowcase },
271
251
  "file-upload": { mock: fileUploadMock, Showcase: FileUploadShowcase },
272
252
  "image-upload": { mock: imageUploadMock, Showcase: ImageUploadShowcase },
273
- watermark: { mock: watermarkMock, Showcase: WatermarkShowcase },
274
253
  "scroll-box": { mock: scrollBoxMock, Showcase: ScrollBoxShowcase },
275
- "tag-list": { mock: tagListMock, Showcase: TagListShowcase },
276
254
  timeline: { mock: timelineMock, Showcase: TimelineShowcase },
277
255
  toast: { mock: toastMock, Showcase: ToastShowcase },
278
256
  }
@@ -13,8 +13,6 @@ export const registryQualityDemoRegistry = createShowcaseDemoRegistry([
13
13
  component("form-switch", "FormSwitch", "form", "Boolean form control with shell-level label and hint handling."),
14
14
  component("form-date-picker", "FormDatePicker", "form", "Popover date picker wrapper with RHF integration."),
15
15
  component("form-date-range-picker", "FormDateRangePicker", "form", "Range date picker wrapper for planning and reporting flows."),
16
- component("repeater-field", "RepeaterField", "form", "Repeating row editor for dynamic field arrays."),
17
-
18
16
  component("dialog-actions", "DialogActions", "overlay", "Modal footer action row with cancel, secondary and primary actions."),
19
17
  component("alert-dialog", "AlertDialog", "overlay", "Destructive confirmation dialog with loading-ready action states."),
20
18
  component("drawer", "Drawer", "overlay", "Side panel for contextual details without leaving the page."),