@catalystsoftware/ui 1.0.12 → 1.0.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 (1839) hide show
  1. package/dist/components/catalyst-ui/background/animated-beam.tsx +189 -0
  2. package/dist/components/catalyst-ui/background/background-gradient.tsx +77 -0
  3. package/dist/components/catalyst-ui/background/background-paths.tsx +132 -0
  4. package/dist/components/catalyst-ui/background/canvas-fractal-grid.tsx +1862 -0
  5. package/dist/components/catalyst-ui/background/distorted-glass.tsx +0 -0
  6. package/dist/components/catalyst-ui/background/dot-pattern.tsx +169 -0
  7. package/dist/components/catalyst-ui/background/dotted-glow-background.tsx +342 -0
  8. package/dist/components/catalyst-ui/background/dotted-map.tsx +193 -0
  9. package/dist/components/catalyst-ui/background/dynamic-rain.tsx +216 -0
  10. package/dist/components/catalyst-ui/background/flickering-grid.tsx +211 -0
  11. package/dist/components/catalyst-ui/background/fractal-grid.tsx +666 -0
  12. package/dist/components/catalyst-ui/background/hexagon-background.tsx +102 -0
  13. package/dist/components/catalyst-ui/background/index.ts +25 -0
  14. package/dist/components/catalyst-ui/background/interactive-grid-pattern.tsx +90 -0
  15. package/dist/components/catalyst-ui/background/lamp.tsx +105 -0
  16. package/dist/components/catalyst-ui/background/orbiting-circles.tsx +76 -0
  17. package/dist/components/catalyst-ui/background/particles.tsx +286 -0
  18. package/dist/components/catalyst-ui/background/progressive-blur.tsx +113 -0
  19. package/dist/components/catalyst-ui/background/retro-grid-background.tsx +104 -0
  20. package/dist/components/catalyst-ui/background/smoke.tsx +117 -0
  21. package/dist/components/catalyst-ui/background/sparkles.tsx +435 -0
  22. package/dist/components/catalyst-ui/background/stripe-bg-guides.tsx +260 -0
  23. package/dist/components/catalyst-ui/background/texture-overlay.tsx +207 -0
  24. package/dist/components/catalyst-ui/background/vortex.tsx +257 -0
  25. package/dist/components/catalyst-ui/buttons/animated-theme-toggler.tsx +90 -0
  26. package/dist/components/catalyst-ui/buttons/attract-button.tsx +167 -0
  27. package/dist/components/catalyst-ui/buttons/bg-animate-button.tsx +249 -0
  28. package/dist/components/catalyst-ui/buttons/button-group.tsx +203 -0
  29. package/dist/components/catalyst-ui/buttons/command-button.tsx +109 -0
  30. package/dist/components/catalyst-ui/buttons/copy-button.tsx +117 -0
  31. package/dist/components/catalyst-ui/buttons/copy-text.tsx +347 -0
  32. package/dist/components/catalyst-ui/buttons/export-file.tsx +262 -0
  33. package/dist/components/catalyst-ui/buttons/flip-button.tsx +106 -0
  34. package/dist/components/catalyst-ui/buttons/float-button.tsx +197 -0
  35. package/dist/components/catalyst-ui/buttons/form-button.tsx +90 -0
  36. package/dist/components/catalyst-ui/buttons/hold-button.tsx +208 -0
  37. package/dist/components/catalyst-ui/buttons/index.ts +35 -0
  38. package/dist/components/catalyst-ui/buttons/input-button.tsx +192 -0
  39. package/dist/components/catalyst-ui/buttons/liquid-button.tsx +53 -0
  40. package/dist/components/catalyst-ui/buttons/particle-button.tsx +193 -0
  41. package/dist/components/catalyst-ui/buttons/rating-button-1.tsx +243 -0
  42. package/dist/components/catalyst-ui/buttons/rating-button.tsx +226 -0
  43. package/dist/components/catalyst-ui/buttons/ripple-button.tsx +146 -0
  44. package/dist/components/catalyst-ui/buttons/scroll-to-top.tsx +47 -0
  45. package/dist/components/catalyst-ui/buttons/shimmer-button.tsx +84 -0
  46. package/dist/components/catalyst-ui/buttons/slide-button.tsx +90 -0
  47. package/dist/components/catalyst-ui/buttons/social-button.tsx +194 -0
  48. package/dist/components/catalyst-ui/buttons/split-button.tsx +121 -0
  49. package/dist/components/catalyst-ui/buttons/switch-button.tsx +316 -0
  50. package/dist/components/catalyst-ui/buttons/text-reveal-button.tsx +65 -0
  51. package/dist/components/catalyst-ui/buttons/theme-switcher.tsx +102 -0
  52. package/dist/components/catalyst-ui/buttons/theme-toggle-button.tsx +312 -0
  53. package/dist/components/catalyst-ui/buttons/toggle-button.tsx +125 -0
  54. package/dist/components/catalyst-ui/buttons/tooltip-button.tsx +24 -0
  55. package/dist/components/catalyst-ui/charts/area-chart.tsx +989 -0
  56. package/dist/components/catalyst-ui/charts/bar-chart.tsx +887 -0
  57. package/dist/components/catalyst-ui/charts/bar-list.tsx +171 -0
  58. package/dist/components/catalyst-ui/charts/category-bar.tsx +221 -0
  59. package/dist/components/catalyst-ui/charts/chart-utils.ts +168 -0
  60. package/dist/components/catalyst-ui/charts/combo-chart.tsx +1179 -0
  61. package/dist/components/catalyst-ui/charts/donut-chart.tsx +337 -0
  62. package/dist/components/catalyst-ui/charts/index.ts +14 -0
  63. package/dist/components/catalyst-ui/charts/line-chart.tsx +907 -0
  64. package/dist/components/catalyst-ui/charts/spark-chart.tsx +328 -0
  65. package/dist/components/catalyst-ui/chat/chat.tsx +491 -0
  66. package/dist/components/catalyst-ui/code/code-block-section.tsx +939 -0
  67. package/dist/components/catalyst-ui/code/code-comparison.tsx +221 -0
  68. package/dist/components/catalyst-ui/code/code-comparison1.tsx +203 -0
  69. package/dist/components/catalyst-ui/code/code-editor.tsx +318 -0
  70. package/dist/components/catalyst-ui/code/code-section.tsx +62 -0
  71. package/dist/components/catalyst-ui/code/css-section.tsx +142 -0
  72. package/dist/components/catalyst-ui/code/html-section.tsx +102 -0
  73. package/dist/components/catalyst-ui/code/index.ts +22 -0
  74. package/dist/components/catalyst-ui/code/installCode-section.tsx +181 -0
  75. package/dist/components/catalyst-ui/code/installCodeArray-section.tsx +186 -0
  76. package/dist/components/catalyst-ui/code/installGithub-section.tsx +119 -0
  77. package/dist/components/catalyst-ui/code/json-section.tsx +253 -0
  78. package/dist/components/catalyst-ui/code/props-section.tsx +605 -0
  79. package/dist/components/catalyst-ui/code/sandbox.tsx +398 -0
  80. package/dist/components/catalyst-ui/code/sandbox2.tsx +3194 -0
  81. package/dist/components/catalyst-ui/code/terminal-1.tsx +119 -0
  82. package/dist/components/catalyst-ui/code/terminal-code-section.tsx +395 -0
  83. package/dist/components/catalyst-ui/code/terminal.tsx +315 -0
  84. package/dist/components/catalyst-ui/code/tsx-section.tsx +176 -0
  85. package/dist/components/catalyst-ui/comboboxes/choicebox.tsx +203 -0
  86. package/dist/components/catalyst-ui/comboboxes/combobox-0.tsx +556 -0
  87. package/dist/components/catalyst-ui/comboboxes/combobox-1.tsx +146 -0
  88. package/dist/components/catalyst-ui/comboboxes/combobox2.tsx +255 -0
  89. package/dist/components/catalyst-ui/comboboxes/emoji-picker.tsx +486 -0
  90. package/dist/components/catalyst-ui/comboboxes/filter-combobox.tsx +46 -0
  91. package/dist/components/catalyst-ui/comboboxes/index.ts +9 -0
  92. package/dist/components/catalyst-ui/comboboxes/multi-combobox.tsx +169 -0
  93. package/dist/components/catalyst-ui/comboboxes/nested-combobox.tsx +211 -0
  94. package/dist/components/catalyst-ui/commands/command-2.tsx +126 -0
  95. package/dist/components/catalyst-ui/commands/command-w-combobox.tsx +108 -0
  96. package/dist/components/catalyst-ui/commands/index.ts +6 -0
  97. package/dist/components/catalyst-ui/commands/nested-command-dialog.tsx +429 -0
  98. package/dist/components/catalyst-ui/commands/nested-command.tsx +133 -0
  99. package/dist/components/catalyst-ui/core/components/3d-card.tsx +144 -0
  100. package/dist/components/catalyst-ui/core/components/3d-card1.tsx +196 -0
  101. package/dist/components/catalyst-ui/core/components/android.tsx +105 -0
  102. package/dist/components/catalyst-ui/core/components/apple-cards-carousel.tsx +376 -0
  103. package/dist/components/catalyst-ui/core/components/apple-dock.tsx +280 -0
  104. package/dist/components/catalyst-ui/core/components/badge-1.tsx +117 -0
  105. package/dist/components/catalyst-ui/core/components/card-flip.tsx +204 -0
  106. package/dist/components/catalyst-ui/core/components/card-stack.tsx +224 -0
  107. package/dist/components/catalyst-ui/core/components/chat-bubble.tsx +198 -0
  108. package/dist/components/catalyst-ui/core/components/collapsible-section.tsx +92 -0
  109. package/dist/components/catalyst-ui/core/components/comment.tsx +812 -0
  110. package/dist/components/catalyst-ui/core/components/counter.tsx +77 -0
  111. package/dist/components/catalyst-ui/core/components/credit-card.tsx +406 -0
  112. package/dist/components/catalyst-ui/core/components/device-mockup.tsx +436 -0
  113. package/dist/components/catalyst-ui/core/components/embed.tsx +0 -0
  114. package/dist/components/catalyst-ui/core/components/faq.tsx +166 -0
  115. package/dist/components/catalyst-ui/core/components/feed.tsx +741 -0
  116. package/dist/components/catalyst-ui/core/components/fixed-marker.tsx +232 -0
  117. package/dist/components/catalyst-ui/core/components/for.tsx +138 -0
  118. package/dist/components/catalyst-ui/core/components/glowing-effect-card.tsx +273 -0
  119. package/dist/components/catalyst-ui/core/components/iframe.tsx +175 -0
  120. package/dist/components/catalyst-ui/core/components/in-place.tsx +285 -0
  121. package/dist/components/catalyst-ui/core/components/iphone-15-pro.tsx +129 -0
  122. package/dist/components/catalyst-ui/core/components/macbook-scroll.tsx +702 -0
  123. package/dist/components/catalyst-ui/core/components/magic-card.tsx +102 -0
  124. package/dist/components/catalyst-ui/core/components/message-dock.tsx +61 -0
  125. package/dist/components/catalyst-ui/core/components/meter.tsx +123 -0
  126. package/dist/components/catalyst-ui/core/components/number-ticker.tsx +67 -0
  127. package/dist/components/catalyst-ui/core/components/panel.tsx +286 -0
  128. package/dist/components/catalyst-ui/core/components/pill-1.tsx +166 -0
  129. package/dist/components/catalyst-ui/core/components/qrcode.tsx +1153 -0
  130. package/dist/components/catalyst-ui/core/components/safari-device.tsx +197 -0
  131. package/dist/components/catalyst-ui/core/components/sliding-number.tsx +235 -0
  132. package/dist/components/catalyst-ui/core/components/spoiler.tsx +161 -0
  133. package/dist/components/catalyst-ui/core/components/stat.tsx +572 -0
  134. package/dist/components/catalyst-ui/core/components/sticky.tsx +214 -0
  135. package/dist/components/catalyst-ui/core/components/tag.tsx +551 -0
  136. package/dist/components/catalyst-ui/core/components/tweet-card-1.tsx +164 -0
  137. package/dist/components/catalyst-ui/core/components/tweet-card.tsx +229 -0
  138. package/dist/components/catalyst-ui/core/data-display/barcode.tsx +1007 -0
  139. package/dist/components/catalyst-ui/core/data-display/data-list.tsx +344 -0
  140. package/dist/components/catalyst-ui/core/data-display/descriptionLists.tsx +205 -0
  141. package/dist/components/catalyst-ui/core/data-display/diff.tsx +186 -0
  142. package/dist/components/catalyst-ui/core/data-display/heat-map-calendar.tsx +361 -0
  143. package/dist/components/catalyst-ui/core/data-display/order-list.tsx +0 -0
  144. package/dist/components/catalyst-ui/core/data-display/stats-1.tsx +129 -0
  145. package/dist/components/catalyst-ui/core/data-display/stats.tsx +139 -0
  146. package/dist/components/catalyst-ui/core/data-display/ticker.tsx +179 -0
  147. package/dist/components/catalyst-ui/core/data-display/timeline-1.tsx +452 -0
  148. package/dist/components/catalyst-ui/core/data-display/timeline2.tsx +240 -0
  149. package/dist/components/catalyst-ui/core/data-display/tracker.tsx +209 -0
  150. package/dist/components/catalyst-ui/core/data-display/transfer-list.tsx +278 -0
  151. package/dist/components/catalyst-ui/core/data-display/tremor-tracker.tsx +103 -0
  152. package/dist/components/catalyst-ui/core/demos/FAQ-demo.tsx +41 -0
  153. package/dist/components/catalyst-ui/core/demos/action-panels-demo.tsx +64 -0
  154. package/dist/components/catalyst-ui/core/demos/banner-demo.tsx +100 -0
  155. package/dist/components/catalyst-ui/core/demos/bentoGrid-demo.tsx +191 -0
  156. package/dist/components/catalyst-ui/core/demos/blog-demo.tsx +68 -0
  157. package/dist/components/catalyst-ui/core/demos/blogEditor-demo.tsx +10 -0
  158. package/dist/components/catalyst-ui/core/demos/blogPost-demo.tsx +41 -0
  159. package/dist/components/catalyst-ui/core/demos/button-groups-demo.tsx +111 -0
  160. package/dist/components/catalyst-ui/core/demos/cardHeadings-demo.tsx +65 -0
  161. package/dist/components/catalyst-ui/core/demos/catch-all.tsx +414 -0
  162. package/dist/components/catalyst-ui/core/demos/contact-demo.tsx +87 -0
  163. package/dist/components/catalyst-ui/core/demos/content-demo.tsx +52 -0
  164. package/dist/components/catalyst-ui/core/demos/cta-demo.tsx +64 -0
  165. package/dist/components/catalyst-ui/core/demos/descriptionLists-demo.tsx +109 -0
  166. package/dist/components/catalyst-ui/core/demos/edit-product-page-demo.tsx +11 -0
  167. package/dist/components/catalyst-ui/core/demos/empty-state-demo.tsx +37 -0
  168. package/dist/components/catalyst-ui/core/demos/feature-demo.tsx +104 -0
  169. package/dist/components/catalyst-ui/core/demos/feeds-demo.tsx +26 -0
  170. package/dist/components/catalyst-ui/core/demos/flyoutMenu-demo.tsx +156 -0
  171. package/dist/components/catalyst-ui/core/demos/footer-demo.tsx +62 -0
  172. package/dist/components/catalyst-ui/core/demos/form-layouts-demo.tsx +378 -0
  173. package/dist/components/catalyst-ui/core/demos/gridLists-demo.tsx +47 -0
  174. package/dist/components/catalyst-ui/core/demos/header-demo.tsx +0 -0
  175. package/dist/components/catalyst-ui/core/demos/header2-demo.tsx +77 -0
  176. package/dist/components/catalyst-ui/core/demos/headers-demo.tsx +659 -0
  177. package/dist/components/catalyst-ui/core/demos/hero-demo.tsx +75 -0
  178. package/dist/components/catalyst-ui/core/demos/input-groups-demo.tsx +75 -0
  179. package/dist/components/catalyst-ui/core/demos/landingPage-demo.tsx +222 -0
  180. package/dist/components/catalyst-ui/core/demos/list-demo.tsx +442 -0
  181. package/dist/components/catalyst-ui/core/demos/logoClouds-demo.tsx +36 -0
  182. package/dist/components/catalyst-ui/core/demos/mediaObject-demo.tsx +219 -0
  183. package/dist/components/catalyst-ui/core/demos/multiColumnLayouts-demo.tsx +42 -0
  184. package/dist/components/catalyst-ui/core/demos/newsLetter-demo.tsx +51 -0
  185. package/dist/components/catalyst-ui/core/demos/pageHeading-demo.tsx +55 -0
  186. package/dist/components/catalyst-ui/core/demos/pricing-demo.tsx +114 -0
  187. package/dist/components/catalyst-ui/core/demos/radio-group-demo.tsx +315 -0
  188. package/dist/components/catalyst-ui/core/demos/settingsScreen-demo.tsx +95 -0
  189. package/dist/components/catalyst-ui/core/demos/sidebar-demo.tsx +40 -0
  190. package/dist/components/catalyst-ui/core/demos/stackedLayout-demo.tsx +17 -0
  191. package/dist/components/catalyst-ui/core/demos/stackedLists-demo.tsx +60 -0
  192. package/dist/components/catalyst-ui/core/demos/stats-demo.tsx +99 -0
  193. package/dist/components/catalyst-ui/core/demos/team-demo.tsx +35 -0
  194. package/dist/components/catalyst-ui/core/demos/testimonial-demo.tsx +33 -0
  195. package/dist/components/catalyst-ui/core/demos/toggle-demo-demo.tsx +414 -0
  196. package/dist/components/catalyst-ui/core/feedback/alert-variant.tsx +101 -0
  197. package/dist/components/catalyst-ui/core/feedback/announcement.tsx +53 -0
  198. package/dist/components/catalyst-ui/core/feedback/banner-2.tsx +143 -0
  199. package/dist/components/catalyst-ui/core/feedback/banner.tsx +50 -0
  200. package/dist/components/catalyst-ui/core/feedback/banner1.tsx +64 -0
  201. package/dist/components/catalyst-ui/core/feedback/callout.tsx +18 -0
  202. package/dist/components/catalyst-ui/core/feedback/chat-bubble.tsx +770 -0
  203. package/dist/components/catalyst-ui/core/feedback/dimmer.tsx +518 -0
  204. package/dist/components/catalyst-ui/core/feedback/dot-loader.tsx +116 -0
  205. package/dist/components/catalyst-ui/core/feedback/empty-states.tsx +154 -0
  206. package/dist/components/catalyst-ui/core/feedback/hero-badge.tsx +90 -0
  207. package/dist/components/catalyst-ui/core/feedback/indicator.tsx +315 -0
  208. package/dist/components/catalyst-ui/core/feedback/loading.tsx +11 -0
  209. package/dist/components/catalyst-ui/core/feedback/spinner-2.tsx +10 -0
  210. package/dist/components/catalyst-ui/core/feedback/spinner-3.tsx +163 -0
  211. package/dist/components/catalyst-ui/core/feedback/spinner-4.tsx +276 -0
  212. package/dist/components/catalyst-ui/core/feedback/spinner.tsx +287 -0
  213. package/dist/components/catalyst-ui/core/feedback/status.tsx +54 -0
  214. package/dist/components/catalyst-ui/core/headings/cardHeadings.tsx +215 -0
  215. package/dist/components/catalyst-ui/core/headings/pageHeading.tsx +300 -0
  216. package/dist/components/catalyst-ui/core/headings/sectionHeadings.tsx +240 -0
  217. package/dist/components/catalyst-ui/core/heros/animated-hero.tsx +116 -0
  218. package/dist/components/catalyst-ui/core/heros/animated-hero1.tsx +108 -0
  219. package/dist/components/catalyst-ui/core/heros/hero-video-dialog.tsx +150 -0
  220. package/dist/components/catalyst-ui/core/index.ts +248 -0
  221. package/dist/components/catalyst-ui/core/layout/absolute-center.tsx +45 -0
  222. package/dist/components/catalyst-ui/core/layout/bento-grid.tsx +251 -0
  223. package/dist/components/catalyst-ui/core/layout/bento-grid1.tsx +58 -0
  224. package/dist/components/catalyst-ui/core/layout/bento-grid2.tsx +107 -0
  225. package/dist/components/catalyst-ui/core/layout/bento-system.tsx +101 -0
  226. package/dist/components/catalyst-ui/core/layout/box.tsx +231 -0
  227. package/dist/components/catalyst-ui/core/layout/card-layout.tsx +312 -0
  228. package/dist/components/catalyst-ui/core/layout/center.tsx +76 -0
  229. package/dist/components/catalyst-ui/core/layout/container-demo.tsx +340 -0
  230. package/dist/components/catalyst-ui/core/layout/container.tsx +280 -0
  231. package/dist/components/catalyst-ui/core/layout/flexbox-grid.tsx +469 -0
  232. package/dist/components/catalyst-ui/core/layout/grid.tsx +656 -0
  233. package/dist/components/catalyst-ui/core/layout/group.tsx +49 -0
  234. package/dist/components/catalyst-ui/core/layout/list.tsx +665 -0
  235. package/dist/components/catalyst-ui/core/layout/mediaObject.tsx +254 -0
  236. package/dist/components/catalyst-ui/core/layout/rail.tsx +175 -0
  237. package/dist/components/catalyst-ui/core/layout/section.tsx +86 -0
  238. package/dist/components/catalyst-ui/core/layout/stack.tsx +182 -0
  239. package/dist/components/catalyst-ui/core/lists/animated-list.tsx +98 -0
  240. package/dist/components/catalyst-ui/core/lists/feeds.tsx +190 -0
  241. package/dist/components/catalyst-ui/core/lists/file-tree.tsx +379 -0
  242. package/dist/components/catalyst-ui/core/lists/gridLists.tsx +212 -0
  243. package/dist/components/catalyst-ui/core/lists/index.ts +14 -0
  244. package/dist/components/catalyst-ui/core/lists/list-1.tsx +152 -0
  245. package/dist/components/catalyst-ui/core/lists/list.tsx +217 -0
  246. package/dist/components/catalyst-ui/core/lists/list1.tsx +138 -0
  247. package/dist/components/catalyst-ui/core/lists/pin-list.tsx +191 -0
  248. package/dist/components/catalyst-ui/core/lists/stackedLists.tsx +149 -0
  249. package/dist/components/catalyst-ui/core/lists/tables.tsx +615 -0
  250. package/dist/components/catalyst-ui/core/lists/tree.tsx +194 -0
  251. package/dist/components/catalyst-ui/core/modules/createEditSchedule.tsx +389 -0
  252. package/dist/components/catalyst-ui/core/modules/punchClock.tsx +304 -0
  253. package/dist/components/catalyst-ui/core/modules/schedule.tsx +188 -0
  254. package/dist/components/catalyst-ui/core/modules/viewPunchClockEntries.tsx +629 -0
  255. package/dist/components/catalyst-ui/core/navbars/navbar-01.tsx +264 -0
  256. package/dist/components/catalyst-ui/core/navbars/navbar-02.tsx +498 -0
  257. package/dist/components/catalyst-ui/core/navbars/navbar-03.tsx +263 -0
  258. package/dist/components/catalyst-ui/core/navbars/navbar-04.tsx +331 -0
  259. package/dist/components/catalyst-ui/core/navbars/navbar-05.tsx +400 -0
  260. package/dist/components/catalyst-ui/core/navbars/navbar-06.tsx +436 -0
  261. package/dist/components/catalyst-ui/core/navbars/navbar-07.tsx +331 -0
  262. package/dist/components/catalyst-ui/core/navbars/navbar-08.tsx +418 -0
  263. package/dist/components/catalyst-ui/core/navbars/navbar-09.tsx +440 -0
  264. package/dist/components/catalyst-ui/core/navbars/navbar-10.tsx +351 -0
  265. package/dist/components/catalyst-ui/core/navbars/navbar-11.tsx +444 -0
  266. package/dist/components/catalyst-ui/core/navbars/navbar-12/NotificationMenu.tsx +120 -0
  267. package/dist/components/catalyst-ui/core/navbars/navbar-12/TeamSwitcher.tsx +87 -0
  268. package/dist/components/catalyst-ui/core/navbars/navbar-12/UserMenu.tsx +80 -0
  269. package/dist/components/catalyst-ui/core/navbars/navbar-12/navbar-12.tsx +230 -0
  270. package/dist/components/catalyst-ui/core/navbars/navbar-13/UserMenu.tsx +80 -0
  271. package/dist/components/catalyst-ui/core/navbars/navbar-13/navbar-13.tsx +144 -0
  272. package/dist/components/catalyst-ui/core/navbars/navbar-14/InfoMenu.tsx +62 -0
  273. package/dist/components/catalyst-ui/core/navbars/navbar-14/NotificationMenu.tsx +122 -0
  274. package/dist/components/catalyst-ui/core/navbars/navbar-14/SettingsMenu.tsx +66 -0
  275. package/dist/components/catalyst-ui/core/navbars/navbar-14/navbar-14.tsx +156 -0
  276. package/dist/components/catalyst-ui/core/navbars/navbar-15/DatePicker.tsx +66 -0
  277. package/dist/components/catalyst-ui/core/navbars/navbar-15/Filters.tsx +160 -0
  278. package/dist/components/catalyst-ui/core/navbars/navbar-15/navbar-15.tsx +151 -0
  279. package/dist/components/catalyst-ui/core/navbars/navbar-16/AppToggle.tsx +125 -0
  280. package/dist/components/catalyst-ui/core/navbars/navbar-16/TeamSwitcher.tsx +87 -0
  281. package/dist/components/catalyst-ui/core/navbars/navbar-16/navbar-16.tsx +113 -0
  282. package/dist/components/catalyst-ui/core/navbars/navbar-17.tsx +209 -0
  283. package/dist/components/catalyst-ui/core/navbars/navbar-18.tsx +243 -0
  284. package/dist/components/catalyst-ui/core/navbars/navbar-19.tsx +333 -0
  285. package/dist/components/catalyst-ui/core/navigation/affix.tsx +123 -0
  286. package/dist/components/catalyst-ui/core/navigation/anchor.tsx +41 -0
  287. package/dist/components/catalyst-ui/core/navigation/dock-1.tsx +0 -0
  288. package/dist/components/catalyst-ui/core/navigation/dock-2.tsx +289 -0
  289. package/dist/components/catalyst-ui/core/navigation/dock.tsx +376 -0
  290. package/dist/components/catalyst-ui/core/navigation/efab.tsx +245 -0
  291. package/dist/components/catalyst-ui/core/navigation/fab-menu-component.tsx +299 -0
  292. package/dist/components/catalyst-ui/core/navigation/fab-menu.tsx +220 -0
  293. package/dist/components/catalyst-ui/core/navigation/fab.tsx +236 -0
  294. package/dist/components/catalyst-ui/core/navigation/index.ts +32 -0
  295. package/dist/components/catalyst-ui/core/navigation/limelight-nav.tsx +110 -0
  296. package/dist/components/catalyst-ui/core/navigation/mega-menu.tsx +354 -0
  297. package/dist/components/catalyst-ui/core/navigation/menu-dock.tsx +204 -0
  298. package/dist/components/catalyst-ui/core/navigation/message-dock.tsx +511 -0
  299. package/dist/components/catalyst-ui/core/navigation/page-nav.tsx +29 -0
  300. package/dist/components/catalyst-ui/core/navigation/page-sidebar-nav.tsx +39 -0
  301. package/dist/components/catalyst-ui/core/navigation/pagination-button.tsx +56 -0
  302. package/dist/components/catalyst-ui/core/navigation/pagination-wrapper.tsx +152 -0
  303. package/dist/components/catalyst-ui/core/navigation/panel-menu.tsx +201 -0
  304. package/dist/components/catalyst-ui/core/navigation/remix-link.tsx +40 -0
  305. package/dist/components/catalyst-ui/core/navigation/smooth-tab.tsx +412 -0
  306. package/dist/components/catalyst-ui/core/navigation/speed-dial.tsx +175 -0
  307. package/dist/components/catalyst-ui/core/navigation/stepper.tsx +290 -0
  308. package/dist/components/catalyst-ui/core/navigation/steps.tsx +578 -0
  309. package/dist/components/catalyst-ui/core/navigation/tab-menu.tsx +227 -0
  310. package/dist/components/catalyst-ui/core/navigation/tab-view.tsx +742 -0
  311. package/dist/components/catalyst-ui/core/navigation/toolbar-1.tsx +412 -0
  312. package/dist/components/catalyst-ui/core/navigation/toolbar.tsx +245 -0
  313. package/dist/components/catalyst-ui/core/sections/changelog-section.tsx +135 -0
  314. package/dist/components/catalyst-ui/core/sections/config-section.tsx +82 -0
  315. package/dist/components/catalyst-ui/core/sections/contact.tsx +600 -0
  316. package/dist/components/catalyst-ui/core/sections/content.tsx +386 -0
  317. package/dist/components/catalyst-ui/core/sections/layout.tsx +310 -0
  318. package/dist/components/catalyst-ui/core/sections/note-section.tsx +85 -0
  319. package/dist/components/catalyst-ui/core/sections/placeholder-code-section.tsx +14 -0
  320. package/dist/components/catalyst-ui/core/sections/step-number-section.tsx +16 -0
  321. package/dist/components/catalyst-ui/core/sections/team.tsx +372 -0
  322. package/dist/components/catalyst-ui/core/sections/useage-no-dash-section.tsx +79 -0
  323. package/dist/components/catalyst-ui/core/sections/useage-section.tsx +79 -0
  324. package/dist/components/catalyst-ui/core/shell/app-shell.tsx +321 -0
  325. package/dist/components/catalyst-ui/core/shell/content-shell.tsx +70 -0
  326. package/dist/components/catalyst-ui/core/shell/documentation/example.tsx +106 -0
  327. package/dist/components/catalyst-ui/core/shell/documentation/layout.config.tsx +200 -0
  328. package/dist/components/catalyst-ui/core/shell/documentation/layout.example.tsx +127 -0
  329. package/dist/components/catalyst-ui/core/shell/documentation/layout.tsx +280 -0
  330. package/dist/components/catalyst-ui/core/shell/multiColumnLayouts.tsx +364 -0
  331. package/dist/components/catalyst-ui/core/shell/sidebarLayout.tsx +459 -0
  332. package/dist/components/catalyst-ui/core/shell/stackedLayout.tsx +323 -0
  333. package/dist/components/catalyst-ui/core/shell/three-col/app.tsx +193 -0
  334. package/dist/components/catalyst-ui/core/shell/three-col/content.tsx +358 -0
  335. package/dist/components/catalyst-ui/core/shell/three-col/header.tsx +222 -0
  336. package/dist/components/catalyst-ui/core/shell/three-col/layout.tsx +120 -0
  337. package/dist/components/catalyst-ui/core/shell/three-col/side-navbar.tsx +305 -0
  338. package/dist/components/catalyst-ui/core/shell/three-col/sidebar.tsx +41 -0
  339. package/dist/components/catalyst-ui/crm/comp-297.tsx +24 -0
  340. package/dist/components/catalyst-ui/crm/comp-298.tsx +188 -0
  341. package/dist/components/catalyst-ui/crm/comp-299.tsx +24 -0
  342. package/dist/components/catalyst-ui/crm/comp-300.tsx +62 -0
  343. package/dist/components/catalyst-ui/crm/index.ts +5 -0
  344. package/dist/components/catalyst-ui/crm/tools/scripts-editor.tsx +3109 -0
  345. package/dist/components/catalyst-ui/crm/tools/scripts-viewer.tsx +215 -0
  346. package/dist/components/catalyst-ui/data/bg-data.tsx +901 -0
  347. package/dist/components/catalyst-ui/data/buttons-data.tsx +2327 -0
  348. package/dist/components/catalyst-ui/data/charts-data.tsx +102 -0
  349. package/dist/components/catalyst-ui/data/chat-data.tsx +83 -0
  350. package/dist/components/catalyst-ui/data/code-data.tsx +1040 -0
  351. package/dist/components/catalyst-ui/data/comboboxes-data.tsx +1843 -0
  352. package/dist/components/catalyst-ui/data/command-data.tsx +1381 -0
  353. package/dist/components/catalyst-ui/data/core-data.tsx +15953 -0
  354. package/dist/components/catalyst-ui/data/crm-data.tsx +47 -0
  355. package/dist/components/catalyst-ui/data/data.tsx +159 -0
  356. package/dist/components/catalyst-ui/data/date-and-time-data.tsx +554 -0
  357. package/dist/components/catalyst-ui/data/dependencies.tsx +7 -0
  358. package/dist/components/catalyst-ui/data/ecommerce-data.tsx +1387 -0
  359. package/dist/components/catalyst-ui/data/forms-data.tsx +7890 -0
  360. package/dist/components/catalyst-ui/data/hooks-data.tsx +5487 -0
  361. package/dist/components/catalyst-ui/data/index.ts +34 -0
  362. package/dist/components/catalyst-ui/data/inputs-data.tsx +557 -0
  363. package/dist/components/catalyst-ui/data/interactive-data.tsx +5394 -0
  364. package/dist/components/catalyst-ui/data/lofi-data.tsx +18295 -0
  365. package/dist/components/catalyst-ui/data/marketing-data.tsx +2546 -0
  366. package/dist/components/catalyst-ui/data/media-data.tsx +1510 -0
  367. package/dist/components/catalyst-ui/data/motion-data.tsx +5801 -0
  368. package/dist/components/catalyst-ui/data/overlay-data.tsx +4136 -0
  369. package/dist/components/catalyst-ui/data/pdf-data.tsx +124 -0
  370. package/dist/components/catalyst-ui/data/pos-data.tsx +213 -0
  371. package/dist/components/catalyst-ui/data/primitive-data.tsx +5170 -0
  372. package/dist/components/catalyst-ui/data/prompt-data.tsx +1226 -0
  373. package/dist/components/catalyst-ui/data/requiredLibs.ts +4 -0
  374. package/dist/components/catalyst-ui/data/sandbox-data.tsx +1 -0
  375. package/dist/components/catalyst-ui/data/sidebars-data.tsx +5421 -0
  376. package/dist/components/catalyst-ui/data/stacks-data.tsx +32 -0
  377. package/dist/components/catalyst-ui/data/table-data.tsx +706 -0
  378. package/dist/components/catalyst-ui/data/tools-data.tsx +6910 -0
  379. package/dist/components/catalyst-ui/data/typography-data.tsx +2050 -0
  380. package/dist/components/catalyst-ui/data/utils-data.tsx +6500 -0
  381. package/dist/components/catalyst-ui/data/x-data.tsx +1171 -0
  382. package/dist/components/catalyst-ui/data2.tsx +158 -0
  383. package/dist/components/catalyst-ui/date-and-time/appointment-scheduler.tsx +381 -0
  384. package/dist/components/catalyst-ui/date-and-time/calendar-2.tsx +498 -0
  385. package/dist/components/catalyst-ui/date-and-time/calendar-for-sidebar.tsx +68 -0
  386. package/dist/components/catalyst-ui/date-and-time/calendar-rac.tsx +112 -0
  387. package/dist/components/catalyst-ui/date-and-time/date-picker-input.tsx +76 -0
  388. package/dist/components/catalyst-ui/date-and-time/date-picker.tsx +64 -0
  389. package/dist/components/catalyst-ui/date-and-time/date-range-picker-input.tsx +84 -0
  390. package/dist/components/catalyst-ui/date-and-time/date-range-picker.tsx +125 -0
  391. package/dist/components/catalyst-ui/date-and-time/datefield-rac.tsx +88 -0
  392. package/dist/components/catalyst-ui/date-and-time/docked-date-picker.tsx +267 -0
  393. package/dist/components/catalyst-ui/date-and-time/drawerDatePicker.tsx +50 -0
  394. package/dist/components/catalyst-ui/date-and-time/event-calendar/agenda-view.tsx +90 -0
  395. package/dist/components/catalyst-ui/date-and-time/event-calendar/calendar-dnd-context.tsx +373 -0
  396. package/dist/components/catalyst-ui/date-and-time/event-calendar/constants.ts +18 -0
  397. package/dist/components/catalyst-ui/date-and-time/event-calendar/day-view.tsx +322 -0
  398. package/dist/components/catalyst-ui/date-and-time/event-calendar/demo.tsx +162 -0
  399. package/dist/components/catalyst-ui/date-and-time/event-calendar/draggable-event.tsx +141 -0
  400. package/dist/components/catalyst-ui/date-and-time/event-calendar/droppable-cell.tsx +57 -0
  401. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-calendar.tsx +400 -0
  402. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-dialog.tsx +467 -0
  403. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-item.tsx +262 -0
  404. package/dist/components/catalyst-ui/date-and-time/event-calendar/events-popup.tsx +135 -0
  405. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-current-time-indicator.ts +57 -0
  406. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-event-visibility.ts +86 -0
  407. package/dist/components/catalyst-ui/date-and-time/event-calendar/index.ts +23 -0
  408. package/dist/components/catalyst-ui/date-and-time/event-calendar/month-view.tsx +276 -0
  409. package/dist/components/catalyst-ui/date-and-time/event-calendar/types.ts +20 -0
  410. package/dist/components/catalyst-ui/date-and-time/event-calendar/utils.ts +153 -0
  411. package/dist/components/catalyst-ui/date-and-time/event-calendar/week-view.tsx +406 -0
  412. package/dist/components/catalyst-ui/date-and-time/index.ts +74 -0
  413. package/dist/components/catalyst-ui/date-and-time/mini-calendar.tsx +230 -0
  414. package/dist/components/catalyst-ui/date-and-time/modal-date-input.tsx +229 -0
  415. package/dist/components/catalyst-ui/date-and-time/popover-date-input.tsx +233 -0
  416. package/dist/components/catalyst-ui/date-and-time/relative-time.tsx +181 -0
  417. package/dist/components/catalyst-ui/date-and-time/time-picker-dial.tsx +368 -0
  418. package/dist/components/catalyst-ui/date-and-time/time-picker-input.tsx +385 -0
  419. package/dist/components/catalyst-ui/date-and-time/time-picker.tsx +514 -0
  420. package/dist/components/catalyst-ui/demo/examples.tsx +10069 -0
  421. package/dist/components/catalyst-ui/demo/examples2.tsx +10954 -0
  422. package/dist/components/catalyst-ui/demo/index.ts +5 -0
  423. package/dist/components/catalyst-ui/ecommerce/components/categoryFilters.tsx +302 -0
  424. package/dist/components/catalyst-ui/ecommerce/components/categoryPreviews.tsx +464 -0
  425. package/dist/components/catalyst-ui/ecommerce/components/checkoutForms.tsx +991 -0
  426. package/dist/components/catalyst-ui/ecommerce/components/incentives.tsx +529 -0
  427. package/dist/components/catalyst-ui/ecommerce/components/orderHistory.tsx +380 -0
  428. package/dist/components/catalyst-ui/ecommerce/components/orderSummaries.tsx +482 -0
  429. package/dist/components/catalyst-ui/ecommerce/components/productCard.tsx +84 -0
  430. package/dist/components/catalyst-ui/ecommerce/components/productCard2.tsx +82 -0
  431. package/dist/components/catalyst-ui/ecommerce/components/productFeatures.tsx +764 -0
  432. package/dist/components/catalyst-ui/ecommerce/components/productLists.tsx +472 -0
  433. package/dist/components/catalyst-ui/ecommerce/components/productOverview.tsx +856 -0
  434. package/dist/components/catalyst-ui/ecommerce/components/productQuickViews.tsx +378 -0
  435. package/dist/components/catalyst-ui/ecommerce/components/promoSectionts.tsx +414 -0
  436. package/dist/components/catalyst-ui/ecommerce/components/reviews.tsx +274 -0
  437. package/dist/components/catalyst-ui/ecommerce/components/shoppingCarts.tsx +508 -0
  438. package/dist/components/catalyst-ui/ecommerce/components/storeNavigation.tsx +255 -0
  439. package/dist/components/catalyst-ui/ecommerce/demo/categoryFilters-demo.tsx +140 -0
  440. package/dist/components/catalyst-ui/ecommerce/demo/categoryPreviews-demo.tsx +252 -0
  441. package/dist/components/catalyst-ui/ecommerce/demo/checkoutForms-demo.tsx +76 -0
  442. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-data2.tsx +34 -0
  443. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-demo.tsx +10 -0
  444. package/dist/components/catalyst-ui/ecommerce/demo/incentives-demo.tsx +172 -0
  445. package/dist/components/catalyst-ui/ecommerce/demo/orderHistory-demo.tsx +81 -0
  446. package/dist/components/catalyst-ui/ecommerce/demo/orderSummaries-demo.tsx +98 -0
  447. package/dist/components/catalyst-ui/ecommerce/demo/pricingPage-demo.tsx +105 -0
  448. package/dist/components/catalyst-ui/ecommerce/demo/product.$id-demo.tsx +98 -0
  449. package/dist/components/catalyst-ui/ecommerce/demo/productCard-demo.tsx +308 -0
  450. package/dist/components/catalyst-ui/ecommerce/demo/productFeatures-demo.tsx +57 -0
  451. package/dist/components/catalyst-ui/ecommerce/demo/productLists-demo.tsx +130 -0
  452. package/dist/components/catalyst-ui/ecommerce/demo/productOverview-demo.tsx +328 -0
  453. package/dist/components/catalyst-ui/ecommerce/demo/productQuickViews-demo.tsx +242 -0
  454. package/dist/components/catalyst-ui/ecommerce/demo/promoSectionts-demo.tsx +169 -0
  455. package/dist/components/catalyst-ui/ecommerce/demo/reviews-demo.tsx +45 -0
  456. package/dist/components/catalyst-ui/ecommerce/demo/shoppingCarts-demo.tsx +73 -0
  457. package/dist/components/catalyst-ui/ecommerce/demo/store-demo.tsx +88 -0
  458. package/dist/components/catalyst-ui/ecommerce/demo/storeNavigation-demo.tsx +171 -0
  459. package/dist/components/catalyst-ui/ecommerce/index.ts +55 -0
  460. package/dist/components/catalyst-ui/ecommerce/modules/cash-drawer-wizard.tsx +1400 -0
  461. package/dist/components/catalyst-ui/ecommerce/modules/cash-till-manager.tsx +639 -0
  462. package/dist/components/catalyst-ui/ecommerce/modules/promotionEngine.ts +341 -0
  463. package/dist/components/catalyst-ui/ecommerce/modules/promotionsManager.tsx +840 -0
  464. package/dist/components/catalyst-ui/forms/action-bar-1.tsx +192 -0
  465. package/dist/components/catalyst-ui/forms/action-bar.tsx +154 -0
  466. package/dist/components/catalyst-ui/forms/action-panels.tsx +153 -0
  467. package/dist/components/catalyst-ui/forms/action-search-bar.tsx +268 -0
  468. package/dist/components/catalyst-ui/forms/auto-resizing-textarea.tsx +36 -0
  469. package/dist/components/catalyst-ui/forms/cascade-tree.tsx +224 -0
  470. package/dist/components/catalyst-ui/forms/cascader.tsx +219 -0
  471. package/dist/components/catalyst-ui/forms/check-tree-picker.tsx +330 -0
  472. package/dist/components/catalyst-ui/forms/check-tree.tsx +348 -0
  473. package/dist/components/catalyst-ui/forms/checkbox-1.tsx +48 -0
  474. package/dist/components/catalyst-ui/forms/checkbox-card-1.tsx +64 -0
  475. package/dist/components/catalyst-ui/forms/checkbox-card.tsx +145 -0
  476. package/dist/components/catalyst-ui/forms/checkbox-multistate.tsx +97 -0
  477. package/dist/components/catalyst-ui/forms/checkbox-tristate.tsx +158 -0
  478. package/dist/components/catalyst-ui/forms/color-picker-1.tsx +299 -0
  479. package/dist/components/catalyst-ui/forms/color-picker-3.tsx +487 -0
  480. package/dist/components/catalyst-ui/forms/color-picker.tsx +251 -0
  481. package/dist/components/catalyst-ui/forms/credit-card-input.tsx +284 -0
  482. package/dist/components/catalyst-ui/forms/debounced-input.tsx +21 -0
  483. package/dist/components/catalyst-ui/forms/fancy-area.tsx +571 -0
  484. package/dist/components/catalyst-ui/forms/fieldset.tsx +107 -0
  485. package/dist/components/catalyst-ui/forms/float-label.tsx +66 -0
  486. package/dist/components/catalyst-ui/forms/floating-label.tsx +138 -0
  487. package/dist/components/catalyst-ui/forms/form-wizard.tsx +787 -0
  488. package/dist/components/catalyst-ui/forms/fuse-search-input.tsx +293 -0
  489. package/dist/components/catalyst-ui/forms/fuzzy-filter.tsx +17 -0
  490. package/dist/components/catalyst-ui/forms/fuzzy-sort.tsx +17 -0
  491. package/dist/components/catalyst-ui/forms/icon-field.tsx +51 -0
  492. package/dist/components/catalyst-ui/forms/index.ts +58 -0
  493. package/dist/components/catalyst-ui/forms/inline-edit.tsx +108 -0
  494. package/dist/components/catalyst-ui/forms/inplace.tsx +174 -0
  495. package/dist/components/catalyst-ui/forms/input-icon.tsx +39 -0
  496. package/dist/components/catalyst-ui/forms/input-mask.tsx +216 -0
  497. package/dist/components/catalyst-ui/forms/input-text.tsx +52 -0
  498. package/dist/components/catalyst-ui/forms/json-input.tsx +261 -0
  499. package/dist/components/catalyst-ui/forms/key-filter.tsx +238 -0
  500. package/dist/components/catalyst-ui/forms/label-variant.tsx +53 -0
  501. package/dist/components/catalyst-ui/forms/listbox.tsx +118 -0
  502. package/dist/components/catalyst-ui/forms/multi-cascade-tree.tsx +586 -0
  503. package/dist/components/catalyst-ui/forms/multi-cascader.tsx +429 -0
  504. package/dist/components/catalyst-ui/forms/multi-select.tsx +161 -0
  505. package/dist/components/catalyst-ui/forms/password-input.tsx +54 -0
  506. package/dist/components/catalyst-ui/forms/pills-input.tsx +133 -0
  507. package/dist/components/catalyst-ui/forms/pin-input.tsx +354 -0
  508. package/dist/components/catalyst-ui/forms/profile-dropdown.tsx +219 -0
  509. package/dist/components/catalyst-ui/forms/radio-tile.tsx +245 -0
  510. package/dist/components/catalyst-ui/forms/rating-2.tsx +140 -0
  511. package/dist/components/catalyst-ui/forms/search-input.tsx +49 -0
  512. package/dist/components/catalyst-ui/forms/select-button.tsx +155 -0
  513. package/dist/components/catalyst-ui/forms/step-form-wizard.tsx +877 -0
  514. package/dist/components/catalyst-ui/forms/tags-input-1.tsx +457 -0
  515. package/dist/components/catalyst-ui/forms/textarea-2.tsx +36 -0
  516. package/dist/components/catalyst-ui/forms/tree-picker.tsx +295 -0
  517. package/dist/components/catalyst-ui/hooks/demo.tsx +2757 -0
  518. package/dist/components/catalyst-ui/hooks/index.ts +106 -0
  519. package/dist/components/catalyst-ui/hooks/react-hook-docs.tsx +608 -0
  520. package/dist/components/catalyst-ui/hooks/use-api-key.tsx +151 -0
  521. package/dist/components/catalyst-ui/hooks/use-async.tsx +36 -0
  522. package/dist/components/catalyst-ui/hooks/use-auto-scroll.tsx +139 -0
  523. package/dist/components/catalyst-ui/hooks/use-breakpoint.tsx +21 -0
  524. package/dist/components/catalyst-ui/hooks/use-character-limit.tsx +37 -0
  525. package/dist/components/catalyst-ui/hooks/use-click-outside.tsx +27 -0
  526. package/dist/components/catalyst-ui/hooks/use-client.tsx +30 -0
  527. package/dist/components/catalyst-ui/hooks/use-color-theme.tsx +4933 -0
  528. package/dist/components/catalyst-ui/hooks/use-color-wheel.tsx +905 -0
  529. package/dist/components/catalyst-ui/hooks/use-current-time-indicator.tsx +65 -0
  530. package/dist/components/catalyst-ui/hooks/use-debounce-fetcher.tsx +56 -0
  531. package/dist/components/catalyst-ui/hooks/use-debounce-submit.tsx +45 -0
  532. package/dist/components/catalyst-ui/hooks/use-debounce.tsx +18 -0
  533. package/dist/components/catalyst-ui/hooks/use-debounced-fuse-search.tsx +168 -0
  534. package/dist/components/catalyst-ui/hooks/use-delegated-anchors.tsx +87 -0
  535. package/dist/components/catalyst-ui/hooks/use-document-title.tsx +14 -0
  536. package/dist/components/catalyst-ui/hooks/use-event-callback.tsx +24 -0
  537. package/dist/components/catalyst-ui/hooks/use-event-source.tsx +69 -0
  538. package/dist/components/catalyst-ui/hooks/use-event-visibility.tsx +72 -0
  539. package/dist/components/catalyst-ui/hooks/use-expandable.tsx +18 -0
  540. package/dist/components/catalyst-ui/hooks/use-export-markdown-usage.tsx +92 -0
  541. package/dist/components/catalyst-ui/hooks/use-export-tsx.tsx +50 -0
  542. package/dist/components/catalyst-ui/hooks/use-external-scripts.tsx +44 -0
  543. package/dist/components/catalyst-ui/hooks/use-favicon.tsx +16 -0
  544. package/dist/components/catalyst-ui/hooks/use-fetch.tsx +64 -0
  545. package/dist/components/catalyst-ui/hooks/use-file-upload.tsx +405 -0
  546. package/dist/components/catalyst-ui/hooks/use-focus-within.tsx +16 -0
  547. package/dist/components/catalyst-ui/hooks/use-form.tsx +86 -0
  548. package/dist/components/catalyst-ui/hooks/use-fuse-search.tsx +155 -0
  549. package/dist/components/catalyst-ui/hooks/use-fuzzy-search.tsx +17 -0
  550. package/dist/components/catalyst-ui/hooks/use-global-loading-state.tsx +7 -0
  551. package/dist/components/catalyst-ui/hooks/use-global-navigation-state.tsx +23 -0
  552. package/dist/components/catalyst-ui/hooks/use-global-pending-state.tsx +10 -0
  553. package/dist/components/catalyst-ui/hooks/use-global-submitting-state.tsx +7 -0
  554. package/dist/components/catalyst-ui/hooks/use-google-font.tsx +39 -0
  555. package/dist/components/catalyst-ui/hooks/use-hover.tsx +24 -0
  556. package/dist/components/catalyst-ui/hooks/use-hydrated.tsx +31 -0
  557. package/dist/components/catalyst-ui/hooks/use-intersection-observer.tsx +28 -0
  558. package/dist/components/catalyst-ui/hooks/use-isomorphic-layout-effect.tsx +9 -0
  559. package/dist/components/catalyst-ui/hooks/use-key-press.tsx +30 -0
  560. package/dist/components/catalyst-ui/hooks/use-keyboard-shortcut.tsx +69 -0
  561. package/dist/components/catalyst-ui/hooks/use-keyboard.tsx +16 -0
  562. package/dist/components/catalyst-ui/hooks/use-local-storage-auto-save.tsx +24 -0
  563. package/dist/components/catalyst-ui/hooks/use-local-storage.tsx +32 -0
  564. package/dist/components/catalyst-ui/hooks/use-locales.tsx +40 -0
  565. package/dist/components/catalyst-ui/hooks/use-long-press.tsx +16 -0
  566. package/dist/components/catalyst-ui/hooks/use-markdown-batches.tsx +120 -0
  567. package/dist/components/catalyst-ui/hooks/use-markdown-to-html.tsx +42 -0
  568. package/dist/components/catalyst-ui/hooks/use-mount-effect.tsx +5 -0
  569. package/dist/components/catalyst-ui/hooks/use-mounted.tsx +11 -0
  570. package/dist/components/catalyst-ui/hooks/use-mouse-enter.tsx +13 -0
  571. package/dist/components/catalyst-ui/hooks/use-move.tsx +16 -0
  572. package/dist/components/catalyst-ui/hooks/use-mutation-observer-useage.tsx +96 -0
  573. package/dist/components/catalyst-ui/hooks/use-mutation-observer.tsx +117 -0
  574. package/dist/components/catalyst-ui/hooks/use-on-click-outside.tsx +38 -0
  575. package/dist/components/catalyst-ui/hooks/use-online-status.tsx +23 -0
  576. package/dist/components/catalyst-ui/hooks/use-outside-click.tsx +25 -0
  577. package/dist/components/catalyst-ui/hooks/use-overlay-listener.tsx +31 -0
  578. package/dist/components/catalyst-ui/hooks/use-overlay-scroll-listener.tsx +128 -0
  579. package/dist/components/catalyst-ui/hooks/use-pagination.tsx +68 -0
  580. package/dist/components/catalyst-ui/hooks/use-press.tsx +17 -0
  581. package/dist/components/catalyst-ui/hooks/use-previous.tsx +13 -0
  582. package/dist/components/catalyst-ui/hooks/use-read-local-storage.tsx +73 -0
  583. package/dist/components/catalyst-ui/hooks/use-reducer.tsx +0 -0
  584. package/dist/components/catalyst-ui/hooks/use-resize-listener.tsx +18 -0
  585. package/dist/components/catalyst-ui/hooks/use-screen.tsx +100 -0
  586. package/dist/components/catalyst-ui/hooks/use-script.tsx +102 -0
  587. package/dist/components/catalyst-ui/hooks/use-scroll-lock.tsx +91 -0
  588. package/dist/components/catalyst-ui/hooks/use-scroll-position.tsx +23 -0
  589. package/dist/components/catalyst-ui/hooks/use-sec-fetch-parser.tsx +52 -0
  590. package/dist/components/catalyst-ui/hooks/use-session-storage.tsx +31 -0
  591. package/dist/components/catalyst-ui/hooks/use-should-hydrate.tsx +27 -0
  592. package/dist/components/catalyst-ui/hooks/use-slide-in-1.tsx +96 -0
  593. package/dist/components/catalyst-ui/hooks/use-slide-in.tsx +368 -0
  594. package/dist/components/catalyst-ui/hooks/use-slider-with-input.tsx +106 -0
  595. package/dist/components/catalyst-ui/hooks/use-smooth-scroll.tsx +35 -0
  596. package/dist/components/catalyst-ui/hooks/use-stream.tsx +576 -0
  597. package/dist/components/catalyst-ui/hooks/use-tailwind-converter.tsx +465 -0
  598. package/dist/components/catalyst-ui/hooks/use-throttle.tsx +22 -0
  599. package/dist/components/catalyst-ui/hooks/use-transition.tsx +0 -0
  600. package/dist/components/catalyst-ui/hooks/use-unmount-effect.tsx +15 -0
  601. package/dist/components/catalyst-ui/hooks/use-update-effect.tsx +13 -0
  602. package/dist/components/catalyst-ui/hooks/use-validate-credit-card.tsx +112 -0
  603. package/dist/components/catalyst-ui/hooks/use-window-size.tsx +23 -0
  604. package/dist/components/catalyst-ui/hooks/useDevList.tsx +185 -0
  605. package/dist/components/catalyst-ui/hooks/useOnWindowResize.tsx +15 -0
  606. package/dist/components/catalyst-ui/index.ts +38 -0
  607. package/dist/components/catalyst-ui/inputs/autocomplete.tsx +569 -0
  608. package/dist/components/catalyst-ui/inputs/autocomplete1.tsx +323 -0
  609. package/dist/components/catalyst-ui/inputs/cc-input.tsx +44 -0
  610. package/dist/components/catalyst-ui/inputs/email-address-input.tsx +17 -0
  611. package/dist/components/catalyst-ui/inputs/index.ts +30 -0
  612. package/dist/components/catalyst-ui/inputs/input-with-characters-left.tsx +41 -0
  613. package/dist/components/catalyst-ui/inputs/input-with-end-add-on.tsx +25 -0
  614. package/dist/components/catalyst-ui/inputs/input-with-end-button.tsx +27 -0
  615. package/dist/components/catalyst-ui/inputs/input-with-end-icon-button.tsx +29 -0
  616. package/dist/components/catalyst-ui/inputs/input-with-end-inline-add-on.tsx +24 -0
  617. package/dist/components/catalyst-ui/inputs/input-with-end-inline-button.tsx +24 -0
  618. package/dist/components/catalyst-ui/inputs/input-with-end-select.tsx +27 -0
  619. package/dist/components/catalyst-ui/inputs/input-with-inline-add-ons.tsx +27 -0
  620. package/dist/components/catalyst-ui/inputs/input-with-inline-start-and-end-add-on.tsx +27 -0
  621. package/dist/components/catalyst-ui/inputs/input-with-inner-tags.tsx +60 -0
  622. package/dist/components/catalyst-ui/inputs/input-with-inset-label.tsx +23 -0
  623. package/dist/components/catalyst-ui/inputs/input-with-mask.tsx +44 -0
  624. package/dist/components/catalyst-ui/inputs/input-with-password-strength-indicator.tsx +137 -0
  625. package/dist/components/catalyst-ui/inputs/input-with-start-add-on.tsx +24 -0
  626. package/dist/components/catalyst-ui/inputs/input-with-start-inline-add-on.tsx +24 -0
  627. package/dist/components/catalyst-ui/inputs/input-with-start-select.tsx +30 -0
  628. package/dist/components/catalyst-ui/inputs/input-with-tags.tsx +72 -0
  629. package/dist/components/catalyst-ui/inputs/number-input-with-chevrons.tsx +61 -0
  630. package/dist/components/catalyst-ui/inputs/number-input-with-plus-minus-buttons.tsx +52 -0
  631. package/dist/components/catalyst-ui/inputs/search-input-with-icon-and-button.tsx +32 -0
  632. package/dist/components/catalyst-ui/inputs/search-input-with-kbd.tsx +26 -0
  633. package/dist/components/catalyst-ui/inputs/search-input-with-loader.tsx +59 -0
  634. package/dist/components/catalyst-ui/interactive/3d-pin.tsx +175 -0
  635. package/dist/components/catalyst-ui/interactive/action-sheet.tsx +240 -0
  636. package/dist/components/catalyst-ui/interactive/activity-card.tsx +196 -0
  637. package/dist/components/catalyst-ui/interactive/ai-prompt.tsx +441 -0
  638. package/dist/components/catalyst-ui/interactive/animated-cursor.tsx +254 -0
  639. package/dist/components/catalyst-ui/interactive/background-paths.tsx +172 -0
  640. package/dist/components/catalyst-ui/interactive/can-edit.tsx +100 -0
  641. package/dist/components/catalyst-ui/interactive/color-swatch.tsx +441 -0
  642. package/dist/components/catalyst-ui/interactive/currency-transfer.tsx +228 -0
  643. package/dist/components/catalyst-ui/interactive/cursor.tsx +109 -0
  644. package/dist/components/catalyst-ui/interactive/drag-and-drop.tsx +374 -0
  645. package/dist/components/catalyst-ui/interactive/drawing-2.tsx +1147 -0
  646. package/dist/components/catalyst-ui/interactive/drawing.tsx +576 -0
  647. package/dist/components/catalyst-ui/interactive/drop-zone-external.tsx +377 -0
  648. package/dist/components/catalyst-ui/interactive/drop-zone.tsx +399 -0
  649. package/dist/components/catalyst-ui/interactive/dropzone-1.tsx +259 -0
  650. package/dist/components/catalyst-ui/interactive/export-excel.tsx +201 -0
  651. package/dist/components/catalyst-ui/interactive/file-upload.tsx +403 -0
  652. package/dist/components/catalyst-ui/interactive/file_upload-1.tsx +422 -0
  653. package/dist/components/catalyst-ui/interactive/filesaver.tsx +51 -0
  654. package/dist/components/catalyst-ui/interactive/gantt-1.tsx +1464 -0
  655. package/dist/components/catalyst-ui/interactive/highlight.tsx +84 -0
  656. package/dist/components/catalyst-ui/interactive/index.ts +49 -0
  657. package/dist/components/catalyst-ui/interactive/kanban-1.tsx +338 -0
  658. package/dist/components/catalyst-ui/interactive/lens.tsx +121 -0
  659. package/dist/components/catalyst-ui/interactive/magnetic.tsx +105 -0
  660. package/dist/components/catalyst-ui/interactive/mouse-effect-card.tsx +158 -0
  661. package/dist/components/catalyst-ui/interactive/pdf-generator.tsx +414 -0
  662. package/dist/components/catalyst-ui/interactive/pdf-signature.tsx +623 -0
  663. package/dist/components/catalyst-ui/interactive/pdf-viewer.tsx +931 -0
  664. package/dist/components/catalyst-ui/interactive/pointer.tsx +108 -0
  665. package/dist/components/catalyst-ui/interactive/ripple.tsx +103 -0
  666. package/dist/components/catalyst-ui/interactive/scroll-based-velocity.tsx +205 -0
  667. package/dist/components/catalyst-ui/interactive/signature.tsx +606 -0
  668. package/dist/components/catalyst-ui/interactive/smooth-cursor.tsx +236 -0
  669. package/dist/components/catalyst-ui/interactive/sortable.tsx +420 -0
  670. package/dist/components/catalyst-ui/interactive/spreadsheet.tsx +601 -0
  671. package/dist/components/catalyst-ui/interactive/task-board.tsx +902 -0
  672. package/dist/components/catalyst-ui/interactive/terminal.tsx +587 -0
  673. package/dist/components/catalyst-ui/interactive/tour-1.tsx +426 -0
  674. package/dist/components/catalyst-ui/interactive/tour.tsx +830 -0
  675. package/dist/components/catalyst-ui/interactive/transition.tsx +913 -0
  676. package/dist/components/catalyst-ui/interactive/transitionable-portal.tsx +0 -0
  677. package/dist/components/catalyst-ui/interactive/tree-view.tsx +427 -0
  678. package/dist/components/catalyst-ui/interactive/virtualizer.tsx +233 -0
  679. package/dist/components/catalyst-ui/interactive/watermark.tsx +211 -0
  680. package/dist/components/catalyst-ui/lo-fi/components/AboutPageLoFi.tsx +19 -0
  681. package/dist/components/catalyst-ui/lo-fi/components/ActionPanelLoFi.tsx +22 -0
  682. package/dist/components/catalyst-ui/lo-fi/components/AnchorLoFi-lofi.tsx +11 -0
  683. package/dist/components/catalyst-ui/lo-fi/components/ButtonGroupLoFi.tsx +11 -0
  684. package/dist/components/catalyst-ui/lo-fi/components/ButtonIconLoFi.tsx +10 -0
  685. package/dist/components/catalyst-ui/lo-fi/components/ButtonLinkLoFi.tsx +5 -0
  686. package/dist/components/catalyst-ui/lo-fi/components/ButtonLoadingLoFi.tsx +9 -0
  687. package/dist/components/catalyst-ui/lo-fi/components/CalendarForSidebarLoFi.tsx +21 -0
  688. package/dist/components/catalyst-ui/lo-fi/components/CalendarMultiDayLoFi.tsx +23 -0
  689. package/dist/components/catalyst-ui/lo-fi/components/CalloutLoFi.tsx +23 -0
  690. package/dist/components/catalyst-ui/lo-fi/components/Chart.tsx +239 -0
  691. package/dist/components/catalyst-ui/lo-fi/components/ContainerLoFi.tsx +13 -0
  692. package/dist/components/catalyst-ui/lo-fi/components/CopyTextLoFi.tsx +10 -0
  693. package/dist/components/catalyst-ui/lo-fi/components/DebouncedInputLoFi.tsx +10 -0
  694. package/dist/components/catalyst-ui/lo-fi/components/DescriptionListLoFi.tsx +14 -0
  695. package/dist/components/catalyst-ui/lo-fi/components/EditorLoFi.tsx +14 -0
  696. package/dist/components/catalyst-ui/lo-fi/components/EmptyStateLoFi.tsx +12 -0
  697. package/dist/components/catalyst-ui/lo-fi/components/ErrorPageLoFi.tsx +12 -0
  698. package/dist/components/catalyst-ui/lo-fi/components/ExportFileLoFi.tsx +16 -0
  699. package/dist/components/catalyst-ui/lo-fi/components/FlyoutMenuLoFi.tsx +14 -0
  700. package/dist/components/catalyst-ui/lo-fi/components/FormLayoutLoFi.tsx +15 -0
  701. package/dist/components/catalyst-ui/lo-fi/components/HeroCalendar.tsx +115 -0
  702. package/dist/components/catalyst-ui/lo-fi/components/HeroLoFi.tsx +17 -0
  703. package/dist/components/catalyst-ui/lo-fi/components/ListLoFi.tsx +11 -0
  704. package/dist/components/catalyst-ui/lo-fi/components/LoadingLoFi.tsx +10 -0
  705. package/dist/components/catalyst-ui/lo-fi/components/LogoCloudLoFi.tsx +11 -0
  706. package/dist/components/catalyst-ui/lo-fi/components/MediaObjectLoFi.tsx +14 -0
  707. package/dist/components/catalyst-ui/lo-fi/components/MultiColumnLayoutLoFi.tsx +11 -0
  708. package/dist/components/catalyst-ui/lo-fi/components/NavButtonLoFi.tsx +6 -0
  709. package/dist/components/catalyst-ui/lo-fi/components/NavButtonStyledLoFi.tsx +11 -0
  710. package/dist/components/catalyst-ui/lo-fi/components/ScaffoldingLoFi.tsx +13 -0
  711. package/dist/components/catalyst-ui/lo-fi/components/SectionHeadingLoFi.tsx +11 -0
  712. package/dist/components/catalyst-ui/lo-fi/components/VerticalNavigationLoFi.tsx +11 -0
  713. package/dist/components/catalyst-ui/lo-fi/components/accordion-lofi.tsx +76 -0
  714. package/dist/components/catalyst-ui/lo-fi/components/accountForm-lofi.tsx +21 -0
  715. package/dist/components/catalyst-ui/lo-fi/components/alert-lofi.tsx +18 -0
  716. package/dist/components/catalyst-ui/lo-fi/components/alertDialog-lofi.tsx +14 -0
  717. package/dist/components/catalyst-ui/lo-fi/components/announcement-lofi.tsx +20 -0
  718. package/dist/components/catalyst-ui/lo-fi/components/aspectRatio-lofi.tsx +9 -0
  719. package/dist/components/catalyst-ui/lo-fi/components/authenticator-lofi.tsx +24 -0
  720. package/dist/components/catalyst-ui/lo-fi/components/avatar-lofi.tsx +6 -0
  721. package/dist/components/catalyst-ui/lo-fi/components/badge-lofi.tsx +5 -0
  722. package/dist/components/catalyst-ui/lo-fi/components/banner.tsx +31 -0
  723. package/dist/components/catalyst-ui/lo-fi/components/bento-grid.tsx +31 -0
  724. package/dist/components/catalyst-ui/lo-fi/components/blog.tsx +37 -0
  725. package/dist/components/catalyst-ui/lo-fi/components/breadcrumb.tsx +13 -0
  726. package/dist/components/catalyst-ui/lo-fi/components/button.tsx +11 -0
  727. package/dist/components/catalyst-ui/lo-fi/components/card-header.tsx +16 -0
  728. package/dist/components/catalyst-ui/lo-fi/components/card-heading.tsx +30 -0
  729. package/dist/components/catalyst-ui/lo-fi/components/card.tsx +16 -0
  730. package/dist/components/catalyst-ui/lo-fi/components/carousel.tsx +14 -0
  731. package/dist/components/catalyst-ui/lo-fi/components/cart.tsx +21 -0
  732. package/dist/components/catalyst-ui/lo-fi/components/catchAll.tsx +660 -0
  733. package/dist/components/catalyst-ui/lo-fi/components/categoryFilter.tsx +19 -0
  734. package/dist/components/catalyst-ui/lo-fi/components/categoryPage.tsx +31 -0
  735. package/dist/components/catalyst-ui/lo-fi/components/categoryPreviews.tsx +20 -0
  736. package/dist/components/catalyst-ui/lo-fi/components/checkbox.tsx +10 -0
  737. package/dist/components/catalyst-ui/lo-fi/components/checkout-form.tsx +27 -0
  738. package/dist/components/catalyst-ui/lo-fi/components/checkout.tsx +34 -0
  739. package/dist/components/catalyst-ui/lo-fi/components/checkoutPage.tsx +67 -0
  740. package/dist/components/catalyst-ui/lo-fi/components/clientOnly.tsx +34 -0
  741. package/dist/components/catalyst-ui/lo-fi/components/collapsible.tsx +13 -0
  742. package/dist/components/catalyst-ui/lo-fi/components/columns.tsx +23 -0
  743. package/dist/components/catalyst-ui/lo-fi/components/combobox.tsx +13 -0
  744. package/dist/components/catalyst-ui/lo-fi/components/contact-section.tsx +28 -0
  745. package/dist/components/catalyst-ui/lo-fi/components/content-section.tsx +20 -0
  746. package/dist/components/catalyst-ui/lo-fi/components/cookieSettings.tsx +34 -0
  747. package/dist/components/catalyst-ui/lo-fi/components/cta-section.tsx +17 -0
  748. package/dist/components/catalyst-ui/lo-fi/components/data.tsx +19 -0
  749. package/dist/components/catalyst-ui/lo-fi/components/dataTable.tsx +36 -0
  750. package/dist/components/catalyst-ui/lo-fi/components/datePicker.tsx +10 -0
  751. package/dist/components/catalyst-ui/lo-fi/components/details.tsx +36 -0
  752. package/dist/components/catalyst-ui/lo-fi/components/dialog.tsx +16 -0
  753. package/dist/components/catalyst-ui/lo-fi/components/display-code.tsx +19 -0
  754. package/dist/components/catalyst-ui/lo-fi/components/dropdown.tsx +15 -0
  755. package/dist/components/catalyst-ui/lo-fi/components/dropdownMenu.tsx +13 -0
  756. package/dist/components/catalyst-ui/lo-fi/components/faq-section.tsx +28 -0
  757. package/dist/components/catalyst-ui/lo-fi/components/feature-section.tsx +20 -0
  758. package/dist/components/catalyst-ui/lo-fi/components/feature.tsx +26 -0
  759. package/dist/components/catalyst-ui/lo-fi/components/feedList.tsx +26 -0
  760. package/dist/components/catalyst-ui/lo-fi/components/footer.tsx +40 -0
  761. package/dist/components/catalyst-ui/lo-fi/components/form.tsx +17 -0
  762. package/dist/components/catalyst-ui/lo-fi/components/fourofour.tsx +42 -0
  763. package/dist/components/catalyst-ui/lo-fi/components/gridLists.tsx +36 -0
  764. package/dist/components/catalyst-ui/lo-fi/components/header.tsx +23 -0
  765. package/dist/components/catalyst-ui/lo-fi/components/hero.tsx +21 -0
  766. package/dist/components/catalyst-ui/lo-fi/components/homeScreen.tsx +31 -0
  767. package/dist/components/catalyst-ui/lo-fi/components/hooks.tsx +31 -0
  768. package/dist/components/catalyst-ui/lo-fi/components/hoverCard.tsx +13 -0
  769. package/dist/components/catalyst-ui/lo-fi/components/icons.tsx +18 -0
  770. package/dist/components/catalyst-ui/lo-fi/components/image.tsx +24 -0
  771. package/dist/components/catalyst-ui/lo-fi/components/incentives.tsx +26 -0
  772. package/dist/components/catalyst-ui/lo-fi/components/index.ts +152 -0
  773. package/dist/components/catalyst-ui/lo-fi/components/input.tsx +10 -0
  774. package/dist/components/catalyst-ui/lo-fi/components/label.tsx +5 -0
  775. package/dist/components/catalyst-ui/lo-fi/components/landingPage.tsx +35 -0
  776. package/dist/components/catalyst-ui/lo-fi/components/loadingPage.tsx +23 -0
  777. package/dist/components/catalyst-ui/lo-fi/components/menubar.tsx +14 -0
  778. package/dist/components/catalyst-ui/lo-fi/components/motherboard-blog.tsx +178 -0
  779. package/dist/components/catalyst-ui/lo-fi/components/motherboard.tsx +91 -0
  780. package/dist/components/catalyst-ui/lo-fi/components/newsletter.tsx +25 -0
  781. package/dist/components/catalyst-ui/lo-fi/components/notifications.tsx +21 -0
  782. package/dist/components/catalyst-ui/lo-fi/components/orderDetails.tsx +51 -0
  783. package/dist/components/catalyst-ui/lo-fi/components/orderHistory.tsx +35 -0
  784. package/dist/components/catalyst-ui/lo-fi/components/orderSumaries.tsx +34 -0
  785. package/dist/components/catalyst-ui/lo-fi/components/pageHeading.tsx +26 -0
  786. package/dist/components/catalyst-ui/lo-fi/components/pageNav.tsx +17 -0
  787. package/dist/components/catalyst-ui/lo-fi/components/pagination.tsx +13 -0
  788. package/dist/components/catalyst-ui/lo-fi/components/paymentMethod.tsx +32 -0
  789. package/dist/components/catalyst-ui/lo-fi/components/pricing.tsx +34 -0
  790. package/dist/components/catalyst-ui/lo-fi/components/pricingPage.tsx +47 -0
  791. package/dist/components/catalyst-ui/lo-fi/components/prisma.tsx +23 -0
  792. package/dist/components/catalyst-ui/lo-fi/components/product-card.tsx +12 -0
  793. package/dist/components/catalyst-ui/lo-fi/components/product-gallery.tsx +10 -0
  794. package/dist/components/catalyst-ui/lo-fi/components/productList.tsx +41 -0
  795. package/dist/components/catalyst-ui/lo-fi/components/productOverview.tsx +62 -0
  796. package/dist/components/catalyst-ui/lo-fi/components/productsFeatured.tsx +43 -0
  797. package/dist/components/catalyst-ui/lo-fi/components/progress.tsx +15 -0
  798. package/dist/components/catalyst-ui/lo-fi/components/promo.tsx +33 -0
  799. package/dist/components/catalyst-ui/lo-fi/components/radioGroup.tsx +14 -0
  800. package/dist/components/catalyst-ui/lo-fi/components/reportIssue.tsx +22 -0
  801. package/dist/components/catalyst-ui/lo-fi/components/review.tsx +14 -0
  802. package/dist/components/catalyst-ui/lo-fi/components/reviews.tsx +60 -0
  803. package/dist/components/catalyst-ui/lo-fi/components/sales-lofi.tsx +257 -0
  804. package/dist/components/catalyst-ui/lo-fi/components/scaffolding.tsx +46 -0
  805. package/dist/components/catalyst-ui/lo-fi/components/scrollBar.tsx +24 -0
  806. package/dist/components/catalyst-ui/lo-fi/components/select.tsx +13 -0
  807. package/dist/components/catalyst-ui/lo-fi/components/settings.tsx +32 -0
  808. package/dist/components/catalyst-ui/lo-fi/components/shoppingCart.tsx +52 -0
  809. package/dist/components/catalyst-ui/lo-fi/components/sidebar.tsx +38 -0
  810. package/dist/components/catalyst-ui/lo-fi/components/skeleton.tsx +11 -0
  811. package/dist/components/catalyst-ui/lo-fi/components/slider.tsx +16 -0
  812. package/dist/components/catalyst-ui/lo-fi/components/stacked-lofi.tsx +43 -0
  813. package/dist/components/catalyst-ui/lo-fi/components/stacked.tsx +52 -0
  814. package/dist/components/catalyst-ui/lo-fi/components/stats.tsx +25 -0
  815. package/dist/components/catalyst-ui/lo-fi/components/storeFront.tsx +65 -0
  816. package/dist/components/catalyst-ui/lo-fi/components/storeNav.tsx +37 -0
  817. package/dist/components/catalyst-ui/lo-fi/components/switch.tsx +9 -0
  818. package/dist/components/catalyst-ui/lo-fi/components/tabs.tsx +29 -0
  819. package/dist/components/catalyst-ui/lo-fi/components/tailwind.tsx +22 -0
  820. package/dist/components/catalyst-ui/lo-fi/components/team.tsx +27 -0
  821. package/dist/components/catalyst-ui/lo-fi/components/team2.tsx +27 -0
  822. package/dist/components/catalyst-ui/lo-fi/components/templatePage.tsx +19 -0
  823. package/dist/components/catalyst-ui/lo-fi/components/testimonial.tsx +36 -0
  824. package/dist/components/catalyst-ui/lo-fi/components/testtimonial.tsx +35 -0
  825. package/dist/components/catalyst-ui/lo-fi/components/textarea.tsx +10 -0
  826. package/dist/components/catalyst-ui/lo-fi/components/toast.tsx +13 -0
  827. package/dist/components/catalyst-ui/lo-fi/components/toggle.tsx +12 -0
  828. package/dist/components/catalyst-ui/lo-fi/components/tooltip.tsx +12 -0
  829. package/dist/components/catalyst-ui/lo-fi/components/useHydrated.tsx +38 -0
  830. package/dist/components/catalyst-ui/lo-fi/index.ts +528 -0
  831. package/dist/components/catalyst-ui/lo-fi/utils/atom.tsx +30 -0
  832. package/dist/components/catalyst-ui/lo-fi/utils/component.tsx +28 -0
  833. package/dist/components/catalyst-ui/lo-fi/v2/AIPromptLoFi.tsx +17 -0
  834. package/dist/components/catalyst-ui/lo-fi/v2/AboutLoFi.tsx +19 -0
  835. package/dist/components/catalyst-ui/lo-fi/v2/AccessLoFi.tsx +14 -0
  836. package/dist/components/catalyst-ui/lo-fi/v2/AccountLoFi.tsx +19 -0
  837. package/dist/components/catalyst-ui/lo-fi/v2/ActivityGoalLoFi.tsx +20 -0
  838. package/dist/components/catalyst-ui/lo-fi/v2/AiChatLoFi.tsx +29 -0
  839. package/dist/components/catalyst-ui/lo-fi/v2/AlertV1LoFi.tsx +13 -0
  840. package/dist/components/catalyst-ui/lo-fi/v2/AspectRatioLoFi.tsx +11 -0
  841. package/dist/components/catalyst-ui/lo-fi/v2/AuthProviderLoFi.tsx +18 -0
  842. package/dist/components/catalyst-ui/lo-fi/v2/AuthSystemLoFi.tsx +23 -0
  843. package/dist/components/catalyst-ui/lo-fi/v2/AutoCompleteV2LoFi.tsx +17 -0
  844. package/dist/components/catalyst-ui/lo-fi/v2/BLoFi.tsx +9 -0
  845. package/dist/components/catalyst-ui/lo-fi/v2/BankLoFi.tsx +26 -0
  846. package/dist/components/catalyst-ui/lo-fi/v2/BarcodeLoFi.tsx +24 -0
  847. package/dist/components/catalyst-ui/lo-fi/v2/BasicAuthMiddlewareLoFi.tsx +16 -0
  848. package/dist/components/catalyst-ui/lo-fi/v2/BatcherMiddlewareLoFi.tsx +17 -0
  849. package/dist/components/catalyst-ui/lo-fi/v2/BlocksLoFi.tsx +15 -0
  850. package/dist/components/catalyst-ui/lo-fi/v2/BlogEditorLoFi.tsx +25 -0
  851. package/dist/components/catalyst-ui/lo-fi/v2/BlogListLoFi.tsx +17 -0
  852. package/dist/components/catalyst-ui/lo-fi/v2/BlogSidebarLoFi.tsx +20 -0
  853. package/dist/components/catalyst-ui/lo-fi/v2/BoxLoFi.tsx +10 -0
  854. package/dist/components/catalyst-ui/lo-fi/v2/CORSMiddlewareLoFi.tsx +17 -0
  855. package/dist/components/catalyst-ui/lo-fi/v2/CSSLoFi.tsx +17 -0
  856. package/dist/components/catalyst-ui/lo-fi/v2/CalendarLoFi.tsx +25 -0
  857. package/dist/components/catalyst-ui/lo-fi/v2/CallOutLoFi.tsx +16 -0
  858. package/dist/components/catalyst-ui/lo-fi/v2/CarServiceLoFi.tsx +18 -0
  859. package/dist/components/catalyst-ui/lo-fi/v2/CardsLoFi.tsx +16 -0
  860. package/dist/components/catalyst-ui/lo-fi/v2/CarouselHeroLoFi.tsx +15 -0
  861. package/dist/components/catalyst-ui/lo-fi/v2/CategoriesNavigationLoFi.tsx +13 -0
  862. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionCenteredLoFi.tsx +13 -0
  863. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionLoFi.tsx +15 -0
  864. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSidebarLoFi.tsx +22 -0
  865. package/dist/components/catalyst-ui/lo-fi/v2/ChatBubbleLoFi.tsx +14 -0
  866. package/dist/components/catalyst-ui/lo-fi/v2/ChatLoFi.tsx +22 -0
  867. package/dist/components/catalyst-ui/lo-fi/v2/CheckListLoFi.tsx +14 -0
  868. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxMultistateLoFi.tsx +11 -0
  869. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxTristateLoFi.tsx +11 -0
  870. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutCancelLoFi.tsx +12 -0
  871. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutSuccessLoFi.tsx +12 -0
  872. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutVariousLoFi.tsx +16 -0
  873. package/dist/components/catalyst-ui/lo-fi/v2/ClientOnlyLoFi.tsx +13 -0
  874. package/dist/components/catalyst-ui/lo-fi/v2/CnLoFi.tsx +13 -0
  875. package/dist/components/catalyst-ui/lo-fi/v2/CodeSectionLoFi.tsx +21 -0
  876. package/dist/components/catalyst-ui/lo-fi/v2/CollapsesToIconsLoFi.tsx +11 -0
  877. package/dist/components/catalyst-ui/lo-fi/v2/CollapsibleFileTreeLoFi.tsx +26 -0
  878. package/dist/components/catalyst-ui/lo-fi/v2/ConfigSectionLoFi.tsx +26 -0
  879. package/dist/components/catalyst-ui/lo-fi/v2/ConfirmPopupLoFi.tsx +15 -0
  880. package/dist/components/catalyst-ui/lo-fi/v2/ContactLoFi.tsx +13 -0
  881. package/dist/components/catalyst-ui/lo-fi/v2/ContainerLoFi.tsx +11 -0
  882. package/dist/components/catalyst-ui/lo-fi/v2/ContextStorageMiddlewareLoFi.tsx +18 -0
  883. package/dist/components/catalyst-ui/lo-fi/v2/CookieSettingsLoFi.tsx +22 -0
  884. package/dist/components/catalyst-ui/lo-fi/v2/CoreLoFi.tsx +13 -0
  885. package/dist/components/catalyst-ui/lo-fi/v2/CreateAccountLoFi.tsx +16 -0
  886. package/dist/components/catalyst-ui/lo-fi/v2/DashboardLoFi.tsx +13 -0
  887. package/dist/components/catalyst-ui/lo-fi/v2/DashboardSidebarLoFi.tsx +17 -0
  888. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedFetcherAndSubmitLoFi.tsx +11 -0
  889. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedInputLoFi.tsx +10 -0
  890. package/dist/components/catalyst-ui/lo-fi/v2/DefaultStyledLoFi.tsx +11 -0
  891. package/dist/components/catalyst-ui/lo-fi/v2/DeferredContentLoFi.tsx +14 -0
  892. package/dist/components/catalyst-ui/lo-fi/v2/DelegateAnchorsToRemixLoFi.tsx +11 -0
  893. package/dist/components/catalyst-ui/lo-fi/v2/DetailLoFi.tsx +12 -0
  894. package/dist/components/catalyst-ui/lo-fi/v2/DeviceMockupLoFi.tsx +15 -0
  895. package/dist/components/catalyst-ui/lo-fi/v2/DiffLoFi.tsx +15 -0
  896. package/dist/components/catalyst-ui/lo-fi/v2/DisplayCodeLoFi.tsx +20 -0
  897. package/dist/components/catalyst-ui/lo-fi/v2/DockLoFi.tsx +13 -0
  898. package/dist/components/catalyst-ui/lo-fi/v2/DragAndDropLoFi.tsx +15 -0
  899. package/dist/components/catalyst-ui/lo-fi/v2/DrawerLoFi.tsx +16 -0
  900. package/dist/components/catalyst-ui/lo-fi/v2/DrawingLoFi.tsx +18 -0
  901. package/dist/components/catalyst-ui/lo-fi/v2/DrawingV2LoFi.tsx +21 -0
  902. package/dist/components/catalyst-ui/lo-fi/v2/DropZoneLoFi.tsx +12 -0
  903. package/dist/components/catalyst-ui/lo-fi/v2/ECommerceLoFi.tsx +14 -0
  904. package/dist/components/catalyst-ui/lo-fi/v2/EmbedLoFi.tsx +13 -0
  905. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselLoFi.tsx +18 -0
  906. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselSnapLoFi.tsx +12 -0
  907. package/dist/components/catalyst-ui/lo-fi/v2/EnhancedChartLoFi.tsx +29 -0
  908. package/dist/components/catalyst-ui/lo-fi/v2/ErrorLoFi.tsx +12 -0
  909. package/dist/components/catalyst-ui/lo-fi/v2/ExerciseMinutesLoFi.tsx +16 -0
  910. package/dist/components/catalyst-ui/lo-fi/v2/FABLoFi.tsx +10 -0
  911. package/dist/components/catalyst-ui/lo-fi/v2/FaqLoFi.tsx +12 -0
  912. package/dist/components/catalyst-ui/lo-fi/v2/FeatureSectionLoFi.tsx +29 -0
  913. package/dist/components/catalyst-ui/lo-fi/v2/FeedLoFi.tsx +28 -0
  914. package/dist/components/catalyst-ui/lo-fi/v2/FileManagerLoFi.tsx +18 -0
  915. package/dist/components/catalyst-ui/lo-fi/v2/FilterComboboxLoFi.tsx +11 -0
  916. package/dist/components/catalyst-ui/lo-fi/v2/FilterDrawerLoFi.tsx +17 -0
  917. package/dist/components/catalyst-ui/lo-fi/v2/FilterTanStackTableLoFi.tsx +11 -0
  918. package/dist/components/catalyst-ui/lo-fi/v2/FixedMarkerLoFi.tsx +10 -0
  919. package/dist/components/catalyst-ui/lo-fi/v2/FlexboxGridLoFi.tsx +13 -0
  920. package/dist/components/catalyst-ui/lo-fi/v2/FloatingSidebarWithSubmenusLoFi.tsx +18 -0
  921. package/dist/components/catalyst-ui/lo-fi/v2/ForLoFi.tsx +11 -0
  922. package/dist/components/catalyst-ui/lo-fi/v2/ForgotPasswordLoFi.tsx +12 -0
  923. package/dist/components/catalyst-ui/lo-fi/v2/FormsLoFi.tsx +13 -0
  924. package/dist/components/catalyst-ui/lo-fi/v2/Four04LoFi.tsx +12 -0
  925. package/dist/components/catalyst-ui/lo-fi/v2/FunctionalLeftRightSidebarLoFi.tsx +21 -0
  926. package/dist/components/catalyst-ui/lo-fi/v2/FuseSearchInputLoFi.tsx +11 -0
  927. package/dist/components/catalyst-ui/lo-fi/v2/FuzzyFilterLoFi.tsx +11 -0
  928. package/dist/components/catalyst-ui/lo-fi/v2/FuzzySortLoFi.tsx +14 -0
  929. package/dist/components/catalyst-ui/lo-fi/v2/GalleriaLoFi.tsx +14 -0
  930. package/dist/components/catalyst-ui/lo-fi/v2/GnattChartLoFi.tsx +20 -0
  931. package/dist/components/catalyst-ui/lo-fi/v2/GridLoFi.tsx +14 -0
  932. package/dist/components/catalyst-ui/lo-fi/v2/H3LoFi.tsx +9 -0
  933. package/dist/components/catalyst-ui/lo-fi/v2/H4LoFi.tsx +9 -0
  934. package/dist/components/catalyst-ui/lo-fi/v2/H5LoFi.tsx +9 -0
  935. package/dist/components/catalyst-ui/lo-fi/v2/HeaderNavLoFi.tsx +15 -0
  936. package/dist/components/catalyst-ui/lo-fi/v2/HelpLoFi.tsx +12 -0
  937. package/dist/components/catalyst-ui/lo-fi/v2/HighlightLoFi.tsx +13 -0
  938. package/dist/components/catalyst-ui/lo-fi/v2/HighlightV1LoFi.tsx +10 -0
  939. package/dist/components/catalyst-ui/lo-fi/v2/HomeLoFi.tsx +14 -0
  940. package/dist/components/catalyst-ui/lo-fi/v2/HoneypotMiddlewareLoFi.tsx +16 -0
  941. package/dist/components/catalyst-ui/lo-fi/v2/IBLoFi.tsx +9 -0
  942. package/dist/components/catalyst-ui/lo-fi/v2/ILoFi.tsx +9 -0
  943. package/dist/components/catalyst-ui/lo-fi/v2/ImageLoFi.tsx +9 -0
  944. package/dist/components/catalyst-ui/lo-fi/v2/ImageSectionLoFi.tsx +18 -0
  945. package/dist/components/catalyst-ui/lo-fi/v2/InADialogLoFi.tsx +17 -0
  946. package/dist/components/catalyst-ui/lo-fi/v2/IncIdLoFi.tsx +11 -0
  947. package/dist/components/catalyst-ui/lo-fi/v2/IncentivesCardLoFi.tsx +11 -0
  948. package/dist/components/catalyst-ui/lo-fi/v2/IndicatorLoFi.tsx +11 -0
  949. package/dist/components/catalyst-ui/lo-fi/v2/InsetSidebarSecondaryNavLoFi.tsx +20 -0
  950. package/dist/components/catalyst-ui/lo-fi/v2/InsufficientPermissionsLoFi.tsx +12 -0
  951. package/dist/components/catalyst-ui/lo-fi/v2/InvoiceLoFi.tsx +17 -0
  952. package/dist/components/catalyst-ui/lo-fi/v2/JWKAuthMiddlewareLoFi.tsx +17 -0
  953. package/dist/components/catalyst-ui/lo-fi/v2/LandingLoFi.tsx +12 -0
  954. package/dist/components/catalyst-ui/lo-fi/v2/LayoutLoFi.tsx +24 -0
  955. package/dist/components/catalyst-ui/lo-fi/v2/LoadErrorPageLoFi.tsx +15 -0
  956. package/dist/components/catalyst-ui/lo-fi/v2/LoadingLoFi.tsx +15 -0
  957. package/dist/components/catalyst-ui/lo-fi/v2/LoadingOverlayLoFi.tsx +13 -0
  958. package/dist/components/catalyst-ui/lo-fi/v2/LoadingPageLoFi.tsx +18 -0
  959. package/dist/components/catalyst-ui/lo-fi/v2/LoginLoFi.tsx +13 -0
  960. package/dist/components/catalyst-ui/lo-fi/v2/MailLoFi.tsx +18 -0
  961. package/dist/components/catalyst-ui/lo-fi/v2/MarketingLoFi.tsx +15 -0
  962. package/dist/components/catalyst-ui/lo-fi/v2/MegaMenuLoFi.tsx +26 -0
  963. package/dist/components/catalyst-ui/lo-fi/v2/MenuLoFi.tsx +14 -0
  964. package/dist/components/catalyst-ui/lo-fi/v2/MessageLoFi.tsx +14 -0
  965. package/dist/components/catalyst-ui/lo-fi/v2/MeterLoFi.tsx +16 -0
  966. package/dist/components/catalyst-ui/lo-fi/v2/MobileNavLoFi.tsx +12 -0
  967. package/dist/components/catalyst-ui/lo-fi/v2/ModalIntegrationsLoFi.tsx +24 -0
  968. package/dist/components/catalyst-ui/lo-fi/v2/ModalV1LoFi.tsx +20 -0
  969. package/dist/components/catalyst-ui/lo-fi/v2/MusicLoFi.tsx +17 -0
  970. package/dist/components/catalyst-ui/lo-fi/v2/NavMainLoFi.tsx +13 -0
  971. package/dist/components/catalyst-ui/lo-fi/v2/NavProjectsLoFi.tsx +20 -0
  972. package/dist/components/catalyst-ui/lo-fi/v2/NavTreeViewLoFi.tsx +17 -0
  973. package/dist/components/catalyst-ui/lo-fi/v2/NavUserLoFi.tsx +14 -0
  974. package/dist/components/catalyst-ui/lo-fi/v2/NestedComboboxLoFi.tsx +14 -0
  975. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandDialogLoFi.tsx +15 -0
  976. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandLoFi.tsx +16 -0
  977. package/dist/components/catalyst-ui/lo-fi/v2/NotFoundLoFi.tsx +12 -0
  978. package/dist/components/catalyst-ui/lo-fi/v2/NoteSectionLoFi.tsx +17 -0
  979. package/dist/components/catalyst-ui/lo-fi/v2/NotificationLoFi.tsx +14 -0
  980. package/dist/components/catalyst-ui/lo-fi/v2/OnTheRightLoFi.tsx +14 -0
  981. package/dist/components/catalyst-ui/lo-fi/v2/OrderListLoFi.tsx +17 -0
  982. package/dist/components/catalyst-ui/lo-fi/v2/OrderSummaryLoFi.tsx +17 -0
  983. package/dist/components/catalyst-ui/lo-fi/v2/OrderedListLoFi.tsx +14 -0
  984. package/dist/components/catalyst-ui/lo-fi/v2/OtpLoFi.tsx +16 -0
  985. package/dist/components/catalyst-ui/lo-fi/v2/OverlayPanelLoFi.tsx +12 -0
  986. package/dist/components/catalyst-ui/lo-fi/v2/PDFGeneratorLoFi.tsx +19 -0
  987. package/dist/components/catalyst-ui/lo-fi/v2/PMLoFi.tsx +14 -0
  988. package/dist/components/catalyst-ui/lo-fi/v2/PageHeaderLoFi.tsx +14 -0
  989. package/dist/components/catalyst-ui/lo-fi/v2/PageHeadingsSectionLoFi.tsx +11 -0
  990. package/dist/components/catalyst-ui/lo-fi/v2/PaginationButtonLoFi.tsx +8 -0
  991. package/dist/components/catalyst-ui/lo-fi/v2/PaginationWrapperLoFi.tsx +14 -0
  992. package/dist/components/catalyst-ui/lo-fi/v2/PanelLoFi.tsx +17 -0
  993. package/dist/components/catalyst-ui/lo-fi/v2/PanelMenuLoFi.tsx +17 -0
  994. package/dist/components/catalyst-ui/lo-fi/v2/PasswordInputLoFi.tsx +15 -0
  995. package/dist/components/catalyst-ui/lo-fi/v2/PaymentFormLoFi.tsx +15 -0
  996. package/dist/components/catalyst-ui/lo-fi/v2/PaymentMethodLoFi.tsx +18 -0
  997. package/dist/components/catalyst-ui/lo-fi/v2/PaymentsLoFi.tsx +22 -0
  998. package/dist/components/catalyst-ui/lo-fi/v2/PdfSignatureLoFi.tsx +14 -0
  999. package/dist/components/catalyst-ui/lo-fi/v2/PdfViewerLoFi.tsx +23 -0
  1000. package/dist/components/catalyst-ui/lo-fi/v2/PlaceholderCodeLoFi.tsx +15 -0
  1001. package/dist/components/catalyst-ui/lo-fi/v2/PlaygroundLoFi.tsx +15 -0
  1002. package/dist/components/catalyst-ui/lo-fi/v2/PopconfirmLoFi.tsx +17 -0
  1003. package/dist/components/catalyst-ui/lo-fi/v2/PrefetchAnchorsLoFi.tsx +10 -0
  1004. package/dist/components/catalyst-ui/lo-fi/v2/PrismaClientExtensionLoFi.tsx +16 -0
  1005. package/dist/components/catalyst-ui/lo-fi/v2/ProductCategoryLoFi.tsx +13 -0
  1006. package/dist/components/catalyst-ui/lo-fi/v2/ProductComparisonLoFi.tsx +14 -0
  1007. package/dist/components/catalyst-ui/lo-fi/v2/ProductDetailsLoFi.tsx +14 -0
  1008. package/dist/components/catalyst-ui/lo-fi/v2/ProductEditLoFi.tsx +12 -0
  1009. package/dist/components/catalyst-ui/lo-fi/v2/ProductPricingLoFi.tsx +12 -0
  1010. package/dist/components/catalyst-ui/lo-fi/v2/ProductsLoFi.tsx +14 -0
  1011. package/dist/components/catalyst-ui/lo-fi/v2/ProfileCreateLoFi.tsx +12 -0
  1012. package/dist/components/catalyst-ui/lo-fi/v2/ProfileListLoFi.tsx +16 -0
  1013. package/dist/components/catalyst-ui/lo-fi/v2/ProfileLoFi.tsx +12 -0
  1014. package/dist/components/catalyst-ui/lo-fi/v2/ProgressLoFi.tsx +15 -0
  1015. package/dist/components/catalyst-ui/lo-fi/v2/ProseLoFi.tsx +16 -0
  1016. package/dist/components/catalyst-ui/lo-fi/v2/QRCodeLoFi.tsx +43 -0
  1017. package/dist/components/catalyst-ui/lo-fi/v2/QaDiscussionLoFi.tsx +14 -0
  1018. package/dist/components/catalyst-ui/lo-fi/v2/QaForumLoFi.tsx +11 -0
  1019. package/dist/components/catalyst-ui/lo-fi/v2/RailLoFi.tsx +16 -0
  1020. package/dist/components/catalyst-ui/lo-fi/v2/RatingLoFi.tsx +14 -0
  1021. package/dist/components/catalyst-ui/lo-fi/v2/ReactHooksDocsLoFi.tsx +11 -0
  1022. package/dist/components/catalyst-ui/lo-fi/v2/ReceiptLoFi.tsx +17 -0
  1023. package/dist/components/catalyst-ui/lo-fi/v2/RedirectBadRequestsLoFi.tsx +11 -0
  1024. package/dist/components/catalyst-ui/lo-fi/v2/RegisterLoFi.tsx +13 -0
  1025. package/dist/components/catalyst-ui/lo-fi/v2/RemixAuthLoFi.tsx +12 -0
  1026. package/dist/components/catalyst-ui/lo-fi/v2/RemixLinkLoFi.tsx +11 -0
  1027. package/dist/components/catalyst-ui/lo-fi/v2/ReportIssueLoFi.tsx +24 -0
  1028. package/dist/components/catalyst-ui/lo-fi/v2/RequestIDMiddlewareLoFi.tsx +11 -0
  1029. package/dist/components/catalyst-ui/lo-fi/v2/ResetPasswordLoFi.tsx +12 -0
  1030. package/dist/components/catalyst-ui/lo-fi/v2/ResponsiveLinkLoFi.tsx +11 -0
  1031. package/dist/components/catalyst-ui/lo-fi/v2/RightSidebarLoFi.tsx +17 -0
  1032. package/dist/components/catalyst-ui/lo-fi/v2/SaasLoFi.tsx +15 -0
  1033. package/dist/components/catalyst-ui/lo-fi/v2/SchedulerLoFi.tsx +14 -0
  1034. package/dist/components/catalyst-ui/lo-fi/v2/ScrolltopLoFi.tsx +11 -0
  1035. package/dist/components/catalyst-ui/lo-fi/v2/SecFetchParserLoFi.tsx +20 -0
  1036. package/dist/components/catalyst-ui/lo-fi/v2/SecureHeadersMiddlewareLoFi.tsx +17 -0
  1037. package/dist/components/catalyst-ui/lo-fi/v2/ServerTimingMiddlewareLoFi.tsx +16 -0
  1038. package/dist/components/catalyst-ui/lo-fi/v2/ServiceRepairFormLoFi.tsx +13 -0
  1039. package/dist/components/catalyst-ui/lo-fi/v2/SessionLoFi.tsx +11 -0
  1040. package/dist/components/catalyst-ui/lo-fi/v2/SettingsLoFi.tsx +13 -0
  1041. package/dist/components/catalyst-ui/lo-fi/v2/ShareLoFi.tsx +21 -0
  1042. package/dist/components/catalyst-ui/lo-fi/v2/Sidebar24LoFi.tsx +17 -0
  1043. package/dist/components/catalyst-ui/lo-fi/v2/SidebarAgnosticLoFi.tsx +22 -0
  1044. package/dist/components/catalyst-ui/lo-fi/v2/SidebarDetailsLoFi.tsx +17 -0
  1045. package/dist/components/catalyst-ui/lo-fi/v2/SidebarInAPopoverLoFi.tsx +16 -0
  1046. package/dist/components/catalyst-ui/lo-fi/v2/SidebarNavLoFi.tsx +14 -0
  1047. package/dist/components/catalyst-ui/lo-fi/v2/SidebarReactRouterLoFi.tsx +24 -0
  1048. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultLoFi.tsx +18 -0
  1049. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultWRightLoFi.tsx +23 -0
  1050. package/dist/components/catalyst-ui/lo-fi/v2/SidebarWithSubmenusLoFi.tsx +25 -0
  1051. package/dist/components/catalyst-ui/lo-fi/v2/SignUpLoFi.tsx +14 -0
  1052. package/dist/components/catalyst-ui/lo-fi/v2/SignatureLoFi.tsx +12 -0
  1053. package/dist/components/catalyst-ui/lo-fi/v2/SingletonMiddlewareLoFi.tsx +11 -0
  1054. package/dist/components/catalyst-ui/lo-fi/v2/SiteHeaderLoFi.tsx +18 -0
  1055. package/dist/components/catalyst-ui/lo-fi/v2/SmallTableLoFi.tsx +18 -0
  1056. package/dist/components/catalyst-ui/lo-fi/v2/SpeedDialLoFi.tsx +14 -0
  1057. package/dist/components/catalyst-ui/lo-fi/v2/SpinLoFi.tsx +7 -0
  1058. package/dist/components/catalyst-ui/lo-fi/v2/SpinnerLoFi.tsx +9 -0
  1059. package/dist/components/catalyst-ui/lo-fi/v2/StackLoFi.tsx +14 -0
  1060. package/dist/components/catalyst-ui/lo-fi/v2/StackedListsLoFi.tsx +50 -0
  1061. package/dist/components/catalyst-ui/lo-fi/v2/StackedLoFi.tsx +11 -0
  1062. package/dist/components/catalyst-ui/lo-fi/v2/StateChangeLoFi.tsx +11 -0
  1063. package/dist/components/catalyst-ui/lo-fi/v2/StatsLoFi.tsx +15 -0
  1064. package/dist/components/catalyst-ui/lo-fi/v2/StatusLoFi.tsx +11 -0
  1065. package/dist/components/catalyst-ui/lo-fi/v2/StepsLoFi.tsx +18 -0
  1066. package/dist/components/catalyst-ui/lo-fi/v2/StoreFrontLoFi.tsx +15 -0
  1067. package/dist/components/catalyst-ui/lo-fi/v2/StoreNavSectionLoFi.tsx +14 -0
  1068. package/dist/components/catalyst-ui/lo-fi/v2/StripeLoFi.tsx +15 -0
  1069. package/dist/components/catalyst-ui/lo-fi/v2/StyleProviderLoFi.tsx +16 -0
  1070. package/dist/components/catalyst-ui/lo-fi/v2/TSTableLoFi.tsx +24 -0
  1071. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV1LoFi.tsx +20 -0
  1072. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV2LoFi.tsx +20 -0
  1073. package/dist/components/catalyst-ui/lo-fi/v2/TabViewLoFi.tsx +17 -0
  1074. package/dist/components/catalyst-ui/lo-fi/v2/TableLoFi.tsx +18 -0
  1075. package/dist/components/catalyst-ui/lo-fi/v2/TagLoFi.tsx +11 -0
  1076. package/dist/components/catalyst-ui/lo-fi/v2/TailwindcssTxtLoFi.tsx +20 -0
  1077. package/dist/components/catalyst-ui/lo-fi/v2/TaskListLoFi.tsx +16 -0
  1078. package/dist/components/catalyst-ui/lo-fi/v2/TaskboardLoFi.tsx +20 -0
  1079. package/dist/components/catalyst-ui/lo-fi/v2/TasksLoFi.tsx +19 -0
  1080. package/dist/components/catalyst-ui/lo-fi/v2/TeamMembersLoFi.tsx +20 -0
  1081. package/dist/components/catalyst-ui/lo-fi/v2/TerminalLoFi.tsx +20 -0
  1082. package/dist/components/catalyst-ui/lo-fi/v2/TextEditorLoFi.tsx +14 -0
  1083. package/dist/components/catalyst-ui/lo-fi/v2/ThemeSelectorLoFi.tsx +14 -0
  1084. package/dist/components/catalyst-ui/lo-fi/v2/TicketsLoFi.tsx +16 -0
  1085. package/dist/components/catalyst-ui/lo-fi/v2/TimelineLoFi.tsx +33 -0
  1086. package/dist/components/catalyst-ui/lo-fi/v2/TimelineV1LoFi.tsx +36 -0
  1087. package/dist/components/catalyst-ui/lo-fi/v2/TitleSectionLoFi.tsx +15 -0
  1088. package/dist/components/catalyst-ui/lo-fi/v2/ToDoLoFi.tsx +17 -0
  1089. package/dist/components/catalyst-ui/lo-fi/v2/ToggleClassLoFi.tsx +12 -0
  1090. package/dist/components/catalyst-ui/lo-fi/v2/ToolbarLoFi.tsx +14 -0
  1091. package/dist/components/catalyst-ui/lo-fi/v2/TourLoFi.tsx +21 -0
  1092. package/dist/components/catalyst-ui/lo-fi/v2/TransitionLoFi.tsx +10 -0
  1093. package/dist/components/catalyst-ui/lo-fi/v2/TransitionablePortalLoFi.tsx +12 -0
  1094. package/dist/components/catalyst-ui/lo-fi/v2/TravelLoFi.tsx +12 -0
  1095. package/dist/components/catalyst-ui/lo-fi/v2/TreeViewLoFi.tsx +24 -0
  1096. package/dist/components/catalyst-ui/lo-fi/v2/UnderConstructionLoFi.tsx +11 -0
  1097. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionLoFi.tsx +19 -0
  1098. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionNoDashLoFi.tsx +15 -0
  1099. package/dist/components/catalyst-ui/lo-fi/v2/UseAsyncLoFi.tsx +10 -0
  1100. package/dist/components/catalyst-ui/lo-fi/v2/UseClickOutsideLoFi.tsx +10 -0
  1101. package/dist/components/catalyst-ui/lo-fi/v2/UseCopyToClipboardLoFi.tsx +10 -0
  1102. package/dist/components/catalyst-ui/lo-fi/v2/UseCounterLoFi.tsx +11 -0
  1103. package/dist/components/catalyst-ui/lo-fi/v2/UseDebounceLoFi.tsx +10 -0
  1104. package/dist/components/catalyst-ui/lo-fi/v2/UseDebouncedFuseSearchLoFi.tsx +10 -0
  1105. package/dist/components/catalyst-ui/lo-fi/v2/UseEventListenerLoFi.tsx +10 -0
  1106. package/dist/components/catalyst-ui/lo-fi/v2/UseExportMarkdownLoFi.tsx +10 -0
  1107. package/dist/components/catalyst-ui/lo-fi/v2/UseExportTsxLoFi.tsx +10 -0
  1108. package/dist/components/catalyst-ui/lo-fi/v2/UseExternalScriptsLoFi.tsx +11 -0
  1109. package/dist/components/catalyst-ui/lo-fi/v2/UseFaviconLoFi.tsx +10 -0
  1110. package/dist/components/catalyst-ui/lo-fi/v2/UseFetchLoFi.tsx +11 -0
  1111. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusLoFi.tsx +10 -0
  1112. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusWithinLoFi.tsx +10 -0
  1113. package/dist/components/catalyst-ui/lo-fi/v2/UseFormLoFi.tsx +11 -0
  1114. package/dist/components/catalyst-ui/lo-fi/v2/UseFuseSearchLoFi.tsx +10 -0
  1115. package/dist/components/catalyst-ui/lo-fi/v2/UseFuzzySearchLoFi.tsx +11 -0
  1116. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalLoadingStateLoFi.tsx +10 -0
  1117. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalNavigationStateLoFi.tsx +11 -0
  1118. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalPendingStateLoFi.tsx +10 -0
  1119. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalSubmittingStateLoFi.tsx +10 -0
  1120. package/dist/components/catalyst-ui/lo-fi/v2/UseHoverLoFi.tsx +10 -0
  1121. package/dist/components/catalyst-ui/lo-fi/v2/UseIntersectionObserverLoFi.tsx +10 -0
  1122. package/dist/components/catalyst-ui/lo-fi/v2/UseIntervalLoFi.tsx +10 -0
  1123. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyPressLoFi.tsx +11 -0
  1124. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyboardLoFi.tsx +11 -0
  1125. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalStorageLoFi.tsx +10 -0
  1126. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalesLoFi.tsx +11 -0
  1127. package/dist/components/catalyst-ui/lo-fi/v2/UseLongPressLoFi.tsx +10 -0
  1128. package/dist/components/catalyst-ui/lo-fi/v2/UseMediaQueryLoFi.tsx +10 -0
  1129. package/dist/components/catalyst-ui/lo-fi/v2/UseMobileLoFi.tsx +10 -0
  1130. package/dist/components/catalyst-ui/lo-fi/v2/UseMountEffectLoFi.tsx +10 -0
  1131. package/dist/components/catalyst-ui/lo-fi/v2/UseMountedLoFi.tsx +10 -0
  1132. package/dist/components/catalyst-ui/lo-fi/v2/UseMoveLoFi.tsx +11 -0
  1133. package/dist/components/catalyst-ui/lo-fi/v2/UseMutationObserverLoFi.tsx +10 -0
  1134. package/dist/components/catalyst-ui/lo-fi/v2/UseOnlineStatusLoFi.tsx +10 -0
  1135. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayListenerLoFi.tsx +10 -0
  1136. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayScrollListenerLoFi.tsx +10 -0
  1137. package/dist/components/catalyst-ui/lo-fi/v2/UsePressLoFi.tsx +10 -0
  1138. package/dist/components/catalyst-ui/lo-fi/v2/UsePreviousLoFi.tsx +11 -0
  1139. package/dist/components/catalyst-ui/lo-fi/v2/UseResizeListenerLoFi.tsx +10 -0
  1140. package/dist/components/catalyst-ui/lo-fi/v2/UseScrollPositionLoFi.tsx +11 -0
  1141. package/dist/components/catalyst-ui/lo-fi/v2/UseSessionStorageLoFi.tsx +10 -0
  1142. package/dist/components/catalyst-ui/lo-fi/v2/UseShouldHydrateLoFi.tsx +10 -0
  1143. package/dist/components/catalyst-ui/lo-fi/v2/UseSlideInLoFi.tsx +10 -0
  1144. package/dist/components/catalyst-ui/lo-fi/v2/UseStreamLoFi.tsx +11 -0
  1145. package/dist/components/catalyst-ui/lo-fi/v2/UseThrottleLoFi.tsx +10 -0
  1146. package/dist/components/catalyst-ui/lo-fi/v2/UseTimeoutLoFi.tsx +10 -0
  1147. package/dist/components/catalyst-ui/lo-fi/v2/UseToggleLoFi.tsx +10 -0
  1148. package/dist/components/catalyst-ui/lo-fi/v2/UseUnmountEffectLoFi.tsx +10 -0
  1149. package/dist/components/catalyst-ui/lo-fi/v2/UseUpdateEffectLoFi.tsx +10 -0
  1150. package/dist/components/catalyst-ui/lo-fi/v2/UseWindowSizeLoFi.tsx +11 -0
  1151. package/dist/components/catalyst-ui/lo-fi/v2/UserBasedAccessRulesLoFi.tsx +20 -0
  1152. package/dist/components/catalyst-ui/lo-fi/v2/UserLoFi.tsx +10 -0
  1153. package/dist/components/catalyst-ui/lo-fi/v2/UserOnboardingLoFi.tsx +12 -0
  1154. package/dist/components/catalyst-ui/lo-fi/v2/VerificationLoFi.tsx +17 -0
  1155. package/dist/components/catalyst-ui/lo-fi/v2/VirtualizerLoFi.tsx +16 -0
  1156. package/dist/components/catalyst-ui/lo-fi/v2/WatermarkLoFi.tsx +13 -0
  1157. package/dist/components/catalyst-ui/lo-fi/v2/WithACalendarLoFi.tsx +23 -0
  1158. package/dist/components/catalyst-ui/lo-fi/v2/WithAShoppingCartLoFi.tsx +20 -0
  1159. package/dist/components/catalyst-ui/lo-fi/v2/WithATreeViewLoFi.tsx +20 -0
  1160. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleNestedSidebarsLoFi.tsx +22 -0
  1161. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSectionsLoFi.tsx +20 -0
  1162. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSubmenusLoFi.tsx +26 -0
  1163. package/dist/components/catalyst-ui/lo-fi/v2/WithCookieMiddlewareLoFi.tsx +17 -0
  1164. package/dist/components/catalyst-ui/lo-fi/v2/WithInitialLoadingStateLoFi.tsx +13 -0
  1165. package/dist/components/catalyst-ui/lo-fi/v2/WithLoadingNavStateChangesLoFi.tsx +17 -0
  1166. package/dist/components/catalyst-ui/lo-fi/v2/WithNavigationGroupedBySectionLoFi.tsx +24 -0
  1167. package/dist/components/catalyst-ui/lo-fi/v2/WithSubmenusAsDropdownsLoFi.tsx +25 -0
  1168. package/dist/components/catalyst-ui/lo-fi/v2/action-bar-lofi.tsx +20 -0
  1169. package/dist/components/catalyst-ui/lo-fi/v2/block-quote-lofi.tsx +10 -0
  1170. package/dist/components/catalyst-ui/lo-fi/v2/calendar-lofi.tsx +19 -0
  1171. package/dist/components/catalyst-ui/lo-fi/v2/cascade-tree-lofi.tsx +34 -0
  1172. package/dist/components/catalyst-ui/lo-fi/v2/cascader-lofi.tsx +27 -0
  1173. package/dist/components/catalyst-ui/lo-fi/v2/changelog-lofi.tsx +14 -0
  1174. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-lofi.tsx +27 -0
  1175. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-picker-lofi.tsx +28 -0
  1176. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-card-v1-lofi.tsx +29 -0
  1177. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-v1-lofi.tsx +24 -0
  1178. package/dist/components/catalyst-ui/lo-fi/v2/client-only-mermaid-lofi.tsx +21 -0
  1179. package/dist/components/catalyst-ui/lo-fi/v2/color-picker-lofi.tsx +24 -0
  1180. package/dist/components/catalyst-ui/lo-fi/v2/combobox-v1-lofi.tsx +25 -0
  1181. package/dist/components/catalyst-ui/lo-fi/v2/credit-card-input-lofi.tsx +32 -0
  1182. package/dist/components/catalyst-ui/lo-fi/v2/floating-label-lofi.tsx +26 -0
  1183. package/dist/components/catalyst-ui/lo-fi/v2/form-wizard-lofi.tsx +26 -0
  1184. package/dist/components/catalyst-ui/lo-fi/v2/hero-lofi.tsx +15 -0
  1185. package/dist/components/catalyst-ui/lo-fi/v2/heroV2-lofi.tsx +17 -0
  1186. package/dist/components/catalyst-ui/lo-fi/v2/inline-edit-lofi.tsx +19 -0
  1187. package/dist/components/catalyst-ui/lo-fi/v2/inplaceLoFi.tsx +10 -0
  1188. package/dist/components/catalyst-ui/lo-fi/v2/input-mask-lofi.tsx +33 -0
  1189. package/dist/components/catalyst-ui/lo-fi/v2/install-code-array-section-lofi.tsx +20 -0
  1190. package/dist/components/catalyst-ui/lo-fi/v2/install-code-section-lofi.tsx +16 -0
  1191. package/dist/components/catalyst-ui/lo-fi/v2/install-github-section-lofi.tsx +11 -0
  1192. package/dist/components/catalyst-ui/lo-fi/v2/json-input-lofi.tsx +29 -0
  1193. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascade-tree-lofi.tsx +40 -0
  1194. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascader-lofi.tsx +28 -0
  1195. package/dist/components/catalyst-ui/lo-fi/v2/multi-combobox-lofi.tsx +31 -0
  1196. package/dist/components/catalyst-ui/lo-fi/v2/nav-shopping-cart-lofi.tsx +13 -0
  1197. package/dist/components/catalyst-ui/lo-fi/v2/pin-input-lofi.tsx +23 -0
  1198. package/dist/components/catalyst-ui/lo-fi/v2/select-button-lofi.tsx +20 -0
  1199. package/dist/components/catalyst-ui/lo-fi/v2/sidebar28-lofi.tsx +15 -0
  1200. package/dist/components/catalyst-ui/lo-fi/v2/step-form-wizard-lofi.tsx +34 -0
  1201. package/dist/components/catalyst-ui/lo-fi/v2/tags-input-lofi.tsx +21 -0
  1202. package/dist/components/catalyst-ui/lo-fi/v2/textarea-lofi.tsx +18 -0
  1203. package/dist/components/catalyst-ui/lo-fi/v2/textarea-v2-lofi.tsx +19 -0
  1204. package/dist/components/catalyst-ui/lo-fi/v2/transfer-list-lofi.tsx +40 -0
  1205. package/dist/components/catalyst-ui/lo-fi/v2/tri-state-checkbox-lofi.tsx +25 -0
  1206. package/dist/components/catalyst-ui/lo-fi/v2/tsxSection-lofi.tsx +20 -0
  1207. package/dist/components/catalyst-ui/marketing/demo/demos.tsx +0 -0
  1208. package/dist/components/catalyst-ui/marketing/demo/sectionHeadings-demo.tsx +103 -0
  1209. package/dist/components/catalyst-ui/marketing/elements/banner-with-effect.tsx +0 -0
  1210. package/dist/components/catalyst-ui/marketing/elements/flyoutMenu.tsx +318 -0
  1211. package/dist/components/catalyst-ui/marketing/index.ts +41 -0
  1212. package/dist/components/catalyst-ui/marketing/sections/animated-testimonials.tsx +169 -0
  1213. package/dist/components/catalyst-ui/marketing/sections/bentoGrid.tsx +300 -0
  1214. package/dist/components/catalyst-ui/marketing/sections/blog.tsx +469 -0
  1215. package/dist/components/catalyst-ui/marketing/sections/blogEditor.tsx +358 -0
  1216. package/dist/components/catalyst-ui/marketing/sections/blogPost.tsx +208 -0
  1217. package/dist/components/catalyst-ui/marketing/sections/carousel.tsx +928 -0
  1218. package/dist/components/catalyst-ui/marketing/sections/cta.tsx +379 -0
  1219. package/dist/components/catalyst-ui/marketing/sections/faq.tsx +147 -0
  1220. package/dist/components/catalyst-ui/marketing/sections/feature-carousel.tsx +505 -0
  1221. package/dist/components/catalyst-ui/marketing/sections/feature-section.tsx +83 -0
  1222. package/dist/components/catalyst-ui/marketing/sections/feature-showcase.tsx +250 -0
  1223. package/dist/components/catalyst-ui/marketing/sections/feature.tsx +279 -0
  1224. package/dist/components/catalyst-ui/marketing/sections/footer.tsx +390 -0
  1225. package/dist/components/catalyst-ui/marketing/sections/header-1.tsx +450 -0
  1226. package/dist/components/catalyst-ui/marketing/sections/header.tsx +414 -0
  1227. package/dist/components/catalyst-ui/marketing/sections/hero-2.tsx +55 -0
  1228. package/dist/components/catalyst-ui/marketing/sections/hero-3.tsx +12 -0
  1229. package/dist/components/catalyst-ui/marketing/sections/hero-section.tsx +17 -0
  1230. package/dist/components/catalyst-ui/marketing/sections/hero.tsx +169 -0
  1231. package/dist/components/catalyst-ui/marketing/sections/image-section.tsx +36 -0
  1232. package/dist/components/catalyst-ui/marketing/sections/index.ts +33 -0
  1233. package/dist/components/catalyst-ui/marketing/sections/logoClouds.tsx +295 -0
  1234. package/dist/components/catalyst-ui/marketing/sections/newsLetter.tsx +137 -0
  1235. package/dist/components/catalyst-ui/marketing/sections/page-header-section.tsx +127 -0
  1236. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel-2.tsx +282 -0
  1237. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel.tsx +555 -0
  1238. package/dist/components/catalyst-ui/marketing/sections/pricing-single-card.tsx +154 -0
  1239. package/dist/components/catalyst-ui/marketing/sections/pricing.tsx +790 -0
  1240. package/dist/components/catalyst-ui/marketing/sections/testimonial-carousel.tsx +499 -0
  1241. package/dist/components/catalyst-ui/marketing/sections/testimonial.tsx +204 -0
  1242. package/dist/components/catalyst-ui/marketing/sections/title-section.tsx +57 -0
  1243. package/dist/components/catalyst-ui/media/3d-marquee.tsx +144 -0
  1244. package/dist/components/catalyst-ui/media/avatar-circles.tsx +78 -0
  1245. package/dist/components/catalyst-ui/media/blur-fade.tsx +106 -0
  1246. package/dist/components/catalyst-ui/media/carousel-1.tsx +926 -0
  1247. package/dist/components/catalyst-ui/media/carousel-2.tsx +198 -0
  1248. package/dist/components/catalyst-ui/media/carousel-hero.tsx +286 -0
  1249. package/dist/components/catalyst-ui/media/carousel-simple.tsx +244 -0
  1250. package/dist/components/catalyst-ui/media/color-palette-card.tsx +85 -0
  1251. package/dist/components/catalyst-ui/media/cropper.tsx +68 -0
  1252. package/dist/components/catalyst-ui/media/embla-carousel-arrow-buttons.tsx +117 -0
  1253. package/dist/components/catalyst-ui/media/embla-carousel-snap.tsx +103 -0
  1254. package/dist/components/catalyst-ui/media/galleria.tsx +316 -0
  1255. package/dist/components/catalyst-ui/media/globe.tsx +138 -0
  1256. package/dist/components/catalyst-ui/media/google-maps-component.tsx +540 -0
  1257. package/dist/components/catalyst-ui/media/icon-cloud.tsx +312 -0
  1258. package/dist/components/catalyst-ui/media/image-comparison.tsx +251 -0
  1259. package/dist/components/catalyst-ui/media/image-crop.tsx +366 -0
  1260. package/dist/components/catalyst-ui/media/image-zoom.tsx +51 -0
  1261. package/dist/components/catalyst-ui/media/index.ts +32 -0
  1262. package/dist/components/catalyst-ui/media/infinite-scroll.tsx +303 -0
  1263. package/dist/components/catalyst-ui/media/infinite-slider.tsx +108 -0
  1264. package/dist/components/catalyst-ui/media/interactive-icon-cloud.tsx +100 -0
  1265. package/dist/components/catalyst-ui/media/logo.tsx +100 -0
  1266. package/dist/components/catalyst-ui/media/marquee.tsx +199 -0
  1267. package/dist/components/catalyst-ui/media/marquee1.tsx +114 -0
  1268. package/dist/components/catalyst-ui/media/parallax-scroll.tsx +119 -0
  1269. package/dist/components/catalyst-ui/media/pixel-image.tsx +153 -0
  1270. package/dist/components/catalyst-ui/media/video-player.tsx +94 -0
  1271. package/dist/components/catalyst-ui/motions/animated-number.tsx +252 -0
  1272. package/dist/components/catalyst-ui/motions/bg-media.tsx +122 -0
  1273. package/dist/components/catalyst-ui/motions/border-beam.tsx +40 -0
  1274. package/dist/components/catalyst-ui/motions/circle-menu.tsx +320 -0
  1275. package/dist/components/catalyst-ui/motions/color-picker.tsx +490 -0
  1276. package/dist/components/catalyst-ui/motions/color-wheel.tsx +81 -0
  1277. package/dist/components/catalyst-ui/motions/direction-aware-tabs.tsx +568 -0
  1278. package/dist/components/catalyst-ui/motions/dynamic-island.tsx +733 -0
  1279. package/dist/components/catalyst-ui/motions/expandable-card.tsx +941 -0
  1280. package/dist/components/catalyst-ui/motions/expandable-screen.tsx +455 -0
  1281. package/dist/components/catalyst-ui/motions/floating-panel.tsx +1115 -0
  1282. package/dist/components/catalyst-ui/motions/gradient-heading.tsx +116 -0
  1283. package/dist/components/catalyst-ui/motions/index.ts +93 -0
  1284. package/dist/components/catalyst-ui/motions/intro-disclosure.tsx +1345 -0
  1285. package/dist/components/catalyst-ui/motions/light-board.tsx +888 -0
  1286. package/dist/components/catalyst-ui/motions/loading-carousel.tsx +517 -0
  1287. package/dist/components/catalyst-ui/motions/logo-carousel.tsx +586 -0
  1288. package/dist/components/catalyst-ui/motions/morph-surface.tsx +779 -0
  1289. package/dist/components/catalyst-ui/motions/motion-accordian.tsx +206 -0
  1290. package/dist/components/catalyst-ui/motions/motion-alert-dialog.tsx +356 -0
  1291. package/dist/components/catalyst-ui/motions/motion-avatar.tsx +384 -0
  1292. package/dist/components/catalyst-ui/motions/motion-beam.tsx +674 -0
  1293. package/dist/components/catalyst-ui/motions/motion-bento.tsx +262 -0
  1294. package/dist/components/catalyst-ui/motions/motion-bento1.tsx +307 -0
  1295. package/dist/components/catalyst-ui/motions/motion-button.tsx +107 -0
  1296. package/dist/components/catalyst-ui/motions/motion-calendar.tsx +213 -0
  1297. package/dist/components/catalyst-ui/motions/motion-card.tsx +1609 -0
  1298. package/dist/components/catalyst-ui/motions/motion-card1.tsx +825 -0
  1299. package/dist/components/catalyst-ui/motions/motion-card2.tsx +289 -0
  1300. package/dist/components/catalyst-ui/motions/motion-card3.tsx +190 -0
  1301. package/dist/components/catalyst-ui/motions/motion-carousel.tsx +517 -0
  1302. package/dist/components/catalyst-ui/motions/motion-checkbox.tsx +77 -0
  1303. package/dist/components/catalyst-ui/motions/motion-choicebox.tsx +360 -0
  1304. package/dist/components/catalyst-ui/motions/motion-combobox.tsx +242 -0
  1305. package/dist/components/catalyst-ui/motions/motion-command.tsx +328 -0
  1306. package/dist/components/catalyst-ui/motions/motion-context-menu.tsx +391 -0
  1307. package/dist/components/catalyst-ui/motions/motion-date-picker.tsx +162 -0
  1308. package/dist/components/catalyst-ui/motions/motion-dialog.tsx +350 -0
  1309. package/dist/components/catalyst-ui/motions/motion-drawer.tsx +1778 -0
  1310. package/dist/components/catalyst-ui/motions/motion-drawer1.tsx +209 -0
  1311. package/dist/components/catalyst-ui/motions/motion-dropdown-menu.tsx +429 -0
  1312. package/dist/components/catalyst-ui/motions/motion-dropdown1.tsx +572 -0
  1313. package/dist/components/catalyst-ui/motions/motion-feature-carousel.tsx +771 -0
  1314. package/dist/components/catalyst-ui/motions/motion-file-upload.tsx +596 -0
  1315. package/dist/components/catalyst-ui/motions/motion-group.tsx +194 -0
  1316. package/dist/components/catalyst-ui/motions/motion-highlight.tsx +550 -0
  1317. package/dist/components/catalyst-ui/motions/motion-highlight2.tsx +590 -0
  1318. package/dist/components/catalyst-ui/motions/motion-hover-card.tsx +207 -0
  1319. package/dist/components/catalyst-ui/motions/motion-images.tsx +53 -0
  1320. package/dist/components/catalyst-ui/motions/motion-input.tsx +51 -0
  1321. package/dist/components/catalyst-ui/motions/motion-list.tsx +170 -0
  1322. package/dist/components/catalyst-ui/motions/motion-logo-carosel.tsx +668 -0
  1323. package/dist/components/catalyst-ui/motions/motion-map.tsx +372 -0
  1324. package/dist/components/catalyst-ui/motions/motion-navbar.tsx +69 -0
  1325. package/dist/components/catalyst-ui/motions/motion-navigation-menu.tsx +302 -0
  1326. package/dist/components/catalyst-ui/motions/motion-panel.tsx +338 -0
  1327. package/dist/components/catalyst-ui/motions/motion-popover.tsx +281 -0
  1328. package/dist/components/catalyst-ui/motions/motion-radio-card.tsx +77 -0
  1329. package/dist/components/catalyst-ui/motions/motion-radio-group.tsx +54 -0
  1330. package/dist/components/catalyst-ui/motions/motion-rating.tsx +182 -0
  1331. package/dist/components/catalyst-ui/motions/motion-screen.tsx +441 -0
  1332. package/dist/components/catalyst-ui/motions/motion-search-bar.tsx +1013 -0
  1333. package/dist/components/catalyst-ui/motions/motion-section.tsx +270 -0
  1334. package/dist/components/catalyst-ui/motions/motion-select.tsx +306 -0
  1335. package/dist/components/catalyst-ui/motions/motion-spotlight.tsx +217 -0
  1336. package/dist/components/catalyst-ui/motions/motion-switch.tsx +83 -0
  1337. package/dist/components/catalyst-ui/motions/motion-tabs.tsx +554 -0
  1338. package/dist/components/catalyst-ui/motions/motion-tabs2.tsx +257 -0
  1339. package/dist/components/catalyst-ui/motions/motion-testimonials.tsx +282 -0
  1340. package/dist/components/catalyst-ui/motions/motion-toast.tsx +398 -0
  1341. package/dist/components/catalyst-ui/motions/motion-toolbar-tabs.tsx +519 -0
  1342. package/dist/components/catalyst-ui/motions/motion-toolbar.tsx +1113 -0
  1343. package/dist/components/catalyst-ui/motions/motion-tooltip.tsx +162 -0
  1344. package/dist/components/catalyst-ui/motions/motion-tooltip2.tsx +82 -0
  1345. package/dist/components/catalyst-ui/motions/motion-video-player.tsx +1056 -0
  1346. package/dist/components/catalyst-ui/motions/motions-input.tsx +51 -0
  1347. package/dist/components/catalyst-ui/motions/popover-form.tsx +469 -0
  1348. package/dist/components/catalyst-ui/motions/profile-dropdown.tsx +237 -0
  1349. package/dist/components/catalyst-ui/motions/radial-menu.tsx +303 -0
  1350. package/dist/components/catalyst-ui/motions/roladex.tsx +194 -0
  1351. package/dist/components/catalyst-ui/motions/roladex1.tsx +166 -0
  1352. package/dist/components/catalyst-ui/motions/shift-card.tsx +302 -0
  1353. package/dist/components/catalyst-ui/motions/side-panel.tsx +352 -0
  1354. package/dist/components/catalyst-ui/motions/smooth-drawer.tsx +213 -0
  1355. package/dist/components/catalyst-ui/motions/smooth-popover.tsx +491 -0
  1356. package/dist/components/catalyst-ui/motions/sortable-list.tsx +712 -0
  1357. package/dist/components/catalyst-ui/motions/stripe.tsx +261 -0
  1358. package/dist/components/catalyst-ui/motions/texture-button.tsx +217 -0
  1359. package/dist/components/catalyst-ui/motions/timer.tsx +286 -0
  1360. package/dist/components/catalyst-ui/motions/toolbar-expandable.tsx +1138 -0
  1361. package/dist/components/catalyst-ui/motions/youtube-player.tsx +614 -0
  1362. package/dist/components/catalyst-ui/overlays/animated-modal.tsx +212 -0
  1363. package/dist/components/catalyst-ui/overlays/animated-tooltip.tsx +99 -0
  1364. package/dist/components/catalyst-ui/overlays/confirm-popup.tsx +219 -0
  1365. package/dist/components/catalyst-ui/overlays/dialog-stack.tsx +558 -0
  1366. package/dist/components/catalyst-ui/overlays/index.ts +19 -0
  1367. package/dist/components/catalyst-ui/overlays/loading-overlay.tsx +324 -0
  1368. package/dist/components/catalyst-ui/overlays/modal-integrations-1.tsx +300 -0
  1369. package/dist/components/catalyst-ui/overlays/modal-integrations.tsx +301 -0
  1370. package/dist/components/catalyst-ui/overlays/overlay-panel.tsx +233 -0
  1371. package/dist/components/catalyst-ui/overlays/popconfirm.tsx +721 -0
  1372. package/dist/components/catalyst-ui/overlays/sidebar-props.tsx +492 -0
  1373. package/dist/components/catalyst-ui/overlays/sidebar.tsx +2208 -0
  1374. package/dist/components/catalyst-ui/overlays/sidebarMenuItemLoading.tsx +124 -0
  1375. package/dist/components/catalyst-ui/overlays/texture-card.tsx +309 -0
  1376. package/dist/components/catalyst-ui/overlays/transitionable-portal.tsx +230 -0
  1377. package/dist/components/catalyst-ui/pdf/generate_custom_pdf.tsx +40 -0
  1378. package/dist/components/catalyst-ui/pdf/generate_pdf.tsx +196 -0
  1379. package/dist/components/catalyst-ui/pdf/index.ts +12 -0
  1380. package/dist/components/catalyst-ui/pdf/pdf.tsx +32 -0
  1381. package/dist/components/catalyst-ui/pdf/pdf_generator.ts +141 -0
  1382. package/dist/components/catalyst-ui/pdf/pdf_sender.$dealerId.$documentId.$dept.tsx +1260 -0
  1383. package/dist/components/catalyst-ui/pdf/pdf_signer.$id.tsx +1438 -0
  1384. package/dist/components/catalyst-ui/pdf/print_pdf.tsx +15905 -0
  1385. package/dist/components/catalyst-ui/pdf/templateBuilder.tsx +1590 -0
  1386. package/dist/components/catalyst-ui/pdf/test.tsx +53 -0
  1387. package/dist/components/catalyst-ui/pos/index.ts +5 -0
  1388. package/dist/components/catalyst-ui/pos/tools/barcodeScanner.tsx +160 -0
  1389. package/dist/components/catalyst-ui/pos/tools/cashDrawerWizard.tsx +1403 -0
  1390. package/dist/components/catalyst-ui/pos/tools/scan.mp4 +0 -0
  1391. package/dist/components/catalyst-ui/primitives/alert.tsx +103 -0
  1392. package/dist/components/catalyst-ui/primitives/annotated.tsx +133 -0
  1393. package/dist/components/catalyst-ui/primitives/button-group.tsx +89 -0
  1394. package/dist/components/catalyst-ui/primitives/checkbox-tree.tsx +175 -0
  1395. package/dist/components/catalyst-ui/primitives/combobox.tsx +93 -0
  1396. package/dist/components/catalyst-ui/primitives/description-list.tsx +88 -0
  1397. package/dist/components/catalyst-ui/primitives/index.ts +59 -0
  1398. package/dist/components/catalyst-ui/primitives/input-group.tsx +186 -0
  1399. package/dist/components/catalyst-ui/primitives/menubar.tsx +273 -0
  1400. package/dist/components/catalyst-ui/primitives/progress-bar.tsx +114 -0
  1401. package/dist/components/catalyst-ui/primitives/radio-card.tsx +167 -0
  1402. package/dist/components/catalyst-ui/primitives/scroll-area.tsx +56 -0
  1403. package/dist/components/catalyst-ui/primitives/table.tsx +329 -0
  1404. package/dist/components/catalyst-ui/prompt/ai-input-search.tsx +288 -0
  1405. package/dist/components/catalyst-ui/prompt/ai-loading-state.tsx +313 -0
  1406. package/dist/components/catalyst-ui/prompt/ai-prompt-input.tsx +305 -0
  1407. package/dist/components/catalyst-ui/prompt/ai-voice.tsx +241 -0
  1408. package/dist/components/catalyst-ui/prompt/chain-of-thought.tsx +146 -0
  1409. package/dist/components/catalyst-ui/prompt/chatbot.tsx +201 -0
  1410. package/dist/components/catalyst-ui/prompt/code-block-examples.tsx +227 -0
  1411. package/dist/components/catalyst-ui/prompt/code-block.tsx +92 -0
  1412. package/dist/components/catalyst-ui/prompt/conversation-actions.tsx +150 -0
  1413. package/dist/components/catalyst-ui/prompt/conversation-avatars.tsx +92 -0
  1414. package/dist/components/catalyst-ui/prompt/conversation-prompt-input.tsx +256 -0
  1415. package/dist/components/catalyst-ui/prompt/conversation-scroll-bottom.tsx +121 -0
  1416. package/dist/components/catalyst-ui/prompt/file-upload.tsx +310 -0
  1417. package/dist/components/catalyst-ui/prompt/full-chat-app.tsx +759 -0
  1418. package/dist/components/catalyst-ui/prompt/full-conversation.tsx +76 -0
  1419. package/dist/components/catalyst-ui/prompt/image.tsx +94 -0
  1420. package/dist/components/catalyst-ui/prompt/index.ts +46 -0
  1421. package/dist/components/catalyst-ui/prompt/input-byok.tsx +70 -0
  1422. package/dist/components/catalyst-ui/prompt/jsx-preview.tsx +81 -0
  1423. package/dist/components/catalyst-ui/prompt/loader.tsx +497 -0
  1424. package/dist/components/catalyst-ui/prompt/markdown.tsx +117 -0
  1425. package/dist/components/catalyst-ui/prompt/pre-prompts.tsx +59 -0
  1426. package/dist/components/catalyst-ui/prompt/prompt-autocomplete-highlight.tsx +81 -0
  1427. package/dist/components/catalyst-ui/prompt/prompt-chat-container-basic.tsx +98 -0
  1428. package/dist/components/catalyst-ui/prompt/prompt-chat-container-streaming.tsx +132 -0
  1429. package/dist/components/catalyst-ui/prompt/prompt-chat-container.tsx +65 -0
  1430. package/dist/components/catalyst-ui/prompt/prompt-feedback-bar.tsx +79 -0
  1431. package/dist/components/catalyst-ui/prompt/prompt-input-actions.tsx +100 -0
  1432. package/dist/components/catalyst-ui/prompt/prompt-input-suggestions.tsx +150 -0
  1433. package/dist/components/catalyst-ui/prompt/prompt-input.tsx +187 -0
  1434. package/dist/components/catalyst-ui/prompt/prompt-message.tsx +109 -0
  1435. package/dist/components/catalyst-ui/prompt/prompt-suggestion.tsx +116 -0
  1436. package/dist/components/catalyst-ui/prompt/providers.tsx +540 -0
  1437. package/dist/components/catalyst-ui/prompt/reasoning.tsx +168 -0
  1438. package/dist/components/catalyst-ui/prompt/response-stream.tsx +392 -0
  1439. package/dist/components/catalyst-ui/prompt/scroll-button.tsx +39 -0
  1440. package/dist/components/catalyst-ui/prompt/sidebar-chat-history.tsx +242 -0
  1441. package/dist/components/catalyst-ui/prompt/snippets.tsx +1378 -0
  1442. package/dist/components/catalyst-ui/prompt/source.tsx +127 -0
  1443. package/dist/components/catalyst-ui/prompt/steps.tsx +111 -0
  1444. package/dist/components/catalyst-ui/prompt/system-message.tsx +131 -0
  1445. package/dist/components/catalyst-ui/prompt/tool-calling.tsx +236 -0
  1446. package/dist/components/catalyst-ui/prompt/tool.tsx +204 -0
  1447. package/dist/components/catalyst-ui/sidebars/nav-components/NotificationMenu.tsx +120 -0
  1448. package/dist/components/catalyst-ui/sidebars/nav-components/Tree.tsx +53 -0
  1449. package/dist/components/catalyst-ui/sidebars/nav-components/active-toc.tsx +213 -0
  1450. package/dist/components/catalyst-ui/sidebars/nav-components/analog-clock.tsx +211 -0
  1451. package/dist/components/catalyst-ui/sidebars/nav-components/app-sidebar.tsx +339 -0
  1452. package/dist/components/catalyst-ui/sidebars/nav-components/blog-sidebar.tsx +39 -0
  1453. package/dist/components/catalyst-ui/sidebars/nav-components/calendars.tsx +58 -0
  1454. package/dist/components/catalyst-ui/sidebars/nav-components/date-picker.tsx +12 -0
  1455. package/dist/components/catalyst-ui/sidebars/nav-components/dev-list-sidebar.tsx +195 -0
  1456. package/dist/components/catalyst-ui/sidebars/nav-components/digital-clock.tsx +343 -0
  1457. package/dist/components/catalyst-ui/sidebars/nav-components/index.ts +41 -0
  1458. package/dist/components/catalyst-ui/sidebars/nav-components/loading-sidebar.tsx +42 -0
  1459. package/dist/components/catalyst-ui/sidebars/nav-components/nav-actions.tsx +122 -0
  1460. package/dist/components/catalyst-ui/sidebars/nav-components/nav-appointments.tsx +429 -0
  1461. package/dist/components/catalyst-ui/sidebars/nav-components/nav-auto-search.tsx +314 -0
  1462. package/dist/components/catalyst-ui/sidebars/nav-components/nav-favorites.tsx +71 -0
  1463. package/dist/components/catalyst-ui/sidebars/nav-components/nav-header.tsx +409 -0
  1464. package/dist/components/catalyst-ui/sidebars/nav-components/nav-main.tsx +1583 -0
  1465. package/dist/components/catalyst-ui/sidebars/nav-components/nav-messenger.tsx +440 -0
  1466. package/dist/components/catalyst-ui/sidebars/nav-components/nav-projects.tsx +66 -0
  1467. package/dist/components/catalyst-ui/sidebars/nav-components/nav-quick-actions.tsx +366 -0
  1468. package/dist/components/catalyst-ui/sidebars/nav-components/nav-secondary.tsx +33 -0
  1469. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cart.tsx +231 -0
  1470. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cartCatlstui.tsx +196 -0
  1471. package/dist/components/catalyst-ui/sidebars/nav-components/nav-tree-view.tsx +18 -0
  1472. package/dist/components/catalyst-ui/sidebars/nav-components/nav-user.tsx +87 -0
  1473. package/dist/components/catalyst-ui/sidebars/nav-components/nav-workspaces.tsx +69 -0
  1474. package/dist/components/catalyst-ui/sidebars/nav-components/navigation-theme-selector.tsx +143 -0
  1475. package/dist/components/catalyst-ui/sidebars/nav-components/opt-in-form.tsx +29 -0
  1476. package/dist/components/catalyst-ui/sidebars/nav-components/search-command.tsx +32 -0
  1477. package/dist/components/catalyst-ui/sidebars/nav-components/search-form.tsx +21 -0
  1478. package/dist/components/catalyst-ui/sidebars/nav-components/settings-menu.tsx +35 -0
  1479. package/dist/components/catalyst-ui/sidebars/nav-components/sidebar-dialog.tsx +82 -0
  1480. package/dist/components/catalyst-ui/sidebars/nav-components/site-header.tsx +40 -0
  1481. package/dist/components/catalyst-ui/sidebars/nav-components/team-switcher.tsx +68 -0
  1482. package/dist/components/catalyst-ui/sidebars/nav-components/toc.tsx +301 -0
  1483. package/dist/components/catalyst-ui/sidebars/nav-components/user-menu.tsx +77 -0
  1484. package/dist/components/catalyst-ui/sidebars/nav-components/version-switcher.tsx +49 -0
  1485. package/dist/components/catalyst-ui/sidebars/nav-components/wishlist.tsx +292 -0
  1486. package/dist/components/catalyst-ui/sidebars/sidebar-01/AppSidebar.tsx +36 -0
  1487. package/dist/components/catalyst-ui/sidebars/sidebar-01/SearchForm.tsx +24 -0
  1488. package/dist/components/catalyst-ui/sidebars/sidebar-01/VersionSwitcher.tsx +49 -0
  1489. package/dist/components/catalyst-ui/sidebars/sidebar-01/index.tsx +270 -0
  1490. package/dist/components/catalyst-ui/sidebars/sidebar-01/sidebar-01.tsx +178 -0
  1491. package/dist/components/catalyst-ui/sidebars/sidebar-02/AppSidebar.tsx +56 -0
  1492. package/dist/components/catalyst-ui/sidebars/sidebar-02/SearchForm.tsx +24 -0
  1493. package/dist/components/catalyst-ui/sidebars/sidebar-02/VersionSwitcher.tsx +44 -0
  1494. package/dist/components/catalyst-ui/sidebars/sidebar-02/index.tsx +301 -0
  1495. package/dist/components/catalyst-ui/sidebars/sidebar-02/sidebar-02.tsx +193 -0
  1496. package/dist/components/catalyst-ui/sidebars/sidebar-03/AppSidebar.tsx +54 -0
  1497. package/dist/components/catalyst-ui/sidebars/sidebar-03/index.tsx +238 -0
  1498. package/dist/components/catalyst-ui/sidebars/sidebar-03/sidebar-03.tsx +189 -0
  1499. package/dist/components/catalyst-ui/sidebars/sidebar-04/AppSidebar.tsx +58 -0
  1500. package/dist/components/catalyst-ui/sidebars/sidebar-04/index.tsx +249 -0
  1501. package/dist/components/catalyst-ui/sidebars/sidebar-04/sidebar-04.tsx +201 -0
  1502. package/dist/components/catalyst-ui/sidebars/sidebar-05/AppSidebar.tsx +70 -0
  1503. package/dist/components/catalyst-ui/sidebars/sidebar-05/SearchForm.tsx +25 -0
  1504. package/dist/components/catalyst-ui/sidebars/sidebar-05/index.tsx +275 -0
  1505. package/dist/components/catalyst-ui/sidebars/sidebar-05/sidebar-05.tsx +191 -0
  1506. package/dist/components/catalyst-ui/sidebars/sidebar-06/AppSidebar.tsx +43 -0
  1507. package/dist/components/catalyst-ui/sidebars/sidebar-06/NavMain.tsx +56 -0
  1508. package/dist/components/catalyst-ui/sidebars/sidebar-06/SidebarOptInForm.tsx +34 -0
  1509. package/dist/components/catalyst-ui/sidebars/sidebar-06/index.tsx +290 -0
  1510. package/dist/components/catalyst-ui/sidebars/sidebar-06/sidebar-06.tsx +183 -0
  1511. package/dist/components/catalyst-ui/sidebars/sidebar-07/AppSidebar.tsx +28 -0
  1512. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavMain.tsx +57 -0
  1513. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavProjects.tsx +67 -0
  1514. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavUser.tsx +86 -0
  1515. package/dist/components/catalyst-ui/sidebars/sidebar-07/TeamSwitcher.tsx +74 -0
  1516. package/dist/components/catalyst-ui/sidebars/sidebar-07/index.tsx +474 -0
  1517. package/dist/components/catalyst-ui/sidebars/sidebar-07/sidebar-07.tsx +189 -0
  1518. package/dist/components/catalyst-ui/sidebars/sidebar-08/AppSidebar.tsx +41 -0
  1519. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavMain.tsx +62 -0
  1520. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavProjects.tsx +68 -0
  1521. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavSecondary.tsx +35 -0
  1522. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavUser.tsx +87 -0
  1523. package/dist/components/catalyst-ui/sidebars/sidebar-08/index.tsx +446 -0
  1524. package/dist/components/catalyst-ui/sidebars/sidebar-08/sidebar-08.tsx +181 -0
  1525. package/dist/components/catalyst-ui/sidebars/sidebar-09/AppSidebar.tsx +213 -0
  1526. package/dist/components/catalyst-ui/sidebars/sidebar-09/NavUser.tsx +88 -0
  1527. package/dist/components/catalyst-ui/sidebars/sidebar-09/index.tsx +468 -0
  1528. package/dist/components/catalyst-ui/sidebars/sidebar-09/sidebar-09.tsx +177 -0
  1529. package/dist/components/catalyst-ui/sidebars/sidebar-10/AppSidebar.tsx +28 -0
  1530. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavActions.tsx +59 -0
  1531. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavFavorites.tsx +74 -0
  1532. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavMain.tsx +31 -0
  1533. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavSecondary.tsx +37 -0
  1534. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavWorkspaces.tsx +70 -0
  1535. package/dist/components/catalyst-ui/sidebars/sidebar-10/TeamSwitcher.tsx +70 -0
  1536. package/dist/components/catalyst-ui/sidebars/sidebar-10/index.tsx +675 -0
  1537. package/dist/components/catalyst-ui/sidebars/sidebar-10/sidebar-10.tsx +348 -0
  1538. package/dist/components/catalyst-ui/sidebars/sidebar-11/AppSidebar.tsx +46 -0
  1539. package/dist/components/catalyst-ui/sidebars/sidebar-11/Tree.tsx +49 -0
  1540. package/dist/components/catalyst-ui/sidebars/sidebar-11/index.tsx +175 -0
  1541. package/dist/components/catalyst-ui/sidebars/sidebar-11/sidebar-11.tsx +102 -0
  1542. package/dist/components/catalyst-ui/sidebars/sidebar-12/AppSidebar.tsx +32 -0
  1543. package/dist/components/catalyst-ui/sidebars/sidebar-12/Calendars.tsx +57 -0
  1544. package/dist/components/catalyst-ui/sidebars/sidebar-12/DatePicker.tsx +13 -0
  1545. package/dist/components/catalyst-ui/sidebars/sidebar-12/NavUser.tsx +85 -0
  1546. package/dist/components/catalyst-ui/sidebars/sidebar-12/index.tsx +237 -0
  1547. package/dist/components/catalyst-ui/sidebars/sidebar-12/sidebar-12.tsx +68 -0
  1548. package/dist/components/catalyst-ui/sidebars/sidebar-13/SettingsDialog.tsx +82 -0
  1549. package/dist/components/catalyst-ui/sidebars/sidebar-13/index.tsx +105 -0
  1550. package/dist/components/catalyst-ui/sidebars/sidebar-13/sidebar-13.tsx +24 -0
  1551. package/dist/components/catalyst-ui/sidebars/sidebar-14/AppSidebar.tsx +45 -0
  1552. package/dist/components/catalyst-ui/sidebars/sidebar-14/index.tsx +225 -0
  1553. package/dist/components/catalyst-ui/sidebars/sidebar-14/sidebar-14.tsx +186 -0
  1554. package/dist/components/catalyst-ui/sidebars/sidebar-15/Calendars.tsx +83 -0
  1555. package/dist/components/catalyst-ui/sidebars/sidebar-15/DatePicker.tsx +39 -0
  1556. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavFavorites.tsx +98 -0
  1557. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavMain.tsx +29 -0
  1558. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavSecondary.tsx +36 -0
  1559. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavUser.tsx +89 -0
  1560. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavWorkspaces.tsx +95 -0
  1561. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarLeft.tsx +28 -0
  1562. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarRight.tsx +38 -0
  1563. package/dist/components/catalyst-ui/sidebars/sidebar-15/TeamSwitcher.tsx +89 -0
  1564. package/dist/components/catalyst-ui/sidebars/sidebar-15/index.tsx +776 -0
  1565. package/dist/components/catalyst-ui/sidebars/sidebar-15/sidebar-15.tsx +324 -0
  1566. package/dist/components/catalyst-ui/sidebars/sidebar-16/AppSidebar.tsx +50 -0
  1567. package/dist/components/catalyst-ui/sidebars/sidebar-16/NavUser.tsx +100 -0
  1568. package/dist/components/catalyst-ui/sidebars/sidebar-16/SearchForm.tsx +35 -0
  1569. package/dist/components/catalyst-ui/sidebars/sidebar-16/SiteHeader.tsx +51 -0
  1570. package/dist/components/catalyst-ui/sidebars/sidebar-16/index.tsx +424 -0
  1571. package/dist/components/catalyst-ui/sidebars/sidebar-16/sidebar-16.tsx +188 -0
  1572. package/dist/components/catalyst-ui/sidebars/sidebar-17/AppSidebar.tsx +154 -0
  1573. package/dist/components/catalyst-ui/sidebars/sidebar-17/ShoppingCartSidebar.tsx +163 -0
  1574. package/dist/components/catalyst-ui/sidebars/sidebar-17/index.tsx +557 -0
  1575. package/dist/components/catalyst-ui/sidebars/sidebar-17/sidebar-17.tsx +183 -0
  1576. package/dist/components/catalyst-ui/sidebars/sidebar-18/AppSidebar.tsx +32 -0
  1577. package/dist/components/catalyst-ui/sidebars/sidebar-18/NavTreeView.tsx +18 -0
  1578. package/dist/components/catalyst-ui/sidebars/sidebar-18/index.tsx +120 -0
  1579. package/dist/components/catalyst-ui/sidebars/sidebar-18/sidebar-18.tsx +92 -0
  1580. package/dist/components/catalyst-ui/sidebars/sidebar-19/AppSidebar.tsx +230 -0
  1581. package/dist/components/catalyst-ui/sidebars/sidebar-19/index.tsx +264 -0
  1582. package/dist/components/catalyst-ui/sidebars/sidebar-19/sidebar-19.tsx +59 -0
  1583. package/dist/components/catalyst-ui/sidebars/sidebar-20/AppSidebar.tsx +215 -0
  1584. package/dist/components/catalyst-ui/sidebars/sidebar-20/index.tsx +250 -0
  1585. package/dist/components/catalyst-ui/sidebars/sidebar-20/sidebar-20.tsx +44 -0
  1586. package/dist/components/catalyst-ui/sidebars/sidebar-21/AppSidebar.tsx +303 -0
  1587. package/dist/components/catalyst-ui/sidebars/sidebar-21/LoadingSidebar.tsx +41 -0
  1588. package/dist/components/catalyst-ui/sidebars/sidebar-21/index.tsx +412 -0
  1589. package/dist/components/catalyst-ui/sidebars/sidebar-21/sidebar-21.tsx +75 -0
  1590. package/dist/components/catalyst-ui/sidebars/sidebar-22/AppSidebar.tsx +184 -0
  1591. package/dist/components/catalyst-ui/sidebars/sidebar-22/LoadingSidebar.tsx +45 -0
  1592. package/dist/components/catalyst-ui/sidebars/sidebar-22/index.tsx +251 -0
  1593. package/dist/components/catalyst-ui/sidebars/sidebar-22/sidebar-22.tsx +44 -0
  1594. package/dist/components/catalyst-ui/sidebars/sidebar-24/NavUser.tsx +87 -0
  1595. package/dist/components/catalyst-ui/sidebars/sidebar-24/calendars-24.tsx +58 -0
  1596. package/dist/components/catalyst-ui/sidebars/sidebar-24/date-picker-24.tsx +12 -0
  1597. package/dist/components/catalyst-ui/sidebars/sidebar-24/sidebar-24.tsx +39 -0
  1598. package/dist/components/catalyst-ui/sidebars/sidebar-25/AppSidebar.tsx +24 -0
  1599. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavMain.tsx +57 -0
  1600. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavSecondary.tsx +35 -0
  1601. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavUser.tsx +87 -0
  1602. package/dist/components/catalyst-ui/sidebars/sidebar-25/SearchForm.tsx +35 -0
  1603. package/dist/components/catalyst-ui/sidebars/sidebar-25/SiteHeader.tsx +19 -0
  1604. package/dist/components/catalyst-ui/sidebars/sidebar-25/index.tsx +172 -0
  1605. package/dist/components/catalyst-ui/sidebars/sidebar-25/sidebar-25.tsx +153 -0
  1606. package/dist/components/catalyst-ui/sidebars/sidebar-26/app-sidebar-26.tsx +344 -0
  1607. package/dist/components/catalyst-ui/sidebars/sidebar-26/index.tsx +78 -0
  1608. package/dist/components/catalyst-ui/sidebars/sidebar-26/sidebar-26.tsx +78 -0
  1609. package/dist/components/catalyst-ui/sidebars/sidebar-26/use-mobile-26.ts +19 -0
  1610. package/dist/components/catalyst-ui/sidebars/sidebar-27/sidebar-27.tsx +5 -0
  1611. package/dist/components/catalyst-ui/sidebars/sidebar-28/app-sidebar-28.tsx +285 -0
  1612. package/dist/components/catalyst-ui/sidebars/sidebar-28/index.tsx +31 -0
  1613. package/dist/components/catalyst-ui/sidebars/sidebar-28/nav-user-28.tsx +88 -0
  1614. package/dist/components/catalyst-ui/sidebars/sidebar-28/search-form-28.tsx +23 -0
  1615. package/dist/components/catalyst-ui/sidebars/sidebar-28/sidebar-28.tsx +32 -0
  1616. package/dist/components/catalyst-ui/sidebars/sidebar-28/site-header-28.tsx +29 -0
  1617. package/dist/components/catalyst-ui/sidebars/sidebar-28/use-mobile-28.ts +19 -0
  1618. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left-icon.tsx +101 -0
  1619. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left.tsx +88 -0
  1620. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right-icon.tsx +106 -0
  1621. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right.tsx +87 -0
  1622. package/dist/components/catalyst-ui/sidebars/sidebar-29/nav-user.tsx +74 -0
  1623. package/dist/components/catalyst-ui/sidebars/sidebar-29/settings-dialog.tsx +91 -0
  1624. package/dist/components/catalyst-ui/sidebars/sidebar-29/sidebar-29.tsx +204 -0
  1625. package/dist/components/catalyst-ui/sidebars/sidebar-29/version-switcher.tsx +52 -0
  1626. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-left.tsx +678 -0
  1627. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-right.tsx +87 -0
  1628. package/dist/components/catalyst-ui/sidebars/sidebar-30/settings-dialog.tsx +91 -0
  1629. package/dist/components/catalyst-ui/sidebars/sidebar-30/sidebar-30.tsx +604 -0
  1630. package/dist/components/catalyst-ui/sidebars/sidebar-31/ds-left.tsx +431 -0
  1631. package/dist/components/catalyst-ui/sidebars/sidebar-31/message.tsx +28 -0
  1632. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-auto-search.tsx +310 -0
  1633. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-search-command.tsx +0 -0
  1634. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-user.tsx +74 -0
  1635. package/dist/components/catalyst-ui/sidebars/sidebar-31/sidebar-31.tsx +369 -0
  1636. package/dist/components/catalyst-ui/sidebars/sidebar-31/typing-message.tsx +12 -0
  1637. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-left.tsx +119 -0
  1638. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-right.tsx +87 -0
  1639. package/dist/components/catalyst-ui/sidebars/sidebar-32/settings-dialog.tsx +91 -0
  1640. package/dist/components/catalyst-ui/sidebars/sidebar-32/sidebar-32.tsx +119 -0
  1641. package/dist/components/catalyst-ui/sidebars/variants/dual-sidebar-agnostic.tsx +3473 -0
  1642. package/dist/components/catalyst-ui/sidebars/variants/sidebar-original.tsx +714 -0
  1643. package/dist/components/catalyst-ui/sidebars/variants/sidebar-right.tsx +823 -0
  1644. package/dist/components/catalyst-ui/sidebars/variants/sidebar-stylistic-default.tsx +591 -0
  1645. package/dist/components/catalyst-ui/table/catalyst-table/column-header-simple.tsx +60 -0
  1646. package/dist/components/catalyst-ui/table/catalyst-table/column-header.tsx +223 -0
  1647. package/dist/components/catalyst-ui/table/catalyst-table/draggable-header.tsx +58 -0
  1648. package/dist/components/catalyst-ui/table/catalyst-table/faceted-filter.tsx +131 -0
  1649. package/dist/components/catalyst-ui/table/catalyst-table/global-search.tsx +0 -0
  1650. package/dist/components/catalyst-ui/table/catalyst-table/row-actions.tsx +49 -0
  1651. package/dist/components/catalyst-ui/table/catalyst-table/table.tsx +421 -0
  1652. package/dist/components/catalyst-ui/table/index.ts +14 -0
  1653. package/dist/components/catalyst-ui/table/props-table.tsx +170 -0
  1654. package/dist/components/catalyst-ui/table/small-table.tsx +719 -0
  1655. package/dist/components/catalyst-ui/table/table-1.tsx +246 -0
  1656. package/dist/components/catalyst-ui/themeStudio/config.tsx +83 -0
  1657. package/dist/components/catalyst-ui/themeStudio/dual-sidebar.tsx +3256 -0
  1658. package/dist/components/catalyst-ui/themeStudio/theme-provider.tsx +269 -0
  1659. package/dist/components/catalyst-ui/themeStudio/use-color-theme.tsx +1614 -0
  1660. package/dist/components/catalyst-ui/themeStudio/use-color-wheel.tsx +904 -0
  1661. package/dist/components/catalyst-ui/tools/Demo/md-render-genie.tsx +273 -0
  1662. package/dist/components/catalyst-ui/tools/GandalfBot.tsx +144 -0
  1663. package/dist/components/catalyst-ui/tools/MdFileTreeExplorer.tsx +287 -0
  1664. package/dist/components/catalyst-ui/tools/accessibility-checker.tsx +370 -0
  1665. package/dist/components/catalyst-ui/tools/animation-builder.tsx +350 -0
  1666. package/dist/components/catalyst-ui/tools/api-response.tsx +318 -0
  1667. package/dist/components/catalyst-ui/tools/chart-playground.tsx +480 -0
  1668. package/dist/components/catalyst-ui/tools/code-carousel.tsx +246 -0
  1669. package/dist/components/catalyst-ui/tools/code-diff.tsx +274 -0
  1670. package/dist/components/catalyst-ui/tools/code-editor.tsx +35 -0
  1671. package/dist/components/catalyst-ui/tools/code-highlight-plugin.tsx +25 -0
  1672. package/dist/components/catalyst-ui/tools/color-converter.tsx +413 -0
  1673. package/dist/components/catalyst-ui/tools/color-wheel.tsx +1012 -0
  1674. package/dist/components/catalyst-ui/tools/components-reel.tsx +135 -0
  1675. package/dist/components/catalyst-ui/tools/convert/converter.tsx +969 -0
  1676. package/dist/components/catalyst-ui/tools/convert/sidebar-converter.tsx +132 -0
  1677. package/dist/components/catalyst-ui/tools/cron-expression-builder.tsx +346 -0
  1678. package/dist/components/catalyst-ui/tools/dual-editor.tsx +240 -0
  1679. package/dist/components/catalyst-ui/tools/editor.tsx +1744 -0
  1680. package/dist/components/catalyst-ui/tools/examples.tsx +1206 -0
  1681. package/dist/components/catalyst-ui/tools/flexbox-sandbox.tsx +327 -0
  1682. package/dist/components/catalyst-ui/tools/function-theater.tsx +93 -0
  1683. package/dist/components/catalyst-ui/tools/grid-sandbox.tsx +464 -0
  1684. package/dist/components/catalyst-ui/tools/icons.tsx +249 -0
  1685. package/dist/components/catalyst-ui/tools/index.ts +59 -0
  1686. package/dist/components/catalyst-ui/tools/json-Formatter.tsx +258 -0
  1687. package/dist/components/catalyst-ui/tools/layout-generator.tsx +237 -0
  1688. package/dist/components/catalyst-ui/tools/lexical-editor.tsx +218 -0
  1689. package/dist/components/catalyst-ui/tools/live-playground.tsx +1458 -0
  1690. package/dist/components/catalyst-ui/tools/lorem-ipsum-generator.tsx +314 -0
  1691. package/dist/components/catalyst-ui/tools/md-badge-builder.tsx +179 -0
  1692. package/dist/components/catalyst-ui/tools/md-cheat-sheet.tsx +5557 -0
  1693. package/dist/components/catalyst-ui/tools/md-editor.tsx +632 -0
  1694. package/dist/components/catalyst-ui/tools/md-render-genie.tsx +1233 -0
  1695. package/dist/components/catalyst-ui/tools/md-renderer.tsx +61 -0
  1696. package/dist/components/catalyst-ui/tools/monaco-sidebar.tsx +7791 -0
  1697. package/dist/components/catalyst-ui/tools/monaco.tsx +492 -0
  1698. package/dist/components/catalyst-ui/tools/motion-sandbox.tsx +0 -0
  1699. package/dist/components/catalyst-ui/tools/qr-code-generator.tsx +432 -0
  1700. package/dist/components/catalyst-ui/tools/regex-tester.tsx +508 -0
  1701. package/dist/components/catalyst-ui/tools/responsive-preview.tsx +286 -0
  1702. package/dist/components/catalyst-ui/tools/rich-text-editor copy.tsx +1058 -0
  1703. package/dist/components/catalyst-ui/tools/rich-text-editor.tsx +1994 -0
  1704. package/dist/components/catalyst-ui/tools/rte.md +119 -0
  1705. package/dist/components/catalyst-ui/tools/sandbox.tsx +52 -0
  1706. package/dist/components/catalyst-ui/tools/scripts-viewer.tsx +215 -0
  1707. package/dist/components/catalyst-ui/tools/scripts.edit.tsx +3102 -0
  1708. package/dist/components/catalyst-ui/tools/table-plugin.tsx +149 -0
  1709. package/dist/components/catalyst-ui/tools/tailwind-converter.tsx +502 -0
  1710. package/dist/components/catalyst-ui/tools/terminal.tsx +60 -0
  1711. package/dist/components/catalyst-ui/tools/theme-builder.tsx +5071 -0
  1712. package/dist/components/catalyst-ui/tools/toolbar-plugin.tsx +383 -0
  1713. package/dist/components/catalyst-ui/tools/toolbar-plugin1.tsx +861 -0
  1714. package/dist/components/catalyst-ui/tools/typography-tester.tsx +310 -0
  1715. package/dist/components/catalyst-ui/tools/uuid-hash-generator.tsx +534 -0
  1716. package/dist/components/catalyst-ui/tools/vscode-cmds.tsx +3813 -0
  1717. package/dist/components/catalyst-ui/tools/x-viewer.tsx +135 -0
  1718. package/dist/components/catalyst-ui/typography/animated-glitch-text.tsx +188 -0
  1719. package/dist/components/catalyst-ui/typography/b.tsx +23 -0
  1720. package/dist/components/catalyst-ui/typography/blockquote.tsx +35 -0
  1721. package/dist/components/catalyst-ui/typography/check-list.tsx +130 -0
  1722. package/dist/components/catalyst-ui/typography/code.tsx +26 -0
  1723. package/dist/components/catalyst-ui/typography/comic-text.tsx +68 -0
  1724. package/dist/components/catalyst-ui/typography/display-code.tsx +148 -0
  1725. package/dist/components/catalyst-ui/typography/div.tsx +20 -0
  1726. package/dist/components/catalyst-ui/typography/dynamic-text.tsx +149 -0
  1727. package/dist/components/catalyst-ui/typography/encrypted-text.tsx +168 -0
  1728. package/dist/components/catalyst-ui/typography/glitch-text.tsx +174 -0
  1729. package/dist/components/catalyst-ui/typography/h1.tsx +19 -0
  1730. package/dist/components/catalyst-ui/typography/h2.tsx +19 -0
  1731. package/dist/components/catalyst-ui/typography/h3.tsx +19 -0
  1732. package/dist/components/catalyst-ui/typography/h4.tsx +19 -0
  1733. package/dist/components/catalyst-ui/typography/h5.tsx +19 -0
  1734. package/dist/components/catalyst-ui/typography/highlight-1.tsx +133 -0
  1735. package/dist/components/catalyst-ui/typography/highlight.tsx +133 -0
  1736. package/dist/components/catalyst-ui/typography/hyper-text.tsx +135 -0
  1737. package/dist/components/catalyst-ui/typography/i.tsx +23 -0
  1738. package/dist/components/catalyst-ui/typography/ib.tsx +24 -0
  1739. package/dist/components/catalyst-ui/typography/index.ts +49 -0
  1740. package/dist/components/catalyst-ui/typography/line-shadow-text.tsx +44 -0
  1741. package/dist/components/catalyst-ui/typography/matrix-text.tsx +186 -0
  1742. package/dist/components/catalyst-ui/typography/ordered-list.tsx +39 -0
  1743. package/dist/components/catalyst-ui/typography/p.tsx +19 -0
  1744. package/dist/components/catalyst-ui/typography/paragraph-scramble.tsx +122 -0
  1745. package/dist/components/catalyst-ui/typography/pm.tsx +20 -0
  1746. package/dist/components/catalyst-ui/typography/prose.tsx +90 -0
  1747. package/dist/components/catalyst-ui/typography/scroll-text.tsx +181 -0
  1748. package/dist/components/catalyst-ui/typography/shimmer-text.tsx +105 -0
  1749. package/dist/components/catalyst-ui/typography/sliced-text.tsx +131 -0
  1750. package/dist/components/catalyst-ui/typography/swoosh-text.tsx +111 -0
  1751. package/dist/components/catalyst-ui/typography/text-animate.tsx +380 -0
  1752. package/dist/components/catalyst-ui/typography/text-highlighter.tsx +101 -0
  1753. package/dist/components/catalyst-ui/typography/text-morph.tsx +272 -0
  1754. package/dist/components/catalyst-ui/typography/text-reveal.tsx +71 -0
  1755. package/dist/components/catalyst-ui/typography/text-rewind.tsx +90 -0
  1756. package/dist/components/catalyst-ui/typography/text-scramble.tsx +111 -0
  1757. package/dist/components/catalyst-ui/typography/text.tsx +134 -0
  1758. package/dist/components/catalyst-ui/typography/typewriter.tsx +153 -0
  1759. package/dist/components/catalyst-ui/typography/typing-animation.tsx +172 -0
  1760. package/dist/components/catalyst-ui/typography/typography.tsx +67 -0
  1761. package/dist/components/catalyst-ui/typography/unordered-list.tsx +78 -0
  1762. package/dist/components/catalyst-ui/typography/video-text.tsx +86 -0
  1763. package/dist/components/catalyst-ui/typography/word-rotate.tsx +48 -0
  1764. package/dist/components/catalyst-ui/utils/auth-provider.tsx +419 -0
  1765. package/dist/components/catalyst-ui/utils/auth.github.callback.tsx +135 -0
  1766. package/dist/components/catalyst-ui/utils/auth.github.tsx +17 -0
  1767. package/dist/components/catalyst-ui/utils/auth.ts +34 -0
  1768. package/dist/components/catalyst-ui/utils/auth_github.ts +48 -0
  1769. package/dist/components/catalyst-ui/utils/auth_session.ts +70 -0
  1770. package/dist/components/catalyst-ui/utils/batcher.tsx +50 -0
  1771. package/dist/components/catalyst-ui/utils/build-package-json.js +89 -0
  1772. package/dist/components/catalyst-ui/utils/cache-assets.ts +72 -0
  1773. package/dist/components/catalyst-ui/utils/client-only-mermaid.tsx +82 -0
  1774. package/dist/components/catalyst-ui/utils/client-only.tsx +27 -0
  1775. package/dist/components/catalyst-ui/utils/cors.ts +178 -0
  1776. package/dist/components/catalyst-ui/utils/crypto.ts +96 -0
  1777. package/dist/components/catalyst-ui/utils/dbLocal.js +74 -0
  1778. package/dist/components/catalyst-ui/utils/dbRemote.js +74 -0
  1779. package/dist/components/catalyst-ui/utils/demo.tsx +499 -0
  1780. package/dist/components/catalyst-ui/utils/dynamic-links.tsx +324 -0
  1781. package/dist/components/catalyst-ui/utils/event-stream.ts +82 -0
  1782. package/dist/components/catalyst-ui/utils/existing-search-params.tsx +78 -0
  1783. package/dist/components/catalyst-ui/utils/external-scripts.tsx +144 -0
  1784. package/dist/components/catalyst-ui/utils/fetcher-context.tsx +45 -0
  1785. package/dist/components/catalyst-ui/utils/fetcher-type.tsx +82 -0
  1786. package/dist/components/catalyst-ui/utils/filename-icon-map.tsx +176 -0
  1787. package/dist/components/catalyst-ui/utils/flickering-grid.tsx +188 -0
  1788. package/dist/components/catalyst-ui/utils/get-client-ip-address.ts +52 -0
  1789. package/dist/components/catalyst-ui/utils/get-client-locales.ts +25 -0
  1790. package/dist/components/catalyst-ui/utils/get-headers.ts +7 -0
  1791. package/dist/components/catalyst-ui/utils/honeypot-react.tsx +480 -0
  1792. package/dist/components/catalyst-ui/utils/honeypot.ts +138 -0
  1793. package/dist/components/catalyst-ui/utils/index.ts +82 -0
  1794. package/dist/components/catalyst-ui/utils/is-prefetch.ts +19 -0
  1795. package/dist/components/catalyst-ui/utils/json-hash.ts +33 -0
  1796. package/dist/components/catalyst-ui/utils/keyboard-shortcut.tsx +124 -0
  1797. package/dist/components/catalyst-ui/utils/named-action.ts +50 -0
  1798. package/dist/components/catalyst-ui/utils/navigation-context.tsx +71 -0
  1799. package/dist/components/catalyst-ui/utils/options.ts +20 -0
  1800. package/dist/components/catalyst-ui/utils/otp-auth-session.ts +14 -0
  1801. package/dist/components/catalyst-ui/utils/otp-client-auth.tsx +30 -0
  1802. package/dist/components/catalyst-ui/utils/otp-email.tsx +104 -0
  1803. package/dist/components/catalyst-ui/utils/parse-accept-header.ts +21 -0
  1804. package/dist/components/catalyst-ui/utils/preload-route-assets.ts +60 -0
  1805. package/dist/components/catalyst-ui/utils/prisma.ts +93 -0
  1806. package/dist/components/catalyst-ui/utils/promise.ts +55 -0
  1807. package/dist/components/catalyst-ui/utils/qr-code-1-server.tsx +42 -0
  1808. package/dist/components/catalyst-ui/utils/qr-code-1.tsx +87 -0
  1809. package/dist/components/catalyst-ui/utils/redirect-back.ts +35 -0
  1810. package/dist/components/catalyst-ui/utils/redirect-bad-requests.tsx +5 -0
  1811. package/dist/components/catalyst-ui/utils/remix-auth.ts +35 -0
  1812. package/dist/components/catalyst-ui/utils/remix_auth_session.ts +71 -0
  1813. package/dist/components/catalyst-ui/utils/respond-to.ts +40 -0
  1814. package/dist/components/catalyst-ui/utils/responses.ts +130 -0
  1815. package/dist/components/catalyst-ui/utils/rolling-cookie.tsx +39 -0
  1816. package/dist/components/catalyst-ui/utils/safe-redirect.ts +21 -0
  1817. package/dist/components/catalyst-ui/utils/scaffolding.tsx +14 -0
  1818. package/dist/components/catalyst-ui/utils/scroll-top.tsx +382 -0
  1819. package/dist/components/catalyst-ui/utils/scroll-x.tsx +22 -0
  1820. package/dist/components/catalyst-ui/utils/scroll-xy.tsx +22 -0
  1821. package/dist/components/catalyst-ui/utils/scroll-y.tsx +14 -0
  1822. package/dist/components/catalyst-ui/utils/scroll.tsx +32 -0
  1823. package/dist/components/catalyst-ui/utils/sec-fetch-parser.tsx +119 -0
  1824. package/dist/components/catalyst-ui/utils/sec-fetch-parsers.tsx +42 -0
  1825. package/dist/components/catalyst-ui/utils/server-only.tsx +12 -0
  1826. package/dist/components/catalyst-ui/utils/singleton.tsx +22 -0
  1827. package/dist/components/catalyst-ui/utils/style-provider.tsx +292 -0
  1828. package/dist/components/catalyst-ui/utils/tailwindcss.css.txt +134 -0
  1829. package/dist/components/catalyst-ui/utils/typed-cookie.ts +90 -0
  1830. package/dist/components/catalyst-ui/utils/typed-session.ts +115 -0
  1831. package/dist/components/catalyst-ui/utils/user-based-access-rules.tsx +118 -0
  1832. package/dist/components/catalyst-ui/x/index.ts +38 -0
  1833. package/dist/components/catalyst-ui/x/input-x.tsx +2263 -0
  1834. package/dist/components/catalyst-ui/x/nav-x.tsx +3213 -0
  1835. package/dist/components/catalyst-ui/x/tracker-x.tsx +2 -12
  1836. package/dist/index.js +116 -141
  1837. package/package.json +1 -1
  1838. /package/dist/{data.tsx → components/catalyst-ui/data.tsx} +0 -0
  1839. /package/dist/components/catalyst-ui/x/{button-X.tsx → button-x.tsx} +0 -0
@@ -0,0 +1,4136 @@
1
+ // @dev app/components/catalyst-ui/overlays/expandable-screen.tsx:6
2
+ export const OverlayData = [
3
+ {
4
+ name: "Animated Modal",
5
+ value: "animated-modal",
6
+ importPath: "~/components/catalyst-ui/overlays/animated-modal",
7
+ multiImport: "AnimatedModal, AnimatedModalBody, AnimatedModalContent, AnimatedModalFooter, AnimatedModalTrigger, AnimatedModalCloseButton, AnimatedModalSuccessButton, useModal",
8
+ basicusage: `
9
+ <AnimatedModal>
10
+ <AnimatedModalTrigger>
11
+ Open Modal
12
+ </AnimatedModalTrigger>
13
+ <AnimatedModalBody>
14
+ <AnimatedModalContent>
15
+ Modal content here
16
+ </AnimatedModalContent>
17
+ <AnimatedModalFooter>
18
+ <AnimatedModalCloseButton>
19
+ Cancel
20
+ </AnimatedModalCloseButton>
21
+ </AnimatedModalFooter>
22
+ </AnimatedModalBody>
23
+ </AnimatedModal>
24
+
25
+ <AnimatedModal>
26
+ <AnimatedModalTrigger className="custom-class">
27
+ Open Modal
28
+ </AnimatedModalTrigger>
29
+ <AnimatedModalBody className="custom-body-class">
30
+ <AnimatedModalContent className="custom-content-class">
31
+ <h3>Modal Title</h3>
32
+ <p>Modal content goes here.</p>
33
+ </AnimatedModalContent>
34
+ <AnimatedModalFooter className="custom-footer-class">
35
+ <AnimatedModalCloseButton className="custom-close-class">
36
+ Cancel
37
+ </AnimatedModalCloseButton>
38
+ <AnimatedModalSuccessButton
39
+ onClick={() => console.log('Success')}
40
+ className="custom-success-class"
41
+ >
42
+ Confirm
43
+ </AnimatedModalSuccessButton>
44
+ </AnimatedModalFooter>
45
+ </AnimatedModalBody>
46
+ </AnimatedModal>`,
47
+ path: "/components/catalyst-ui/overlays/animated-modal.tsx",
48
+ source: null,
49
+ usagePath: null,
50
+ usage: `
51
+ export function AnimatedModalDemo() {
52
+ const handleSuccess = () => {
53
+ console.log("Success action performed!");
54
+ };
55
+
56
+ return (
57
+ <div className="space-y-8 p-6 max-w-2xl mx-auto">
58
+ <div>
59
+ <h2 className="text-2xl font-bold mb-4">Basic Animated Modal</h2>
60
+ <AnimatedModal>
61
+ <AnimatedModalTrigger>
62
+ Open Basic Modal
63
+ </AnimatedModalTrigger>
64
+ <AnimatedModalBody>
65
+ <AnimatedModalContent>
66
+ <h3 className="text-lg font-semibold mb-2">Basic Modal Title</h3>
67
+ <p className="text-muted-foreground">
68
+ This is a basic animated modal with smooth transitions.
69
+ </p>
70
+ </AnimatedModalContent>
71
+ <AnimatedModalFooter>
72
+ <AnimatedModalCloseButton>
73
+ Cancel
74
+ </AnimatedModalCloseButton>
75
+ </AnimatedModalFooter>
76
+ </AnimatedModalBody>
77
+ </AnimatedModal>
78
+ </div>
79
+
80
+ <div>
81
+ <h2 className="text-2xl font-bold mb-4">Modal with Success Action</h2>
82
+ <AnimatedModal>
83
+ <AnimatedModalTrigger>
84
+ Open Action Modal
85
+ </AnimatedModalTrigger>
86
+ <AnimatedModalBody>
87
+ <AnimatedModalContent>
88
+ <h3 className="text-lg font-semibold mb-2">Confirm Action</h3>
89
+ <p className="text-muted-foreground">
90
+ Are you sure you want to proceed with this action?
91
+ </p>
92
+ </AnimatedModalContent>
93
+ <AnimatedModalFooter className="gap-2">
94
+ <AnimatedModalCloseButton>
95
+ Cancel
96
+ </AnimatedModalCloseButton>
97
+ <AnimatedModalSuccessButton onClick={handleSuccess}>
98
+ Confirm
99
+ </AnimatedModalSuccessButton>
100
+ </AnimatedModalFooter>
101
+ </AnimatedModalBody>
102
+ </AnimatedModal>
103
+ </div>
104
+ </div>
105
+ );
106
+ }
107
+ `,
108
+ premium: true,
109
+ category: "Overlay",
110
+ tags: ["modal", "animated", "dialog", "overlay"],
111
+ features: ["Animated", "Accessible", "TypeScript", "Smooth Transitions"],
112
+ dependencies: ["framer-motion", "react", "@catalystsoftware/icons"],
113
+ props: {
114
+ "AnimatedModal": [
115
+ { name: "children", type: "ReactNode", default: "null" },
116
+ ],
117
+ "AnimatedModalTrigger": [
118
+ { name: "children", type: "ReactNode", default: "null" },
119
+ { name: "className", type: "string", default: "null" },
120
+ ],
121
+ "AnimatedModalCloseButton": [
122
+ { name: "children", type: "ReactNode", default: "null" },
123
+ { name: "className", type: "string", default: "null" },
124
+ ],
125
+ "AnimatedModalSuccessButton": [
126
+ { name: "children", type: "ReactNode", default: "null" },
127
+ { name: "className", type: "string", default: "null" },
128
+ { name: "onClick", type: "() => void", default: "null" },
129
+ ],
130
+ "AnimatedModalBody": [
131
+ { name: "children", type: "ReactNode", default: "null" },
132
+ { name: "className", type: "string", default: "null" },
133
+ ],
134
+ "AnimatedModalContent": [
135
+ { name: "children", type: "ReactNode", default: "null" },
136
+ { name: "className", type: "string", default: "null" },
137
+ ],
138
+ "AnimatedModalFooter": [
139
+ { name: "children", type: "ReactNode", default: "null" },
140
+ { name: "className", type: "string", default: "null" },
141
+ ],
142
+ },
143
+ desc: null,
144
+ status: null,
145
+ lastUpdated: null
146
+ },
147
+ {
148
+ name: "Dialog Stack",
149
+ value: "dialog-stack",
150
+ importPath: "~/components/catalyst-ui/overlays/dialog-stack",
151
+ multiImport: "DialogStack, DialogStackTrigger, DialogStackOverlay, DialogStackBody, DialogStackContent, DialogStackHeader, DialogStackTitle, DialogStackDescription, DialogStackFooter, DialogStackNext, DialogStackPrevious",
152
+ basicusage: null,
153
+ path: "/components/catalyst-ui/overlays/dialog-stack.tsx",
154
+ source: null,
155
+ usagePath: "/components/catalyst-ui/overlays/dialog-stack.tsx",
156
+ usage: null,
157
+ premium: true,
158
+ category: "Overlays",
159
+ tags: ["dialog", "modal", "stack", "navigation", "interactive"],
160
+ features: ["Stack Navigation", "Clickable Overlay", "Portal Rendering", "Controllable State"],
161
+ dependencies: ["@radix-ui/react-use-controllable-state", "@radix-ui/react-portal", "react"],
162
+ props: {
163
+ "DialogStack": [
164
+ { name: "open", type: "boolean", default: "null" },
165
+ { name: "defaultOpen", type: "boolean", default: "false" },
166
+ { name: "onOpenChange", type: "(open: boolean) => void", default: "null" },
167
+ { name: "clickable", type: "boolean", default: "false" },
168
+ { name: "className", type: "string", default: "null" }
169
+ ],
170
+ "DialogStackTrigger": [
171
+ { name: "asChild", type: "boolean", default: "false" },
172
+ { name: "className", type: "string", default: "null" },
173
+ { name: "onClick", type: "MouseEventHandler<HTMLButtonElement>", default: "null" }
174
+ ],
175
+ "DialogStackOverlay": [
176
+ { name: "className", type: "string", default: "null" }
177
+ ],
178
+ "DialogStackBody": [
179
+ { name: "className", type: "string", default: "null" },
180
+ { name: "children", type: "ReactElement<DialogStackChildProps>[] | ReactElement<DialogStackChildProps>", default: "null" }
181
+ ],
182
+ "DialogStackContent": [
183
+ { name: "index", type: "number", default: "0" },
184
+ { name: "offset", type: "number", default: "10" },
185
+ { name: "className", type: "string", default: "null" }
186
+ ],
187
+ "DialogStackHeader": [
188
+ { name: "className", type: "string", default: "null" }
189
+ ],
190
+ "DialogStackTitle": [
191
+ { name: "className", type: "string", default: "null" }
192
+ ],
193
+ "DialogStackDescription": [
194
+ { name: "className", type: "string", default: "null" }
195
+ ],
196
+ "DialogStackFooter": [
197
+ { name: "className", type: "string", default: "null" }
198
+ ],
199
+ "DialogStackNext": [
200
+ { name: "asChild", type: "boolean", default: "false" },
201
+ { name: "className", type: "string", default: "null" }
202
+ ],
203
+ "DialogStackPrevious": [
204
+ { name: "asChild", type: "boolean", default: "false" },
205
+ { name: "className", type: "string", default: "null" }
206
+ ]
207
+ },
208
+ desc: null,
209
+ status: null,
210
+ lastUpdated: null
211
+ },
212
+ {
213
+ name: "Animated Tooltip",
214
+ value: "animated-tooltip",
215
+ importPath: "~/components/catalyst-ui/overlays/animated-tooltip",
216
+ multiImport: null,
217
+ basicusage: null,
218
+ path: "/components/catalyst-ui/overlays/animated-tooltip.tsx",
219
+ source: null,
220
+ usagePath: "/components/catalyst-ui/overlays/animated-tooltip.tsx",
221
+ usage: null,
222
+ premium: true,
223
+ category: "Overlays",
224
+ tags: ["tooltip", "hover", "animation", "images", "interactive"],
225
+ features: ["Motion Tracking", "Spring Animations", "Gradient Effects", "Responsive"],
226
+ dependencies: ["motion/react", "react"],
227
+ props: {
228
+ "AnimatedTooltip": [
229
+ { name: "items", type: "AnimatedTooltipItem[]", default: "null" }
230
+ ]
231
+ },
232
+ desc: null,
233
+ status: null,
234
+ lastUpdated: null
235
+ },
236
+ {
237
+ name: "Dual Sidebar",
238
+ value: "dual-sidebar",
239
+ importPath: "~/components/catalyst-ui/overlays/dual-sidebar",
240
+ multiImport: "useDS, DSLeftRail, DSRightRail, DSHeader, DSContent, DSFooter, DSAvatar, DSAvatarImage, DSAvatarFallback, DSGroup, DSGroupAction, DSGroupContent, DSGroupLabel, DSInput, DSMenu, DSMenuAction, DSMenuBadge, DSMenuButton, DSMenuItem, DSMenuSkeleton, DSMenuSub, DSMenuSubButton, DSMenuSubItem, DSSeparator, DSMenuAnchor, DSMenuLink, DSLoading, useDSTheme, DSThemeSelector, type DSTheme, DSThemeProvider, DSProvider, DSInset, DSTrigger, DSLeft, DSLeftIcon, DSRight, DSRightIcon, DSD, DSDBottom, DSDTrigger, DSDPortal, DSDClose, DSDOverlay, DSDContent, DSDHeader, DSDFooter, DSDTitle, DSDDescription, DSDM, DSDMPortal, DSDMTrigger, DSDMContent, DSDMGroup, DSDMLabel, DSDMItem, DSDMCheckboxItem, DSDMRadioGroup, DSDMRadioItem, DSDMSeparator, DSDMShortcut, DSDMSub, DSDMSubTrigger, DSDMSubContent, DSDMAnchor, DSC, DSCTrigger, DSCContent",
241
+ basicusage: `
242
+ <DSProvider defaultOpenLeft={true} defaultOpenRight={false}>
243
+ <DSLeft variant="sidebar" collapsible="offcanvas">
244
+ <DSHeader>
245
+ <DSTrigger side="left" />
246
+ </DSHeader>
247
+ <DSContent>
248
+ <DSMenu>
249
+ <DSMenuItem>
250
+ <DSMenuButton side="left">
251
+ Menu Item 1
252
+ </DSMenuButton>
253
+ </DSMenuItem>
254
+ </DSMenu>
255
+ </DSContent>
256
+ </DSLeft>
257
+
258
+ <DSInset>
259
+ <div className="p-4">
260
+ Main content area
261
+ </div>
262
+ </DSInset>
263
+
264
+ <DSRight variant="sidebar" collapsible="offcanvas">
265
+ <DSHeader>
266
+ <DSTrigger side="right" />
267
+ </DSHeader>
268
+ <DSContent>
269
+ <DSMenu>
270
+ <DSMenuItem>
271
+ <DSMenuButton side="right">
272
+ Menu Item 1
273
+ </DSMenuButton>
274
+ </DSMenuItem>
275
+ </DSMenu>
276
+ </DSContent>
277
+ </DSRight>
278
+ </DSProvider>`,
279
+ path: "/components/catalyst-ui/overlays/dual-sidebar.tsx",
280
+ source: null,
281
+ usagePath: null,
282
+ usage: `
283
+ export default function DSExample() {
284
+ const [activePage, setActivePage] = React.useState('home');
285
+ const data = {
286
+ user: {
287
+ name: "shadcn",
288
+ email: "m@example.com",
289
+ avatar: "/avatars/shadcn.jpg",
290
+ },
291
+ navMain: [
292
+ {
293
+ title: "Inbox",
294
+ url: "#",
295
+ icon: Inbox,
296
+ isActive: true,
297
+ },
298
+ {
299
+ title: "Drafts",
300
+ url: "#",
301
+ icon: File,
302
+ isActive: false,
303
+ },
304
+ {
305
+ title: "Sent",
306
+ url: "#",
307
+ icon: Send,
308
+ isActive: false,
309
+ },
310
+ {
311
+ title: "Junk",
312
+ url: "#",
313
+ icon: ArchiveX,
314
+ isActive: false,
315
+ },
316
+ {
317
+ title: "Trash",
318
+ url: "#",
319
+ icon: Trash2,
320
+ isActive: false,
321
+ },
322
+ ],
323
+ }
324
+ const [activeItem, setActiveItem] = React.useState(data.navMain[0])
325
+ const [mails, setMails] = React.useState(data.mails)
326
+ return (
327
+ <div className="bg-[#111827] w-[100vw] h-[100vh] overflow-hidden">
328
+ {/* Left Sidebar */}
329
+ <DSProvider>
330
+ <DSLeft variant="inset">
331
+ <DSHeader>
332
+ <h2 className="text-xl font-bold">My App</h2>
333
+ <p className="text-sm text-gray-400">Navigation</p>
334
+ </DSHeader>
335
+
336
+ <DSContent>
337
+ <DSGroup>
338
+ <DSGroupLabel>Main Menu</DSGroupLabel>
339
+ <DSGroupContent>
340
+ <DSMenu>
341
+ <DSMenuItem>
342
+ <DSMenuButton
343
+ icon={<Home size={20} />}
344
+ isActive={activePage === 'home'}
345
+ onClick={() => setActivePage('home')}
346
+ >
347
+ Home
348
+ </DSMenuButton>
349
+ </DSMenuItem>
350
+
351
+ </DSMenu>
352
+ </DSGroupContent>
353
+ </DSGroup>
354
+
355
+ <DSGroup>
356
+ <DSGroupLabel>Settings</DSGroupLabel>
357
+ <DSGroupContent>
358
+ <DSMenu>
359
+ <DSMenuItem>
360
+ <DSMenuButton
361
+ icon={<Settings size={20} />}
362
+ isActive={activePage === 'settings'}
363
+ onClick={() => setActivePage('settings')}
364
+ >
365
+ Settings
366
+ </DSMenuButton>
367
+ </DSMenuItem>
368
+ </DSMenu>
369
+ </DSGroupContent>
370
+ </DSGroup>
371
+ </DSContent>
372
+
373
+ <DSFooter>
374
+ <div className="flex items-center gap-3">
375
+ <div className="w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center">
376
+ JD
377
+ </div>
378
+ <div className="flex-1">
379
+ <p className="text-sm font-medium">John Doe</p>
380
+ <p className="text-xs text-gray-400">john@example.com</p>
381
+ </div>
382
+ </div>
383
+ </DSFooter>
384
+ </DSLeft>
385
+
386
+ <DSLeftIcon>
387
+ <DSHeader>
388
+ <DSMenu>
389
+ <DSMenuItem>
390
+ <DSMenuButton size="lg" asChild className="md:h-8 md:p-0" >
391
+ <a href="#">
392
+ <div className="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg">
393
+ <Command className="size-4" />
394
+ </div>
395
+ </a>
396
+ </DSMenuButton>
397
+ </DSMenuItem>
398
+ </DSMenu>
399
+ </DSHeader>
400
+
401
+ <DSContent>
402
+ <DSGroup>
403
+ <DSGroupContent>
404
+ <DSMenu>
405
+ {data.navMain.map((item) => (
406
+ <DSMenuItem key={item.title}>
407
+ <DSMenuButton
408
+ tooltip={{
409
+ children: item.title,
410
+ hidden: false,
411
+ }}
412
+ onClick={() => {
413
+ setActiveItem(item)
414
+ const mail = data.mails.sort(() => Math.random() - 0.5)
415
+ setMails(
416
+ mail.slice(
417
+ 0,
418
+ Math.max(5, Math.floor(Math.random() * 10) + 1)
419
+ )
420
+ )
421
+ setOpen(true)
422
+ }}
423
+ isActive={activeItem?.title === item.title}
424
+ className="px-2.5 md:px-2"
425
+ >
426
+ <item.icon />
427
+ <span>{item.title}</span>
428
+ </DSMenuButton>
429
+ </DSMenuItem>
430
+ ))}
431
+ <DSMenuItem>
432
+ <DSMenuButton>
433
+ <DSD>
434
+ <DSDTrigger>
435
+ <Button variant="ghost" size='icon'><Ghost /></Button>
436
+ </DSDTrigger>
437
+ <DSDContent>
438
+
439
+ </DSDContent>
440
+ </DSD>
441
+ </DSMenuButton>
442
+ </DSMenuItem>
443
+ </DSMenu>
444
+ </DSGroupContent>
445
+ </DSGroup>
446
+ </DSContent>
447
+
448
+ <DSFooter>
449
+ <NavUser user={data.user} />
450
+ </DSFooter>
451
+ </DSLeftIcon>
452
+
453
+ <DSInset>
454
+ <div className="items-center justify-center">
455
+ <div className="flex items-center justify-between p-4 border-b mx-auto">
456
+ <DSTrigger />
457
+ <DSThemeSelector >
458
+ <Zap className="text-primary" />
459
+ </DSThemeSelector>
460
+ <DSTrigger side='right' />
461
+ </div>
462
+ <div className="flex-1 p-4 overflow-y-auto">
463
+ <OutletContent />
464
+ </div>
465
+ </div>
466
+ </DSInset>
467
+
468
+ <DSRightIcon>
469
+ <DSHeader>
470
+ <DSMenu>
471
+ <DSMenuItem>
472
+ <DSMenuButton size="lg" asChild className="md:h-8 md:p-0" >
473
+ <a href="#">
474
+ <div className="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg">
475
+ <Command className="size-4" />
476
+ </div>
477
+ </a>
478
+ </DSMenuButton>
479
+ </DSMenuItem>
480
+ </DSMenu>
481
+ </DSHeader>
482
+
483
+ <DSContent>
484
+ <DSGroup>
485
+ <DSGroupContent>
486
+ <DSMenu>
487
+ {data.navMain.map((item) => (
488
+ <DSMenuItem key={item.title}>
489
+ <DSMenuButton
490
+ tooltip={{
491
+ children: item.title,
492
+ hidden: false,
493
+ }}
494
+ onClick={() => {
495
+ setActiveItem(item)
496
+ const mail = data.mails.sort(() => Math.random() - 0.5)
497
+ setMails(
498
+ mail.slice(
499
+ 0,
500
+ Math.max(5, Math.floor(Math.random() * 10) + 1)
501
+ )
502
+ )
503
+ setOpen(true)
504
+ }}
505
+ isActive={activeItem?.title === item.title}
506
+ className="px-2.5 md:px-2"
507
+ >
508
+ <item.icon />
509
+ <span>{item.title}</span>
510
+ </DSMenuButton>
511
+ </DSMenuItem>
512
+ ))}
513
+ <DSMenuItem>
514
+ <DSMenuButton>
515
+ <DSDBottom>
516
+ <DSDTrigger>
517
+ <Button variant="ghost" size='icon'><Ghost /></Button>
518
+ </DSDTrigger>
519
+ <DSDContent>
520
+
521
+ </DSDContent>
522
+ </DSDBottom>
523
+ </DSMenuButton>
524
+ </DSMenuItem>
525
+
526
+ </DSMenu>
527
+ </DSGroupContent>
528
+ </DSGroup>
529
+ </DSContent>
530
+
531
+ <DSFooter>
532
+ <NavUser user={data.user} />
533
+ </DSFooter>
534
+ </DSRightIcon>
535
+
536
+ <DSRight variant="inset">
537
+ <DSHeader>
538
+ <div className="flex items-center gap-2">
539
+ <Bell size={20} />
540
+ <h2 className="text-lg font-bold">Activity</h2>
541
+ </div>
542
+ </DSHeader>
543
+
544
+ <DSContent>
545
+ <DSGroup>
546
+ <DSGroupLabel>Recent Notifications</DSGroupLabel>
547
+ <DSGroupContent>
548
+ <div className="space-y-3">
549
+ <div className="p-3 bg-gray-800 rounded-lg">
550
+ <p className="text-sm font-medium">New message</p>
551
+ <p className="text-xs text-gray-400">5 minutes ago</p>
552
+ </div>
553
+ </div>
554
+ </DSGroupContent>
555
+ </DSGroup>
556
+
557
+ <DSGroup>
558
+ <DSGroupLabel>Quick Actions</DSGroupLabel>
559
+ <DSGroupContent>
560
+ <div className="space-y-2">
561
+ <Button>New Project</Button>
562
+ <Button>Invite User</Button>
563
+ </div>
564
+ </DSGroupContent>
565
+ </DSGroup>
566
+ </DSContent>
567
+
568
+ <DSFooter>
569
+ <Input placeholder="Search..." />
570
+ </DSFooter>
571
+ </DSRight>
572
+ </DSProvider>
573
+ </div>
574
+ );
575
+ }`,
576
+ premium: false,
577
+ category: "Overlay",
578
+ tags: ["layout", "sidebar", "navigation", "dual", "responsive", "collapsible"],
579
+ features: [
580
+ "Dual Sidebar Layout",
581
+ "Left & Right Sidebars",
582
+ "Responsive Mobile Views",
583
+ "Collapsible Variants",
584
+ "Icon Sidebars",
585
+ "Keyboard Shortcuts (⌘B, ⌘G)",
586
+ "Theme System",
587
+ "Floating & Inset Variants",
588
+ "Top & Bottom Drawers",
589
+ "TypeScript",
590
+ "Accessible"
591
+ ],
592
+ dependencies: [
593
+ "lucide-react",
594
+ "react",
595
+ "@radix-ui/react-slot",
596
+ "class-variance-authority",
597
+ "@remix-run/react",
598
+ "vaul"
599
+ ],
600
+ props: {
601
+ // PROVIDER & CORE LAYOUT
602
+ "DSProvider": [
603
+ { name: "defaultOpenLeft", type: "boolean", default: "false", description: "Default open state of the sidebar." },
604
+ { name: "defaultOpenRight", type: "boolean", default: "false", description: "Default open state of the sidebar." },
605
+ { name: "defaultWidth", type: "string", default: "275px" },
606
+ { name: "className", type: "string", default: "undefined" },
607
+ { name: "style", type: "React.CSSProperties", default: "undefined", description: "Can pass through values like '--dual-sidebar-width-icon': DS_WIDTH_ICON, to be used within the style prop" },
608
+ { name: "children", type: "React.ReactNode", default: "required" }
609
+ ],
610
+ "DSLeft": [
611
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
612
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas", description: "Collapsible state of the sidebar." },
613
+ { name: "loadingUI", type: "boolean", default: "true" },
614
+ { name: "className", type: "string", default: "undefined" },
615
+ { name: "children", type: "React.ReactNode", default: "required" }
616
+ ],
617
+ "DSRight": [
618
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
619
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas" },
620
+ { name: "loadingUI", type: "boolean", default: "true" },
621
+ { name: "className", type: "string", default: "undefined" },
622
+ { name: "children", type: "React.ReactNode", default: "required" }
623
+ ],
624
+ "DSLeftIcon": [
625
+ { name: "iconWidth", type: "string", default: "48px" },
626
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
627
+ { name: "className", type: "string", default: "undefined" },
628
+ { name: "children", type: "React.ReactNode", default: "required" }
629
+ ],
630
+ "DSRightIcon": [
631
+ { name: "iconWidth", type: "string", default: "48px" },
632
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
633
+ { name: "className", type: "string", default: "undefined" },
634
+ { name: "children", type: "React.ReactNode", default: "required" }
635
+ ],
636
+ "DSInset": [
637
+ { name: "variant", type: "default | inset | card | bordered", default: "default" },
638
+ { name: "className", type: "string", default: "undefined" },
639
+ { name: "children", type: "React.ReactNode", default: "required" }
640
+ ],
641
+ // STRUCTURE COMPONENTS
642
+ "DSHeader": [
643
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
644
+ { name: "className", type: "string", default: "undefined" },
645
+ { name: "children", type: "React.ReactNode", default: "undefined" }
646
+ ],
647
+ "DSContent": [
648
+ { name: "className", type: "string", default: "undefined" },
649
+ { name: "children", type: "React.ReactNode", default: "undefined" }
650
+ ],
651
+ "DSFooter": [
652
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
653
+ { name: "className", type: "string", default: "undefined" },
654
+ { name: "children", type: "React.ReactNode", default: "undefined" }
655
+ ],
656
+ // MENU SYSTEM
657
+ "DSMenu": [
658
+ { name: "className", type: "string", default: "undefined" },
659
+ { name: "children", type: "React.ReactNode", default: "undefined" }
660
+ ],
661
+ "DSMenuItem": [
662
+ { name: "variant", type: "default | spaced | compact | comfortable", default: "default" },
663
+ { name: "className", type: "string", default: "undefined" },
664
+ { name: "children", type: "React.ReactNode", default: "undefined" }
665
+ ],
666
+ "DSMenuButton": [
667
+ { name: "side", type: "left | right", default: "required" },
668
+ { name: "asChild", type: "boolean", default: "false" },
669
+ { name: "isActive", type: "boolean", default: "false" },
670
+ { name: "tooltip", type: "string | TooltipContentProps", default: "undefined" },
671
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
672
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
673
+ { name: "className", type: "string", default: "undefined" },
674
+ { name: "children", type: "React.ReactNode", default: "undefined" }
675
+ ],
676
+ "DSMenuAction": [
677
+ { name: "asChild", type: "boolean", default: "false" },
678
+ { name: "showOnHover", type: "boolean", default: "false" },
679
+ { name: "className", type: "string", default: "undefined" },
680
+ { name: "children", type: "React.ReactNode", default: "undefined" }
681
+ ],
682
+ "DSMenuBadge": [
683
+ { name: "variant", type: "default | primary | secondary | success | warning | danger | outline | ghost | dot", default: "default" },
684
+ { name: "className", type: "string", default: "undefined" },
685
+ { name: "children", type: "React.ReactNode", default: "undefined" }
686
+ ],
687
+ "DSMenuSkeleton": [
688
+ { name: "showIcon", type: "boolean", default: "false" },
689
+ { name: "className", type: "string", default: "undefined" }
690
+ ],
691
+ "DSMenuSub": [
692
+ { name: "className", type: "string", default: "undefined" },
693
+ { name: "children", type: "React.ReactNode", default: "undefined" }
694
+ ],
695
+ "DSMenuSubItem": [
696
+ { name: "variant", type: "default | indented | dotted", default: "default" },
697
+ { name: "className", type: "string", default: "undefined" },
698
+ { name: "children", type: "React.ReactNode", default: "undefined" }
699
+ ],
700
+ "DSMenuSubButton": [
701
+ { name: "asChild", type: "boolean", default: "false" },
702
+ { name: "size", type: "default | sm | lg", default: "default" },
703
+ { name: "isActive", type: "boolean", default: "false" },
704
+ { name: "variant", type: "default | ghost | minimal | indent", default: "default" },
705
+ { name: "className", type: "string", default: "undefined" },
706
+ { name: "children", type: "React.ReactNode", default: "undefined" }
707
+ ],
708
+ "DSMenuLink": [
709
+ { name: "to", type: "string", default: "required" },
710
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
711
+ { name: "tooltip", type: "string", default: "undefined" },
712
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
713
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
714
+ { name: "className", type: "string", default: "undefined" },
715
+ { name: "children", type: "React.ReactNode", default: "required" }
716
+ ],
717
+ "DSMenuAnchor": [
718
+ { name: "to", type: "string", default: "required" },
719
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
720
+ { name: "tooltip", type: "string", default: "undefined" },
721
+ { name: "newTab", type: "boolean", default: "true" },
722
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
723
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
724
+ { name: "className", type: "string", default: "undefined" },
725
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" },
726
+ { name: "children", type: "React.ReactNode", default: "required" }
727
+ ],
728
+ // GROUP SYSTEM
729
+ "DSGroup": [
730
+ { name: "variant", type: "default | separated | card | bordered | subtle", default: "default" },
731
+ { name: "className", type: "string", default: "undefined" },
732
+ { name: "children", type: "React.ReactNode", default: "undefined" }
733
+ ],
734
+ "DSGroupLabel": [
735
+ { name: "asChild", type: "boolean", default: "false" },
736
+ { name: "variant", type: "default | prominent | subtle | separated", default: "default" },
737
+ { name: "className", type: "string", default: "undefined" },
738
+ { name: "children", type: "React.ReactNode", default: "undefined" }
739
+ ],
740
+ "DSGroupAction": [
741
+ { name: "asChild", type: "boolean", default: "false" },
742
+ { name: "className", type: "string", default: "undefined" },
743
+ { name: "children", type: "React.ReactNode", default: "undefined" }
744
+ ],
745
+ "DSGroupContent": [
746
+ { name: "className", type: "string", default: "undefined" },
747
+ { name: "children", type: "React.ReactNode", default: "undefined" }
748
+ ],
749
+ // UI ELEMENTS
750
+ "DSTrigger": [
751
+ { name: "side", type: "left | right", default: "left" },
752
+ { name: "className", type: "string", default: "undefined" },
753
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" }
754
+ ],
755
+ "DSBurger": [
756
+ { name: "opened", type: "boolean", default: "undefined" },
757
+ { name: "size", type: "sm | md | lg | xl", default: "md" },
758
+ { name: "color", type: "string", default: "currentColor" },
759
+ { name: "onClick", type: "() => void", default: "undefined" }
760
+ ],
761
+ "DSInput": [
762
+ { name: "className", type: "string", default: "undefined" },
763
+ { name: "type", type: "string", default: "text" },
764
+ { name: "placeholder", type: "string", default: "undefined" },
765
+ { name: "value", type: "string", default: "undefined" },
766
+ { name: "onChange", type: "React.ChangeEventHandler", default: "undefined" }
767
+ ],
768
+ "DSSeparator": [
769
+ { name: "variant", type: "default | thick | dashed | gradient", default: "default" },
770
+ { name: "spacing", type: "default | sm | lg | none", default: "default" },
771
+ { name: "className", type: "string", default: "undefined" },
772
+ { name: "orientation", type: "horizontal | vertical", default: "horizontal" }
773
+ ],
774
+ // RAIL COMPONENTS
775
+ "DSLeftRail": [
776
+ { name: "side", type: "left | right", default: "left" },
777
+ { name: "className", type: "string", default: "undefined" }
778
+ ],
779
+ "DSRightRail": [
780
+ { name: "side", type: "left | right", default: "right" },
781
+ { name: "className", type: "string", default: "undefined" }
782
+ ],
783
+ // THEME SYSTEM
784
+ "DSThemeSelector": [
785
+ { name: "size", type: "number", default: "28" },
786
+ { name: "className", type: "string", default: "undefined" },
787
+ { name: "children", type: "React.ReactNode", default: "required" }
788
+ ],
789
+ "DSThemeProvider": [
790
+ { name: "children", type: "React.ReactNode", default: "required" }
791
+ ],
792
+ // DRAWER SYSTEM - TOP/BOTTOM (Vaul)
793
+ // drawer top position
794
+ "DSD & DSD Bottom": [
795
+ { "name": "open", "type": "boolean", "default": "undefined" },
796
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
797
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
798
+ { "name": "shouldScaleBackground", "type": "boolean", "default": "false" },
799
+ { "name": "setBackgroundColorOnScale", "type": "boolean", "default": "true" },
800
+ { "name": "closeThreshold", "type": "number", "default": "0.5" },
801
+ { "name": "scrollLockTimeout", "type": "number", "default": "500" },
802
+ { "name": "snapPoints", "type": "(number | string)[]", "default": "undefined" },
803
+ { "name": "activeSnapPoint", "type": "number | string | null", "default": "undefined" },
804
+ { "name": "setActiveSnapPoint", "type": "(snapPoint: number | string | null) => void", "default": "undefined" },
805
+ { "name": "fadeFromIndex", "type": "number", "default": "snapPoints.length - 1" },
806
+ { "name": "modal", "type": "boolean", "default": "true" },
807
+ { "name": "handleOnly", "type": "boolean", "default": "false" },
808
+ { "name": "dismissible", "type": "boolean", "default": "true" },
809
+ { "name": "onDrag", "type": "(event: PointerEvent, percentageDragged: number) => void", "default": "undefined" },
810
+ { "name": "onRelease", "type": "(event: PointerEvent, open: boolean) => void", "default": "undefined" },
811
+ { "name": "noBodyStyles", "type": "boolean", "default": "false" },
812
+ { "name": "direction", "type": "'top' | 'bottom' | 'left' | 'right'", "default": "'bottom'" },
813
+ { "name": "preventScrollRestoration", "type": "boolean", "default": "true" },
814
+ { "name": "disablePreventScroll", "type": "boolean", "default": "false" },
815
+ { "name": "snapToSequentialPoint", "type": "boolean", "default": "false" },
816
+ { "name": "onAnimationEnd", "type": "(open: boolean) => void", "default": "undefined" },
817
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
818
+ { "name": "nested", "type": "boolean", "default": "false" },
819
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
820
+ ],
821
+ "DSDTrigger": [
822
+ { "name": "asChild", "type": "boolean", "default": "false" },
823
+ { "name": "className", "type": "string", "default": "undefined" },
824
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
825
+ ],
826
+ "DSDPortal": [
827
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
828
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
829
+ ],
830
+ "DSDClose": [
831
+ { "name": "asChild", "type": "boolean", "default": "false" },
832
+ { "name": "className", "type": "string", "default": "undefined" },
833
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
834
+ ],
835
+ "DSDOverlay": [
836
+ { "name": "asChild", "type": "boolean", "default": "false" },
837
+ { "name": "className", "type": "string", "default": "undefined" }
838
+ ],
839
+ "DSDContent": [
840
+ { "name": "asChild", "type": "boolean", "default": "false" },
841
+ { "name": "className", "type": "string", "default": "undefined" },
842
+ { "name": "children", "type": "React.ReactNode", "default": "required" }
843
+ ],
844
+ "DSDTitle": [
845
+ { "name": "asChild", "type": "boolean", "default": "false" },
846
+ { "name": "className", "type": "string", "default": "undefined" },
847
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
848
+ ],
849
+ "DSDDescription": [
850
+ { "name": "asChild", "type": "boolean", "default": "false" },
851
+ { "name": "className", "type": "string", "default": "undefined" },
852
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
853
+ ],
854
+ // LOADING UI
855
+ "DSLoading": [
856
+ { name: "variant", type: "default | minimal | card | centered", default: "default" },
857
+ { name: "size", type: "default | sm | md | lg | full", default: "default" }
858
+ ],
859
+ // AVATAR SYSTEM
860
+ "DSA": [
861
+ { "name": "className", "type": "string", "default": "undefined" },
862
+ { "name": "asChild", "type": "boolean", "default": "false" }
863
+ ],
864
+ "DSAImage": [
865
+ { "name": "className", "type": "string", "default": "undefined" },
866
+ { "name": "src", "type": "string", "default": "required" },
867
+ { "name": "alt", "type": "string", "default": "required" },
868
+ { "name": "onLoadingStatusChange", "type": "function", "default": "undefined" },
869
+ { "name": "asChild", "type": "boolean", "default": "false" }
870
+ ],
871
+ "DSAFallback": [
872
+ { "name": "className", "type": "string", "default": "undefined" },
873
+ { "name": "delayMs", "type": "number", "default": "0" },
874
+ { "name": "asChild", "type": "boolean", "default": "false" }
875
+ ],
876
+ // DROPDOWN MENU SYSTEM
877
+ //
878
+ "DSDM": [
879
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
880
+ { "name": "open", "type": "boolean", "default": "undefined" },
881
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
882
+ { "name": "dir", "type": "'ltr' | 'rtl'", "default": "undefined" },
883
+ { "name": "modal", "type": "boolean", "default": "true" }
884
+ ],
885
+ "DSDMPortal": [
886
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
887
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" }
888
+ ],
889
+ "DSDMTrigger": [
890
+ { "name": "asChild", "type": "boolean", "default": "false" },
891
+ { "name": "disabled", "type": "boolean", "default": "false" }
892
+ ],
893
+ "DSDMContent": [
894
+ { "name": "className", "type": "string", "default": "undefined" },
895
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
896
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'bottom'" },
897
+ { "name": "sideOffset", "type": "number", "default": "0" },
898
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'center'" },
899
+ { "name": "alignOffset", "type": "number", "default": "0" },
900
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
901
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
902
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
903
+ { "name": "arrowPadding", "type": "number", "default": "0" },
904
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
905
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
906
+ { "name": "loop", "type": "boolean", "default": "false" },
907
+ { "name": "onCloseAutoFocus", "type": "(event: Event) => void", "default": "undefined" },
908
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
909
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
910
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
911
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
912
+ ],
913
+ "DSDMArrow": [
914
+ { "name": "className", "type": "string", "default": "undefined" },
915
+ { "name": "width", "type": "number", "default": "10" },
916
+ { "name": "height", "type": "number", "default": "5" },
917
+ { "name": "asChild", "type": "boolean", "default": "false" }
918
+ ],
919
+ "DSDMGroup": [
920
+ { "name": "asChild", "type": "boolean", "default": "false" }
921
+ ],
922
+ "DSDMLabel": [
923
+ { "name": "className", "type": "string", "default": "undefined" },
924
+ { "name": "asChild", "type": "boolean", "default": "false" }
925
+ ],
926
+ "DSDMItem": [
927
+ { "name": "className", "type": "string", "default": "undefined" },
928
+ { "name": "disabled", "type": "boolean", "default": "false" },
929
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
930
+ { "name": "textValue", "type": "string", "default": "undefined" },
931
+ { "name": "asChild", "type": "boolean", "default": "false" }
932
+ ],
933
+ "DSDMCheckboxItem": [
934
+ { "name": "className", "type": "string", "default": "undefined" },
935
+ { "name": "checked", "type": "boolean | 'indeterminate'", "default": "undefined" },
936
+ { "name": "onCheckedChange", "type": "(checked: boolean) => void", "default": "undefined" },
937
+ { "name": "disabled", "type": "boolean", "default": "false" },
938
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
939
+ { "name": "textValue", "type": "string", "default": "undefined" },
940
+ { "name": "asChild", "type": "boolean", "default": "false" }
941
+ ],
942
+ "DSDMRadioGroup": [
943
+ { "name": "value", "type": "string", "default": "undefined" },
944
+ { "name": "onValueChange", "type": "(value: string) => void", "default": "undefined" },
945
+ { "name": "asChild", "type": "boolean", "default": "false" }
946
+ ],
947
+ "DSDMRadioItem": [
948
+ { "name": "className", "type": "string", "default": "undefined" },
949
+ { "name": "value", "type": "string", "default": "required" },
950
+ { "name": "disabled", "type": "boolean", "default": "false" },
951
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
952
+ { "name": "textValue", "type": "string", "default": "undefined" },
953
+ { "name": "asChild", "type": "boolean", "default": "false" }
954
+ ],
955
+ "DSDMItemIndicator": [
956
+ { "name": "className", "type": "string", "default": "undefined" },
957
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
958
+ { "name": "asChild", "type": "boolean", "default": "false" }
959
+ ],
960
+ "DSDMSeparator": [
961
+ { "name": "className", "type": "string", "default": "undefined" },
962
+ { "name": "asChild", "type": "boolean", "default": "false" }
963
+ ],
964
+ "DSDMSub": [
965
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
966
+ { "name": "open", "type": "boolean", "default": "undefined" },
967
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" }
968
+ ],
969
+ "DSDMSubTrigger": [
970
+ { "name": "className", "type": "string", "default": "undefined" },
971
+ { "name": "disabled", "type": "boolean", "default": "false" },
972
+ { "name": "textValue", "type": "string", "default": "undefined" },
973
+ { "name": "asChild", "type": "boolean", "default": "false" }
974
+ ],
975
+ "DSDMSubContent": [
976
+ { "name": "className", "type": "string", "default": "undefined" },
977
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
978
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'right'" },
979
+ { "name": "sideOffset", "type": "number", "default": "0" },
980
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'start'" },
981
+ { "name": "alignOffset", "type": "number", "default": "0" },
982
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
983
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
984
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
985
+ { "name": "arrowPadding", "type": "number", "default": "0" },
986
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
987
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
988
+ { "name": "loop", "type": "boolean", "default": "false" },
989
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
990
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
991
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
992
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
993
+ ],
994
+ // COLLAPSIBLE SYSTEM
995
+ //
996
+ "DSC": [
997
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
998
+ { "name": "open", "type": "boolean", "default": "undefined" },
999
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
1000
+ { "name": "disabled", "type": "boolean", "default": "false" },
1001
+ { "name": "asChild", "type": "boolean", "default": "false" }
1002
+ ],
1003
+ "DSCTrigger": [
1004
+ { "name": "asChild", "type": "boolean", "default": "false" },
1005
+ { "name": "disabled", "type": "boolean", "default": "false" }
1006
+ ],
1007
+ "DSCContent": [
1008
+ { "name": "className", "type": "string", "default": "undefined" },
1009
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1010
+ { "name": "asChild", "type": "boolean", "default": "false" }
1011
+ ],
1012
+ // HOOKS
1013
+ "useDS": [
1014
+ { name: "leftState", type: "expanded | collapsed", default: "readonly", description: "The current state of the sidebar." },
1015
+ { name: "rightState", type: "expanded | collapsed", default: "readonly" },
1016
+ { name: "openLeft", type: "boolean", default: "readonly", description: "Whether the sidebar is open." },
1017
+ { name: "openRight", type: "boolean", default: "readonly" },
1018
+ { name: "setOpenLeft", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar." },
1019
+ { name: "setOpenRight", type: "(open: boolean) => void", default: "readonly", description: "" },
1020
+ { name: "openMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is open on mobile." },
1021
+ { name: "openMobileRight", type: "boolean", default: "readonly", description: "" },
1022
+ { name: "setOpenMobile", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar on mobile." },
1023
+ { name: "setOpenMobileRight", type: "(open: boolean) => void", default: "readonly", description: "" },
1024
+ { name: "toggleLeft", type: "() => void", default: "readonly", description: "Toggles the sidebar. Desktop and mobile." },
1025
+ { name: "toggleRight", type: "() => void", default: "readonly", description: "" },
1026
+ { name: "isMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is on mobile." },
1027
+ { name: "sidebarWidth", type: "number", default: "readonly", description: "Controls the default width value." },
1028
+ { name: "leftVariant", type: "SidebarVariant", default: "readonly", description: "States the current variant type, this is more so used within the source file." },
1029
+ { name: "rightVariant", type: "SidebarVariant", default: "readonly", description: "" },
1030
+ { name: "setLeftVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "Sets the state the current variant type, this is more so used within the source file" },
1031
+ { name: "setRightVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "" },
1032
+ { name: "isIconLeftActive", type: "boolean", default: "readonly", description: "Checks if icon sidebars are actively used." },
1033
+ { name: "isIconRightActive", type: "boolean", default: "readonly", description: "" },
1034
+ { name: "setIsIconLeftActive", type: "(open: boolean) => void", default: "readonly", description: "Sets isIconLeftActive state, used within the source file." },
1035
+ { name: "setIsIconRightActive", type: "(open: boolean) => void", default: "readonly", description: "" },
1036
+ { name: "iconLeftWidth", type: "number", default: "readonly", description: "Controls the default width value." },
1037
+ { name: "iconRightWidth", type: "number", default: "readonly", description: "" },
1038
+ { name: "setIconLeftWidth", type: "(width: number) => void", default: "readonly", description: "Sets setIconLeftWidth state, used within the source file." },
1039
+ { name: "setIconRightWidth", type: "(width: number) => void", default: "readonly", description: "" },
1040
+ { name: "topHeight", type: "string", default: "readonly", description: "Sets height for inset variant styles." },
1041
+ { name: "setTopHeight", type: "(height: string) => void", default: "readonly", description: "" },
1042
+ { name: "bottomHeight", type: "string", default: "readonly", description: "" },
1043
+ { name: "setBottomHeight", type: "(height: string) => void", default: "readonly", description: "" }
1044
+ ],
1045
+ "useDSTheme": [
1046
+ { name: "theme", type: "DSTheme", default: "readonly" },
1047
+ { name: "setTheme", type: "(theme: DSTheme) => void", default: "readonly" },
1048
+ { name: "themeVars", type: "Record<string, string>", default: "readonly" }
1049
+ ]
1050
+ },
1051
+ desc: "A comprehensive dual sidebar layout system with left and right collapsible sidebars, support for multiple variants including icon sidebars, theme system, responsive mobile views, keyboard shortcuts, and top/bottom drawer support. Perfect for complex application layouts requiring flexible navigation structures.",
1052
+ status: "stable",
1053
+ lastUpdated: "2024-11-03"
1054
+ },
1055
+ {
1056
+ name: "Dual Sidebar Agnostic",
1057
+ value: "dual-sidebar-agnostic",
1058
+ importPath: "~/components/catalyst-ui/overlays/dual-sidebar-agnostic",
1059
+ multiImport: "useDS, DSLeftRail, DSRightRail, DSHeader, DSContent, DSFooter, DSAvatar, DSAvatarImage, DSAvatarFallback, DSGroup, DSGroupAction, DSGroupContent, DSGroupLabel, DSInput, DSMenu, DSMenuAction, DSMenuBadge, DSMenuButton, DSMenuItem, DSMenuSkeleton, DSMenuSub, DSMenuSubButton, DSMenuSubItem, DSSeparator, DSMenuAnchor, DSMenuLink, DSLoading, useDSTheme, DSThemeSelector, type DSTheme, DSThemeProvider, DSProvider, DSInset, DSTrigger, DSLeft, DSLeftIcon, DSRight, DSRightIcon, DSD, DSDBottom, DSDTrigger, DSDPortal, DSDClose, DSDOverlay, DSDContent, DSDHeader, DSDFooter, DSDTitle, DSDDescription, DSDM, DSDMPortal, DSDMTrigger, DSDMContent, DSDMGroup, DSDMLabel, DSDMItem, DSDMCheckboxItem, DSDMRadioGroup, DSDMRadioItem, DSDMSeparator, DSDMShortcut, DSDMSub, DSDMSubTrigger, DSDMSubContent, DSDMAnchor, DSC, DSCTrigger, DSCContent",
1060
+ basicusage: `
1061
+ <DSProvider defaultOpenLeft={true} defaultOpenRight={false}>
1062
+ <DSLeft variant="sidebar" collapsible="offcanvas">
1063
+ <DSHeader>
1064
+ <DSTrigger side="left" />
1065
+ </DSHeader>
1066
+ <DSContent>
1067
+ <DSMenu>
1068
+ <DSMenuItem>
1069
+ <DSMenuButton side="left">
1070
+ Menu Item 1
1071
+ </DSMenuButton>
1072
+ </DSMenuItem>
1073
+ </DSMenu>
1074
+ </DSContent>
1075
+ </DSLeft>
1076
+
1077
+ <DSInset>
1078
+ <div className="p-4">
1079
+ Main content area
1080
+ </div>
1081
+ </DSInset>
1082
+
1083
+ <DSRight variant="sidebar" collapsible="offcanvas">
1084
+ <DSHeader>
1085
+ <DSTrigger side="right" />
1086
+ </DSHeader>
1087
+ <DSContent>
1088
+ <DSMenu>
1089
+ <DSMenuItem>
1090
+ <DSMenuButton side="right">
1091
+ Menu Item 1
1092
+ </DSMenuButton>
1093
+ </DSMenuItem>
1094
+ </DSMenu>
1095
+ </DSContent>
1096
+ </DSRight>
1097
+ </DSProvider>`,
1098
+ path: "/components/catalyst-ui/components/overlay/dual-sidebar-agnostic.tsx",
1099
+ source: null,
1100
+ usagePath: null,
1101
+ usage: `
1102
+ export default function DSExample() {
1103
+ const [activePage, setActivePage] = React.useState('home');
1104
+ const data = {
1105
+ user: {
1106
+ name: "shadcn",
1107
+ email: "m@example.com",
1108
+ avatar: "/avatars/shadcn.jpg",
1109
+ },
1110
+ navMain: [
1111
+ {
1112
+ title: "Inbox",
1113
+ url: "#",
1114
+ icon: Inbox,
1115
+ isActive: true,
1116
+ },
1117
+ {
1118
+ title: "Drafts",
1119
+ url: "#",
1120
+ icon: File,
1121
+ isActive: false,
1122
+ },
1123
+ {
1124
+ title: "Sent",
1125
+ url: "#",
1126
+ icon: Send,
1127
+ isActive: false,
1128
+ },
1129
+ {
1130
+ title: "Junk",
1131
+ url: "#",
1132
+ icon: ArchiveX,
1133
+ isActive: false,
1134
+ },
1135
+ {
1136
+ title: "Trash",
1137
+ url: "#",
1138
+ icon: Trash2,
1139
+ isActive: false,
1140
+ },
1141
+ ],
1142
+ }
1143
+ const [activeItem, setActiveItem] = React.useState(data.navMain[0])
1144
+ const [mails, setMails] = React.useState(data.mails)
1145
+ return (
1146
+ <div className="bg-[#111827] w-[100vw] h-[100vh] overflow-hidden">
1147
+ {/* Left Sidebar */}
1148
+ <DSProvider>
1149
+ <DSLeft variant="inset">
1150
+ <DSHeader>
1151
+ <h2 className="text-xl font-bold">My App</h2>
1152
+ <p className="text-sm text-gray-400">Navigation</p>
1153
+ </DSHeader>
1154
+
1155
+ <DSContent>
1156
+ <DSGroup>
1157
+ <DSGroupLabel>Main Menu</DSGroupLabel>
1158
+ <DSGroupContent>
1159
+ <DSMenu>
1160
+ <DSMenuItem>
1161
+ <DSMenuButton
1162
+ icon={<Home size={20} />}
1163
+ isActive={activePage === 'home'}
1164
+ onClick={() => setActivePage('home')}
1165
+ >
1166
+ Home
1167
+ </DSMenuButton>
1168
+ </DSMenuItem>
1169
+
1170
+ </DSMenu>
1171
+ </DSGroupContent>
1172
+ </DSGroup>
1173
+
1174
+ <DSGroup>
1175
+ <DSGroupLabel>Settings</DSGroupLabel>
1176
+ <DSGroupContent>
1177
+ <DSMenu>
1178
+ <DSMenuItem>
1179
+ <DSMenuButton
1180
+ icon={<Settings size={20} />}
1181
+ isActive={activePage === 'settings'}
1182
+ onClick={() => setActivePage('settings')}
1183
+ >
1184
+ Settings
1185
+ </DSMenuButton>
1186
+ </DSMenuItem>
1187
+ </DSMenu>
1188
+ </DSGroupContent>
1189
+ </DSGroup>
1190
+ </DSContent>
1191
+
1192
+ <DSFooter>
1193
+ <div className="flex items-center gap-3">
1194
+ <div className="w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center">
1195
+ JD
1196
+ </div>
1197
+ <div className="flex-1">
1198
+ <p className="text-sm font-medium">John Doe</p>
1199
+ <p className="text-xs text-gray-400">john@example.com</p>
1200
+ </div>
1201
+ </div>
1202
+ </DSFooter>
1203
+ </DSLeft>
1204
+
1205
+ <DSLeftIcon>
1206
+ <DSHeader>
1207
+ <DSMenu>
1208
+ <DSMenuItem>
1209
+ <DSMenuButton size="lg" asChild className="md:h-8 md:p-0" >
1210
+ <a href="#">
1211
+ <div className="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg">
1212
+ <Command className="size-4" />
1213
+ </div>
1214
+ </a>
1215
+ </DSMenuButton>
1216
+ </DSMenuItem>
1217
+ </DSMenu>
1218
+ </DSHeader>
1219
+
1220
+ <DSContent>
1221
+ <DSGroup>
1222
+ <DSGroupContent>
1223
+ <DSMenu>
1224
+ {data.navMain.map((item) => (
1225
+ <DSMenuItem key={item.title}>
1226
+ <DSMenuButton
1227
+ tooltip={{
1228
+ children: item.title,
1229
+ hidden: false,
1230
+ }}
1231
+ onClick={() => {
1232
+ setActiveItem(item)
1233
+ const mail = data.mails.sort(() => Math.random() - 0.5)
1234
+ setMails(
1235
+ mail.slice(
1236
+ 0,
1237
+ Math.max(5, Math.floor(Math.random() * 10) + 1)
1238
+ )
1239
+ )
1240
+ setOpen(true)
1241
+ }}
1242
+ isActive={activeItem?.title === item.title}
1243
+ className="px-2.5 md:px-2"
1244
+ >
1245
+ <item.icon />
1246
+ <span>{item.title}</span>
1247
+ </DSMenuButton>
1248
+ </DSMenuItem>
1249
+ ))}
1250
+ <DSMenuItem>
1251
+ <DSMenuButton>
1252
+ <DSD>
1253
+ <DSDTrigger>
1254
+ <Button variant="ghost" size='icon'><Ghost /></Button>
1255
+ </DSDTrigger>
1256
+ <DSDContent>
1257
+
1258
+ </DSDContent>
1259
+ </DSD>
1260
+ </DSMenuButton>
1261
+ </DSMenuItem>
1262
+ </DSMenu>
1263
+ </DSGroupContent>
1264
+ </DSGroup>
1265
+ </DSContent>
1266
+
1267
+ <DSFooter>
1268
+ <NavUser user={data.user} />
1269
+ </DSFooter>
1270
+ </DSLeftIcon>
1271
+
1272
+ <DSInset>
1273
+ <div className="items-center justify-center">
1274
+ <div className="flex items-center justify-between p-4 border-b mx-auto">
1275
+ <DSTrigger />
1276
+ <DSThemeSelector >
1277
+ <Zap className="text-primary" />
1278
+ </DSThemeSelector>
1279
+ <DSTrigger side='right' />
1280
+ </div>
1281
+ <div className="flex-1 p-4 overflow-y-auto">
1282
+ <OutletContent />
1283
+ </div>
1284
+ </div>
1285
+ </DSInset>
1286
+
1287
+ <DSRightIcon>
1288
+ <DSHeader>
1289
+ <DSMenu>
1290
+ <DSMenuItem>
1291
+ <DSMenuButton size="lg" asChild className="md:h-8 md:p-0" >
1292
+ <a href="#">
1293
+ <div className="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-8 items-center justify-center rounded-lg">
1294
+ <Command className="size-4" />
1295
+ </div>
1296
+ </a>
1297
+ </DSMenuButton>
1298
+ </DSMenuItem>
1299
+ </DSMenu>
1300
+ </DSHeader>
1301
+
1302
+ <DSContent>
1303
+ <DSGroup>
1304
+ <DSGroupContent>
1305
+ <DSMenu>
1306
+ {data.navMain.map((item) => (
1307
+ <DSMenuItem key={item.title}>
1308
+ <DSMenuButton
1309
+ tooltip={{
1310
+ children: item.title,
1311
+ hidden: false,
1312
+ }}
1313
+ onClick={() => {
1314
+ setActiveItem(item)
1315
+ const mail = data.mails.sort(() => Math.random() - 0.5)
1316
+ setMails(
1317
+ mail.slice(
1318
+ 0,
1319
+ Math.max(5, Math.floor(Math.random() * 10) + 1)
1320
+ )
1321
+ )
1322
+ setOpen(true)
1323
+ }}
1324
+ isActive={activeItem?.title === item.title}
1325
+ className="px-2.5 md:px-2"
1326
+ >
1327
+ <item.icon />
1328
+ <span>{item.title}</span>
1329
+ </DSMenuButton>
1330
+ </DSMenuItem>
1331
+ ))}
1332
+ <DSMenuItem>
1333
+ <DSMenuButton>
1334
+ <DSDBottom>
1335
+ <DSDTrigger>
1336
+ <Button variant="ghost" size='icon'><Ghost /></Button>
1337
+ </DSDTrigger>
1338
+ <DSDContent>
1339
+
1340
+ </DSDContent>
1341
+ </DSDBottom>
1342
+ </DSMenuButton>
1343
+ </DSMenuItem>
1344
+
1345
+ </DSMenu>
1346
+ </DSGroupContent>
1347
+ </DSGroup>
1348
+ </DSContent>
1349
+
1350
+ <DSFooter>
1351
+ <NavUser user={data.user} />
1352
+ </DSFooter>
1353
+ </DSRightIcon>
1354
+
1355
+ <DSRight variant="inset">
1356
+ <DSHeader>
1357
+ <div className="flex items-center gap-2">
1358
+ <Bell size={20} />
1359
+ <h2 className="text-lg font-bold">Activity</h2>
1360
+ </div>
1361
+ </DSHeader>
1362
+
1363
+ <DSContent>
1364
+ <DSGroup>
1365
+ <DSGroupLabel>Recent Notifications</DSGroupLabel>
1366
+ <DSGroupContent>
1367
+ <div className="space-y-3">
1368
+ <div className="p-3 bg-gray-800 rounded-lg">
1369
+ <p className="text-sm font-medium">New message</p>
1370
+ <p className="text-xs text-gray-400">5 minutes ago</p>
1371
+ </div>
1372
+ </div>
1373
+ </DSGroupContent>
1374
+ </DSGroup>
1375
+
1376
+ <DSGroup>
1377
+ <DSGroupLabel>Quick Actions</DSGroupLabel>
1378
+ <DSGroupContent>
1379
+ <div className="space-y-2">
1380
+ <Button>New Project</Button>
1381
+ <Button>Invite User</Button>
1382
+ </div>
1383
+ </DSGroupContent>
1384
+ </DSGroup>
1385
+ </DSContent>
1386
+
1387
+ <DSFooter>
1388
+ <Input placeholder="Search..." />
1389
+ </DSFooter>
1390
+ </DSRight>
1391
+ </DSProvider>
1392
+ </div>
1393
+ );
1394
+ }`,
1395
+ premium: false,
1396
+ category: "Overlay",
1397
+ tags: ["layout", "sidebar", "navigation", "dual", "responsive", "collapsible"],
1398
+ features: [
1399
+ "Dual Sidebar Layout",
1400
+ "Left & Right Sidebars",
1401
+ "Responsive Mobile Views",
1402
+ "Collapsible Variants",
1403
+ "Icon Sidebars",
1404
+ "Keyboard Shortcuts (⌘B, ⌘G)",
1405
+ "Theme System",
1406
+ "Floating & Inset Variants",
1407
+ "Top & Bottom Drawers",
1408
+ "TypeScript",
1409
+ "Accessible"
1410
+ ],
1411
+ dependencies: [
1412
+ "lucide-react",
1413
+ "react",
1414
+ "@radix-ui/react-slot",
1415
+ "class-variance-authority",
1416
+ "@remix-run/react",
1417
+ "vaul"
1418
+ ],
1419
+ props: {
1420
+ "DSProvider": [
1421
+ { name: "defaultOpenLeft", type: "boolean", default: "false", description: "Default open state of the sidebar." },
1422
+ { name: "defaultOpenRight", type: "boolean", default: "false", description: "Default open state of the sidebar." },
1423
+ { name: "defaultWidth", type: "string", default: "275px" },
1424
+ { name: "className", type: "string", default: "undefined" },
1425
+ { name: "style", type: "React.CSSProperties", default: "undefined", description: "Can pass through values like '--dual-sidebar-width-icon': DS_WIDTH_ICON, to be used within the style prop" },
1426
+ { name: "children", type: "React.ReactNode", default: "required" }
1427
+ ],
1428
+ "DSLeft": [
1429
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1430
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas", description: "Collapsible state of the sidebar." },
1431
+ { name: "loadingUI", type: "boolean", default: "true" },
1432
+ { name: "className", type: "string", default: "undefined" },
1433
+ { name: "children", type: "React.ReactNode", default: "required" }
1434
+ ],
1435
+ "DSRight": [
1436
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1437
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas" },
1438
+ { name: "loadingUI", type: "boolean", default: "true" },
1439
+ { name: "className", type: "string", default: "undefined" },
1440
+ { name: "children", type: "React.ReactNode", default: "required" }
1441
+ ],
1442
+ "DSLeftIcon": [
1443
+ { name: "iconWidth", type: "string", default: "48px" },
1444
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1445
+ { name: "className", type: "string", default: "undefined" },
1446
+ { name: "children", type: "React.ReactNode", default: "required" }
1447
+ ],
1448
+ "DSRightIcon": [
1449
+ { name: "iconWidth", type: "string", default: "48px" },
1450
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1451
+ { name: "className", type: "string", default: "undefined" },
1452
+ { name: "children", type: "React.ReactNode", default: "required" }
1453
+ ],
1454
+ "DSInset": [
1455
+ { name: "variant", type: "default | inset | card | bordered", default: "default" },
1456
+ { name: "className", type: "string", default: "undefined" },
1457
+ { name: "children", type: "React.ReactNode", default: "required" }
1458
+ ],
1459
+ // STRUCTURE COMPONENTS
1460
+ "DSHeader": [
1461
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
1462
+ { name: "className", type: "string", default: "undefined" },
1463
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1464
+ ],
1465
+ "DSContent": [
1466
+ { name: "className", type: "string", default: "undefined" },
1467
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1468
+ ],
1469
+ "DSFooter": [
1470
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
1471
+ { name: "className", type: "string", default: "undefined" },
1472
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1473
+ ],
1474
+ // MENU SYSTEM
1475
+ "DSMenu": [
1476
+ { name: "className", type: "string", default: "undefined" },
1477
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1478
+ ],
1479
+ "DSMenuItem": [
1480
+ { name: "variant", type: "default | spaced | compact | comfortable", default: "default" },
1481
+ { name: "className", type: "string", default: "undefined" },
1482
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1483
+ ],
1484
+ "DSMenuButton": [
1485
+ { name: "asChild", type: "boolean", default: "false" },
1486
+ { name: "isActive", type: "boolean", default: "false" },
1487
+ { name: "tooltip", type: "string | TooltipContentProps", default: "undefined" },
1488
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
1489
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
1490
+ { name: "className", type: "string", default: "undefined" },
1491
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1492
+ ],
1493
+ "DSMenuAction": [
1494
+ { name: "asChild", type: "boolean", default: "false" },
1495
+ { name: "showOnHover", type: "boolean", default: "false" },
1496
+ { name: "className", type: "string", default: "undefined" },
1497
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1498
+ ],
1499
+ "DSMenuBadge": [
1500
+ { name: "variant", type: "default | primary | secondary | success | warning | danger | outline | ghost | dot", default: "default" },
1501
+ { name: "className", type: "string", default: "undefined" },
1502
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1503
+ ],
1504
+ "DSMenuSkeleton": [
1505
+ { name: "showIcon", type: "boolean", default: "false" },
1506
+ { name: "className", type: "string", default: "undefined" }
1507
+ ],
1508
+ "DSMenuSub": [
1509
+ { name: "className", type: "string", default: "undefined" },
1510
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1511
+ ],
1512
+ "DSMenuSubItem": [
1513
+ { name: "variant", type: "default | indented | dotted", default: "default" },
1514
+ { name: "className", type: "string", default: "undefined" },
1515
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1516
+ ],
1517
+ "DSMenuSubButton": [
1518
+ { name: "asChild", type: "boolean", default: "false" },
1519
+ { name: "size", type: "default | sm | lg", default: "default" },
1520
+ { name: "isActive", type: "boolean", default: "false" },
1521
+ { name: "variant", type: "default | ghost | minimal | indent", default: "default" },
1522
+ { name: "className", type: "string", default: "undefined" },
1523
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1524
+ ],
1525
+ "DSMenuLink": [
1526
+ { name: "to", type: "string", default: "required" },
1527
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
1528
+ { name: "tooltip", type: "string", default: "undefined" },
1529
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
1530
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
1531
+ { name: "className", type: "string", default: "undefined" },
1532
+ { name: "children", type: "React.ReactNode", default: "required" }
1533
+ ],
1534
+ "DSMenuAnchor": [
1535
+ { name: "to", type: "string", default: "required" },
1536
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
1537
+ { name: "tooltip", type: "string", default: "undefined" },
1538
+ { name: "newTab", type: "boolean", default: "true" },
1539
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
1540
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
1541
+ { name: "className", type: "string", default: "undefined" },
1542
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" },
1543
+ { name: "children", type: "React.ReactNode", default: "required" }
1544
+ ],
1545
+ // GROUP SYSTEM
1546
+ "DSGroup": [
1547
+ { name: "variant", type: "default | separated | card | bordered | subtle", default: "default" },
1548
+ { name: "className", type: "string", default: "undefined" },
1549
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1550
+ ],
1551
+ "DSGroupLabel": [
1552
+ { name: "asChild", type: "boolean", default: "false" },
1553
+ { name: "variant", type: "default | prominent | subtle | separated", default: "default" },
1554
+ { name: "className", type: "string", default: "undefined" },
1555
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1556
+ ],
1557
+ "DSGroupAction": [
1558
+ { name: "asChild", type: "boolean", default: "false" },
1559
+ { name: "className", type: "string", default: "undefined" },
1560
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1561
+ ],
1562
+ "DSGroupContent": [
1563
+ { name: "className", type: "string", default: "undefined" },
1564
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1565
+ ],
1566
+ // UI ELEMENTS
1567
+ "DSTrigger": [
1568
+ { name: "side", type: "left | right", default: "left" },
1569
+ { name: "className", type: "string", default: "undefined" },
1570
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" }
1571
+ ],
1572
+ "DSBurger": [
1573
+ { name: "opened", type: "boolean", default: "undefined" },
1574
+ { name: "size", type: "sm | md | lg | xl", default: "md" },
1575
+ { name: "color", type: "string", default: "currentColor" },
1576
+ { name: "onClick", type: "() => void", default: "undefined" }
1577
+ ],
1578
+ "DSInput": [
1579
+ { name: "className", type: "string", default: "undefined" },
1580
+ { name: "type", type: "string", default: "text" },
1581
+ { name: "placeholder", type: "string", default: "undefined" },
1582
+ { name: "value", type: "string", default: "undefined" },
1583
+ { name: "onChange", type: "React.ChangeEventHandler", default: "undefined" }
1584
+ ],
1585
+ "DSSeparator": [
1586
+ { name: "variant", type: "default | thick | dashed | gradient", default: "default" },
1587
+ { name: "spacing", type: "default | sm | lg | none", default: "default" },
1588
+ { name: "className", type: "string", default: "undefined" },
1589
+ { name: "orientation", type: "horizontal | vertical", default: "horizontal" }
1590
+ ],
1591
+ // RAIL COMPONENTS
1592
+ "DSLeftRail": [
1593
+ { name: "side", type: "left | right", default: "left" },
1594
+ { name: "className", type: "string", default: "undefined" }
1595
+ ],
1596
+ "DSRightRail": [
1597
+ { name: "side", type: "left | right", default: "right" },
1598
+ { name: "className", type: "string", default: "undefined" }
1599
+ ],
1600
+ // THEME SYSTEM
1601
+ "DSThemeSelector": [
1602
+ { name: "size", type: "number", default: "28" },
1603
+ { name: "className", type: "string", default: "undefined" },
1604
+ { name: "children", type: "React.ReactNode", default: "required" }
1605
+ ],
1606
+ "DSThemeProvider": [
1607
+ { name: "children", type: "React.ReactNode", default: "required" }
1608
+ ],
1609
+ // DRAWER SYSTEM - TOP/BOTTOM (Vaul)
1610
+ // drawer top position
1611
+ "DSD & DSD Bottom": [
1612
+ { "name": "open", "type": "boolean", "default": "undefined" },
1613
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
1614
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
1615
+ { "name": "shouldScaleBackground", "type": "boolean", "default": "false" },
1616
+ { "name": "setBackgroundColorOnScale", "type": "boolean", "default": "true" },
1617
+ { "name": "closeThreshold", "type": "number", "default": "0.5" },
1618
+ { "name": "scrollLockTimeout", "type": "number", "default": "500" },
1619
+ { "name": "snapPoints", "type": "(number | string)[]", "default": "undefined" },
1620
+ { "name": "activeSnapPoint", "type": "number | string | null", "default": "undefined" },
1621
+ { "name": "setActiveSnapPoint", "type": "(snapPoint: number | string | null) => void", "default": "undefined" },
1622
+ { "name": "fadeFromIndex", "type": "number", "default": "snapPoints.length - 1" },
1623
+ { "name": "modal", "type": "boolean", "default": "true" },
1624
+ { "name": "handleOnly", "type": "boolean", "default": "false" },
1625
+ { "name": "dismissible", "type": "boolean", "default": "true" },
1626
+ { "name": "onDrag", "type": "(event: PointerEvent, percentageDragged: number) => void", "default": "undefined" },
1627
+ { "name": "onRelease", "type": "(event: PointerEvent, open: boolean) => void", "default": "undefined" },
1628
+ { "name": "noBodyStyles", "type": "boolean", "default": "false" },
1629
+ { "name": "direction", "type": "'top' | 'bottom' | 'left' | 'right'", "default": "'bottom'" },
1630
+ { "name": "preventScrollRestoration", "type": "boolean", "default": "true" },
1631
+ { "name": "disablePreventScroll", "type": "boolean", "default": "false" },
1632
+ { "name": "snapToSequentialPoint", "type": "boolean", "default": "false" },
1633
+ { "name": "onAnimationEnd", "type": "(open: boolean) => void", "default": "undefined" },
1634
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
1635
+ { "name": "nested", "type": "boolean", "default": "false" },
1636
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1637
+ ],
1638
+ "DSDTrigger": [
1639
+ { "name": "asChild", "type": "boolean", "default": "false" },
1640
+ { "name": "className", "type": "string", "default": "undefined" },
1641
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1642
+ ],
1643
+ "DSDPortal": [
1644
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
1645
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1646
+ ],
1647
+ "DSDClose": [
1648
+ { "name": "asChild", "type": "boolean", "default": "false" },
1649
+ { "name": "className", "type": "string", "default": "undefined" },
1650
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1651
+ ],
1652
+ "DSDOverlay": [
1653
+ { "name": "asChild", "type": "boolean", "default": "false" },
1654
+ { "name": "className", "type": "string", "default": "undefined" }
1655
+ ],
1656
+ "DSDContent": [
1657
+ { "name": "asChild", "type": "boolean", "default": "false" },
1658
+ { "name": "className", "type": "string", "default": "undefined" },
1659
+ { "name": "children", "type": "React.ReactNode", "default": "required" }
1660
+ ],
1661
+ "DSDTitle": [
1662
+ { "name": "asChild", "type": "boolean", "default": "false" },
1663
+ { "name": "className", "type": "string", "default": "undefined" },
1664
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1665
+ ],
1666
+ "DSDDescription": [
1667
+ { "name": "asChild", "type": "boolean", "default": "false" },
1668
+ { "name": "className", "type": "string", "default": "undefined" },
1669
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
1670
+ ],
1671
+ // LOADING UI
1672
+ "DSLoading": [
1673
+ { name: "variant", type: "default | minimal | card | centered", default: "default" },
1674
+ { name: "size", type: "default | sm | md | lg | full", default: "default" }
1675
+ ],
1676
+ // AVATAR SYSTEM
1677
+ "DSA": [
1678
+ { "name": "className", "type": "string", "default": "undefined" },
1679
+ { "name": "asChild", "type": "boolean", "default": "false" }
1680
+ ],
1681
+ "DSAImage": [
1682
+ { "name": "className", "type": "string", "default": "undefined" },
1683
+ { "name": "src", "type": "string", "default": "required" },
1684
+ { "name": "alt", "type": "string", "default": "required" },
1685
+ { "name": "onLoadingStatusChange", "type": "function", "default": "undefined" },
1686
+ { "name": "asChild", "type": "boolean", "default": "false" }
1687
+ ],
1688
+ "DSAFallback": [
1689
+ { "name": "className", "type": "string", "default": "undefined" },
1690
+ { "name": "delayMs", "type": "number", "default": "0" },
1691
+ { "name": "asChild", "type": "boolean", "default": "false" }
1692
+ ],
1693
+ // DROPDOWN MENU SYSTEM
1694
+ //
1695
+ "DSDM": [
1696
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
1697
+ { "name": "open", "type": "boolean", "default": "undefined" },
1698
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
1699
+ { "name": "dir", "type": "'ltr' | 'rtl'", "default": "undefined" },
1700
+ { "name": "modal", "type": "boolean", "default": "true" }
1701
+ ],
1702
+ "DSDMPortal": [
1703
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1704
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" }
1705
+ ],
1706
+ "DSDMTrigger": [
1707
+ { "name": "asChild", "type": "boolean", "default": "false" },
1708
+ { "name": "disabled", "type": "boolean", "default": "false" }
1709
+ ],
1710
+ "DSDMContent": [
1711
+ { "name": "className", "type": "string", "default": "undefined" },
1712
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1713
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'bottom'" },
1714
+ { "name": "sideOffset", "type": "number", "default": "0" },
1715
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'center'" },
1716
+ { "name": "alignOffset", "type": "number", "default": "0" },
1717
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
1718
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
1719
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
1720
+ { "name": "arrowPadding", "type": "number", "default": "0" },
1721
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
1722
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
1723
+ { "name": "loop", "type": "boolean", "default": "false" },
1724
+ { "name": "onCloseAutoFocus", "type": "(event: Event) => void", "default": "undefined" },
1725
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
1726
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
1727
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
1728
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
1729
+ ],
1730
+ "DSDMArrow": [
1731
+ { "name": "className", "type": "string", "default": "undefined" },
1732
+ { "name": "width", "type": "number", "default": "10" },
1733
+ { "name": "height", "type": "number", "default": "5" },
1734
+ { "name": "asChild", "type": "boolean", "default": "false" }
1735
+ ],
1736
+ "DSDMGroup": [
1737
+ { "name": "asChild", "type": "boolean", "default": "false" }
1738
+ ],
1739
+ "DSDMLabel": [
1740
+ { "name": "className", "type": "string", "default": "undefined" },
1741
+ { "name": "asChild", "type": "boolean", "default": "false" }
1742
+ ],
1743
+ "DSDMItem": [
1744
+ { "name": "className", "type": "string", "default": "undefined" },
1745
+ { "name": "disabled", "type": "boolean", "default": "false" },
1746
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
1747
+ { "name": "textValue", "type": "string", "default": "undefined" },
1748
+ { "name": "asChild", "type": "boolean", "default": "false" }
1749
+ ],
1750
+ "DSDMCheckboxItem": [
1751
+ { "name": "className", "type": "string", "default": "undefined" },
1752
+ { "name": "checked", "type": "boolean | 'indeterminate'", "default": "undefined" },
1753
+ { "name": "onCheckedChange", "type": "(checked: boolean) => void", "default": "undefined" },
1754
+ { "name": "disabled", "type": "boolean", "default": "false" },
1755
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
1756
+ { "name": "textValue", "type": "string", "default": "undefined" },
1757
+ { "name": "asChild", "type": "boolean", "default": "false" }
1758
+ ],
1759
+ "DSDMRadioGroup": [
1760
+ { "name": "value", "type": "string", "default": "undefined" },
1761
+ { "name": "onValueChange", "type": "(value: string) => void", "default": "undefined" },
1762
+ { "name": "asChild", "type": "boolean", "default": "false" }
1763
+ ],
1764
+ "DSDMRadioItem": [
1765
+ { "name": "className", "type": "string", "default": "undefined" },
1766
+ { "name": "value", "type": "string", "default": "required" },
1767
+ { "name": "disabled", "type": "boolean", "default": "false" },
1768
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
1769
+ { "name": "textValue", "type": "string", "default": "undefined" },
1770
+ { "name": "asChild", "type": "boolean", "default": "false" }
1771
+ ],
1772
+ "DSDMItemIndicator": [
1773
+ { "name": "className", "type": "string", "default": "undefined" },
1774
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1775
+ { "name": "asChild", "type": "boolean", "default": "false" }
1776
+ ],
1777
+ "DSDMSeparator": [
1778
+ { "name": "className", "type": "string", "default": "undefined" },
1779
+ { "name": "asChild", "type": "boolean", "default": "false" }
1780
+ ],
1781
+ "DSDMSub": [
1782
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
1783
+ { "name": "open", "type": "boolean", "default": "undefined" },
1784
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" }
1785
+ ],
1786
+ "DSDMSubTrigger": [
1787
+ { "name": "className", "type": "string", "default": "undefined" },
1788
+ { "name": "disabled", "type": "boolean", "default": "false" },
1789
+ { "name": "textValue", "type": "string", "default": "undefined" },
1790
+ { "name": "asChild", "type": "boolean", "default": "false" }
1791
+ ],
1792
+ "DSDMSubContent": [
1793
+ { "name": "className", "type": "string", "default": "undefined" },
1794
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1795
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'right'" },
1796
+ { "name": "sideOffset", "type": "number", "default": "0" },
1797
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'start'" },
1798
+ { "name": "alignOffset", "type": "number", "default": "0" },
1799
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
1800
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
1801
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
1802
+ { "name": "arrowPadding", "type": "number", "default": "0" },
1803
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
1804
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
1805
+ { "name": "loop", "type": "boolean", "default": "false" },
1806
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
1807
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
1808
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
1809
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
1810
+ ],
1811
+ // COLLAPSIBLE SYSTEM
1812
+ //
1813
+ "DSC": [
1814
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
1815
+ { "name": "open", "type": "boolean", "default": "undefined" },
1816
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
1817
+ { "name": "disabled", "type": "boolean", "default": "false" },
1818
+ { "name": "asChild", "type": "boolean", "default": "false" }
1819
+ ],
1820
+ "DSCTrigger": [
1821
+ { "name": "asChild", "type": "boolean", "default": "false" },
1822
+ { "name": "disabled", "type": "boolean", "default": "false" }
1823
+ ],
1824
+ "DSCContent": [
1825
+ { "name": "className", "type": "string", "default": "undefined" },
1826
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
1827
+ { "name": "asChild", "type": "boolean", "default": "false" }
1828
+ ],
1829
+ // HOOKS
1830
+ "useDS": [
1831
+ { name: "leftState", type: "expanded | collapsed", default: "readonly", description: "The current state of the sidebar." },
1832
+ { name: "rightState", type: "expanded | collapsed", default: "readonly" },
1833
+ { name: "openLeft", type: "boolean", default: "readonly", description: "Whether the sidebar is open." },
1834
+ { name: "openRight", type: "boolean", default: "readonly" },
1835
+ { name: "setOpenLeft", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar." },
1836
+ { name: "setOpenRight", type: "(open: boolean) => void", default: "readonly", description: "" },
1837
+ { name: "openMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is open on mobile." },
1838
+ { name: "openMobileRight", type: "boolean", default: "readonly", description: "" },
1839
+ { name: "setOpenMobile", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar on mobile." },
1840
+ { name: "setOpenMobileRight", type: "(open: boolean) => void", default: "readonly", description: "" },
1841
+ { name: "toggleLeft", type: "() => void", default: "readonly", description: "Toggles the sidebar. Desktop and mobile." },
1842
+ { name: "toggleRight", type: "() => void", default: "readonly", description: "" },
1843
+ { name: "isMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is on mobile." },
1844
+ { name: "sidebarWidth", type: "number", default: "readonly", description: "Controls the default width value." },
1845
+ { name: "leftVariant", type: "SidebarVariant", default: "readonly", description: "States the current variant type, this is more so used within the source file." },
1846
+ { name: "rightVariant", type: "SidebarVariant", default: "readonly", description: "" },
1847
+ { name: "setLeftVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "Sets the state the current variant type, this is more so used within the source file" },
1848
+ { name: "setRightVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "" },
1849
+ { name: "isIconLeftActive", type: "boolean", default: "readonly", description: "Checks if icon sidebars are actively used." },
1850
+ { name: "isIconRightActive", type: "boolean", default: "readonly", description: "" },
1851
+ { name: "setIsIconLeftActive", type: "(open: boolean) => void", default: "readonly", description: "Sets isIconLeftActive state, used within the source file." },
1852
+ { name: "setIsIconRightActive", type: "(open: boolean) => void", default: "readonly", description: "" },
1853
+ { name: "iconLeftWidth", type: "number", default: "readonly", description: "Controls the default width value." },
1854
+ { name: "iconRightWidth", type: "number", default: "readonly", description: "" },
1855
+ { name: "setIconLeftWidth", type: "(width: number) => void", default: "readonly", description: "Sets setIconLeftWidth state, used within the source file." },
1856
+ { name: "setIconRightWidth", type: "(width: number) => void", default: "readonly", description: "" },
1857
+ { name: "topHeight", type: "string", default: "readonly", description: "Sets height for inset variant styles." },
1858
+ { name: "setTopHeight", type: "(height: string) => void", default: "readonly", description: "" },
1859
+ { name: "bottomHeight", type: "string", default: "readonly", description: "" },
1860
+ { name: "setBottomHeight", type: "(height: string) => void", default: "readonly", description: "" }
1861
+ ],
1862
+ "useDSTheme": [
1863
+ { name: "theme", type: "DSTheme", default: "readonly" },
1864
+ { name: "setTheme", type: "(theme: DSTheme) => void", default: "readonly" },
1865
+ { name: "themeVars", type: "Record<string, string>", default: "readonly" }
1866
+ ]
1867
+ },
1868
+ desc: "A comprehensive dual sidebar layout system with left and right collapsible sidebars, support for multiple variants including icon sidebars, theme system, responsive mobile views, keyboard shortcuts, and top/bottom drawer support. Perfect for complex application layouts requiring flexible navigation structures.",
1869
+ status: "stable",
1870
+ lastUpdated: "2024-11-03"
1871
+ },
1872
+ {
1873
+ name: "Sidebar",
1874
+ value: "sidebar",
1875
+ importPath: "~/components/catalyst-ui",
1876
+ multiImport: 'Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar',
1877
+ path: "/components/catalyst-ui/overlays/sidebar-original.tsx",
1878
+ premium: false,
1879
+ source: null,
1880
+ usage: null,
1881
+ basicusage: `
1882
+ const SIDEBAR_WIDTH = "16rem"
1883
+ const SIDEBAR_WIDTH_MOBILE = "18rem"
1884
+
1885
+ <SidebarProvider
1886
+ style={{
1887
+ "--sidebar-width": "20rem",
1888
+ "--sidebar-width-mobile": "20rem",
1889
+ }}
1890
+ >
1891
+ <Sidebar />
1892
+ </SidebarProvider>
1893
+
1894
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b"
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+ export async function Layout({ children }: { children: React.ReactNode }) {
1901
+ const cookieStore = await cookies()
1902
+ const defaultOpen = cookieStore.get("sidebar_state")?.value === "true"
1903
+
1904
+ return (
1905
+ <SidebarProvider defaultOpen={defaultOpen}>
1906
+ <AppSidebar />
1907
+ <main>
1908
+ <SidebarTrigger />
1909
+ {children}
1910
+ </main>
1911
+ </SidebarProvider>
1912
+ )
1913
+ }
1914
+
1915
+ const SIDEBAR_COOKIE_NAME = "sidebar_state"
1916
+
1917
+ <Sidebar side="left | right" />
1918
+
1919
+ <Sidebar variant="sidebar | floating | inset" />
1920
+
1921
+ <SidebarProvider>
1922
+ <Sidebar variant="inset" />
1923
+ <SidebarInset>
1924
+ <main>{children}</main>
1925
+ </SidebarInset>
1926
+ </SidebarProvider>
1927
+
1928
+ <Sidebar collapsible="offcanvas | icon | none" />
1929
+
1930
+ const { state, open, setOpen, openMobile, setOpenMobile, isMobile, toggleSidebar } = useSidebar()
1931
+
1932
+ <SidebarMenuLink to='/settings' icon={<Settings />}>
1933
+ Settings
1934
+ </SidebarMenuLink>
1935
+ <SidebarMenuAnchor to='/settings' icon={<Settings />}>
1936
+ Settings
1937
+ </SidebarMenuAnchor>
1938
+ `,
1939
+ usagePath: "/components/catalyst-ui/overlays/sidebar-original.tsx",
1940
+ category: "Overlay",
1941
+ tags: ["ui", "components", "interactive"],
1942
+ features: ["Responsive", "TypeScript", "Accessible"],
1943
+ dependencies: ["@radix-ui/react-slot", "class-variance-authority"],
1944
+ props: {
1945
+ "DSProvider": [
1946
+ { name: "defaultOpenLeft", type: "boolean", default: "false", description: "Default open state of the sidebar." },
1947
+ { name: "defaultOpenRight", type: "boolean", default: "false", description: "Default open state of the sidebar." },
1948
+ { name: "defaultWidth", type: "string", default: "275px" },
1949
+ { name: "className", type: "string", default: "undefined" },
1950
+ { name: "style", type: "React.CSSProperties", default: "undefined", description: "Can pass through values like '--dual-sidebar-width-icon': DS_WIDTH_ICON, to be used within the style prop" },
1951
+ { name: "children", type: "React.ReactNode", default: "required" }
1952
+ ],
1953
+ "DSLeft": [
1954
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1955
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas", description: "Collapsible state of the sidebar." },
1956
+ { name: "loadingUI", type: "boolean", default: "true" },
1957
+ { name: "className", type: "string", default: "undefined" },
1958
+ { name: "children", type: "React.ReactNode", default: "required" }
1959
+ ],
1960
+ "DSRight": [
1961
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1962
+ { name: "collapsible", type: "offcanvas | icon | none", default: "offcanvas" },
1963
+ { name: "loadingUI", type: "boolean", default: "true" },
1964
+ { name: "className", type: "string", default: "undefined" },
1965
+ { name: "children", type: "React.ReactNode", default: "required" }
1966
+ ],
1967
+ "DSLeftIcon": [
1968
+ { name: "iconWidth", type: "string", default: "48px" },
1969
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1970
+ { name: "className", type: "string", default: "undefined" },
1971
+ { name: "children", type: "React.ReactNode", default: "required" }
1972
+ ],
1973
+ "DSRightIcon": [
1974
+ { name: "iconWidth", type: "string", default: "48px" },
1975
+ { name: "variant", type: "sidebar | floating | inset | frosted | card | glass | compact-card | bordered | minimal | elevated", default: "sidebar" },
1976
+ { name: "className", type: "string", default: "undefined" },
1977
+ { name: "children", type: "React.ReactNode", default: "required" }
1978
+ ],
1979
+ "DSInset": [
1980
+ { name: "variant", type: "default | inset | card | bordered", default: "default" },
1981
+ { name: "className", type: "string", default: "undefined" },
1982
+ { name: "children", type: "React.ReactNode", default: "required" }
1983
+ ],
1984
+ // STRUCTURE COMPONENTS
1985
+ "DSHeader": [
1986
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
1987
+ { name: "className", type: "string", default: "undefined" },
1988
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1989
+ ],
1990
+ "DSContent": [
1991
+ { name: "className", type: "string", default: "undefined" },
1992
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1993
+ ],
1994
+ "DSFooter": [
1995
+ { name: "variant", type: "default | bordered | elevated | compact", default: "default" },
1996
+ { name: "className", type: "string", default: "undefined" },
1997
+ { name: "children", type: "React.ReactNode", default: "undefined" }
1998
+ ],
1999
+ // MENU SYSTEM
2000
+ "DSMenu": [
2001
+ { name: "className", type: "string", default: "undefined" },
2002
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2003
+ ],
2004
+ "DSMenuItem": [
2005
+ { name: "variant", type: "default | spaced | compact | comfortable", default: "default" },
2006
+ { name: "className", type: "string", default: "undefined" },
2007
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2008
+ ],
2009
+ "DSMenuButton": [
2010
+ { name: "asChild", type: "boolean", default: "false" },
2011
+ { name: "isActive", type: "boolean", default: "false" },
2012
+ { name: "tooltip", type: "string | TooltipContentProps", default: "undefined" },
2013
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
2014
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
2015
+ { name: "className", type: "string", default: "undefined" },
2016
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2017
+ ],
2018
+ "DSMenuAction": [
2019
+ { name: "asChild", type: "boolean", default: "false" },
2020
+ { name: "showOnHover", type: "boolean", default: "false" },
2021
+ { name: "className", type: "string", default: "undefined" },
2022
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2023
+ ],
2024
+ "DSMenuBadge": [
2025
+ { name: "variant", type: "default | primary | secondary | success | warning | danger | outline | ghost | dot", default: "default" },
2026
+ { name: "className", type: "string", default: "undefined" },
2027
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2028
+ ],
2029
+ "DSMenuSkeleton": [
2030
+ { name: "showIcon", type: "boolean", default: "false" },
2031
+ { name: "className", type: "string", default: "undefined" }
2032
+ ],
2033
+ "DSMenuSub": [
2034
+ { name: "className", type: "string", default: "undefined" },
2035
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2036
+ ],
2037
+ "DSMenuSubItem": [
2038
+ { name: "variant", type: "default | indented | dotted", default: "default" },
2039
+ { name: "className", type: "string", default: "undefined" },
2040
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2041
+ ],
2042
+ "DSMenuSubButton": [
2043
+ { name: "asChild", type: "boolean", default: "false" },
2044
+ { name: "size", type: "default | sm | lg", default: "default" },
2045
+ { name: "isActive", type: "boolean", default: "false" },
2046
+ { name: "variant", type: "default | ghost | minimal | indent", default: "default" },
2047
+ { name: "className", type: "string", default: "undefined" },
2048
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2049
+ ],
2050
+ "DSMenuLink": [
2051
+ { name: "to", type: "string", default: "required" },
2052
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
2053
+ { name: "tooltip", type: "string", default: "undefined" },
2054
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
2055
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
2056
+ { name: "className", type: "string", default: "undefined" },
2057
+ { name: "children", type: "React.ReactNode", default: "required" }
2058
+ ],
2059
+ "DSMenuAnchor": [
2060
+ { name: "to", type: "string", default: "required" },
2061
+ { name: "icon", type: "React.ReactNode", default: "undefined" },
2062
+ { name: "tooltip", type: "string", default: "undefined" },
2063
+ { name: "newTab", type: "boolean", default: "true" },
2064
+ { name: "variant", type: "default | ghost | outline | soft | solid | minimal | bordered | pill", default: "default" },
2065
+ { name: "size", type: "default | sm | lg | icon", default: "default" },
2066
+ { name: "className", type: "string", default: "undefined" },
2067
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" },
2068
+ { name: "children", type: "React.ReactNode", default: "required" }
2069
+ ],
2070
+ // GROUP SYSTEM
2071
+ "DSGroup": [
2072
+ { name: "variant", type: "default | separated | card | bordered | subtle", default: "default" },
2073
+ { name: "className", type: "string", default: "undefined" },
2074
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2075
+ ],
2076
+ "DSGroupLabel": [
2077
+ { name: "asChild", type: "boolean", default: "false" },
2078
+ { name: "variant", type: "default | prominent | subtle | separated", default: "default" },
2079
+ { name: "className", type: "string", default: "undefined" },
2080
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2081
+ ],
2082
+ "DSGroupAction": [
2083
+ { name: "asChild", type: "boolean", default: "false" },
2084
+ { name: "className", type: "string", default: "undefined" },
2085
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2086
+ ],
2087
+ "DSGroupContent": [
2088
+ { name: "className", type: "string", default: "undefined" },
2089
+ { name: "children", type: "React.ReactNode", default: "undefined" }
2090
+ ],
2091
+ // UI ELEMENTS
2092
+ "DSTrigger": [
2093
+ { name: "side", type: "left | right", default: "left" },
2094
+ { name: "className", type: "string", default: "undefined" },
2095
+ { name: "onClick", type: "React.MouseEventHandler", default: "undefined" }
2096
+ ],
2097
+ "DSBurger": [
2098
+ { name: "opened", type: "boolean", default: "undefined" },
2099
+ { name: "size", type: "sm | md | lg | xl", default: "md" },
2100
+ { name: "color", type: "string", default: "currentColor" },
2101
+ { name: "onClick", type: "() => void", default: "undefined" }
2102
+ ],
2103
+ "DSInput": [
2104
+ { name: "className", type: "string", default: "undefined" },
2105
+ { name: "type", type: "string", default: "text" },
2106
+ { name: "placeholder", type: "string", default: "undefined" },
2107
+ { name: "value", type: "string", default: "undefined" },
2108
+ { name: "onChange", type: "React.ChangeEventHandler", default: "undefined" }
2109
+ ],
2110
+ "DSSeparator": [
2111
+ { name: "variant", type: "default | thick | dashed | gradient", default: "default" },
2112
+ { name: "spacing", type: "default | sm | lg | none", default: "default" },
2113
+ { name: "className", type: "string", default: "undefined" },
2114
+ { name: "orientation", type: "horizontal | vertical", default: "horizontal" }
2115
+ ],
2116
+ // RAIL COMPONENTS
2117
+ "DSLeftRail": [
2118
+ { name: "side", type: "left | right", default: "left" },
2119
+ { name: "className", type: "string", default: "undefined" }
2120
+ ],
2121
+ "DSRightRail": [
2122
+ { name: "side", type: "left | right", default: "right" },
2123
+ { name: "className", type: "string", default: "undefined" }
2124
+ ],
2125
+ // THEME SYSTEM
2126
+ "DSThemeSelector": [
2127
+ { name: "size", type: "number", default: "28" },
2128
+ { name: "className", type: "string", default: "undefined" },
2129
+ { name: "children", type: "React.ReactNode", default: "required" }
2130
+ ],
2131
+ "DSThemeProvider": [
2132
+ { name: "children", type: "React.ReactNode", default: "required" }
2133
+ ],
2134
+ // DRAWER SYSTEM - TOP/BOTTOM (Vaul)
2135
+ // drawer top position
2136
+ "DSD & DSD Bottom": [
2137
+ { "name": "open", "type": "boolean", "default": "undefined" },
2138
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
2139
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
2140
+ { "name": "shouldScaleBackground", "type": "boolean", "default": "false" },
2141
+ { "name": "setBackgroundColorOnScale", "type": "boolean", "default": "true" },
2142
+ { "name": "closeThreshold", "type": "number", "default": "0.5" },
2143
+ { "name": "scrollLockTimeout", "type": "number", "default": "500" },
2144
+ { "name": "snapPoints", "type": "(number | string)[]", "default": "undefined" },
2145
+ { "name": "activeSnapPoint", "type": "number | string | null", "default": "undefined" },
2146
+ { "name": "setActiveSnapPoint", "type": "(snapPoint: number | string | null) => void", "default": "undefined" },
2147
+ { "name": "fadeFromIndex", "type": "number", "default": "snapPoints.length - 1" },
2148
+ { "name": "modal", "type": "boolean", "default": "true" },
2149
+ { "name": "handleOnly", "type": "boolean", "default": "false" },
2150
+ { "name": "dismissible", "type": "boolean", "default": "true" },
2151
+ { "name": "onDrag", "type": "(event: PointerEvent, percentageDragged: number) => void", "default": "undefined" },
2152
+ { "name": "onRelease", "type": "(event: PointerEvent, open: boolean) => void", "default": "undefined" },
2153
+ { "name": "noBodyStyles", "type": "boolean", "default": "false" },
2154
+ { "name": "direction", "type": "'top' | 'bottom' | 'left' | 'right'", "default": "'bottom'" },
2155
+ { "name": "preventScrollRestoration", "type": "boolean", "default": "true" },
2156
+ { "name": "disablePreventScroll", "type": "boolean", "default": "false" },
2157
+ { "name": "snapToSequentialPoint", "type": "boolean", "default": "false" },
2158
+ { "name": "onAnimationEnd", "type": "(open: boolean) => void", "default": "undefined" },
2159
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
2160
+ { "name": "nested", "type": "boolean", "default": "false" },
2161
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2162
+ ],
2163
+ "DSDTrigger": [
2164
+ { "name": "asChild", "type": "boolean", "default": "false" },
2165
+ { "name": "className", "type": "string", "default": "undefined" },
2166
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2167
+ ],
2168
+ "DSDPortal": [
2169
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" },
2170
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2171
+ ],
2172
+ "DSDClose": [
2173
+ { "name": "asChild", "type": "boolean", "default": "false" },
2174
+ { "name": "className", "type": "string", "default": "undefined" },
2175
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2176
+ ],
2177
+ "DSDOverlay": [
2178
+ { "name": "asChild", "type": "boolean", "default": "false" },
2179
+ { "name": "className", "type": "string", "default": "undefined" }
2180
+ ],
2181
+ "DSDContent": [
2182
+ { "name": "asChild", "type": "boolean", "default": "false" },
2183
+ { "name": "className", "type": "string", "default": "undefined" },
2184
+ { "name": "children", "type": "React.ReactNode", "default": "required" }
2185
+ ],
2186
+ "DSDTitle": [
2187
+ { "name": "asChild", "type": "boolean", "default": "false" },
2188
+ { "name": "className", "type": "string", "default": "undefined" },
2189
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2190
+ ],
2191
+ "DSDDescription": [
2192
+ { "name": "asChild", "type": "boolean", "default": "false" },
2193
+ { "name": "className", "type": "string", "default": "undefined" },
2194
+ { "name": "children", "type": "React.ReactNode", "default": "undefined" }
2195
+ ],
2196
+ // LOADING UI
2197
+ "DSLoading": [
2198
+ { name: "variant", type: "default | minimal | card | centered", default: "default" },
2199
+ { name: "size", type: "default | sm | md | lg | full", default: "default" }
2200
+ ],
2201
+ // AVATAR SYSTEM
2202
+ "DSA": [
2203
+ { "name": "className", "type": "string", "default": "undefined" },
2204
+ { "name": "asChild", "type": "boolean", "default": "false" }
2205
+ ],
2206
+ "DSAImage": [
2207
+ { "name": "className", "type": "string", "default": "undefined" },
2208
+ { "name": "src", "type": "string", "default": "required" },
2209
+ { "name": "alt", "type": "string", "default": "required" },
2210
+ { "name": "onLoadingStatusChange", "type": "function", "default": "undefined" },
2211
+ { "name": "asChild", "type": "boolean", "default": "false" }
2212
+ ],
2213
+ "DSAFallback": [
2214
+ { "name": "className", "type": "string", "default": "undefined" },
2215
+ { "name": "delayMs", "type": "number", "default": "0" },
2216
+ { "name": "asChild", "type": "boolean", "default": "false" }
2217
+ ],
2218
+ // DROPDOWN MENU SYSTEM
2219
+ //
2220
+ "DSDM": [
2221
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
2222
+ { "name": "open", "type": "boolean", "default": "undefined" },
2223
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
2224
+ { "name": "dir", "type": "'ltr' | 'rtl'", "default": "undefined" },
2225
+ { "name": "modal", "type": "boolean", "default": "true" }
2226
+ ],
2227
+ "DSDMPortal": [
2228
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
2229
+ { "name": "container", "type": "HTMLElement | null", "default": "document.body" }
2230
+ ],
2231
+ "DSDMTrigger": [
2232
+ { "name": "asChild", "type": "boolean", "default": "false" },
2233
+ { "name": "disabled", "type": "boolean", "default": "false" }
2234
+ ],
2235
+ "DSDMContent": [
2236
+ { "name": "className", "type": "string", "default": "undefined" },
2237
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
2238
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'bottom'" },
2239
+ { "name": "sideOffset", "type": "number", "default": "0" },
2240
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'center'" },
2241
+ { "name": "alignOffset", "type": "number", "default": "0" },
2242
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
2243
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
2244
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
2245
+ { "name": "arrowPadding", "type": "number", "default": "0" },
2246
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
2247
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
2248
+ { "name": "loop", "type": "boolean", "default": "false" },
2249
+ { "name": "onCloseAutoFocus", "type": "(event: Event) => void", "default": "undefined" },
2250
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
2251
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
2252
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
2253
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
2254
+ ],
2255
+ "DSDMArrow": [
2256
+ { "name": "className", "type": "string", "default": "undefined" },
2257
+ { "name": "width", "type": "number", "default": "10" },
2258
+ { "name": "height", "type": "number", "default": "5" },
2259
+ { "name": "asChild", "type": "boolean", "default": "false" }
2260
+ ],
2261
+ "DSDMGroup": [
2262
+ { "name": "asChild", "type": "boolean", "default": "false" }
2263
+ ],
2264
+ "DSDMLabel": [
2265
+ { "name": "className", "type": "string", "default": "undefined" },
2266
+ { "name": "asChild", "type": "boolean", "default": "false" }
2267
+ ],
2268
+ "DSDMItem": [
2269
+ { "name": "className", "type": "string", "default": "undefined" },
2270
+ { "name": "disabled", "type": "boolean", "default": "false" },
2271
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
2272
+ { "name": "textValue", "type": "string", "default": "undefined" },
2273
+ { "name": "asChild", "type": "boolean", "default": "false" }
2274
+ ],
2275
+ "DSDMCheckboxItem": [
2276
+ { "name": "className", "type": "string", "default": "undefined" },
2277
+ { "name": "checked", "type": "boolean | 'indeterminate'", "default": "undefined" },
2278
+ { "name": "onCheckedChange", "type": "(checked: boolean) => void", "default": "undefined" },
2279
+ { "name": "disabled", "type": "boolean", "default": "false" },
2280
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
2281
+ { "name": "textValue", "type": "string", "default": "undefined" },
2282
+ { "name": "asChild", "type": "boolean", "default": "false" }
2283
+ ],
2284
+ "DSDMRadioGroup": [
2285
+ { "name": "value", "type": "string", "default": "undefined" },
2286
+ { "name": "onValueChange", "type": "(value: string) => void", "default": "undefined" },
2287
+ { "name": "asChild", "type": "boolean", "default": "false" }
2288
+ ],
2289
+ "DSDMRadioItem": [
2290
+ { "name": "className", "type": "string", "default": "undefined" },
2291
+ { "name": "value", "type": "string", "default": "required" },
2292
+ { "name": "disabled", "type": "boolean", "default": "false" },
2293
+ { "name": "onSelect", "type": "(event: Event) => void", "default": "undefined" },
2294
+ { "name": "textValue", "type": "string", "default": "undefined" },
2295
+ { "name": "asChild", "type": "boolean", "default": "false" }
2296
+ ],
2297
+ "DSDMItemIndicator": [
2298
+ { "name": "className", "type": "string", "default": "undefined" },
2299
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
2300
+ { "name": "asChild", "type": "boolean", "default": "false" }
2301
+ ],
2302
+ "DSDMSeparator": [
2303
+ { "name": "className", "type": "string", "default": "undefined" },
2304
+ { "name": "asChild", "type": "boolean", "default": "false" }
2305
+ ],
2306
+ "DSDMSub": [
2307
+ { "name": "defaultOpen", "type": "boolean", "default": "undefined" },
2308
+ { "name": "open", "type": "boolean", "default": "undefined" },
2309
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" }
2310
+ ],
2311
+ "DSDMSubTrigger": [
2312
+ { "name": "className", "type": "string", "default": "undefined" },
2313
+ { "name": "disabled", "type": "boolean", "default": "false" },
2314
+ { "name": "textValue", "type": "string", "default": "undefined" },
2315
+ { "name": "asChild", "type": "boolean", "default": "false" }
2316
+ ],
2317
+ "DSDMSubContent": [
2318
+ { "name": "className", "type": "string", "default": "undefined" },
2319
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
2320
+ { "name": "side", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'right'" },
2321
+ { "name": "sideOffset", "type": "number", "default": "0" },
2322
+ { "name": "align", "type": "'start' | 'center' | 'end'", "default": "'start'" },
2323
+ { "name": "alignOffset", "type": "number", "default": "0" },
2324
+ { "name": "avoidCollisions", "type": "boolean", "default": "true" },
2325
+ { "name": "collisionBoundary", "type": "Element | Element[] | null", "default": "[]" },
2326
+ { "name": "collisionPadding", "type": "number | Partial<Record<'top' | 'right' | 'bottom' | 'left', number>>", "default": "0" },
2327
+ { "name": "arrowPadding", "type": "number", "default": "0" },
2328
+ { "name": "sticky", "type": "'partial' | 'always'", "default": "'partial'" },
2329
+ { "name": "hideWhenDetached", "type": "boolean", "default": "false" },
2330
+ { "name": "loop", "type": "boolean", "default": "false" },
2331
+ { "name": "onEscapeKeyDown", "type": "(event: KeyboardEvent) => void", "default": "undefined" },
2332
+ { "name": "onPointerDownOutside", "type": "(event: PointerDownOutsideEvent) => void", "default": "undefined" },
2333
+ { "name": "onFocusOutside", "type": "(event: FocusOutsideEvent) => void", "default": "undefined" },
2334
+ { "name": "onInteractOutside", "type": "(event: PointerDownOutsideEvent | FocusOutsideEvent) => void", "default": "undefined" }
2335
+ ],
2336
+ // COLLAPSIBLE SYSTEM
2337
+ //
2338
+ "DSC": [
2339
+ { "name": "defaultOpen", "type": "boolean", "default": "false" },
2340
+ { "name": "open", "type": "boolean", "default": "undefined" },
2341
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
2342
+ { "name": "disabled", "type": "boolean", "default": "false" },
2343
+ { "name": "asChild", "type": "boolean", "default": "false" }
2344
+ ],
2345
+ "DSCTrigger": [
2346
+ { "name": "asChild", "type": "boolean", "default": "false" },
2347
+ { "name": "disabled", "type": "boolean", "default": "false" }
2348
+ ],
2349
+ "DSCContent": [
2350
+ { "name": "className", "type": "string", "default": "undefined" },
2351
+ { "name": "forceMount", "type": "boolean", "default": "undefined" },
2352
+ { "name": "asChild", "type": "boolean", "default": "false" }
2353
+ ],
2354
+ // HOOKS
2355
+ "useDS": [
2356
+ { name: "leftState", type: "expanded | collapsed", default: "readonly", description: "The current state of the sidebar." },
2357
+ { name: "rightState", type: "expanded | collapsed", default: "readonly" },
2358
+ { name: "openLeft", type: "boolean", default: "readonly", description: "Whether the sidebar is open." },
2359
+ { name: "openRight", type: "boolean", default: "readonly" },
2360
+ { name: "setOpenLeft", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar." },
2361
+ { name: "setOpenRight", type: "(open: boolean) => void", default: "readonly", description: "" },
2362
+ { name: "openMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is open on mobile." },
2363
+ { name: "openMobileRight", type: "boolean", default: "readonly", description: "" },
2364
+ { name: "setOpenMobile", type: "(open: boolean) => void", default: "readonly", description: "Sets the open state of the sidebar on mobile." },
2365
+ { name: "setOpenMobileRight", type: "(open: boolean) => void", default: "readonly", description: "" },
2366
+ { name: "toggleLeft", type: "() => void", default: "readonly", description: "Toggles the sidebar. Desktop and mobile." },
2367
+ { name: "toggleRight", type: "() => void", default: "readonly", description: "" },
2368
+ { name: "isMobile", type: "boolean", default: "readonly", description: "Whether the sidebar is on mobile." },
2369
+ { name: "sidebarWidth", type: "number", default: "readonly", description: "Controls the default width value." },
2370
+ { name: "leftVariant", type: "SidebarVariant", default: "readonly", description: "States the current variant type, this is more so used within the source file." },
2371
+ { name: "rightVariant", type: "SidebarVariant", default: "readonly", description: "" },
2372
+ { name: "setLeftVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "Sets the state the current variant type, this is more so used within the source file" },
2373
+ { name: "setRightVariant", type: "(variant: SidebarVariant) => void", default: "readonly", description: "" },
2374
+ { name: "isIconLeftActive", type: "boolean", default: "readonly", description: "Checks if icon sidebars are actively used." },
2375
+ { name: "isIconRightActive", type: "boolean", default: "readonly", description: "" },
2376
+ { name: "setIsIconLeftActive", type: "(open: boolean) => void", default: "readonly", description: "Sets isIconLeftActive state, used within the source file." },
2377
+ { name: "setIsIconRightActive", type: "(open: boolean) => void", default: "readonly", description: "" },
2378
+ { name: "iconLeftWidth", type: "number", default: "readonly", description: "Controls the default width value." },
2379
+ { name: "iconRightWidth", type: "number", default: "readonly", description: "" },
2380
+ { name: "setIconLeftWidth", type: "(width: number) => void", default: "readonly", description: "Sets setIconLeftWidth state, used within the source file." },
2381
+ { name: "setIconRightWidth", type: "(width: number) => void", default: "readonly", description: "" },
2382
+ { name: "topHeight", type: "string", default: "readonly", description: "Sets height for inset variant styles." },
2383
+ { name: "setTopHeight", type: "(height: string) => void", default: "readonly", description: "" },
2384
+ { name: "bottomHeight", type: "string", default: "readonly", description: "" },
2385
+ { name: "setBottomHeight", type: "(height: string) => void", default: "readonly", description: "" }
2386
+ ],
2387
+ "useDSTheme": [
2388
+ { name: "theme", type: "DSTheme", default: "readonly" },
2389
+ { name: "setTheme", type: "(theme: DSTheme) => void", default: "readonly" },
2390
+ { name: "themeVars", type: "Record<string, string>", default: "readonly" }
2391
+ ]
2392
+ },
2393
+ desc: "Shadcn's original sidebar. Reverting it back to its original untouched state. If you would like an upgraded, and largely expanded version, see Dual Sidebar ( remix-run ) and Dual Sidebar Agnostic ( to be used with any platform ).",
2394
+ customize: null
2395
+ },
2396
+ {
2397
+ name: "ModalV1",
2398
+ value: "modal-1",
2399
+ importPath: "~/components/catalyst-ui/overlays/modal-integrations-1",
2400
+ multiImport: null,
2401
+ path: "/components/catlyst-ui/components/overlay/modal-integrations-1.tsx",
2402
+ premium: true,
2403
+ source: `
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+ // Types
2410
+ export type ModalVariant = "default" | "alert" | "confirmation" | "success" | "error";
2411
+
2412
+ export interface ModalProps {
2413
+ open: boolean;
2414
+ onClose: () => void;
2415
+ title: string;
2416
+ description?: string;
2417
+ variant?: ModalVariant;
2418
+ showCloseButton?: boolean;
2419
+ children?: React.ReactNode;
2420
+ size?: "sm" | "md" | "lg" | "xl";
2421
+ overlayClassName?: string;
2422
+ contentClassName?: string;
2423
+ }
2424
+
2425
+ export function Modal({
2426
+ open,
2427
+ onClose,
2428
+ title,
2429
+ description,
2430
+ variant = "default",
2431
+ showCloseButton = true,
2432
+ children,
2433
+ size = "md",
2434
+ overlayClassName,
2435
+ contentClassName,
2436
+ }: ModalProps) {
2437
+ if (!open) return null;
2438
+
2439
+ // Handle escape key press
2440
+ useState(() => {
2441
+ const handleEscape = (e: KeyboardEvent) => {
2442
+ if (e.key === "Escape") onClose();
2443
+ };
2444
+
2445
+ if (open) {
2446
+ document.addEventListener("keydown", handleEscape);
2447
+ document.body.style.overflow = "hidden";
2448
+ }
2449
+
2450
+ return () => {
2451
+ document.removeEventListener("keydown", handleEscape);
2452
+ document.body.style.overflow = "unset";
2453
+ };
2454
+ });
2455
+
2456
+ const handleOverlayClick = (e: React.MouseEvent) => {
2457
+ if (e.target === e.currentTarget) onClose();
2458
+ };
2459
+
2460
+ // Get icon based on variant
2461
+ const getIcon = () => {
2462
+ switch (variant) {
2463
+ case "alert":
2464
+ return <AlertCircle className="h-6 w-6 text-yellow-500" />;
2465
+ case "confirmation":
2466
+ return <Info className="h-6 w-6 text-blue-500" />;
2467
+ case "success":
2468
+ return <CheckCircle2 className="h-6 w-6 text-green-500" />;
2469
+ case "error":
2470
+ return <AlertTriangle className="h-6 w-6 text-red-500" />;
2471
+ default:
2472
+ return null;
2473
+ }
2474
+ };
2475
+
2476
+ const sizeClasses = {
2477
+ sm: "max-w-md",
2478
+ md: "max-w-lg",
2479
+ lg: "max-w-2xl",
2480
+ xl: "max-w-4xl",
2481
+ };
2482
+
2483
+ return (
2484
+ <div
2485
+ className={cn(
2486
+ "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4 backdrop-blur-sm",
2487
+ overlayClassName
2488
+ )}
2489
+ onClick={handleOverlayClick}
2490
+ >
2491
+ <div
2492
+ className={cn(
2493
+ "relative w-full rounded-lg bg-background p-6 shadow-lg",
2494
+ sizeClasses[size],
2495
+ contentClassName
2496
+ )}
2497
+ >
2498
+ {showCloseButton && (
2499
+ <Button
2500
+ variant="ghost"
2501
+ size="icon"
2502
+ className="absolute right-4 top-4"
2503
+ onClick={onClose}
2504
+ >
2505
+ <X className="h-4 w-4" />
2506
+ <span className="sr-only">Close</span>
2507
+ </Button>
2508
+ )}
2509
+
2510
+ <div className="flex items-start gap-4">
2511
+ {variant !== "default" && <div className="mt-0.5">{getIcon()}</div>}
2512
+
2513
+ <div className="flex-1">
2514
+ <h3 className="text-lg font-semibold text-foreground">
2515
+ {title}
2516
+ </h3>
2517
+
2518
+ {description && (
2519
+ <p className="mt-2 text-sm text-muted-foreground">
2520
+ {description}
2521
+ </p>
2522
+ )}
2523
+
2524
+ {children && (
2525
+ <div className="mt-4">
2526
+ {children}
2527
+ </div>
2528
+ )}
2529
+ </div>
2530
+ </div>
2531
+ </div>
2532
+ </div>
2533
+ );
2534
+ }
2535
+
2536
+ // Confirmation Modal Component
2537
+ interface ConfirmationModalProps extends Omit<ModalProps, "children" | "variant"> {
2538
+ confirmText?: string;
2539
+ cancelText?: string;
2540
+ onConfirm: () => void;
2541
+ onCancel?: () => void;
2542
+ destructive?: boolean;
2543
+ }
2544
+
2545
+ export function ConfirmationModal({
2546
+ confirmText = "Confirm",
2547
+ cancelText = "Cancel",
2548
+ onConfirm,
2549
+ onCancel,
2550
+ destructive = false,
2551
+ ...props
2552
+ }: ConfirmationModalProps) {
2553
+ const handleCancel = () => {
2554
+ onCancel?.();
2555
+ props.onClose();
2556
+ };
2557
+
2558
+ const handleConfirm = () => {
2559
+ onConfirm();
2560
+ props.onClose();
2561
+ };
2562
+
2563
+ return (
2564
+ <Modal {...props} variant="confirmation">
2565
+ <div className="mt-6 flex justify-end gap-3">
2566
+ <Button variant="outline" onClick={handleCancel}>
2567
+ {cancelText}
2568
+ </Button>
2569
+ <Button
2570
+ variant={destructive ? "destructive" : "default"}
2571
+ onClick={handleConfirm}
2572
+ >
2573
+ {confirmText}
2574
+ </Button>
2575
+ </div>
2576
+ </Modal>
2577
+ );
2578
+ }
2579
+
2580
+ // Alert Modal Component
2581
+ interface AlertModalProps extends Omit<ModalProps, "children" | "variant"> {
2582
+ buttonText?: string;
2583
+ onButtonClick?: () => void;
2584
+ }
2585
+
2586
+ export function AlertModal({
2587
+ buttonText = "OK",
2588
+ onButtonClick,
2589
+ ...props
2590
+ }: AlertModalProps) {
2591
+ const handleButtonClick = () => {
2592
+ onButtonClick?.();
2593
+ props.onClose();
2594
+ };
2595
+
2596
+ return (
2597
+ <Modal {...props} variant="alert">
2598
+ <div className="mt-6 flex justify-end">
2599
+ <Button onClick={handleButtonClick}>
2600
+ {buttonText}
2601
+ </Button>
2602
+ </div>
2603
+ </Modal>
2604
+ );
2605
+ }
2606
+
2607
+ // Demo Component
2608
+ export function ModalIntegrationsDemo() {
2609
+ const [defaultOpen, setDefaultOpen] = useState(false);
2610
+ const [alertOpen, setAlertOpen] = useState(false);
2611
+ const [confirmOpen, setConfirmOpen] = useState(false);
2612
+ const [successOpen, setSuccessOpen] = useState(false);
2613
+ const [errorOpen, setErrorOpen] = useState(false);
2614
+
2615
+ return (
2616
+ <div className="p-6 space-y-4">
2617
+ <h2 className="text-2xl font-bold">Modal Demonstrations</h2>
2618
+
2619
+ <div className="flex flex-wrap gap-4">
2620
+ <Button onClick={() => setDefaultOpen(true)}>
2621
+ Open Default Modal
2622
+ </Button>
2623
+
2624
+ <Button onClick={() => setAlertOpen(true)}>
2625
+ Open Alert Modal
2626
+ </Button>
2627
+
2628
+ <Button onClick={() => setConfirmOpen(true)}>
2629
+ Open Confirmation Modal
2630
+ </Button>
2631
+
2632
+ <Button onClick={() => setSuccessOpen(true)}>
2633
+ Open Success Modal
2634
+ </Button>
2635
+
2636
+ <Button onClick={() => setErrorOpen(true)}>
2637
+ Open Error Modal
2638
+ </Button>
2639
+ </div>
2640
+
2641
+ {/* Default Modal */}
2642
+ <Modal
2643
+ open={defaultOpen}
2644
+ onClose={() => setDefaultOpen(false)}
2645
+ title="Default Modal"
2646
+ description="This is a default modal with some sample content."
2647
+ >
2648
+ <div className="mt-4 p-4 border rounded-md bg-muted/20">
2649
+ <p className="text-sm">Additional content can be placed here.</p>
2650
+ </div>
2651
+ </Modal>
2652
+
2653
+ {/* Alert Modal */}
2654
+ <AlertModal
2655
+ open={alertOpen}
2656
+ onClose={() => setAlertOpen(false)}
2657
+ title="Alert"
2658
+ description="This is an important alert message!"
2659
+ buttonText="Got it"
2660
+ />
2661
+
2662
+ {/* Confirmation Modal */}
2663
+ <ConfirmationModal
2664
+ open={confirmOpen}
2665
+ onClose={() => setConfirmOpen(false)}
2666
+ title="Confirm Action"
2667
+ description="Are you sure you want to proceed with this action?"
2668
+ confirmText="Yes, proceed"
2669
+ cancelText="No, cancel"
2670
+ onConfirm={() => console.log("Action confirmed")}
2671
+ />
2672
+
2673
+ {/* Success Modal */}
2674
+ <Modal
2675
+ open={successOpen}
2676
+ onClose={() => setSuccessOpen(false)}
2677
+ title="Success!"
2678
+ description="Your action was completed successfully."
2679
+ variant="success"
2680
+ >
2681
+ <div className="mt-4 flex justify-end">
2682
+ <Button onClick={() => setSuccessOpen(false)}>
2683
+ Continue
2684
+ </Button>
2685
+ </div>
2686
+ </Modal>
2687
+
2688
+ {/* Error Modal */}
2689
+ <Modal
2690
+ open={errorOpen}
2691
+ onClose={() => setErrorOpen(false)}
2692
+ title="Error"
2693
+ description="Something went wrong with your request."
2694
+ variant="error"
2695
+ >
2696
+ <div className="mt-4 flex justify-end">
2697
+ <Button variant="destructive" onClick={() => setErrorOpen(false)}>
2698
+ Dismiss
2699
+ </Button>
2700
+ </div>
2701
+ </Modal>
2702
+ </div>
2703
+ );
2704
+ }`,
2705
+ category: "Overlay",
2706
+ tags: ["ui", "components", "interactive"],
2707
+ features: ["Responsive", "TypeScript", "Accessible"],
2708
+ dependencies: ["react", "lucide-react"],
2709
+ basicusage: `
2710
+ <Modal>
2711
+ Content
2712
+ </Modal>
2713
+
2714
+ <Modal open="" onClose={() => {}} title="" description="" variant="default" showCloseButton=true children="" size="md" overlayClassName="" contentClassName={() => {}}>
2715
+ Content
2716
+ </Modal>`,
2717
+ usage: null,
2718
+ usagePath: "/components/catalyst-ui/components/overlay/modal-integrations-1",
2719
+ props: {
2720
+ "Modal": [
2721
+ { name: "open", type: "string", default: null },
2722
+ { name: "onClose", type: "string", default: null },
2723
+ { name: "title", type: "string", default: null },
2724
+ { name: "description", type: "string", default: null },
2725
+ { name: "variant", type: "string", default: "default" },
2726
+ { name: "showCloseButton", type: "boolean", default: true },
2727
+ { name: "children", type: "string", default: null },
2728
+ { name: "size", type: "string", default: "md" },
2729
+ { name: "overlayClassName", type: "string", default: null },
2730
+ { name: "contentClassName", type: "string", default: null }
2731
+ ],
2732
+ "ConfirmationModal": [
2733
+ { name: "confirmText", type: "string", default: "Confirm" },
2734
+ { name: "cancelText", type: "string", default: "Cancel" },
2735
+ { name: "onConfirm", type: "string", default: null },
2736
+ { name: "onCancel", type: "string", default: null },
2737
+ { name: "destructive", type: "boolean", default: false },
2738
+ { name: "props", type: "any", default: null }
2739
+ ],
2740
+ "AlertModal": [
2741
+ { name: "buttonText", type: "string", default: "OK" },
2742
+ { name: "onButtonClick", type: "string", default: null },
2743
+ { name: "props", type: "any", default: null }
2744
+ ],
2745
+ },
2746
+ desc: null,
2747
+ status: null,
2748
+ lastUpdated: null
2749
+ },
2750
+ {
2751
+ name: "Transitionable Portal",
2752
+ value: "transitionable-portal",
2753
+ importPath: "~/components/catalyst-ui/overlays/transitionable-portal",
2754
+ multiImport: null,
2755
+ path: "/components/catalyst-ui/components/overlay/transitionable-portal.tsx",
2756
+ premium: true,
2757
+ source: null,
2758
+ category: "Overlay",
2759
+ tags: ["ui", "components", "interactive"],
2760
+ features: ["Responsive", "TypeScript", "Accessible"],
2761
+ dependencies: ["react", "react-dom", "lucide-react"],
2762
+ basicusage: `
2763
+ <TransitionablePortal>
2764
+ Content
2765
+ </TransitionablePortal>
2766
+
2767
+ <TransitionablePortal children="" open="" onOpen={() => {}} onClose={() => {}} closeOnDocumentClick=true closeOnEscape=true trigger="" transition="fade" duration=300 className="" overlayClassName="" contentClassName={() => {}} showCloseButton=false portal="">
2768
+ Content
2769
+ </TransitionablePortal>`,
2770
+ usage: null,
2771
+ usagePath: "/components/catalyst-ui/components/overlay/transitionable-portal.tsx",
2772
+ props: {
2773
+ "TransitionablePortal": [
2774
+ { name: "children", type: "string", default: null },
2775
+ { name: "open", type: "string", default: null },
2776
+ { name: "onOpen", type: "string", default: null },
2777
+ { name: "onClose", type: "string", default: null },
2778
+ { name: "closeOnDocumentClick", type: "boolean", default: true },
2779
+ { name: "closeOnEscape", type: "boolean", default: true },
2780
+ { name: "trigger", type: "string", default: null },
2781
+ { name: "transition", type: "string", default: "fade" },
2782
+ { name: "duration", type: "number", default: 300 },
2783
+ { name: "className", type: "string", default: null },
2784
+ { name: "overlayClassName", type: "string", default: null },
2785
+ { name: "contentClassName", type: "string", default: null },
2786
+ { name: "showCloseButton", type: "boolean", default: false },
2787
+ { name: "portal", type: "string", default: null }
2788
+ ],
2789
+ },
2790
+ desc: null,
2791
+ status: null,
2792
+ lastUpdated: null
2793
+ },
2794
+ {
2795
+ name: "Modal Integrations",
2796
+ value: "modal-integrations",
2797
+ importPath: "~/components/catalyst-ui/overlays/modal-integrations",
2798
+ multiImport: "Modal, ConfirmationModal, AlertModal",
2799
+ path: "/components/catlyst-ui/components/overlay/modal-integrations.tsx",
2800
+ premium: true,
2801
+ source: `
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+ // Types
2808
+ export type ModalVariant = "default" | "alert" | "confirmation" | "success" | "error";
2809
+
2810
+ export interface ModalProps {
2811
+ open: boolean;
2812
+ onClose: () => void;
2813
+ title: string;
2814
+ description?: string;
2815
+ variant?: ModalVariant;
2816
+ showCloseButton?: boolean;
2817
+ children?: React.ReactNode;
2818
+ size?: "sm" | "md" | "lg" | "xl";
2819
+ overlayClassName?: string;
2820
+ contentClassName?: string;
2821
+ }
2822
+
2823
+ export function Modal({
2824
+ open,
2825
+ onClose,
2826
+ title,
2827
+ description,
2828
+ variant = "default",
2829
+ showCloseButton = true,
2830
+ children,
2831
+ size = "md",
2832
+ overlayClassName,
2833
+ contentClassName,
2834
+ }: ModalProps) {
2835
+ if (!open) return null;
2836
+
2837
+ // Handle escape key press
2838
+ useState(() => {
2839
+ const handleEscape = (e: KeyboardEvent) => {
2840
+ if (e.key === "Escape") onClose();
2841
+ };
2842
+
2843
+ if (open) {
2844
+ document.addEventListener("keydown", handleEscape);
2845
+ document.body.style.overflow = "hidden";
2846
+ }
2847
+
2848
+ return () => {
2849
+ document.removeEventListener("keydown", handleEscape);
2850
+ document.body.style.overflow = "unset";
2851
+ };
2852
+ });
2853
+
2854
+ const handleOverlayClick = (e: React.MouseEvent) => {
2855
+ if (e.target === e.currentTarget) onClose();
2856
+ };
2857
+
2858
+ // Get icon based on variant
2859
+ const getIcon = () => {
2860
+ switch (variant) {
2861
+ case "alert":
2862
+ return <AlertCircle className="h-6 w-6 text-yellow-500" />;
2863
+ case "confirmation":
2864
+ return <Info className="h-6 w-6 text-blue-500" />;
2865
+ case "success":
2866
+ return <CheckCircle2 className="h-6 w-6 text-green-500" />;
2867
+ case "error":
2868
+ return <AlertTriangle className="h-6 w-6 text-red-500" />;
2869
+ default:
2870
+ return null;
2871
+ }
2872
+ };
2873
+
2874
+ const sizeClasses = {
2875
+ sm: "max-w-md",
2876
+ md: "max-w-lg",
2877
+ lg: "max-w-2xl",
2878
+ xl: "max-w-4xl",
2879
+ };
2880
+
2881
+ return (
2882
+ <div
2883
+ className={cn(
2884
+ "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4 backdrop-blur-sm",
2885
+ overlayClassName
2886
+ )}
2887
+ onClick={handleOverlayClick}
2888
+ >
2889
+ <div
2890
+ className={cn(
2891
+ "relative w-full rounded-lg bg-background p-6 shadow-lg",
2892
+ sizeClasses[size],
2893
+ contentClassName
2894
+ )}
2895
+ >
2896
+ {showCloseButton && (
2897
+ <Button
2898
+ variant="ghost"
2899
+ size="icon"
2900
+ className="absolute right-4 top-4"
2901
+ onClick={onClose}
2902
+ >
2903
+ <X className="h-4 w-4" />
2904
+ <span className="sr-only">Close</span>
2905
+ </Button>
2906
+ )}
2907
+
2908
+ <div className="flex items-start gap-4">
2909
+ {variant !== "default" && <div className="mt-0.5">{getIcon()}</div>}
2910
+
2911
+ <div className="flex-1">
2912
+ <h3 className="text-lg font-semibold text-foreground">
2913
+ {title}
2914
+ </h3>
2915
+
2916
+ {description && (
2917
+ <p className="mt-2 text-sm text-muted-foreground">
2918
+ {description}
2919
+ </p>
2920
+ )}
2921
+
2922
+ {children && (
2923
+ <div className="mt-4">
2924
+ {children}
2925
+ </div>
2926
+ )}
2927
+ </div>
2928
+ </div>
2929
+ </div>
2930
+ </div>
2931
+ );
2932
+ }
2933
+
2934
+ // Confirmation Modal Component
2935
+ interface ConfirmationModalProps extends Omit<ModalProps, "children" | "variant"> {
2936
+ confirmText?: string;
2937
+ cancelText?: string;
2938
+ onConfirm: () => void;
2939
+ onCancel?: () => void;
2940
+ destructive?: boolean;
2941
+ }
2942
+
2943
+ export function ConfirmationModal({
2944
+ confirmText = "Confirm",
2945
+ cancelText = "Cancel",
2946
+ onConfirm,
2947
+ onCancel,
2948
+ destructive = false,
2949
+ ...props
2950
+ }: ConfirmationModalProps) {
2951
+ const handleCancel = () => {
2952
+ onCancel?.();
2953
+ props.onClose();
2954
+ };
2955
+
2956
+ const handleConfirm = () => {
2957
+ onConfirm();
2958
+ props.onClose();
2959
+ };
2960
+
2961
+ return (
2962
+ <Modal {...props} variant="confirmation">
2963
+ <div className="mt-6 flex justify-end gap-3">
2964
+ <Button variant="outline" onClick={handleCancel}>
2965
+ {cancelText}
2966
+ </Button>
2967
+ <Button
2968
+ variant={destructive ? "destructive" : "default"}
2969
+ onClick={handleConfirm}
2970
+ >
2971
+ {confirmText}
2972
+ </Button>
2973
+ </div>
2974
+ </Modal>
2975
+ );
2976
+ }
2977
+
2978
+ // Alert Modal Component
2979
+ interface AlertModalProps extends Omit<ModalProps, "children" | "variant"> {
2980
+ buttonText?: string;
2981
+ onButtonClick?: () => void;
2982
+ }
2983
+
2984
+ export function AlertModal({
2985
+ buttonText = "OK",
2986
+ onButtonClick,
2987
+ ...props
2988
+ }: AlertModalProps) {
2989
+ const handleButtonClick = () => {
2990
+ onButtonClick?.();
2991
+ props.onClose();
2992
+ };
2993
+
2994
+ return (
2995
+ <Modal {...props} variant="alert">
2996
+ <div className="mt-6 flex justify-end">
2997
+ <Button onClick={handleButtonClick}>
2998
+ {buttonText}
2999
+ </Button>
3000
+ </div>
3001
+ </Modal>
3002
+ );
3003
+ }
3004
+
3005
+ // Demo Component
3006
+ export function ModalIntegrationsDemo() {
3007
+ const [defaultOpen, setDefaultOpen] = useState(false);
3008
+ const [alertOpen, setAlertOpen] = useState(false);
3009
+ const [confirmOpen, setConfirmOpen] = useState(false);
3010
+ const [successOpen, setSuccessOpen] = useState(false);
3011
+ const [errorOpen, setErrorOpen] = useState(false);
3012
+
3013
+ return (
3014
+ <div className="p-6 space-y-4">
3015
+ <h2 className="text-2xl font-bold">Modal Demonstrations</h2>
3016
+
3017
+ <div className="flex flex-wrap gap-4">
3018
+ <Button onClick={() => setDefaultOpen(true)}>
3019
+ Open Default Modal
3020
+ </Button>
3021
+
3022
+ <Button onClick={() => setAlertOpen(true)}>
3023
+ Open Alert Modal
3024
+ </Button>
3025
+
3026
+ <Button onClick={() => setConfirmOpen(true)}>
3027
+ Open Confirmation Modal
3028
+ </Button>
3029
+
3030
+ <Button onClick={() => setSuccessOpen(true)}>
3031
+ Open Success Modal
3032
+ </Button>
3033
+
3034
+ <Button onClick={() => setErrorOpen(true)}>
3035
+ Open Error Modal
3036
+ </Button>
3037
+ </div>
3038
+
3039
+ {/* Default Modal */}
3040
+ <Modal
3041
+ open={defaultOpen}
3042
+ onClose={() => setDefaultOpen(false)}
3043
+ title="Default Modal"
3044
+ description="This is a default modal with some sample content."
3045
+ >
3046
+ <div className="mt-4 p-4 border rounded-md bg-muted/20">
3047
+ <p className="text-sm">Additional content can be placed here.</p>
3048
+ </div>
3049
+ </Modal>
3050
+
3051
+ {/* Alert Modal */}
3052
+ <AlertModal
3053
+ open={alertOpen}
3054
+ onClose={() => setAlertOpen(false)}
3055
+ title="Alert"
3056
+ description="This is an important alert message!"
3057
+ buttonText="Got it"
3058
+ />
3059
+
3060
+ {/* Confirmation Modal */}
3061
+ <ConfirmationModal
3062
+ open={confirmOpen}
3063
+ onClose={() => setConfirmOpen(false)}
3064
+ title="Confirm Action"
3065
+ description="Are you sure you want to proceed with this action?"
3066
+ confirmText="Yes, proceed"
3067
+ cancelText="No, cancel"
3068
+ onConfirm={() => console.log("Action confirmed")}
3069
+ />
3070
+
3071
+ {/* Success Modal */}
3072
+ <Modal
3073
+ open={successOpen}
3074
+ onClose={() => setSuccessOpen(false)}
3075
+ title="Success!"
3076
+ description="Your action was completed successfully."
3077
+ variant="success"
3078
+ >
3079
+ <div className="mt-4 flex justify-end">
3080
+ <Button onClick={() => setSuccessOpen(false)}>
3081
+ Continue
3082
+ </Button>
3083
+ </div>
3084
+ </Modal>
3085
+
3086
+ {/* Error Modal */}
3087
+ <Modal
3088
+ open={errorOpen}
3089
+ onClose={() => setErrorOpen(false)}
3090
+ title="Error"
3091
+ description="Something went wrong with your request."
3092
+ variant="error"
3093
+ >
3094
+ <div className="mt-4 flex justify-end">
3095
+ <Button variant="destructive" onClick={() => setErrorOpen(false)}>
3096
+ Dismiss
3097
+ </Button>
3098
+ </div>
3099
+ </Modal>
3100
+ </div>
3101
+ );
3102
+ }`,
3103
+ category: "Overlay",
3104
+ tags: ["ui", "components", "interactive"],
3105
+ features: ["Responsive", "TypeScript", "Accessible"],
3106
+ dependencies: ["react", "lucide-react"],
3107
+ basicusage: `
3108
+ <Modal>
3109
+ Content
3110
+ </Modal>
3111
+
3112
+ <Modal open="" onClose={() => {}} title="" description="" variant="default" showCloseButton=true children="" size="md" overlayClassName="" contentClassName={() => {}}>
3113
+ Content
3114
+ </Modal>`,
3115
+ usage: null,
3116
+ usagePath: null,
3117
+ props: {
3118
+ "Modal": [
3119
+ { name: "open", type: "string", default: null },
3120
+ { name: "onClose", type: "string", default: null },
3121
+ { name: "title", type: "string", default: null },
3122
+ { name: "description", type: "string", default: null },
3123
+ { name: "variant", type: "string", default: "default" },
3124
+ { name: "showCloseButton", type: "boolean", default: true },
3125
+ { name: "children", type: "string", default: null },
3126
+ { name: "size", type: "string", default: "md" },
3127
+ { name: "overlayClassName", type: "string", default: null },
3128
+ { name: "contentClassName", type: "string", default: null }
3129
+ ],
3130
+ "ConfirmationModal": [
3131
+ { name: "confirmText", type: "string", default: "Confirm" },
3132
+ { name: "cancelText", type: "string", default: "Cancel" },
3133
+ { name: "onConfirm", type: "string", default: null },
3134
+ { name: "onCancel", type: "string", default: null },
3135
+ { name: "destructive", type: "boolean", default: false },
3136
+ { name: "props", type: "any", default: null }
3137
+ ],
3138
+ "AlertModal": [
3139
+ { name: "buttonText", type: "string", default: "OK" },
3140
+ { name: "onButtonClick", type: "string", default: null },
3141
+ { name: "props", type: "any", default: null }
3142
+ ],
3143
+ },
3144
+ desc: null,
3145
+ status: null,
3146
+ lastUpdated: null
3147
+ },
3148
+ {
3149
+ name: "Loading Overlay",
3150
+ value: "loading-overlay",
3151
+ importPath: "~/components/catalyst-ui/overlays/loading-overlay",
3152
+ path: "/components/catalyst-ui/components/overlay/loading-overlay.tsx",
3153
+ source: null,
3154
+ usagePath: "/components/catalyst-ui/components/overlay/loading-overlay.tsx",
3155
+ basicusage: `
3156
+ const [visible, setVisible] = useState(false)
3157
+
3158
+ <LoadingOverlay visible={visible} />
3159
+ `,
3160
+ usage: null,
3161
+ premium: true,
3162
+ category: "Overlay",
3163
+ tags: ["overlay", "loading", "spinner"],
3164
+ features: ["Responsive", "TypeScript", "Accessible"],
3165
+ dependencies: ["lucide-react"],
3166
+ props: [
3167
+ { name: "visible", type: "boolean", default: "false" },
3168
+ { name: "loaderProps", type: "props", default: "null" },
3169
+ { name: "overlayProps", type: "props", default: "null" },
3170
+ { name: "className", type: "string", default: "null" },
3171
+ { name: "zIndex", type: "int", default: 1000 },
3172
+ ],
3173
+ props2: [],
3174
+ desc: "Check source file for usage. Loading overlay component with customizable spinner and backdrop",
3175
+ status: null,
3176
+ lastUpdated: null
3177
+ },
3178
+ {
3179
+ name: "Overlay Panel",
3180
+ value: "overlay-panel",
3181
+ importPath: "~/components/catalyst-ui/overlays/overlay-panel",
3182
+ path: "/components/catalyst-ui/components/overlay/overlay-panel.tsx",
3183
+ premium: true,
3184
+ source: `
3185
+
3186
+
3187
+
3188
+
3189
+
3190
+
3191
+ export type OverlayPanelProps = {
3192
+ children: React.ReactNode;
3193
+ content: React.ReactNode;
3194
+ className?: string;
3195
+ closeOnClickOutside?: boolean;
3196
+ showCloseButton?: boolean;
3197
+ placement?: "top" | "right" | "bottom" | "left";
3198
+ open?: boolean;
3199
+ onOpenChange?: (open: boolean) => void;
3200
+ };
3201
+
3202
+ export function OverlayPanel({
3203
+ children,
3204
+ content,
3205
+ className,
3206
+ closeOnClickOutside = true,
3207
+ showCloseButton = true,
3208
+ placement = "bottom",
3209
+ open,
3210
+ onOpenChange,
3211
+ }: OverlayPanelProps) {
3212
+ const [isOpen, setIsOpen] = React.useState(false);
3213
+ const controlled = open !== undefined;
3214
+ const panelOpen = controlled ? open : isOpen;
3215
+
3216
+ const handleOpenChange = (open: boolean) => {
3217
+ if (!controlled) {
3218
+ setIsOpen(open);
3219
+ }
3220
+ onOpenChange?.(open);
3221
+ };
3222
+
3223
+ const handleClose = () => {
3224
+ handleOpenChange(false);
3225
+ };
3226
+
3227
+ return (
3228
+ <Popover open={panelOpen} onOpenChange={handleOpenChange}>
3229
+ <PopoverTrigger asChild>{children}</PopoverTrigger>
3230
+ <PopoverContent
3231
+ className={cn("w-80 p-4", className)}
3232
+ align={placement}
3233
+ onCloseAutoFocus={(e) => e.preventDefault()}
3234
+ >
3235
+ <div className="relative">
3236
+ {showCloseButton && (
3237
+ <Button
3238
+ variant="ghost"
3239
+ size="icon"
3240
+ className="absolute right-0 top-0 h-6 w-6"
3241
+ onClick={handleClose}
3242
+ >
3243
+ <X className="h-4 w-4" />
3244
+ </Button>
3245
+ )}
3246
+ <div className={showCloseButton ? "pr-6" : ""}>
3247
+ {content}
3248
+ </div>
3249
+ </div>
3250
+ </PopoverContent>
3251
+ </Popover>
3252
+ );
3253
+ }`,
3254
+ basicusage: `
3255
+
3256
+
3257
+ function ExampleComponent() {
3258
+ return (
3259
+ <OverlayPanel
3260
+ content={
3261
+ <div className="space-y-4">
3262
+ <h3 className="font-semibold">Panel Title</h3>
3263
+ <p className="text-sm text-muted-foreground">
3264
+ This is the content of the overlay panel.
3265
+ </p>
3266
+ <Button size="sm">Action</Button>
3267
+ </div>
3268
+ }
3269
+ placement="right"
3270
+ showCloseButton={true}
3271
+ >
3272
+ <Button>Open Panel</Button>
3273
+ </OverlayPanel>
3274
+ );
3275
+ }`,
3276
+ usage: `
3277
+
3278
+ <OverlayPanel
3279
+ content={
3280
+ <div className="space-y-4">
3281
+ <h3 className="font-semibold">Basic Panel</h3>
3282
+ <p className="text-sm text-muted-foreground">
3283
+ This is a basic overlay panel with some content. You can put any
3284
+ content here including forms, images, or other components.
3285
+ </p>
3286
+ <Button size="sm">Action</Button>
3287
+ </div>
3288
+ }
3289
+ >
3290
+
3291
+ <OverlayPanel
3292
+ placement="right"
3293
+ content={
3294
+ <div className="space-y-4">
3295
+ <h3 className="font-semibold">Right Aligned</h3>
3296
+ <p className="text-sm text-muted-foreground">
3297
+ This panel appears on the right side of the trigger.
3298
+ </p>
3299
+ <div className="flex gap-2">
3300
+ <Button variant="outline" size="sm">
3301
+ Cancel
3302
+ </Button>
3303
+ <Button size="sm">Confirm</Button>
3304
+ </div>
3305
+ </div>
3306
+ }
3307
+ >
3308
+ <Button variant="outline">Right Panel</Button>
3309
+ </OverlayPanel>
3310
+
3311
+ <OverlayPanel
3312
+ showCloseButton={false}
3313
+ content={
3314
+ <div className="space-y-4">
3315
+ <h3 className="font-semibold">No Close Button</h3>
3316
+ <p className="text-sm text-muted-foreground">
3317
+ This panel doesn't have a close button. Click outside to close.
3318
+ </p>
3319
+ <Button variant="outline" size="sm" onClick={() => { }}>
3320
+ Close Programmatically
3321
+ </Button>
3322
+ </div>
3323
+ }
3324
+ >
3325
+ <Button variant="outline">No Close Button</Button>
3326
+ </OverlayPanel>
3327
+
3328
+ <OverlayPanel
3329
+ className="w-96"
3330
+ content={
3331
+ <div className="space-y-4">
3332
+ <h3 className="font-semibold">Wider Panel</h3>
3333
+ <p className="text-sm text-muted-foreground">
3334
+ This panel has custom width and more content area for larger
3335
+ content displays.
3336
+ </p>
3337
+ <div className="grid grid-cols-2 gap-2">
3338
+ <Button variant="outline" size="sm">
3339
+ Option 1
3340
+ </Button>
3341
+ <Button variant="outline" size="sm">
3342
+ Option 2
3343
+ </Button>
3344
+ <Button variant="outline" size="sm">
3345
+ Option 3
3346
+ </Button>
3347
+ <Button variant="outline" size="sm">
3348
+ Option 4
3349
+ </Button>
3350
+ </div>
3351
+ </div>
3352
+ }
3353
+ >
3354
+ <Button variant="outline">Wider Panel</Button>
3355
+ </OverlayPanel>
3356
+
3357
+ <OverlayPanel
3358
+ open={customOpen}
3359
+ onOpenChange={setCustomOpen}
3360
+ content={
3361
+ <div className="space-y-4">
3362
+ <h3 className="font-semibold">Controlled Panel</h3>
3363
+ <p className="text-sm text-muted-foreground">
3364
+ This panel is controlled by external state.
3365
+ </p>
3366
+ <Button
3367
+ variant="outline"
3368
+ size="sm"
3369
+ onClick={() => setCustomOpen(false)}
3370
+ >
3371
+ Close
3372
+ </Button>
3373
+ </div>
3374
+ }
3375
+ >
3376
+ <Button onClick={() => setCustomOpen(true)}>
3377
+ Controlled Panel
3378
+ </Button>
3379
+ </OverlayPanel>
3380
+
3381
+ <OverlayPanel
3382
+ placement="top"
3383
+ content={
3384
+ <div className="space-y-4">
3385
+ <h3 className="font-semibold">Top Panel</h3>
3386
+ <p className="text-sm text-muted-foreground">
3387
+ This panel appears above the trigger element.
3388
+ </p>
3389
+ <div className="flex gap-2">
3390
+ <Button variant="outline" size="sm">
3391
+ Cancel
3392
+ </Button>
3393
+ <Button size="sm">Save</Button>
3394
+ </div>
3395
+ </div>
3396
+ }
3397
+ >
3398
+ <Button variant="outline">Top Panel</Button>
3399
+ </OverlayPanel>
3400
+ `,
3401
+ usagePath: null,
3402
+ category: "Overlay",
3403
+ tags: ["ui", "components", "interactive"],
3404
+ features: ["Responsive", "TypeScript", "Accessible"],
3405
+ dependencies: [],
3406
+ props: [
3407
+ { "name": "children", "type": "React.ReactNode", "default": "undefined", "required": true },
3408
+ { "name": "content", "type": "React.ReactNode", "default": "undefined", "required": true },
3409
+ { "name": "className", "type": "string", "default": "undefined" },
3410
+ { "name": "closeOnClickOutside", "type": "boolean", "default": "true" },
3411
+ { "name": "showCloseButton", "type": "boolean", "default": "true" },
3412
+ { "name": "placement", "type": "'top' | 'right' | 'bottom' | 'left'", "default": "'bottom'" },
3413
+ { "name": "open", "type": "boolean", "default": "undefined" },
3414
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" }
3415
+ ],
3416
+ props2: [],
3417
+ desc: null,
3418
+ status: null,
3419
+ lastUpdated: null
3420
+ },
3421
+ {
3422
+ name: "modal integrations",
3423
+ value: "modal-integrations",
3424
+ importPath: "~/components/catalyst-ui/overlays/modal-integrations",
3425
+ path: "/components/catalyst-ui/components/overlay/modal-integrations.tsx",
3426
+ premium: true,
3427
+ source: null,
3428
+ usage: null,
3429
+ usagePath: null,
3430
+ category: "Overlay",
3431
+ tags: ["ui", "components", "interactive"],
3432
+ features: ["Responsive", "TypeScript", "Accessible"],
3433
+ dependencies: ["@radix-ui/react-aspect-ratio"],
3434
+ props: [
3435
+ { name: "className", type: "string", default: "null" },
3436
+ { name: "size", type: "sm | md | lg | xl", default: "md" },
3437
+ ],
3438
+ props2: [],
3439
+ desc: null,
3440
+ status: null,
3441
+ lastUpdated: null
3442
+ },
3443
+ {
3444
+ name: "confirm popup",
3445
+ value: "confirm-popup",
3446
+ importPath: "~/components/catalyst-ui/overlays/confirm-popup",
3447
+ path: "/components/catalyst-ui/components/overlay/confirm-popup.tsx",
3448
+ premium: true,
3449
+ source: ``,
3450
+ basicusage: `
3451
+
3452
+
3453
+ function ExampleComponent() {
3454
+ return (
3455
+ <ConfirmPopup
3456
+ title="Delete Item"
3457
+ message="Are you sure you want to delete this item?"
3458
+ onConfirm={() => console.log("Item deleted")}
3459
+ acceptLabel="Delete"
3460
+ rejectLabel="Cancel"
3461
+ variant="danger"
3462
+ >
3463
+ <Button variant="destructive">Delete Item</Button>
3464
+ </ConfirmPopup>
3465
+ );
3466
+ }
3467
+ `,
3468
+ usage: `
3469
+ <ConfirmPopup
3470
+ title="Delete Item"
3471
+ message="Are you sure you want to delete this item? This action cannot be undone."
3472
+ onConfirm={() => console.log("Item deleted")}
3473
+ acceptLabel="Delete"
3474
+ rejectLabel="Cancel"
3475
+ variant="danger"
3476
+ >
3477
+ <Button variant="destructive">Danger Variant</Button>
3478
+ </ConfirmPopup>
3479
+
3480
+ <ConfirmPopup
3481
+ title="Confirm Action"
3482
+ message="Do you want to proceed with this action?"
3483
+ onConfirm={() => console.log("Action confirmed")}
3484
+ variant="default"
3485
+ >
3486
+ <Button>Default Variant</Button>
3487
+ </ConfirmPopup>
3488
+
3489
+ <ConfirmPopup
3490
+ title="Warning"
3491
+ message="This action might have unintended consequences. Are you sure?"
3492
+ onConfirm={() => console.log("Warning action confirmed")}
3493
+ variant="warning"
3494
+ >
3495
+ <Button variant="outline">Warning Variant</Button>
3496
+ </ConfirmPopup>
3497
+
3498
+ <ConfirmPopup
3499
+ title="Information"
3500
+ message="You need to confirm this information before proceeding."
3501
+ onConfirm={() => console.log("Info action confirmed")}
3502
+ variant="info"
3503
+ >
3504
+ <Button variant="outline">Info Variant</Button>
3505
+ </ConfirmPopup>
3506
+
3507
+ <ConfirmPopup
3508
+ title="Success"
3509
+ message="Your action was completed successfully. Would you like to continue?"
3510
+ onConfirm={() => console.log("Success action confirmed")}
3511
+ variant="success"
3512
+ >
3513
+ <Button variant="default">Success Variant</Button>
3514
+ </ConfirmPopup>
3515
+
3516
+ <ConfirmPopup
3517
+ title="Controlled Example"
3518
+ message="This popup is controlled by external state."
3519
+ onConfirm={() => setShowSuccessPopup(false)}
3520
+ onCancel={() => setShowSuccessPopup(false)}
3521
+ open={showSuccessPopup}
3522
+ onOpenChange={setShowSuccessPopup}
3523
+ variant="success"
3524
+ >
3525
+ <Button onClick={() => setShowSuccessPopup(true)}>
3526
+ Controlled Popup
3527
+ </Button>
3528
+ </ConfirmPopup>
3529
+ `,
3530
+ usagePath: null,
3531
+ category: "Overlay",
3532
+ tags: ["ui", "components", "interactive"],
3533
+ features: ["Responsive", "TypeScript", "Accessible"],
3534
+ dependencies: ["@radix-ui/react-aspect-ratio"],
3535
+ props: [
3536
+ { "name": "children", "type": "React.ReactNode", "default": "undefined", "required": true },
3537
+ { "name": "title", "type": "string", "default": "undefined" },
3538
+ { "name": "message", "type": "string", "default": "undefined", "required": true },
3539
+ { "name": "onConfirm", "type": "() => void", "default": "undefined", "required": true },
3540
+ { "name": "onCancel", "type": "() => void", "default": "undefined" },
3541
+ { "name": "acceptLabel", "type": "string", "default": "\"Yes\"" },
3542
+ { "name": "rejectLabel", "type": "string", "default": "\"No\"" },
3543
+ { "name": "variant", "type": "\"default\" | \"danger\" | \"warning\" | \"info\" | \"success\"", "default": "\"default\"" },
3544
+ { "name": "open", "type": "boolean", "default": "undefined" },
3545
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" }
3546
+ ],
3547
+ props2: [],
3548
+ desc: null,
3549
+ status: null,
3550
+ lastUpdated: null
3551
+ },
3552
+ {
3553
+ name: "Popconfirm",
3554
+ value: "popconfirm",
3555
+ importPath: "~/components/catalyst-ui/overlays/popconfirm",
3556
+ path: "/components/catlyst-ui/components/overlay/popconfirm.tsx",
3557
+ premium: true,
3558
+ source: `
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+ const Popover = PopoverPrimitive.Root;
3571
+ const PopoverTrigger = PopoverPrimitive.Trigger;
3572
+
3573
+ const popconfirmVariants = cva(
3574
+ "z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",
3575
+ {
3576
+ variants: {
3577
+ variant: {
3578
+ default: "",
3579
+ warning: "border-yellow-200 bg-yellow-50 text-yellow-900 dark:border-yellow-800 dark:bg-yellow-950 dark:text-yellow-100",
3580
+ danger: "border-red-200 bg-red-50 text-red-900 dark:border-red-800 dark:bg-red-950 dark:text-red-100",
3581
+ info: "border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-100",
3582
+ success: "border-green-200 bg-green-50 text-green-900 dark:border-green-800 dark:bg-green-950 dark:text-green-100",
3583
+ },
3584
+ size: {
3585
+ default: "w-72",
3586
+ sm: "w-64",
3587
+ lg: "w-80",
3588
+ xl: "w-96",
3589
+ },
3590
+ },
3591
+ defaultVariants: {
3592
+ variant: "default",
3593
+ size: "default",
3594
+ },
3595
+ }
3596
+ );
3597
+
3598
+ const PopoverContent = React.forwardRef<
3599
+ React.ElementRef<typeof PopoverPrimitive.Content>,
3600
+ React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &
3601
+ VariantProps<typeof popconfirmVariants>
3602
+ >(({ className, variant, size, align = "center", sideOffset = 4, ...props }, ref) => (
3603
+ <PopoverPrimitive.Portal>
3604
+ <PopoverPrimitive.Content
3605
+ ref={ref}
3606
+ align={align}
3607
+ sideOffset={sideOffset}
3608
+ className={cn(popconfirmVariants({ variant, size }), className)}
3609
+ {...props}
3610
+ />
3611
+ </PopoverPrimitive.Portal>
3612
+ ));
3613
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
3614
+
3615
+ interface PopconfirmProps {
3616
+ children: React.ReactNode;
3617
+ title?: string;
3618
+ description?: string;
3619
+ okText?: string;
3620
+ cancelText?: string;
3621
+ variant?: "default" | "warning" | "danger" | "info" | "success";
3622
+ size?: "default" | "sm" | "lg" | "xl";
3623
+ placement?: "top" | "bottom" | "left" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
3624
+ onConfirm?: () => void | Promise<void>;
3625
+ onCancel?: () => void;
3626
+ disabled?: boolean;
3627
+ showIcon?: boolean;
3628
+ icon?: React.ReactNode;
3629
+ okButtonProps?: React.ComponentProps<typeof Button>;
3630
+ cancelButtonProps?: React.ComponentProps<typeof Button>;
3631
+ className?: string;
3632
+ contentClassName?: string;
3633
+ open?: boolean;
3634
+ onOpenChange?: (open: boolean) => void;
3635
+ trigger?: "click" | "hover" | "focus";
3636
+ }
3637
+
3638
+ const getIcon = (variant: PopconfirmProps["variant"]) => {
3639
+ switch (variant) {
3640
+ case "warning":
3641
+ return <AlertTriangle className="h-4 w-4 text-yellow-600 dark:text-yellow-400" />;
3642
+ case "danger":
3643
+ return <XCircle className="h-4 w-4 text-red-600 dark:text-red-400" />;
3644
+ case "info":
3645
+ return <Info className="h-4 w-4 text-blue-600 dark:text-blue-400" />;
3646
+ case "success":
3647
+ return <CheckCircle className="h-4 w-4 text-green-600 dark:text-green-400" />;
3648
+ default:
3649
+ return <AlertTriangle className="h-4 w-4 text-muted-foreground" />;
3650
+ }
3651
+ };
3652
+
3653
+ export function Popconfirm({
3654
+ children,
3655
+ title = "Are you sure?",
3656
+ description,
3657
+ okText = "Yes",
3658
+ cancelText = "No",
3659
+ variant = "default",
3660
+ size = "default",
3661
+ placement = "top",
3662
+ onConfirm,
3663
+ onCancel,
3664
+ disabled = false,
3665
+ showIcon = true,
3666
+ icon,
3667
+ okButtonProps = {},
3668
+ cancelButtonProps = {},
3669
+ className,
3670
+ contentClassName,
3671
+ open,
3672
+ onOpenChange,
3673
+ trigger = "click",
3674
+ ...props
3675
+ }: PopconfirmProps) {
3676
+ const [isOpen, setIsOpen] = React.useState(false);
3677
+ const [loading, setLoading] = React.useState(false);
3678
+
3679
+ const isControlled = open !== undefined;
3680
+ const openState = isControlled ? open : isOpen;
3681
+ const setOpenState = isControlled ? onOpenChange : setIsOpen;
3682
+
3683
+ const handleConfirm = async () => {
3684
+ if (onConfirm) {
3685
+ try {
3686
+ setLoading(true);
3687
+ await onConfirm();
3688
+ setOpenState?.(false);
3689
+ } catch (error) {
3690
+ console.error("Error in onConfirm:", error);
3691
+ } finally {
3692
+ setLoading(false);
3693
+ }
3694
+ } else {
3695
+ setOpenState?.(false);
3696
+ }
3697
+ };
3698
+
3699
+ const handleCancel = () => {
3700
+ if (onCancel) {
3701
+ onCancel();
3702
+ }
3703
+ setOpenState?.(false);
3704
+ };
3705
+
3706
+ const sideMap = {
3707
+ "top": "top",
3708
+ "bottom": "bottom",
3709
+ "left": "left",
3710
+ "right": "right",
3711
+ "top-start": "top",
3712
+ "top-end": "top",
3713
+ "bottom-start": "bottom",
3714
+ "bottom-end": "bottom",
3715
+ "left-start": "left",
3716
+ "left-end": "left",
3717
+ "right-start": "right",
3718
+ "right-end": "right",
3719
+ } as const;
3720
+
3721
+ const alignMap = {
3722
+ "top": "center",
3723
+ "bottom": "center",
3724
+ "left": "center",
3725
+ "right": "center",
3726
+ "top-start": "start",
3727
+ "top-end": "end",
3728
+ "bottom-start": "start",
3729
+ "bottom-end": "end",
3730
+ "left-start": "start",
3731
+ "left-end": "end",
3732
+ "right-start": "start",
3733
+ "right-end": "end",
3734
+ } as const;
3735
+
3736
+ const triggerProps = React.useMemo(() => {
3737
+ const props: any = {};
3738
+
3739
+ if (trigger === "hover") {
3740
+ props.onMouseEnter = () => setOpenState?.(true);
3741
+ props.onMouseLeave = () => setOpenState?.(false);
3742
+ } else if (trigger === "focus") {
3743
+ props.onFocus = () => setOpenState?.(true);
3744
+ props.onBlur = () => setOpenState?.(false);
3745
+ }
3746
+
3747
+ return props;
3748
+ }, [trigger, setOpenState]);
3749
+
3750
+ const displayIcon = icon || (showIcon ? getIcon(variant) : null);
3751
+ const okVariant = variant === "danger" ? "destructive" : "default";
3752
+
3753
+ return (
3754
+ <Popover open={openState} onOpenChange={setOpenState}>
3755
+ <PopoverTrigger asChild disabled={disabled} {...triggerProps}>
3756
+ <span className={cn("cursor-pointer", disabled && "cursor-not-allowed opacity-50", className)}>
3757
+ {children}
3758
+ </span>
3759
+ </PopoverTrigger>
3760
+ <PopoverContent
3761
+ variant={variant}
3762
+ size={size}
3763
+ side={sideMap[placement]}
3764
+ align={alignMap[placement]}
3765
+ className={contentClassName}
3766
+ >
3767
+ <div className="space-y-3">
3768
+ <div className="flex items-start gap-3">
3769
+ {displayIcon && (
3770
+ <div className="flex-shrink-0 mt-0.5">
3771
+ {displayIcon}
3772
+ </div>
3773
+ )}
3774
+ <div className="space-y-1">
3775
+ <div className="font-medium text-sm leading-5">
3776
+ {title}
3777
+ </div>
3778
+ {description && (
3779
+ <div className="text-sm text-muted-foreground leading-5">
3780
+ {description}
3781
+ </div>
3782
+ )}
3783
+ </div>
3784
+ </div>
3785
+ <div className="flex items-center justify-end gap-2">
3786
+ <Button
3787
+ variant="outline"
3788
+ size="sm"
3789
+ onClick={handleCancel}
3790
+ disabled={loading}
3791
+ {...cancelButtonProps}
3792
+ >
3793
+ {cancelText}
3794
+ </Button>
3795
+ <Button
3796
+ variant={okVariant}
3797
+ size="sm"
3798
+ onClick={handleConfirm}
3799
+ loading={loading}
3800
+ {...okButtonProps}
3801
+ >
3802
+ {okText}
3803
+ </Button>
3804
+ </div>
3805
+ </div>
3806
+ </PopoverContent>
3807
+ </Popover>
3808
+ );
3809
+ }
3810
+
3811
+ Popconfirm.displayName = "Popconfirm";
3812
+ `,
3813
+ category: "Overlay",
3814
+ tags: ["utils", "auth", "user auth"],
3815
+ features: ["utils", "auth", "user auth"],
3816
+ dependencies: ["@radix-ui/react-popover", "class-variance-authority", "lucide-react"],
3817
+ usage: `
3818
+ const [messages, setMessages] = useState<string[]>([]);
3819
+
3820
+ const addMessage = (message: string) => {
3821
+ setMessages(prev => [...prev, message]);
3822
+ setTimeout(() => {
3823
+ setMessages(prev => prev.slice(1));
3824
+ }, 3000);
3825
+ };
3826
+
3827
+ const handleDelete = () => {
3828
+ addMessage("Item deleted successfully!");
3829
+ };
3830
+
3831
+ const handleEdit = () => {
3832
+ addMessage("Edit confirmed!");
3833
+ };
3834
+
3835
+ const handleDownload = () => {
3836
+ addMessage("Download started!");
3837
+ };
3838
+
3839
+ const handleLogout = () => {
3840
+ addMessage("Logged out successfully!");
3841
+ };
3842
+
3843
+ const handleAsyncAction = async () => {
3844
+ await new Promise(resolve => setTimeout(resolve, 2000));
3845
+ addMessage("Async action completed!");
3846
+ };
3847
+
3848
+ Basic Examples
3849
+ <Popconfirm
3850
+ title="Delete this item?"
3851
+ description="This action cannot be undone."
3852
+ onConfirm={handleDelete}
3853
+ >
3854
+ <Button variant="destructive" size="sm">
3855
+ <Trash2 className="h-4 w-4 mr-2" />
3856
+ Delete Item
3857
+ </Button>
3858
+ </Popconfirm>
3859
+ <Popconfirm
3860
+ title="Save changes?"
3861
+ onConfirm={handleEdit}
3862
+ >
3863
+ <Button variant="outline" size="sm">
3864
+ <Edit className="h-4 w-4 mr-2" />
3865
+ Edit
3866
+ </Button>
3867
+ </Popconfirm>
3868
+ <Popconfirm
3869
+ title="Download file?"
3870
+ description="File will be downloaded to your default location."
3871
+ okText="Download"
3872
+ cancelText="Cancel"
3873
+ onConfirm={handleDownload}
3874
+ >
3875
+ <Button size="sm">
3876
+ <Download className="h-4 w-4 mr-2" />
3877
+ Download
3878
+ </Button>
3879
+ </Popconfirm>
3880
+ Variants
3881
+ <Popconfirm
3882
+ variant="warning"
3883
+ title="Warning Action"
3884
+ description="This action requires your attention."
3885
+ onConfirm={() => addMessage("Warning action confirmed")}
3886
+ >
3887
+ <Button variant="outline" size="sm">
3888
+ Warning Style
3889
+ </Button>
3890
+ </Popconfirm>
3891
+ <Popconfirm
3892
+ variant="danger"
3893
+ title="Dangerous Action"
3894
+ description="This action is irreversible."
3895
+ okText="Delete"
3896
+ onConfirm={() => addMessage("Dangerous action confirmed")}
3897
+ >
3898
+ <Button variant="destructive" size="sm">
3899
+ Danger Style
3900
+ </Button>
3901
+ </Popconfirm>
3902
+ <Popconfirm
3903
+ variant="info"
3904
+ title="Information"
3905
+ description="This will update your settings."
3906
+ okText="Update"
3907
+ onConfirm={() => addMessage("Info action confirmed")}
3908
+ >
3909
+ <Button variant="outline" size="sm">
3910
+ Info Style
3911
+ </Button>
3912
+ </Popconfirm>
3913
+ <Popconfirm
3914
+ variant="success"
3915
+ title="Success Action"
3916
+ description="This will complete the process."
3917
+ okText="Complete"
3918
+ onConfirm={() => addMessage("Success action confirmed")}
3919
+ >
3920
+ <Button size="sm">
3921
+ Success Style
3922
+ </Button>
3923
+ </Popconfirm>
3924
+ Placements
3925
+ <Popconfirm
3926
+ title="Top placement"
3927
+ placement="top"
3928
+ onConfirm={() => addMessage("Top confirmed")}
3929
+ >
3930
+ <Button variant="outline" size="sm">Top</Button>
3931
+ </Popconfirm>
3932
+
3933
+ <Popconfirm
3934
+ title="Bottom placement"
3935
+ placement="bottom"
3936
+ onConfirm={() => addMessage("Bottom confirmed")}
3937
+ >
3938
+ <Button variant="outline" size="sm">Bottom</Button>
3939
+ </Popconfirm>
3940
+
3941
+ <Popconfirm
3942
+ title="Left placement"
3943
+ placement="left"
3944
+ onConfirm={() => addMessage("Left confirmed")}
3945
+ >
3946
+ <Button variant="outline" size="sm">Left</Button>
3947
+ </Popconfirm>
3948
+
3949
+ <Popconfirm
3950
+ title="Right placement"
3951
+ placement="right"
3952
+ onConfirm={() => addMessage("Right confirmed")}
3953
+ >
3954
+ <Button variant="outline" size="sm">Right</Button>
3955
+ </Popconfirm>
3956
+ <Popconfirm
3957
+ title="Top Start"
3958
+ placement="top-start"
3959
+ onConfirm={() => addMessage("Top start confirmed")}
3960
+ >
3961
+ <Button variant="outline" size="sm">Top Start</Button>
3962
+ </Popconfirm>
3963
+
3964
+ <Popconfirm
3965
+ title="Top End"
3966
+ placement="top-end"
3967
+ onConfirm={() => addMessage("Top end confirmed")}
3968
+ >
3969
+ <Button variant="outline" size="sm">Top End</Button>
3970
+ </Popconfirm>
3971
+ Sizes
3972
+ <Popconfirm
3973
+ size="sm"
3974
+ title="Small size"
3975
+ description="This is a smaller popconfirm."
3976
+ onConfirm={() => addMessage("Small confirmed")}
3977
+ >
3978
+ <Button variant="outline" size="sm">Small</Button>
3979
+ </Popconfirm>
3980
+ <Popconfirm
3981
+ size="default"
3982
+ title="Default size"
3983
+ description="This is the default popconfirm size."
3984
+ onConfirm={() => addMessage("Default confirmed")}
3985
+ >
3986
+ <Button variant="outline" size="sm">Default</Button>
3987
+ </Popconfirm>
3988
+ <Popconfirm
3989
+ size="lg"
3990
+ title="Large size"
3991
+ description="This is a larger popconfirm with more space for content."
3992
+ onConfirm={() => addMessage("Large confirmed")}
3993
+ >
3994
+ <Button variant="outline" size="sm">Large</Button>
3995
+ </Popconfirm>
3996
+ <Popconfirm
3997
+ size="xl"
3998
+ title="Extra large size"
3999
+ description="This is an extra large popconfirm with even more space for longer descriptions and content."
4000
+ onConfirm={() => addMessage("XL confirmed")}
4001
+ >
4002
+ <Button variant="outline" size="sm">Extra Large</Button>
4003
+ </Popconfirm>
4004
+ Custom Features
4005
+ <Popconfirm
4006
+ title="Custom Icon"
4007
+ description="This uses a custom heart icon."
4008
+ icon={<Heart className="h-4 w-4 text-red-500" />}
4009
+ onConfirm={() => addMessage("Custom icon confirmed")}
4010
+ >
4011
+ <Button variant="outline" size="sm">
4012
+ <Heart className="h-4 w-4 mr-2" />
4013
+ Custom Icon
4014
+ </Button>
4015
+ </Popconfirm>
4016
+ <Popconfirm
4017
+ title="No Icon"
4018
+ description="This popconfirm has no icon."
4019
+ showIcon={false}
4020
+ onConfirm={() => addMessage("No icon confirmed")}
4021
+ >
4022
+ <Button variant="outline" size="sm">No Icon</Button>
4023
+ </Popconfirm>
4024
+ <Popconfirm
4025
+ title="Async Action"
4026
+ description="This will take a few seconds to complete."
4027
+ onConfirm={handleAsyncAction}
4028
+ okText="Process"
4029
+ >
4030
+ <Button size="sm">
4031
+ <Settings className="h-4 w-4 mr-2" />
4032
+ Async Action
4033
+ </Button>
4034
+ </Popconfirm>
4035
+ <Popconfirm
4036
+ title="Custom Button Styles"
4037
+ description="Custom styled confirm and cancel buttons."
4038
+ okText="Proceed"
4039
+ cancelText="Abort"
4040
+ okButtonProps={{
4041
+ variant: "default",
4042
+ className: "bg-blue-600 hover:bg-blue-700"
4043
+ }}
4044
+ cancelButtonProps={{
4045
+ variant: "outline",
4046
+ className: "border-red-200 text-red-600 hover:bg-red-50"
4047
+ }}
4048
+ onConfirm={() => addMessage("Custom buttons confirmed")}
4049
+ >
4050
+ <Button variant="outline" size="sm">Custom Buttons</Button>
4051
+ </Popconfirm>
4052
+ Interactive Examples
4053
+ <Popconfirm
4054
+ variant="danger"
4055
+ title="Sign out of your account?"
4056
+ description="You will need to sign in again to access your account."
4057
+ okText="Sign Out"
4058
+ cancelText="Stay"
4059
+ onConfirm={handleLogout}
4060
+ >
4061
+ <Button variant="outline" size="sm" className="w-full">
4062
+ <LogOut className="h-4 w-4 mr-2" />
4063
+ Sign Out
4064
+ </Button>
4065
+ </Popconfirm>
4066
+ <Popconfirm
4067
+ title="Delete selected items?"
4068
+ description="3 items will be permanently deleted."
4069
+ variant="warning"
4070
+ okText="Delete All"
4071
+ onConfirm={() => addMessage("3 items deleted")}
4072
+ >
4073
+ <Button variant="destructive" size="sm" className="w-full">
4074
+ <Trash2 className="h-4 w-4 mr-2" />
4075
+ Delete Selected (3)
4076
+ </Button>
4077
+ </Popconfirm>
4078
+ <Popconfirm
4079
+ title="Archive this conversation?"
4080
+ description="The conversation will be moved to your archive."
4081
+ variant="info"
4082
+ okText="Archive"
4083
+ onConfirm={() => addMessage("Conversation archived")}
4084
+ >
4085
+ <Button variant="outline" size="sm" className="w-full">
4086
+ Archive Chat
4087
+ </Button>
4088
+ </Popconfirm>
4089
+ Usage Examples
4090
+ <Popconfirm
4091
+ title="Are you sure?"
4092
+ description="This action cannot be undone."
4093
+ onConfirm={handleConfirm}
4094
+ onCancel={handleCancel}
4095
+ >
4096
+ <Button>Delete</Button>
4097
+ </Popconfirm>
4098
+ <Popconfirm
4099
+ variant="danger"
4100
+ title="Delete item?"
4101
+ description="This will permanently delete the item."
4102
+ okText="Delete"
4103
+ cancelText="Keep"
4104
+ placement="top-start"
4105
+ size="lg"
4106
+ onConfirm={handleDelete}
4107
+ >
4108
+ <Button variant="destructive">Delete</Button>
4109
+ </Popconfirm> `,
4110
+ usagePath: null,
4111
+ props: [
4112
+ { "name": "children", "type": "React.ReactNode", "default": "undefined", "required": true },
4113
+ { "name": "title", "type": "string", "default": "\"Are you sure?\"" },
4114
+ { "name": "description", "type": "string", "default": "undefined" },
4115
+ { "name": "okText", "type": "string", "default": "\"Yes\"" },
4116
+ { "name": "cancelText", "type": "string", "default": "\"No\"" },
4117
+ { "name": "variant", "type": "\"default\" | \"warning\" | \"danger\" | \"info\" | \"success\"", "default": "\"default\"" },
4118
+ { "name": "size", "type": "\"default\" | \"sm\" | \"lg\" | \"xl\"", "default": "\"default\"" },
4119
+ { "name": "placement", "type": "\"top\" | \"bottom\" | \"left\" | \"right\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"right-start\" | \"right-end\"", "default": "\"top\"" },
4120
+ { "name": "onConfirm", "type": "() => void | Promise<void>", "default": "undefined" },
4121
+ { "name": "onCancel", "type": "() => void", "default": "undefined" },
4122
+ { "name": "disabled", "type": "boolean", "default": "false" },
4123
+ { "name": "showIcon", "type": "boolean", "default": "true" },
4124
+ { "name": "icon", "type": "React.ReactNode", "default": "undefined" },
4125
+ { "name": "okButtonProps", "type": "React.ComponentProps<typeof Button>", "default": "{}" },
4126
+ { "name": "cancelButtonProps", "type": "React.ComponentProps<typeof Button>", "default": "{}" },
4127
+ { "name": "className", "type": "string", "default": "undefined" },
4128
+ { "name": "contentClassName", "type": "string", "default": "undefined" },
4129
+ { "name": "open", "type": "boolean", "default": "undefined" },
4130
+ { "name": "onOpenChange", "type": "(open: boolean) => void", "default": "undefined" },
4131
+ { "name": "trigger", "type": "\"click\" | \"hover\" | \"focus\"", "default": "\"click\"" }
4132
+ ],
4133
+ desc: null,
4134
+ customize: null
4135
+ },
4136
+ ];