love-ui 1.2.13 → 1.2.15

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 (2892) hide show
  1. package/README.md +6 -6
  2. package/package.json +7 -37
  3. package/registry/__index__.tsx +590 -0
  4. package/registry/default/examples/accordion-controlled.tsx +56 -0
  5. package/registry/default/examples/accordion-demo.tsx +39 -0
  6. package/registry/default/examples/accordion-multiple.tsx +35 -0
  7. package/registry/default/examples/accordion-product-faq.tsx +25 -0
  8. package/registry/default/examples/accordion-single.tsx +35 -0
  9. package/registry/default/examples/alert-billing-notice.tsx +19 -0
  10. package/registry/default/examples/alert-demo.tsx +16 -0
  11. package/registry/default/examples/alert-dialog-demo.tsx +38 -0
  12. package/registry/default/examples/alert-error.tsx +19 -0
  13. package/registry/default/examples/alert-info.tsx +19 -0
  14. package/registry/default/examples/alert-success.tsx +20 -0
  15. package/registry/default/examples/alert-warning.tsx +19 -0
  16. package/registry/default/examples/alert-with-icon-action.tsx +27 -0
  17. package/registry/default/examples/alert-with-icon.tsx +19 -0
  18. package/registry/default/examples/autocomplete-async.tsx +134 -0
  19. package/registry/default/examples/autocomplete-autohighlight.tsx +44 -0
  20. package/registry/default/examples/autocomplete-demo.tsx +44 -0
  21. package/registry/default/examples/autocomplete-disabled.tsx +44 -0
  22. package/registry/default/examples/autocomplete-form.tsx +69 -0
  23. package/registry/default/examples/autocomplete-grouped.tsx +112 -0
  24. package/registry/default/examples/autocomplete-inline.tsx +44 -0
  25. package/registry/default/examples/autocomplete-lg.tsx +45 -0
  26. package/registry/default/examples/autocomplete-limit.tsx +83 -0
  27. package/registry/default/examples/autocomplete-members.tsx +38 -0
  28. package/registry/default/examples/autocomplete-sm.tsx +45 -0
  29. package/registry/default/examples/autocomplete-with-clear.tsx +45 -0
  30. package/registry/default/examples/autocomplete-with-label.tsx +52 -0
  31. package/registry/default/examples/autocomplete-with-trigger-clear.tsx +46 -0
  32. package/registry/default/examples/avatar-demo.tsx +17 -0
  33. package/registry/default/examples/avatar-fallback.tsx +9 -0
  34. package/registry/default/examples/avatar-group.tsx +33 -0
  35. package/registry/default/examples/avatar-radius.tsx +33 -0
  36. package/registry/default/examples/avatar-size.tsx +33 -0
  37. package/registry/default/examples/avatar-team-stack.tsx +27 -0
  38. package/registry/default/examples/badge-demo.tsx +5 -0
  39. package/registry/default/examples/badge-destructive.tsx +5 -0
  40. package/registry/default/examples/badge-error.tsx +5 -0
  41. package/registry/default/examples/badge-info.tsx +5 -0
  42. package/registry/default/examples/badge-lg.tsx +5 -0
  43. package/registry/default/examples/badge-outline.tsx +5 -0
  44. package/registry/default/examples/badge-release-status.tsx +16 -0
  45. package/registry/default/examples/badge-secondary.tsx +5 -0
  46. package/registry/default/examples/badge-sm.tsx +5 -0
  47. package/registry/default/examples/badge-success.tsx +5 -0
  48. package/registry/default/examples/badge-warning.tsx +5 -0
  49. package/registry/default/examples/badge-with-icon.tsx +12 -0
  50. package/registry/default/examples/badge-with-link.tsx +7 -0
  51. package/registry/default/examples/breadcrumb-compact-path.tsx +22 -0
  52. package/registry/default/examples/breadcrumb-custom-separator.tsx +34 -0
  53. package/registry/default/examples/breadcrumb-demo.tsx +60 -0
  54. package/registry/default/examples/breadcrumb-with-ellipsis.tsx +25 -0
  55. package/registry/default/examples/breadcrumb-workspace-path.tsx +28 -0
  56. package/registry/default/examples/button-command-bar.tsx +18 -0
  57. package/registry/default/examples/button-demo.tsx +5 -0
  58. package/registry/default/examples/button-destructive-outline.tsx +5 -0
  59. package/registry/default/examples/button-destructive.tsx +5 -0
  60. package/registry/default/examples/button-disabled.tsx +5 -0
  61. package/registry/default/examples/button-ghost.tsx +5 -0
  62. package/registry/default/examples/button-icon-lg.tsx +11 -0
  63. package/registry/default/examples/button-icon-sm.tsx +11 -0
  64. package/registry/default/examples/button-icon.tsx +11 -0
  65. package/registry/default/examples/button-lg.tsx +5 -0
  66. package/registry/default/examples/button-link.tsx +5 -0
  67. package/registry/default/examples/button-loading.tsx +12 -0
  68. package/registry/default/examples/button-outline.tsx +5 -0
  69. package/registry/default/examples/button-secondary.tsx +5 -0
  70. package/registry/default/examples/button-sm.tsx +5 -0
  71. package/registry/default/examples/button-with-icon.tsx +12 -0
  72. package/registry/default/examples/button-with-link.tsx +7 -0
  73. package/registry/default/examples/button-xl.tsx +5 -0
  74. package/registry/default/examples/button-xs.tsx +5 -0
  75. package/registry/default/examples/card-billing-plan.tsx +26 -0
  76. package/registry/default/examples/card-demo.tsx +71 -0
  77. package/registry/default/examples/card-metric-summary.tsx +29 -0
  78. package/registry/default/examples/card-team-member.tsx +34 -0
  79. package/registry/default/examples/checkbox-card.tsx +16 -0
  80. package/registry/default/examples/checkbox-demo.tsx +11 -0
  81. package/registry/default/examples/checkbox-disabled.tsx +11 -0
  82. package/registry/default/examples/checkbox-form.tsx +39 -0
  83. package/registry/default/examples/checkbox-group-demo.tsx +25 -0
  84. package/registry/default/examples/checkbox-group-disabled.tsx +25 -0
  85. package/registry/default/examples/checkbox-group-form.tsx +54 -0
  86. package/registry/default/examples/checkbox-group-nested-parent.tsx +90 -0
  87. package/registry/default/examples/checkbox-group-parent.tsx +38 -0
  88. package/registry/default/examples/checkbox-notification-row.tsx +17 -0
  89. package/registry/default/examples/checkbox-with-description.tsx +21 -0
  90. package/registry/default/examples/code-block-diff.tsx +42 -0
  91. package/registry/default/examples/code-block-focus.tsx +28 -0
  92. package/registry/default/examples/code-block-headless.tsx +19 -0
  93. package/registry/default/examples/code-block-highlight-line.tsx +28 -0
  94. package/registry/default/examples/code-block-highlight-word.tsx +28 -0
  95. package/registry/default/examples/code-block-no-highlighting.tsx +34 -0
  96. package/registry/default/examples/code-block-numberless.tsx +34 -0
  97. package/registry/default/examples/code-block-shared/index.tsx +2 -0
  98. package/registry/default/examples/code-block-shared.tsx +26 -0
  99. package/registry/default/examples/code-block-theme.tsx +36 -0
  100. package/registry/default/examples/code-block.tsx +34 -0
  101. package/registry/default/examples/collapsible-checklist.tsx +26 -0
  102. package/registry/default/examples/collapsible-command-help.tsx +16 -0
  103. package/registry/default/examples/collapsible-demo.tsx +31 -0
  104. package/registry/default/examples/collapsible-release-notes.tsx +21 -0
  105. package/registry/default/examples/combobox-assignee.tsx +34 -0
  106. package/registry/default/examples/combobox-autohighlight.tsx +44 -0
  107. package/registry/default/examples/combobox-demo.tsx +44 -0
  108. package/registry/default/examples/combobox-disabled.tsx +44 -0
  109. package/registry/default/examples/combobox-form.tsx +68 -0
  110. package/registry/default/examples/combobox-grouped.tsx +112 -0
  111. package/registry/default/examples/combobox-lg.tsx +45 -0
  112. package/registry/default/examples/combobox-multiple-form.tsx +94 -0
  113. package/registry/default/examples/combobox-multiple.tsx +60 -0
  114. package/registry/default/examples/combobox-sm.tsx +45 -0
  115. package/registry/default/examples/combobox-with-clear.tsx +45 -0
  116. package/registry/default/examples/combobox-with-inner-input.tsx +880 -0
  117. package/registry/default/examples/combobox-with-label.tsx +52 -0
  118. package/registry/default/examples/dialog-close-confirmation.tsx +112 -0
  119. package/registry/default/examples/dialog-demo.tsx +50 -0
  120. package/registry/default/examples/dialog-from-menu.tsx +53 -0
  121. package/registry/default/examples/dialog-invite-member.tsx +34 -0
  122. package/registry/default/examples/dialog-nested.tsx +71 -0
  123. package/registry/default/examples/empty-demo.tsx +36 -0
  124. package/registry/default/examples/empty-filtered-results.tsx +24 -0
  125. package/registry/default/examples/empty-inbox-zero.tsx +21 -0
  126. package/registry/default/examples/empty-upload-queue.tsx +24 -0
  127. package/registry/default/examples/field-autocomplete.tsx +53 -0
  128. package/registry/default/examples/field-checkbox-group.tsx +38 -0
  129. package/registry/default/examples/field-checkbox.tsx +13 -0
  130. package/registry/default/examples/field-combobox-multiple.tsx +69 -0
  131. package/registry/default/examples/field-combobox.tsx +53 -0
  132. package/registry/default/examples/field-complete-form.tsx +113 -0
  133. package/registry/default/examples/field-demo.tsx +16 -0
  134. package/registry/default/examples/field-disabled.tsx +22 -0
  135. package/registry/default/examples/field-error.tsx +16 -0
  136. package/registry/default/examples/field-number-field.tsx +27 -0
  137. package/registry/default/examples/field-password.tsx +11 -0
  138. package/registry/default/examples/field-radio.tsx +37 -0
  139. package/registry/default/examples/field-required.tsx +22 -0
  140. package/registry/default/examples/field-select.tsx +41 -0
  141. package/registry/default/examples/field-slider.tsx +16 -0
  142. package/registry/default/examples/field-switch.tsx +13 -0
  143. package/registry/default/examples/field-textarea.tsx +25 -0
  144. package/registry/default/examples/field-validity.tsx +37 -0
  145. package/registry/default/examples/fieldset-billing-address.tsx +12 -0
  146. package/registry/default/examples/fieldset-danger-zone.tsx +15 -0
  147. package/registry/default/examples/fieldset-demo.tsx +33 -0
  148. package/registry/default/examples/fieldset-notification-settings.tsx +14 -0
  149. package/registry/default/examples/form-demo.tsx +43 -0
  150. package/registry/default/examples/form-newsletter.tsx +16 -0
  151. package/registry/default/examples/form-profile-card.tsx +13 -0
  152. package/registry/default/examples/form-zod.tsx +84 -0
  153. package/registry/default/examples/form.tsx +318 -0
  154. package/registry/default/examples/frame-analytics-panel.tsx +16 -0
  155. package/registry/default/examples/frame-code-output.tsx +11 -0
  156. package/registry/default/examples/frame-demo.tsx +26 -0
  157. package/registry/default/examples/frame-device-preview.tsx +14 -0
  158. package/registry/default/examples/gooey-toast-demo.tsx +104 -0
  159. package/registry/default/examples/gooey-toast-position.tsx +36 -0
  160. package/registry/default/examples/gooey-toast-promise.tsx +31 -0
  161. package/registry/default/examples/gooey-toast-states.tsx +76 -0
  162. package/registry/default/examples/gooey-toast-with-button.tsx +34 -0
  163. package/registry/default/examples/group-demo.tsx +28 -0
  164. package/registry/default/examples/group-filter-actions.tsx +14 -0
  165. package/registry/default/examples/group-segmented-filters.tsx +12 -0
  166. package/registry/default/examples/group-toolbar-actions.tsx +14 -0
  167. package/registry/default/examples/group-with-input.tsx +23 -0
  168. package/registry/default/examples/input-demo.tsx +7 -0
  169. package/registry/default/examples/input-disabled.tsx +11 -0
  170. package/registry/default/examples/input-file.tsx +5 -0
  171. package/registry/default/examples/input-lg.tsx +11 -0
  172. package/registry/default/examples/input-search-inline.tsx +12 -0
  173. package/registry/default/examples/input-sm.tsx +11 -0
  174. package/registry/default/examples/input-with-button.tsx +15 -0
  175. package/registry/default/examples/input-with-label.tsx +19 -0
  176. package/registry/default/examples/label-password-field.tsx +11 -0
  177. package/registry/default/examples/menu-checkbox.tsx +21 -0
  178. package/registry/default/examples/menu-close-on-click.tsx +22 -0
  179. package/registry/default/examples/menu-demo.tsx +102 -0
  180. package/registry/default/examples/menu-group-labels.tsx +27 -0
  181. package/registry/default/examples/menu-hover.tsx +21 -0
  182. package/registry/default/examples/menu-link.tsx +25 -0
  183. package/registry/default/examples/menu-nested.tsx +31 -0
  184. package/registry/default/examples/menu-project-actions.tsx +17 -0
  185. package/registry/default/examples/menu-radio-group.tsx +25 -0
  186. package/registry/default/examples/meter-demo.tsx +21 -0
  187. package/registry/default/examples/meter-simple.tsx +5 -0
  188. package/registry/default/examples/meter-storage-quota.tsx +13 -0
  189. package/registry/default/examples/meter-with-formatted-value.tsx +23 -0
  190. package/registry/default/examples/meter-with-range.tsx +23 -0
  191. package/registry/default/examples/number-field-demo.tsx +19 -0
  192. package/registry/default/examples/number-field-disabled.tsx +19 -0
  193. package/registry/default/examples/number-field-form.tsx +75 -0
  194. package/registry/default/examples/number-field-lg.tsx +19 -0
  195. package/registry/default/examples/number-field-sm.tsx +19 -0
  196. package/registry/default/examples/number-field-ticket-count.tsx +19 -0
  197. package/registry/default/examples/number-field-with-formatted-value.tsx +22 -0
  198. package/registry/default/examples/number-field-with-label.tsx +26 -0
  199. package/registry/default/examples/number-field-with-range.tsx +19 -0
  200. package/registry/default/examples/number-field-with-scrub.tsx +21 -0
  201. package/registry/default/examples/number-field-with-step.tsx +31 -0
  202. package/registry/default/examples/pagination-compact.tsx +13 -0
  203. package/registry/default/examples/pagination-demo.tsx +38 -0
  204. package/registry/default/examples/pagination-mini.tsx +12 -0
  205. package/registry/default/examples/pagination-results.tsx +22 -0
  206. package/registry/default/examples/popover-account-summary.tsx +14 -0
  207. package/registry/default/examples/popover-color-swatch.tsx +20 -0
  208. package/registry/default/examples/popover-demo.tsx +41 -0
  209. package/registry/default/examples/popover-with-close.tsx +38 -0
  210. package/registry/default/examples/preview-card-demo.tsx +46 -0
  211. package/registry/default/examples/preview-card-product.tsx +18 -0
  212. package/registry/default/examples/preview-card-profile.tsx +17 -0
  213. package/registry/default/examples/preview-card-repository.tsx +19 -0
  214. package/registry/default/examples/progress-demo.tsx +20 -0
  215. package/registry/default/examples/progress-onboarding.tsx +10 -0
  216. package/registry/default/examples/progress-with-formatted-value.tsx +23 -0
  217. package/registry/default/examples/progress-with-label-value.tsx +21 -0
  218. package/registry/default/examples/radio-group-card.tsx +27 -0
  219. package/registry/default/examples/radio-group-delivery.tsx +16 -0
  220. package/registry/default/examples/radio-group-demo.tsx +18 -0
  221. package/registry/default/examples/radio-group-disabled.tsx +18 -0
  222. package/registry/default/examples/radio-group-form.tsx +50 -0
  223. package/registry/default/examples/radio-group-with-description.tsx +27 -0
  224. package/registry/default/examples/scroll-area-activity.tsx +13 -0
  225. package/registry/default/examples/scroll-area-both.tsx +24 -0
  226. package/registry/default/examples/scroll-area-demo.tsx +20 -0
  227. package/registry/default/examples/scroll-area-horizontal.tsx +18 -0
  228. package/registry/default/examples/select-demo.tsx +31 -0
  229. package/registry/default/examples/select-disabled.tsx +31 -0
  230. package/registry/default/examples/select-form.tsx +64 -0
  231. package/registry/default/examples/select-lg.tsx +31 -0
  232. package/registry/default/examples/select-multiple.tsx +54 -0
  233. package/registry/default/examples/select-sm.tsx +31 -0
  234. package/registry/default/examples/select-timezone.tsx +16 -0
  235. package/registry/default/examples/select-with-groups.tsx +56 -0
  236. package/registry/default/examples/select-without-alignment.tsx +31 -0
  237. package/registry/default/examples/separator-demo.tsx +25 -0
  238. package/registry/default/examples/separator-section-label.tsx +11 -0
  239. package/registry/default/examples/separator-timeline.tsx +13 -0
  240. package/registry/default/examples/separator-vertical-stack.tsx +13 -0
  241. package/registry/default/examples/sheet-checkout-summary.tsx +19 -0
  242. package/registry/default/examples/sheet-demo.tsx +60 -0
  243. package/registry/default/examples/sheet-position.tsx +82 -0
  244. package/registry/default/examples/sheet-profile-editor.tsx +19 -0
  245. package/registry/default/examples/skeleton-chat-list.tsx +14 -0
  246. package/registry/default/examples/skeleton-dashboard-card.tsx +15 -0
  247. package/registry/default/examples/skeleton-demo.tsx +112 -0
  248. package/registry/default/examples/skeleton-only.tsx +17 -0
  249. package/registry/default/examples/slider-demo.tsx +5 -0
  250. package/registry/default/examples/slider-form.tsx +46 -0
  251. package/registry/default/examples/slider-opacity.tsx +12 -0
  252. package/registry/default/examples/slider-range.tsx +5 -0
  253. package/registry/default/examples/slider-vertical.tsx +5 -0
  254. package/registry/default/examples/slider-with-label-value.tsx +13 -0
  255. package/registry/default/examples/switch-card.tsx +23 -0
  256. package/registry/default/examples/switch-demo.tsx +11 -0
  257. package/registry/default/examples/switch-disabled.tsx +11 -0
  258. package/registry/default/examples/switch-form.tsx +38 -0
  259. package/registry/default/examples/switch-privacy-mode.tsx +12 -0
  260. package/registry/default/examples/switch-with-description.tsx +20 -0
  261. package/registry/default/examples/table-demo.tsx +123 -0
  262. package/registry/default/examples/table-framed.tsx +132 -0
  263. package/registry/default/examples/table-invoice-list.tsx +14 -0
  264. package/registry/default/examples/table-user-roles.tsx +12 -0
  265. package/registry/default/examples/table.tsx +170 -0
  266. package/registry/default/examples/tabs-demo.tsx +28 -0
  267. package/registry/default/examples/tabs-settings.tsx +11 -0
  268. package/registry/default/examples/tabs-underline-vertical.tsx +34 -0
  269. package/registry/default/examples/tabs-underline.tsx +30 -0
  270. package/registry/default/examples/tabs-vertical.tsx +28 -0
  271. package/registry/default/examples/textarea-demo.tsx +5 -0
  272. package/registry/default/examples/textarea-disabled.tsx +5 -0
  273. package/registry/default/examples/textarea-feedback.tsx +5 -0
  274. package/registry/default/examples/textarea-form.tsx +44 -0
  275. package/registry/default/examples/textarea-lg.tsx +5 -0
  276. package/registry/default/examples/textarea-sm.tsx +5 -0
  277. package/registry/default/examples/textarea-with-label.tsx +14 -0
  278. package/registry/default/examples/toast-demo.tsx +20 -0
  279. package/registry/default/examples/toast-heights.tsx +32 -0
  280. package/registry/default/examples/toast-loading.tsx +21 -0
  281. package/registry/default/examples/toast-promise.tsx +42 -0
  282. package/registry/default/examples/toast-sync-complete.tsx +15 -0
  283. package/registry/default/examples/toast-with-action.tsx +33 -0
  284. package/registry/default/examples/toast-with-status.tsx +60 -0
  285. package/registry/default/examples/toggle-demo.tsx +5 -0
  286. package/registry/default/examples/toggle-disabled.tsx +9 -0
  287. package/registry/default/examples/toggle-group-demo.tsx +19 -0
  288. package/registry/default/examples/toggle-group-disabled.tsx +19 -0
  289. package/registry/default/examples/toggle-group-lg.tsx +19 -0
  290. package/registry/default/examples/toggle-group-multiple.tsx +19 -0
  291. package/registry/default/examples/toggle-group-outline-with-separator.tsx +25 -0
  292. package/registry/default/examples/toggle-group-outline.tsx +19 -0
  293. package/registry/default/examples/toggle-group-sm.tsx +19 -0
  294. package/registry/default/examples/toggle-group-with-disabled-item.tsx +19 -0
  295. package/registry/default/examples/toggle-icon-group.tsx +19 -0
  296. package/registry/default/examples/toggle-lg.tsx +9 -0
  297. package/registry/default/examples/toggle-outline.tsx +5 -0
  298. package/registry/default/examples/toggle-sm.tsx +9 -0
  299. package/registry/default/examples/toggle-view-mode.tsx +12 -0
  300. package/registry/default/examples/toggle-with-icon.tsx +11 -0
  301. package/registry/default/examples/toolbar-canvas-controls.tsx +17 -0
  302. package/registry/default/examples/toolbar-demo.tsx +155 -0
  303. package/registry/default/examples/toolbar-density-controls.tsx +17 -0
  304. package/registry/default/examples/toolbar-media-controls.tsx +16 -0
  305. package/registry/default/examples/tooltip-demo.tsx +17 -0
  306. package/registry/default/examples/tooltip-grouped.tsx +46 -0
  307. package/registry/default/examples/tooltip-icon-row.tsx +13 -0
  308. package/registry/default/examples/tooltip-keyboard-hints.tsx +11 -0
  309. package/registry/default/ui/accordion.tsx +66 -0
  310. package/registry/default/ui/alert-dialog.tsx +16 -0
  311. package/registry/default/ui/alert.tsx +215 -0
  312. package/registry/default/ui/autocomplete.tsx +282 -0
  313. package/registry/default/ui/avatar.tsx +46 -0
  314. package/registry/default/ui/badge.tsx +57 -0
  315. package/registry/default/ui/breadcrumb.tsx +109 -0
  316. package/registry/default/ui/button.tsx +85 -0
  317. package/registry/default/ui/card.tsx +113 -0
  318. package/registry/default/ui/checkbox-group.tsx +3 -0
  319. package/registry/default/ui/checkbox.tsx +71 -0
  320. package/registry/default/ui/collapsible.tsx +45 -0
  321. package/registry/default/ui/combobox.tsx +355 -0
  322. package/registry/default/ui/dialog.tsx +134 -0
  323. package/registry/default/ui/empty.tsx +127 -0
  324. package/registry/default/ui/field.tsx +128 -0
  325. package/registry/default/ui/fieldset.tsx +29 -0
  326. package/registry/default/ui/form.tsx +9 -0
  327. package/registry/default/ui/frame.tsx +81 -0
  328. package/registry/default/ui/group.tsx +62 -0
  329. package/registry/default/ui/input.tsx +41 -0
  330. package/registry/default/ui/label.tsx +15 -0
  331. package/registry/default/ui/menu.tsx +254 -0
  332. package/registry/default/ui/meter.tsx +67 -0
  333. package/registry/default/ui/number-field.tsx +160 -0
  334. package/registry/default/ui/pagination.tsx +147 -0
  335. package/registry/default/ui/popover.tsx +86 -0
  336. package/registry/default/ui/preview-card.tsx +55 -0
  337. package/registry/default/ui/progress.tsx +81 -0
  338. package/registry/default/ui/radio-group.tsx +36 -0
  339. package/registry/default/ui/scroll-area.tsx +62 -0
  340. package/registry/default/ui/select.tsx +187 -0
  341. package/registry/default/ui/separator.tsx +23 -0
  342. package/registry/default/ui/sheet.tsx +134 -0
  343. package/registry/default/ui/skeleton.tsx +18 -0
  344. package/registry/default/ui/slider.tsx +77 -0
  345. package/registry/default/ui/switch.tsx +27 -0
  346. package/registry/default/ui/table.tsx +127 -0
  347. package/registry/default/ui/tabs.tsx +90 -0
  348. package/registry/default/ui/textarea.tsx +35 -0
  349. package/registry/default/ui/toast.tsx +351 -0
  350. package/registry/default/ui/toggle-group.tsx +9 -0
  351. package/registry/default/ui/toggle.tsx +105 -0
  352. package/registry/default/ui/toolbar.tsx +83 -0
  353. package/registry/default/ui/tooltip.tsx +57 -0
  354. package/dist/index.d.ts +0 -4
  355. package/dist/index.js +0 -15
  356. package/dist/mcp-server.d.ts +0 -1
  357. package/dist/mcp-server.js +0 -2
  358. package/packages/announcement/index.tsx +0 -53
  359. package/packages/announcement/package.json +0 -23
  360. package/packages/announcement/tsconfig.json +0 -13
  361. package/packages/avatar-stack/index.tsx +0 -51
  362. package/packages/avatar-stack/package.json +0 -23
  363. package/packages/avatar-stack/tsconfig.json +0 -13
  364. package/packages/banner/index.tsx +0 -143
  365. package/packages/banner/package.json +0 -25
  366. package/packages/banner/tsconfig.json +0 -13
  367. package/packages/calendar/index.tsx +0 -496
  368. package/packages/calendar/package.json +0 -26
  369. package/packages/calendar/tsconfig.json +0 -13
  370. package/packages/choicebox/index.tsx +0 -113
  371. package/packages/choicebox/package.json +0 -25
  372. package/packages/choicebox/tsconfig.json +0 -13
  373. package/packages/code-block/README.md +0 -62
  374. package/packages/code-block/components.json +0 -21
  375. package/packages/code-block/package.json +0 -52
  376. package/packages/code-block/src/components/code-block/blocks/copy-with-select-package-manager.tsx +0 -146
  377. package/packages/code-block/src/components/code-block/blocks/copy-with-tabs-package-manager.tsx +0 -110
  378. package/packages/code-block/src/components/code-block/blocks/inline-code.tsx +0 -28
  379. package/packages/code-block/src/components/code-block/blocks/multi-tabs.tsx +0 -118
  380. package/packages/code-block/src/components/code-block/client/shiki.tsx +0 -139
  381. package/packages/code-block/src/components/code-block/client/sugar-high.tsx +0 -38
  382. package/packages/code-block/src/components/code-block/code-block.tsx +0 -113
  383. package/packages/code-block/src/components/code-block/copy-button.tsx +0 -59
  384. package/packages/code-block/src/components/code-block/mdx/pre-shiki.tsx +0 -42
  385. package/packages/code-block/src/components/code-block/mdx/pre-sugar-high.tsx +0 -37
  386. package/packages/code-block/src/components/ui/dropdown-menu.tsx +0 -103
  387. package/packages/code-block/src/components/ui/tabs.tsx +0 -84
  388. package/packages/code-block/src/index.ts +0 -35
  389. package/packages/code-block/src/stores/packageManager.ts +0 -24
  390. package/packages/code-block/src/styles/globals.css +0 -79
  391. package/packages/code-block/src/styles/shiki.css +0 -95
  392. package/packages/code-block/src/styles/sugar-high.css +0 -48
  393. package/packages/code-block/src/utils/cn.ts +0 -6
  394. package/packages/code-block/src/utils/copy.ts +0 -9
  395. package/packages/code-block/src/utils/react-to-text.ts +0 -34
  396. package/packages/code-block/src/utils/shiki/highlight.ts +0 -47
  397. package/packages/code-block/src/utils/sugar-high/highlight.ts +0 -12
  398. package/packages/code-block/tsconfig.json +0 -17
  399. package/packages/color-picker/index.tsx +0 -467
  400. package/packages/color-picker/package.json +0 -27
  401. package/packages/color-picker/tsconfig.json +0 -13
  402. package/packages/combobox/index.tsx +0 -309
  403. package/packages/combobox/package.json +0 -25
  404. package/packages/combobox/tsconfig.json +0 -13
  405. package/packages/comparison/index.tsx +0 -209
  406. package/packages/comparison/package.json +0 -25
  407. package/packages/comparison/tsconfig.json +0 -13
  408. package/packages/contribution-graph/index.tsx +0 -517
  409. package/packages/contribution-graph/package.json +0 -24
  410. package/packages/contribution-graph/tsconfig.json +0 -13
  411. package/packages/credit-card/index.tsx +0 -348
  412. package/packages/credit-card/package.json +0 -24
  413. package/packages/credit-card/tsconfig.json +0 -13
  414. package/packages/cursor/index.tsx +0 -62
  415. package/packages/cursor/package.json +0 -23
  416. package/packages/cursor/tsconfig.json +0 -13
  417. package/packages/deck/index.tsx +0 -297
  418. package/packages/deck/package.json +0 -26
  419. package/packages/deck/tsconfig.json +0 -13
  420. package/packages/dialog-stack/index.tsx +0 -484
  421. package/packages/dialog-stack/package.json +0 -25
  422. package/packages/dialog-stack/tsconfig.json +0 -13
  423. package/packages/dropzone/index.tsx +0 -202
  424. package/packages/dropzone/package.json +0 -25
  425. package/packages/dropzone/tsconfig.json +0 -13
  426. package/packages/editor/index.tsx +0 -1996
  427. package/packages/editor/package.json +0 -41
  428. package/packages/editor/tsconfig.json +0 -13
  429. package/packages/eslint-config/base.js +0 -32
  430. package/packages/eslint-config/next.js +0 -49
  431. package/packages/eslint-config/package.json +0 -33
  432. package/packages/eslint-config/react-internal.js +0 -39
  433. package/packages/ether/README.md +0 -39
  434. package/packages/ether/index.tsx +0 -1297
  435. package/packages/ether/package.json +0 -59
  436. package/packages/ether/tsconfig.json +0 -18
  437. package/packages/gantt/index.tsx +0 -1469
  438. package/packages/gantt/package.json +0 -31
  439. package/packages/gantt/tsconfig.json +0 -13
  440. package/packages/glimpse/index.tsx +0 -67
  441. package/packages/glimpse/package.json +0 -23
  442. package/packages/glimpse/server.tsx +0 -21
  443. package/packages/glimpse/tsconfig.json +0 -13
  444. package/packages/gooey-toast/package.json +0 -28
  445. package/packages/gooey-toast/src/gooey.tsx +0 -614
  446. package/packages/gooey-toast/src/icons.tsx +0 -68
  447. package/packages/gooey-toast/src/index.ts +0 -10
  448. package/packages/gooey-toast/src/styles.css +0 -511
  449. package/packages/gooey-toast/src/toast.tsx +0 -444
  450. package/packages/gooey-toast/src/types.ts +0 -45
  451. package/packages/gooey-toast/tsconfig.json +0 -13
  452. package/packages/gradiant-blinds/README.md +0 -39
  453. package/packages/gradiant-blinds/index.tsx +0 -390
  454. package/packages/gradiant-blinds/package.json +0 -60
  455. package/packages/gradiant-blinds/tsconfig.json +0 -18
  456. package/packages/gradient-mesh/index.tsx +0 -236
  457. package/packages/gradient-mesh/package.json +0 -62
  458. package/packages/gradient-mesh/tsconfig.json +0 -10
  459. package/packages/image-crop/index.tsx +0 -368
  460. package/packages/image-crop/package.json +0 -26
  461. package/packages/image-crop/tsconfig.json +0 -13
  462. package/packages/image-zoom/index.tsx +0 -52
  463. package/packages/image-zoom/package.json +0 -24
  464. package/packages/image-zoom/tsconfig.json +0 -13
  465. package/packages/kanban/index.tsx +0 -338
  466. package/packages/kanban/package.json +0 -27
  467. package/packages/kanban/tsconfig.json +0 -13
  468. package/packages/list/index.tsx +0 -152
  469. package/packages/list/package.json +0 -25
  470. package/packages/list/tsconfig.json +0 -13
  471. package/packages/love-ui/components.json +0 -20
  472. package/packages/love-ui/eslint.config.js +0 -4
  473. package/packages/love-ui/index.ts +0 -3
  474. package/packages/love-ui/package.json +0 -60
  475. package/packages/love-ui/postcss.config.mjs +0 -6
  476. package/packages/love-ui/src/components/code-block.tsx +0 -38
  477. package/packages/love-ui/src/components/copy-button.tsx +0 -59
  478. package/packages/love-ui/src/components/icons.tsx +0 -207
  479. package/packages/love-ui/src/components/mobile-nav.tsx +0 -123
  480. package/packages/love-ui/src/components/mode-switcher.tsx +0 -42
  481. package/packages/love-ui/src/components/page-header.tsx +0 -43
  482. package/packages/love-ui/src/components/product-label.tsx +0 -61
  483. package/packages/love-ui/src/components/products-dropdown.tsx +0 -81
  484. package/packages/love-ui/src/components/site-cta.tsx +0 -19
  485. package/packages/love-ui/src/components/site-footer.tsx +0 -13
  486. package/packages/love-ui/src/components/site-header.tsx +0 -56
  487. package/packages/love-ui/src/components/theme-provider.tsx +0 -22
  488. package/packages/love-ui/src/hooks/use-copy-to-clipboard.ts +0 -38
  489. package/packages/love-ui/src/hooks/use-media.tsx +0 -22
  490. package/packages/love-ui/src/lib/config.ts +0 -20
  491. package/packages/love-ui/src/lib/highlight-code.ts +0 -86
  492. package/packages/love-ui/src/lib/utils.ts +0 -10
  493. package/packages/love-ui/src/styles/globals.css +0 -349
  494. package/packages/love-ui/src/ui/accordion.tsx +0 -66
  495. package/packages/love-ui/src/ui/alert-dialog.tsx +0 -136
  496. package/packages/love-ui/src/ui/alert.tsx +0 -81
  497. package/packages/love-ui/src/ui/autocomplete.tsx +0 -282
  498. package/packages/love-ui/src/ui/avatar.tsx +0 -46
  499. package/packages/love-ui/src/ui/badge.tsx +0 -57
  500. package/packages/love-ui/src/ui/breadcrumb.tsx +0 -110
  501. package/packages/love-ui/src/ui/button.tsx +0 -85
  502. package/packages/love-ui/src/ui/card.tsx +0 -114
  503. package/packages/love-ui/src/ui/chart.tsx +0 -367
  504. package/packages/love-ui/src/ui/checkbox-group.tsx +0 -16
  505. package/packages/love-ui/src/ui/checkbox.tsx +0 -67
  506. package/packages/love-ui/src/ui/collapsible.tsx +0 -45
  507. package/packages/love-ui/src/ui/combobox.tsx +0 -355
  508. package/packages/love-ui/src/ui/command.tsx +0 -185
  509. package/packages/love-ui/src/ui/dialog.tsx +0 -135
  510. package/packages/love-ui/src/ui/empty.tsx +0 -128
  511. package/packages/love-ui/src/ui/field.tsx +0 -96
  512. package/packages/love-ui/src/ui/fieldset.tsx +0 -29
  513. package/packages/love-ui/src/ui/form.tsx +0 -17
  514. package/packages/love-ui/src/ui/frame.tsx +0 -82
  515. package/packages/love-ui/src/ui/group.tsx +0 -62
  516. package/packages/love-ui/src/ui/input.tsx +0 -41
  517. package/packages/love-ui/src/ui/kbd.tsx +0 -27
  518. package/packages/love-ui/src/ui/label.tsx +0 -16
  519. package/packages/love-ui/src/ui/menu.tsx +0 -255
  520. package/packages/love-ui/src/ui/meter.tsx +0 -67
  521. package/packages/love-ui/src/ui/number-field.tsx +0 -161
  522. package/packages/love-ui/src/ui/pagination.tsx +0 -136
  523. package/packages/love-ui/src/ui/popover.tsx +0 -158
  524. package/packages/love-ui/src/ui/preview-card.tsx +0 -55
  525. package/packages/love-ui/src/ui/progress.tsx +0 -81
  526. package/packages/love-ui/src/ui/radio-group.tsx +0 -36
  527. package/packages/love-ui/src/ui/scroll-area.tsx +0 -62
  528. package/packages/love-ui/src/ui/select.tsx +0 -186
  529. package/packages/love-ui/src/ui/separator.tsx +0 -23
  530. package/packages/love-ui/src/ui/sheet.tsx +0 -135
  531. package/packages/love-ui/src/ui/skeleton.tsx +0 -18
  532. package/packages/love-ui/src/ui/slider.tsx +0 -76
  533. package/packages/love-ui/src/ui/switch.tsx +0 -27
  534. package/packages/love-ui/src/ui/table.tsx +0 -127
  535. package/packages/love-ui/src/ui/tabs.tsx +0 -90
  536. package/packages/love-ui/src/ui/textarea.tsx +0 -36
  537. package/packages/love-ui/src/ui/toast.tsx +0 -169
  538. package/packages/love-ui/src/ui/toggle-group.tsx +0 -84
  539. package/packages/love-ui/src/ui/toggle.tsx +0 -45
  540. package/packages/love-ui/src/ui/toolbar.tsx +0 -83
  541. package/packages/love-ui/src/ui/tooltip.tsx +0 -57
  542. package/packages/love-ui/tsconfig.json +0 -11
  543. package/packages/love-ui/tsconfig.lint.json +0 -8
  544. package/packages/loveui-skills/SKILL.md +0 -99
  545. package/packages/loveui-skills/agents/openai.yaml +0 -11
  546. package/packages/loveui-skills/references/design-directions.md +0 -60
  547. package/packages/loveui-skills/references/mcp-catalog-workflow.md +0 -68
  548. package/packages/loveui-skills/references/page-blueprints.md +0 -76
  549. package/packages/loveui-skills/references/quality-gates.md +0 -51
  550. package/packages/marquee/index.tsx +0 -59
  551. package/packages/marquee/package.json +0 -24
  552. package/packages/marquee/tsconfig.json +0 -13
  553. package/packages/mini-calendar/index.tsx +0 -230
  554. package/packages/mini-calendar/package.json +0 -27
  555. package/packages/mini-calendar/tsconfig.json +0 -13
  556. package/packages/patterns/accordion/form/accordion-form-1.tsx +0 -83
  557. package/packages/patterns/accordion/form/accordion-form-2.tsx +0 -89
  558. package/packages/patterns/accordion/multi-level/accordion-multi-level-1.tsx +0 -83
  559. package/packages/patterns/accordion/multi-level/accordion-multi-level-2.tsx +0 -92
  560. package/packages/patterns/accordion/multi-level/accordion-multi-level-3.tsx +0 -89
  561. package/packages/patterns/accordion/multi-level/accordion-multi-level-4.tsx +0 -89
  562. package/packages/patterns/accordion/standard/accordion-standard-1.tsx +0 -43
  563. package/packages/patterns/accordion/standard/accordion-standard-2.tsx +0 -45
  564. package/packages/patterns/accordion/standard/accordion-standard-3.tsx +0 -52
  565. package/packages/patterns/accordion/standard/accordion-standard-4.tsx +0 -52
  566. package/packages/patterns/accordion/standard/accordion-standard-5.tsx +0 -59
  567. package/packages/patterns/accordion/standard/accordion-standard-6.tsx +0 -72
  568. package/packages/patterns/accordion/standard/accordion-standard-7.tsx +0 -79
  569. package/packages/patterns/accordion/subtitle/accordion-subtitle-1.tsx +0 -56
  570. package/packages/patterns/accordion/subtitle/accordion-subtitle-2.tsx +0 -66
  571. package/packages/patterns/accordion/subtitle/accordion-subtitle-3.tsx +0 -63
  572. package/packages/patterns/accordion/subtitle/accordion-subtitle-4.tsx +0 -66
  573. package/packages/patterns/accordion/tabs/accordion-tabs-1.tsx +0 -52
  574. package/packages/patterns/accordion/tabs/accordion-tabs-2.tsx +0 -43
  575. package/packages/patterns/accordion/tabs/accordion-tabs-3.tsx +0 -52
  576. package/packages/patterns/accordion/tabs/accordion-tabs-4.tsx +0 -45
  577. package/packages/patterns/alert/error/alert-error-1.tsx +0 -11
  578. package/packages/patterns/alert/error/alert-error-2.tsx +0 -14
  579. package/packages/patterns/alert/error/alert-error-3.tsx +0 -22
  580. package/packages/patterns/alert/error/alert-error-4.tsx +0 -27
  581. package/packages/patterns/alert/error/alert-error-5.tsx +0 -29
  582. package/packages/patterns/alert/info/alert-info-1.tsx +0 -11
  583. package/packages/patterns/alert/info/alert-info-2.tsx +0 -14
  584. package/packages/patterns/alert/info/alert-info-3.tsx +0 -26
  585. package/packages/patterns/alert/info/alert-info-4.tsx +0 -31
  586. package/packages/patterns/alert/info/alert-info-5.tsx +0 -34
  587. package/packages/patterns/alert/standard/alert-standard-1.tsx +0 -11
  588. package/packages/patterns/alert/standard/alert-standard-2.tsx +0 -14
  589. package/packages/patterns/alert/standard/alert-standard-3.tsx +0 -22
  590. package/packages/patterns/alert/standard/alert-standard-4.tsx +0 -27
  591. package/packages/patterns/alert/standard/alert-standard-5.tsx +0 -29
  592. package/packages/patterns/alert/success/alert-success-1.tsx +0 -11
  593. package/packages/patterns/alert/success/alert-success-2.tsx +0 -14
  594. package/packages/patterns/alert/success/alert-success-3.tsx +0 -26
  595. package/packages/patterns/alert/success/alert-success-4.tsx +0 -31
  596. package/packages/patterns/alert/success/alert-success-5.tsx +0 -33
  597. package/packages/patterns/alert/warning/alert-warning-1.tsx +0 -11
  598. package/packages/patterns/alert/warning/alert-warning-2.tsx +0 -14
  599. package/packages/patterns/alert/warning/alert-warning-3.tsx +0 -26
  600. package/packages/patterns/alert/warning/alert-warning-4.tsx +0 -32
  601. package/packages/patterns/alert/warning/alert-warning-5.tsx +0 -33
  602. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-1.tsx +0 -37
  603. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-2.tsx +0 -41
  604. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-3.tsx +0 -43
  605. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-4.tsx +0 -37
  606. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-5.tsx +0 -36
  607. package/packages/patterns/alert-dialog/confirmation/alert-dialog-confirmation-6.tsx +0 -40
  608. package/packages/patterns/alert-dialog/custom-actions/alert-dialog-custom-actions-1.tsx +0 -41
  609. package/packages/patterns/alert-dialog/custom-actions/alert-dialog-custom-actions-2.tsx +0 -42
  610. package/packages/patterns/alert-dialog/custom-actions/alert-dialog-custom-actions-3.tsx +0 -41
  611. package/packages/patterns/alert-dialog/custom-actions/alert-dialog-custom-actions-4.tsx +0 -54
  612. package/packages/patterns/alert-dialog/custom-actions/alert-dialog-custom-actions-5.tsx +0 -40
  613. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-1.tsx +0 -39
  614. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-2.tsx +0 -43
  615. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-3.tsx +0 -51
  616. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-4.tsx +0 -46
  617. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-5.tsx +0 -46
  618. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-6.tsx +0 -46
  619. package/packages/patterns/alert-dialog/destructive/alert-dialog-destructive-7.tsx +0 -43
  620. package/packages/patterns/alert-dialog/form/alert-dialog-form-1.tsx +0 -47
  621. package/packages/patterns/alert-dialog/form/alert-dialog-form-2.tsx +0 -53
  622. package/packages/patterns/alert-dialog/form/alert-dialog-form-3.tsx +0 -64
  623. package/packages/patterns/alert-dialog/form/alert-dialog-form-4.tsx +0 -47
  624. package/packages/patterns/alert-dialog/form/alert-dialog-form-5.tsx +0 -55
  625. package/packages/patterns/alert-dialog/form/alert-dialog-form-6.tsx +0 -69
  626. package/packages/patterns/alert-dialog/form/alert-dialog-form-7.tsx +0 -73
  627. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-1.tsx +0 -35
  628. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-2.tsx +0 -39
  629. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-3.tsx +0 -48
  630. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-4.tsx +0 -41
  631. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-5.tsx +0 -42
  632. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-6.tsx +0 -43
  633. package/packages/patterns/alert-dialog/informational/alert-dialog-informational-7.tsx +0 -58
  634. package/packages/patterns/alert-dialog/success/alert-dialog-success-1.tsx +0 -34
  635. package/packages/patterns/alert-dialog/success/alert-dialog-success-2.tsx +0 -39
  636. package/packages/patterns/alert-dialog/success/alert-dialog-success-3.tsx +0 -39
  637. package/packages/patterns/alert-dialog/success/alert-dialog-success-4.tsx +0 -52
  638. package/packages/patterns/alert-dialog/success/alert-dialog-success-5.tsx +0 -50
  639. package/packages/patterns/alert-dialog/success/alert-dialog-success-6.tsx +0 -41
  640. package/packages/patterns/alert-dialog/success/alert-dialog-success-7.tsx +0 -44
  641. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-1.tsx +0 -15
  642. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-2.tsx +0 -15
  643. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-3.tsx +0 -15
  644. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-4.tsx +0 -15
  645. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-5.tsx +0 -15
  646. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-6.tsx +0 -15
  647. package/packages/patterns/aspect-ratio/standard/aspect-ratio-standard-7.tsx +0 -15
  648. package/packages/patterns/avatar/square/avatar-square-1.tsx +0 -15
  649. package/packages/patterns/avatar/square/avatar-square-2.tsx +0 -11
  650. package/packages/patterns/avatar/square/avatar-square-3.tsx +0 -14
  651. package/packages/patterns/avatar/square/avatar-square-4.tsx +0 -18
  652. package/packages/patterns/avatar/square/avatar-square-5.tsx +0 -18
  653. package/packages/patterns/avatar/square/avatar-square-6.tsx +0 -21
  654. package/packages/patterns/avatar/square/avatar-square-7.tsx +0 -20
  655. package/packages/patterns/avatar/standard/avatar-standard-1.tsx +0 -15
  656. package/packages/patterns/avatar/standard/avatar-standard-2.tsx +0 -11
  657. package/packages/patterns/avatar/standard/avatar-standard-3.tsx +0 -14
  658. package/packages/patterns/avatar/standard/avatar-standard-4.tsx +0 -18
  659. package/packages/patterns/avatar/standard/avatar-standard-5.tsx +0 -18
  660. package/packages/patterns/avatar/standard/avatar-standard-6.tsx +0 -21
  661. package/packages/patterns/avatar/standard/avatar-standard-7.tsx +0 -20
  662. package/packages/patterns/badge/destructive/badge-destructive-1.tsx +0 -7
  663. package/packages/patterns/badge/destructive/badge-destructive-2.tsx +0 -13
  664. package/packages/patterns/badge/destructive/badge-destructive-3.tsx +0 -13
  665. package/packages/patterns/badge/destructive/badge-destructive-4.tsx +0 -13
  666. package/packages/patterns/badge/destructive/badge-destructive-5.tsx +0 -14
  667. package/packages/patterns/badge/outline/badge-outline-1.tsx +0 -7
  668. package/packages/patterns/badge/outline/badge-outline-2.tsx +0 -13
  669. package/packages/patterns/badge/outline/badge-outline-3.tsx +0 -13
  670. package/packages/patterns/badge/outline/badge-outline-4.tsx +0 -13
  671. package/packages/patterns/badge/outline/badge-outline-5.tsx +0 -14
  672. package/packages/patterns/badge/secondary/badge-secondary-1.tsx +0 -7
  673. package/packages/patterns/badge/secondary/badge-secondary-2.tsx +0 -13
  674. package/packages/patterns/badge/secondary/badge-secondary-3.tsx +0 -13
  675. package/packages/patterns/badge/secondary/badge-secondary-4.tsx +0 -13
  676. package/packages/patterns/badge/secondary/badge-secondary-5.tsx +0 -14
  677. package/packages/patterns/badge/standard/badge-standard-1.tsx +0 -7
  678. package/packages/patterns/badge/standard/badge-standard-2.tsx +0 -13
  679. package/packages/patterns/badge/standard/badge-standard-3.tsx +0 -13
  680. package/packages/patterns/badge/standard/badge-standard-4.tsx +0 -13
  681. package/packages/patterns/badge/standard/badge-standard-5.tsx +0 -11
  682. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-1.tsx +0 -38
  683. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-2.tsx +0 -52
  684. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-3.tsx +0 -42
  685. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-4.tsx +0 -33
  686. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-5.tsx +0 -33
  687. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-6.tsx +0 -37
  688. package/packages/patterns/breadcrumb/home-icon/breadcrumb-home-icon-7.tsx +0 -49
  689. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-1.tsx +0 -35
  690. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-2.tsx +0 -50
  691. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-3.tsx +0 -43
  692. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-4.tsx +0 -30
  693. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-5.tsx +0 -30
  694. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-6.tsx +0 -35
  695. package/packages/patterns/breadcrumb/standard/breadcrumb-standard-7.tsx +0 -46
  696. package/packages/patterns/button/destructive/button-destructive-1.tsx +0 -7
  697. package/packages/patterns/button/destructive/button-destructive-2.tsx +0 -13
  698. package/packages/patterns/button/destructive/button-destructive-3.tsx +0 -13
  699. package/packages/patterns/button/destructive/button-destructive-4.tsx +0 -11
  700. package/packages/patterns/button/destructive/button-destructive-5.tsx +0 -13
  701. package/packages/patterns/button/destructive/button-destructive-6.tsx +0 -15
  702. package/packages/patterns/button/destructive/button-destructive-7.tsx +0 -13
  703. package/packages/patterns/button/link/button-link-1.tsx +0 -7
  704. package/packages/patterns/button/link/button-link-2.tsx +0 -13
  705. package/packages/patterns/button/link/button-link-3.tsx +0 -13
  706. package/packages/patterns/button/link/button-link-4.tsx +0 -11
  707. package/packages/patterns/button/link/button-link-5.tsx +0 -13
  708. package/packages/patterns/button/link/button-link-6.tsx +0 -15
  709. package/packages/patterns/button/link/button-link-7.tsx +0 -13
  710. package/packages/patterns/button/outline/button-outline-1.tsx +0 -7
  711. package/packages/patterns/button/outline/button-outline-2.tsx +0 -13
  712. package/packages/patterns/button/outline/button-outline-3.tsx +0 -13
  713. package/packages/patterns/button/outline/button-outline-4.tsx +0 -11
  714. package/packages/patterns/button/outline/button-outline-5.tsx +0 -13
  715. package/packages/patterns/button/outline/button-outline-6.tsx +0 -15
  716. package/packages/patterns/button/outline/button-outline-7.tsx +0 -13
  717. package/packages/patterns/button/secondary/button-secondary-1.tsx +0 -7
  718. package/packages/patterns/button/secondary/button-secondary-2.tsx +0 -13
  719. package/packages/patterns/button/secondary/button-secondary-3.tsx +0 -13
  720. package/packages/patterns/button/secondary/button-secondary-4.tsx +0 -11
  721. package/packages/patterns/button/secondary/button-secondary-5.tsx +0 -13
  722. package/packages/patterns/button/secondary/button-secondary-6.tsx +0 -15
  723. package/packages/patterns/button/secondary/button-secondary-7.tsx +0 -13
  724. package/packages/patterns/button/standard/button-standard-1.tsx +0 -7
  725. package/packages/patterns/button/standard/button-standard-2.tsx +0 -13
  726. package/packages/patterns/button/standard/button-standard-3.tsx +0 -13
  727. package/packages/patterns/button/standard/button-standard-4.tsx +0 -7
  728. package/packages/patterns/button/standard/button-standard-5.tsx +0 -13
  729. package/packages/patterns/button/standard/button-standard-6.tsx +0 -15
  730. package/packages/patterns/button/standard/button-standard-7.tsx +0 -13
  731. package/packages/patterns/button-group/actions/button-group-actions-1.tsx +0 -37
  732. package/packages/patterns/button-group/actions/button-group-actions-2.tsx +0 -44
  733. package/packages/patterns/button-group/actions/button-group-actions-3.tsx +0 -46
  734. package/packages/patterns/button-group/actions/button-group-actions-4.tsx +0 -41
  735. package/packages/patterns/button-group/advanced/button-group-advanced-1.tsx +0 -54
  736. package/packages/patterns/button-group/advanced/button-group-advanced-2.tsx +0 -49
  737. package/packages/patterns/button-group/advanced/button-group-advanced-3.tsx +0 -55
  738. package/packages/patterns/button-group/advanced/button-group-advanced-4.tsx +0 -78
  739. package/packages/patterns/button-group/badges/button-group-badges-1.tsx +0 -28
  740. package/packages/patterns/button-group/badges/button-group-badges-2.tsx +0 -32
  741. package/packages/patterns/button-group/badges/button-group-badges-3.tsx +0 -32
  742. package/packages/patterns/button-group/badges/button-group-badges-4.tsx +0 -39
  743. package/packages/patterns/button-group/display/button-group-display-1.tsx +0 -68
  744. package/packages/patterns/button-group/display/button-group-display-2.tsx +0 -67
  745. package/packages/patterns/button-group/display/button-group-display-3.tsx +0 -85
  746. package/packages/patterns/button-group/display/button-group-display-4.tsx +0 -78
  747. package/packages/patterns/button-group/forms/button-group-forms-1.tsx +0 -78
  748. package/packages/patterns/button-group/forms/button-group-forms-2.tsx +0 -78
  749. package/packages/patterns/button-group/forms/button-group-forms-3.tsx +0 -71
  750. package/packages/patterns/button-group/forms/button-group-forms-4.tsx +0 -60
  751. package/packages/patterns/button-group/interactive/button-group-interactive-1.tsx +0 -68
  752. package/packages/patterns/button-group/interactive/button-group-interactive-2.tsx +0 -79
  753. package/packages/patterns/button-group/interactive/button-group-interactive-3.tsx +0 -82
  754. package/packages/patterns/button-group/interactive/button-group-interactive-4.tsx +0 -79
  755. package/packages/patterns/button-group/media/button-group-media-1.tsx +0 -66
  756. package/packages/patterns/button-group/media/button-group-media-2.tsx +0 -62
  757. package/packages/patterns/button-group/media/button-group-media-3.tsx +0 -67
  758. package/packages/patterns/button-group/media/button-group-media-4.tsx +0 -62
  759. package/packages/patterns/button-group/navigation/button-group-navigation-1.tsx +0 -76
  760. package/packages/patterns/button-group/navigation/button-group-navigation-2.tsx +0 -70
  761. package/packages/patterns/button-group/navigation/button-group-navigation-3.tsx +0 -73
  762. package/packages/patterns/button-group/patterns/button-group-patterns-1.tsx +0 -73
  763. package/packages/patterns/button-group/patterns/button-group-patterns-2.tsx +0 -60
  764. package/packages/patterns/button-group/patterns/button-group-patterns-3.tsx +0 -79
  765. package/packages/patterns/button-group/patterns/button-group-patterns-4.tsx +0 -53
  766. package/packages/patterns/button-group/standard/button-group-standard-1.tsx +0 -32
  767. package/packages/patterns/button-group/standard/button-group-standard-2.tsx +0 -30
  768. package/packages/patterns/button-group/standard/button-group-standard-3.tsx +0 -20
  769. package/packages/patterns/button-group/standard/button-group-standard-4.tsx +0 -39
  770. package/packages/patterns/calendar/dialog/calendar-dialog-1.tsx +0 -58
  771. package/packages/patterns/calendar/dialog/calendar-dialog-2.tsx +0 -97
  772. package/packages/patterns/calendar/dialog/calendar-dialog-3.tsx +0 -78
  773. package/packages/patterns/calendar/dialog/calendar-dialog-4.tsx +0 -62
  774. package/packages/patterns/calendar/dialog/calendar-dialog-5.tsx +0 -82
  775. package/packages/patterns/calendar/dialog/calendar-dialog-6.tsx +0 -63
  776. package/packages/patterns/calendar/dialog/calendar-dialog-7.tsx +0 -59
  777. package/packages/patterns/calendar/dialog/calendar-dialog-8.tsx +0 -78
  778. package/packages/patterns/calendar/standard/calendar-standard-1.tsx +0 -40
  779. package/packages/patterns/calendar/standard/calendar-standard-2.tsx +0 -77
  780. package/packages/patterns/calendar/standard/calendar-standard-3.tsx +0 -59
  781. package/packages/patterns/calendar/standard/calendar-standard-4.tsx +0 -44
  782. package/packages/patterns/calendar/standard/calendar-standard-5.tsx +0 -65
  783. package/packages/patterns/calendar/standard/calendar-standard-6.tsx +0 -45
  784. package/packages/patterns/calendar/standard/calendar-standard-7.tsx +0 -41
  785. package/packages/patterns/calendar/standard/calendar-standard-8.tsx +0 -60
  786. package/packages/patterns/card/standard/card-standard-1.tsx +0 -29
  787. package/packages/patterns/card/standard/card-standard-2.tsx +0 -72
  788. package/packages/patterns/card/standard/card-standard-3.tsx +0 -57
  789. package/packages/patterns/card/standard/card-standard-4.tsx +0 -56
  790. package/packages/patterns/carousel/standard/carousel-standard-1.tsx +0 -35
  791. package/packages/patterns/carousel/standard/carousel-standard-2.tsx +0 -65
  792. package/packages/patterns/carousel/standard/carousel-standard-3.tsx +0 -80
  793. package/packages/patterns/carousel/standard/carousel-standard-4.tsx +0 -50
  794. package/packages/patterns/chart/area/chart-area-axes.tsx +0 -76
  795. package/packages/patterns/chart/area/chart-area-default.tsx +0 -65
  796. package/packages/patterns/chart/area/chart-area-gradient.tsx +0 -101
  797. package/packages/patterns/chart/area/chart-area-icons.tsx +0 -84
  798. package/packages/patterns/chart/area/chart-area-interactive.tsx +0 -206
  799. package/packages/patterns/chart/area/chart-area-legend.tsx +0 -81
  800. package/packages/patterns/chart/area/chart-area-linear.tsx +0 -64
  801. package/packages/patterns/chart/area/chart-area-stacked-expand.tsx +0 -92
  802. package/packages/patterns/chart/area/chart-area-stacked.tsx +0 -78
  803. package/packages/patterns/chart/area/chart-area-step.tsx +0 -67
  804. package/packages/patterns/chart/bar/chart-bar-active.tsx +0 -86
  805. package/packages/patterns/chart/bar/chart-bar-default.tsx +0 -52
  806. package/packages/patterns/chart/bar/chart-bar-horizontal.tsx +0 -60
  807. package/packages/patterns/chart/bar/chart-bar-interactive.tsx +0 -176
  808. package/packages/patterns/chart/bar/chart-bar-label-custom.tsx +0 -96
  809. package/packages/patterns/chart/bar/chart-bar-label.tsx +0 -65
  810. package/packages/patterns/chart/bar/chart-bar-mixed.tsx +0 -80
  811. package/packages/patterns/chart/bar/chart-bar-multiple.tsx +0 -57
  812. package/packages/patterns/chart/bar/chart-bar-negative.tsx +0 -52
  813. package/packages/patterns/chart/bar/chart-bar-stacked.tsx +0 -67
  814. package/packages/patterns/chart/line/chart-line-default.tsx +0 -65
  815. package/packages/patterns/chart/line/chart-line-dots-colors.tsx +0 -93
  816. package/packages/patterns/chart/line/chart-line-dots-custom.tsx +0 -83
  817. package/packages/patterns/chart/line/chart-line-dots.tsx +0 -74
  818. package/packages/patterns/chart/line/chart-line-interactive.tsx +0 -182
  819. package/packages/patterns/chart/line/chart-line-label-custom.tsx +0 -100
  820. package/packages/patterns/chart/line/chart-line-label.tsx +0 -82
  821. package/packages/patterns/chart/line/chart-line-linear.tsx +0 -65
  822. package/packages/patterns/chart/line/chart-line-multiple.tsx +0 -73
  823. package/packages/patterns/chart/line/chart-line-step.tsx +0 -65
  824. package/packages/patterns/chart/pie/chart-pie-donut-active.tsx +0 -76
  825. package/packages/patterns/chart/pie/chart-pie-donut-text.tsx +0 -101
  826. package/packages/patterns/chart/pie/chart-pie-donut.tsx +0 -70
  827. package/packages/patterns/chart/pie/chart-pie-interactive.tsx +0 -125
  828. package/packages/patterns/chart/pie/chart-pie-label-custom.tsx +0 -82
  829. package/packages/patterns/chart/pie/chart-pie-label-list.tsx +0 -74
  830. package/packages/patterns/chart/pie/chart-pie-label.tsx +0 -62
  831. package/packages/patterns/chart/pie/chart-pie-legend.tsx +0 -65
  832. package/packages/patterns/chart/pie/chart-pie-separator-none.tsx +0 -65
  833. package/packages/patterns/chart/pie/chart-pie-simple.tsx +0 -65
  834. package/packages/patterns/chart/pie/chart-pie-stacked.tsx +0 -94
  835. package/packages/patterns/chart/radar/chart-radar-default.tsx +0 -50
  836. package/packages/patterns/chart/radar/chart-radar-dots.tsx +0 -54
  837. package/packages/patterns/chart/radar/chart-radar-grid-circle-fill.tsx +0 -53
  838. package/packages/patterns/chart/radar/chart-radar-grid-circle-no-lines.tsx +0 -57
  839. package/packages/patterns/chart/radar/chart-radar-grid-circle.tsx +0 -57
  840. package/packages/patterns/chart/radar/chart-radar-grid-custom.tsx +0 -53
  841. package/packages/patterns/chart/radar/chart-radar-grid-fill.tsx +0 -53
  842. package/packages/patterns/chart/radar/chart-radar-grid-none.tsx +0 -56
  843. package/packages/patterns/chart/radar/chart-radar-icons.tsx +0 -70
  844. package/packages/patterns/chart/radar/chart-radar-label-custom.tsx +0 -95
  845. package/packages/patterns/chart/radar/chart-radar-legend.tsx +0 -67
  846. package/packages/patterns/chart/radar/chart-radar-lines-only.tsx +0 -66
  847. package/packages/patterns/chart/radar/chart-radar-multiple.tsx +0 -58
  848. package/packages/patterns/chart/radar/chart-radar-radius.tsx +0 -63
  849. package/packages/patterns/chart/radial/chart-radial-grid.tsx +0 -66
  850. package/packages/patterns/chart/radial/chart-radial-label.tsx +0 -78
  851. package/packages/patterns/chart/radial/chart-radial-shape.tsx +0 -85
  852. package/packages/patterns/chart/radial/chart-radial-simple.tsx +0 -65
  853. package/packages/patterns/chart/radial/chart-radial-stacked.tsx +0 -88
  854. package/packages/patterns/chart/radial/chart-radial-text.tsx +0 -86
  855. package/packages/patterns/chart/tooltip/chart-tooltip-advanced.tsx +0 -107
  856. package/packages/patterns/chart/tooltip/chart-tooltip-default.tsx +0 -74
  857. package/packages/patterns/chart/tooltip/chart-tooltip-formatter.tsx +0 -86
  858. package/packages/patterns/chart/tooltip/chart-tooltip-icons.tsx +0 -74
  859. package/packages/patterns/chart/tooltip/chart-tooltip-indicator-line.tsx +0 -74
  860. package/packages/patterns/chart/tooltip/chart-tooltip-indicator-none.tsx +0 -71
  861. package/packages/patterns/chart/tooltip/chart-tooltip-label-custom.tsx +0 -76
  862. package/packages/patterns/chart/tooltip/chart-tooltip-label-formatter.tsx +0 -81
  863. package/packages/patterns/chart/tooltip/chart-tooltip-label-none.tsx +0 -71
  864. package/packages/patterns/checkbox/standard/checkbox-standard-1.tsx +0 -13
  865. package/packages/patterns/checkbox/standard/checkbox-standard-11.tsx +0 -18
  866. package/packages/patterns/checkbox/standard/checkbox-standard-12.tsx +0 -22
  867. package/packages/patterns/checkbox/standard/checkbox-standard-13.tsx +0 -64
  868. package/packages/patterns/checkbox/standard/checkbox-standard-2.tsx +0 -26
  869. package/packages/patterns/checkbox/standard/checkbox-standard-3.tsx +0 -16
  870. package/packages/patterns/checkbox/standard/checkbox-standard-4.tsx +0 -23
  871. package/packages/patterns/checkbox/standard/checkbox-standard-5.tsx +0 -33
  872. package/packages/patterns/checkbox/standard/checkbox-standard-6.tsx +0 -19
  873. package/packages/patterns/checkbox/standard/checkbox-standard-7.tsx +0 -25
  874. package/packages/patterns/checkbox/standard/checkbox-standard-8.tsx +0 -25
  875. package/packages/patterns/checkbox/standard/checkbox-standard-9.tsx +0 -23
  876. package/packages/patterns/collapsible/card/collapsible-card-1.tsx +0 -26
  877. package/packages/patterns/collapsible/card/collapsible-card-2.tsx +0 -27
  878. package/packages/patterns/collapsible/card/collapsible-card-3.tsx +0 -33
  879. package/packages/patterns/collapsible/card/collapsible-card-4.tsx +0 -27
  880. package/packages/patterns/collapsible/card/collapsible-card-5.tsx +0 -24
  881. package/packages/patterns/collapsible/faq/collapsible-faq-1.tsx +0 -26
  882. package/packages/patterns/collapsible/faq/collapsible-faq-2.tsx +0 -25
  883. package/packages/patterns/collapsible/faq/collapsible-faq-3.tsx +0 -23
  884. package/packages/patterns/collapsible/faq/collapsible-faq-4.tsx +0 -26
  885. package/packages/patterns/collapsible/faq/collapsible-faq-5.tsx +0 -30
  886. package/packages/patterns/collapsible/outline/collapsible-outline-1.tsx +0 -32
  887. package/packages/patterns/collapsible/outline/collapsible-outline-2.tsx +0 -30
  888. package/packages/patterns/collapsible/outline/collapsible-outline-3.tsx +0 -25
  889. package/packages/patterns/collapsible/outline/collapsible-outline-4.tsx +0 -30
  890. package/packages/patterns/collapsible/sidebar/collapsible-sidebar-1.tsx +0 -39
  891. package/packages/patterns/collapsible/sidebar/collapsible-sidebar-2.tsx +0 -40
  892. package/packages/patterns/collapsible/sidebar/collapsible-sidebar-3.tsx +0 -35
  893. package/packages/patterns/collapsible/sidebar/collapsible-sidebar-4.tsx +0 -32
  894. package/packages/patterns/collapsible/standard/collapsible-standard-1.tsx +0 -26
  895. package/packages/patterns/collapsible/standard/collapsible-standard-2.tsx +0 -23
  896. package/packages/patterns/collapsible/standard/collapsible-standard-3.tsx +0 -28
  897. package/packages/patterns/collapsible/standard/collapsible-standard-4.tsx +0 -25
  898. package/packages/patterns/collapsible/standard/collapsible-standard-5.tsx +0 -35
  899. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-1.tsx +0 -108
  900. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-2.tsx +0 -95
  901. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-3.tsx +0 -115
  902. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-4.tsx +0 -119
  903. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-5.tsx +0 -118
  904. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-6.tsx +0 -88
  905. package/packages/patterns/combobox/custom-actions/combobox-custom-actions-7.tsx +0 -94
  906. package/packages/patterns/combobox/grouped/combobox-grouped-1.tsx +0 -109
  907. package/packages/patterns/combobox/grouped/combobox-grouped-2.tsx +0 -134
  908. package/packages/patterns/combobox/grouped/combobox-grouped-3.tsx +0 -97
  909. package/packages/patterns/combobox/grouped/combobox-grouped-4.tsx +0 -105
  910. package/packages/patterns/combobox/grouped/combobox-grouped-5.tsx +0 -118
  911. package/packages/patterns/combobox/grouped/combobox-grouped-6.tsx +0 -117
  912. package/packages/patterns/combobox/grouped/combobox-grouped-7.tsx +0 -116
  913. package/packages/patterns/combobox/multi-select/combobox-multi-select-1.tsx +0 -117
  914. package/packages/patterns/combobox/multi-select/combobox-multi-select-2.tsx +0 -109
  915. package/packages/patterns/combobox/multi-select/combobox-multi-select-3.tsx +0 -96
  916. package/packages/patterns/combobox/multi-select/combobox-multi-select-4.tsx +0 -83
  917. package/packages/patterns/combobox/multi-select/combobox-multi-select-5.tsx +0 -104
  918. package/packages/patterns/combobox/multi-select/combobox-multi-select-6.tsx +0 -109
  919. package/packages/patterns/combobox/multi-select/combobox-multi-select-7.tsx +0 -102
  920. package/packages/patterns/combobox/rich-content/combobox-rich-content-1.tsx +0 -114
  921. package/packages/patterns/combobox/rich-content/combobox-rich-content-2.tsx +0 -98
  922. package/packages/patterns/combobox/rich-content/combobox-rich-content-3.tsx +0 -94
  923. package/packages/patterns/combobox/rich-content/combobox-rich-content-4.tsx +0 -112
  924. package/packages/patterns/combobox/rich-content/combobox-rich-content-5.tsx +0 -102
  925. package/packages/patterns/combobox/rich-content/combobox-rich-content-6.tsx +0 -95
  926. package/packages/patterns/combobox/rich-content/combobox-rich-content-7.tsx +0 -114
  927. package/packages/patterns/combobox/standard/combobox-standard-1.tsx +0 -82
  928. package/packages/patterns/combobox/standard/combobox-standard-2.tsx +0 -82
  929. package/packages/patterns/combobox/standard/combobox-standard-3.tsx +0 -96
  930. package/packages/patterns/combobox/standard/combobox-standard-4.tsx +0 -85
  931. package/packages/patterns/combobox/standard/combobox-standard-5.tsx +0 -85
  932. package/packages/patterns/combobox/standard/combobox-standard-6.tsx +0 -81
  933. package/packages/patterns/combobox/standard/combobox-standard-7.tsx +0 -84
  934. package/packages/patterns/combobox/with-states/combobox-with-states-1.tsx +0 -91
  935. package/packages/patterns/combobox/with-states/combobox-with-states-2.tsx +0 -100
  936. package/packages/patterns/combobox/with-states/combobox-with-states-3.tsx +0 -95
  937. package/packages/patterns/combobox/with-states/combobox-with-states-4.tsx +0 -84
  938. package/packages/patterns/combobox/with-states/combobox-with-states-5.tsx +0 -89
  939. package/packages/patterns/combobox/with-states/combobox-with-states-6.tsx +0 -86
  940. package/packages/patterns/combobox/with-states/combobox-with-states-7.tsx +0 -29
  941. package/packages/patterns/command/dialog/command-dialog-1.tsx +0 -37
  942. package/packages/patterns/command/dialog/command-dialog-2.tsx +0 -72
  943. package/packages/patterns/command/dialog/command-dialog-3.tsx +0 -66
  944. package/packages/patterns/command/dialog/command-dialog-4.tsx +0 -64
  945. package/packages/patterns/command/dialog/command-dialog-5.tsx +0 -65
  946. package/packages/patterns/command/dialog/command-dialog-6.tsx +0 -68
  947. package/packages/patterns/command/dialog/command-dialog-7.tsx +0 -62
  948. package/packages/patterns/command/popover/command-popover-1.tsx +0 -39
  949. package/packages/patterns/command/popover/command-popover-2.tsx +0 -74
  950. package/packages/patterns/command/popover/command-popover-3.tsx +0 -68
  951. package/packages/patterns/command/popover/command-popover-4.tsx +0 -66
  952. package/packages/patterns/command/popover/command-popover-5.tsx +0 -67
  953. package/packages/patterns/command/popover/command-popover-6.tsx +0 -70
  954. package/packages/patterns/command/popover/command-popover-7.tsx +0 -64
  955. package/packages/patterns/command/standard/command-standard-1.tsx +0 -26
  956. package/packages/patterns/command/standard/command-standard-2.tsx +0 -61
  957. package/packages/patterns/command/standard/command-standard-3.tsx +0 -55
  958. package/packages/patterns/command/standard/command-standard-4.tsx +0 -53
  959. package/packages/patterns/command/standard/command-standard-5.tsx +0 -54
  960. package/packages/patterns/command/standard/command-standard-6.tsx +0 -57
  961. package/packages/patterns/command/standard/command-standard-7.tsx +0 -43
  962. package/packages/patterns/context-menu/canvas/context-menu-canvas-1.tsx +0 -49
  963. package/packages/patterns/context-menu/canvas/context-menu-canvas-2.tsx +0 -78
  964. package/packages/patterns/context-menu/canvas/context-menu-canvas-3.tsx +0 -44
  965. package/packages/patterns/context-menu/canvas/context-menu-canvas-4.tsx +0 -46
  966. package/packages/patterns/context-menu/canvas/context-menu-canvas-5.tsx +0 -57
  967. package/packages/patterns/context-menu/file/context-menu-file-1.tsx +0 -45
  968. package/packages/patterns/context-menu/file/context-menu-file-2.tsx +0 -47
  969. package/packages/patterns/context-menu/file/context-menu-file-3.tsx +0 -56
  970. package/packages/patterns/context-menu/file/context-menu-file-4.tsx +0 -56
  971. package/packages/patterns/context-menu/file/context-menu-file-5.tsx +0 -42
  972. package/packages/patterns/context-menu/standard/context-menu-standard-1.tsx +0 -24
  973. package/packages/patterns/context-menu/standard/context-menu-standard-2.tsx +0 -47
  974. package/packages/patterns/context-menu/standard/context-menu-standard-3.tsx +0 -44
  975. package/packages/patterns/context-menu/standard/context-menu-standard-4.tsx +0 -45
  976. package/packages/patterns/context-menu/standard/context-menu-standard-5.tsx +0 -49
  977. package/packages/patterns/context-menu/standard/context-menu-standard-6.tsx +0 -38
  978. package/packages/patterns/context-menu/standard/context-menu-standard-7.tsx +0 -79
  979. package/packages/patterns/context-menu/table/context-menu-table-1.tsx +0 -32
  980. package/packages/patterns/context-menu/table/context-menu-table-2.tsx +0 -46
  981. package/packages/patterns/context-menu/table/context-menu-table-3.tsx +0 -56
  982. package/packages/patterns/context-menu/table/context-menu-table-4.tsx +0 -49
  983. package/packages/patterns/context-menu/table/context-menu-table-5.tsx +0 -56
  984. package/packages/patterns/context-menu/text/context-menu-text-1.tsx +0 -40
  985. package/packages/patterns/context-menu/text/context-menu-text-2.tsx +0 -45
  986. package/packages/patterns/context-menu/text/context-menu-text-3.tsx +0 -54
  987. package/packages/patterns/context-menu/text/context-menu-text-4.tsx +0 -40
  988. package/packages/patterns/context-menu/text/context-menu-text-5.tsx +0 -63
  989. package/packages/patterns/data-table/advanced/data-table-advanced-1.tsx +0 -201
  990. package/packages/patterns/data-table/advanced/data-table-advanced-2.tsx +0 -212
  991. package/packages/patterns/data-table/advanced/data-table-advanced-3.tsx +0 -191
  992. package/packages/patterns/data-table/advanced/data-table-advanced-4.tsx +0 -189
  993. package/packages/patterns/data-table/standard/data-table-standard-1.tsx +0 -183
  994. package/packages/patterns/data-table/standard/data-table-standard-2.tsx +0 -180
  995. package/packages/patterns/data-table/standard/data-table-standard-3.tsx +0 -205
  996. package/packages/patterns/data-table/standard/data-table-standard-4.tsx +0 -212
  997. package/packages/patterns/date-picker/standard/date-picker-standard-1.tsx +0 -75
  998. package/packages/patterns/date-picker/standard/date-picker-standard-2.tsx +0 -103
  999. package/packages/patterns/date-picker/standard/date-picker-standard-3.tsx +0 -91
  1000. package/packages/patterns/date-picker/standard/date-picker-standard-4.tsx +0 -73
  1001. package/packages/patterns/date-picker/standard/date-picker-standard-5.tsx +0 -89
  1002. package/packages/patterns/date-picker/standard/date-picker-standard-6.tsx +0 -69
  1003. package/packages/patterns/date-picker/standard/date-picker-standard-7.tsx +0 -64
  1004. package/packages/patterns/date-picker/standard/date-picker-standard-8.tsx +0 -84
  1005. package/packages/patterns/dialog/standard/dialog-standard-1.tsx +0 -47
  1006. package/packages/patterns/dialog/standard/dialog-standard-10.tsx +0 -84
  1007. package/packages/patterns/dialog/standard/dialog-standard-11.tsx +0 -63
  1008. package/packages/patterns/dialog/standard/dialog-standard-12.tsx +0 -70
  1009. package/packages/patterns/dialog/standard/dialog-standard-13.tsx +0 -65
  1010. package/packages/patterns/dialog/standard/dialog-standard-14.tsx +0 -109
  1011. package/packages/patterns/dialog/standard/dialog-standard-15.tsx +0 -113
  1012. package/packages/patterns/dialog/standard/dialog-standard-16.tsx +0 -127
  1013. package/packages/patterns/dialog/standard/dialog-standard-17.tsx +0 -116
  1014. package/packages/patterns/dialog/standard/dialog-standard-2.tsx +0 -72
  1015. package/packages/patterns/dialog/standard/dialog-standard-3.tsx +0 -78
  1016. package/packages/patterns/dialog/standard/dialog-standard-4.tsx +0 -98
  1017. package/packages/patterns/dialog/standard/dialog-standard-5.tsx +0 -65
  1018. package/packages/patterns/dialog/standard/dialog-standard-6.tsx +0 -42
  1019. package/packages/patterns/dialog/standard/dialog-standard-7.tsx +0 -46
  1020. package/packages/patterns/dialog/standard/dialog-standard-8.tsx +0 -84
  1021. package/packages/patterns/dialog/standard/dialog-standard-9.tsx +0 -70
  1022. package/packages/patterns/drawer/bottom/drawer-bottom-1.tsx +0 -44
  1023. package/packages/patterns/drawer/bottom/drawer-bottom-2.tsx +0 -55
  1024. package/packages/patterns/drawer/bottom/drawer-bottom-3.tsx +0 -68
  1025. package/packages/patterns/drawer/bottom/drawer-bottom-4.tsx +0 -49
  1026. package/packages/patterns/drawer/bottom/drawer-bottom-5.tsx +0 -72
  1027. package/packages/patterns/drawer/bottom/drawer-bottom-6.tsx +0 -40
  1028. package/packages/patterns/drawer/bottom/drawer-bottom-7.tsx +0 -69
  1029. package/packages/patterns/drawer/left/drawer-left-1.tsx +0 -46
  1030. package/packages/patterns/drawer/left/drawer-left-2.tsx +0 -53
  1031. package/packages/patterns/drawer/left/drawer-left-3.tsx +0 -123
  1032. package/packages/patterns/drawer/left/drawer-left-4.tsx +0 -58
  1033. package/packages/patterns/drawer/left/drawer-left-5.tsx +0 -131
  1034. package/packages/patterns/drawer/right/drawer-right-1.tsx +0 -45
  1035. package/packages/patterns/drawer/right/drawer-right-2.tsx +0 -107
  1036. package/packages/patterns/drawer/right/drawer-right-3.tsx +0 -84
  1037. package/packages/patterns/drawer/right/drawer-right-4.tsx +0 -98
  1038. package/packages/patterns/drawer/right/drawer-right-5.tsx +0 -108
  1039. package/packages/patterns/drawer/top/drawer-top-1.tsx +0 -44
  1040. package/packages/patterns/drawer/top/drawer-top-2.tsx +0 -62
  1041. package/packages/patterns/drawer/top/drawer-top-3.tsx +0 -50
  1042. package/packages/patterns/drawer/top/drawer-top-4.tsx +0 -63
  1043. package/packages/patterns/drawer/top/drawer-top-5.tsx +0 -59
  1044. package/packages/patterns/dropdown-menu/actions/dropdown-menu-actions-1.tsx +0 -63
  1045. package/packages/patterns/dropdown-menu/actions/dropdown-menu-actions-2.tsx +0 -61
  1046. package/packages/patterns/dropdown-menu/actions/dropdown-menu-actions-3.tsx +0 -83
  1047. package/packages/patterns/dropdown-menu/actions/dropdown-menu-actions-4.tsx +0 -68
  1048. package/packages/patterns/dropdown-menu/actions/dropdown-menu-actions-5.tsx +0 -78
  1049. package/packages/patterns/dropdown-menu/editor/dropdown-menu-editor-1.tsx +0 -61
  1050. package/packages/patterns/dropdown-menu/editor/dropdown-menu-editor-2.tsx +0 -81
  1051. package/packages/patterns/dropdown-menu/editor/dropdown-menu-editor-3.tsx +0 -58
  1052. package/packages/patterns/dropdown-menu/editor/dropdown-menu-editor-4.tsx +0 -53
  1053. package/packages/patterns/dropdown-menu/editor/dropdown-menu-editor-5.tsx +0 -65
  1054. package/packages/patterns/dropdown-menu/profile/dropdown-menu-profile-1.tsx +0 -61
  1055. package/packages/patterns/dropdown-menu/profile/dropdown-menu-profile-2.tsx +0 -75
  1056. package/packages/patterns/dropdown-menu/profile/dropdown-menu-profile-3.tsx +0 -99
  1057. package/packages/patterns/dropdown-menu/profile/dropdown-menu-profile-4.tsx +0 -87
  1058. package/packages/patterns/dropdown-menu/profile/dropdown-menu-profile-5.tsx +0 -85
  1059. package/packages/patterns/dropdown-menu/settings/dropdown-menu-settings-1.tsx +0 -50
  1060. package/packages/patterns/dropdown-menu/settings/dropdown-menu-settings-2.tsx +0 -75
  1061. package/packages/patterns/dropdown-menu/settings/dropdown-menu-settings-3.tsx +0 -70
  1062. package/packages/patterns/dropdown-menu/settings/dropdown-menu-settings-4.tsx +0 -82
  1063. package/packages/patterns/dropdown-menu/settings/dropdown-menu-settings-5.tsx +0 -74
  1064. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-1.tsx +0 -48
  1065. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-2.tsx +0 -71
  1066. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-3.tsx +0 -68
  1067. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-4.tsx +0 -56
  1068. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-5.tsx +0 -43
  1069. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-6.tsx +0 -72
  1070. package/packages/patterns/dropdown-menu/standard/dropdown-menu-standard-7.tsx +0 -99
  1071. package/packages/patterns/dropdown-menu/support/dropdown-menu-support-1.tsx +0 -52
  1072. package/packages/patterns/dropdown-menu/support/dropdown-menu-support-2.tsx +0 -64
  1073. package/packages/patterns/dropdown-menu/support/dropdown-menu-support-3.tsx +0 -77
  1074. package/packages/patterns/empty/actions/empty-actions-1.tsx +0 -36
  1075. package/packages/patterns/empty/actions/empty-actions-2.tsx +0 -42
  1076. package/packages/patterns/empty/actions/empty-actions-3.tsx +0 -36
  1077. package/packages/patterns/empty/actions/empty-actions-4.tsx +0 -37
  1078. package/packages/patterns/empty/actions/empty-actions-5.tsx +0 -40
  1079. package/packages/patterns/empty/data/empty-data-1.tsx +0 -37
  1080. package/packages/patterns/empty/data/empty-data-2.tsx +0 -29
  1081. package/packages/patterns/empty/data/empty-data-3.tsx +0 -28
  1082. package/packages/patterns/empty/data/empty-data-4.tsx +0 -36
  1083. package/packages/patterns/empty/data/empty-data-5.tsx +0 -43
  1084. package/packages/patterns/empty/search/empty-search-1.tsx +0 -28
  1085. package/packages/patterns/empty/search/empty-search-2.tsx +0 -33
  1086. package/packages/patterns/empty/search/empty-search-3.tsx +0 -33
  1087. package/packages/patterns/empty/search/empty-search-4.tsx +0 -29
  1088. package/packages/patterns/empty/search/empty-search-5.tsx +0 -40
  1089. package/packages/patterns/empty/standard/empty-standard-1.tsx +0 -24
  1090. package/packages/patterns/empty/standard/empty-standard-2.tsx +0 -28
  1091. package/packages/patterns/empty/standard/empty-standard-3.tsx +0 -29
  1092. package/packages/patterns/empty/standard/empty-standard-4.tsx +0 -28
  1093. package/packages/patterns/empty/standard/empty-standard-5.tsx +0 -31
  1094. package/packages/patterns/empty/standard/empty-standard-6.tsx +0 -23
  1095. package/packages/patterns/empty/standard/empty-standard-7.tsx +0 -29
  1096. package/packages/patterns/field/advanced/field-advanced-1.tsx +0 -32
  1097. package/packages/patterns/field/advanced/field-advanced-2.tsx +0 -34
  1098. package/packages/patterns/field/advanced/field-advanced-3.tsx +0 -53
  1099. package/packages/patterns/field/advanced/field-advanced-4.tsx +0 -55
  1100. package/packages/patterns/field/advanced/field-advanced-5.tsx +0 -57
  1101. package/packages/patterns/field/advanced/field-advanced-6.tsx +0 -71
  1102. package/packages/patterns/field/advanced/field-advanced-7.tsx +0 -59
  1103. package/packages/patterns/field/basic-inputs/field-basic-inputs-1.tsx +0 -20
  1104. package/packages/patterns/field/basic-inputs/field-basic-inputs-2.tsx +0 -23
  1105. package/packages/patterns/field/basic-inputs/field-basic-inputs-3.tsx +0 -21
  1106. package/packages/patterns/field/basic-inputs/field-basic-inputs-4.tsx +0 -42
  1107. package/packages/patterns/field/basic-inputs/field-basic-inputs-5.tsx +0 -22
  1108. package/packages/patterns/field/layouts/field-layouts-1.tsx +0 -41
  1109. package/packages/patterns/field/layouts/field-layouts-2.tsx +0 -44
  1110. package/packages/patterns/field/layouts/field-layouts-3.tsx +0 -33
  1111. package/packages/patterns/field/layouts/field-layouts-4.tsx +0 -62
  1112. package/packages/patterns/field/layouts/field-layouts-5.tsx +0 -64
  1113. package/packages/patterns/field/layouts/field-layouts-6.tsx +0 -51
  1114. package/packages/patterns/field/selects/field-selects-1.tsx +0 -32
  1115. package/packages/patterns/field/selects/field-selects-2.tsx +0 -36
  1116. package/packages/patterns/field/selects/field-selects-3.tsx +0 -43
  1117. package/packages/patterns/field/selects/field-selects-4.tsx +0 -49
  1118. package/packages/patterns/field/selects/field-selects-5.tsx +0 -34
  1119. package/packages/patterns/field/selects/field-selects-6.tsx +0 -30
  1120. package/packages/patterns/field/selects/field-selects-7.tsx +0 -32
  1121. package/packages/patterns/field/text-areas/field-text-areas-1.tsx +0 -19
  1122. package/packages/patterns/field/text-areas/field-text-areas-2.tsx +0 -23
  1123. package/packages/patterns/field/text-areas/field-text-areas-3.tsx +0 -34
  1124. package/packages/patterns/field/text-areas/field-text-areas-4.tsx +0 -23
  1125. package/packages/patterns/field/text-areas/field-text-areas-5.tsx +0 -42
  1126. package/packages/patterns/field/text-areas/field-text-areas-6.tsx +0 -24
  1127. package/packages/patterns/field/toggles/field-toggles-1.tsx +0 -17
  1128. package/packages/patterns/field/toggles/field-toggles-2.tsx +0 -50
  1129. package/packages/patterns/field/toggles/field-toggles-3.tsx +0 -40
  1130. package/packages/patterns/field/toggles/field-toggles-4.tsx +0 -42
  1131. package/packages/patterns/field/toggles/field-toggles-5.tsx +0 -15
  1132. package/packages/patterns/field/toggles/field-toggles-6.tsx +0 -26
  1133. package/packages/patterns/field/toggles/field-toggles-7.tsx +0 -28
  1134. package/packages/patterns/form/advanced/form-advanced-1.tsx +0 -83
  1135. package/packages/patterns/form/advanced/form-advanced-2.tsx +0 -75
  1136. package/packages/patterns/form/advanced/form-advanced-3.tsx +0 -114
  1137. package/packages/patterns/form/advanced/form-advanced-4.tsx +0 -91
  1138. package/packages/patterns/form/advanced/form-advanced-5.tsx +0 -121
  1139. package/packages/patterns/form/advanced/form-advanced-6.tsx +0 -163
  1140. package/packages/patterns/form/advanced/form-advanced-7.tsx +0 -182
  1141. package/packages/patterns/form/basic-forms/form-basic-forms-1.tsx +0 -69
  1142. package/packages/patterns/form/basic-forms/form-basic-forms-2.tsx +0 -70
  1143. package/packages/patterns/form/basic-forms/form-basic-forms-3.tsx +0 -70
  1144. package/packages/patterns/form/basic-forms/form-basic-forms-4.tsx +0 -75
  1145. package/packages/patterns/form/basic-forms/form-basic-forms-5.tsx +0 -70
  1146. package/packages/patterns/form/basic-forms/form-basic-forms-6.tsx +0 -70
  1147. package/packages/patterns/form/basic-forms/form-basic-forms-7.tsx +0 -70
  1148. package/packages/patterns/form/layouts/form-layouts-1.tsx +0 -113
  1149. package/packages/patterns/form/layouts/form-layouts-2.tsx +0 -89
  1150. package/packages/patterns/form/layouts/form-layouts-3.tsx +0 -166
  1151. package/packages/patterns/form/layouts/form-layouts-4.tsx +0 -129
  1152. package/packages/patterns/form/layouts/form-layouts-5.tsx +0 -69
  1153. package/packages/patterns/form/layouts/form-layouts-6.tsx +0 -85
  1154. package/packages/patterns/form/layouts/form-layouts-7.tsx +0 -166
  1155. package/packages/patterns/form/multi-field/form-multi-field-1.tsx +0 -90
  1156. package/packages/patterns/form/multi-field/form-multi-field-2.tsx +0 -114
  1157. package/packages/patterns/form/multi-field/form-multi-field-3.tsx +0 -132
  1158. package/packages/patterns/form/multi-field/form-multi-field-4.tsx +0 -131
  1159. package/packages/patterns/form/multi-field/form-multi-field-5.tsx +0 -154
  1160. package/packages/patterns/form/multi-field/form-multi-field-6.tsx +0 -159
  1161. package/packages/patterns/form/multi-field/form-multi-field-7.tsx +0 -232
  1162. package/packages/patterns/form/patterns/form-patterns-1.tsx +0 -110
  1163. package/packages/patterns/form/patterns/form-patterns-2.tsx +0 -160
  1164. package/packages/patterns/form/patterns/form-patterns-3.tsx +0 -160
  1165. package/packages/patterns/form/patterns/form-patterns-4.tsx +0 -159
  1166. package/packages/patterns/form/patterns/form-patterns-5.tsx +0 -222
  1167. package/packages/patterns/form/patterns/form-patterns-6.tsx +0 -258
  1168. package/packages/patterns/form/patterns/form-patterns-7.tsx +0 -249
  1169. package/packages/patterns/form/validation/form-validation-1.tsx +0 -94
  1170. package/packages/patterns/form/validation/form-validation-2.tsx +0 -93
  1171. package/packages/patterns/form/validation/form-validation-3.tsx +0 -100
  1172. package/packages/patterns/form/validation/form-validation-4.tsx +0 -106
  1173. package/packages/patterns/form/validation/form-validation-5.tsx +0 -126
  1174. package/packages/patterns/form/validation/form-validation-6.tsx +0 -126
  1175. package/packages/patterns/form/validation/form-validation-7.tsx +0 -96
  1176. package/packages/patterns/hover-card/info/hover-card-info-1.tsx +0 -29
  1177. package/packages/patterns/hover-card/info/hover-card-info-2.tsx +0 -35
  1178. package/packages/patterns/hover-card/info/hover-card-info-3.tsx +0 -38
  1179. package/packages/patterns/hover-card/info/hover-card-info-4.tsx +0 -37
  1180. package/packages/patterns/hover-card/info/hover-card-info-5.tsx +0 -46
  1181. package/packages/patterns/hover-card/preview/hover-card-preview-1.tsx +0 -44
  1182. package/packages/patterns/hover-card/preview/hover-card-preview-2.tsx +0 -48
  1183. package/packages/patterns/hover-card/preview/hover-card-preview-3.tsx +0 -40
  1184. package/packages/patterns/hover-card/preview/hover-card-preview-4.tsx +0 -51
  1185. package/packages/patterns/hover-card/preview/hover-card-preview-5.tsx +0 -48
  1186. package/packages/patterns/hover-card/profile/hover-card-profile-1.tsx +0 -36
  1187. package/packages/patterns/hover-card/profile/hover-card-profile-2.tsx +0 -50
  1188. package/packages/patterns/hover-card/profile/hover-card-profile-3.tsx +0 -45
  1189. package/packages/patterns/hover-card/profile/hover-card-profile-4.tsx +0 -50
  1190. package/packages/patterns/hover-card/profile/hover-card-profile-5.tsx +0 -54
  1191. package/packages/patterns/hover-card/stats/hover-card-stats-1.tsx +0 -45
  1192. package/packages/patterns/hover-card/stats/hover-card-stats-2.tsx +0 -50
  1193. package/packages/patterns/hover-card/stats/hover-card-stats-3.tsx +0 -53
  1194. package/packages/patterns/hover-card/stats/hover-card-stats-4.tsx +0 -56
  1195. package/packages/patterns/hover-card/stats/hover-card-stats-5.tsx +0 -54
  1196. package/packages/patterns/input/special/input-special-1.tsx +0 -65
  1197. package/packages/patterns/input/special/input-special-2.tsx +0 -19
  1198. package/packages/patterns/input/special/input-special-3.tsx +0 -35
  1199. package/packages/patterns/input/special/input-special-4.tsx +0 -24
  1200. package/packages/patterns/input/special/input-special-5.tsx +0 -27
  1201. package/packages/patterns/input/standard/input-standard-1.tsx +0 -15
  1202. package/packages/patterns/input/standard/input-standard-2.tsx +0 -18
  1203. package/packages/patterns/input/standard/input-standard-3.tsx +0 -23
  1204. package/packages/patterns/input/standard/input-standard-4.tsx +0 -23
  1205. package/packages/patterns/input/standard/input-standard-5.tsx +0 -24
  1206. package/packages/patterns/input/standard/input-standard-6.tsx +0 -33
  1207. package/packages/patterns/input/standard/input-standard-7.tsx +0 -22
  1208. package/packages/patterns/input/types/input-types-1.tsx +0 -24
  1209. package/packages/patterns/input/types/input-types-2.tsx +0 -42
  1210. package/packages/patterns/input/types/input-types-3.tsx +0 -47
  1211. package/packages/patterns/input/types/input-types-4.tsx +0 -24
  1212. package/packages/patterns/input/types/input-types-5.tsx +0 -19
  1213. package/packages/patterns/input/types/input-types-6.tsx +0 -25
  1214. package/packages/patterns/input/types/input-types-7.tsx +0 -25
  1215. package/packages/patterns/input/validation/input-validation-1.tsx +0 -27
  1216. package/packages/patterns/input/validation/input-validation-2.tsx +0 -25
  1217. package/packages/patterns/input/validation/input-validation-3.tsx +0 -26
  1218. package/packages/patterns/input/validation/input-validation-4.tsx +0 -37
  1219. package/packages/patterns/input/validation/input-validation-5.tsx +0 -54
  1220. package/packages/patterns/input-group/ai/input-group-ai-1.tsx +0 -68
  1221. package/packages/patterns/input-group/ai/input-group-ai-2.tsx +0 -42
  1222. package/packages/patterns/input-group/ai/input-group-ai-3.tsx +0 -60
  1223. package/packages/patterns/input-group/ai/input-group-ai-4.tsx +0 -61
  1224. package/packages/patterns/input-group/buttons/input-group-buttons-1.tsx +0 -34
  1225. package/packages/patterns/input-group/buttons/input-group-buttons-2.tsx +0 -39
  1226. package/packages/patterns/input-group/buttons/input-group-buttons-3.tsx +0 -23
  1227. package/packages/patterns/input-group/buttons/input-group-buttons-4.tsx +0 -42
  1228. package/packages/patterns/input-group/custom/input-group-custom-1.tsx +0 -24
  1229. package/packages/patterns/input-group/custom/input-group-custom-2.tsx +0 -31
  1230. package/packages/patterns/input-group/custom/input-group-custom-3.tsx +0 -38
  1231. package/packages/patterns/input-group/custom/input-group-custom-4.tsx +0 -33
  1232. package/packages/patterns/input-group/dropdown/input-group-dropdown-1.tsx +0 -37
  1233. package/packages/patterns/input-group/dropdown/input-group-dropdown-2.tsx +0 -37
  1234. package/packages/patterns/input-group/dropdown/input-group-dropdown-3.tsx +0 -56
  1235. package/packages/patterns/input-group/dropdown/input-group-dropdown-4.tsx +0 -45
  1236. package/packages/patterns/input-group/icons/input-group-icons-1.tsx +0 -19
  1237. package/packages/patterns/input-group/icons/input-group-icons-2.tsx +0 -27
  1238. package/packages/patterns/input-group/icons/input-group-icons-3.tsx +0 -33
  1239. package/packages/patterns/input-group/icons/input-group-icons-4.tsx +0 -36
  1240. package/packages/patterns/input-group/label/input-group-label-1.tsx +0 -27
  1241. package/packages/patterns/input-group/label/input-group-label-2.tsx +0 -43
  1242. package/packages/patterns/input-group/label/input-group-label-3.tsx +0 -36
  1243. package/packages/patterns/input-group/label/input-group-label-4.tsx +0 -23
  1244. package/packages/patterns/input-group/spinner/input-group-spinner-1.tsx +0 -27
  1245. package/packages/patterns/input-group/spinner/input-group-spinner-2.tsx +0 -21
  1246. package/packages/patterns/input-group/spinner/input-group-spinner-3.tsx +0 -25
  1247. package/packages/patterns/input-group/spinner/input-group-spinner-4.tsx +0 -32
  1248. package/packages/patterns/input-group/text/input-group-text-1.tsx +0 -33
  1249. package/packages/patterns/input-group/text/input-group-text-2.tsx +0 -22
  1250. package/packages/patterns/input-group/text/input-group-text-3.tsx +0 -19
  1251. package/packages/patterns/input-group/text/input-group-text-4.tsx +0 -19
  1252. package/packages/patterns/input-group/textarea/input-group-textarea-1.tsx +0 -37
  1253. package/packages/patterns/input-group/textarea/input-group-textarea-2.tsx +0 -23
  1254. package/packages/patterns/input-group/textarea/input-group-textarea-3.tsx +0 -43
  1255. package/packages/patterns/input-group/textarea/input-group-textarea-4.tsx +0 -31
  1256. package/packages/patterns/input-group/tooltip/input-group-tooltip-1.tsx +0 -54
  1257. package/packages/patterns/input-group/tooltip/input-group-tooltip-2.tsx +0 -34
  1258. package/packages/patterns/input-group/tooltip/input-group-tooltip-3.tsx +0 -34
  1259. package/packages/patterns/input-otp/behavior/input-otp-behavior-1.tsx +0 -90
  1260. package/packages/patterns/input-otp/behavior/input-otp-behavior-2.tsx +0 -46
  1261. package/packages/patterns/input-otp/behavior/input-otp-behavior-3.tsx +0 -59
  1262. package/packages/patterns/input-otp/behavior/input-otp-behavior-4.tsx +0 -70
  1263. package/packages/patterns/input-otp/standard/input-otp-standard-1.tsx +0 -26
  1264. package/packages/patterns/input-otp/standard/input-otp-standard-2.tsx +0 -25
  1265. package/packages/patterns/input-otp/standard/input-otp-standard-3.tsx +0 -29
  1266. package/packages/patterns/input-otp/standard/input-otp-standard-4.tsx +0 -42
  1267. package/packages/patterns/input-otp/standard/input-otp-standard-5.tsx +0 -83
  1268. package/packages/patterns/input-otp/states/input-otp-states-1.tsx +0 -29
  1269. package/packages/patterns/input-otp/states/input-otp-states-2.tsx +0 -54
  1270. package/packages/patterns/input-otp/states/input-otp-states-3.tsx +0 -51
  1271. package/packages/patterns/input-otp/states/input-otp-states-4.tsx +0 -59
  1272. package/packages/patterns/input-otp/use-cases/input-otp-use-cases-1.tsx +0 -106
  1273. package/packages/patterns/input-otp/use-cases/input-otp-use-cases-2.tsx +0 -137
  1274. package/packages/patterns/input-otp/use-cases/input-otp-use-cases-3.tsx +0 -128
  1275. package/packages/patterns/input-otp/use-cases/input-otp-use-cases-4.tsx +0 -115
  1276. package/packages/patterns/input-otp/variants/input-otp-variants-1.tsx +0 -34
  1277. package/packages/patterns/input-otp/variants/input-otp-variants-2.tsx +0 -58
  1278. package/packages/patterns/input-otp/variants/input-otp-variants-3.tsx +0 -60
  1279. package/packages/patterns/item/interactive/item-interactive-1.tsx +0 -43
  1280. package/packages/patterns/item/interactive/item-interactive-2.tsx +0 -70
  1281. package/packages/patterns/item/layout/item-layout-1.tsx +0 -45
  1282. package/packages/patterns/item/layout/item-layout-2.tsx +0 -65
  1283. package/packages/patterns/item/layout/item-layout-3.tsx +0 -55
  1284. package/packages/patterns/item/media/item-media-1.tsx +0 -35
  1285. package/packages/patterns/item/media/item-media-2.tsx +0 -42
  1286. package/packages/patterns/item/media/item-media-3.tsx +0 -71
  1287. package/packages/patterns/item/standard/item-standard-1.tsx +0 -30
  1288. package/packages/patterns/item/standard/item-standard-2.tsx +0 -30
  1289. package/packages/patterns/kbd/arrow-keys/kbd-arrow-keys-1.tsx +0 -18
  1290. package/packages/patterns/kbd/arrow-keys/kbd-arrow-keys-2.tsx +0 -14
  1291. package/packages/patterns/kbd/arrow-keys/kbd-arrow-keys-3.tsx +0 -18
  1292. package/packages/patterns/kbd/arrow-keys/kbd-arrow-keys-4.tsx +0 -16
  1293. package/packages/patterns/kbd/function-keys/kbd-function-keys-1.tsx +0 -11
  1294. package/packages/patterns/kbd/function-keys/kbd-function-keys-2.tsx +0 -11
  1295. package/packages/patterns/kbd/function-keys/kbd-function-keys-3.tsx +0 -15
  1296. package/packages/patterns/kbd/function-keys/kbd-function-keys-4.tsx +0 -15
  1297. package/packages/patterns/kbd/function-keys/kbd-function-keys-5.tsx +0 -15
  1298. package/packages/patterns/kbd/function-keys/kbd-function-keys-6.tsx +0 -16
  1299. package/packages/patterns/kbd/platform-specific/kbd-platform-specific-1.tsx +0 -14
  1300. package/packages/patterns/kbd/platform-specific/kbd-platform-specific-2.tsx +0 -14
  1301. package/packages/patterns/kbd/platform-specific/kbd-platform-specific-3.tsx +0 -14
  1302. package/packages/patterns/kbd/platform-specific/kbd-platform-specific-4.tsx +0 -22
  1303. package/packages/patterns/kbd/platform-specific/kbd-platform-specific-5.tsx +0 -14
  1304. package/packages/patterns/kbd/pressed-state/kbd-pressed-state-1.tsx +0 -14
  1305. package/packages/patterns/kbd/pressed-state/kbd-pressed-state-2.tsx +0 -11
  1306. package/packages/patterns/kbd/pressed-state/kbd-pressed-state-3.tsx +0 -16
  1307. package/packages/patterns/kbd/pressed-state/kbd-pressed-state-4.tsx +0 -14
  1308. package/packages/patterns/kbd/pressed-state/kbd-pressed-state-5.tsx +0 -18
  1309. package/packages/patterns/kbd/sequence/kbd-sequence-1.tsx +0 -18
  1310. package/packages/patterns/kbd/sequence/kbd-sequence-2.tsx +0 -15
  1311. package/packages/patterns/kbd/sequence/kbd-sequence-3.tsx +0 -21
  1312. package/packages/patterns/kbd/sequence/kbd-sequence-4.tsx +0 -15
  1313. package/packages/patterns/kbd/shortcut/kbd-shortcut-1.tsx +0 -14
  1314. package/packages/patterns/kbd/shortcut/kbd-shortcut-2.tsx +0 -14
  1315. package/packages/patterns/kbd/shortcut/kbd-shortcut-3.tsx +0 -14
  1316. package/packages/patterns/kbd/shortcut/kbd-shortcut-4.tsx +0 -15
  1317. package/packages/patterns/kbd/shortcut/kbd-shortcut-5.tsx +0 -14
  1318. package/packages/patterns/kbd/sizes/kbd-sizes-1.tsx +0 -14
  1319. package/packages/patterns/kbd/sizes/kbd-sizes-2.tsx +0 -14
  1320. package/packages/patterns/kbd/sizes/kbd-sizes-3.tsx +0 -14
  1321. package/packages/patterns/kbd/sizes/kbd-sizes-4.tsx +0 -13
  1322. package/packages/patterns/kbd/sizes/kbd-sizes-5.tsx +0 -14
  1323. package/packages/patterns/kbd/with-icons/kbd-with-icons-1.tsx +0 -17
  1324. package/packages/patterns/kbd/with-icons/kbd-with-icons-2.tsx +0 -17
  1325. package/packages/patterns/kbd/with-icons/kbd-with-icons-3.tsx +0 -25
  1326. package/packages/patterns/kbd/with-icons/kbd-with-icons-4.tsx +0 -17
  1327. package/packages/patterns/kbd/with-icons/kbd-with-icons-5.tsx +0 -15
  1328. package/packages/patterns/label/standard/label-standard-1.tsx +0 -11
  1329. package/packages/patterns/label/standard/label-standard-2.tsx +0 -14
  1330. package/packages/patterns/label/standard/label-standard-3.tsx +0 -26
  1331. package/packages/patterns/label/standard/label-standard-4.tsx +0 -15
  1332. package/packages/patterns/label/standard/label-standard-5.tsx +0 -12
  1333. package/packages/patterns/label/standard/label-standard-6.tsx +0 -12
  1334. package/packages/patterns/label/standard/label-standard-7.tsx +0 -12
  1335. package/packages/patterns/label/standard/label-standard-8.tsx +0 -9
  1336. package/packages/patterns/menubar/standard/menubar-standard-1.tsx +0 -24
  1337. package/packages/patterns/menubar/standard/menubar-standard-10.tsx +0 -26
  1338. package/packages/patterns/menubar/standard/menubar-standard-2.tsx +0 -34
  1339. package/packages/patterns/menubar/standard/menubar-standard-3.tsx +0 -34
  1340. package/packages/patterns/menubar/standard/menubar-standard-4.tsx +0 -24
  1341. package/packages/patterns/menubar/standard/menubar-standard-5.tsx +0 -29
  1342. package/packages/patterns/menubar/standard/menubar-standard-6.tsx +0 -34
  1343. package/packages/patterns/menubar/standard/menubar-standard-7.tsx +0 -27
  1344. package/packages/patterns/menubar/standard/menubar-standard-8.tsx +0 -63
  1345. package/packages/patterns/menubar/standard/menubar-standard-9.tsx +0 -31
  1346. package/packages/patterns/navigation-menu/complex/navigation-menu-complex-1.tsx +0 -238
  1347. package/packages/patterns/navigation-menu/complex/navigation-menu-complex-2.tsx +0 -100
  1348. package/packages/patterns/navigation-menu/complex/navigation-menu-complex-3.tsx +0 -151
  1349. package/packages/patterns/navigation-menu/complex/navigation-menu-complex-4.tsx +0 -187
  1350. package/packages/patterns/navigation-menu/complex/navigation-menu-complex-5.tsx +0 -168
  1351. package/packages/patterns/navigation-menu/features/navigation-menu-features-1.tsx +0 -92
  1352. package/packages/patterns/navigation-menu/features/navigation-menu-features-2.tsx +0 -118
  1353. package/packages/patterns/navigation-menu/features/navigation-menu-features-3.tsx +0 -122
  1354. package/packages/patterns/navigation-menu/features/navigation-menu-features-4.tsx +0 -101
  1355. package/packages/patterns/navigation-menu/features/navigation-menu-features-5.tsx +0 -176
  1356. package/packages/patterns/navigation-menu/marketing/navigation-menu-marketing-1.tsx +0 -107
  1357. package/packages/patterns/navigation-menu/marketing/navigation-menu-marketing-2.tsx +0 -116
  1358. package/packages/patterns/navigation-menu/marketing/navigation-menu-marketing-3.tsx +0 -119
  1359. package/packages/patterns/navigation-menu/marketing/navigation-menu-marketing-4.tsx +0 -140
  1360. package/packages/patterns/navigation-menu/marketing/navigation-menu-marketing-5.tsx +0 -107
  1361. package/packages/patterns/navigation-menu/standard/navigation-menu-standard-1.tsx +0 -73
  1362. package/packages/patterns/navigation-menu/standard/navigation-menu-standard-2.tsx +0 -51
  1363. package/packages/patterns/navigation-menu/standard/navigation-menu-standard-3.tsx +0 -68
  1364. package/packages/patterns/navigation-menu/standard/navigation-menu-standard-4.tsx +0 -60
  1365. package/packages/patterns/navigation-menu/standard/navigation-menu-standard-5.tsx +0 -82
  1366. package/packages/patterns/package.json +0 -32
  1367. package/packages/patterns/pagination/advanced/pagination-advanced-1.tsx +0 -43
  1368. package/packages/patterns/pagination/advanced/pagination-advanced-2.tsx +0 -43
  1369. package/packages/patterns/pagination/advanced/pagination-advanced-3.tsx +0 -49
  1370. package/packages/patterns/pagination/advanced/pagination-advanced-4.tsx +0 -24
  1371. package/packages/patterns/pagination/advanced/pagination-advanced-5.tsx +0 -39
  1372. package/packages/patterns/pagination/basic/pagination-basic-1.tsx +0 -28
  1373. package/packages/patterns/pagination/basic/pagination-basic-2.tsx +0 -34
  1374. package/packages/patterns/pagination/basic/pagination-basic-3.tsx +0 -36
  1375. package/packages/patterns/pagination/basic/pagination-basic-4.tsx +0 -35
  1376. package/packages/patterns/pagination/basic/pagination-basic-5.tsx +0 -43
  1377. package/packages/patterns/pagination/navigation/pagination-navigation-1.tsx +0 -24
  1378. package/packages/patterns/pagination/navigation/pagination-navigation-2.tsx +0 -27
  1379. package/packages/patterns/pagination/navigation/pagination-navigation-3.tsx +0 -32
  1380. package/packages/patterns/pagination/navigation/pagination-navigation-4.tsx +0 -40
  1381. package/packages/patterns/pagination/sizes/pagination-sizes-1.tsx +0 -40
  1382. package/packages/patterns/pagination/sizes/pagination-sizes-2.tsx +0 -36
  1383. package/packages/patterns/pagination/sizes/pagination-sizes-3.tsx +0 -40
  1384. package/packages/patterns/pagination/sizes/pagination-sizes-4.tsx +0 -28
  1385. package/packages/patterns/pagination/sizes/pagination-sizes-5.tsx +0 -28
  1386. package/packages/patterns/popover/standard/popover-standard-1.tsx +0 -21
  1387. package/packages/patterns/popover/standard/popover-standard-10.tsx +0 -30
  1388. package/packages/patterns/popover/standard/popover-standard-11.tsx +0 -54
  1389. package/packages/patterns/popover/standard/popover-standard-12.tsx +0 -51
  1390. package/packages/patterns/popover/standard/popover-standard-13.tsx +0 -52
  1391. package/packages/patterns/popover/standard/popover-standard-14.tsx +0 -49
  1392. package/packages/patterns/popover/standard/popover-standard-15.tsx +0 -35
  1393. package/packages/patterns/popover/standard/popover-standard-2.tsx +0 -24
  1394. package/packages/patterns/popover/standard/popover-standard-3.tsx +0 -29
  1395. package/packages/patterns/popover/standard/popover-standard-4.tsx +0 -26
  1396. package/packages/patterns/popover/standard/popover-standard-5.tsx +0 -24
  1397. package/packages/patterns/popover/standard/popover-standard-6.tsx +0 -25
  1398. package/packages/patterns/popover/standard/popover-standard-7.tsx +0 -25
  1399. package/packages/patterns/popover/standard/popover-standard-8.tsx +0 -26
  1400. package/packages/patterns/popover/standard/popover-standard-9.tsx +0 -23
  1401. package/packages/patterns/progress/basic/progress-basic-1.tsx +0 -7
  1402. package/packages/patterns/progress/basic/progress-basic-2.tsx +0 -7
  1403. package/packages/patterns/progress/basic/progress-basic-3.tsx +0 -7
  1404. package/packages/patterns/progress/basic/progress-basic-4.tsx +0 -7
  1405. package/packages/patterns/progress/basic/progress-basic-5.tsx +0 -7
  1406. package/packages/patterns/progress/colored/progress-colored-1.tsx +0 -12
  1407. package/packages/patterns/progress/colored/progress-colored-2.tsx +0 -12
  1408. package/packages/patterns/progress/colored/progress-colored-3.tsx +0 -12
  1409. package/packages/patterns/progress/colored/progress-colored-4.tsx +0 -12
  1410. package/packages/patterns/progress/colored/progress-colored-5.tsx +0 -12
  1411. package/packages/patterns/progress/sizes/progress-sizes-1.tsx +0 -7
  1412. package/packages/patterns/progress/sizes/progress-sizes-2.tsx +0 -7
  1413. package/packages/patterns/progress/sizes/progress-sizes-3.tsx +0 -7
  1414. package/packages/patterns/progress/sizes/progress-sizes-4.tsx +0 -7
  1415. package/packages/patterns/progress/sizes/progress-sizes-5.tsx +0 -7
  1416. package/packages/patterns/progress/with-label/progress-with-label-1.tsx +0 -18
  1417. package/packages/patterns/progress/with-label/progress-with-label-2.tsx +0 -15
  1418. package/packages/patterns/progress/with-label/progress-with-label-3.tsx +0 -15
  1419. package/packages/patterns/progress/with-label/progress-with-label-4.tsx +0 -23
  1420. package/packages/patterns/progress/with-label/progress-with-label-5.tsx +0 -23
  1421. package/packages/patterns/radio-group/advanced/radio-group-advanced-1.tsx +0 -39
  1422. package/packages/patterns/radio-group/advanced/radio-group-advanced-2.tsx +0 -71
  1423. package/packages/patterns/radio-group/form/radio-group-form-1.tsx +0 -83
  1424. package/packages/patterns/radio-group/form/radio-group-form-2.tsx +0 -52
  1425. package/packages/patterns/radio-group/layout/radio-group-layout-1.tsx +0 -23
  1426. package/packages/patterns/radio-group/layout/radio-group-layout-2.tsx +0 -44
  1427. package/packages/patterns/radio-group/layout/radio-group-layout-3.tsx +0 -35
  1428. package/packages/patterns/radio-group/standard/radio-group-standard-1.tsx +0 -23
  1429. package/packages/patterns/radio-group/standard/radio-group-standard-2.tsx +0 -38
  1430. package/packages/patterns/scroll-area/advanced/scroll-area-advanced-1.tsx +0 -54
  1431. package/packages/patterns/scroll-area/advanced/scroll-area-advanced-2.tsx +0 -54
  1432. package/packages/patterns/scroll-area/advanced/scroll-area-advanced-3.tsx +0 -89
  1433. package/packages/patterns/scroll-area/layout/scroll-area-layout-1.tsx +0 -37
  1434. package/packages/patterns/scroll-area/layout/scroll-area-layout-2.tsx +0 -45
  1435. package/packages/patterns/scroll-area/layout/scroll-area-layout-3.tsx +0 -99
  1436. package/packages/patterns/scroll-area/standard/scroll-area-standard-1.tsx +0 -52
  1437. package/packages/patterns/scroll-area/standard/scroll-area-standard-2.tsx +0 -56
  1438. package/packages/patterns/separator/basic/separator-basic-1.tsx +0 -13
  1439. package/packages/patterns/separator/basic/separator-basic-2.tsx +0 -15
  1440. package/packages/patterns/separator/basic/separator-basic-3.tsx +0 -21
  1441. package/packages/patterns/separator/basic/separator-basic-4.tsx +0 -19
  1442. package/packages/patterns/separator/basic/separator-basic-5.tsx +0 -7
  1443. package/packages/patterns/separator/spacing/separator-spacing-1.tsx +0 -13
  1444. package/packages/patterns/separator/spacing/separator-spacing-2.tsx +0 -13
  1445. package/packages/patterns/separator/spacing/separator-spacing-3.tsx +0 -13
  1446. package/packages/patterns/separator/spacing/separator-spacing-4.tsx +0 -13
  1447. package/packages/patterns/separator/spacing/separator-spacing-5.tsx +0 -13
  1448. package/packages/patterns/separator/styled/separator-styled-1.tsx +0 -13
  1449. package/packages/patterns/separator/styled/separator-styled-2.tsx +0 -13
  1450. package/packages/patterns/separator/styled/separator-styled-3.tsx +0 -13
  1451. package/packages/patterns/separator/styled/separator-styled-4.tsx +0 -11
  1452. package/packages/patterns/separator/styled/separator-styled-5.tsx +0 -16
  1453. package/packages/patterns/separator/with-text/separator-with-text-1.tsx +0 -17
  1454. package/packages/patterns/separator/with-text/separator-with-text-2.tsx +0 -16
  1455. package/packages/patterns/separator/with-text/separator-with-text-3.tsx +0 -14
  1456. package/packages/patterns/sheet/details/sheet-details-1.tsx +0 -51
  1457. package/packages/patterns/sheet/details/sheet-details-2.tsx +0 -56
  1458. package/packages/patterns/sheet/details/sheet-details-3.tsx +0 -65
  1459. package/packages/patterns/sheet/details/sheet-details-4.tsx +0 -45
  1460. package/packages/patterns/sheet/details/sheet-details-5.tsx +0 -114
  1461. package/packages/patterns/sheet/form/sheet-form-1.tsx +0 -46
  1462. package/packages/patterns/sheet/form/sheet-form-2.tsx +0 -45
  1463. package/packages/patterns/sheet/form/sheet-form-3.tsx +0 -60
  1464. package/packages/patterns/sheet/form/sheet-form-4.tsx +0 -50
  1465. package/packages/patterns/sheet/form/sheet-form-5.tsx +0 -50
  1466. package/packages/patterns/sheet/multi-section/sheet-multi-section-1.tsx +0 -42
  1467. package/packages/patterns/sheet/multi-section/sheet-multi-section-2.tsx +0 -79
  1468. package/packages/patterns/sheet/multi-section/sheet-multi-section-3.tsx +0 -42
  1469. package/packages/patterns/sheet/multi-section/sheet-multi-section-4.tsx +0 -50
  1470. package/packages/patterns/sheet/multi-section/sheet-multi-section-5.tsx +0 -66
  1471. package/packages/patterns/sheet/navigation/sheet-navigation-1.tsx +0 -39
  1472. package/packages/patterns/sheet/navigation/sheet-navigation-2.tsx +0 -57
  1473. package/packages/patterns/sheet/navigation/sheet-navigation-3.tsx +0 -73
  1474. package/packages/patterns/sheet/navigation/sheet-navigation-4.tsx +0 -55
  1475. package/packages/patterns/sheet/navigation/sheet-navigation-5.tsx +0 -46
  1476. package/packages/patterns/sheet/settings/sheet-settings-1.tsx +0 -47
  1477. package/packages/patterns/sheet/settings/sheet-settings-2.tsx +0 -47
  1478. package/packages/patterns/sheet/settings/sheet-settings-3.tsx +0 -55
  1479. package/packages/patterns/sheet/settings/sheet-settings-4.tsx +0 -62
  1480. package/packages/patterns/sheet/settings/sheet-settings-5.tsx +0 -52
  1481. package/packages/patterns/sheet/standard/sheet-standard-1.tsx +0 -29
  1482. package/packages/patterns/sheet/standard/sheet-standard-2.tsx +0 -30
  1483. package/packages/patterns/sheet/standard/sheet-standard-3.tsx +0 -29
  1484. package/packages/patterns/sheet/standard/sheet-standard-4.tsx +0 -29
  1485. package/packages/patterns/skeleton/card/skeleton-card-1.tsx +0 -13
  1486. package/packages/patterns/skeleton/card/skeleton-card-2.tsx +0 -20
  1487. package/packages/patterns/skeleton/card/skeleton-card-3.tsx +0 -21
  1488. package/packages/patterns/skeleton/card/skeleton-card-4.tsx +0 -21
  1489. package/packages/patterns/skeleton/card/skeleton-card-5.tsx +0 -20
  1490. package/packages/patterns/skeleton/content/skeleton-content-1.tsx +0 -26
  1491. package/packages/patterns/skeleton/content/skeleton-content-2.tsx +0 -30
  1492. package/packages/patterns/skeleton/content/skeleton-content-3.tsx +0 -27
  1493. package/packages/patterns/skeleton/content/skeleton-content-4.tsx +0 -31
  1494. package/packages/patterns/skeleton/content/skeleton-content-5.tsx +0 -41
  1495. package/packages/patterns/skeleton/form/skeleton-form-1.tsx +0 -22
  1496. package/packages/patterns/skeleton/form/skeleton-form-2.tsx +0 -27
  1497. package/packages/patterns/skeleton/form/skeleton-form-3.tsx +0 -35
  1498. package/packages/patterns/skeleton/form/skeleton-form-4.tsx +0 -37
  1499. package/packages/patterns/skeleton/form/skeleton-form-5.tsx +0 -28
  1500. package/packages/patterns/skeleton/list/skeleton-list-1.tsx +0 -16
  1501. package/packages/patterns/skeleton/list/skeleton-list-2.tsx +0 -19
  1502. package/packages/patterns/skeleton/list/skeleton-list-3.tsx +0 -20
  1503. package/packages/patterns/skeleton/list/skeleton-list-4.tsx +0 -21
  1504. package/packages/patterns/skeleton/list/skeleton-list-5.tsx +0 -30
  1505. package/packages/patterns/skeleton/profile/skeleton-profile-1.tsx +0 -19
  1506. package/packages/patterns/skeleton/profile/skeleton-profile-2.tsx +0 -33
  1507. package/packages/patterns/skeleton/profile/skeleton-profile-3.tsx +0 -27
  1508. package/packages/patterns/skeleton/profile/skeleton-profile-4.tsx +0 -33
  1509. package/packages/patterns/skeleton/profile/skeleton-profile-5.tsx +0 -22
  1510. package/packages/patterns/skeleton/table/skeleton-table-1.tsx +0 -24
  1511. package/packages/patterns/skeleton/table/skeleton-table-2.tsx +0 -29
  1512. package/packages/patterns/skeleton/table/skeleton-table-3.tsx +0 -27
  1513. package/packages/patterns/skeleton/table/skeleton-table-4.tsx +0 -42
  1514. package/packages/patterns/skeleton/table/skeleton-table-5.tsx +0 -36
  1515. package/packages/patterns/slider/interactive/slider-interactive-1.tsx +0 -38
  1516. package/packages/patterns/slider/interactive/slider-interactive-2.tsx +0 -46
  1517. package/packages/patterns/slider/interactive/slider-interactive-3.tsx +0 -38
  1518. package/packages/patterns/slider/interactive/slider-interactive-4.tsx +0 -34
  1519. package/packages/patterns/slider/interactive/slider-interactive-5.tsx +0 -33
  1520. package/packages/patterns/slider/range/slider-range-1.tsx +0 -26
  1521. package/packages/patterns/slider/range/slider-range-2.tsx +0 -30
  1522. package/packages/patterns/slider/range/slider-range-3.tsx +0 -31
  1523. package/packages/patterns/slider/range/slider-range-4.tsx +0 -39
  1524. package/packages/patterns/slider/range/slider-range-5.tsx +0 -36
  1525. package/packages/patterns/slider/settings/slider-settings-1.tsx +0 -27
  1526. package/packages/patterns/slider/settings/slider-settings-2.tsx +0 -32
  1527. package/packages/patterns/slider/settings/slider-settings-3.tsx +0 -38
  1528. package/packages/patterns/slider/settings/slider-settings-4.tsx +0 -43
  1529. package/packages/patterns/slider/standard/slider-standard-1.tsx +0 -18
  1530. package/packages/patterns/slider/standard/slider-standard-2.tsx +0 -20
  1531. package/packages/patterns/slider/standard/slider-standard-3.tsx +0 -23
  1532. package/packages/patterns/slider/standard/slider-standard-4.tsx +0 -30
  1533. package/packages/patterns/slider/standard/slider-standard-5.tsx +0 -37
  1534. package/packages/patterns/slider/styled/slider-styled-1.tsx +0 -28
  1535. package/packages/patterns/slider/styled/slider-styled-2.tsx +0 -28
  1536. package/packages/patterns/slider/styled/slider-styled-3.tsx +0 -28
  1537. package/packages/patterns/slider/styled/slider-styled-4.tsx +0 -28
  1538. package/packages/patterns/slider/styled/slider-styled-5.tsx +0 -28
  1539. package/packages/patterns/slider/vertical/slider-vertical-1.tsx +0 -27
  1540. package/packages/patterns/slider/vertical/slider-vertical-2.tsx +0 -29
  1541. package/packages/patterns/slider/vertical/slider-vertical-3.tsx +0 -36
  1542. package/packages/patterns/slider/vertical/slider-vertical-4.tsx +0 -31
  1543. package/packages/patterns/slider/vertical/slider-vertical-5.tsx +0 -37
  1544. package/packages/patterns/sonner/content/sonner-content-1.tsx +0 -21
  1545. package/packages/patterns/sonner/content/sonner-content-2.tsx +0 -23
  1546. package/packages/patterns/sonner/content/sonner-content-3.tsx +0 -21
  1547. package/packages/patterns/sonner/content/sonner-content-4.tsx +0 -22
  1548. package/packages/patterns/sonner/content/sonner-content-5.tsx +0 -35
  1549. package/packages/patterns/sonner/interactive/sonner-interactive-1.tsx +0 -24
  1550. package/packages/patterns/sonner/interactive/sonner-interactive-2.tsx +0 -24
  1551. package/packages/patterns/sonner/interactive/sonner-interactive-3.tsx +0 -28
  1552. package/packages/patterns/sonner/interactive/sonner-interactive-4.tsx +0 -22
  1553. package/packages/patterns/sonner/position/sonner-position-1.tsx +0 -21
  1554. package/packages/patterns/sonner/position/sonner-position-2.tsx +0 -21
  1555. package/packages/patterns/sonner/position/sonner-position-3.tsx +0 -21
  1556. package/packages/patterns/sonner/position/sonner-position-4.tsx +0 -21
  1557. package/packages/patterns/sonner/position/sonner-position-5.tsx +0 -21
  1558. package/packages/patterns/sonner/position/sonner-position-6.tsx +0 -21
  1559. package/packages/patterns/sonner/promise/sonner-promise-1.tsx +0 -28
  1560. package/packages/patterns/sonner/promise/sonner-promise-2.tsx +0 -28
  1561. package/packages/patterns/sonner/promise/sonner-promise-3.tsx +0 -28
  1562. package/packages/patterns/sonner/promise/sonner-promise-4.tsx +0 -20
  1563. package/packages/patterns/sonner/standard/sonner-standard-1.tsx +0 -14
  1564. package/packages/patterns/sonner/standard/sonner-standard-2.tsx +0 -17
  1565. package/packages/patterns/sonner/standard/sonner-standard-3.tsx +0 -14
  1566. package/packages/patterns/sonner/standard/sonner-standard-4.tsx +0 -17
  1567. package/packages/patterns/sonner/standard/sonner-standard-5.tsx +0 -17
  1568. package/packages/patterns/spinner/applications/spinner-applications-1.tsx +0 -38
  1569. package/packages/patterns/spinner/applications/spinner-applications-2.tsx +0 -34
  1570. package/packages/patterns/spinner/applications/spinner-applications-3.tsx +0 -33
  1571. package/packages/patterns/spinner/button/spinner-button-1.tsx +0 -13
  1572. package/packages/patterns/spinner/button/spinner-button-2.tsx +0 -13
  1573. package/packages/patterns/spinner/button/spinner-button-3.tsx +0 -12
  1574. package/packages/patterns/spinner/button/spinner-button-4.tsx +0 -13
  1575. package/packages/patterns/spinner/button/spinner-button-5.tsx +0 -13
  1576. package/packages/patterns/spinner/inline/spinner-inline-1.tsx +0 -12
  1577. package/packages/patterns/spinner/inline/spinner-inline-2.tsx +0 -12
  1578. package/packages/patterns/spinner/inline/spinner-inline-3.tsx +0 -12
  1579. package/packages/patterns/spinner/inline/spinner-inline-4.tsx +0 -21
  1580. package/packages/patterns/spinner/standard/spinner-standard-1.tsx +0 -7
  1581. package/packages/patterns/spinner/standard/spinner-standard-2.tsx +0 -7
  1582. package/packages/patterns/spinner/standard/spinner-standard-3.tsx +0 -7
  1583. package/packages/patterns/spinner/standard/spinner-standard-4.tsx +0 -7
  1584. package/packages/patterns/spinner/standard/spinner-standard-5.tsx +0 -7
  1585. package/packages/patterns/switch/cards/switch-cards-1.tsx +0 -27
  1586. package/packages/patterns/switch/cards/switch-cards-2.tsx +0 -28
  1587. package/packages/patterns/switch/cards/switch-cards-3.tsx +0 -35
  1588. package/packages/patterns/switch/cards/switch-cards-4.tsx +0 -25
  1589. package/packages/patterns/switch/icons/switch-icons-1.tsx +0 -16
  1590. package/packages/patterns/switch/icons/switch-icons-2.tsx +0 -19
  1591. package/packages/patterns/switch/icons/switch-icons-3.tsx +0 -16
  1592. package/packages/patterns/switch/labeled/switch-labeled-1.tsx +0 -15
  1593. package/packages/patterns/switch/labeled/switch-labeled-2.tsx +0 -14
  1594. package/packages/patterns/switch/labeled/switch-labeled-3.tsx +0 -22
  1595. package/packages/patterns/switch/labeled/switch-labeled-4.tsx +0 -20
  1596. package/packages/patterns/switch/square/switch-square-1.tsx +0 -14
  1597. package/packages/patterns/switch/square/switch-square-2.tsx +0 -36
  1598. package/packages/patterns/switch/square/switch-square-3.tsx +0 -20
  1599. package/packages/patterns/switch/square/switch-square-4.tsx +0 -27
  1600. package/packages/patterns/switch/standard/switch-standard-1.tsx +0 -9
  1601. package/packages/patterns/switch/standard/switch-standard-2.tsx +0 -9
  1602. package/packages/patterns/switch/standard/switch-standard-3.tsx +0 -9
  1603. package/packages/patterns/switch/standard/switch-standard-4.tsx +0 -9
  1604. package/packages/patterns/table/advanced/table-advanced-1.tsx +0 -66
  1605. package/packages/patterns/table/advanced/table-advanced-2.tsx +0 -86
  1606. package/packages/patterns/table/advanced/table-advanced-3.tsx +0 -42
  1607. package/packages/patterns/table/advanced/table-advanced-4.tsx +0 -114
  1608. package/packages/patterns/table/standard/table-standard-1.tsx +0 -70
  1609. package/packages/patterns/table/standard/table-standard-2.tsx +0 -75
  1610. package/packages/patterns/table/standard/table-standard-3.tsx +0 -64
  1611. package/packages/patterns/table/standard/table-standard-4.tsx +0 -73
  1612. package/packages/patterns/tabs/advanced/tabs-advanced-1.tsx +0 -101
  1613. package/packages/patterns/tabs/advanced/tabs-advanced-2.tsx +0 -118
  1614. package/packages/patterns/tabs/advanced/tabs-advanced-3.tsx +0 -187
  1615. package/packages/patterns/tabs/content/tabs-content-1.tsx +0 -85
  1616. package/packages/patterns/tabs/content/tabs-content-2.tsx +0 -105
  1617. package/packages/patterns/tabs/content/tabs-content-3.tsx +0 -149
  1618. package/packages/patterns/tabs/layout/tabs-layout-1.tsx +0 -62
  1619. package/packages/patterns/tabs/layout/tabs-layout-2.tsx +0 -60
  1620. package/packages/patterns/tabs/layout/tabs-layout-3.tsx +0 -61
  1621. package/packages/patterns/tabs/standard/tabs-standard-1.tsx +0 -52
  1622. package/packages/patterns/tabs/standard/tabs-standard-2.tsx +0 -105
  1623. package/packages/patterns/textarea/form/textarea-form-1.tsx +0 -20
  1624. package/packages/patterns/textarea/form/textarea-form-2.tsx +0 -20
  1625. package/packages/patterns/textarea/form/textarea-form-3.tsx +0 -22
  1626. package/packages/patterns/textarea/form/textarea-form-4.tsx +0 -20
  1627. package/packages/patterns/textarea/form/textarea-form-5.tsx +0 -31
  1628. package/packages/patterns/textarea/labeled/textarea-labeled-1.tsx +0 -17
  1629. package/packages/patterns/textarea/labeled/textarea-labeled-2.tsx +0 -18
  1630. package/packages/patterns/textarea/labeled/textarea-labeled-3.tsx +0 -30
  1631. package/packages/patterns/textarea/labeled/textarea-labeled-4.tsx +0 -20
  1632. package/packages/patterns/textarea/standard/textarea-standard-1.tsx +0 -12
  1633. package/packages/patterns/textarea/standard/textarea-standard-2.tsx +0 -13
  1634. package/packages/patterns/textarea/standard/textarea-standard-3.tsx +0 -14
  1635. package/packages/patterns/textarea/standard/textarea-standard-4.tsx +0 -13
  1636. package/packages/patterns/toggle/sizes/toggle-sizes-1.tsx +0 -14
  1637. package/packages/patterns/toggle/sizes/toggle-sizes-2.tsx +0 -14
  1638. package/packages/patterns/toggle/sizes/toggle-sizes-3.tsx +0 -14
  1639. package/packages/patterns/toggle/standard/toggle-standard-1.tsx +0 -14
  1640. package/packages/patterns/toggle/standard/toggle-standard-2.tsx +0 -14
  1641. package/packages/patterns/toggle/standard/toggle-standard-3.tsx +0 -14
  1642. package/packages/patterns/toggle/standard/toggle-standard-4.tsx +0 -15
  1643. package/packages/patterns/toggle-group/sizes/toggle-group-sizes-1.tsx +0 -22
  1644. package/packages/patterns/toggle-group/sizes/toggle-group-sizes-2.tsx +0 -22
  1645. package/packages/patterns/toggle-group/sizes/toggle-group-sizes-3.tsx +0 -22
  1646. package/packages/patterns/toggle-group/standard/toggle-group-standard-1.tsx +0 -22
  1647. package/packages/patterns/toggle-group/standard/toggle-group-standard-2.tsx +0 -22
  1648. package/packages/patterns/toggle-group/standard/toggle-group-standard-3.tsx +0 -22
  1649. package/packages/patterns/toggle-group/standard/toggle-group-standard-4.tsx +0 -22
  1650. package/packages/patterns/tooltip/content/tooltip-content-1.tsx +0 -28
  1651. package/packages/patterns/tooltip/content/tooltip-content-2.tsx +0 -27
  1652. package/packages/patterns/tooltip/content/tooltip-content-3.tsx +0 -27
  1653. package/packages/patterns/tooltip/content/tooltip-content-4.tsx +0 -36
  1654. package/packages/patterns/tooltip/standard/tooltip-standard-1.tsx +0 -23
  1655. package/packages/patterns/tooltip/standard/tooltip-standard-2.tsx +0 -49
  1656. package/packages/patterns/tooltip/standard/tooltip-standard-3.tsx +0 -26
  1657. package/packages/patterns/tooltip/standard/tooltip-standard-4.tsx +0 -25
  1658. package/packages/patterns/tsconfig.json +0 -13
  1659. package/packages/pill/index.tsx +0 -166
  1660. package/packages/pill/package.json +0 -24
  1661. package/packages/pill/tsconfig.json +0 -13
  1662. package/packages/qr-code/index.tsx +0 -88
  1663. package/packages/qr-code/package.json +0 -27
  1664. package/packages/qr-code/server.tsx +0 -42
  1665. package/packages/qr-code/tsconfig.json +0 -13
  1666. package/packages/rating/index.tsx +0 -243
  1667. package/packages/rating/package.json +0 -25
  1668. package/packages/rating/tsconfig.json +0 -13
  1669. package/packages/reel/index.tsx +0 -748
  1670. package/packages/reel/package.json +0 -26
  1671. package/packages/reel/reel-controlled.tsx +0 -327
  1672. package/packages/reel/tsconfig.json +0 -13
  1673. package/packages/relative-time/index.tsx +0 -181
  1674. package/packages/relative-time/package.json +0 -24
  1675. package/packages/relative-time/tsconfig.json +0 -13
  1676. package/packages/sandbox/index.tsx +0 -251
  1677. package/packages/sandbox/package.json +0 -24
  1678. package/packages/sandbox/tsconfig.json +0 -13
  1679. package/packages/shadcn-ui/components/ui/accordion.tsx +0 -66
  1680. package/packages/shadcn-ui/components/ui/alert-dialog.tsx +0 -157
  1681. package/packages/shadcn-ui/components/ui/alert.tsx +0 -66
  1682. package/packages/shadcn-ui/components/ui/aspect-ratio.tsx +0 -11
  1683. package/packages/shadcn-ui/components/ui/avatar.tsx +0 -53
  1684. package/packages/shadcn-ui/components/ui/badge.tsx +0 -46
  1685. package/packages/shadcn-ui/components/ui/breadcrumb.tsx +0 -109
  1686. package/packages/shadcn-ui/components/ui/button-group.tsx +0 -83
  1687. package/packages/shadcn-ui/components/ui/button.tsx +0 -60
  1688. package/packages/shadcn-ui/components/ui/calendar.tsx +0 -213
  1689. package/packages/shadcn-ui/components/ui/card.tsx +0 -112
  1690. package/packages/shadcn-ui/components/ui/carousel.tsx +0 -241
  1691. package/packages/shadcn-ui/components/ui/chart.tsx +0 -357
  1692. package/packages/shadcn-ui/components/ui/checkbox.tsx +0 -32
  1693. package/packages/shadcn-ui/components/ui/collapsible.tsx +0 -33
  1694. package/packages/shadcn-ui/components/ui/command.tsx +0 -184
  1695. package/packages/shadcn-ui/components/ui/context-menu.tsx +0 -252
  1696. package/packages/shadcn-ui/components/ui/dialog.tsx +0 -143
  1697. package/packages/shadcn-ui/components/ui/drawer.tsx +0 -135
  1698. package/packages/shadcn-ui/components/ui/dropdown-menu.tsx +0 -257
  1699. package/packages/shadcn-ui/components/ui/empty.tsx +0 -104
  1700. package/packages/shadcn-ui/components/ui/field.tsx +0 -244
  1701. package/packages/shadcn-ui/components/ui/form.tsx +0 -167
  1702. package/packages/shadcn-ui/components/ui/hover-card.tsx +0 -44
  1703. package/packages/shadcn-ui/components/ui/input-group.tsx +0 -170
  1704. package/packages/shadcn-ui/components/ui/input-otp.tsx +0 -77
  1705. package/packages/shadcn-ui/components/ui/input.tsx +0 -21
  1706. package/packages/shadcn-ui/components/ui/item.tsx +0 -193
  1707. package/packages/shadcn-ui/components/ui/kbd.tsx +0 -28
  1708. package/packages/shadcn-ui/components/ui/label.tsx +0 -24
  1709. package/packages/shadcn-ui/components/ui/menubar.tsx +0 -276
  1710. package/packages/shadcn-ui/components/ui/navigation-menu.tsx +0 -168
  1711. package/packages/shadcn-ui/components/ui/pagination.tsx +0 -127
  1712. package/packages/shadcn-ui/components/ui/popover.tsx +0 -48
  1713. package/packages/shadcn-ui/components/ui/progress.tsx +0 -31
  1714. package/packages/shadcn-ui/components/ui/radio-group.tsx +0 -45
  1715. package/packages/shadcn-ui/components/ui/resizable.tsx +0 -56
  1716. package/packages/shadcn-ui/components/ui/scroll-area.tsx +0 -58
  1717. package/packages/shadcn-ui/components/ui/select.tsx +0 -187
  1718. package/packages/shadcn-ui/components/ui/separator.tsx +0 -28
  1719. package/packages/shadcn-ui/components/ui/sheet.tsx +0 -139
  1720. package/packages/shadcn-ui/components/ui/sidebar.tsx +0 -726
  1721. package/packages/shadcn-ui/components/ui/skeleton.tsx +0 -13
  1722. package/packages/shadcn-ui/components/ui/slider.tsx +0 -63
  1723. package/packages/shadcn-ui/components/ui/sonner.tsx +0 -25
  1724. package/packages/shadcn-ui/components/ui/spinner.tsx +0 -16
  1725. package/packages/shadcn-ui/components/ui/switch.tsx +0 -31
  1726. package/packages/shadcn-ui/components/ui/table.tsx +0 -116
  1727. package/packages/shadcn-ui/components/ui/tabs.tsx +0 -66
  1728. package/packages/shadcn-ui/components/ui/textarea.tsx +0 -18
  1729. package/packages/shadcn-ui/components/ui/toast.tsx +0 -128
  1730. package/packages/shadcn-ui/components/ui/toaster.tsx +0 -35
  1731. package/packages/shadcn-ui/components/ui/toggle-group.tsx +0 -73
  1732. package/packages/shadcn-ui/components/ui/toggle.tsx +0 -47
  1733. package/packages/shadcn-ui/components/ui/tooltip.tsx +0 -61
  1734. package/packages/shadcn-ui/components.json +0 -21
  1735. package/packages/shadcn-ui/hooks/use-mobile.ts +0 -19
  1736. package/packages/shadcn-ui/hooks/use-mobile.tsx +0 -19
  1737. package/packages/shadcn-ui/hooks/use-toast.ts +0 -194
  1738. package/packages/shadcn-ui/lib/utils.ts +0 -6
  1739. package/packages/shadcn-ui/package.json +0 -39
  1740. package/packages/shadcn-ui/tsconfig.json +0 -17
  1741. package/packages/shader-ripple/index.tsx +0 -303
  1742. package/packages/shader-ripple/package.json +0 -60
  1743. package/packages/shader-ripple/tsconfig.json +0 -18
  1744. package/packages/silk/README.md +0 -40
  1745. package/packages/silk/index.tsx +0 -170
  1746. package/packages/silk/package.json +0 -61
  1747. package/packages/silk/tsconfig.json +0 -18
  1748. package/packages/silk/types.d.ts +0 -23
  1749. package/packages/snippet/index.tsx +0 -123
  1750. package/packages/snippet/package.json +0 -23
  1751. package/packages/snippet/tsconfig.json +0 -13
  1752. package/packages/spinner/index.tsx +0 -271
  1753. package/packages/spinner/package.json +0 -24
  1754. package/packages/spinner/tsconfig.json +0 -13
  1755. package/packages/status/index.tsx +0 -62
  1756. package/packages/status/package.json +0 -23
  1757. package/packages/status/tsconfig.json +0 -13
  1758. package/packages/stories/index.tsx +0 -232
  1759. package/packages/stories/package.json +0 -23
  1760. package/packages/stories/tsconfig.json +0 -13
  1761. package/packages/table/index.tsx +0 -246
  1762. package/packages/table/package.json +0 -26
  1763. package/packages/table/tsconfig.json +0 -13
  1764. package/packages/tags/index.tsx +0 -221
  1765. package/packages/tags/package.json +0 -23
  1766. package/packages/tags/tsconfig.json +0 -13
  1767. package/packages/theme-switcher/index.tsx +0 -99
  1768. package/packages/theme-switcher/package.json +0 -26
  1769. package/packages/theme-switcher/tsconfig.json +0 -13
  1770. package/packages/ticker/index.tsx +0 -195
  1771. package/packages/ticker/package.json +0 -23
  1772. package/packages/ticker/tsconfig.json +0 -13
  1773. package/packages/tree/index.tsx +0 -445
  1774. package/packages/tree/package.json +0 -25
  1775. package/packages/tree/tsconfig.json +0 -13
  1776. package/packages/typescript-config/base.json +0 -27
  1777. package/packages/typescript-config/nextjs.json +0 -13
  1778. package/packages/typescript-config/package.json +0 -15
  1779. package/packages/typescript-config/react-library.json +0 -8
  1780. package/packages/typescript-config/types/minimatch/index.d.ts +0 -26
  1781. package/packages/typography/package.json +0 -26
  1782. package/packages/typography/styles.css +0 -326
  1783. package/packages/typography/tsconfig.json +0 -13
  1784. package/packages/video-player/index.tsx +0 -125
  1785. package/packages/video-player/package.json +0 -24
  1786. package/packages/video-player/tsconfig.json +0 -13
  1787. package/public/r/accordion-controlled.json +0 -20
  1788. package/public/r/accordion-demo.json +0 -19
  1789. package/public/r/accordion-multiple.json +0 -19
  1790. package/public/r/accordion-single.json +0 -19
  1791. package/public/r/accordion.json +0 -15
  1792. package/public/r/alert-demo.json +0 -19
  1793. package/public/r/alert-dialog-demo.json +0 -20
  1794. package/public/r/alert-dialog.json +0 -15
  1795. package/public/r/alert-error.json +0 -20
  1796. package/public/r/alert-info.json +0 -20
  1797. package/public/r/alert-success.json +0 -20
  1798. package/public/r/alert-warning.json +0 -20
  1799. package/public/r/alert-with-icon-action.json +0 -20
  1800. package/public/r/alert-with-icon.json +0 -19
  1801. package/public/r/alert.json +0 -32
  1802. package/public/r/announcement-tagless.json +0 -21
  1803. package/public/r/announcement-themes.json +0 -21
  1804. package/public/r/announcement.json +0 -20
  1805. package/public/r/autocomplete-async.json +0 -21
  1806. package/public/r/autocomplete-autohighlight.json +0 -20
  1807. package/public/r/autocomplete-demo.json +0 -20
  1808. package/public/r/autocomplete-disabled.json +0 -21
  1809. package/public/r/autocomplete-form.json +0 -23
  1810. package/public/r/autocomplete-grouped.json +0 -20
  1811. package/public/r/autocomplete-inline.json +0 -20
  1812. package/public/r/autocomplete-lg.json +0 -20
  1813. package/public/r/autocomplete-limit.json +0 -20
  1814. package/public/r/autocomplete-sm.json +0 -20
  1815. package/public/r/autocomplete-with-clear.json +0 -20
  1816. package/public/r/autocomplete-with-label.json +0 -21
  1817. package/public/r/autocomplete-with-trigger-clear.json +0 -20
  1818. package/public/r/autocomplete.json +0 -19
  1819. package/public/r/avatar-demo.json +0 -19
  1820. package/public/r/avatar-fallback.json +0 -19
  1821. package/public/r/avatar-group.json +0 -20
  1822. package/public/r/avatar-radius.json +0 -19
  1823. package/public/r/avatar-size.json +0 -19
  1824. package/public/r/avatar-stack-hover.json +0 -22
  1825. package/public/r/avatar-stack.json +0 -21
  1826. package/public/r/avatar.json +0 -15
  1827. package/public/r/badge-demo.json +0 -19
  1828. package/public/r/badge-destructive.json +0 -21
  1829. package/public/r/badge-error.json +0 -20
  1830. package/public/r/badge-info.json +0 -20
  1831. package/public/r/badge-lg.json +0 -19
  1832. package/public/r/badge-outline.json +0 -19
  1833. package/public/r/badge-secondary.json +0 -19
  1834. package/public/r/badge-sm.json +0 -19
  1835. package/public/r/badge-success.json +0 -20
  1836. package/public/r/badge-warning.json +0 -20
  1837. package/public/r/badge-with-icon.json +0 -19
  1838. package/public/r/badge-with-link.json +0 -19
  1839. package/public/r/badge.json +0 -35
  1840. package/public/r/banner-inset.json +0 -21
  1841. package/public/r/banner-themes.json +0 -21
  1842. package/public/r/banner.json +0 -20
  1843. package/public/r/bookmarks.json +0 -206
  1844. package/public/r/breadcrumb-custom-separator.json +0 -19
  1845. package/public/r/breadcrumb-demo.json +0 -21
  1846. package/public/r/breadcrumb.json +0 -15
  1847. package/public/r/button-demo.json +0 -19
  1848. package/public/r/button-destructive-outline.json +0 -20
  1849. package/public/r/button-destructive.json +0 -21
  1850. package/public/r/button-disabled.json +0 -20
  1851. package/public/r/button-ghost.json +0 -19
  1852. package/public/r/button-icon-lg.json +0 -19
  1853. package/public/r/button-icon-sm.json +0 -19
  1854. package/public/r/button-icon.json +0 -19
  1855. package/public/r/button-lg.json +0 -19
  1856. package/public/r/button-link.json +0 -19
  1857. package/public/r/button-loading.json +0 -20
  1858. package/public/r/button-outline.json +0 -19
  1859. package/public/r/button-secondary.json +0 -19
  1860. package/public/r/button-sm.json +0 -19
  1861. package/public/r/button-with-icon.json +0 -19
  1862. package/public/r/button-with-link.json +0 -19
  1863. package/public/r/button-xl.json +0 -19
  1864. package/public/r/button-xs.json +0 -19
  1865. package/public/r/button.json +0 -23
  1866. package/public/r/calendar-headless.json +0 -22
  1867. package/public/r/calendar-rac.json +0 -16
  1868. package/public/r/calendar.json +0 -21
  1869. package/public/r/card-demo.json +0 -28
  1870. package/public/r/card.json +0 -13
  1871. package/public/r/chart.json +0 -15
  1872. package/public/r/checkbox-card.json +0 -22
  1873. package/public/r/checkbox-demo.json +0 -21
  1874. package/public/r/checkbox-disabled.json +0 -22
  1875. package/public/r/checkbox-form.json +0 -25
  1876. package/public/r/checkbox-group-demo.json +0 -22
  1877. package/public/r/checkbox-group-disabled.json +0 -23
  1878. package/public/r/checkbox-group-form.json +0 -29
  1879. package/public/r/checkbox-group-nested-parent.json +0 -23
  1880. package/public/r/checkbox-group-parent.json +0 -23
  1881. package/public/r/checkbox-group.json +0 -15
  1882. package/public/r/checkbox-tree.json +0 -12
  1883. package/public/r/checkbox-with-description.json +0 -23
  1884. package/public/r/checkbox.json +0 -15
  1885. package/public/r/choicebox-inline.json +0 -20
  1886. package/public/r/choicebox.json +0 -20
  1887. package/public/r/code-block-diff.json +0 -21
  1888. package/public/r/code-block-focus.json +0 -20
  1889. package/public/r/code-block-headless.json +0 -21
  1890. package/public/r/code-block-highlight-line.json +0 -21
  1891. package/public/r/code-block-highlight-word.json +0 -21
  1892. package/public/r/code-block-no-highlighting.json +0 -20
  1893. package/public/r/code-block-numberless.json +0 -20
  1894. package/public/r/code-block-theme.json +0 -21
  1895. package/public/r/code-block.json +0 -20
  1896. package/public/r/codebase.json +0 -19
  1897. package/public/r/collaborative-canvas.json +0 -19
  1898. package/public/r/collapsible-demo.json +0 -19
  1899. package/public/r/collapsible.json +0 -15
  1900. package/public/r/color-picker.json +0 -21
  1901. package/public/r/colors-zinc.json +0 -61
  1902. package/public/r/combobox-autohighlight.json +0 -20
  1903. package/public/r/combobox-controlled.json +0 -21
  1904. package/public/r/combobox-create-new.json +0 -21
  1905. package/public/r/combobox-demo.json +0 -20
  1906. package/public/r/combobox-disabled.json +0 -21
  1907. package/public/r/combobox-fixed-width.json +0 -20
  1908. package/public/r/combobox-form.json +0 -24
  1909. package/public/r/combobox-grouped.json +0 -20
  1910. package/public/r/combobox-lg.json +0 -20
  1911. package/public/r/combobox-multiple-form.json +0 -25
  1912. package/public/r/combobox-multiple.json +0 -20
  1913. package/public/r/combobox-sm.json +0 -20
  1914. package/public/r/combobox-with-clear.json +0 -20
  1915. package/public/r/combobox-with-inner-input.json +0 -21
  1916. package/public/r/combobox-with-label.json +0 -21
  1917. package/public/r/combobox.json +0 -19
  1918. package/public/r/command.json +0 -18
  1919. package/public/r/comp-01.json +0 -22
  1920. package/public/r/comp-02.json +0 -23
  1921. package/public/r/comp-03.json +0 -23
  1922. package/public/r/comp-04.json +0 -23
  1923. package/public/r/comp-05.json +0 -22
  1924. package/public/r/comp-06.json +0 -23
  1925. package/public/r/comp-07.json +0 -22
  1926. package/public/r/comp-08.json +0 -23
  1927. package/public/r/comp-09.json +0 -22
  1928. package/public/r/comp-10.json +0 -22
  1929. package/public/r/comp-100.json +0 -23
  1930. package/public/r/comp-101.json +0 -23
  1931. package/public/r/comp-102.json +0 -23
  1932. package/public/r/comp-103.json +0 -23
  1933. package/public/r/comp-104.json +0 -23
  1934. package/public/r/comp-105.json +0 -23
  1935. package/public/r/comp-106.json +0 -22
  1936. package/public/r/comp-107.json +0 -22
  1937. package/public/r/comp-108.json +0 -23
  1938. package/public/r/comp-109.json +0 -22
  1939. package/public/r/comp-11.json +0 -22
  1940. package/public/r/comp-110.json +0 -22
  1941. package/public/r/comp-111.json +0 -21
  1942. package/public/r/comp-112.json +0 -21
  1943. package/public/r/comp-113.json +0 -22
  1944. package/public/r/comp-114.json +0 -23
  1945. package/public/r/comp-115.json +0 -22
  1946. package/public/r/comp-116.json +0 -22
  1947. package/public/r/comp-117.json +0 -23
  1948. package/public/r/comp-118.json +0 -23
  1949. package/public/r/comp-119.json +0 -27
  1950. package/public/r/comp-12.json +0 -22
  1951. package/public/r/comp-120.json +0 -27
  1952. package/public/r/comp-121.json +0 -27
  1953. package/public/r/comp-122.json +0 -27
  1954. package/public/r/comp-123.json +0 -22
  1955. package/public/r/comp-124.json +0 -22
  1956. package/public/r/comp-125.json +0 -31
  1957. package/public/r/comp-126.json +0 -31
  1958. package/public/r/comp-127.json +0 -21
  1959. package/public/r/comp-128.json +0 -21
  1960. package/public/r/comp-129.json +0 -24
  1961. package/public/r/comp-13.json +0 -22
  1962. package/public/r/comp-130.json +0 -23
  1963. package/public/r/comp-131.json +0 -23
  1964. package/public/r/comp-132.json +0 -23
  1965. package/public/r/comp-133.json +0 -23
  1966. package/public/r/comp-134.json +0 -23
  1967. package/public/r/comp-135.json +0 -24
  1968. package/public/r/comp-136.json +0 -23
  1969. package/public/r/comp-137.json +0 -23
  1970. package/public/r/comp-138.json +0 -25
  1971. package/public/r/comp-139.json +0 -23
  1972. package/public/r/comp-14.json +0 -22
  1973. package/public/r/comp-140.json +0 -23
  1974. package/public/r/comp-141.json +0 -23
  1975. package/public/r/comp-142.json +0 -25
  1976. package/public/r/comp-143.json +0 -23
  1977. package/public/r/comp-144.json +0 -24
  1978. package/public/r/comp-145.json +0 -24
  1979. package/public/r/comp-146.json +0 -24
  1980. package/public/r/comp-147.json +0 -24
  1981. package/public/r/comp-148.json +0 -25
  1982. package/public/r/comp-149.json +0 -24
  1983. package/public/r/comp-15.json +0 -22
  1984. package/public/r/comp-150.json +0 -21
  1985. package/public/r/comp-151.json +0 -23
  1986. package/public/r/comp-152.json +0 -23
  1987. package/public/r/comp-153.json +0 -23
  1988. package/public/r/comp-154.json +0 -23
  1989. package/public/r/comp-155.json +0 -23
  1990. package/public/r/comp-156.json +0 -25
  1991. package/public/r/comp-157.json +0 -27
  1992. package/public/r/comp-158.json +0 -24
  1993. package/public/r/comp-159.json +0 -24
  1994. package/public/r/comp-16.json +0 -22
  1995. package/public/r/comp-160.json +0 -24
  1996. package/public/r/comp-161.json +0 -24
  1997. package/public/r/comp-162.json +0 -24
  1998. package/public/r/comp-163.json +0 -28
  1999. package/public/r/comp-164.json +0 -24
  2000. package/public/r/comp-165.json +0 -24
  2001. package/public/r/comp-166.json +0 -25
  2002. package/public/r/comp-167.json +0 -24
  2003. package/public/r/comp-168.json +0 -24
  2004. package/public/r/comp-169.json +0 -23
  2005. package/public/r/comp-17.json +0 -25
  2006. package/public/r/comp-170.json +0 -25
  2007. package/public/r/comp-171.json +0 -28
  2008. package/public/r/comp-172.json +0 -23
  2009. package/public/r/comp-173.json +0 -23
  2010. package/public/r/comp-174.json +0 -23
  2011. package/public/r/comp-175.json +0 -23
  2012. package/public/r/comp-176.json +0 -23
  2013. package/public/r/comp-177.json +0 -23
  2014. package/public/r/comp-178.json +0 -23
  2015. package/public/r/comp-179.json +0 -24
  2016. package/public/r/comp-18.json +0 -25
  2017. package/public/r/comp-180.json +0 -23
  2018. package/public/r/comp-181.json +0 -25
  2019. package/public/r/comp-182.json +0 -24
  2020. package/public/r/comp-183.json +0 -25
  2021. package/public/r/comp-184.json +0 -25
  2022. package/public/r/comp-185.json +0 -24
  2023. package/public/r/comp-186.json +0 -25
  2024. package/public/r/comp-187.json +0 -25
  2025. package/public/r/comp-188.json +0 -25
  2026. package/public/r/comp-189.json +0 -23
  2027. package/public/r/comp-19.json +0 -23
  2028. package/public/r/comp-190.json +0 -23
  2029. package/public/r/comp-191.json +0 -24
  2030. package/public/r/comp-192.json +0 -23
  2031. package/public/r/comp-193.json +0 -23
  2032. package/public/r/comp-194.json +0 -24
  2033. package/public/r/comp-195.json +0 -23
  2034. package/public/r/comp-196.json +0 -24
  2035. package/public/r/comp-197.json +0 -23
  2036. package/public/r/comp-198.json +0 -23
  2037. package/public/r/comp-199.json +0 -23
  2038. package/public/r/comp-20.json +0 -23
  2039. package/public/r/comp-200.json +0 -25
  2040. package/public/r/comp-201.json +0 -22
  2041. package/public/r/comp-202.json +0 -22
  2042. package/public/r/comp-203.json +0 -23
  2043. package/public/r/comp-204.json +0 -23
  2044. package/public/r/comp-205.json +0 -23
  2045. package/public/r/comp-206.json +0 -24
  2046. package/public/r/comp-207.json +0 -23
  2047. package/public/r/comp-208.json +0 -23
  2048. package/public/r/comp-209.json +0 -23
  2049. package/public/r/comp-21.json +0 -23
  2050. package/public/r/comp-210.json +0 -24
  2051. package/public/r/comp-211.json +0 -24
  2052. package/public/r/comp-212.json +0 -23
  2053. package/public/r/comp-213.json +0 -23
  2054. package/public/r/comp-214.json +0 -23
  2055. package/public/r/comp-215.json +0 -24
  2056. package/public/r/comp-216.json +0 -22
  2057. package/public/r/comp-217.json +0 -22
  2058. package/public/r/comp-218.json +0 -25
  2059. package/public/r/comp-219.json +0 -23
  2060. package/public/r/comp-22.json +0 -23
  2061. package/public/r/comp-220.json +0 -24
  2062. package/public/r/comp-221.json +0 -23
  2063. package/public/r/comp-222.json +0 -26
  2064. package/public/r/comp-223.json +0 -26
  2065. package/public/r/comp-224.json +0 -23
  2066. package/public/r/comp-225.json +0 -24
  2067. package/public/r/comp-226.json +0 -26
  2068. package/public/r/comp-227.json +0 -26
  2069. package/public/r/comp-228.json +0 -26
  2070. package/public/r/comp-229.json +0 -30
  2071. package/public/r/comp-23.json +0 -24
  2072. package/public/r/comp-230.json +0 -30
  2073. package/public/r/comp-231.json +0 -32
  2074. package/public/r/comp-232.json +0 -31
  2075. package/public/r/comp-233.json +0 -30
  2076. package/public/r/comp-234.json +0 -28
  2077. package/public/r/comp-235.json +0 -28
  2078. package/public/r/comp-236.json +0 -24
  2079. package/public/r/comp-237.json +0 -26
  2080. package/public/r/comp-238.json +0 -26
  2081. package/public/r/comp-239.json +0 -26
  2082. package/public/r/comp-24.json +0 -23
  2083. package/public/r/comp-240.json +0 -23
  2084. package/public/r/comp-241.json +0 -24
  2085. package/public/r/comp-242.json +0 -23
  2086. package/public/r/comp-243.json +0 -23
  2087. package/public/r/comp-244.json +0 -23
  2088. package/public/r/comp-245.json +0 -23
  2089. package/public/r/comp-246.json +0 -23
  2090. package/public/r/comp-247.json +0 -23
  2091. package/public/r/comp-248.json +0 -23
  2092. package/public/r/comp-249.json +0 -24
  2093. package/public/r/comp-25.json +0 -24
  2094. package/public/r/comp-250.json +0 -25
  2095. package/public/r/comp-251.json +0 -25
  2096. package/public/r/comp-252.json +0 -25
  2097. package/public/r/comp-253.json +0 -25
  2098. package/public/r/comp-254.json +0 -35
  2099. package/public/r/comp-255.json +0 -30
  2100. package/public/r/comp-256.json +0 -25
  2101. package/public/r/comp-257.json +0 -25
  2102. package/public/r/comp-258.json +0 -32
  2103. package/public/r/comp-259.json +0 -26
  2104. package/public/r/comp-26.json +0 -24
  2105. package/public/r/comp-260.json +0 -26
  2106. package/public/r/comp-261.json +0 -24
  2107. package/public/r/comp-262.json +0 -31
  2108. package/public/r/comp-263.json +0 -25
  2109. package/public/r/comp-264.json +0 -33
  2110. package/public/r/comp-265.json +0 -32
  2111. package/public/r/comp-266.json +0 -24
  2112. package/public/r/comp-267.json +0 -19
  2113. package/public/r/comp-268.json +0 -19
  2114. package/public/r/comp-269.json +0 -19
  2115. package/public/r/comp-27.json +0 -24
  2116. package/public/r/comp-270.json +0 -19
  2117. package/public/r/comp-271.json +0 -19
  2118. package/public/r/comp-272.json +0 -19
  2119. package/public/r/comp-273.json +0 -19
  2120. package/public/r/comp-274.json +0 -19
  2121. package/public/r/comp-275.json +0 -19
  2122. package/public/r/comp-276.json +0 -19
  2123. package/public/r/comp-277.json +0 -21
  2124. package/public/r/comp-278.json +0 -21
  2125. package/public/r/comp-279.json +0 -23
  2126. package/public/r/comp-28.json +0 -24
  2127. package/public/r/comp-280.json +0 -23
  2128. package/public/r/comp-281.json +0 -23
  2129. package/public/r/comp-282.json +0 -23
  2130. package/public/r/comp-283.json +0 -23
  2131. package/public/r/comp-284.json +0 -23
  2132. package/public/r/comp-285.json +0 -23
  2133. package/public/r/comp-286.json +0 -23
  2134. package/public/r/comp-287.json +0 -24
  2135. package/public/r/comp-288.json +0 -23
  2136. package/public/r/comp-289.json +0 -24
  2137. package/public/r/comp-29.json +0 -24
  2138. package/public/r/comp-290.json +0 -24
  2139. package/public/r/comp-291.json +0 -24
  2140. package/public/r/comp-292.json +0 -24
  2141. package/public/r/comp-293.json +0 -26
  2142. package/public/r/comp-294.json +0 -24
  2143. package/public/r/comp-295.json +0 -23
  2144. package/public/r/comp-296.json +0 -23
  2145. package/public/r/comp-297.json +0 -30
  2146. package/public/r/comp-298.json +0 -26
  2147. package/public/r/comp-299.json +0 -28
  2148. package/public/r/comp-30.json +0 -23
  2149. package/public/r/comp-300.json +0 -29
  2150. package/public/r/comp-301.json +0 -24
  2151. package/public/r/comp-302.json +0 -18
  2152. package/public/r/comp-303.json +0 -18
  2153. package/public/r/comp-304.json +0 -18
  2154. package/public/r/comp-305.json +0 -21
  2155. package/public/r/comp-306.json +0 -21
  2156. package/public/r/comp-307.json +0 -21
  2157. package/public/r/comp-308.json +0 -21
  2158. package/public/r/comp-309.json +0 -21
  2159. package/public/r/comp-31.json +0 -21
  2160. package/public/r/comp-310.json +0 -23
  2161. package/public/r/comp-311.json +0 -20
  2162. package/public/r/comp-312.json +0 -21
  2163. package/public/r/comp-313.json +0 -26
  2164. package/public/r/comp-314.json +0 -26
  2165. package/public/r/comp-315.json +0 -24
  2166. package/public/r/comp-316.json +0 -25
  2167. package/public/r/comp-317.json +0 -24
  2168. package/public/r/comp-318.json +0 -24
  2169. package/public/r/comp-319.json +0 -24
  2170. package/public/r/comp-32.json +0 -21
  2171. package/public/r/comp-320.json +0 -27
  2172. package/public/r/comp-321.json +0 -28
  2173. package/public/r/comp-322.json +0 -27
  2174. package/public/r/comp-323.json +0 -30
  2175. package/public/r/comp-324.json +0 -28
  2176. package/public/r/comp-325.json +0 -29
  2177. package/public/r/comp-326.json +0 -30
  2178. package/public/r/comp-327.json +0 -30
  2179. package/public/r/comp-328.json +0 -37
  2180. package/public/r/comp-329.json +0 -38
  2181. package/public/r/comp-33.json +0 -18
  2182. package/public/r/comp-330.json +0 -27
  2183. package/public/r/comp-331.json +0 -42
  2184. package/public/r/comp-332.json +0 -25
  2185. package/public/r/comp-333.json +0 -29
  2186. package/public/r/comp-334.json +0 -22
  2187. package/public/r/comp-335.json +0 -22
  2188. package/public/r/comp-336.json +0 -22
  2189. package/public/r/comp-337.json +0 -22
  2190. package/public/r/comp-338.json +0 -22
  2191. package/public/r/comp-339.json +0 -22
  2192. package/public/r/comp-34.json +0 -27
  2193. package/public/r/comp-340.json +0 -22
  2194. package/public/r/comp-341.json +0 -22
  2195. package/public/r/comp-342.json +0 -22
  2196. package/public/r/comp-343.json +0 -22
  2197. package/public/r/comp-344.json +0 -22
  2198. package/public/r/comp-345.json +0 -22
  2199. package/public/r/comp-346.json +0 -22
  2200. package/public/r/comp-347.json +0 -22
  2201. package/public/r/comp-348.json +0 -22
  2202. package/public/r/comp-349.json +0 -22
  2203. package/public/r/comp-35.json +0 -27
  2204. package/public/r/comp-350.json +0 -22
  2205. package/public/r/comp-351.json +0 -22
  2206. package/public/r/comp-352.json +0 -24
  2207. package/public/r/comp-353.json +0 -24
  2208. package/public/r/comp-354.json +0 -23
  2209. package/public/r/comp-355.json +0 -23
  2210. package/public/r/comp-356.json +0 -23
  2211. package/public/r/comp-357.json +0 -23
  2212. package/public/r/comp-358.json +0 -23
  2213. package/public/r/comp-359.json +0 -24
  2214. package/public/r/comp-36.json +0 -26
  2215. package/public/r/comp-360.json +0 -25
  2216. package/public/r/comp-361.json +0 -23
  2217. package/public/r/comp-362.json +0 -24
  2218. package/public/r/comp-363.json +0 -27
  2219. package/public/r/comp-364.json +0 -26
  2220. package/public/r/comp-365.json +0 -24
  2221. package/public/r/comp-366.json +0 -23
  2222. package/public/r/comp-367.json +0 -23
  2223. package/public/r/comp-368.json +0 -23
  2224. package/public/r/comp-369.json +0 -23
  2225. package/public/r/comp-37.json +0 -23
  2226. package/public/r/comp-370.json +0 -23
  2227. package/public/r/comp-371.json +0 -24
  2228. package/public/r/comp-372.json +0 -24
  2229. package/public/r/comp-373.json +0 -25
  2230. package/public/r/comp-374.json +0 -26
  2231. package/public/r/comp-375.json +0 -25
  2232. package/public/r/comp-376.json +0 -26
  2233. package/public/r/comp-377.json +0 -27
  2234. package/public/r/comp-378.json +0 -24
  2235. package/public/r/comp-379.json +0 -24
  2236. package/public/r/comp-38.json +0 -23
  2237. package/public/r/comp-380.json +0 -24
  2238. package/public/r/comp-381.json +0 -26
  2239. package/public/r/comp-382.json +0 -25
  2240. package/public/r/comp-383.json +0 -26
  2241. package/public/r/comp-384.json +0 -24
  2242. package/public/r/comp-385.json +0 -24
  2243. package/public/r/comp-386.json +0 -24
  2244. package/public/r/comp-387.json +0 -28
  2245. package/public/r/comp-388.json +0 -26
  2246. package/public/r/comp-389.json +0 -24
  2247. package/public/r/comp-39.json +0 -23
  2248. package/public/r/comp-390.json +0 -23
  2249. package/public/r/comp-391.json +0 -23
  2250. package/public/r/comp-392.json +0 -23
  2251. package/public/r/comp-393.json +0 -23
  2252. package/public/r/comp-394.json +0 -24
  2253. package/public/r/comp-395.json +0 -24
  2254. package/public/r/comp-396.json +0 -24
  2255. package/public/r/comp-397.json +0 -25
  2256. package/public/r/comp-398.json +0 -26
  2257. package/public/r/comp-399.json +0 -26
  2258. package/public/r/comp-40.json +0 -23
  2259. package/public/r/comp-400.json +0 -20
  2260. package/public/r/comp-401.json +0 -19
  2261. package/public/r/comp-402.json +0 -19
  2262. package/public/r/comp-403.json +0 -19
  2263. package/public/r/comp-404.json +0 -19
  2264. package/public/r/comp-405.json +0 -19
  2265. package/public/r/comp-406.json +0 -19
  2266. package/public/r/comp-407.json +0 -19
  2267. package/public/r/comp-408.json +0 -19
  2268. package/public/r/comp-409.json +0 -22
  2269. package/public/r/comp-41.json +0 -29
  2270. package/public/r/comp-410.json +0 -22
  2271. package/public/r/comp-411.json +0 -22
  2272. package/public/r/comp-412.json +0 -19
  2273. package/public/r/comp-413.json +0 -22
  2274. package/public/r/comp-414.json +0 -22
  2275. package/public/r/comp-415.json +0 -22
  2276. package/public/r/comp-416.json +0 -23
  2277. package/public/r/comp-417.json +0 -22
  2278. package/public/r/comp-418.json +0 -23
  2279. package/public/r/comp-419.json +0 -23
  2280. package/public/r/comp-42.json +0 -30
  2281. package/public/r/comp-420.json +0 -23
  2282. package/public/r/comp-421.json +0 -23
  2283. package/public/r/comp-422.json +0 -23
  2284. package/public/r/comp-423.json +0 -24
  2285. package/public/r/comp-424.json +0 -22
  2286. package/public/r/comp-425.json +0 -23
  2287. package/public/r/comp-426.json +0 -23
  2288. package/public/r/comp-427.json +0 -23
  2289. package/public/r/comp-428.json +0 -23
  2290. package/public/r/comp-429.json +0 -23
  2291. package/public/r/comp-43.json +0 -32
  2292. package/public/r/comp-430.json +0 -23
  2293. package/public/r/comp-431.json +0 -23
  2294. package/public/r/comp-432.json +0 -23
  2295. package/public/r/comp-433.json +0 -24
  2296. package/public/r/comp-434.json +0 -24
  2297. package/public/r/comp-435.json +0 -24
  2298. package/public/r/comp-436.json +0 -24
  2299. package/public/r/comp-437.json +0 -25
  2300. package/public/r/comp-438.json +0 -23
  2301. package/public/r/comp-439.json +0 -24
  2302. package/public/r/comp-44.json +0 -25
  2303. package/public/r/comp-440.json +0 -25
  2304. package/public/r/comp-441.json +0 -25
  2305. package/public/r/comp-442.json +0 -24
  2306. package/public/r/comp-443.json +0 -24
  2307. package/public/r/comp-444.json +0 -24
  2308. package/public/r/comp-445.json +0 -24
  2309. package/public/r/comp-446.json +0 -24
  2310. package/public/r/comp-447.json +0 -25
  2311. package/public/r/comp-448.json +0 -23
  2312. package/public/r/comp-449.json +0 -23
  2313. package/public/r/comp-45.json +0 -25
  2314. package/public/r/comp-450.json +0 -23
  2315. package/public/r/comp-451.json +0 -23
  2316. package/public/r/comp-452.json +0 -23
  2317. package/public/r/comp-453.json +0 -25
  2318. package/public/r/comp-454.json +0 -22
  2319. package/public/r/comp-455.json +0 -22
  2320. package/public/r/comp-456.json +0 -22
  2321. package/public/r/comp-457.json +0 -21
  2322. package/public/r/comp-458.json +0 -22
  2323. package/public/r/comp-459.json +0 -26
  2324. package/public/r/comp-46.json +0 -26
  2325. package/public/r/comp-460.json +0 -26
  2326. package/public/r/comp-461.json +0 -27
  2327. package/public/r/comp-462.json +0 -27
  2328. package/public/r/comp-463.json +0 -30
  2329. package/public/r/comp-464.json +0 -29
  2330. package/public/r/comp-465.json +0 -29
  2331. package/public/r/comp-466.json +0 -21
  2332. package/public/r/comp-467.json +0 -23
  2333. package/public/r/comp-468.json +0 -21
  2334. package/public/r/comp-469.json +0 -21
  2335. package/public/r/comp-47.json +0 -32
  2336. package/public/r/comp-470.json +0 -21
  2337. package/public/r/comp-471.json +0 -21
  2338. package/public/r/comp-472.json +0 -23
  2339. package/public/r/comp-473.json +0 -24
  2340. package/public/r/comp-474.json +0 -22
  2341. package/public/r/comp-475.json +0 -22
  2342. package/public/r/comp-476.json +0 -21
  2343. package/public/r/comp-477.json +0 -31
  2344. package/public/r/comp-478.json +0 -36
  2345. package/public/r/comp-479.json +0 -28
  2346. package/public/r/comp-48.json +0 -32
  2347. package/public/r/comp-480.json +0 -30
  2348. package/public/r/comp-481.json +0 -34
  2349. package/public/r/comp-482.json +0 -33
  2350. package/public/r/comp-483.json +0 -37
  2351. package/public/r/comp-484.json +0 -41
  2352. package/public/r/comp-485.json +0 -43
  2353. package/public/r/comp-486.json +0 -23
  2354. package/public/r/comp-487.json +0 -26
  2355. package/public/r/comp-488.json +0 -27
  2356. package/public/r/comp-489.json +0 -28
  2357. package/public/r/comp-49.json +0 -32
  2358. package/public/r/comp-490.json +0 -23
  2359. package/public/r/comp-491.json +0 -24
  2360. package/public/r/comp-492.json +0 -25
  2361. package/public/r/comp-493.json +0 -23
  2362. package/public/r/comp-494.json +0 -23
  2363. package/public/r/comp-495.json +0 -24
  2364. package/public/r/comp-496.json +0 -23
  2365. package/public/r/comp-497.json +0 -24
  2366. package/public/r/comp-498.json +0 -24
  2367. package/public/r/comp-499.json +0 -24
  2368. package/public/r/comp-50.json +0 -32
  2369. package/public/r/comp-500.json +0 -25
  2370. package/public/r/comp-501.json +0 -25
  2371. package/public/r/comp-502.json +0 -26
  2372. package/public/r/comp-503.json +0 -27
  2373. package/public/r/comp-504.json +0 -28
  2374. package/public/r/comp-505.json +0 -28
  2375. package/public/r/comp-506.json +0 -26
  2376. package/public/r/comp-507.json +0 -27
  2377. package/public/r/comp-508.json +0 -25
  2378. package/public/r/comp-509.json +0 -25
  2379. package/public/r/comp-51.json +0 -23
  2380. package/public/r/comp-510.json +0 -24
  2381. package/public/r/comp-511.json +0 -27
  2382. package/public/r/comp-512.json +0 -27
  2383. package/public/r/comp-513.json +0 -21
  2384. package/public/r/comp-514.json +0 -21
  2385. package/public/r/comp-515.json +0 -21
  2386. package/public/r/comp-516.json +0 -22
  2387. package/public/r/comp-517.json +0 -22
  2388. package/public/r/comp-518.json +0 -21
  2389. package/public/r/comp-519.json +0 -21
  2390. package/public/r/comp-52.json +0 -23
  2391. package/public/r/comp-520.json +0 -22
  2392. package/public/r/comp-521.json +0 -22
  2393. package/public/r/comp-522.json +0 -21
  2394. package/public/r/comp-523.json +0 -21
  2395. package/public/r/comp-524.json +0 -21
  2396. package/public/r/comp-525.json +0 -21
  2397. package/public/r/comp-526.json +0 -22
  2398. package/public/r/comp-527.json +0 -23
  2399. package/public/r/comp-528.json +0 -22
  2400. package/public/r/comp-529.json +0 -22
  2401. package/public/r/comp-53.json +0 -24
  2402. package/public/r/comp-530.json +0 -22
  2403. package/public/r/comp-531.json +0 -22
  2404. package/public/r/comp-532.json +0 -22
  2405. package/public/r/comp-533.json +0 -22
  2406. package/public/r/comp-534.json +0 -22
  2407. package/public/r/comp-535.json +0 -22
  2408. package/public/r/comp-536.json +0 -22
  2409. package/public/r/comp-537.json +0 -22
  2410. package/public/r/comp-538.json +0 -22
  2411. package/public/r/comp-539.json +0 -22
  2412. package/public/r/comp-54.json +0 -26
  2413. package/public/r/comp-540.json +0 -21
  2414. package/public/r/comp-541.json +0 -21
  2415. package/public/r/comp-542.json +0 -124
  2416. package/public/r/comp-543.json +0 -29
  2417. package/public/r/comp-544.json +0 -26
  2418. package/public/r/comp-545.json +0 -29
  2419. package/public/r/comp-546.json +0 -29
  2420. package/public/r/comp-547.json +0 -29
  2421. package/public/r/comp-548.json +0 -29
  2422. package/public/r/comp-549.json +0 -29
  2423. package/public/r/comp-55.json +0 -27
  2424. package/public/r/comp-550.json +0 -29
  2425. package/public/r/comp-551.json +0 -30
  2426. package/public/r/comp-552.json +0 -29
  2427. package/public/r/comp-553.json +0 -29
  2428. package/public/r/comp-554.json +0 -36
  2429. package/public/r/comp-555.json +0 -23
  2430. package/public/r/comp-556.json +0 -23
  2431. package/public/r/comp-557.json +0 -23
  2432. package/public/r/comp-558.json +0 -23
  2433. package/public/r/comp-559.json +0 -23
  2434. package/public/r/comp-56.json +0 -26
  2435. package/public/r/comp-560.json +0 -23
  2436. package/public/r/comp-561.json +0 -25
  2437. package/public/r/comp-562.json +0 -23
  2438. package/public/r/comp-563.json +0 -23
  2439. package/public/r/comp-564.json +0 -24
  2440. package/public/r/comp-565.json +0 -20
  2441. package/public/r/comp-566.json +0 -20
  2442. package/public/r/comp-567.json +0 -20
  2443. package/public/r/comp-568.json +0 -20
  2444. package/public/r/comp-569.json +0 -20
  2445. package/public/r/comp-57.json +0 -26
  2446. package/public/r/comp-570.json +0 -20
  2447. package/public/r/comp-571.json +0 -23
  2448. package/public/r/comp-572.json +0 -23
  2449. package/public/r/comp-573.json +0 -20
  2450. package/public/r/comp-574.json +0 -22
  2451. package/public/r/comp-575.json +0 -20
  2452. package/public/r/comp-576.json +0 -21
  2453. package/public/r/comp-577.json +0 -23
  2454. package/public/r/comp-578.json +0 -28
  2455. package/public/r/comp-579.json +0 -28
  2456. package/public/r/comp-58.json +0 -25
  2457. package/public/r/comp-580.json +0 -29
  2458. package/public/r/comp-581.json +0 -45
  2459. package/public/r/comp-582.json +0 -42
  2460. package/public/r/comp-583.json +0 -41
  2461. package/public/r/comp-584.json +0 -41
  2462. package/public/r/comp-585.json +0 -41
  2463. package/public/r/comp-586.json +0 -34
  2464. package/public/r/comp-587.json +0 -29
  2465. package/public/r/comp-588.json +0 -33
  2466. package/public/r/comp-589.json +0 -37
  2467. package/public/r/comp-59.json +0 -22
  2468. package/public/r/comp-590.json +0 -40
  2469. package/public/r/comp-591.json +0 -29
  2470. package/public/r/comp-592.json +0 -41
  2471. package/public/r/comp-593.json +0 -36
  2472. package/public/r/comp-594.json +0 -33
  2473. package/public/r/comp-595.json +0 -22
  2474. package/public/r/comp-596.json +0 -26
  2475. package/public/r/comp-597.json +0 -22
  2476. package/public/r/comp-598.json +0 -22
  2477. package/public/r/comp-599.json +0 -22
  2478. package/public/r/comp-60.json +0 -23
  2479. package/public/r/comp-600.json +0 -17
  2480. package/public/r/comp-601.json +0 -20
  2481. package/public/r/comp-602.json +0 -17
  2482. package/public/r/comp-603.json +0 -20
  2483. package/public/r/comp-604.json +0 -17
  2484. package/public/r/comp-605.json +0 -17
  2485. package/public/r/comp-606.json +0 -20
  2486. package/public/r/comp-607.json +0 -20
  2487. package/public/r/comp-608.json +0 -20
  2488. package/public/r/comp-609.json +0 -20
  2489. package/public/r/comp-61.json +0 -23
  2490. package/public/r/comp-610.json +0 -23
  2491. package/public/r/comp-611.json +0 -23
  2492. package/public/r/comp-612.json +0 -17
  2493. package/public/r/comp-613.json +0 -20
  2494. package/public/r/comp-614.json +0 -17
  2495. package/public/r/comp-615.json +0 -26
  2496. package/public/r/comp-616.json +0 -26
  2497. package/public/r/comp-617.json +0 -26
  2498. package/public/r/comp-62.json +0 -23
  2499. package/public/r/comp-63.json +0 -22
  2500. package/public/r/comp-64.json +0 -23
  2501. package/public/r/comp-65.json +0 -22
  2502. package/public/r/comp-66.json +0 -22
  2503. package/public/r/comp-67.json +0 -23
  2504. package/public/r/comp-68.json +0 -24
  2505. package/public/r/comp-69.json +0 -24
  2506. package/public/r/comp-70.json +0 -24
  2507. package/public/r/comp-71.json +0 -22
  2508. package/public/r/comp-72.json +0 -21
  2509. package/public/r/comp-73.json +0 -18
  2510. package/public/r/comp-74.json +0 -27
  2511. package/public/r/comp-75.json +0 -22
  2512. package/public/r/comp-76.json +0 -23
  2513. package/public/r/comp-77.json +0 -22
  2514. package/public/r/comp-78.json +0 -21
  2515. package/public/r/comp-79.json +0 -22
  2516. package/public/r/comp-80.json +0 -21
  2517. package/public/r/comp-81.json +0 -21
  2518. package/public/r/comp-82.json +0 -22
  2519. package/public/r/comp-83.json +0 -21
  2520. package/public/r/comp-84.json +0 -21
  2521. package/public/r/comp-85.json +0 -22
  2522. package/public/r/comp-86.json +0 -22
  2523. package/public/r/comp-87.json +0 -21
  2524. package/public/r/comp-88.json +0 -22
  2525. package/public/r/comp-89.json +0 -21
  2526. package/public/r/comp-90.json +0 -22
  2527. package/public/r/comp-91.json +0 -22
  2528. package/public/r/comp-92.json +0 -22
  2529. package/public/r/comp-93.json +0 -22
  2530. package/public/r/comp-94.json +0 -24
  2531. package/public/r/comp-95.json +0 -26
  2532. package/public/r/comp-96.json +0 -21
  2533. package/public/r/comp-97.json +0 -21
  2534. package/public/r/comp-98.json +0 -22
  2535. package/public/r/comp-99.json +0 -23
  2536. package/public/r/comparison-event-handlers.json +0 -22
  2537. package/public/r/comparison-hover.json +0 -22
  2538. package/public/r/comparison.json +0 -21
  2539. package/public/r/context-menu.json +0 -16
  2540. package/public/r/contribution-graph-custom-blocks.json +0 -23
  2541. package/public/r/contribution-graph-custom-footer.json +0 -23
  2542. package/public/r/contribution-graph-custom-theme.json +0 -23
  2543. package/public/r/contribution-graph-minimal.json +0 -22
  2544. package/public/r/contribution-graph-size.json +0 -23
  2545. package/public/r/contribution-graph-tooltip.json +0 -23
  2546. package/public/r/contribution-graph.json +0 -22
  2547. package/public/r/credit-card-apple.json +0 -20
  2548. package/public/r/credit-card-back.json +0 -20
  2549. package/public/r/credit-card.json +0 -20
  2550. package/public/r/cropper.json +0 -15
  2551. package/public/r/cursor-color.json +0 -20
  2552. package/public/r/cursor-message.json +0 -20
  2553. package/public/r/cursor-name-message.json +0 -21
  2554. package/public/r/cursor-name.json +0 -20
  2555. package/public/r/cursor-only.json +0 -19
  2556. package/public/r/cursor.json +0 -20
  2557. package/public/r/dashboard-1.json +0 -263
  2558. package/public/r/dashboard-2.json +0 -264
  2559. package/public/r/dashboard-3.json +0 -225
  2560. package/public/r/datefield-rac.json +0 -15
  2561. package/public/r/deck-controlled.json +0 -22
  2562. package/public/r/deck-product-cards.json +0 -22
  2563. package/public/r/deck.json +0 -20
  2564. package/public/r/dialog-close-confirmation.json +0 -29
  2565. package/public/r/dialog-demo.json +0 -25
  2566. package/public/r/dialog-from-menu.json +0 -23
  2567. package/public/r/dialog-nested.json +0 -23
  2568. package/public/r/dialog-stack-controlled.json +0 -22
  2569. package/public/r/dialog-stack-navigation.json +0 -22
  2570. package/public/r/dialog-stack-six.json +0 -22
  2571. package/public/r/dialog-stack.json +0 -22
  2572. package/public/r/dialog.json +0 -15
  2573. package/public/r/dropdown-menu.json +0 -15
  2574. package/public/r/dropzone-accept.json +0 -20
  2575. package/public/r/dropzone-custom-empty-state.json +0 -21
  2576. package/public/r/dropzone-image-preview.json +0 -21
  2577. package/public/r/dropzone-min-max.json +0 -20
  2578. package/public/r/dropzone-multiple.json +0 -21
  2579. package/public/r/dropzone.json +0 -21
  2580. package/public/r/editor.json +0 -21
  2581. package/public/r/emails.json +0 -243
  2582. package/public/r/empty-demo.json +0 -20
  2583. package/public/r/empty.json +0 -12
  2584. package/public/r/ether.json +0 -15
  2585. package/public/r/example-app-calendar.json +0 -323
  2586. package/public/r/field-2.json +0 -19
  2587. package/public/r/field-autocomplete.json +0 -23
  2588. package/public/r/field-checkbox-group.json +0 -26
  2589. package/public/r/field-checkbox.json +0 -22
  2590. package/public/r/field-combobox-multiple.json +0 -24
  2591. package/public/r/field-combobox.json +0 -23
  2592. package/public/r/field-complete-form.json +0 -30
  2593. package/public/r/field-demo.json +0 -22
  2594. package/public/r/field-disabled.json +0 -23
  2595. package/public/r/field-error.json +0 -21
  2596. package/public/r/field-number-field.json +0 -25
  2597. package/public/r/field-radio.json +0 -26
  2598. package/public/r/field-required.json +0 -21
  2599. package/public/r/field-select.json +0 -24
  2600. package/public/r/field-slider.json +0 -24
  2601. package/public/r/field-switch.json +0 -22
  2602. package/public/r/field-textarea.json +0 -24
  2603. package/public/r/field-validity.json +0 -19
  2604. package/public/r/field.json +0 -23
  2605. package/public/r/fieldset-demo.json +0 -24
  2606. package/public/r/fieldset.json +0 -15
  2607. package/public/r/files.json +0 -195
  2608. package/public/r/form-demo.json +0 -24
  2609. package/public/r/form-zod.json +0 -29
  2610. package/public/r/form.json +0 -20
  2611. package/public/r/frame-demo.json +0 -19
  2612. package/public/r/frame.json +0 -12
  2613. package/public/r/gantt-lanes.json +0 -23
  2614. package/public/r/gantt-no-sidebar.json +0 -22
  2615. package/public/r/gantt-read-only.json +0 -22
  2616. package/public/r/gantt.json +0 -22
  2617. package/public/r/glimpse-custom.json +0 -21
  2618. package/public/r/glimpse.json +0 -20
  2619. package/public/r/gooey-toast-demo.json +0 -23
  2620. package/public/r/gooey-toast-position.json +0 -20
  2621. package/public/r/gooey-toast-promise.json +0 -20
  2622. package/public/r/gooey-toast-states.json +0 -20
  2623. package/public/r/gooey-toast-with-button.json +0 -20
  2624. package/public/r/gradient-blinds.json +0 -15
  2625. package/public/r/group-demo.json +0 -20
  2626. package/public/r/group-with-input.json +0 -21
  2627. package/public/r/group.json +0 -18
  2628. package/public/r/hero.json +0 -24
  2629. package/public/r/hover-card.json +0 -15
  2630. package/public/r/image-crop-circular.json +0 -23
  2631. package/public/r/image-crop-custom.json +0 -24
  2632. package/public/r/image-crop.json +0 -23
  2633. package/public/r/image-zoom-background.json +0 -22
  2634. package/public/r/image-zoom-margin.json +0 -21
  2635. package/public/r/image-zoom.json +0 -21
  2636. package/public/r/input-demo.json +0 -19
  2637. package/public/r/input-disabled.json +0 -20
  2638. package/public/r/input-file.json +0 -20
  2639. package/public/r/input-group.json +0 -20
  2640. package/public/r/input-lg.json +0 -19
  2641. package/public/r/input-sm.json +0 -19
  2642. package/public/r/input-with-button.json +0 -21
  2643. package/public/r/input-with-label.json +0 -21
  2644. package/public/r/input.json +0 -15
  2645. package/public/r/kanban-simple.json +0 -21
  2646. package/public/r/kanban.json +0 -21
  2647. package/public/r/kbd.json +0 -12
  2648. package/public/r/label.json +0 -15
  2649. package/public/r/leads.json +0 -271
  2650. package/public/r/list-simple.json +0 -21
  2651. package/public/r/list.json +0 -21
  2652. package/public/r/maps.json +0 -188
  2653. package/public/r/marquee-no-fade.json +0 -20
  2654. package/public/r/marquee-raw.json +0 -21
  2655. package/public/r/marquee-spacing.json +0 -21
  2656. package/public/r/marquee.json +0 -20
  2657. package/public/r/menu-checkbox.json +0 -21
  2658. package/public/r/menu-close-on-click.json +0 -20
  2659. package/public/r/menu-demo.json +0 -20
  2660. package/public/r/menu-group-labels.json +0 -21
  2661. package/public/r/menu-hover.json +0 -20
  2662. package/public/r/menu-link.json +0 -21
  2663. package/public/r/menu-nested.json +0 -20
  2664. package/public/r/menu-radio-group.json +0 -21
  2665. package/public/r/menu.json +0 -23
  2666. package/public/r/meter-demo.json +0 -19
  2667. package/public/r/meter-simple.json +0 -19
  2668. package/public/r/meter-with-formatted-value.json +0 -19
  2669. package/public/r/meter-with-range.json +0 -19
  2670. package/public/r/meter.json +0 -15
  2671. package/public/r/mini-calendar-controlled.json +0 -21
  2672. package/public/r/mini-calendar-custom.json +0 -21
  2673. package/public/r/mini-calendar-days.json +0 -20
  2674. package/public/r/mini-calendar.json +0 -20
  2675. package/public/r/multiselect.json +0 -15
  2676. package/public/r/navigation-menu.json +0 -12
  2677. package/public/r/number-field-demo.json +0 -19
  2678. package/public/r/number-field-disabled.json +0 -21
  2679. package/public/r/number-field-form.json +0 -25
  2680. package/public/r/number-field-lg.json +0 -19
  2681. package/public/r/number-field-sm.json +0 -19
  2682. package/public/r/number-field-with-formatted-value.json +0 -19
  2683. package/public/r/number-field-with-label.json +0 -24
  2684. package/public/r/number-field-with-range.json +0 -20
  2685. package/public/r/number-field-with-scrub.json +0 -19
  2686. package/public/r/number-field-with-step.json +0 -19
  2687. package/public/r/number-field.json +0 -15
  2688. package/public/r/pagination-demo.json +0 -19
  2689. package/public/r/pagination.json +0 -18
  2690. package/public/r/particle-bu-1.json +0 -22
  2691. package/public/r/particle-bu-2.json +0 -22
  2692. package/public/r/particle-bu-3.json +0 -22
  2693. package/public/r/particle-bu-4.json +0 -22
  2694. package/public/r/particle-bu-5.json +0 -22
  2695. package/public/r/particle-bu-6.json +0 -22
  2696. package/public/r/particle-bu-7.json +0 -22
  2697. package/public/r/particle-fr-1.json +0 -25
  2698. package/public/r/particle-pa-1.json +0 -19
  2699. package/public/r/particle-pa-2.json +0 -21
  2700. package/public/r/pill-avatar-group.json +0 -21
  2701. package/public/r/pill-avatar.json +0 -21
  2702. package/public/r/pill-button.json +0 -20
  2703. package/public/r/pill-delta.json +0 -21
  2704. package/public/r/pill-icon.json +0 -21
  2705. package/public/r/pill-indicator.json +0 -20
  2706. package/public/r/pill-status.json +0 -21
  2707. package/public/r/pill.json +0 -20
  2708. package/public/r/popover-demo.json +0 -27
  2709. package/public/r/popover-with-close.json +0 -21
  2710. package/public/r/popover.json +0 -15
  2711. package/public/r/preview-card-demo.json +0 -21
  2712. package/public/r/preview-card.json +0 -15
  2713. package/public/r/pricing.json +0 -24
  2714. package/public/r/progress-demo.json +0 -19
  2715. package/public/r/progress-with-formatted-value.json +0 -19
  2716. package/public/r/progress-with-label-value.json +0 -20
  2717. package/public/r/progress.json +0 -15
  2718. package/public/r/qr-code-robust.json +0 -21
  2719. package/public/r/qr-code-server.json +0 -21
  2720. package/public/r/qr-code-styling.json +0 -21
  2721. package/public/r/qr-code.json +0 -20
  2722. package/public/r/radio-group-card.json +0 -21
  2723. package/public/r/radio-group-demo.json +0 -21
  2724. package/public/r/radio-group-disabled.json +0 -21
  2725. package/public/r/radio-group-form.json +0 -27
  2726. package/public/r/radio-group-with-description.json +0 -23
  2727. package/public/r/radio-group.json +0 -15
  2728. package/public/r/rating-colors.json +0 -21
  2729. package/public/r/rating-controlled.json +0 -21
  2730. package/public/r/rating-icon.json +0 -21
  2731. package/public/r/rating-size.json +0 -20
  2732. package/public/r/rating.json +0 -20
  2733. package/public/r/reel-custom.json +0 -22
  2734. package/public/r/reel-images.json +0 -21
  2735. package/public/r/reel-minimal.json +0 -20
  2736. package/public/r/reel.json +0 -21
  2737. package/public/r/registry.json +0 -26204
  2738. package/public/r/relative-time-controlled.json +0 -21
  2739. package/public/r/relative-time-format-date.json +0 -20
  2740. package/public/r/relative-time-format-time.json +0 -20
  2741. package/public/r/relative-time.json +0 -20
  2742. package/public/r/rentals.json +0 -187
  2743. package/public/r/roadmap.json +0 -28
  2744. package/public/r/sandbox-no-file-explorer.json +0 -21
  2745. package/public/r/sandbox.json +0 -21
  2746. package/public/r/scroll-area-both.json +0 -19
  2747. package/public/r/scroll-area-demo.json +0 -19
  2748. package/public/r/scroll-area-horizontal.json +0 -19
  2749. package/public/r/scroll-area.json +0 -15
  2750. package/public/r/select-demo.json +0 -19
  2751. package/public/r/select-disabled.json +0 -20
  2752. package/public/r/select-form.json +0 -26
  2753. package/public/r/select-lg.json +0 -19
  2754. package/public/r/select-multiple.json +0 -19
  2755. package/public/r/select-native.json +0 -12
  2756. package/public/r/select-sm.json +0 -19
  2757. package/public/r/select-with-groups.json +0 -19
  2758. package/public/r/select-without-alignment.json +0 -19
  2759. package/public/r/select.json +0 -15
  2760. package/public/r/separator-demo.json +0 -19
  2761. package/public/r/separator.json +0 -15
  2762. package/public/r/sheet-demo.json +0 -23
  2763. package/public/r/sheet-position.json +0 -20
  2764. package/public/r/sheet.json +0 -18
  2765. package/public/r/sidebar-nav.json +0 -22
  2766. package/public/r/silk.json +0 -16
  2767. package/public/r/skeleton-demo.json +0 -21
  2768. package/public/r/skeleton-only.json +0 -19
  2769. package/public/r/skeleton.json +0 -24
  2770. package/public/r/slider-demo.json +0 -19
  2771. package/public/r/slider-form.json +0 -27
  2772. package/public/r/slider-range.json +0 -20
  2773. package/public/r/slider-vertical.json +0 -20
  2774. package/public/r/slider-with-label-value.json +0 -21
  2775. package/public/r/slider.json +0 -15
  2776. package/public/r/snippet-npm.json +0 -22
  2777. package/public/r/snippet.json +0 -21
  2778. package/public/r/sonner.json +0 -16
  2779. package/public/r/spinner-customization.json +0 -21
  2780. package/public/r/spinner-variants.json +0 -21
  2781. package/public/r/spinner.json +0 -20
  2782. package/public/r/stats-card.json +0 -22
  2783. package/public/r/status-custom.json +0 -21
  2784. package/public/r/status.json +0 -20
  2785. package/public/r/stepper.json +0 -15
  2786. package/public/r/stories-avatars.json +0 -21
  2787. package/public/r/stories-images.json +0 -21
  2788. package/public/r/stories.json +0 -21
  2789. package/public/r/switch-card.json +0 -22
  2790. package/public/r/switch-demo.json +0 -21
  2791. package/public/r/switch-disabled.json +0 -22
  2792. package/public/r/switch-form.json +0 -25
  2793. package/public/r/switch-with-description.json +0 -23
  2794. package/public/r/switch.json +0 -15
  2795. package/public/r/table-demo.json +0 -21
  2796. package/public/r/table-framed.json +0 -23
  2797. package/public/r/table-simple.json +0 -21
  2798. package/public/r/table.json +0 -21
  2799. package/public/r/tabs-demo.json +0 -19
  2800. package/public/r/tabs-underline-vertical.json +0 -20
  2801. package/public/r/tabs-underline.json +0 -19
  2802. package/public/r/tabs-vertical.json +0 -20
  2803. package/public/r/tabs.json +0 -15
  2804. package/public/r/tags-create.json +0 -21
  2805. package/public/r/tags-filter.json +0 -21
  2806. package/public/r/tags.json +0 -20
  2807. package/public/r/template-auth-eight.json +0 -28
  2808. package/public/r/template-auth-five.json +0 -28
  2809. package/public/r/template-auth-four.json +0 -29
  2810. package/public/r/template-auth-nine.json +0 -28
  2811. package/public/r/template-auth-one.json +0 -49
  2812. package/public/r/template-auth-seven.json +0 -29
  2813. package/public/r/template-auth-six.json +0 -28
  2814. package/public/r/template-auth-three.json +0 -49
  2815. package/public/r/template-auth-two.json +0 -44
  2816. package/public/r/template-hero-eight.json +0 -83
  2817. package/public/r/template-hero-eleven.json +0 -29
  2818. package/public/r/template-hero-five.json +0 -35
  2819. package/public/r/template-hero-four.json +0 -35
  2820. package/public/r/template-hero-fourteen.json +0 -101
  2821. package/public/r/template-hero-nine.json +0 -74
  2822. package/public/r/template-hero-one.json +0 -90
  2823. package/public/r/template-hero-seven.json +0 -83
  2824. package/public/r/template-hero-six.json +0 -83
  2825. package/public/r/template-hero-ten.json +0 -77
  2826. package/public/r/template-hero-thirteen.json +0 -101
  2827. package/public/r/template-hero-three.json +0 -35
  2828. package/public/r/template-hero-twelve.json +0 -30
  2829. package/public/r/template-hero-two.json +0 -96
  2830. package/public/r/template-logo-cloud-five.json +0 -68
  2831. package/public/r/template-logo-cloud-four.json +0 -71
  2832. package/public/r/template-logo-cloud-one.json +0 -89
  2833. package/public/r/template-logo-cloud-three.json +0 -71
  2834. package/public/r/template-logo-cloud-two.json +0 -74
  2835. package/public/r/textarea-demo.json +0 -19
  2836. package/public/r/textarea-disabled.json +0 -20
  2837. package/public/r/textarea-form.json +0 -25
  2838. package/public/r/textarea-lg.json +0 -19
  2839. package/public/r/textarea-sm.json +0 -19
  2840. package/public/r/textarea-with-label.json +0 -22
  2841. package/public/r/textarea.json +0 -15
  2842. package/public/r/theme-switcher-uncontrolled.json +0 -21
  2843. package/public/r/theme-switcher.json +0 -21
  2844. package/public/r/ticker-currency.json +0 -20
  2845. package/public/r/ticker-inline.json +0 -20
  2846. package/public/r/ticker-percent.json +0 -20
  2847. package/public/r/ticker.json +0 -20
  2848. package/public/r/timeline.json +0 -15
  2849. package/public/r/toast-demo.json +0 -20
  2850. package/public/r/toast-heights.json +0 -19
  2851. package/public/r/toast-loading.json +0 -21
  2852. package/public/r/toast-promise.json +0 -20
  2853. package/public/r/toast-with-action.json +0 -20
  2854. package/public/r/toast-with-status.json +0 -20
  2855. package/public/r/toast.json +0 -18
  2856. package/public/r/toggle-demo.json +0 -19
  2857. package/public/r/toggle-disabled.json +0 -20
  2858. package/public/r/toggle-group-demo.json +0 -20
  2859. package/public/r/toggle-group-disabled.json +0 -21
  2860. package/public/r/toggle-group-lg.json +0 -20
  2861. package/public/r/toggle-group-multiple.json +0 -20
  2862. package/public/r/toggle-group-outline-with-separator.json +0 -20
  2863. package/public/r/toggle-group-outline.json +0 -20
  2864. package/public/r/toggle-group-sm.json +0 -20
  2865. package/public/r/toggle-group-with-disabled-item.json +0 -21
  2866. package/public/r/toggle-group.json +0 -19
  2867. package/public/r/toggle-icon-group.json +0 -19
  2868. package/public/r/toggle-lg.json +0 -19
  2869. package/public/r/toggle-outline.json +0 -19
  2870. package/public/r/toggle-sm.json +0 -19
  2871. package/public/r/toggle-with-icon.json +0 -19
  2872. package/public/r/toggle.json +0 -15
  2873. package/public/r/toolbar-demo.json +0 -27
  2874. package/public/r/toolbar.json +0 -15
  2875. package/public/r/tooltip-demo.json +0 -21
  2876. package/public/r/tooltip-grouped.json +0 -22
  2877. package/public/r/tooltip.json +0 -15
  2878. package/public/r/tree-controlled.json +0 -21
  2879. package/public/r/tree-custom-icons.json +0 -21
  2880. package/public/r/tree-no-lines.json +0 -20
  2881. package/public/r/tree-simple.json +0 -20
  2882. package/public/r/tree.json +0 -20
  2883. package/public/r/typography.json +0 -21
  2884. package/public/r/ui.json +0 -57
  2885. package/public/r/use-character-limit.json +0 -12
  2886. package/public/r/use-file-upload.json +0 -12
  2887. package/public/r/use-pagination.json +0 -12
  2888. package/public/r/use-slider-with-input.json +0 -12
  2889. package/public/r/use-toast.json +0 -12
  2890. package/public/r/utils.json +0 -16
  2891. package/public/r/video-player.json +0 -21
  2892. package/tsup.config.ts +0 -11
@@ -1,264 +0,0 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
- "name": "dashboard-2",
4
- "type": "registry:block",
5
- "title": "Business Dashboard",
6
- "description": "A business-focused dashboard application with metrics, charts, and data management features",
7
- "files": [
8
- {
9
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/content.tsx",
10
- "type": "registry:component",
11
- "target": "components/example-apps/dashboard-2/components/dashboard/content.tsx",
12
- "content": "\"use client\"\n\nimport { WelcomeSection } from \"./header\"\nimport { LeadsChart } from \"./leads-chart\"\nimport { LeadsTable } from \"./leads-table\"\nimport { StatsCards } from \"./stats-cards\"\nimport { TopPerformers } from \"./top-performers\"\n\nexport function DashboardContent() {\n return (\n <main className=\"w-full flex-1 space-y-6 overflow-auto bg-background p-4 sm:p-6\">\n <WelcomeSection />\n <StatsCards />\n <div className=\"flex flex-col gap-4 sm:gap-6 lg:flex-row\">\n <LeadsChart />\n <TopPerformers />\n </div>\n <LeadsTable />\n </main>\n )\n}\n"
13
- },
14
- {
15
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/header.tsx",
16
- "type": "registry:component",
17
- "target": "components/example-apps/dashboard-2/components/dashboard/header.tsx",
18
- "content": "\"use client\"\n\nimport {\n Add01Icon,\n DashboardSquare01Icon,\n FileAddIcon,\n Link01Icon,\n Mail01Icon,\n Share01Icon,\n SparklesIcon,\n UserAdd01Icon,\n UserGroupIcon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@loveui/ui/ui/avatar\"\nimport { Button } from \"@loveui/ui/ui/button\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@loveui/ui/ui/menu\"\n\nimport { ThemeToggle } from \"../theme-toggle\"\nimport { SidebarTrigger } from \"../ui/sidebar\"\n\nexport function DashboardHeader() {\n return (\n <header className=\"sticky top-0 z-10 flex w-full items-center justify-between gap-4 border-b bg-card px-4 py-3 sm:px-6\">\n <div className=\"flex items-center gap-3\">\n <SidebarTrigger className=\"-ml-2\" />\n <div className=\"hidden items-center gap-2 text-muted-foreground sm:flex\">\n <HugeiconsIcon icon={DashboardSquare01Icon} className=\"size-4\" />\n <span className=\"text-sm font-medium\">Realty Pipeline</span>\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <div className=\"hidden items-center lg:flex\">\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <button className=\"mr-3 flex cursor-pointer -space-x-2 transition-opacity hover:opacity-80\">\n <Avatar className=\"size-6 border-2 border-card\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user1\" />\n <AvatarFallback>U1</AvatarFallback>\n </Avatar>\n <Avatar className=\"size-6 border-2 border-card\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user2\" />\n <AvatarFallback>U2</AvatarFallback>\n </Avatar>\n <Avatar className=\"size-6 border-2 border-card\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user3\" />\n <AvatarFallback>U3</AvatarFallback>\n </Avatar>\n <div className=\"flex size-6 items-center justify-center rounded-full border-2 border-card bg-muted\">\n <HugeiconsIcon icon={Add01Icon} className=\"size-3\" />\n </div>\n </button>\n }\n />\n <DropdownMenuContent align=\"end\" className=\"w-52\">\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"text-xs font-medium text-muted-foreground\">\n Team Members\n </p>\n </div>\n <DropdownMenuItem>\n <Avatar className=\"mr-2 size-5\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user1\" />\n <AvatarFallback>U1</AvatarFallback>\n </Avatar>\n <span>Maya R.</span>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Avatar className=\"mr-2 size-5\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user2\" />\n <AvatarFallback>U2</AvatarFallback>\n </Avatar>\n <span>Jordan F.</span>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Avatar className=\"mr-2 size-5\">\n <AvatarImage src=\"https://api.dicebear.com/9.x/glass/svg?seed=user3\" />\n <AvatarFallback>U3</AvatarFallback>\n </Avatar>\n <span>Evan K.</span>\n </DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <DropdownMenuItem>\n <HugeiconsIcon icon={Mail01Icon} className=\"mr-2 size-4\" />\n <span>Invite by email</span>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <HugeiconsIcon icon={Link01Icon} className=\"mr-2 size-4\" />\n <span>Copy invite link</span>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <HugeiconsIcon icon={UserGroupIcon} className=\"mr-2 size-4\" />\n <span>Manage team</span>\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n <div className=\"mx-2 h-5 w-px bg-border\" />\n </div>\n\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"hidden h-7 gap-1.5 sm:flex\"\n >\n <HugeiconsIcon icon={SparklesIcon} className=\"size-3.5\" />\n <span className=\"text-sm\">Ask AI</span>\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem>Summarize pipeline risks</DropdownMenuItem>\n <DropdownMenuItem>Flag tour-ready buyers</DropdownMenuItem>\n <DropdownMenuItem>Draft open-house follow-up</DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"hidden h-7 gap-1.5 sm:flex\"\n >\n <HugeiconsIcon icon={Share01Icon} className=\"size-3.5\" />\n <span className=\"text-sm\">Share</span>\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem>Copy listing board link</DropdownMenuItem>\n <DropdownMenuItem>Export weekly market snapshot</DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem>Share with brokerage team</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <ThemeToggle />\n </div>\n </header>\n )\n}\n\nexport function WelcomeSection() {\n return (\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <div>\n <h1 className=\"text-xl font-semibold tracking-tight sm:text-2xl\">\n Good to see you, Connor\n </h1>\n <p className=\"mt-0.5 text-sm text-muted-foreground\">\n Buyer activity is up ahead of this weekend&apos;s showings\n </p>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <Button\n variant=\"outline\"\n className=\"h-9 gap-1.5 border-border/50 bg-card hover:bg-card/80\"\n >\n <HugeiconsIcon icon={FileAddIcon} className=\"size-4\" />\n <span className=\"hidden sm:inline\">Add Listing</span>\n </Button>\n <Button className=\"h-9 gap-1.5 border border-border/50 bg-neutral-800 text-white hover:bg-neutral-700\">\n <HugeiconsIcon icon={UserAdd01Icon} className=\"size-4\" />\n <span className=\"hidden sm:inline\">New Buyer</span>\n </Button>\n </div>\n </div>\n )\n}\n"
19
- },
20
- {
21
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/leads-chart.tsx",
22
- "type": "registry:component",
23
- "target": "components/example-apps/dashboard-2/components/dashboard/leads-chart.tsx",
24
- "content": "\"use client\"\n\nimport { useMemo, useState } from \"react\"\nimport {\n ArrowDown01Icon,\n Calendar01Icon,\n Settings01Icon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\nimport { useTheme } from \"next-themes\"\nimport {\n Area,\n AreaChart,\n CartesianGrid,\n Line,\n LineChart as RechartsLineChart,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\"\n\nimport { Button } from \"@loveui/ui/ui/button\"\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"@loveui/ui/ui/menu\"\n\nimport {\n leadsChartDataMonth,\n leadsChartDataQuarter,\n leadsChartDataWeek,\n} from \"../../mock-data/dashboard\"\n\ntype ChartType = \"line\" | \"area\"\ntype Period = \"last_week\" | \"last_month\" | \"last_quarter\"\n\nconst periodLabels: Record<Period, string> = {\n last_week: \"Last Week\",\n last_month: \"Last Month\",\n last_quarter: \"Last Quarter\",\n}\n\nconst lineColors = {\n line1: \"#ec4899\",\n line2: \"#06b6d4\",\n line3: \"#f97316\",\n line4: \"#22c55e\",\n}\n\ninterface CustomTooltipProps {\n active?: boolean\n payload?: Array<{\n value: number\n dataKey: string\n color: string\n }>\n label?: string\n}\n\nfunction CustomTooltip({ active, payload, label }: CustomTooltipProps) {\n if (active && payload && payload.length) {\n return (\n <div className=\"rounded-md border bg-card p-3 shadow-lg\">\n <p className=\"mb-2 text-xs text-muted-foreground\">{label}</p>\n <div className=\"grid grid-cols-2 gap-x-4 gap-y-1\">\n {payload.map((entry, index) => (\n <div key={index} className=\"flex items-center gap-1.5\">\n <span\n className=\"size-2 rounded-full\"\n style={{ backgroundColor: entry.color }}\n />\n <span className=\"text-xs font-medium\">{entry.value}</span>\n </div>\n ))}\n </div>\n </div>\n )\n }\n return null\n}\n\nexport function LeadsChart() {\n const { theme } = useTheme()\n const [chartType, setChartType] = useState<ChartType>(\"line\")\n const [period, setPeriod] = useState<Period>(\"last_month\")\n const [showGrid, setShowGrid] = useState(true)\n const [visibleLines, setVisibleLines] = useState({\n line1: true,\n line2: true,\n line3: true,\n line4: true,\n })\n\n const axisColor = theme === \"dark\" ? \"#71717a\" : \"#868c98\"\n const gridColor = theme === \"dark\" ? \"#3f3f46\" : \"#e2e4e9\"\n\n const chartData = useMemo(() => {\n switch (period) {\n case \"last_week\":\n return leadsChartDataWeek\n case \"last_month\":\n return leadsChartDataMonth\n case \"last_quarter\":\n return leadsChartDataQuarter\n default:\n return leadsChartDataMonth\n }\n }, [period])\n\n const toggleLine = (line: keyof typeof visibleLines) => {\n setVisibleLines((prev) => ({\n ...prev,\n [line]: !prev[line],\n }))\n }\n\n const resetToDefault = () => {\n setChartType(\"line\")\n setPeriod(\"last_month\")\n setShowGrid(true)\n setVisibleLines({\n line1: true,\n line2: true,\n line3: true,\n line4: true,\n })\n }\n\n return (\n <div className=\"flex-1 rounded-lg border bg-card text-card-foreground\">\n <div className=\"flex flex-col gap-3 border-b border-border/50 p-4 sm:flex-row sm:items-center sm:justify-between\">\n <h3 className=\"text-sm font-medium sm:text-base\">\n Buyer Inquiry Trend\n </h3>\n <div className=\"flex items-center gap-2\">\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button variant=\"outline\" size=\"sm\" className=\"h-7 gap-1.5\">\n <HugeiconsIcon icon={Calendar01Icon} className=\"size-3.5\" />\n <span className=\"text-sm\">{periodLabels[period]}</span>\n <HugeiconsIcon icon={ArrowDown01Icon} className=\"size-3\" />\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n {(Object.keys(periodLabels) as Period[]).map((p) => (\n <DropdownMenuItem key={p} onClick={() => setPeriod(p)}>\n {periodLabels[p]} {period === p && \"✓\"}\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button variant=\"outline\" size=\"icon\" className=\"size-7\">\n <HugeiconsIcon icon={Settings01Icon} className=\"size-3.5\" />\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\" className=\"w-48\">\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>Chart Type</DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={() => setChartType(\"line\")}>\n Line Chart {chartType === \"line\" && \"✓\"}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setChartType(\"area\")}>\n Area Chart {chartType === \"area\" && \"✓\"}\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n <DropdownMenuSeparator />\n <DropdownMenuCheckboxItem\n checked={showGrid}\n onCheckedChange={setShowGrid}\n >\n Show Grid\n </DropdownMenuCheckboxItem>\n <DropdownMenuSeparator />\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>Show Lines</DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuGroup>\n {Object.entries(visibleLines).map(([key, value]) => (\n <DropdownMenuCheckboxItem\n key={key}\n checked={value}\n onCheckedChange={() =>\n toggleLine(key as keyof typeof visibleLines)\n }\n >\n <span\n className=\"mr-2 size-2 rounded-full\"\n style={{\n backgroundColor:\n lineColors[key as keyof typeof lineColors],\n }}\n />\n Series {key.replace(\"line\", \"\")}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={resetToDefault}>\n Reset to Default\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n <div className=\"p-4\">\n <div className=\"h-[200px] w-full sm:h-[250px]\">\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n {chartType === \"area\" ? (\n <AreaChart\n data={chartData}\n margin={{ top: 10, right: 10, left: -20, bottom: 0 }}\n >\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke={gridColor}\n vertical={false}\n />\n )}\n <XAxis\n dataKey=\"date\"\n axisLine={false}\n tickLine={false}\n tick={{ fontSize: 10, fill: axisColor }}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fontSize: 10, fill: axisColor }}\n domain={[0, 1000]}\n />\n <Tooltip content={<CustomTooltip />} />\n <defs>\n {Object.entries(lineColors).map(([key, color]) => (\n <linearGradient\n key={key}\n id={`gradient-${key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"0%\" stopColor={color} stopOpacity={0.3} />\n <stop offset=\"100%\" stopColor={color} stopOpacity={0} />\n </linearGradient>\n ))}\n </defs>\n {Object.entries(visibleLines).map(\n ([key, visible]) =>\n visible && (\n <Area\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={lineColors[key as keyof typeof lineColors]}\n strokeWidth={2}\n fill={`url(#gradient-${key})`}\n dot={false}\n />\n )\n )}\n </AreaChart>\n ) : (\n <RechartsLineChart\n data={chartData}\n margin={{ top: 10, right: 10, left: -20, bottom: 0 }}\n >\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke={gridColor}\n vertical={false}\n />\n )}\n <XAxis\n dataKey=\"date\"\n axisLine={false}\n tickLine={false}\n tick={{ fontSize: 10, fill: axisColor }}\n />\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{ fontSize: 10, fill: axisColor }}\n domain={[0, 1000]}\n />\n <Tooltip content={<CustomTooltip />} />\n {Object.entries(visibleLines).map(\n ([key, visible]) =>\n visible && (\n <Line\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={lineColors[key as keyof typeof lineColors]}\n strokeWidth={2}\n dot={false}\n activeDot={{ r: 4, strokeWidth: 0 }}\n />\n )\n )}\n </RechartsLineChart>\n )}\n </ResponsiveContainer>\n </div>\n </div>\n </div>\n )\n}\n"
25
- },
26
- {
27
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/leads-table.tsx",
28
- "type": "registry:component",
29
- "target": "components/example-apps/dashboard-2/components/dashboard/leads-table.tsx",
30
- "content": "\"use client\"\n\nimport { useMemo, useState } from \"react\"\nimport {\n Activity01Icon,\n ArrowDown01Icon,\n ArrowLeft01Icon,\n ArrowLeftDoubleIcon,\n ArrowRight01Icon,\n ArrowRightDoubleIcon,\n ArrowUp01Icon,\n ArrowUpDownIcon,\n CallIcon,\n Cancel01Icon,\n FireIcon,\n FlashIcon,\n Globe02Icon,\n HandPointingRight01Icon,\n Linkedin01Icon,\n Mail01Icon,\n PieChartIcon,\n Search01Icon,\n SlidersHorizontalIcon,\n SnowIcon,\n Target01Icon,\n Tick01Icon,\n Upload01Icon,\n UserIcon,\n UserMultiple02Icon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@loveui/ui/ui/avatar\"\nimport { Button } from \"@loveui/ui/ui/button\"\nimport { Checkbox } from \"@loveui/ui/ui/checkbox\"\nimport { Input } from \"@loveui/ui/ui/input\"\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@loveui/ui/ui/menu\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@loveui/ui/ui/select\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@loveui/ui/ui/table\"\n\nimport { cn } from \"../../lib/utils\"\nimport {\n leads,\n LeadSource,\n LeadStatus,\n LeadType,\n} from \"../../mock-data/dashboard\"\nimport { useDashboardStore } from \"../../store/dashboard-store\"\n\ntype SortField = \"name\" | \"email\" | \"followUp\" | \"status\" | \"score\"\ntype SortOrder = \"asc\" | \"desc\"\n\nfunction getSortIcon(\n sortField: SortField,\n sortOrder: SortOrder,\n field: SortField\n) {\n if (sortField !== field)\n return <HugeiconsIcon icon={ArrowUpDownIcon} className=\"size-3\" />\n return sortOrder === \"asc\" ? (\n <HugeiconsIcon icon={ArrowUp01Icon} className=\"size-3\" />\n ) : (\n <HugeiconsIcon icon={ArrowDown01Icon} className=\"size-3\" />\n )\n}\n\nfunction TypeBadge({ type }: { type: LeadType }) {\n if (type === \"cold\") {\n return (\n <div\n className=\"flex w-fit items-center gap-1 rounded-lg border border-cyan-500/40 px-2 py-1\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, rgba(6, 182, 212, 0.12) 0%, rgba(6, 182, 212, 0.06) 30%, rgba(6, 182, 212, 0) 100%), linear-gradient(90deg, hsl(var(--card)) 0%, hsl(var(--card)) 100%)\",\n }}\n >\n <HugeiconsIcon icon={SnowIcon} className=\"size-3.5 text-cyan-400\" />\n <span className=\"text-sm font-medium text-cyan-400\">Cold</span>\n </div>\n )\n }\n\n return (\n <div\n className=\"flex w-fit items-center gap-1 rounded-lg border border-pink-500/40 px-2 py-1\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, rgba(236, 72, 153, 0.12) 0%, rgba(236, 72, 153, 0.06) 30%, rgba(236, 72, 153, 0) 100%), linear-gradient(90deg, hsl(var(--card)) 0%, hsl(var(--card)) 100%)\",\n }}\n >\n <HugeiconsIcon icon={FireIcon} className=\"size-3.5 text-pink-400\" />\n <span className=\"text-sm font-medium text-pink-400\">Warm</span>\n </div>\n )\n}\n\nfunction StatusBadge({ status }: { status: LeadStatus }) {\n if (status === \"closed\") {\n return (\n <div\n className=\"flex w-fit items-center gap-1 rounded-lg border border-emerald-500/40 px-2 py-1\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, rgba(16, 185, 129, 0.12) 0%, rgba(16, 185, 129, 0.06) 30%, rgba(16, 185, 129, 0) 100%), linear-gradient(90deg, hsl(var(--card)) 0%, hsl(var(--card)) 100%)\",\n }}\n >\n <HugeiconsIcon\n icon={Tick01Icon}\n className=\"size-3.5 text-emerald-400\"\n />\n <span className=\"text-sm font-medium text-emerald-400\">Closed</span>\n </div>\n )\n }\n\n return (\n <div\n className=\"flex w-fit items-center gap-1 rounded-lg border border-amber-500/40 px-2 py-1\"\n style={{\n backgroundImage:\n \"linear-gradient(90deg, rgba(245, 158, 11, 0.12) 0%, rgba(245, 158, 11, 0.06) 30%, rgba(245, 158, 11, 0) 100%), linear-gradient(90deg, hsl(var(--card)) 0%, hsl(var(--card)) 100%)\",\n }}\n >\n <HugeiconsIcon icon={Cancel01Icon} className=\"size-3.5 text-amber-400\" />\n <span className=\"text-sm font-medium text-amber-400\">Lost</span>\n </div>\n )\n}\n\nfunction ScoreBadge({ score }: { score: number }) {\n const getScoreStyle = () => {\n if (score >= 80)\n return { barClass: \"bg-emerald-500\", textClass: \"text-emerald-400\" }\n if (score >= 50)\n return { barClass: \"bg-cyan-500\", textClass: \"text-cyan-400\" }\n return { barClass: \"bg-amber-500\", textClass: \"text-amber-400\" }\n }\n\n const { barClass, textClass } = getScoreStyle()\n\n return (\n <div className=\"flex items-center gap-2\">\n <div className=\"relative h-1.5 w-12 overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n \"absolute inset-y-0 left-0 rounded-full transition-all\",\n barClass\n )}\n style={{ width: `${score}%` }}\n />\n </div>\n <span className={cn(\"min-w-[28px] text-xs font-semibold\", textClass)}>\n {score}\n </span>\n </div>\n )\n}\n\nfunction SourceBadge({ source }: { source: LeadSource }) {\n const sourceConfig: Record<\n LeadSource,\n {\n icon: typeof Linkedin01Icon\n label: string\n bgClass: string\n textClass: string\n }\n > = {\n linkedin: {\n icon: Linkedin01Icon,\n label: \"LinkedIn\",\n bgClass: \"bg-blue-500/10\",\n textClass: \"text-blue-400\",\n },\n google: {\n icon: Search01Icon,\n label: \"Google\",\n bgClass: \"bg-red-500/10\",\n textClass: \"text-red-400\",\n },\n referral: {\n icon: UserMultiple02Icon,\n label: \"Referral\",\n bgClass: \"bg-violet-500/10\",\n textClass: \"text-violet-400\",\n },\n website: {\n icon: Globe02Icon,\n label: \"Website\",\n bgClass: \"bg-cyan-500/10\",\n textClass: \"text-cyan-400\",\n },\n \"cold-call\": {\n icon: CallIcon,\n label: \"Cold Call\",\n bgClass: \"bg-orange-500/10\",\n textClass: \"text-orange-400\",\n },\n }\n\n const config = sourceConfig[source]\n\n return (\n <div\n className={cn(\n \"flex w-fit items-center gap-1.5 rounded-md px-2 py-1\",\n config.bgClass\n )}\n >\n <HugeiconsIcon\n icon={config.icon}\n className={cn(\"size-3\", config.textClass)}\n />\n <span className={cn(\"text-xs font-medium\", config.textClass)}>\n {config.label}\n </span>\n </div>\n )\n}\n\nexport function LeadsTable() {\n const {\n searchQuery,\n typeFilter,\n statusFilter,\n sourceFilter,\n setSearchQuery,\n setTypeFilter,\n setStatusFilter,\n setSourceFilter,\n clearFilters,\n } = useDashboardStore()\n\n const [sortField, setSortField] = useState<SortField>(\"name\")\n const [sortOrder, setSortOrder] = useState<SortOrder>(\"asc\")\n const [selectedLeads, setSelectedLeads] = useState<string[]>([])\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(10)\n\n const filteredAndSortedLeads = useMemo(() => {\n const result = leads.filter((lead) => {\n const matchesSearch =\n searchQuery === \"\" ||\n lead.name.toLowerCase().includes(searchQuery.toLowerCase()) ||\n lead.email.toLowerCase().includes(searchQuery.toLowerCase())\n\n const matchesType = typeFilter === \"all\" || lead.type === typeFilter\n const matchesStatus =\n statusFilter === \"all\" || lead.status === statusFilter\n const matchesSource =\n sourceFilter === \"all\" || lead.source === sourceFilter\n\n return matchesSearch && matchesType && matchesStatus && matchesSource\n })\n\n result.sort((a, b) => {\n let comparison = 0\n switch (sortField) {\n case \"name\":\n comparison = a.name.localeCompare(b.name)\n break\n case \"email\":\n comparison = a.email.localeCompare(b.email)\n break\n case \"followUp\":\n comparison = a.followUp.localeCompare(b.followUp)\n break\n case \"status\":\n comparison = a.status.localeCompare(b.status)\n break\n case \"score\":\n comparison = a.score - b.score\n break\n }\n return sortOrder === \"asc\" ? comparison : -comparison\n })\n\n return result\n }, [\n searchQuery,\n typeFilter,\n statusFilter,\n sourceFilter,\n sortField,\n sortOrder,\n ])\n\n const totalPages = Math.ceil(filteredAndSortedLeads.length / itemsPerPage)\n const paginatedLeads = useMemo(() => {\n const startIndex = (currentPage - 1) * itemsPerPage\n return filteredAndSortedLeads.slice(startIndex, startIndex + itemsPerPage)\n }, [filteredAndSortedLeads, currentPage, itemsPerPage])\n\n const toggleSort = (field: SortField) => {\n if (sortField === field) {\n setSortOrder(sortOrder === \"asc\" ? \"desc\" : \"asc\")\n } else {\n setSortField(field)\n setSortOrder(\"asc\")\n }\n }\n\n const toggleSelectAll = () => {\n if (selectedLeads.length === paginatedLeads.length) {\n setSelectedLeads([])\n } else {\n setSelectedLeads(paginatedLeads.map((lead) => lead.id))\n }\n }\n\n const toggleSelectLead = (id: string) => {\n setSelectedLeads((prev) =>\n prev.includes(id) ? prev.filter((i) => i !== id) : [...prev, id]\n )\n }\n\n const hasActiveFilters =\n searchQuery !== \"\" ||\n typeFilter !== \"all\" ||\n statusFilter !== \"all\" ||\n sourceFilter !== \"all\"\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page)\n setSelectedLeads([])\n }\n\n const handleItemsPerPageChange = (value: string | null) => {\n if (value) {\n setItemsPerPage(Number(value))\n setCurrentPage(1)\n setSelectedLeads([])\n }\n }\n\n return (\n <div className=\"overflow-hidden rounded-xl border bg-card text-card-foreground\">\n <div className=\"flex flex-col gap-3 border-b px-4 py-3.5 sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"flex items-center gap-3\">\n <h3 className=\"text-base font-medium\">Lead Management</h3>\n <div className=\"hidden h-5 w-px bg-border sm:block\" />\n <div className=\"hidden items-center gap-2 sm:flex\">\n <div className=\"relative\">\n <HugeiconsIcon\n icon={Search01Icon}\n className=\"pointer-events-none absolute top-1/2 left-2.5 z-10 size-3.5 -translate-y-1/2 text-muted-foreground\"\n />\n <Input\n placeholder=\"Search\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"h-8 w-[200px] border-border/50 bg-muted/50 pl-8 text-sm\"\n />\n </div>\n\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon\n icon={SlidersHorizontalIcon}\n className=\"size-3.5\"\n />\n <span>Filter</span>\n {hasActiveFilters && (\n <span className=\"size-1.5 rounded-full bg-primary\" />\n )}\n </Button>\n }\n />\n <DropdownMenuContent align=\"start\" className=\"w-48\">\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Type\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"all\"}\n onCheckedChange={() => setTypeFilter(\"all\")}\n >\n All Types\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"cold\"}\n onCheckedChange={() => setTypeFilter(\"cold\")}\n >\n <HugeiconsIcon\n icon={SnowIcon}\n className=\"mr-1.5 size-3 text-cyan-400\"\n />\n Cold\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"warm\"}\n onCheckedChange={() => setTypeFilter(\"warm\")}\n >\n <HugeiconsIcon\n icon={FireIcon}\n className=\"mr-1.5 size-3 text-pink-400\"\n />\n Warm\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Status\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"all\"}\n onCheckedChange={() => setStatusFilter(\"all\")}\n >\n All Status\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"closed\"}\n onCheckedChange={() => setStatusFilter(\"closed\")}\n >\n <HugeiconsIcon\n icon={Tick01Icon}\n className=\"mr-1.5 size-3 text-emerald-400\"\n />\n Closed\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"lost\"}\n onCheckedChange={() => setStatusFilter(\"lost\")}\n >\n <HugeiconsIcon\n icon={Cancel01Icon}\n className=\"mr-1.5 size-3 text-amber-400\"\n />\n Lost\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Source\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"all\"}\n onCheckedChange={() => setSourceFilter(\"all\")}\n >\n All Sources\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"linkedin\"}\n onCheckedChange={() => setSourceFilter(\"linkedin\")}\n >\n <HugeiconsIcon\n icon={Linkedin01Icon}\n className=\"mr-1.5 size-3 text-blue-400\"\n />\n LinkedIn\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"google\"}\n onCheckedChange={() => setSourceFilter(\"google\")}\n >\n <HugeiconsIcon\n icon={Search01Icon}\n className=\"mr-1.5 size-3 text-red-400\"\n />\n Google\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"referral\"}\n onCheckedChange={() => setSourceFilter(\"referral\")}\n >\n <HugeiconsIcon\n icon={UserMultiple02Icon}\n className=\"mr-1.5 size-3 text-violet-400\"\n />\n Referral\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"website\"}\n onCheckedChange={() => setSourceFilter(\"website\")}\n >\n <HugeiconsIcon\n icon={Globe02Icon}\n className=\"mr-1.5 size-3 text-cyan-400\"\n />\n Website\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"cold-call\"}\n onCheckedChange={() => setSourceFilter(\"cold-call\")}\n >\n <HugeiconsIcon\n icon={CallIcon}\n className=\"mr-1.5 size-3 text-orange-400\"\n />\n Cold Call\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n {hasActiveFilters && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={clearFilters}>\n Clear all filters\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon\n icon={ArrowUpDownIcon}\n className=\"size-3.5\"\n />\n <span>Sort</span>\n </Button>\n }\n />\n <DropdownMenuContent align=\"start\">\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={() => toggleSort(\"name\")}>\n Name{\" \"}\n {sortField === \"name\" && (sortOrder === \"asc\" ? \"↑\" : \"↓\")}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"email\")}>\n Email{\" \"}\n {sortField === \"email\" && (sortOrder === \"asc\" ? \"↑\" : \"↓\")}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"followUp\")}>\n Follow-up{\" \"}\n {sortField === \"followUp\" &&\n (sortOrder === \"asc\" ? \"↑\" : \"↓\")}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"status\")}>\n Status{\" \"}\n {sortField === \"status\" &&\n (sortOrder === \"asc\" ? \"↑\" : \"↓\")}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"score\")}>\n Score{\" \"}\n {sortField === \"score\" && (sortOrder === \"asc\" ? \"↑\" : \"↓\")}\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon icon={Upload01Icon} className=\"size-3.5\" />\n <span className=\"hidden sm:inline\">Export/Import</span>\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem>Export as CSV</DropdownMenuItem>\n <DropdownMenuItem>Export as Excel</DropdownMenuItem>\n <DropdownMenuItem>Export as PDF</DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <DropdownMenuItem>Import from CSV</DropdownMenuItem>\n <DropdownMenuItem>Import from Excel</DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"icon\"\n className=\"size-8 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon icon={PieChartIcon} className=\"size-3.5\" />\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem>View analytics</DropdownMenuItem>\n <DropdownMenuItem>Lead distribution</DropdownMenuItem>\n <DropdownMenuItem>Conversion rates</DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem>Generate report</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n\n <div className=\"flex flex-wrap items-center gap-2 border-b px-4 py-3 sm:hidden\">\n <div className=\"relative flex-1\">\n <HugeiconsIcon\n icon={Search01Icon}\n className=\"pointer-events-none absolute top-1/2 left-2.5 z-10 size-3.5 -translate-y-1/2 text-muted-foreground\"\n />\n <Input\n placeholder=\"Search\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"h-8 w-full border-border/50 bg-muted/50 pl-8 text-sm\"\n />\n </div>\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon\n icon={SlidersHorizontalIcon}\n className=\"size-3.5\"\n />\n {hasActiveFilters && (\n <span className=\"size-1.5 rounded-full bg-primary\" />\n )}\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\" className=\"w-48\">\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Type\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"all\"}\n onCheckedChange={() => setTypeFilter(\"all\")}\n >\n All Types\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"cold\"}\n onCheckedChange={() => setTypeFilter(\"cold\")}\n >\n Cold\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={typeFilter === \"warm\"}\n onCheckedChange={() => setTypeFilter(\"warm\")}\n >\n Warm\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Status\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"all\"}\n onCheckedChange={() => setStatusFilter(\"all\")}\n >\n All Status\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"closed\"}\n onCheckedChange={() => setStatusFilter(\"closed\")}\n >\n Closed\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={statusFilter === \"lost\"}\n onCheckedChange={() => setStatusFilter(\"lost\")}\n >\n Lost\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <div className=\"px-2 py-1.5\">\n <p className=\"mb-1.5 text-xs font-medium text-muted-foreground\">\n Source\n </p>\n <div className=\"space-y-1\">\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"all\"}\n onCheckedChange={() => setSourceFilter(\"all\")}\n >\n All Sources\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"linkedin\"}\n onCheckedChange={() => setSourceFilter(\"linkedin\")}\n >\n LinkedIn\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"google\"}\n onCheckedChange={() => setSourceFilter(\"google\")}\n >\n Google\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"referral\"}\n onCheckedChange={() => setSourceFilter(\"referral\")}\n >\n Referral\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"website\"}\n onCheckedChange={() => setSourceFilter(\"website\")}\n >\n Website\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={sourceFilter === \"cold-call\"}\n onCheckedChange={() => setSourceFilter(\"cold-call\")}\n >\n Cold Call\n </DropdownMenuCheckboxItem>\n </div>\n </div>\n </DropdownMenuGroup>\n {hasActiveFilters && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={clearFilters}>\n Clear all filters\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 border-border/50 bg-muted/50\"\n >\n <HugeiconsIcon icon={ArrowUpDownIcon} className=\"size-3.5\" />\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\">\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={() => toggleSort(\"name\")}>\n Name\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"email\")}>\n Email\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"followUp\")}>\n Follow-up\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"status\")}>\n Status\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => toggleSort(\"score\")}>\n Score\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n\n <div className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow className=\"bg-muted/30 hover:bg-transparent\">\n <TableHead className=\"w-[160px]\">\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={\n selectedLeads.length === paginatedLeads.length &&\n paginatedLeads.length > 0\n }\n onCheckedChange={toggleSelectAll}\n className=\"border-border/50 bg-background/70\"\n />\n <button\n className=\"flex items-center gap-1.5 text-muted-foreground hover:text-foreground\"\n onClick={() => toggleSort(\"name\")}\n >\n <span>Name</span>\n {getSortIcon(sortField, sortOrder, \"name\")}\n </button>\n </div>\n </TableHead>\n <TableHead className=\"w-[85px]\">\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <HugeiconsIcon icon={UserIcon} className=\"size-3.5\" />\n <span>Type</span>\n </div>\n </TableHead>\n <TableHead className=\"w-[180px]\">\n <button\n className=\"flex items-center gap-1.5 text-muted-foreground hover:text-foreground\"\n onClick={() => toggleSort(\"email\")}\n >\n <HugeiconsIcon icon={Mail01Icon} className=\"size-3.5\" />\n <span>Email</span>\n {getSortIcon(sortField, sortOrder, \"email\")}\n </button>\n </TableHead>\n <TableHead className=\"w-[95px]\">\n <button\n className=\"flex items-center gap-1.5 text-muted-foreground hover:text-foreground\"\n onClick={() => toggleSort(\"followUp\")}\n >\n <HugeiconsIcon\n icon={HandPointingRight01Icon}\n className=\"size-3.5\"\n />\n <span>Follow-up</span>\n {getSortIcon(sortField, sortOrder, \"followUp\")}\n </button>\n </TableHead>\n <TableHead className=\"w-[90px]\">\n <button\n className=\"flex items-center gap-1.5 text-muted-foreground hover:text-foreground\"\n onClick={() => toggleSort(\"status\")}\n >\n <HugeiconsIcon icon={Activity01Icon} className=\"size-3.5\" />\n <span>Status</span>\n {getSortIcon(sortField, sortOrder, \"status\")}\n </button>\n </TableHead>\n <TableHead className=\"w-[85px]\">\n <button\n className=\"flex items-center gap-1.5 text-muted-foreground hover:text-foreground\"\n onClick={() => toggleSort(\"score\")}\n >\n <HugeiconsIcon icon={FlashIcon} className=\"size-3.5\" />\n <span>Score</span>\n {getSortIcon(sortField, sortOrder, \"score\")}\n </button>\n </TableHead>\n <TableHead className=\"w-[95px]\">\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <HugeiconsIcon icon={Target01Icon} className=\"size-3.5\" />\n <span>Source</span>\n </div>\n </TableHead>\n <TableHead className=\"w-[120px]\">\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <HugeiconsIcon icon={Globe02Icon} className=\"size-3.5\" />\n <span>Website</span>\n </div>\n </TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {paginatedLeads.map((lead) => (\n <TableRow key={lead.id} className=\"border-border/50\">\n <TableCell>\n <div className=\"flex items-center gap-2.5\">\n <Checkbox\n checked={selectedLeads.includes(lead.id)}\n onCheckedChange={() => toggleSelectLead(lead.id)}\n className=\"border-border/50 bg-background/70\"\n />\n <Avatar className=\"size-6\">\n <AvatarImage src={lead.avatar} />\n <AvatarFallback className=\"text-xs\">\n {lead.name[0]}\n </AvatarFallback>\n </Avatar>\n <span className=\"text-sm font-medium\">{lead.name}</span>\n </div>\n </TableCell>\n <TableCell>\n <TypeBadge type={lead.type} />\n </TableCell>\n <TableCell className=\"max-w-[180px]\">\n <span className=\"block truncate text-sm\">{lead.email}</span>\n </TableCell>\n <TableCell>\n <span className=\"text-sm whitespace-nowrap\">\n {lead.followUp}\n </span>\n </TableCell>\n <TableCell>\n <StatusBadge status={lead.status} />\n </TableCell>\n <TableCell>\n <ScoreBadge score={lead.score} />\n </TableCell>\n <TableCell>\n <SourceBadge source={lead.source} />\n </TableCell>\n <TableCell className=\"max-w-[120px]\">\n <span className=\"block truncate text-sm text-muted-foreground\">\n {lead.website || \"-\"}\n </span>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n\n <div className=\"flex flex-col items-center justify-between gap-4 border-t px-4 py-3 sm:flex-row\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <span>\n Showing {(currentPage - 1) * itemsPerPage + 1} to{\" \"}\n {Math.min(\n currentPage * itemsPerPage,\n filteredAndSortedLeads.length\n )}{\" \"}\n of {filteredAndSortedLeads.length} leads\n </span>\n <div className=\"hidden h-4 w-px bg-border sm:block\" />\n <div className=\"flex items-center gap-2\">\n <span className=\"hidden sm:inline\">Show</span>\n <Select\n value={itemsPerPage.toString()}\n onValueChange={handleItemsPerPageChange}\n >\n <SelectTrigger className=\"h-8 w-[70px] bg-muted/50\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"5\">5</SelectItem>\n <SelectItem value=\"10\">10</SelectItem>\n <SelectItem value=\"20\">20</SelectItem>\n <SelectItem value=\"50\">50</SelectItem>\n </SelectContent>\n </Select>\n <span className=\"hidden sm:inline\">per page</span>\n </div>\n </div>\n\n <div className=\"flex items-center gap-1\">\n <Button\n variant=\"outline\"\n size=\"icon\"\n className=\"size-8\"\n onClick={() => handlePageChange(1)}\n disabled={currentPage === 1}\n >\n <HugeiconsIcon icon={ArrowLeftDoubleIcon} className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon\"\n className=\"size-8\"\n onClick={() => handlePageChange(currentPage - 1)}\n disabled={currentPage === 1}\n >\n <HugeiconsIcon icon={ArrowLeft01Icon} className=\"size-4\" />\n </Button>\n\n <div className=\"mx-2 flex items-center gap-1\">\n {Array.from({ length: Math.min(5, totalPages) }, (_, i) => {\n let pageNum: number\n if (totalPages <= 5) {\n pageNum = i + 1\n } else if (currentPage <= 3) {\n pageNum = i + 1\n } else if (currentPage >= totalPages - 2) {\n pageNum = totalPages - 4 + i\n } else {\n pageNum = currentPage - 2 + i\n }\n return (\n <Button\n key={pageNum}\n variant={currentPage === pageNum ? \"default\" : \"outline\"}\n size=\"icon\"\n className=\"size-8\"\n onClick={() => handlePageChange(pageNum)}\n >\n {pageNum}\n </Button>\n )\n })}\n </div>\n\n <Button\n variant=\"outline\"\n size=\"icon\"\n className=\"size-8\"\n onClick={() => handlePageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n >\n <HugeiconsIcon icon={ArrowRight01Icon} className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon\"\n className=\"size-8\"\n onClick={() => handlePageChange(totalPages)}\n disabled={currentPage === totalPages}\n >\n <HugeiconsIcon icon={ArrowRightDoubleIcon} className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n"
31
- },
32
- {
33
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/sidebar.tsx",
34
- "type": "registry:component",
35
- "target": "components/example-apps/dashboard-2/components/dashboard/sidebar.tsx",
36
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport Link from \"next/link\"\nimport {\n Add01Icon,\n ArrowDown01Icon,\n ArrowRight01Icon,\n Building02Icon,\n Calendar01Icon,\n DashboardSquare01Icon,\n File01Icon,\n FileEmpty01Icon,\n Folder01Icon,\n Globe02Icon,\n HeadphonesIcon,\n Layers01Icon,\n Logout01Icon,\n Mail01Icon,\n Notification01Icon,\n Search01Icon,\n Settings01Icon,\n SourceCodeIcon,\n Task01Icon,\n UnfoldMoreIcon,\n UserAdd01Icon,\n UserGroupIcon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { Button } from \"@loveui/ui/ui/button\"\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@loveui/ui/ui/collapsible\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@loveui/ui/ui/menu\"\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarGroup,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from \"../ui/sidebar\"\n\nconst navItems = [\n { title: \"Search\", icon: Search01Icon, shortcut: \"/\" },\n { title: \"Client Inbox\", icon: Mail01Icon },\n { title: \"Listings Board\", icon: DashboardSquare01Icon, isActive: true },\n { title: \"Tours\", icon: Task01Icon },\n { title: \"Neighborhoods\", icon: Layers01Icon },\n { title: \"Open Houses\", icon: Calendar01Icon },\n { title: \"Contracts\", icon: File01Icon },\n { title: \"Agent Teams\", icon: UserGroupIcon },\n { title: \"Brokerage\", icon: Building02Icon },\n]\n\nconst workgroups = [\n {\n id: \"all-work\",\n name: \"Property Segments\",\n icon: Globe02Icon,\n children: [\n {\n id: \"luxury-homes\",\n name: \"Luxury Homes\",\n icon: Folder01Icon,\n children: [\n { id: \"waterfront\", name: \"Waterfront\", icon: FileEmpty01Icon },\n { id: \"penthouse\", name: \"Penthouse\", icon: FileEmpty01Icon },\n ],\n },\n { id: \"suburban\", name: \"Suburban\", icon: Folder01Icon },\n { id: \"investment\", name: \"Investment\", icon: Folder01Icon },\n ],\n },\n { id: \"market-alerts\", name: \"Market Alerts\", icon: Notification01Icon },\n { id: \"mls-sync\", name: \"MLS Sync\", icon: SourceCodeIcon },\n { id: \"buyer-support\", name: \"Buyer Support\", icon: HeadphonesIcon },\n]\n\nexport function DashboardSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar>) {\n const [expandedItems, setExpandedItems] = React.useState<string[]>([\n \"all-work\",\n \"luxury-homes\",\n ])\n\n const toggleItem = (id: string) => {\n setExpandedItems((prev) =>\n prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id]\n )\n }\n\n const renderWorkgroupItem = (\n item: (typeof workgroups)[0],\n level: number = 0\n ) => {\n const hasChildren = \"children\" in item && item.children\n const isExpanded = expandedItems.includes(item.id)\n const Icon = item.icon\n const paddingLeft = level * 12\n\n if (hasChildren) {\n return (\n <Collapsible\n key={item.id}\n open={isExpanded}\n onOpenChange={() => toggleItem(item.id)}\n >\n <SidebarMenuItem>\n <CollapsibleTrigger\n nativeButton={false}\n render={\n <SidebarMenuButton\n className=\"h-7 text-sm\"\n style={{ paddingLeft: `${8 + paddingLeft}px` }}\n >\n <HugeiconsIcon icon={Icon} className=\"size-3.5\" />\n <span className=\"flex-1\">{item.name}</span>\n {isExpanded ? (\n <HugeiconsIcon icon={ArrowDown01Icon} className=\"size-3\" />\n ) : (\n <HugeiconsIcon icon={ArrowRight01Icon} className=\"size-3\" />\n )}\n </SidebarMenuButton>\n }\n />\n <CollapsibleContent>\n <SidebarMenuSub className=\"mr-0 pr-0\">\n {item.children?.map((child) => (\n <SidebarMenuSubItem key={child.id}>\n {renderWorkgroupItem(\n child as (typeof workgroups)[0],\n level + 1\n )}\n </SidebarMenuSubItem>\n ))}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n )\n }\n\n return (\n <SidebarMenuItem key={item.id}>\n <SidebarMenuButton\n className=\"h-7 text-sm\"\n style={{ paddingLeft: `${8 + paddingLeft}px` }}\n >\n <HugeiconsIcon icon={Icon} className=\"size-3.5\" />\n <span>{item.name}</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n )\n }\n\n return (\n <Sidebar className=\"lg:border-r-0!\" collapsible=\"icon\" {...props}>\n <SidebarHeader className=\"px-2.5 py-3\">\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <button className=\"-m-1 flex w-full shrink-0 items-center gap-2.5 rounded-md p-1 transition-colors hover:bg-sidebar-accent\">\n <div className=\"flex size-7 shrink-0 items-center justify-center rounded-lg bg-foreground text-background\">\n <span className=\"text-sm font-bold\">R</span>\n </div>\n <div className=\"flex items-center gap-1 group-data-[collapsible=icon]:hidden\">\n <span className=\"text-sm font-medium\">Harbor Realty</span>\n <HugeiconsIcon\n icon={UnfoldMoreIcon}\n className=\"size-3 text-muted-foreground\"\n />\n </div>\n </button>\n }\n />\n <DropdownMenuContent align=\"start\" className=\"w-56\">\n <DropdownMenuGroup>\n <DropdownMenuItem>\n <HugeiconsIcon icon={Settings01Icon} className=\"size-4\" />\n <span>Settings</span>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <HugeiconsIcon icon={UserAdd01Icon} className=\"size-4\" />\n <span>Invite agents</span>\n </DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem variant=\"destructive\">\n <HugeiconsIcon icon={Logout01Icon} className=\"size-4\" />\n <span>Log out</span>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarHeader>\n\n <SidebarContent className=\"px-2.5\">\n <SidebarGroup className=\"p-0\">\n <SidebarGroupContent>\n <SidebarMenu>\n {navItems.map((item) => (\n <SidebarMenuItem key={item.title}>\n <SidebarMenuButton\n render={<Link href=\"#\" />}\n isActive={item.isActive}\n className=\"h-7\"\n >\n <HugeiconsIcon icon={item.icon} className=\"size-3.5\" />\n <span className=\"text-sm\">{item.title}</span>\n {item.shortcut && (\n <span className=\"ml-auto flex size-5 items-center justify-center rounded bg-muted text-[10px] font-medium text-muted-foreground\">\n {item.shortcut}\n </span>\n )}\n </SidebarMenuButton>\n </SidebarMenuItem>\n ))}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n\n <SidebarGroup className=\"mt-4 p-0\">\n <SidebarGroupLabel className=\"flex h-6 items-center justify-between px-0\">\n <span className=\"text-[10px] font-medium tracking-wider text-muted-foreground\">\n Workgroups\n </span>\n <div className=\"flex items-center gap-1\">\n <Button variant=\"ghost\" size=\"icon\" className=\"size-5\">\n <HugeiconsIcon icon={Search01Icon} className=\"size-3\" />\n </Button>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-5\">\n <HugeiconsIcon icon={Add01Icon} className=\"size-3\" />\n </Button>\n </div>\n </SidebarGroupLabel>\n <SidebarGroupContent>\n <SidebarMenu>\n {workgroups.map((item) => renderWorkgroupItem(item))}\n <SidebarMenuItem>\n <SidebarMenuButton className=\"h-7 text-sm text-muted-foreground\">\n <HugeiconsIcon icon={Add01Icon} className=\"size-3.5\" />\n <span>Create Group</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n </SidebarContent>\n </Sidebar>\n )\n}\n"
37
- },
38
- {
39
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/stats-cards.tsx",
40
- "type": "registry:component",
41
- "target": "components/example-apps/dashboard-2/components/dashboard/stats-cards.tsx",
42
- "content": "\"use client\"\n\nimport {\n ArrowDownRightIcon,\n ArrowUpRightIcon,\n Building02Icon,\n Comment01Icon,\n DollarSquareIcon,\n UserGroupIcon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\nimport { dashboardStats } from \"../../mock-data/dashboard\"\n\nconst stats = [\n {\n title: \"Closed Volume\",\n value: dashboardStats.generatedRevenue.value,\n change: dashboardStats.generatedRevenue.change,\n icon: DollarSquareIcon,\n trend: \"up\" as const,\n },\n {\n title: \"Signed Buyers\",\n value: dashboardStats.signedClients.value,\n change: dashboardStats.signedClients.change,\n icon: UserGroupIcon,\n trend: \"up\" as const,\n },\n {\n title: \"Active Buyer Leads\",\n value: dashboardStats.totalLeads.value,\n change: dashboardStats.totalLeads.change,\n icon: Comment01Icon,\n trend: \"up\" as const,\n },\n {\n title: \"Active Agents\",\n value: dashboardStats.teamMembers.value,\n extra: { active: dashboardStats.teamMembers.activeCount },\n icon: Building02Icon,\n },\n]\n\nexport function StatsCards() {\n return (\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4\">\n {stats.map((stat, index) => (\n <div\n key={index}\n className=\"rounded-xl border bg-card p-4 text-card-foreground\"\n >\n <div className=\"mb-3 flex items-center justify-between\">\n <span className=\"text-sm font-medium\">{stat.title}</span>\n <HugeiconsIcon\n icon={stat.icon}\n className=\"size-4 text-muted-foreground\"\n />\n </div>\n\n <div className=\"rounded-lg border bg-muted/50 p-4 dark:bg-neutral-800/50\">\n <div className=\"flex items-center justify-between\">\n <span className=\"text-2xl font-medium tracking-tight sm:text-3xl\">\n {stat.value}\n </span>\n\n <div className=\"flex items-center gap-3\">\n <div className=\"h-9 w-px bg-border\" />\n\n {stat.change !== undefined && stat.trend ? (\n <div\n className={cn(\n \"flex items-center gap-1.5\",\n stat.trend === \"up\" ? \"text-green-400\" : \"text-pink-400\"\n )}\n style={{\n textShadow:\n stat.trend === \"up\"\n ? \"0 1px 6px rgba(68, 255, 118, 0.25)\"\n : \"0 1px 6px rgba(255, 68, 193, 0.25)\",\n }}\n >\n {stat.trend === \"up\" ? (\n <HugeiconsIcon\n icon={ArrowUpRightIcon}\n className=\"size-3.5\"\n />\n ) : (\n <HugeiconsIcon\n icon={ArrowDownRightIcon}\n className=\"size-3.5\"\n />\n )}\n <span className=\"text-sm font-medium\">{stat.change}%</span>\n </div>\n ) : stat.extra ? (\n <div className=\"text-sm font-medium\">\n <span className=\"text-foreground\">{stat.extra.active}</span>{\" \"}\n <span className=\"text-muted-foreground\">Active</span>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n )\n}\n"
43
- },
44
- {
45
- "path": "registry/example-apps/default/dashboard-2/components/dashboard/top-performers.tsx",
46
- "type": "registry:component",
47
- "target": "components/example-apps/dashboard-2/components/dashboard/top-performers.tsx",
48
- "content": "\"use client\"\n\nimport { useMemo, useState } from \"react\"\nimport {\n Award01Icon,\n MoreHorizontalIcon,\n StarIcon,\n UserIcon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@loveui/ui/ui/avatar\"\nimport { Button } from \"@loveui/ui/ui/button\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"@loveui/ui/ui/menu\"\n\nimport { cn } from \"../../lib/utils\"\nimport { topPerformers } from \"../../mock-data/dashboard\"\n\ntype SortBy = \"score_desc\" | \"score_asc\" | \"name_asc\" | \"name_desc\"\ntype Period = \"week\" | \"month\" | \"quarter\" | \"year\"\n\nconst periodLabels: Record<Period, string> = {\n week: \"This Week\",\n month: \"This Month\",\n quarter: \"This Quarter\",\n year: \"This Year\",\n}\n\nconst barStyles = [\n {\n borderColor: \"border-pink-500\",\n bgGradient:\n \"bg-linear-to-r from-pink-500/40 via-pink-500/20 to-transparent\",\n isDashed: false,\n },\n {\n borderColor: \"border-cyan-400\",\n bgGradient:\n \"bg-linear-to-r from-cyan-400/30 via-cyan-400/15 to-transparent\",\n isDashed: true,\n },\n {\n borderColor: \"border-green-400\",\n bgGradient:\n \"bg-linear-to-r from-green-400/30 via-green-400/15 to-transparent\",\n isDashed: true,\n },\n {\n borderColor: \"border-amber-400\",\n bgGradient:\n \"bg-linear-to-r from-amber-400/30 via-amber-400/15 to-transparent\",\n isDashed: true,\n },\n {\n borderColor: \"border-purple-400\",\n bgGradient:\n \"bg-linear-to-r from-purple-400/30 via-purple-400/15 to-transparent\",\n isDashed: true,\n },\n {\n borderColor: \"border-rose-400\",\n bgGradient:\n \"bg-linear-to-r from-rose-400/30 via-rose-400/15 to-transparent\",\n isDashed: true,\n },\n]\n\nexport function TopPerformers() {\n const [sortBy, setSortBy] = useState<SortBy>(\"score_desc\")\n const [period, setPeriod] = useState<Period>(\"month\")\n\n const maxScore = useMemo(() => {\n return Math.max(...topPerformers.map((p) => p.score))\n }, [])\n\n const sortedPerformers = useMemo(() => {\n const performers = [...topPerformers]\n switch (sortBy) {\n case \"score_desc\":\n return performers.sort((a, b) => b.score - a.score)\n case \"score_asc\":\n return performers.sort((a, b) => a.score - b.score)\n case \"name_asc\":\n return performers.sort((a, b) => a.name.localeCompare(b.name))\n case \"name_desc\":\n return performers.sort((a, b) => b.name.localeCompare(a.name))\n default:\n return performers\n }\n }, [sortBy])\n\n return (\n <div className=\"w-full shrink-0 rounded-lg border bg-card text-card-foreground lg:w-[332px]\">\n <div className=\"flex items-center justify-between border-b border-border/50 p-4\">\n <h3 className=\"text-sm font-medium sm:text-base\">Top Agents</h3>\n <div className=\"flex items-center gap-1\">\n <HugeiconsIcon\n icon={Award01Icon}\n className=\"size-4 text-muted-foreground\"\n />\n <DropdownMenu>\n <DropdownMenuTrigger\n render={\n <Button variant=\"ghost\" size=\"icon\" className=\"size-7\">\n <HugeiconsIcon icon={MoreHorizontalIcon} className=\"size-4\" />\n </Button>\n }\n />\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>Time Period</DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuGroup>\n {(Object.keys(periodLabels) as Period[]).map((p) => (\n <DropdownMenuItem key={p} onClick={() => setPeriod(p)}>\n {periodLabels[p]} {period === p && \"✓\"}\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>Sort By</DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={() => setSortBy(\"score_desc\")}>\n Score (High to Low) {sortBy === \"score_desc\" && \"✓\"}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setSortBy(\"score_asc\")}>\n Score (Low to High) {sortBy === \"score_asc\" && \"✓\"}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setSortBy(\"name_asc\")}>\n Name (A to Z) {sortBy === \"name_asc\" && \"✓\"}\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setSortBy(\"name_desc\")}>\n Name (Z to A) {sortBy === \"name_desc\" && \"✓\"}\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n setSortBy(\"score_desc\")\n setPeriod(\"month\")\n }}\n >\n Reset to Default\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n <div className=\"space-y-4 p-4\">\n {sortedPerformers.map((performer, index) => {\n const style = barStyles[index % barStyles.length]\n const progressWidth = (performer.score / maxScore) * 100\n const isFirst = index === 0\n\n return (\n <div key={performer.id} className=\"flex items-center gap-3\">\n <Avatar className=\"size-10\">\n <AvatarImage src={performer.avatar} />\n <AvatarFallback>\n {performer.name\n .split(\" \")\n .map((n) => n[0])\n .join(\"\")}\n </AvatarFallback>\n </Avatar>\n <div className=\"relative flex-1\">\n <div\n className={cn(\n \"relative h-[42px] overflow-hidden rounded-lg border\",\n style.borderColor,\n style.isDashed ? \"border-dashed\" : \"border-solid\"\n )}\n >\n <div\n className={cn(\n \"absolute inset-0 transition-all duration-300\",\n style.bgGradient\n )}\n style={{\n width: `${Math.max(progressWidth, 30)}%`,\n }}\n />\n <div className=\"absolute top-1/2 left-2 flex -translate-y-1/2 items-center gap-1.5 rounded-md border border-border bg-card/90 px-2 py-1 shadow-sm dark:bg-neutral-900/90\">\n {isFirst ? (\n <HugeiconsIcon\n icon={StarIcon}\n className=\"size-3.5 fill-amber-400 text-amber-400\"\n />\n ) : (\n <HugeiconsIcon\n icon={UserIcon}\n className=\"size-3.5 text-muted-foreground\"\n />\n )}\n <span\n className={cn(\n \"text-sm font-medium\",\n isFirst ? \"text-foreground\" : \"text-muted-foreground\"\n )}\n >\n {performer.score}\n </span>\n </div>\n </div>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"
49
- },
50
- {
51
- "path": "registry/example-apps/default/dashboard-2/components/theme-provider.tsx",
52
- "type": "registry:component",
53
- "target": "components/example-apps/dashboard-2/components/theme-provider.tsx",
54
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ThemeProvider as NextThemesProvider } from \"next-themes\"\n\nexport function ThemeProvider({\n children,\n ...props\n}: React.ComponentProps<typeof NextThemesProvider>) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n"
55
- },
56
- {
57
- "path": "registry/example-apps/default/dashboard-2/components/theme-toggle.tsx",
58
- "type": "registry:component",
59
- "target": "components/example-apps/dashboard-2/components/theme-toggle.tsx",
60
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Moon01Icon, Sun01Icon } from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\nimport { useTheme } from \"next-themes\"\n\nimport { Button } from \"@loveui/ui/ui/button\"\n\nexport function ThemeToggle() {\n const { setTheme, theme } = useTheme()\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => setTheme(theme === \"light\" ? \"dark\" : \"light\")}\n >\n <HugeiconsIcon\n icon={Sun01Icon}\n className=\"size-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90\"\n />\n <HugeiconsIcon\n icon={Moon01Icon}\n className=\"absolute size-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0\"\n />\n <span className=\"sr-only\">Toggle theme</span>\n </Button>\n )\n}\n"
61
- },
62
- {
63
- "path": "registry/example-apps/default/dashboard-2/components/ui/alert-dialog.tsx",
64
- "type": "registry:ui",
65
- "target": "components/example-apps/dashboard-2/components/ui/alert-dialog.tsx",
66
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"./button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-background p-6 ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"
67
- },
68
- {
69
- "path": "registry/example-apps/default/dashboard-2/components/ui/avatar.tsx",
70
- "type": "registry:ui",
71
- "target": "components/example-apps/dashboard-2/components/ui/avatar.tsx",
72
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: \"default\" | \"sm\" | \"lg\"\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\n \"aspect-square size-full rounded-full object-cover\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarGroup,\n AvatarGroupCount,\n AvatarBadge,\n}\n"
73
- },
74
- {
75
- "path": "registry/example-apps/default/dashboard-2/components/ui/badge.tsx",
76
- "type": "registry:ui",
77
- "target": "components/example-apps/dashboard-2/components/ui/badge.tsx",
78
- "content": "import { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst badgeVariants = cva(\n \"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n destructive:\n \"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20\",\n outline:\n \"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground\",\n ghost:\n \"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants>) {\n return useRender({\n defaultTagName: \"span\",\n props: mergeProps<\"span\">(\n {\n className: cn(badgeVariants({ className, variant })),\n },\n props\n ),\n render,\n state: {\n slot: \"badge\",\n variant,\n },\n })\n}\n\nexport { Badge, badgeVariants }\n"
79
- },
80
- {
81
- "path": "registry/example-apps/default/dashboard-2/components/ui/button.tsx",
82
- "type": "registry:ui",
83
- "target": "components/example-apps/dashboard-2/components/ui/button.tsx",
84
- "content": "import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline:\n \"border-border bg-background shadow-xs hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-9\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"
85
- },
86
- {
87
- "path": "registry/example-apps/default/dashboard-2/components/ui/card.tsx",
88
- "type": "registry:ui",
89
- "target": "components/example-apps/dashboard-2/components/ui/card.tsx",
90
- "content": "import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"group/card flex flex-col gap-6 overflow-hidden rounded-xl bg-card py-6 text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"flex items-center rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n"
91
- },
92
- {
93
- "path": "registry/example-apps/default/dashboard-2/components/ui/chart.tsx",
94
- "type": "registry:ui",
95
- "target": "components/example-apps/dashboard-2/components/ui/chart.tsx",
96
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"../../lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n}: React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n}) {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }) {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as any\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium text-foreground tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }) {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n}\n\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"
97
- },
98
- {
99
- "path": "registry/example-apps/default/dashboard-2/components/ui/checkbox.tsx",
100
- "type": "registry:ui",
101
- "target": "components/example-apps/dashboard-2/components/ui/checkbox.tsx",
102
- "content": "\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\nimport { Tick02Icon } from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 dark:data-checked:bg-primary\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"
103
- },
104
- {
105
- "path": "registry/example-apps/default/dashboard-2/components/ui/collapsible.tsx",
106
- "type": "registry:ui",
107
- "target": "components/example-apps/dashboard-2/components/ui/collapsible.tsx",
108
- "content": "\"use client\"\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({ ...props }: CollapsiblePrimitive.Trigger.Props) {\n return (\n <CollapsiblePrimitive.Trigger data-slot=\"collapsible-trigger\" {...props} />\n )\n}\n\nfunction CollapsibleContent({ ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n <CollapsiblePrimitive.Panel data-slot=\"collapsible-content\" {...props} />\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n"
109
- },
110
- {
111
- "path": "registry/example-apps/default/dashboard-2/components/ui/combobox.tsx",
112
- "type": "registry:ui",
113
- "target": "components/example-apps/dashboard-2/components/ui/combobox.tsx",
114
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\"\nimport {\n ArrowDown01Icon,\n Cancel01Icon,\n Tick02Icon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"./button\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"./input-group\"\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <HugeiconsIcon\n icon={ArrowDown01Icon}\n strokeWidth={2}\n className=\"pointer-events-none size-4 text-muted-foreground\"\n />\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <HugeiconsIcon\n icon={Cancel01Icon}\n strokeWidth={2}\n className=\"pointer-events-none\"\n />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n showTrigger = true,\n showClear = false,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean\n showClear?: boolean\n}) {\n return (\n <InputGroup className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={<InputGroupInput disabled={disabled} />}\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n render={<ComboboxTrigger />}\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n />\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 group/combobox-content relative max-h-(--available-height) max-h-72 w-(--anchor-width) max-w-(--available-width) min-w-36 min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none\",\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n \"no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />\n }\n >\n <HugeiconsIcon\n icon={Tick02Icon}\n strokeWidth={2}\n className=\"pointer-events-none\"\n />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"px-2 py-1.5 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n )\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n \"hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n \"flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border border-input bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-[3px] has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0\",\n className\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <HugeiconsIcon\n icon={Cancel01Icon}\n strokeWidth={2}\n className=\"pointer-events-none\"\n />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\"min-w-16 flex-1 outline-none\", className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxEmpty,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n}\n"
115
- },
116
- {
117
- "path": "registry/example-apps/default/dashboard-2/components/ui/dropdown-menu.tsx",
118
- "type": "registry:ui",
119
- "target": "components/example-apps/dashboard-2/components/ui/dropdown-menu.tsx",
120
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\nimport { ArrowRight01Icon, Tick02Icon } from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-closed:overflow-hidden\",\n className\n )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset]:pl-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <HugeiconsIcon\n icon={ArrowRight01Icon}\n strokeWidth={2}\n className=\"ml-auto\"\n />\n </MenuPrimitive.SubmenuTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 w-auto min-w-[96px] rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100\",\n className\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: MenuPrimitive.CheckboxItem.Props) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return (\n <MenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: MenuPrimitive.RadioItem.Props) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n"
121
- },
122
- {
123
- "path": "registry/example-apps/default/dashboard-2/components/ui/field.tsx",
124
- "type": "registry:ui",
125
- "target": "components/example-apps/dashboard-2/components/ui/field.tsx",
126
- "content": "\"use client\"\n\nimport { useMemo, type ComponentPropsWithoutRef, type ReactNode } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Label } from \"./label\"\nimport { Separator } from \"./separator\"\n\nfunction FieldSet({\n className,\n ...props\n}: ComponentPropsWithoutRef<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: ComponentPropsWithoutRef<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: ComponentPropsWithoutRef<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\n \"group/field flex w-full gap-3 data-[invalid=true]:text-destructive\",\n {\n variants: {\n orientation: {\n vertical: \"flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center has-[>[data-slot=field-content]]:items-start [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col @md/field-group:flex-row @md/field-group:items-center @md/field-group:has-[>[data-slot=field-content]]:items-start [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n }\n)\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: ComponentPropsWithoutRef<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({\n className,\n ...props\n}: ComponentPropsWithoutRef<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1 leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: ComponentPropsWithoutRef<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border dark:has-data-checked:bg-primary/10 [&>*]:data-[slot=field]:p-3\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: ComponentPropsWithoutRef<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({\n className,\n ...props\n}: ComponentPropsWithoutRef<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-left text-sm leading-normal font-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance [[data-variant=legend]+&]:-mt-1.5\",\n \"last:mt-0 nth-last-2:-mt-1\",\n \"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: ComponentPropsWithoutRef<\"div\"> & {\n children?: ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"relative mx-auto block w-fit bg-background px-2 text-muted-foreground\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: ComponentPropsWithoutRef<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-sm font-normal text-destructive\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n"
127
- },
128
- {
129
- "path": "registry/example-apps/default/dashboard-2/components/ui/input-group.tsx",
130
- "type": "registry:ui",
131
- "target": "components/example-apps/dashboard-2/components/ui/input-group.tsx",
132
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"./button\"\nimport { Input } from \"./input\"\nimport { Textarea } from \"./textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\":\n \"order-last pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\"> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\"\n }) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n"
133
- },
134
- {
135
- "path": "registry/example-apps/default/dashboard-2/components/ui/input.tsx",
136
- "type": "registry:ui",
137
- "target": "components/example-apps/dashboard-2/components/ui/input.tsx",
138
- "content": "import * as React from \"react\"\nimport { Input as InputPrimitive } from \"@base-ui/react/input\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input\"\n className={cn(\n \"h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"
139
- },
140
- {
141
- "path": "registry/example-apps/default/dashboard-2/components/ui/label.tsx",
142
- "type": "registry:ui",
143
- "target": "components/example-apps/dashboard-2/components/ui/label.tsx",
144
- "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Label({ className, ...props }: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"
145
- },
146
- {
147
- "path": "registry/example-apps/default/dashboard-2/components/ui/select.tsx",
148
- "type": "registry:ui",
149
- "target": "components/example-apps/dashboard-2/components/ui/select.tsx",
150
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\"\nimport {\n ArrowDown01Icon,\n ArrowUp01Icon,\n Tick02Icon,\n UnfoldMoreIcon,\n} from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nfunction SelectGroup({ className, ...props }: SelectPrimitive.Group.Props) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n className,\n placeholder,\n ...props\n}: SelectPrimitive.Value.Props & { placeholder?: string }) {\n return (\n <SelectPrimitive.Value\n data-slot=\"select-value\"\n className={cn(\"flex flex-1 text-left\", className)}\n {...props}\n >\n {(value) => value ?? placeholder}\n </SelectPrimitive.Value>\n )\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: SelectPrimitive.Trigger.Props & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon\n render={\n <HugeiconsIcon\n icon={UnfoldMoreIcon}\n strokeWidth={2}\n className=\"pointer-events-none size-4 text-muted-foreground\"\n />\n }\n />\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n side = \"bottom\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n alignItemWithTrigger = true,\n ...props\n}: SelectPrimitive.Popup.Props &\n Pick<\n SelectPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"alignItemWithTrigger\"\n >) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n alignItemWithTrigger={alignItemWithTrigger}\n className=\"isolate z-50\"\n >\n <SelectPrimitive.Popup\n data-slot=\"select-content\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100\",\n className\n )}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.List>{children}</SelectPrimitive.List>\n <SelectScrollDownButton />\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: SelectPrimitive.GroupLabel.Props) {\n return (\n <SelectPrimitive.GroupLabel\n data-slot=\"select-label\"\n className={cn(\"px-2 py-1.5 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: SelectPrimitive.Item.Props) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <SelectPrimitive.ItemText className=\"flex flex-1 shrink-0 gap-2 whitespace-nowrap\">\n {children}\n </SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />\n }\n >\n <HugeiconsIcon\n icon={Tick02Icon}\n strokeWidth={2}\n className=\"pointer-events-none\"\n />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.Separator.Props) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>) {\n return (\n <SelectPrimitive.ScrollUpArrow\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <HugeiconsIcon icon={ArrowUp01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollUpArrow>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>) {\n return (\n <SelectPrimitive.ScrollDownArrow\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <HugeiconsIcon icon={ArrowDown01Icon} strokeWidth={2} />\n </SelectPrimitive.ScrollDownArrow>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"
151
- },
152
- {
153
- "path": "registry/example-apps/default/dashboard-2/components/ui/separator.tsx",
154
- "type": "registry:ui",
155
- "target": "components/example-apps/dashboard-2/components/ui/separator.tsx",
156
- "content": "\"use client\"\n\nimport { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorPrimitive.Props) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"
157
- },
158
- {
159
- "path": "registry/example-apps/default/dashboard-2/components/ui/sheet.tsx",
160
- "type": "registry:ui",
161
- "target": "components/example-apps/dashboard-2/components/ui/sheet.tsx",
162
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\"\nimport { Cancel01Icon } from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\n\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"./button\"\n\nfunction Sheet({ ...props }: SheetPrimitive.Root.Props) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({ ...props }: SheetPrimitive.Trigger.Props) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({ ...props }: SheetPrimitive.Close.Props) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({ ...props }: SheetPrimitive.Portal.Props) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 fixed inset-0 z-50 bg-black/10 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n showCloseButton = true,\n ...props\n}: SheetPrimitive.Popup.Props & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n showCloseButton?: boolean\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 fixed z-50 flex flex-col gap-4 bg-background bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n render={\n <Button\n variant=\"ghost\"\n className=\"absolute top-4 right-4\"\n size=\"icon-sm\"\n />\n }\n >\n <HugeiconsIcon icon={Cancel01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Popup>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({ className, ...props }: SheetPrimitive.Title.Props) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"font-medium text-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: SheetPrimitive.Description.Props) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n"
163
- },
164
- {
165
- "path": "registry/example-apps/default/dashboard-2/components/ui/sidebar.tsx",
166
- "type": "registry:ui",
167
- "target": "components/example-apps/dashboard-2/components/ui/sidebar.tsx",
168
- "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { SidebarLeftIcon } from \"@hugeicons/core-free-icons\"\nimport { HugeiconsIcon } from \"@hugeicons/react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { useIsMobile } from \"../../hooks/use-mobile\"\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"./button\"\nimport { Input } from \"./input\"\nimport { Separator } from \"./separator\"\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"./sheet\"\nimport { Skeleton } from \"./skeleton\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"./tooltip\"\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}) {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => window.removeEventListener(\"keydown\", handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as any\n }\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n </SidebarContext.Provider>\n )\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offExamples\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offExamples\" | \"icon\" | \"none\"\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"top-[var(--sidebar-top-offset,0px)] h-[calc(100svh-var(--sidebar-top-offset,0px))] w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as any\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offExamples]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed top-[var(--sidebar-top-offset,0px)] bottom-0 z-10 hidden h-[calc(100svh-var(--sidebar-top-offset,0px))] w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offExamples]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offExamples]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon-sm\"\n className={cn(className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <HugeiconsIcon icon={SidebarLeftIcon} strokeWidth={2} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offExamples]:translate-x-0 group-data-[collapsible=offExamples]:after:left-full hover:group-data-[collapsible=offExamples]:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offExamples]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offExamples]_&]:-left-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"h-8 w-full bg-background shadow-none\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"no-scrollbar flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupLabel({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\"> & React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-label\",\n sidebar: \"group-label\",\n },\n })\n}\n\nfunction SidebarGroupAction({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"button\"> & React.ComponentProps<\"button\">) {\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-group-action\",\n sidebar: \"group-action\",\n },\n })\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n )\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction SidebarMenuButton({\n render,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: useRender.ComponentProps<\"button\"> &\n React.ComponentProps<\"button\"> & {\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n } & VariantProps<typeof sidebarMenuButtonVariants>) {\n const { isMobile, state } = useSidebar()\n const comp = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(sidebarMenuButtonVariants({ variant, size }), className),\n },\n props\n ),\n render: !tooltip ? render : TooltipTrigger,\n state: {\n slot: \"sidebar-menu-button\",\n sidebar: \"menu-button\",\n size,\n active: isActive,\n },\n })\n\n if (!tooltip) {\n return comp\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n {comp}\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n render,\n showOnHover = false,\n ...props\n}: useRender.ComponentProps<\"button\"> &\n React.ComponentProps<\"button\"> & {\n showOnHover?: boolean\n }) {\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n \"absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground data-open:opacity-100 md:opacity-0\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-action\",\n sidebar: \"menu-action\",\n },\n })\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const [width] = React.useState(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n })\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as any\n }\n />\n </div>\n )\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubButton({\n render,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: useRender.ComponentProps<\"a\"> &\n React.ComponentProps<\"a\"> & {\n size?: \"sm\" | \"md\"\n isActive?: boolean\n }) {\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-[size=md]:text-sm data-[size=sm]:text-xs [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"sidebar-menu-sub-button\",\n sidebar: \"menu-sub-button\",\n size,\n active: isActive,\n },\n })\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n"
169
- },
170
- {
171
- "path": "registry/example-apps/default/dashboard-2/components/ui/skeleton.tsx",
172
- "type": "registry:ui",
173
- "target": "components/example-apps/dashboard-2/components/ui/skeleton.tsx",
174
- "content": "import type { ComponentPropsWithoutRef } from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Skeleton({ className, ...props }: ComponentPropsWithoutRef<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"
175
- },
176
- {
177
- "path": "registry/example-apps/default/dashboard-2/components/ui/table.tsx",
178
- "type": "registry:ui",
179
- "target": "components/example-apps/dashboard-2/components/ui/table.tsx",
180
- "content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"relative w-full overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:border-b\", className)}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n"
181
- },
182
- {
183
- "path": "registry/example-apps/default/dashboard-2/components/ui/textarea.tsx",
184
- "type": "registry:ui",
185
- "target": "components/example-apps/dashboard-2/components/ui/textarea.tsx",
186
- "content": "import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"
187
- },
188
- {
189
- "path": "registry/example-apps/default/dashboard-2/components/ui/tooltip.tsx",
190
- "type": "registry:ui",
191
- "target": "components/example-apps/dashboard-2/components/ui/tooltip.tsx",
192
- "content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-xs text-background\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"
193
- },
194
- {
195
- "path": "registry/example-apps/default/dashboard-2/hooks/use-mobile.ts",
196
- "type": "registry:hook",
197
- "target": "components/example-apps/dashboard-2/hooks/use-mobile.ts",
198
- "content": "import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n"
199
- },
200
- {
201
- "path": "registry/example-apps/default/dashboard-2/index.tsx",
202
- "type": "registry:file",
203
- "target": "components/example-apps/dashboard-2/index.tsx",
204
- "content": "/**\n * Wrapper export for embedding the dashboard in the docs app\n */\n\"use client\"\n\nimport { DashboardContent } from \"./components/dashboard/content\"\nimport { DashboardHeader } from \"./components/dashboard/header\"\nimport { DashboardSidebar } from \"./components/dashboard/sidebar\"\nimport { SidebarProvider } from \"./components/ui/sidebar\"\n\nexport default function Dashboard2Wrapper() {\n return (\n <SidebarProvider className=\"bg-sidebar\">\n <DashboardSidebar />\n <div className=\"h-full min-h-0 w-full overflow-hidden lg:px-2 lg:pb-2\">\n <div className=\"bg-container flex h-full min-h-0 w-full flex-col items-center justify-start overflow-hidden bg-background lg:rounded-md lg:border\">\n <DashboardHeader />\n <DashboardContent />\n </div>\n </div>\n </SidebarProvider>\n )\n}\n"
205
- },
206
- {
207
- "path": "registry/example-apps/default/dashboard-2/lib/utils.ts",
208
- "type": "registry:lib",
209
- "target": "components/example-apps/dashboard-2/lib/utils.ts",
210
- "content": "import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"
211
- },
212
- {
213
- "path": "registry/example-apps/default/dashboard-2/mock-data/dashboard.ts",
214
- "type": "registry:lib",
215
- "target": "components/example-apps/dashboard-2/mock-data/dashboard.ts",
216
- "content": "export type LeadType = \"cold\" | \"warm\"\nexport type LeadStatus = \"closed\" | \"lost\"\nexport type LeadSource =\n | \"linkedin\"\n | \"google\"\n | \"referral\"\n | \"website\"\n | \"cold-call\"\n\nexport interface Lead {\n id: string\n name: string\n avatar: string\n type: LeadType\n email: string\n followUp: string\n status: LeadStatus\n website: string\n score: number\n source: LeadSource\n}\n\nexport interface TopPerformer {\n id: string\n name: string\n avatar: string\n score: number\n icon: \"star\" | \"user\"\n}\n\nexport const dashboardStats = {\n generatedRevenue: {\n value: \"$9.4M\",\n change: 14,\n },\n signedClients: {\n value: \"38\",\n change: 10,\n },\n totalLeads: {\n value: \"712\",\n change: 8,\n },\n teamMembers: {\n value: \"16\",\n activeCount: 12,\n },\n}\n\nexport const leadsChartDataWeek = [\n { date: \"Mon\", line1: 55, line2: 74, line3: 88, line4: 110 },\n { date: \"Tue\", line1: 62, line2: 80, line3: 96, line4: 124 },\n { date: \"Wed\", line1: 58, line2: 76, line3: 92, line4: 118 },\n { date: \"Thu\", line1: 68, line2: 88, line3: 105, line4: 132 },\n { date: \"Fri\", line1: 72, line2: 94, line3: 116, line4: 141 },\n { date: \"Sat\", line1: 84, line2: 102, line3: 130, line4: 156 },\n { date: \"Sun\", line1: 70, line2: 90, line3: 108, line4: 136 },\n]\n\nexport const leadsChartDataMonth = [\n { date: \"Jan 3\", line1: 180, line2: 220, line3: 260, line4: 320 },\n { date: \"Jan 7\", line1: 190, line2: 234, line3: 278, line4: 338 },\n { date: \"Jan 11\", line1: 205, line2: 250, line3: 295, line4: 355 },\n { date: \"Jan 15\", line1: 218, line2: 266, line3: 315, line4: 374 },\n { date: \"Jan 19\", line1: 225, line2: 282, line3: 330, line4: 392 },\n { date: \"Jan 23\", line1: 214, line2: 274, line3: 320, line4: 382 },\n { date: \"Jan 27\", line1: 236, line2: 298, line3: 346, line4: 410 },\n { date: \"Jan 31\", line1: 244, line2: 312, line3: 360, line4: 428 },\n { date: \"Feb 4\", line1: 252, line2: 320, line3: 372, line4: 440 },\n]\n\nexport const leadsChartDataQuarter = [\n { date: \"Jan\", line1: 210, line2: 275, line3: 320, line4: 385 },\n { date: \"Feb\", line1: 232, line2: 298, line3: 346, line4: 412 },\n { date: \"Mar\", line1: 248, line2: 318, line3: 370, line4: 438 },\n { date: \"Apr\", line1: 262, line2: 336, line3: 392, line4: 464 },\n { date: \"May\", line1: 276, line2: 352, line3: 412, line4: 488 },\n { date: \"Jun\", line1: 288, line2: 368, line3: 428, line4: 510 },\n { date: \"Jul\", line1: 274, line2: 354, line3: 408, line4: 486 },\n { date: \"Aug\", line1: 296, line2: 382, line3: 438, line4: 522 },\n { date: \"Sep\", line1: 308, line2: 396, line3: 452, line4: 540 },\n]\n\nexport const topPerformers: TopPerformer[] = [\n {\n id: \"1\",\n name: \"Maya R.\",\n avatar: \"https://api.dicebear.com/9.x/icons/svg?seed=maya\",\n score: 118,\n icon: \"star\",\n },\n {\n id: \"2\",\n name: \"Jordan F.\",\n avatar: \"https://api.dicebear.com/9.x/icons/svg?seed=jordan\",\n score: 96,\n icon: \"user\",\n },\n {\n id: \"3\",\n name: \"Evan K.\",\n avatar: \"https://api.dicebear.com/9.x/icons/svg?seed=evan\",\n score: 88,\n icon: \"user\",\n },\n {\n id: \"4\",\n name: \"Lena P.\",\n avatar: \"https://api.dicebear.com/9.x/icons/svg?seed=lena\",\n score: 73,\n icon: \"user\",\n },\n {\n id: \"5\",\n name: \"Omar T.\",\n avatar: \"https://api.dicebear.com/9.x/icons/svg?seed=omar\",\n score: 67,\n icon: \"user\",\n },\n]\n\nexport const leads: Lead[] = [\n {\n id: \"1\",\n name: \"Ava Mitchell\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=ava-mitchell\",\n type: \"warm\",\n email: \"ava.mitchell@email.com\",\n followUp: \"Today\",\n status: \"closed\",\n website: \"harborheightshomes.com\",\n score: 94,\n source: \"website\",\n },\n {\n id: \"2\",\n name: \"Noah Bennett\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=noah-bennett\",\n type: \"cold\",\n email: \"noah.bennett@email.com\",\n followUp: \"In 2 days\",\n status: \"lost\",\n website: \"-\",\n score: 41,\n source: \"google\",\n },\n {\n id: \"3\",\n name: \"Mia Carter\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=mia-carter\",\n type: \"warm\",\n email: \"mia.carter@email.com\",\n followUp: \"Tomorrow\",\n status: \"closed\",\n website: \"oakglenrealty.com\",\n score: 89,\n source: \"referral\",\n },\n {\n id: \"4\",\n name: \"Liam Flores\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=liam-flores\",\n type: \"cold\",\n email: \"liam.flores@email.com\",\n followUp: \"In 3 days\",\n status: \"lost\",\n website: \"-\",\n score: 36,\n source: \"cold-call\",\n },\n {\n id: \"5\",\n name: \"Emma King\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=emma-king\",\n type: \"warm\",\n email: \"emma.king@email.com\",\n followUp: \"In 1 week\",\n status: \"closed\",\n website: \"baylineproperties.com\",\n score: 91,\n source: \"linkedin\",\n },\n {\n id: \"6\",\n name: \"Ethan Cruz\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=ethan-cruz\",\n type: \"cold\",\n email: \"ethan.cruz@email.com\",\n followUp: \"In 4 days\",\n status: \"lost\",\n website: \"maplecrestliving.com\",\n score: 48,\n source: \"google\",\n },\n {\n id: \"7\",\n name: \"Sophia Ward\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=sophia-ward\",\n type: \"warm\",\n email: \"sophia.ward@email.com\",\n followUp: \"In 2 days\",\n status: \"closed\",\n website: \"northgatehomes.com\",\n score: 87,\n source: \"website\",\n },\n {\n id: \"8\",\n name: \"James Price\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=james-price\",\n type: \"cold\",\n email: \"james.price@email.com\",\n followUp: \"In 5 days\",\n status: \"lost\",\n website: \"-\",\n score: 39,\n source: \"cold-call\",\n },\n {\n id: \"9\",\n name: \"Olivia Reed\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=olivia-reed\",\n type: \"warm\",\n email: \"olivia.reed@email.com\",\n followUp: \"In 1 day\",\n status: \"closed\",\n website: \"cedarpointrealty.com\",\n score: 93,\n source: \"referral\",\n },\n {\n id: \"10\",\n name: \"Benjamin Hale\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=benjamin-hale\",\n type: \"cold\",\n email: \"benjamin.hale@email.com\",\n followUp: \"In 1 week\",\n status: \"lost\",\n website: \"-\",\n score: 33,\n source: \"google\",\n },\n {\n id: \"11\",\n name: \"Charlotte Kim\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=charlotte-kim\",\n type: \"warm\",\n email: \"charlotte.kim@email.com\",\n followUp: \"In 3 days\",\n status: \"closed\",\n website: \"riversideestates.com\",\n score: 85,\n source: \"linkedin\",\n },\n {\n id: \"12\",\n name: \"Lucas Patel\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=lucas-patel\",\n type: \"cold\",\n email: \"lucas.patel@email.com\",\n followUp: \"In 6 days\",\n status: \"lost\",\n website: \"greystoneproperties.com\",\n score: 52,\n source: \"website\",\n },\n {\n id: \"13\",\n name: \"Amelia Ross\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=amelia-ross\",\n type: \"warm\",\n email: \"amelia.ross@email.com\",\n followUp: \"Tomorrow\",\n status: \"closed\",\n website: \"seaviewresidences.com\",\n score: 90,\n source: \"referral\",\n },\n {\n id: \"14\",\n name: \"Henry Moore\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=henry-moore\",\n type: \"cold\",\n email: \"henry.moore@email.com\",\n followUp: \"In 2 weeks\",\n status: \"lost\",\n website: \"-\",\n score: 29,\n source: \"cold-call\",\n },\n {\n id: \"15\",\n name: \"Harper Young\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=harper-young\",\n type: \"warm\",\n email: \"harper.young@email.com\",\n followUp: \"In 2 days\",\n status: \"closed\",\n website: \"hillsidehomes.com\",\n score: 88,\n source: \"website\",\n },\n {\n id: \"16\",\n name: \"Alexander Scott\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=alexander-scott\",\n type: \"cold\",\n email: \"alexander.scott@email.com\",\n followUp: \"In 4 days\",\n status: \"lost\",\n website: \"sunridge-realty.com\",\n score: 47,\n source: \"google\",\n },\n {\n id: \"17\",\n name: \"Evelyn Diaz\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=evelyn-diaz\",\n type: \"warm\",\n email: \"evelyn.diaz@email.com\",\n followUp: \"In 1 week\",\n status: \"closed\",\n website: \"harborlightliving.com\",\n score: 82,\n source: \"linkedin\",\n },\n {\n id: \"18\",\n name: \"Sebastian Clark\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=sebastian-clark\",\n type: \"cold\",\n email: \"sebastian.clark@email.com\",\n followUp: \"In 5 days\",\n status: \"lost\",\n website: \"-\",\n score: 38,\n source: \"cold-call\",\n },\n {\n id: \"19\",\n name: \"Ella Rivera\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=ella-rivera\",\n type: \"warm\",\n email: \"ella.rivera@email.com\",\n followUp: \"Today\",\n status: \"closed\",\n website: \"citypointcondos.com\",\n score: 96,\n source: \"referral\",\n },\n {\n id: \"20\",\n name: \"Jack Nguyen\",\n avatar: \"https://api.dicebear.com/9.x/glass/svg?seed=jack-nguyen\",\n type: \"cold\",\n email: \"jack.nguyen@email.com\",\n followUp: \"In 3 days\",\n status: \"lost\",\n website: \"pinegroverealty.com\",\n score: 43,\n source: \"google\",\n },\n]\n"
217
- },
218
- {
219
- "path": "registry/example-apps/default/dashboard-2/store/dashboard-store.ts",
220
- "type": "registry:lib",
221
- "target": "components/example-apps/dashboard-2/store/dashboard-store.ts",
222
- "content": "import { create } from \"zustand\"\n\nimport { LeadSource, LeadStatus, LeadType } from \"../mock-data/dashboard\"\n\ninterface DashboardStore {\n searchQuery: string\n typeFilter: LeadType | \"all\"\n statusFilter: LeadStatus | \"all\"\n sourceFilter: LeadSource | \"all\"\n sortBy: \"name\" | \"email\" | \"followUp\" | \"status\" | \"score\"\n sortOrder: \"asc\" | \"desc\"\n chartPeriod: \"last_week\" | \"last_month\" | \"last_quarter\"\n currentPage: number\n itemsPerPage: number\n setSearchQuery: (query: string) => void\n setTypeFilter: (filter: LeadType | \"all\") => void\n setStatusFilter: (filter: LeadStatus | \"all\") => void\n setSourceFilter: (filter: LeadSource | \"all\") => void\n setSortBy: (sort: \"name\" | \"email\" | \"followUp\" | \"status\" | \"score\") => void\n setSortOrder: (order: \"asc\" | \"desc\") => void\n setChartPeriod: (period: \"last_week\" | \"last_month\" | \"last_quarter\") => void\n setCurrentPage: (page: number) => void\n setItemsPerPage: (items: number) => void\n clearFilters: () => void\n}\n\nexport const useDashboardStore = create<DashboardStore>((set) => ({\n searchQuery: \"\",\n typeFilter: \"all\",\n statusFilter: \"all\",\n sourceFilter: \"all\",\n sortBy: \"name\",\n sortOrder: \"asc\",\n chartPeriod: \"last_month\",\n currentPage: 1,\n itemsPerPage: 10,\n setSearchQuery: (query) => set({ searchQuery: query }),\n setTypeFilter: (filter) => set({ typeFilter: filter, currentPage: 1 }),\n setStatusFilter: (filter) => set({ statusFilter: filter, currentPage: 1 }),\n setSourceFilter: (filter) => set({ sourceFilter: filter, currentPage: 1 }),\n setSortBy: (sort) => set({ sortBy: sort }),\n setSortOrder: (order) => set({ sortOrder: order }),\n setChartPeriod: (period) => set({ chartPeriod: period }),\n setCurrentPage: (page) => set({ currentPage: page }),\n setItemsPerPage: (items) => set({ itemsPerPage: items, currentPage: 1 }),\n clearFilters: () =>\n set({\n searchQuery: \"\",\n typeFilter: \"all\",\n statusFilter: \"all\",\n sourceFilter: \"all\",\n sortBy: \"name\",\n sortOrder: \"asc\",\n currentPage: 1,\n }),\n}))\n"
223
- }
224
- ],
225
- "categories": [
226
- "example-app",
227
- "dashboards",
228
- "business",
229
- "analytics",
230
- "metrics"
231
- ],
232
- "dependencies": [
233
- "@base-ui/react",
234
- "@hugeicons/core-free-icons",
235
- "@hugeicons/react",
236
- "class-variance-authority",
237
- "clsx",
238
- "next-themes",
239
- "recharts",
240
- "tailwind-merge",
241
- "zustand"
242
- ],
243
- "registryDependencies": [
244
- "https://www.loveui.dev/r/avatar.json",
245
- "https://www.loveui.dev/r/button.json",
246
- "https://www.loveui.dev/r/checkbox.json",
247
- "https://www.loveui.dev/r/collapsible.json",
248
- "https://www.loveui.dev/r/input.json",
249
- "https://www.loveui.dev/r/menu.json",
250
- "https://www.loveui.dev/r/select.json",
251
- "https://www.loveui.dev/r/table.json"
252
- ],
253
- "meta": {
254
- "source": "example-app",
255
- "appName": "dashboard-2",
256
- "routes": [
257
- {
258
- "path": "/",
259
- "title": "Dashboard",
260
- "description": "Business dashboard overview"
261
- }
262
- ]
263
- }
264
- }