@catalystsoftware/ui 1.0.11 → 1.0.14

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 (1840) hide show
  1. package/README.md +309 -0
  2. package/dist/components/catalyst-ui/background/animated-beam.tsx +189 -0
  3. package/dist/components/catalyst-ui/background/background-gradient.tsx +77 -0
  4. package/dist/components/catalyst-ui/background/background-paths.tsx +132 -0
  5. package/dist/components/catalyst-ui/background/canvas-fractal-grid.tsx +1862 -0
  6. package/dist/components/catalyst-ui/background/distorted-glass.tsx +0 -0
  7. package/dist/components/catalyst-ui/background/dot-pattern.tsx +169 -0
  8. package/dist/components/catalyst-ui/background/dotted-glow-background.tsx +342 -0
  9. package/dist/components/catalyst-ui/background/dotted-map.tsx +193 -0
  10. package/dist/components/catalyst-ui/background/dynamic-rain.tsx +216 -0
  11. package/dist/components/catalyst-ui/background/flickering-grid.tsx +211 -0
  12. package/dist/components/catalyst-ui/background/fractal-grid.tsx +666 -0
  13. package/dist/components/catalyst-ui/background/hexagon-background.tsx +102 -0
  14. package/dist/components/catalyst-ui/background/index.ts +25 -0
  15. package/dist/components/catalyst-ui/background/interactive-grid-pattern.tsx +90 -0
  16. package/dist/components/catalyst-ui/background/lamp.tsx +105 -0
  17. package/dist/components/catalyst-ui/background/orbiting-circles.tsx +76 -0
  18. package/dist/components/catalyst-ui/background/particles.tsx +286 -0
  19. package/dist/components/catalyst-ui/background/progressive-blur.tsx +113 -0
  20. package/dist/components/catalyst-ui/background/retro-grid-background.tsx +104 -0
  21. package/dist/components/catalyst-ui/background/smoke.tsx +117 -0
  22. package/dist/components/catalyst-ui/background/sparkles.tsx +435 -0
  23. package/dist/components/catalyst-ui/background/stripe-bg-guides.tsx +260 -0
  24. package/dist/components/catalyst-ui/background/texture-overlay.tsx +207 -0
  25. package/dist/components/catalyst-ui/background/vortex.tsx +257 -0
  26. package/dist/components/catalyst-ui/buttons/animated-theme-toggler.tsx +90 -0
  27. package/dist/components/catalyst-ui/buttons/attract-button.tsx +167 -0
  28. package/dist/components/catalyst-ui/buttons/bg-animate-button.tsx +249 -0
  29. package/dist/components/catalyst-ui/buttons/button-group.tsx +203 -0
  30. package/dist/components/catalyst-ui/buttons/command-button.tsx +109 -0
  31. package/dist/components/catalyst-ui/buttons/copy-button.tsx +117 -0
  32. package/dist/components/catalyst-ui/buttons/copy-text.tsx +347 -0
  33. package/dist/components/catalyst-ui/buttons/export-file.tsx +262 -0
  34. package/dist/components/catalyst-ui/buttons/flip-button.tsx +106 -0
  35. package/dist/components/catalyst-ui/buttons/float-button.tsx +197 -0
  36. package/dist/components/catalyst-ui/buttons/form-button.tsx +90 -0
  37. package/dist/components/catalyst-ui/buttons/hold-button.tsx +208 -0
  38. package/dist/components/catalyst-ui/buttons/index.ts +35 -0
  39. package/dist/components/catalyst-ui/buttons/input-button.tsx +192 -0
  40. package/dist/components/catalyst-ui/buttons/liquid-button.tsx +53 -0
  41. package/dist/components/catalyst-ui/buttons/particle-button.tsx +193 -0
  42. package/dist/components/catalyst-ui/buttons/rating-button-1.tsx +243 -0
  43. package/dist/components/catalyst-ui/buttons/rating-button.tsx +226 -0
  44. package/dist/components/catalyst-ui/buttons/ripple-button.tsx +146 -0
  45. package/dist/components/catalyst-ui/buttons/scroll-to-top.tsx +47 -0
  46. package/dist/components/catalyst-ui/buttons/shimmer-button.tsx +84 -0
  47. package/dist/components/catalyst-ui/buttons/slide-button.tsx +90 -0
  48. package/dist/components/catalyst-ui/buttons/social-button.tsx +194 -0
  49. package/dist/components/catalyst-ui/buttons/split-button.tsx +121 -0
  50. package/dist/components/catalyst-ui/buttons/switch-button.tsx +316 -0
  51. package/dist/components/catalyst-ui/buttons/text-reveal-button.tsx +65 -0
  52. package/dist/components/catalyst-ui/buttons/theme-switcher.tsx +102 -0
  53. package/dist/components/catalyst-ui/buttons/theme-toggle-button.tsx +312 -0
  54. package/dist/components/catalyst-ui/buttons/toggle-button.tsx +125 -0
  55. package/dist/components/catalyst-ui/buttons/tooltip-button.tsx +24 -0
  56. package/dist/components/catalyst-ui/charts/area-chart.tsx +989 -0
  57. package/dist/components/catalyst-ui/charts/bar-chart.tsx +887 -0
  58. package/dist/components/catalyst-ui/charts/bar-list.tsx +171 -0
  59. package/dist/components/catalyst-ui/charts/category-bar.tsx +221 -0
  60. package/dist/components/catalyst-ui/charts/chart-utils.ts +168 -0
  61. package/dist/components/catalyst-ui/charts/combo-chart.tsx +1179 -0
  62. package/dist/components/catalyst-ui/charts/donut-chart.tsx +337 -0
  63. package/dist/components/catalyst-ui/charts/index.ts +14 -0
  64. package/dist/components/catalyst-ui/charts/line-chart.tsx +907 -0
  65. package/dist/components/catalyst-ui/charts/spark-chart.tsx +328 -0
  66. package/dist/components/catalyst-ui/chat/chat.tsx +491 -0
  67. package/dist/components/catalyst-ui/code/code-block-section.tsx +939 -0
  68. package/dist/components/catalyst-ui/code/code-comparison.tsx +221 -0
  69. package/dist/components/catalyst-ui/code/code-comparison1.tsx +203 -0
  70. package/dist/components/catalyst-ui/code/code-editor.tsx +318 -0
  71. package/dist/components/catalyst-ui/code/code-section.tsx +62 -0
  72. package/dist/components/catalyst-ui/code/css-section.tsx +142 -0
  73. package/dist/components/catalyst-ui/code/html-section.tsx +102 -0
  74. package/dist/components/catalyst-ui/code/index.ts +22 -0
  75. package/dist/components/catalyst-ui/code/installCode-section.tsx +181 -0
  76. package/dist/components/catalyst-ui/code/installCodeArray-section.tsx +186 -0
  77. package/dist/components/catalyst-ui/code/installGithub-section.tsx +119 -0
  78. package/dist/components/catalyst-ui/code/json-section.tsx +253 -0
  79. package/dist/components/catalyst-ui/code/props-section.tsx +605 -0
  80. package/dist/components/catalyst-ui/code/sandbox.tsx +398 -0
  81. package/dist/components/catalyst-ui/code/sandbox2.tsx +3194 -0
  82. package/dist/components/catalyst-ui/code/terminal-1.tsx +119 -0
  83. package/dist/components/catalyst-ui/code/terminal-code-section.tsx +395 -0
  84. package/dist/components/catalyst-ui/code/terminal.tsx +315 -0
  85. package/dist/components/catalyst-ui/code/tsx-section.tsx +176 -0
  86. package/dist/components/catalyst-ui/comboboxes/choicebox.tsx +203 -0
  87. package/dist/components/catalyst-ui/comboboxes/combobox-0.tsx +556 -0
  88. package/dist/components/catalyst-ui/comboboxes/combobox-1.tsx +146 -0
  89. package/dist/components/catalyst-ui/comboboxes/combobox2.tsx +255 -0
  90. package/dist/components/catalyst-ui/comboboxes/emoji-picker.tsx +486 -0
  91. package/dist/components/catalyst-ui/comboboxes/filter-combobox.tsx +46 -0
  92. package/dist/components/catalyst-ui/comboboxes/index.ts +9 -0
  93. package/dist/components/catalyst-ui/comboboxes/multi-combobox.tsx +169 -0
  94. package/dist/components/catalyst-ui/comboboxes/nested-combobox.tsx +211 -0
  95. package/dist/components/catalyst-ui/commands/command-2.tsx +126 -0
  96. package/dist/components/catalyst-ui/commands/command-w-combobox.tsx +108 -0
  97. package/dist/components/catalyst-ui/commands/index.ts +6 -0
  98. package/dist/components/catalyst-ui/commands/nested-command-dialog.tsx +429 -0
  99. package/dist/components/catalyst-ui/commands/nested-command.tsx +133 -0
  100. package/dist/components/catalyst-ui/core/components/3d-card.tsx +144 -0
  101. package/dist/components/catalyst-ui/core/components/3d-card1.tsx +196 -0
  102. package/dist/components/catalyst-ui/core/components/android.tsx +105 -0
  103. package/dist/components/catalyst-ui/core/components/apple-cards-carousel.tsx +376 -0
  104. package/dist/components/catalyst-ui/core/components/apple-dock.tsx +280 -0
  105. package/dist/components/catalyst-ui/core/components/badge-1.tsx +117 -0
  106. package/dist/components/catalyst-ui/core/components/card-flip.tsx +204 -0
  107. package/dist/components/catalyst-ui/core/components/card-stack.tsx +224 -0
  108. package/dist/components/catalyst-ui/core/components/chat-bubble.tsx +198 -0
  109. package/dist/components/catalyst-ui/core/components/collapsible-section.tsx +92 -0
  110. package/dist/components/catalyst-ui/core/components/comment.tsx +812 -0
  111. package/dist/components/catalyst-ui/core/components/counter.tsx +77 -0
  112. package/dist/components/catalyst-ui/core/components/credit-card.tsx +406 -0
  113. package/dist/components/catalyst-ui/core/components/device-mockup.tsx +436 -0
  114. package/dist/components/catalyst-ui/core/components/embed.tsx +0 -0
  115. package/dist/components/catalyst-ui/core/components/faq.tsx +166 -0
  116. package/dist/components/catalyst-ui/core/components/feed.tsx +741 -0
  117. package/dist/components/catalyst-ui/core/components/fixed-marker.tsx +232 -0
  118. package/dist/components/catalyst-ui/core/components/for.tsx +138 -0
  119. package/dist/components/catalyst-ui/core/components/glowing-effect-card.tsx +273 -0
  120. package/dist/components/catalyst-ui/core/components/iframe.tsx +175 -0
  121. package/dist/components/catalyst-ui/core/components/in-place.tsx +285 -0
  122. package/dist/components/catalyst-ui/core/components/iphone-15-pro.tsx +129 -0
  123. package/dist/components/catalyst-ui/core/components/macbook-scroll.tsx +702 -0
  124. package/dist/components/catalyst-ui/core/components/magic-card.tsx +102 -0
  125. package/dist/components/catalyst-ui/core/components/message-dock.tsx +61 -0
  126. package/dist/components/catalyst-ui/core/components/meter.tsx +123 -0
  127. package/dist/components/catalyst-ui/core/components/number-ticker.tsx +67 -0
  128. package/dist/components/catalyst-ui/core/components/panel.tsx +286 -0
  129. package/dist/components/catalyst-ui/core/components/pill-1.tsx +166 -0
  130. package/dist/components/catalyst-ui/core/components/qrcode.tsx +1153 -0
  131. package/dist/components/catalyst-ui/core/components/safari-device.tsx +197 -0
  132. package/dist/components/catalyst-ui/core/components/sliding-number.tsx +235 -0
  133. package/dist/components/catalyst-ui/core/components/spoiler.tsx +161 -0
  134. package/dist/components/catalyst-ui/core/components/stat.tsx +572 -0
  135. package/dist/components/catalyst-ui/core/components/sticky.tsx +214 -0
  136. package/dist/components/catalyst-ui/core/components/tag.tsx +551 -0
  137. package/dist/components/catalyst-ui/core/components/tweet-card-1.tsx +164 -0
  138. package/dist/components/catalyst-ui/core/components/tweet-card.tsx +229 -0
  139. package/dist/components/catalyst-ui/core/data-display/barcode.tsx +1007 -0
  140. package/dist/components/catalyst-ui/core/data-display/data-list.tsx +344 -0
  141. package/dist/components/catalyst-ui/core/data-display/descriptionLists.tsx +205 -0
  142. package/dist/components/catalyst-ui/core/data-display/diff.tsx +186 -0
  143. package/dist/components/catalyst-ui/core/data-display/heat-map-calendar.tsx +361 -0
  144. package/dist/components/catalyst-ui/core/data-display/order-list.tsx +0 -0
  145. package/dist/components/catalyst-ui/core/data-display/stats-1.tsx +129 -0
  146. package/dist/components/catalyst-ui/core/data-display/stats.tsx +139 -0
  147. package/dist/components/catalyst-ui/core/data-display/ticker.tsx +179 -0
  148. package/dist/components/catalyst-ui/core/data-display/timeline-1.tsx +452 -0
  149. package/dist/components/catalyst-ui/core/data-display/timeline2.tsx +240 -0
  150. package/dist/components/catalyst-ui/core/data-display/tracker.tsx +209 -0
  151. package/dist/components/catalyst-ui/core/data-display/transfer-list.tsx +278 -0
  152. package/dist/components/catalyst-ui/core/data-display/tremor-tracker.tsx +103 -0
  153. package/dist/components/catalyst-ui/core/demos/FAQ-demo.tsx +41 -0
  154. package/dist/components/catalyst-ui/core/demos/action-panels-demo.tsx +64 -0
  155. package/dist/components/catalyst-ui/core/demos/banner-demo.tsx +100 -0
  156. package/dist/components/catalyst-ui/core/demos/bentoGrid-demo.tsx +191 -0
  157. package/dist/components/catalyst-ui/core/demos/blog-demo.tsx +68 -0
  158. package/dist/components/catalyst-ui/core/demos/blogEditor-demo.tsx +10 -0
  159. package/dist/components/catalyst-ui/core/demos/blogPost-demo.tsx +41 -0
  160. package/dist/components/catalyst-ui/core/demos/button-groups-demo.tsx +111 -0
  161. package/dist/components/catalyst-ui/core/demos/cardHeadings-demo.tsx +65 -0
  162. package/dist/components/catalyst-ui/core/demos/catch-all.tsx +414 -0
  163. package/dist/components/catalyst-ui/core/demos/contact-demo.tsx +87 -0
  164. package/dist/components/catalyst-ui/core/demos/content-demo.tsx +52 -0
  165. package/dist/components/catalyst-ui/core/demos/cta-demo.tsx +64 -0
  166. package/dist/components/catalyst-ui/core/demos/descriptionLists-demo.tsx +109 -0
  167. package/dist/components/catalyst-ui/core/demos/edit-product-page-demo.tsx +11 -0
  168. package/dist/components/catalyst-ui/core/demos/empty-state-demo.tsx +37 -0
  169. package/dist/components/catalyst-ui/core/demos/feature-demo.tsx +104 -0
  170. package/dist/components/catalyst-ui/core/demos/feeds-demo.tsx +26 -0
  171. package/dist/components/catalyst-ui/core/demos/flyoutMenu-demo.tsx +156 -0
  172. package/dist/components/catalyst-ui/core/demos/footer-demo.tsx +62 -0
  173. package/dist/components/catalyst-ui/core/demos/form-layouts-demo.tsx +378 -0
  174. package/dist/components/catalyst-ui/core/demos/gridLists-demo.tsx +47 -0
  175. package/dist/components/catalyst-ui/core/demos/header-demo.tsx +0 -0
  176. package/dist/components/catalyst-ui/core/demos/header2-demo.tsx +77 -0
  177. package/dist/components/catalyst-ui/core/demos/headers-demo.tsx +659 -0
  178. package/dist/components/catalyst-ui/core/demos/hero-demo.tsx +75 -0
  179. package/dist/components/catalyst-ui/core/demos/input-groups-demo.tsx +75 -0
  180. package/dist/components/catalyst-ui/core/demos/landingPage-demo.tsx +222 -0
  181. package/dist/components/catalyst-ui/core/demos/list-demo.tsx +442 -0
  182. package/dist/components/catalyst-ui/core/demos/logoClouds-demo.tsx +36 -0
  183. package/dist/components/catalyst-ui/core/demos/mediaObject-demo.tsx +219 -0
  184. package/dist/components/catalyst-ui/core/demos/multiColumnLayouts-demo.tsx +42 -0
  185. package/dist/components/catalyst-ui/core/demos/newsLetter-demo.tsx +51 -0
  186. package/dist/components/catalyst-ui/core/demos/pageHeading-demo.tsx +55 -0
  187. package/dist/components/catalyst-ui/core/demos/pricing-demo.tsx +114 -0
  188. package/dist/components/catalyst-ui/core/demos/radio-group-demo.tsx +315 -0
  189. package/dist/components/catalyst-ui/core/demos/settingsScreen-demo.tsx +95 -0
  190. package/dist/components/catalyst-ui/core/demos/sidebar-demo.tsx +40 -0
  191. package/dist/components/catalyst-ui/core/demos/stackedLayout-demo.tsx +17 -0
  192. package/dist/components/catalyst-ui/core/demos/stackedLists-demo.tsx +60 -0
  193. package/dist/components/catalyst-ui/core/demos/stats-demo.tsx +99 -0
  194. package/dist/components/catalyst-ui/core/demos/team-demo.tsx +35 -0
  195. package/dist/components/catalyst-ui/core/demos/testimonial-demo.tsx +33 -0
  196. package/dist/components/catalyst-ui/core/demos/toggle-demo-demo.tsx +414 -0
  197. package/dist/components/catalyst-ui/core/feedback/alert-variant.tsx +101 -0
  198. package/dist/components/catalyst-ui/core/feedback/announcement.tsx +53 -0
  199. package/dist/components/catalyst-ui/core/feedback/banner-2.tsx +143 -0
  200. package/dist/components/catalyst-ui/core/feedback/banner.tsx +50 -0
  201. package/dist/components/catalyst-ui/core/feedback/banner1.tsx +64 -0
  202. package/dist/components/catalyst-ui/core/feedback/callout.tsx +18 -0
  203. package/dist/components/catalyst-ui/core/feedback/chat-bubble.tsx +770 -0
  204. package/dist/components/catalyst-ui/core/feedback/dimmer.tsx +518 -0
  205. package/dist/components/catalyst-ui/core/feedback/dot-loader.tsx +116 -0
  206. package/dist/components/catalyst-ui/core/feedback/empty-states.tsx +154 -0
  207. package/dist/components/catalyst-ui/core/feedback/hero-badge.tsx +90 -0
  208. package/dist/components/catalyst-ui/core/feedback/indicator.tsx +315 -0
  209. package/dist/components/catalyst-ui/core/feedback/loading.tsx +11 -0
  210. package/dist/components/catalyst-ui/core/feedback/spinner-2.tsx +10 -0
  211. package/dist/components/catalyst-ui/core/feedback/spinner-3.tsx +163 -0
  212. package/dist/components/catalyst-ui/core/feedback/spinner-4.tsx +276 -0
  213. package/dist/components/catalyst-ui/core/feedback/spinner.tsx +287 -0
  214. package/dist/components/catalyst-ui/core/feedback/status.tsx +54 -0
  215. package/dist/components/catalyst-ui/core/headings/cardHeadings.tsx +215 -0
  216. package/dist/components/catalyst-ui/core/headings/pageHeading.tsx +300 -0
  217. package/dist/components/catalyst-ui/core/headings/sectionHeadings.tsx +240 -0
  218. package/dist/components/catalyst-ui/core/heros/animated-hero.tsx +116 -0
  219. package/dist/components/catalyst-ui/core/heros/animated-hero1.tsx +108 -0
  220. package/dist/components/catalyst-ui/core/heros/hero-video-dialog.tsx +150 -0
  221. package/dist/components/catalyst-ui/core/index.ts +248 -0
  222. package/dist/components/catalyst-ui/core/layout/absolute-center.tsx +45 -0
  223. package/dist/components/catalyst-ui/core/layout/bento-grid.tsx +251 -0
  224. package/dist/components/catalyst-ui/core/layout/bento-grid1.tsx +58 -0
  225. package/dist/components/catalyst-ui/core/layout/bento-grid2.tsx +107 -0
  226. package/dist/components/catalyst-ui/core/layout/bento-system.tsx +101 -0
  227. package/dist/components/catalyst-ui/core/layout/box.tsx +231 -0
  228. package/dist/components/catalyst-ui/core/layout/card-layout.tsx +312 -0
  229. package/dist/components/catalyst-ui/core/layout/center.tsx +76 -0
  230. package/dist/components/catalyst-ui/core/layout/container-demo.tsx +340 -0
  231. package/dist/components/catalyst-ui/core/layout/container.tsx +280 -0
  232. package/dist/components/catalyst-ui/core/layout/flexbox-grid.tsx +469 -0
  233. package/dist/components/catalyst-ui/core/layout/grid.tsx +656 -0
  234. package/dist/components/catalyst-ui/core/layout/group.tsx +49 -0
  235. package/dist/components/catalyst-ui/core/layout/list.tsx +665 -0
  236. package/dist/components/catalyst-ui/core/layout/mediaObject.tsx +254 -0
  237. package/dist/components/catalyst-ui/core/layout/rail.tsx +175 -0
  238. package/dist/components/catalyst-ui/core/layout/section.tsx +86 -0
  239. package/dist/components/catalyst-ui/core/layout/stack.tsx +182 -0
  240. package/dist/components/catalyst-ui/core/lists/animated-list.tsx +98 -0
  241. package/dist/components/catalyst-ui/core/lists/feeds.tsx +190 -0
  242. package/dist/components/catalyst-ui/core/lists/file-tree.tsx +379 -0
  243. package/dist/components/catalyst-ui/core/lists/gridLists.tsx +212 -0
  244. package/dist/components/catalyst-ui/core/lists/index.ts +14 -0
  245. package/dist/components/catalyst-ui/core/lists/list-1.tsx +152 -0
  246. package/dist/components/catalyst-ui/core/lists/list.tsx +217 -0
  247. package/dist/components/catalyst-ui/core/lists/list1.tsx +138 -0
  248. package/dist/components/catalyst-ui/core/lists/pin-list.tsx +191 -0
  249. package/dist/components/catalyst-ui/core/lists/stackedLists.tsx +149 -0
  250. package/dist/components/catalyst-ui/core/lists/tables.tsx +615 -0
  251. package/dist/components/catalyst-ui/core/lists/tree.tsx +194 -0
  252. package/dist/components/catalyst-ui/core/modules/createEditSchedule.tsx +389 -0
  253. package/dist/components/catalyst-ui/core/modules/punchClock.tsx +304 -0
  254. package/dist/components/catalyst-ui/core/modules/schedule.tsx +188 -0
  255. package/dist/components/catalyst-ui/core/modules/viewPunchClockEntries.tsx +629 -0
  256. package/dist/components/catalyst-ui/core/navbars/navbar-01.tsx +264 -0
  257. package/dist/components/catalyst-ui/core/navbars/navbar-02.tsx +498 -0
  258. package/dist/components/catalyst-ui/core/navbars/navbar-03.tsx +263 -0
  259. package/dist/components/catalyst-ui/core/navbars/navbar-04.tsx +331 -0
  260. package/dist/components/catalyst-ui/core/navbars/navbar-05.tsx +400 -0
  261. package/dist/components/catalyst-ui/core/navbars/navbar-06.tsx +436 -0
  262. package/dist/components/catalyst-ui/core/navbars/navbar-07.tsx +331 -0
  263. package/dist/components/catalyst-ui/core/navbars/navbar-08.tsx +418 -0
  264. package/dist/components/catalyst-ui/core/navbars/navbar-09.tsx +440 -0
  265. package/dist/components/catalyst-ui/core/navbars/navbar-10.tsx +351 -0
  266. package/dist/components/catalyst-ui/core/navbars/navbar-11.tsx +444 -0
  267. package/dist/components/catalyst-ui/core/navbars/navbar-12/NotificationMenu.tsx +120 -0
  268. package/dist/components/catalyst-ui/core/navbars/navbar-12/TeamSwitcher.tsx +87 -0
  269. package/dist/components/catalyst-ui/core/navbars/navbar-12/UserMenu.tsx +80 -0
  270. package/dist/components/catalyst-ui/core/navbars/navbar-12/navbar-12.tsx +230 -0
  271. package/dist/components/catalyst-ui/core/navbars/navbar-13/UserMenu.tsx +80 -0
  272. package/dist/components/catalyst-ui/core/navbars/navbar-13/navbar-13.tsx +144 -0
  273. package/dist/components/catalyst-ui/core/navbars/navbar-14/InfoMenu.tsx +62 -0
  274. package/dist/components/catalyst-ui/core/navbars/navbar-14/NotificationMenu.tsx +122 -0
  275. package/dist/components/catalyst-ui/core/navbars/navbar-14/SettingsMenu.tsx +66 -0
  276. package/dist/components/catalyst-ui/core/navbars/navbar-14/navbar-14.tsx +156 -0
  277. package/dist/components/catalyst-ui/core/navbars/navbar-15/DatePicker.tsx +66 -0
  278. package/dist/components/catalyst-ui/core/navbars/navbar-15/Filters.tsx +160 -0
  279. package/dist/components/catalyst-ui/core/navbars/navbar-15/navbar-15.tsx +151 -0
  280. package/dist/components/catalyst-ui/core/navbars/navbar-16/AppToggle.tsx +125 -0
  281. package/dist/components/catalyst-ui/core/navbars/navbar-16/TeamSwitcher.tsx +87 -0
  282. package/dist/components/catalyst-ui/core/navbars/navbar-16/navbar-16.tsx +113 -0
  283. package/dist/components/catalyst-ui/core/navbars/navbar-17.tsx +209 -0
  284. package/dist/components/catalyst-ui/core/navbars/navbar-18.tsx +243 -0
  285. package/dist/components/catalyst-ui/core/navbars/navbar-19.tsx +333 -0
  286. package/dist/components/catalyst-ui/core/navigation/affix.tsx +123 -0
  287. package/dist/components/catalyst-ui/core/navigation/anchor.tsx +41 -0
  288. package/dist/components/catalyst-ui/core/navigation/dock-1.tsx +0 -0
  289. package/dist/components/catalyst-ui/core/navigation/dock-2.tsx +289 -0
  290. package/dist/components/catalyst-ui/core/navigation/dock.tsx +376 -0
  291. package/dist/components/catalyst-ui/core/navigation/efab.tsx +245 -0
  292. package/dist/components/catalyst-ui/core/navigation/fab-menu-component.tsx +299 -0
  293. package/dist/components/catalyst-ui/core/navigation/fab-menu.tsx +220 -0
  294. package/dist/components/catalyst-ui/core/navigation/fab.tsx +236 -0
  295. package/dist/components/catalyst-ui/core/navigation/index.ts +32 -0
  296. package/dist/components/catalyst-ui/core/navigation/limelight-nav.tsx +110 -0
  297. package/dist/components/catalyst-ui/core/navigation/mega-menu.tsx +354 -0
  298. package/dist/components/catalyst-ui/core/navigation/menu-dock.tsx +204 -0
  299. package/dist/components/catalyst-ui/core/navigation/message-dock.tsx +511 -0
  300. package/dist/components/catalyst-ui/core/navigation/page-nav.tsx +29 -0
  301. package/dist/components/catalyst-ui/core/navigation/page-sidebar-nav.tsx +39 -0
  302. package/dist/components/catalyst-ui/core/navigation/pagination-button.tsx +56 -0
  303. package/dist/components/catalyst-ui/core/navigation/pagination-wrapper.tsx +152 -0
  304. package/dist/components/catalyst-ui/core/navigation/panel-menu.tsx +201 -0
  305. package/dist/components/catalyst-ui/core/navigation/remix-link.tsx +40 -0
  306. package/dist/components/catalyst-ui/core/navigation/smooth-tab.tsx +412 -0
  307. package/dist/components/catalyst-ui/core/navigation/speed-dial.tsx +175 -0
  308. package/dist/components/catalyst-ui/core/navigation/stepper.tsx +290 -0
  309. package/dist/components/catalyst-ui/core/navigation/steps.tsx +578 -0
  310. package/dist/components/catalyst-ui/core/navigation/tab-menu.tsx +227 -0
  311. package/dist/components/catalyst-ui/core/navigation/tab-view.tsx +742 -0
  312. package/dist/components/catalyst-ui/core/navigation/toolbar-1.tsx +412 -0
  313. package/dist/components/catalyst-ui/core/navigation/toolbar.tsx +245 -0
  314. package/dist/components/catalyst-ui/core/sections/changelog-section.tsx +135 -0
  315. package/dist/components/catalyst-ui/core/sections/config-section.tsx +82 -0
  316. package/dist/components/catalyst-ui/core/sections/contact.tsx +600 -0
  317. package/dist/components/catalyst-ui/core/sections/content.tsx +386 -0
  318. package/dist/components/catalyst-ui/core/sections/layout.tsx +310 -0
  319. package/dist/components/catalyst-ui/core/sections/note-section.tsx +85 -0
  320. package/dist/components/catalyst-ui/core/sections/placeholder-code-section.tsx +14 -0
  321. package/dist/components/catalyst-ui/core/sections/step-number-section.tsx +16 -0
  322. package/dist/components/catalyst-ui/core/sections/team.tsx +372 -0
  323. package/dist/components/catalyst-ui/core/sections/useage-no-dash-section.tsx +79 -0
  324. package/dist/components/catalyst-ui/core/sections/useage-section.tsx +79 -0
  325. package/dist/components/catalyst-ui/core/shell/app-shell.tsx +321 -0
  326. package/dist/components/catalyst-ui/core/shell/content-shell.tsx +70 -0
  327. package/dist/components/catalyst-ui/core/shell/documentation/example.tsx +106 -0
  328. package/dist/components/catalyst-ui/core/shell/documentation/layout.config.tsx +200 -0
  329. package/dist/components/catalyst-ui/core/shell/documentation/layout.example.tsx +127 -0
  330. package/dist/components/catalyst-ui/core/shell/documentation/layout.tsx +280 -0
  331. package/dist/components/catalyst-ui/core/shell/multiColumnLayouts.tsx +364 -0
  332. package/dist/components/catalyst-ui/core/shell/sidebarLayout.tsx +459 -0
  333. package/dist/components/catalyst-ui/core/shell/stackedLayout.tsx +323 -0
  334. package/dist/components/catalyst-ui/core/shell/three-col/app.tsx +193 -0
  335. package/dist/components/catalyst-ui/core/shell/three-col/content.tsx +358 -0
  336. package/dist/components/catalyst-ui/core/shell/three-col/header.tsx +222 -0
  337. package/dist/components/catalyst-ui/core/shell/three-col/layout.tsx +120 -0
  338. package/dist/components/catalyst-ui/core/shell/three-col/side-navbar.tsx +305 -0
  339. package/dist/components/catalyst-ui/core/shell/three-col/sidebar.tsx +41 -0
  340. package/dist/components/catalyst-ui/crm/comp-297.tsx +24 -0
  341. package/dist/components/catalyst-ui/crm/comp-298.tsx +188 -0
  342. package/dist/components/catalyst-ui/crm/comp-299.tsx +24 -0
  343. package/dist/components/catalyst-ui/crm/comp-300.tsx +62 -0
  344. package/dist/components/catalyst-ui/crm/index.ts +5 -0
  345. package/dist/components/catalyst-ui/crm/tools/scripts-editor.tsx +3109 -0
  346. package/dist/components/catalyst-ui/crm/tools/scripts-viewer.tsx +215 -0
  347. package/dist/components/catalyst-ui/data/bg-data.tsx +901 -0
  348. package/dist/components/catalyst-ui/data/buttons-data.tsx +2327 -0
  349. package/dist/components/catalyst-ui/data/charts-data.tsx +102 -0
  350. package/dist/components/catalyst-ui/data/chat-data.tsx +83 -0
  351. package/dist/components/catalyst-ui/data/code-data.tsx +1040 -0
  352. package/dist/components/catalyst-ui/data/comboboxes-data.tsx +1843 -0
  353. package/dist/components/catalyst-ui/data/command-data.tsx +1381 -0
  354. package/dist/components/catalyst-ui/data/core-data.tsx +15953 -0
  355. package/dist/components/catalyst-ui/data/crm-data.tsx +47 -0
  356. package/dist/components/catalyst-ui/data/data.tsx +159 -0
  357. package/dist/components/catalyst-ui/data/date-and-time-data.tsx +554 -0
  358. package/dist/components/catalyst-ui/data/dependencies.tsx +7 -0
  359. package/dist/components/catalyst-ui/data/ecommerce-data.tsx +1387 -0
  360. package/dist/components/catalyst-ui/data/forms-data.tsx +7890 -0
  361. package/dist/components/catalyst-ui/data/hooks-data.tsx +5487 -0
  362. package/dist/components/catalyst-ui/data/index.ts +34 -0
  363. package/dist/components/catalyst-ui/data/inputs-data.tsx +557 -0
  364. package/dist/components/catalyst-ui/data/interactive-data.tsx +5394 -0
  365. package/dist/components/catalyst-ui/data/lofi-data.tsx +18295 -0
  366. package/dist/components/catalyst-ui/data/marketing-data.tsx +2546 -0
  367. package/dist/components/catalyst-ui/data/media-data.tsx +1510 -0
  368. package/dist/components/catalyst-ui/data/motion-data.tsx +5801 -0
  369. package/dist/components/catalyst-ui/data/overlay-data.tsx +4136 -0
  370. package/dist/components/catalyst-ui/data/pdf-data.tsx +124 -0
  371. package/dist/components/catalyst-ui/data/pos-data.tsx +213 -0
  372. package/dist/components/catalyst-ui/data/primitive-data.tsx +5170 -0
  373. package/dist/components/catalyst-ui/data/prompt-data.tsx +1226 -0
  374. package/dist/components/catalyst-ui/data/requiredLibs.ts +4 -0
  375. package/dist/components/catalyst-ui/data/sandbox-data.tsx +1 -0
  376. package/dist/components/catalyst-ui/data/sidebars-data.tsx +5421 -0
  377. package/dist/components/catalyst-ui/data/stacks-data.tsx +32 -0
  378. package/dist/components/catalyst-ui/data/table-data.tsx +706 -0
  379. package/dist/components/catalyst-ui/data/tools-data.tsx +6910 -0
  380. package/dist/components/catalyst-ui/data/typography-data.tsx +2050 -0
  381. package/dist/components/catalyst-ui/data/utils-data.tsx +6500 -0
  382. package/dist/components/catalyst-ui/data/x-data.tsx +1171 -0
  383. package/dist/components/catalyst-ui/data2.tsx +158 -0
  384. package/dist/components/catalyst-ui/date-and-time/appointment-scheduler.tsx +381 -0
  385. package/dist/components/catalyst-ui/date-and-time/calendar-2.tsx +498 -0
  386. package/dist/components/catalyst-ui/date-and-time/calendar-for-sidebar.tsx +68 -0
  387. package/dist/components/catalyst-ui/date-and-time/calendar-rac.tsx +112 -0
  388. package/dist/components/catalyst-ui/date-and-time/date-picker-input.tsx +76 -0
  389. package/dist/components/catalyst-ui/date-and-time/date-picker.tsx +64 -0
  390. package/dist/components/catalyst-ui/date-and-time/date-range-picker-input.tsx +84 -0
  391. package/dist/components/catalyst-ui/date-and-time/date-range-picker.tsx +125 -0
  392. package/dist/components/catalyst-ui/date-and-time/datefield-rac.tsx +88 -0
  393. package/dist/components/catalyst-ui/date-and-time/docked-date-picker.tsx +267 -0
  394. package/dist/components/catalyst-ui/date-and-time/drawerDatePicker.tsx +50 -0
  395. package/dist/components/catalyst-ui/date-and-time/event-calendar/agenda-view.tsx +90 -0
  396. package/dist/components/catalyst-ui/date-and-time/event-calendar/calendar-dnd-context.tsx +373 -0
  397. package/dist/components/catalyst-ui/date-and-time/event-calendar/constants.ts +18 -0
  398. package/dist/components/catalyst-ui/date-and-time/event-calendar/day-view.tsx +322 -0
  399. package/dist/components/catalyst-ui/date-and-time/event-calendar/demo.tsx +162 -0
  400. package/dist/components/catalyst-ui/date-and-time/event-calendar/draggable-event.tsx +141 -0
  401. package/dist/components/catalyst-ui/date-and-time/event-calendar/droppable-cell.tsx +57 -0
  402. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-calendar.tsx +400 -0
  403. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-dialog.tsx +467 -0
  404. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-item.tsx +262 -0
  405. package/dist/components/catalyst-ui/date-and-time/event-calendar/events-popup.tsx +135 -0
  406. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-current-time-indicator.ts +57 -0
  407. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-event-visibility.ts +86 -0
  408. package/dist/components/catalyst-ui/date-and-time/event-calendar/index.ts +23 -0
  409. package/dist/components/catalyst-ui/date-and-time/event-calendar/month-view.tsx +276 -0
  410. package/dist/components/catalyst-ui/date-and-time/event-calendar/types.ts +20 -0
  411. package/dist/components/catalyst-ui/date-and-time/event-calendar/utils.ts +153 -0
  412. package/dist/components/catalyst-ui/date-and-time/event-calendar/week-view.tsx +406 -0
  413. package/dist/components/catalyst-ui/date-and-time/index.ts +74 -0
  414. package/dist/components/catalyst-ui/date-and-time/mini-calendar.tsx +230 -0
  415. package/dist/components/catalyst-ui/date-and-time/modal-date-input.tsx +229 -0
  416. package/dist/components/catalyst-ui/date-and-time/popover-date-input.tsx +233 -0
  417. package/dist/components/catalyst-ui/date-and-time/relative-time.tsx +181 -0
  418. package/dist/components/catalyst-ui/date-and-time/time-picker-dial.tsx +368 -0
  419. package/dist/components/catalyst-ui/date-and-time/time-picker-input.tsx +385 -0
  420. package/dist/components/catalyst-ui/date-and-time/time-picker.tsx +514 -0
  421. package/dist/components/catalyst-ui/demo/examples.tsx +10069 -0
  422. package/dist/components/catalyst-ui/demo/examples2.tsx +10954 -0
  423. package/dist/components/catalyst-ui/demo/index.ts +5 -0
  424. package/dist/components/catalyst-ui/ecommerce/components/categoryFilters.tsx +302 -0
  425. package/dist/components/catalyst-ui/ecommerce/components/categoryPreviews.tsx +464 -0
  426. package/dist/components/catalyst-ui/ecommerce/components/checkoutForms.tsx +991 -0
  427. package/dist/components/catalyst-ui/ecommerce/components/incentives.tsx +529 -0
  428. package/dist/components/catalyst-ui/ecommerce/components/orderHistory.tsx +380 -0
  429. package/dist/components/catalyst-ui/ecommerce/components/orderSummaries.tsx +482 -0
  430. package/dist/components/catalyst-ui/ecommerce/components/productCard.tsx +84 -0
  431. package/dist/components/catalyst-ui/ecommerce/components/productCard2.tsx +82 -0
  432. package/dist/components/catalyst-ui/ecommerce/components/productFeatures.tsx +764 -0
  433. package/dist/components/catalyst-ui/ecommerce/components/productLists.tsx +472 -0
  434. package/dist/components/catalyst-ui/ecommerce/components/productOverview.tsx +856 -0
  435. package/dist/components/catalyst-ui/ecommerce/components/productQuickViews.tsx +378 -0
  436. package/dist/components/catalyst-ui/ecommerce/components/promoSectionts.tsx +414 -0
  437. package/dist/components/catalyst-ui/ecommerce/components/reviews.tsx +274 -0
  438. package/dist/components/catalyst-ui/ecommerce/components/shoppingCarts.tsx +508 -0
  439. package/dist/components/catalyst-ui/ecommerce/components/storeNavigation.tsx +255 -0
  440. package/dist/components/catalyst-ui/ecommerce/demo/categoryFilters-demo.tsx +140 -0
  441. package/dist/components/catalyst-ui/ecommerce/demo/categoryPreviews-demo.tsx +252 -0
  442. package/dist/components/catalyst-ui/ecommerce/demo/checkoutForms-demo.tsx +76 -0
  443. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-data2.tsx +34 -0
  444. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-demo.tsx +10 -0
  445. package/dist/components/catalyst-ui/ecommerce/demo/incentives-demo.tsx +172 -0
  446. package/dist/components/catalyst-ui/ecommerce/demo/orderHistory-demo.tsx +81 -0
  447. package/dist/components/catalyst-ui/ecommerce/demo/orderSummaries-demo.tsx +98 -0
  448. package/dist/components/catalyst-ui/ecommerce/demo/pricingPage-demo.tsx +105 -0
  449. package/dist/components/catalyst-ui/ecommerce/demo/product.$id-demo.tsx +98 -0
  450. package/dist/components/catalyst-ui/ecommerce/demo/productCard-demo.tsx +308 -0
  451. package/dist/components/catalyst-ui/ecommerce/demo/productFeatures-demo.tsx +57 -0
  452. package/dist/components/catalyst-ui/ecommerce/demo/productLists-demo.tsx +130 -0
  453. package/dist/components/catalyst-ui/ecommerce/demo/productOverview-demo.tsx +328 -0
  454. package/dist/components/catalyst-ui/ecommerce/demo/productQuickViews-demo.tsx +242 -0
  455. package/dist/components/catalyst-ui/ecommerce/demo/promoSectionts-demo.tsx +169 -0
  456. package/dist/components/catalyst-ui/ecommerce/demo/reviews-demo.tsx +45 -0
  457. package/dist/components/catalyst-ui/ecommerce/demo/shoppingCarts-demo.tsx +73 -0
  458. package/dist/components/catalyst-ui/ecommerce/demo/store-demo.tsx +88 -0
  459. package/dist/components/catalyst-ui/ecommerce/demo/storeNavigation-demo.tsx +171 -0
  460. package/dist/components/catalyst-ui/ecommerce/index.ts +55 -0
  461. package/dist/components/catalyst-ui/ecommerce/modules/cash-drawer-wizard.tsx +1400 -0
  462. package/dist/components/catalyst-ui/ecommerce/modules/cash-till-manager.tsx +639 -0
  463. package/dist/components/catalyst-ui/ecommerce/modules/promotionEngine.ts +341 -0
  464. package/dist/components/catalyst-ui/ecommerce/modules/promotionsManager.tsx +840 -0
  465. package/dist/components/catalyst-ui/forms/action-bar-1.tsx +192 -0
  466. package/dist/components/catalyst-ui/forms/action-bar.tsx +154 -0
  467. package/dist/components/catalyst-ui/forms/action-panels.tsx +153 -0
  468. package/dist/components/catalyst-ui/forms/action-search-bar.tsx +268 -0
  469. package/dist/components/catalyst-ui/forms/auto-resizing-textarea.tsx +36 -0
  470. package/dist/components/catalyst-ui/forms/cascade-tree.tsx +224 -0
  471. package/dist/components/catalyst-ui/forms/cascader.tsx +219 -0
  472. package/dist/components/catalyst-ui/forms/check-tree-picker.tsx +330 -0
  473. package/dist/components/catalyst-ui/forms/check-tree.tsx +348 -0
  474. package/dist/components/catalyst-ui/forms/checkbox-1.tsx +48 -0
  475. package/dist/components/catalyst-ui/forms/checkbox-card-1.tsx +64 -0
  476. package/dist/components/catalyst-ui/forms/checkbox-card.tsx +145 -0
  477. package/dist/components/catalyst-ui/forms/checkbox-multistate.tsx +97 -0
  478. package/dist/components/catalyst-ui/forms/checkbox-tristate.tsx +158 -0
  479. package/dist/components/catalyst-ui/forms/color-picker-1.tsx +299 -0
  480. package/dist/components/catalyst-ui/forms/color-picker-3.tsx +487 -0
  481. package/dist/components/catalyst-ui/forms/color-picker.tsx +251 -0
  482. package/dist/components/catalyst-ui/forms/credit-card-input.tsx +284 -0
  483. package/dist/components/catalyst-ui/forms/debounced-input.tsx +21 -0
  484. package/dist/components/catalyst-ui/forms/fancy-area.tsx +571 -0
  485. package/dist/components/catalyst-ui/forms/fieldset.tsx +107 -0
  486. package/dist/components/catalyst-ui/forms/float-label.tsx +66 -0
  487. package/dist/components/catalyst-ui/forms/floating-label.tsx +138 -0
  488. package/dist/components/catalyst-ui/forms/form-wizard.tsx +787 -0
  489. package/dist/components/catalyst-ui/forms/fuse-search-input.tsx +293 -0
  490. package/dist/components/catalyst-ui/forms/fuzzy-filter.tsx +17 -0
  491. package/dist/components/catalyst-ui/forms/fuzzy-sort.tsx +17 -0
  492. package/dist/components/catalyst-ui/forms/icon-field.tsx +51 -0
  493. package/dist/components/catalyst-ui/forms/index.ts +58 -0
  494. package/dist/components/catalyst-ui/forms/inline-edit.tsx +108 -0
  495. package/dist/components/catalyst-ui/forms/inplace.tsx +174 -0
  496. package/dist/components/catalyst-ui/forms/input-icon.tsx +39 -0
  497. package/dist/components/catalyst-ui/forms/input-mask.tsx +216 -0
  498. package/dist/components/catalyst-ui/forms/input-text.tsx +52 -0
  499. package/dist/components/catalyst-ui/forms/json-input.tsx +261 -0
  500. package/dist/components/catalyst-ui/forms/key-filter.tsx +238 -0
  501. package/dist/components/catalyst-ui/forms/label-variant.tsx +53 -0
  502. package/dist/components/catalyst-ui/forms/listbox.tsx +118 -0
  503. package/dist/components/catalyst-ui/forms/multi-cascade-tree.tsx +586 -0
  504. package/dist/components/catalyst-ui/forms/multi-cascader.tsx +429 -0
  505. package/dist/components/catalyst-ui/forms/multi-select.tsx +161 -0
  506. package/dist/components/catalyst-ui/forms/password-input.tsx +54 -0
  507. package/dist/components/catalyst-ui/forms/pills-input.tsx +133 -0
  508. package/dist/components/catalyst-ui/forms/pin-input.tsx +354 -0
  509. package/dist/components/catalyst-ui/forms/profile-dropdown.tsx +219 -0
  510. package/dist/components/catalyst-ui/forms/radio-tile.tsx +245 -0
  511. package/dist/components/catalyst-ui/forms/rating-2.tsx +140 -0
  512. package/dist/components/catalyst-ui/forms/search-input.tsx +49 -0
  513. package/dist/components/catalyst-ui/forms/select-button.tsx +155 -0
  514. package/dist/components/catalyst-ui/forms/step-form-wizard.tsx +877 -0
  515. package/dist/components/catalyst-ui/forms/tags-input-1.tsx +457 -0
  516. package/dist/components/catalyst-ui/forms/textarea-2.tsx +36 -0
  517. package/dist/components/catalyst-ui/forms/tree-picker.tsx +295 -0
  518. package/dist/components/catalyst-ui/hooks/demo.tsx +2757 -0
  519. package/dist/components/catalyst-ui/hooks/index.ts +106 -0
  520. package/dist/components/catalyst-ui/hooks/react-hook-docs.tsx +608 -0
  521. package/dist/components/catalyst-ui/hooks/use-api-key.tsx +151 -0
  522. package/dist/components/catalyst-ui/hooks/use-async.tsx +36 -0
  523. package/dist/components/catalyst-ui/hooks/use-auto-scroll.tsx +139 -0
  524. package/dist/components/catalyst-ui/hooks/use-breakpoint.tsx +21 -0
  525. package/dist/components/catalyst-ui/hooks/use-character-limit.tsx +37 -0
  526. package/dist/components/catalyst-ui/hooks/use-click-outside.tsx +27 -0
  527. package/dist/components/catalyst-ui/hooks/use-client.tsx +30 -0
  528. package/dist/components/catalyst-ui/hooks/use-color-theme.tsx +4933 -0
  529. package/dist/components/catalyst-ui/hooks/use-color-wheel.tsx +905 -0
  530. package/dist/components/catalyst-ui/hooks/use-current-time-indicator.tsx +65 -0
  531. package/dist/components/catalyst-ui/hooks/use-debounce-fetcher.tsx +56 -0
  532. package/dist/components/catalyst-ui/hooks/use-debounce-submit.tsx +45 -0
  533. package/dist/components/catalyst-ui/hooks/use-debounce.tsx +18 -0
  534. package/dist/components/catalyst-ui/hooks/use-debounced-fuse-search.tsx +168 -0
  535. package/dist/components/catalyst-ui/hooks/use-delegated-anchors.tsx +87 -0
  536. package/dist/components/catalyst-ui/hooks/use-document-title.tsx +14 -0
  537. package/dist/components/catalyst-ui/hooks/use-event-callback.tsx +24 -0
  538. package/dist/components/catalyst-ui/hooks/use-event-source.tsx +69 -0
  539. package/dist/components/catalyst-ui/hooks/use-event-visibility.tsx +72 -0
  540. package/dist/components/catalyst-ui/hooks/use-expandable.tsx +18 -0
  541. package/dist/components/catalyst-ui/hooks/use-export-markdown-usage.tsx +92 -0
  542. package/dist/components/catalyst-ui/hooks/use-export-tsx.tsx +50 -0
  543. package/dist/components/catalyst-ui/hooks/use-external-scripts.tsx +44 -0
  544. package/dist/components/catalyst-ui/hooks/use-favicon.tsx +16 -0
  545. package/dist/components/catalyst-ui/hooks/use-fetch.tsx +64 -0
  546. package/dist/components/catalyst-ui/hooks/use-file-upload.tsx +405 -0
  547. package/dist/components/catalyst-ui/hooks/use-focus-within.tsx +16 -0
  548. package/dist/components/catalyst-ui/hooks/use-form.tsx +86 -0
  549. package/dist/components/catalyst-ui/hooks/use-fuse-search.tsx +155 -0
  550. package/dist/components/catalyst-ui/hooks/use-fuzzy-search.tsx +17 -0
  551. package/dist/components/catalyst-ui/hooks/use-global-loading-state.tsx +7 -0
  552. package/dist/components/catalyst-ui/hooks/use-global-navigation-state.tsx +23 -0
  553. package/dist/components/catalyst-ui/hooks/use-global-pending-state.tsx +10 -0
  554. package/dist/components/catalyst-ui/hooks/use-global-submitting-state.tsx +7 -0
  555. package/dist/components/catalyst-ui/hooks/use-google-font.tsx +39 -0
  556. package/dist/components/catalyst-ui/hooks/use-hover.tsx +24 -0
  557. package/dist/components/catalyst-ui/hooks/use-hydrated.tsx +31 -0
  558. package/dist/components/catalyst-ui/hooks/use-intersection-observer.tsx +28 -0
  559. package/dist/components/catalyst-ui/hooks/use-isomorphic-layout-effect.tsx +9 -0
  560. package/dist/components/catalyst-ui/hooks/use-key-press.tsx +30 -0
  561. package/dist/components/catalyst-ui/hooks/use-keyboard-shortcut.tsx +69 -0
  562. package/dist/components/catalyst-ui/hooks/use-keyboard.tsx +16 -0
  563. package/dist/components/catalyst-ui/hooks/use-local-storage-auto-save.tsx +24 -0
  564. package/dist/components/catalyst-ui/hooks/use-local-storage.tsx +32 -0
  565. package/dist/components/catalyst-ui/hooks/use-locales.tsx +40 -0
  566. package/dist/components/catalyst-ui/hooks/use-long-press.tsx +16 -0
  567. package/dist/components/catalyst-ui/hooks/use-markdown-batches.tsx +120 -0
  568. package/dist/components/catalyst-ui/hooks/use-markdown-to-html.tsx +42 -0
  569. package/dist/components/catalyst-ui/hooks/use-mount-effect.tsx +5 -0
  570. package/dist/components/catalyst-ui/hooks/use-mounted.tsx +11 -0
  571. package/dist/components/catalyst-ui/hooks/use-mouse-enter.tsx +13 -0
  572. package/dist/components/catalyst-ui/hooks/use-move.tsx +16 -0
  573. package/dist/components/catalyst-ui/hooks/use-mutation-observer-useage.tsx +96 -0
  574. package/dist/components/catalyst-ui/hooks/use-mutation-observer.tsx +117 -0
  575. package/dist/components/catalyst-ui/hooks/use-on-click-outside.tsx +38 -0
  576. package/dist/components/catalyst-ui/hooks/use-online-status.tsx +23 -0
  577. package/dist/components/catalyst-ui/hooks/use-outside-click.tsx +25 -0
  578. package/dist/components/catalyst-ui/hooks/use-overlay-listener.tsx +31 -0
  579. package/dist/components/catalyst-ui/hooks/use-overlay-scroll-listener.tsx +128 -0
  580. package/dist/components/catalyst-ui/hooks/use-pagination.tsx +68 -0
  581. package/dist/components/catalyst-ui/hooks/use-press.tsx +17 -0
  582. package/dist/components/catalyst-ui/hooks/use-previous.tsx +13 -0
  583. package/dist/components/catalyst-ui/hooks/use-read-local-storage.tsx +73 -0
  584. package/dist/components/catalyst-ui/hooks/use-reducer.tsx +0 -0
  585. package/dist/components/catalyst-ui/hooks/use-resize-listener.tsx +18 -0
  586. package/dist/components/catalyst-ui/hooks/use-screen.tsx +100 -0
  587. package/dist/components/catalyst-ui/hooks/use-script.tsx +102 -0
  588. package/dist/components/catalyst-ui/hooks/use-scroll-lock.tsx +91 -0
  589. package/dist/components/catalyst-ui/hooks/use-scroll-position.tsx +23 -0
  590. package/dist/components/catalyst-ui/hooks/use-sec-fetch-parser.tsx +52 -0
  591. package/dist/components/catalyst-ui/hooks/use-session-storage.tsx +31 -0
  592. package/dist/components/catalyst-ui/hooks/use-should-hydrate.tsx +27 -0
  593. package/dist/components/catalyst-ui/hooks/use-slide-in-1.tsx +96 -0
  594. package/dist/components/catalyst-ui/hooks/use-slide-in.tsx +368 -0
  595. package/dist/components/catalyst-ui/hooks/use-slider-with-input.tsx +106 -0
  596. package/dist/components/catalyst-ui/hooks/use-smooth-scroll.tsx +35 -0
  597. package/dist/components/catalyst-ui/hooks/use-stream.tsx +576 -0
  598. package/dist/components/catalyst-ui/hooks/use-tailwind-converter.tsx +465 -0
  599. package/dist/components/catalyst-ui/hooks/use-throttle.tsx +22 -0
  600. package/dist/components/catalyst-ui/hooks/use-transition.tsx +0 -0
  601. package/dist/components/catalyst-ui/hooks/use-unmount-effect.tsx +15 -0
  602. package/dist/components/catalyst-ui/hooks/use-update-effect.tsx +13 -0
  603. package/dist/components/catalyst-ui/hooks/use-validate-credit-card.tsx +112 -0
  604. package/dist/components/catalyst-ui/hooks/use-window-size.tsx +23 -0
  605. package/dist/components/catalyst-ui/hooks/useDevList.tsx +185 -0
  606. package/dist/components/catalyst-ui/hooks/useOnWindowResize.tsx +15 -0
  607. package/dist/components/catalyst-ui/index.ts +38 -0
  608. package/dist/components/catalyst-ui/inputs/autocomplete.tsx +569 -0
  609. package/dist/components/catalyst-ui/inputs/autocomplete1.tsx +323 -0
  610. package/dist/components/catalyst-ui/inputs/cc-input.tsx +44 -0
  611. package/dist/components/catalyst-ui/inputs/email-address-input.tsx +17 -0
  612. package/dist/components/catalyst-ui/inputs/index.ts +30 -0
  613. package/dist/components/catalyst-ui/inputs/input-with-characters-left.tsx +41 -0
  614. package/dist/components/catalyst-ui/inputs/input-with-end-add-on.tsx +25 -0
  615. package/dist/components/catalyst-ui/inputs/input-with-end-button.tsx +27 -0
  616. package/dist/components/catalyst-ui/inputs/input-with-end-icon-button.tsx +29 -0
  617. package/dist/components/catalyst-ui/inputs/input-with-end-inline-add-on.tsx +24 -0
  618. package/dist/components/catalyst-ui/inputs/input-with-end-inline-button.tsx +24 -0
  619. package/dist/components/catalyst-ui/inputs/input-with-end-select.tsx +27 -0
  620. package/dist/components/catalyst-ui/inputs/input-with-inline-add-ons.tsx +27 -0
  621. package/dist/components/catalyst-ui/inputs/input-with-inline-start-and-end-add-on.tsx +27 -0
  622. package/dist/components/catalyst-ui/inputs/input-with-inner-tags.tsx +60 -0
  623. package/dist/components/catalyst-ui/inputs/input-with-inset-label.tsx +23 -0
  624. package/dist/components/catalyst-ui/inputs/input-with-mask.tsx +44 -0
  625. package/dist/components/catalyst-ui/inputs/input-with-password-strength-indicator.tsx +137 -0
  626. package/dist/components/catalyst-ui/inputs/input-with-start-add-on.tsx +24 -0
  627. package/dist/components/catalyst-ui/inputs/input-with-start-inline-add-on.tsx +24 -0
  628. package/dist/components/catalyst-ui/inputs/input-with-start-select.tsx +30 -0
  629. package/dist/components/catalyst-ui/inputs/input-with-tags.tsx +72 -0
  630. package/dist/components/catalyst-ui/inputs/number-input-with-chevrons.tsx +61 -0
  631. package/dist/components/catalyst-ui/inputs/number-input-with-plus-minus-buttons.tsx +52 -0
  632. package/dist/components/catalyst-ui/inputs/search-input-with-icon-and-button.tsx +32 -0
  633. package/dist/components/catalyst-ui/inputs/search-input-with-kbd.tsx +26 -0
  634. package/dist/components/catalyst-ui/inputs/search-input-with-loader.tsx +59 -0
  635. package/dist/components/catalyst-ui/interactive/3d-pin.tsx +175 -0
  636. package/dist/components/catalyst-ui/interactive/action-sheet.tsx +240 -0
  637. package/dist/components/catalyst-ui/interactive/activity-card.tsx +196 -0
  638. package/dist/components/catalyst-ui/interactive/ai-prompt.tsx +441 -0
  639. package/dist/components/catalyst-ui/interactive/animated-cursor.tsx +254 -0
  640. package/dist/components/catalyst-ui/interactive/background-paths.tsx +172 -0
  641. package/dist/components/catalyst-ui/interactive/can-edit.tsx +100 -0
  642. package/dist/components/catalyst-ui/interactive/color-swatch.tsx +441 -0
  643. package/dist/components/catalyst-ui/interactive/currency-transfer.tsx +228 -0
  644. package/dist/components/catalyst-ui/interactive/cursor.tsx +109 -0
  645. package/dist/components/catalyst-ui/interactive/drag-and-drop.tsx +374 -0
  646. package/dist/components/catalyst-ui/interactive/drawing-2.tsx +1147 -0
  647. package/dist/components/catalyst-ui/interactive/drawing.tsx +576 -0
  648. package/dist/components/catalyst-ui/interactive/drop-zone-external.tsx +377 -0
  649. package/dist/components/catalyst-ui/interactive/drop-zone.tsx +399 -0
  650. package/dist/components/catalyst-ui/interactive/dropzone-1.tsx +259 -0
  651. package/dist/components/catalyst-ui/interactive/export-excel.tsx +201 -0
  652. package/dist/components/catalyst-ui/interactive/file-upload.tsx +403 -0
  653. package/dist/components/catalyst-ui/interactive/file_upload-1.tsx +422 -0
  654. package/dist/components/catalyst-ui/interactive/filesaver.tsx +51 -0
  655. package/dist/components/catalyst-ui/interactive/gantt-1.tsx +1464 -0
  656. package/dist/components/catalyst-ui/interactive/highlight.tsx +84 -0
  657. package/dist/components/catalyst-ui/interactive/index.ts +49 -0
  658. package/dist/components/catalyst-ui/interactive/kanban-1.tsx +338 -0
  659. package/dist/components/catalyst-ui/interactive/lens.tsx +121 -0
  660. package/dist/components/catalyst-ui/interactive/magnetic.tsx +105 -0
  661. package/dist/components/catalyst-ui/interactive/mouse-effect-card.tsx +158 -0
  662. package/dist/components/catalyst-ui/interactive/pdf-generator.tsx +414 -0
  663. package/dist/components/catalyst-ui/interactive/pdf-signature.tsx +623 -0
  664. package/dist/components/catalyst-ui/interactive/pdf-viewer.tsx +931 -0
  665. package/dist/components/catalyst-ui/interactive/pointer.tsx +108 -0
  666. package/dist/components/catalyst-ui/interactive/ripple.tsx +103 -0
  667. package/dist/components/catalyst-ui/interactive/scroll-based-velocity.tsx +205 -0
  668. package/dist/components/catalyst-ui/interactive/signature.tsx +606 -0
  669. package/dist/components/catalyst-ui/interactive/smooth-cursor.tsx +236 -0
  670. package/dist/components/catalyst-ui/interactive/sortable.tsx +420 -0
  671. package/dist/components/catalyst-ui/interactive/spreadsheet.tsx +601 -0
  672. package/dist/components/catalyst-ui/interactive/task-board.tsx +902 -0
  673. package/dist/components/catalyst-ui/interactive/terminal.tsx +587 -0
  674. package/dist/components/catalyst-ui/interactive/tour-1.tsx +426 -0
  675. package/dist/components/catalyst-ui/interactive/tour.tsx +830 -0
  676. package/dist/components/catalyst-ui/interactive/transition.tsx +913 -0
  677. package/dist/components/catalyst-ui/interactive/transitionable-portal.tsx +0 -0
  678. package/dist/components/catalyst-ui/interactive/tree-view.tsx +427 -0
  679. package/dist/components/catalyst-ui/interactive/virtualizer.tsx +233 -0
  680. package/dist/components/catalyst-ui/interactive/watermark.tsx +211 -0
  681. package/dist/components/catalyst-ui/lo-fi/components/AboutPageLoFi.tsx +19 -0
  682. package/dist/components/catalyst-ui/lo-fi/components/ActionPanelLoFi.tsx +22 -0
  683. package/dist/components/catalyst-ui/lo-fi/components/AnchorLoFi-lofi.tsx +11 -0
  684. package/dist/components/catalyst-ui/lo-fi/components/ButtonGroupLoFi.tsx +11 -0
  685. package/dist/components/catalyst-ui/lo-fi/components/ButtonIconLoFi.tsx +10 -0
  686. package/dist/components/catalyst-ui/lo-fi/components/ButtonLinkLoFi.tsx +5 -0
  687. package/dist/components/catalyst-ui/lo-fi/components/ButtonLoadingLoFi.tsx +9 -0
  688. package/dist/components/catalyst-ui/lo-fi/components/CalendarForSidebarLoFi.tsx +21 -0
  689. package/dist/components/catalyst-ui/lo-fi/components/CalendarMultiDayLoFi.tsx +23 -0
  690. package/dist/components/catalyst-ui/lo-fi/components/CalloutLoFi.tsx +23 -0
  691. package/dist/components/catalyst-ui/lo-fi/components/Chart.tsx +239 -0
  692. package/dist/components/catalyst-ui/lo-fi/components/ContainerLoFi.tsx +13 -0
  693. package/dist/components/catalyst-ui/lo-fi/components/CopyTextLoFi.tsx +10 -0
  694. package/dist/components/catalyst-ui/lo-fi/components/DebouncedInputLoFi.tsx +10 -0
  695. package/dist/components/catalyst-ui/lo-fi/components/DescriptionListLoFi.tsx +14 -0
  696. package/dist/components/catalyst-ui/lo-fi/components/EditorLoFi.tsx +14 -0
  697. package/dist/components/catalyst-ui/lo-fi/components/EmptyStateLoFi.tsx +12 -0
  698. package/dist/components/catalyst-ui/lo-fi/components/ErrorPageLoFi.tsx +12 -0
  699. package/dist/components/catalyst-ui/lo-fi/components/ExportFileLoFi.tsx +16 -0
  700. package/dist/components/catalyst-ui/lo-fi/components/FlyoutMenuLoFi.tsx +14 -0
  701. package/dist/components/catalyst-ui/lo-fi/components/FormLayoutLoFi.tsx +15 -0
  702. package/dist/components/catalyst-ui/lo-fi/components/HeroCalendar.tsx +115 -0
  703. package/dist/components/catalyst-ui/lo-fi/components/HeroLoFi.tsx +17 -0
  704. package/dist/components/catalyst-ui/lo-fi/components/ListLoFi.tsx +11 -0
  705. package/dist/components/catalyst-ui/lo-fi/components/LoadingLoFi.tsx +10 -0
  706. package/dist/components/catalyst-ui/lo-fi/components/LogoCloudLoFi.tsx +11 -0
  707. package/dist/components/catalyst-ui/lo-fi/components/MediaObjectLoFi.tsx +14 -0
  708. package/dist/components/catalyst-ui/lo-fi/components/MultiColumnLayoutLoFi.tsx +11 -0
  709. package/dist/components/catalyst-ui/lo-fi/components/NavButtonLoFi.tsx +6 -0
  710. package/dist/components/catalyst-ui/lo-fi/components/NavButtonStyledLoFi.tsx +11 -0
  711. package/dist/components/catalyst-ui/lo-fi/components/ScaffoldingLoFi.tsx +13 -0
  712. package/dist/components/catalyst-ui/lo-fi/components/SectionHeadingLoFi.tsx +11 -0
  713. package/dist/components/catalyst-ui/lo-fi/components/VerticalNavigationLoFi.tsx +11 -0
  714. package/dist/components/catalyst-ui/lo-fi/components/accordion-lofi.tsx +76 -0
  715. package/dist/components/catalyst-ui/lo-fi/components/accountForm-lofi.tsx +21 -0
  716. package/dist/components/catalyst-ui/lo-fi/components/alert-lofi.tsx +18 -0
  717. package/dist/components/catalyst-ui/lo-fi/components/alertDialog-lofi.tsx +14 -0
  718. package/dist/components/catalyst-ui/lo-fi/components/announcement-lofi.tsx +20 -0
  719. package/dist/components/catalyst-ui/lo-fi/components/aspectRatio-lofi.tsx +9 -0
  720. package/dist/components/catalyst-ui/lo-fi/components/authenticator-lofi.tsx +24 -0
  721. package/dist/components/catalyst-ui/lo-fi/components/avatar-lofi.tsx +6 -0
  722. package/dist/components/catalyst-ui/lo-fi/components/badge-lofi.tsx +5 -0
  723. package/dist/components/catalyst-ui/lo-fi/components/banner.tsx +31 -0
  724. package/dist/components/catalyst-ui/lo-fi/components/bento-grid.tsx +31 -0
  725. package/dist/components/catalyst-ui/lo-fi/components/blog.tsx +37 -0
  726. package/dist/components/catalyst-ui/lo-fi/components/breadcrumb.tsx +13 -0
  727. package/dist/components/catalyst-ui/lo-fi/components/button.tsx +11 -0
  728. package/dist/components/catalyst-ui/lo-fi/components/card-header.tsx +16 -0
  729. package/dist/components/catalyst-ui/lo-fi/components/card-heading.tsx +30 -0
  730. package/dist/components/catalyst-ui/lo-fi/components/card.tsx +16 -0
  731. package/dist/components/catalyst-ui/lo-fi/components/carousel.tsx +14 -0
  732. package/dist/components/catalyst-ui/lo-fi/components/cart.tsx +21 -0
  733. package/dist/components/catalyst-ui/lo-fi/components/catchAll.tsx +660 -0
  734. package/dist/components/catalyst-ui/lo-fi/components/categoryFilter.tsx +19 -0
  735. package/dist/components/catalyst-ui/lo-fi/components/categoryPage.tsx +31 -0
  736. package/dist/components/catalyst-ui/lo-fi/components/categoryPreviews.tsx +20 -0
  737. package/dist/components/catalyst-ui/lo-fi/components/checkbox.tsx +10 -0
  738. package/dist/components/catalyst-ui/lo-fi/components/checkout-form.tsx +27 -0
  739. package/dist/components/catalyst-ui/lo-fi/components/checkout.tsx +34 -0
  740. package/dist/components/catalyst-ui/lo-fi/components/checkoutPage.tsx +67 -0
  741. package/dist/components/catalyst-ui/lo-fi/components/clientOnly.tsx +34 -0
  742. package/dist/components/catalyst-ui/lo-fi/components/collapsible.tsx +13 -0
  743. package/dist/components/catalyst-ui/lo-fi/components/columns.tsx +23 -0
  744. package/dist/components/catalyst-ui/lo-fi/components/combobox.tsx +13 -0
  745. package/dist/components/catalyst-ui/lo-fi/components/contact-section.tsx +28 -0
  746. package/dist/components/catalyst-ui/lo-fi/components/content-section.tsx +20 -0
  747. package/dist/components/catalyst-ui/lo-fi/components/cookieSettings.tsx +34 -0
  748. package/dist/components/catalyst-ui/lo-fi/components/cta-section.tsx +17 -0
  749. package/dist/components/catalyst-ui/lo-fi/components/data.tsx +19 -0
  750. package/dist/components/catalyst-ui/lo-fi/components/dataTable.tsx +36 -0
  751. package/dist/components/catalyst-ui/lo-fi/components/datePicker.tsx +10 -0
  752. package/dist/components/catalyst-ui/lo-fi/components/details.tsx +36 -0
  753. package/dist/components/catalyst-ui/lo-fi/components/dialog.tsx +16 -0
  754. package/dist/components/catalyst-ui/lo-fi/components/display-code.tsx +19 -0
  755. package/dist/components/catalyst-ui/lo-fi/components/dropdown.tsx +15 -0
  756. package/dist/components/catalyst-ui/lo-fi/components/dropdownMenu.tsx +13 -0
  757. package/dist/components/catalyst-ui/lo-fi/components/faq-section.tsx +28 -0
  758. package/dist/components/catalyst-ui/lo-fi/components/feature-section.tsx +20 -0
  759. package/dist/components/catalyst-ui/lo-fi/components/feature.tsx +26 -0
  760. package/dist/components/catalyst-ui/lo-fi/components/feedList.tsx +26 -0
  761. package/dist/components/catalyst-ui/lo-fi/components/footer.tsx +40 -0
  762. package/dist/components/catalyst-ui/lo-fi/components/form.tsx +17 -0
  763. package/dist/components/catalyst-ui/lo-fi/components/fourofour.tsx +42 -0
  764. package/dist/components/catalyst-ui/lo-fi/components/gridLists.tsx +36 -0
  765. package/dist/components/catalyst-ui/lo-fi/components/header.tsx +23 -0
  766. package/dist/components/catalyst-ui/lo-fi/components/hero.tsx +21 -0
  767. package/dist/components/catalyst-ui/lo-fi/components/homeScreen.tsx +31 -0
  768. package/dist/components/catalyst-ui/lo-fi/components/hooks.tsx +31 -0
  769. package/dist/components/catalyst-ui/lo-fi/components/hoverCard.tsx +13 -0
  770. package/dist/components/catalyst-ui/lo-fi/components/icons.tsx +18 -0
  771. package/dist/components/catalyst-ui/lo-fi/components/image.tsx +24 -0
  772. package/dist/components/catalyst-ui/lo-fi/components/incentives.tsx +26 -0
  773. package/dist/components/catalyst-ui/lo-fi/components/index.ts +152 -0
  774. package/dist/components/catalyst-ui/lo-fi/components/input.tsx +10 -0
  775. package/dist/components/catalyst-ui/lo-fi/components/label.tsx +5 -0
  776. package/dist/components/catalyst-ui/lo-fi/components/landingPage.tsx +35 -0
  777. package/dist/components/catalyst-ui/lo-fi/components/loadingPage.tsx +23 -0
  778. package/dist/components/catalyst-ui/lo-fi/components/menubar.tsx +14 -0
  779. package/dist/components/catalyst-ui/lo-fi/components/motherboard-blog.tsx +178 -0
  780. package/dist/components/catalyst-ui/lo-fi/components/motherboard.tsx +91 -0
  781. package/dist/components/catalyst-ui/lo-fi/components/newsletter.tsx +25 -0
  782. package/dist/components/catalyst-ui/lo-fi/components/notifications.tsx +21 -0
  783. package/dist/components/catalyst-ui/lo-fi/components/orderDetails.tsx +51 -0
  784. package/dist/components/catalyst-ui/lo-fi/components/orderHistory.tsx +35 -0
  785. package/dist/components/catalyst-ui/lo-fi/components/orderSumaries.tsx +34 -0
  786. package/dist/components/catalyst-ui/lo-fi/components/pageHeading.tsx +26 -0
  787. package/dist/components/catalyst-ui/lo-fi/components/pageNav.tsx +17 -0
  788. package/dist/components/catalyst-ui/lo-fi/components/pagination.tsx +13 -0
  789. package/dist/components/catalyst-ui/lo-fi/components/paymentMethod.tsx +32 -0
  790. package/dist/components/catalyst-ui/lo-fi/components/pricing.tsx +34 -0
  791. package/dist/components/catalyst-ui/lo-fi/components/pricingPage.tsx +47 -0
  792. package/dist/components/catalyst-ui/lo-fi/components/prisma.tsx +23 -0
  793. package/dist/components/catalyst-ui/lo-fi/components/product-card.tsx +12 -0
  794. package/dist/components/catalyst-ui/lo-fi/components/product-gallery.tsx +10 -0
  795. package/dist/components/catalyst-ui/lo-fi/components/productList.tsx +41 -0
  796. package/dist/components/catalyst-ui/lo-fi/components/productOverview.tsx +62 -0
  797. package/dist/components/catalyst-ui/lo-fi/components/productsFeatured.tsx +43 -0
  798. package/dist/components/catalyst-ui/lo-fi/components/progress.tsx +15 -0
  799. package/dist/components/catalyst-ui/lo-fi/components/promo.tsx +33 -0
  800. package/dist/components/catalyst-ui/lo-fi/components/radioGroup.tsx +14 -0
  801. package/dist/components/catalyst-ui/lo-fi/components/reportIssue.tsx +22 -0
  802. package/dist/components/catalyst-ui/lo-fi/components/review.tsx +14 -0
  803. package/dist/components/catalyst-ui/lo-fi/components/reviews.tsx +60 -0
  804. package/dist/components/catalyst-ui/lo-fi/components/sales-lofi.tsx +257 -0
  805. package/dist/components/catalyst-ui/lo-fi/components/scaffolding.tsx +46 -0
  806. package/dist/components/catalyst-ui/lo-fi/components/scrollBar.tsx +24 -0
  807. package/dist/components/catalyst-ui/lo-fi/components/select.tsx +13 -0
  808. package/dist/components/catalyst-ui/lo-fi/components/settings.tsx +32 -0
  809. package/dist/components/catalyst-ui/lo-fi/components/shoppingCart.tsx +52 -0
  810. package/dist/components/catalyst-ui/lo-fi/components/sidebar.tsx +38 -0
  811. package/dist/components/catalyst-ui/lo-fi/components/skeleton.tsx +11 -0
  812. package/dist/components/catalyst-ui/lo-fi/components/slider.tsx +16 -0
  813. package/dist/components/catalyst-ui/lo-fi/components/stacked-lofi.tsx +43 -0
  814. package/dist/components/catalyst-ui/lo-fi/components/stacked.tsx +52 -0
  815. package/dist/components/catalyst-ui/lo-fi/components/stats.tsx +25 -0
  816. package/dist/components/catalyst-ui/lo-fi/components/storeFront.tsx +65 -0
  817. package/dist/components/catalyst-ui/lo-fi/components/storeNav.tsx +37 -0
  818. package/dist/components/catalyst-ui/lo-fi/components/switch.tsx +9 -0
  819. package/dist/components/catalyst-ui/lo-fi/components/tabs.tsx +29 -0
  820. package/dist/components/catalyst-ui/lo-fi/components/tailwind.tsx +22 -0
  821. package/dist/components/catalyst-ui/lo-fi/components/team.tsx +27 -0
  822. package/dist/components/catalyst-ui/lo-fi/components/team2.tsx +27 -0
  823. package/dist/components/catalyst-ui/lo-fi/components/templatePage.tsx +19 -0
  824. package/dist/components/catalyst-ui/lo-fi/components/testimonial.tsx +36 -0
  825. package/dist/components/catalyst-ui/lo-fi/components/testtimonial.tsx +35 -0
  826. package/dist/components/catalyst-ui/lo-fi/components/textarea.tsx +10 -0
  827. package/dist/components/catalyst-ui/lo-fi/components/toast.tsx +13 -0
  828. package/dist/components/catalyst-ui/lo-fi/components/toggle.tsx +12 -0
  829. package/dist/components/catalyst-ui/lo-fi/components/tooltip.tsx +12 -0
  830. package/dist/components/catalyst-ui/lo-fi/components/useHydrated.tsx +38 -0
  831. package/dist/components/catalyst-ui/lo-fi/index.ts +528 -0
  832. package/dist/components/catalyst-ui/lo-fi/utils/atom.tsx +30 -0
  833. package/dist/components/catalyst-ui/lo-fi/utils/component.tsx +28 -0
  834. package/dist/components/catalyst-ui/lo-fi/v2/AIPromptLoFi.tsx +17 -0
  835. package/dist/components/catalyst-ui/lo-fi/v2/AboutLoFi.tsx +19 -0
  836. package/dist/components/catalyst-ui/lo-fi/v2/AccessLoFi.tsx +14 -0
  837. package/dist/components/catalyst-ui/lo-fi/v2/AccountLoFi.tsx +19 -0
  838. package/dist/components/catalyst-ui/lo-fi/v2/ActivityGoalLoFi.tsx +20 -0
  839. package/dist/components/catalyst-ui/lo-fi/v2/AiChatLoFi.tsx +29 -0
  840. package/dist/components/catalyst-ui/lo-fi/v2/AlertV1LoFi.tsx +13 -0
  841. package/dist/components/catalyst-ui/lo-fi/v2/AspectRatioLoFi.tsx +11 -0
  842. package/dist/components/catalyst-ui/lo-fi/v2/AuthProviderLoFi.tsx +18 -0
  843. package/dist/components/catalyst-ui/lo-fi/v2/AuthSystemLoFi.tsx +23 -0
  844. package/dist/components/catalyst-ui/lo-fi/v2/AutoCompleteV2LoFi.tsx +17 -0
  845. package/dist/components/catalyst-ui/lo-fi/v2/BLoFi.tsx +9 -0
  846. package/dist/components/catalyst-ui/lo-fi/v2/BankLoFi.tsx +26 -0
  847. package/dist/components/catalyst-ui/lo-fi/v2/BarcodeLoFi.tsx +24 -0
  848. package/dist/components/catalyst-ui/lo-fi/v2/BasicAuthMiddlewareLoFi.tsx +16 -0
  849. package/dist/components/catalyst-ui/lo-fi/v2/BatcherMiddlewareLoFi.tsx +17 -0
  850. package/dist/components/catalyst-ui/lo-fi/v2/BlocksLoFi.tsx +15 -0
  851. package/dist/components/catalyst-ui/lo-fi/v2/BlogEditorLoFi.tsx +25 -0
  852. package/dist/components/catalyst-ui/lo-fi/v2/BlogListLoFi.tsx +17 -0
  853. package/dist/components/catalyst-ui/lo-fi/v2/BlogSidebarLoFi.tsx +20 -0
  854. package/dist/components/catalyst-ui/lo-fi/v2/BoxLoFi.tsx +10 -0
  855. package/dist/components/catalyst-ui/lo-fi/v2/CORSMiddlewareLoFi.tsx +17 -0
  856. package/dist/components/catalyst-ui/lo-fi/v2/CSSLoFi.tsx +17 -0
  857. package/dist/components/catalyst-ui/lo-fi/v2/CalendarLoFi.tsx +25 -0
  858. package/dist/components/catalyst-ui/lo-fi/v2/CallOutLoFi.tsx +16 -0
  859. package/dist/components/catalyst-ui/lo-fi/v2/CarServiceLoFi.tsx +18 -0
  860. package/dist/components/catalyst-ui/lo-fi/v2/CardsLoFi.tsx +16 -0
  861. package/dist/components/catalyst-ui/lo-fi/v2/CarouselHeroLoFi.tsx +15 -0
  862. package/dist/components/catalyst-ui/lo-fi/v2/CategoriesNavigationLoFi.tsx +13 -0
  863. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionCenteredLoFi.tsx +13 -0
  864. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionLoFi.tsx +15 -0
  865. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSidebarLoFi.tsx +22 -0
  866. package/dist/components/catalyst-ui/lo-fi/v2/ChatBubbleLoFi.tsx +14 -0
  867. package/dist/components/catalyst-ui/lo-fi/v2/ChatLoFi.tsx +22 -0
  868. package/dist/components/catalyst-ui/lo-fi/v2/CheckListLoFi.tsx +14 -0
  869. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxMultistateLoFi.tsx +11 -0
  870. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxTristateLoFi.tsx +11 -0
  871. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutCancelLoFi.tsx +12 -0
  872. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutSuccessLoFi.tsx +12 -0
  873. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutVariousLoFi.tsx +16 -0
  874. package/dist/components/catalyst-ui/lo-fi/v2/ClientOnlyLoFi.tsx +13 -0
  875. package/dist/components/catalyst-ui/lo-fi/v2/CnLoFi.tsx +13 -0
  876. package/dist/components/catalyst-ui/lo-fi/v2/CodeSectionLoFi.tsx +21 -0
  877. package/dist/components/catalyst-ui/lo-fi/v2/CollapsesToIconsLoFi.tsx +11 -0
  878. package/dist/components/catalyst-ui/lo-fi/v2/CollapsibleFileTreeLoFi.tsx +26 -0
  879. package/dist/components/catalyst-ui/lo-fi/v2/ConfigSectionLoFi.tsx +26 -0
  880. package/dist/components/catalyst-ui/lo-fi/v2/ConfirmPopupLoFi.tsx +15 -0
  881. package/dist/components/catalyst-ui/lo-fi/v2/ContactLoFi.tsx +13 -0
  882. package/dist/components/catalyst-ui/lo-fi/v2/ContainerLoFi.tsx +11 -0
  883. package/dist/components/catalyst-ui/lo-fi/v2/ContextStorageMiddlewareLoFi.tsx +18 -0
  884. package/dist/components/catalyst-ui/lo-fi/v2/CookieSettingsLoFi.tsx +22 -0
  885. package/dist/components/catalyst-ui/lo-fi/v2/CoreLoFi.tsx +13 -0
  886. package/dist/components/catalyst-ui/lo-fi/v2/CreateAccountLoFi.tsx +16 -0
  887. package/dist/components/catalyst-ui/lo-fi/v2/DashboardLoFi.tsx +13 -0
  888. package/dist/components/catalyst-ui/lo-fi/v2/DashboardSidebarLoFi.tsx +17 -0
  889. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedFetcherAndSubmitLoFi.tsx +11 -0
  890. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedInputLoFi.tsx +10 -0
  891. package/dist/components/catalyst-ui/lo-fi/v2/DefaultStyledLoFi.tsx +11 -0
  892. package/dist/components/catalyst-ui/lo-fi/v2/DeferredContentLoFi.tsx +14 -0
  893. package/dist/components/catalyst-ui/lo-fi/v2/DelegateAnchorsToRemixLoFi.tsx +11 -0
  894. package/dist/components/catalyst-ui/lo-fi/v2/DetailLoFi.tsx +12 -0
  895. package/dist/components/catalyst-ui/lo-fi/v2/DeviceMockupLoFi.tsx +15 -0
  896. package/dist/components/catalyst-ui/lo-fi/v2/DiffLoFi.tsx +15 -0
  897. package/dist/components/catalyst-ui/lo-fi/v2/DisplayCodeLoFi.tsx +20 -0
  898. package/dist/components/catalyst-ui/lo-fi/v2/DockLoFi.tsx +13 -0
  899. package/dist/components/catalyst-ui/lo-fi/v2/DragAndDropLoFi.tsx +15 -0
  900. package/dist/components/catalyst-ui/lo-fi/v2/DrawerLoFi.tsx +16 -0
  901. package/dist/components/catalyst-ui/lo-fi/v2/DrawingLoFi.tsx +18 -0
  902. package/dist/components/catalyst-ui/lo-fi/v2/DrawingV2LoFi.tsx +21 -0
  903. package/dist/components/catalyst-ui/lo-fi/v2/DropZoneLoFi.tsx +12 -0
  904. package/dist/components/catalyst-ui/lo-fi/v2/ECommerceLoFi.tsx +14 -0
  905. package/dist/components/catalyst-ui/lo-fi/v2/EmbedLoFi.tsx +13 -0
  906. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselLoFi.tsx +18 -0
  907. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselSnapLoFi.tsx +12 -0
  908. package/dist/components/catalyst-ui/lo-fi/v2/EnhancedChartLoFi.tsx +29 -0
  909. package/dist/components/catalyst-ui/lo-fi/v2/ErrorLoFi.tsx +12 -0
  910. package/dist/components/catalyst-ui/lo-fi/v2/ExerciseMinutesLoFi.tsx +16 -0
  911. package/dist/components/catalyst-ui/lo-fi/v2/FABLoFi.tsx +10 -0
  912. package/dist/components/catalyst-ui/lo-fi/v2/FaqLoFi.tsx +12 -0
  913. package/dist/components/catalyst-ui/lo-fi/v2/FeatureSectionLoFi.tsx +29 -0
  914. package/dist/components/catalyst-ui/lo-fi/v2/FeedLoFi.tsx +28 -0
  915. package/dist/components/catalyst-ui/lo-fi/v2/FileManagerLoFi.tsx +18 -0
  916. package/dist/components/catalyst-ui/lo-fi/v2/FilterComboboxLoFi.tsx +11 -0
  917. package/dist/components/catalyst-ui/lo-fi/v2/FilterDrawerLoFi.tsx +17 -0
  918. package/dist/components/catalyst-ui/lo-fi/v2/FilterTanStackTableLoFi.tsx +11 -0
  919. package/dist/components/catalyst-ui/lo-fi/v2/FixedMarkerLoFi.tsx +10 -0
  920. package/dist/components/catalyst-ui/lo-fi/v2/FlexboxGridLoFi.tsx +13 -0
  921. package/dist/components/catalyst-ui/lo-fi/v2/FloatingSidebarWithSubmenusLoFi.tsx +18 -0
  922. package/dist/components/catalyst-ui/lo-fi/v2/ForLoFi.tsx +11 -0
  923. package/dist/components/catalyst-ui/lo-fi/v2/ForgotPasswordLoFi.tsx +12 -0
  924. package/dist/components/catalyst-ui/lo-fi/v2/FormsLoFi.tsx +13 -0
  925. package/dist/components/catalyst-ui/lo-fi/v2/Four04LoFi.tsx +12 -0
  926. package/dist/components/catalyst-ui/lo-fi/v2/FunctionalLeftRightSidebarLoFi.tsx +21 -0
  927. package/dist/components/catalyst-ui/lo-fi/v2/FuseSearchInputLoFi.tsx +11 -0
  928. package/dist/components/catalyst-ui/lo-fi/v2/FuzzyFilterLoFi.tsx +11 -0
  929. package/dist/components/catalyst-ui/lo-fi/v2/FuzzySortLoFi.tsx +14 -0
  930. package/dist/components/catalyst-ui/lo-fi/v2/GalleriaLoFi.tsx +14 -0
  931. package/dist/components/catalyst-ui/lo-fi/v2/GnattChartLoFi.tsx +20 -0
  932. package/dist/components/catalyst-ui/lo-fi/v2/GridLoFi.tsx +14 -0
  933. package/dist/components/catalyst-ui/lo-fi/v2/H3LoFi.tsx +9 -0
  934. package/dist/components/catalyst-ui/lo-fi/v2/H4LoFi.tsx +9 -0
  935. package/dist/components/catalyst-ui/lo-fi/v2/H5LoFi.tsx +9 -0
  936. package/dist/components/catalyst-ui/lo-fi/v2/HeaderNavLoFi.tsx +15 -0
  937. package/dist/components/catalyst-ui/lo-fi/v2/HelpLoFi.tsx +12 -0
  938. package/dist/components/catalyst-ui/lo-fi/v2/HighlightLoFi.tsx +13 -0
  939. package/dist/components/catalyst-ui/lo-fi/v2/HighlightV1LoFi.tsx +10 -0
  940. package/dist/components/catalyst-ui/lo-fi/v2/HomeLoFi.tsx +14 -0
  941. package/dist/components/catalyst-ui/lo-fi/v2/HoneypotMiddlewareLoFi.tsx +16 -0
  942. package/dist/components/catalyst-ui/lo-fi/v2/IBLoFi.tsx +9 -0
  943. package/dist/components/catalyst-ui/lo-fi/v2/ILoFi.tsx +9 -0
  944. package/dist/components/catalyst-ui/lo-fi/v2/ImageLoFi.tsx +9 -0
  945. package/dist/components/catalyst-ui/lo-fi/v2/ImageSectionLoFi.tsx +18 -0
  946. package/dist/components/catalyst-ui/lo-fi/v2/InADialogLoFi.tsx +17 -0
  947. package/dist/components/catalyst-ui/lo-fi/v2/IncIdLoFi.tsx +11 -0
  948. package/dist/components/catalyst-ui/lo-fi/v2/IncentivesCardLoFi.tsx +11 -0
  949. package/dist/components/catalyst-ui/lo-fi/v2/IndicatorLoFi.tsx +11 -0
  950. package/dist/components/catalyst-ui/lo-fi/v2/InsetSidebarSecondaryNavLoFi.tsx +20 -0
  951. package/dist/components/catalyst-ui/lo-fi/v2/InsufficientPermissionsLoFi.tsx +12 -0
  952. package/dist/components/catalyst-ui/lo-fi/v2/InvoiceLoFi.tsx +17 -0
  953. package/dist/components/catalyst-ui/lo-fi/v2/JWKAuthMiddlewareLoFi.tsx +17 -0
  954. package/dist/components/catalyst-ui/lo-fi/v2/LandingLoFi.tsx +12 -0
  955. package/dist/components/catalyst-ui/lo-fi/v2/LayoutLoFi.tsx +24 -0
  956. package/dist/components/catalyst-ui/lo-fi/v2/LoadErrorPageLoFi.tsx +15 -0
  957. package/dist/components/catalyst-ui/lo-fi/v2/LoadingLoFi.tsx +15 -0
  958. package/dist/components/catalyst-ui/lo-fi/v2/LoadingOverlayLoFi.tsx +13 -0
  959. package/dist/components/catalyst-ui/lo-fi/v2/LoadingPageLoFi.tsx +18 -0
  960. package/dist/components/catalyst-ui/lo-fi/v2/LoginLoFi.tsx +13 -0
  961. package/dist/components/catalyst-ui/lo-fi/v2/MailLoFi.tsx +18 -0
  962. package/dist/components/catalyst-ui/lo-fi/v2/MarketingLoFi.tsx +15 -0
  963. package/dist/components/catalyst-ui/lo-fi/v2/MegaMenuLoFi.tsx +26 -0
  964. package/dist/components/catalyst-ui/lo-fi/v2/MenuLoFi.tsx +14 -0
  965. package/dist/components/catalyst-ui/lo-fi/v2/MessageLoFi.tsx +14 -0
  966. package/dist/components/catalyst-ui/lo-fi/v2/MeterLoFi.tsx +16 -0
  967. package/dist/components/catalyst-ui/lo-fi/v2/MobileNavLoFi.tsx +12 -0
  968. package/dist/components/catalyst-ui/lo-fi/v2/ModalIntegrationsLoFi.tsx +24 -0
  969. package/dist/components/catalyst-ui/lo-fi/v2/ModalV1LoFi.tsx +20 -0
  970. package/dist/components/catalyst-ui/lo-fi/v2/MusicLoFi.tsx +17 -0
  971. package/dist/components/catalyst-ui/lo-fi/v2/NavMainLoFi.tsx +13 -0
  972. package/dist/components/catalyst-ui/lo-fi/v2/NavProjectsLoFi.tsx +20 -0
  973. package/dist/components/catalyst-ui/lo-fi/v2/NavTreeViewLoFi.tsx +17 -0
  974. package/dist/components/catalyst-ui/lo-fi/v2/NavUserLoFi.tsx +14 -0
  975. package/dist/components/catalyst-ui/lo-fi/v2/NestedComboboxLoFi.tsx +14 -0
  976. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandDialogLoFi.tsx +15 -0
  977. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandLoFi.tsx +16 -0
  978. package/dist/components/catalyst-ui/lo-fi/v2/NotFoundLoFi.tsx +12 -0
  979. package/dist/components/catalyst-ui/lo-fi/v2/NoteSectionLoFi.tsx +17 -0
  980. package/dist/components/catalyst-ui/lo-fi/v2/NotificationLoFi.tsx +14 -0
  981. package/dist/components/catalyst-ui/lo-fi/v2/OnTheRightLoFi.tsx +14 -0
  982. package/dist/components/catalyst-ui/lo-fi/v2/OrderListLoFi.tsx +17 -0
  983. package/dist/components/catalyst-ui/lo-fi/v2/OrderSummaryLoFi.tsx +17 -0
  984. package/dist/components/catalyst-ui/lo-fi/v2/OrderedListLoFi.tsx +14 -0
  985. package/dist/components/catalyst-ui/lo-fi/v2/OtpLoFi.tsx +16 -0
  986. package/dist/components/catalyst-ui/lo-fi/v2/OverlayPanelLoFi.tsx +12 -0
  987. package/dist/components/catalyst-ui/lo-fi/v2/PDFGeneratorLoFi.tsx +19 -0
  988. package/dist/components/catalyst-ui/lo-fi/v2/PMLoFi.tsx +14 -0
  989. package/dist/components/catalyst-ui/lo-fi/v2/PageHeaderLoFi.tsx +14 -0
  990. package/dist/components/catalyst-ui/lo-fi/v2/PageHeadingsSectionLoFi.tsx +11 -0
  991. package/dist/components/catalyst-ui/lo-fi/v2/PaginationButtonLoFi.tsx +8 -0
  992. package/dist/components/catalyst-ui/lo-fi/v2/PaginationWrapperLoFi.tsx +14 -0
  993. package/dist/components/catalyst-ui/lo-fi/v2/PanelLoFi.tsx +17 -0
  994. package/dist/components/catalyst-ui/lo-fi/v2/PanelMenuLoFi.tsx +17 -0
  995. package/dist/components/catalyst-ui/lo-fi/v2/PasswordInputLoFi.tsx +15 -0
  996. package/dist/components/catalyst-ui/lo-fi/v2/PaymentFormLoFi.tsx +15 -0
  997. package/dist/components/catalyst-ui/lo-fi/v2/PaymentMethodLoFi.tsx +18 -0
  998. package/dist/components/catalyst-ui/lo-fi/v2/PaymentsLoFi.tsx +22 -0
  999. package/dist/components/catalyst-ui/lo-fi/v2/PdfSignatureLoFi.tsx +14 -0
  1000. package/dist/components/catalyst-ui/lo-fi/v2/PdfViewerLoFi.tsx +23 -0
  1001. package/dist/components/catalyst-ui/lo-fi/v2/PlaceholderCodeLoFi.tsx +15 -0
  1002. package/dist/components/catalyst-ui/lo-fi/v2/PlaygroundLoFi.tsx +15 -0
  1003. package/dist/components/catalyst-ui/lo-fi/v2/PopconfirmLoFi.tsx +17 -0
  1004. package/dist/components/catalyst-ui/lo-fi/v2/PrefetchAnchorsLoFi.tsx +10 -0
  1005. package/dist/components/catalyst-ui/lo-fi/v2/PrismaClientExtensionLoFi.tsx +16 -0
  1006. package/dist/components/catalyst-ui/lo-fi/v2/ProductCategoryLoFi.tsx +13 -0
  1007. package/dist/components/catalyst-ui/lo-fi/v2/ProductComparisonLoFi.tsx +14 -0
  1008. package/dist/components/catalyst-ui/lo-fi/v2/ProductDetailsLoFi.tsx +14 -0
  1009. package/dist/components/catalyst-ui/lo-fi/v2/ProductEditLoFi.tsx +12 -0
  1010. package/dist/components/catalyst-ui/lo-fi/v2/ProductPricingLoFi.tsx +12 -0
  1011. package/dist/components/catalyst-ui/lo-fi/v2/ProductsLoFi.tsx +14 -0
  1012. package/dist/components/catalyst-ui/lo-fi/v2/ProfileCreateLoFi.tsx +12 -0
  1013. package/dist/components/catalyst-ui/lo-fi/v2/ProfileListLoFi.tsx +16 -0
  1014. package/dist/components/catalyst-ui/lo-fi/v2/ProfileLoFi.tsx +12 -0
  1015. package/dist/components/catalyst-ui/lo-fi/v2/ProgressLoFi.tsx +15 -0
  1016. package/dist/components/catalyst-ui/lo-fi/v2/ProseLoFi.tsx +16 -0
  1017. package/dist/components/catalyst-ui/lo-fi/v2/QRCodeLoFi.tsx +43 -0
  1018. package/dist/components/catalyst-ui/lo-fi/v2/QaDiscussionLoFi.tsx +14 -0
  1019. package/dist/components/catalyst-ui/lo-fi/v2/QaForumLoFi.tsx +11 -0
  1020. package/dist/components/catalyst-ui/lo-fi/v2/RailLoFi.tsx +16 -0
  1021. package/dist/components/catalyst-ui/lo-fi/v2/RatingLoFi.tsx +14 -0
  1022. package/dist/components/catalyst-ui/lo-fi/v2/ReactHooksDocsLoFi.tsx +11 -0
  1023. package/dist/components/catalyst-ui/lo-fi/v2/ReceiptLoFi.tsx +17 -0
  1024. package/dist/components/catalyst-ui/lo-fi/v2/RedirectBadRequestsLoFi.tsx +11 -0
  1025. package/dist/components/catalyst-ui/lo-fi/v2/RegisterLoFi.tsx +13 -0
  1026. package/dist/components/catalyst-ui/lo-fi/v2/RemixAuthLoFi.tsx +12 -0
  1027. package/dist/components/catalyst-ui/lo-fi/v2/RemixLinkLoFi.tsx +11 -0
  1028. package/dist/components/catalyst-ui/lo-fi/v2/ReportIssueLoFi.tsx +24 -0
  1029. package/dist/components/catalyst-ui/lo-fi/v2/RequestIDMiddlewareLoFi.tsx +11 -0
  1030. package/dist/components/catalyst-ui/lo-fi/v2/ResetPasswordLoFi.tsx +12 -0
  1031. package/dist/components/catalyst-ui/lo-fi/v2/ResponsiveLinkLoFi.tsx +11 -0
  1032. package/dist/components/catalyst-ui/lo-fi/v2/RightSidebarLoFi.tsx +17 -0
  1033. package/dist/components/catalyst-ui/lo-fi/v2/SaasLoFi.tsx +15 -0
  1034. package/dist/components/catalyst-ui/lo-fi/v2/SchedulerLoFi.tsx +14 -0
  1035. package/dist/components/catalyst-ui/lo-fi/v2/ScrolltopLoFi.tsx +11 -0
  1036. package/dist/components/catalyst-ui/lo-fi/v2/SecFetchParserLoFi.tsx +20 -0
  1037. package/dist/components/catalyst-ui/lo-fi/v2/SecureHeadersMiddlewareLoFi.tsx +17 -0
  1038. package/dist/components/catalyst-ui/lo-fi/v2/ServerTimingMiddlewareLoFi.tsx +16 -0
  1039. package/dist/components/catalyst-ui/lo-fi/v2/ServiceRepairFormLoFi.tsx +13 -0
  1040. package/dist/components/catalyst-ui/lo-fi/v2/SessionLoFi.tsx +11 -0
  1041. package/dist/components/catalyst-ui/lo-fi/v2/SettingsLoFi.tsx +13 -0
  1042. package/dist/components/catalyst-ui/lo-fi/v2/ShareLoFi.tsx +21 -0
  1043. package/dist/components/catalyst-ui/lo-fi/v2/Sidebar24LoFi.tsx +17 -0
  1044. package/dist/components/catalyst-ui/lo-fi/v2/SidebarAgnosticLoFi.tsx +22 -0
  1045. package/dist/components/catalyst-ui/lo-fi/v2/SidebarDetailsLoFi.tsx +17 -0
  1046. package/dist/components/catalyst-ui/lo-fi/v2/SidebarInAPopoverLoFi.tsx +16 -0
  1047. package/dist/components/catalyst-ui/lo-fi/v2/SidebarNavLoFi.tsx +14 -0
  1048. package/dist/components/catalyst-ui/lo-fi/v2/SidebarReactRouterLoFi.tsx +24 -0
  1049. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultLoFi.tsx +18 -0
  1050. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultWRightLoFi.tsx +23 -0
  1051. package/dist/components/catalyst-ui/lo-fi/v2/SidebarWithSubmenusLoFi.tsx +25 -0
  1052. package/dist/components/catalyst-ui/lo-fi/v2/SignUpLoFi.tsx +14 -0
  1053. package/dist/components/catalyst-ui/lo-fi/v2/SignatureLoFi.tsx +12 -0
  1054. package/dist/components/catalyst-ui/lo-fi/v2/SingletonMiddlewareLoFi.tsx +11 -0
  1055. package/dist/components/catalyst-ui/lo-fi/v2/SiteHeaderLoFi.tsx +18 -0
  1056. package/dist/components/catalyst-ui/lo-fi/v2/SmallTableLoFi.tsx +18 -0
  1057. package/dist/components/catalyst-ui/lo-fi/v2/SpeedDialLoFi.tsx +14 -0
  1058. package/dist/components/catalyst-ui/lo-fi/v2/SpinLoFi.tsx +7 -0
  1059. package/dist/components/catalyst-ui/lo-fi/v2/SpinnerLoFi.tsx +9 -0
  1060. package/dist/components/catalyst-ui/lo-fi/v2/StackLoFi.tsx +14 -0
  1061. package/dist/components/catalyst-ui/lo-fi/v2/StackedListsLoFi.tsx +50 -0
  1062. package/dist/components/catalyst-ui/lo-fi/v2/StackedLoFi.tsx +11 -0
  1063. package/dist/components/catalyst-ui/lo-fi/v2/StateChangeLoFi.tsx +11 -0
  1064. package/dist/components/catalyst-ui/lo-fi/v2/StatsLoFi.tsx +15 -0
  1065. package/dist/components/catalyst-ui/lo-fi/v2/StatusLoFi.tsx +11 -0
  1066. package/dist/components/catalyst-ui/lo-fi/v2/StepsLoFi.tsx +18 -0
  1067. package/dist/components/catalyst-ui/lo-fi/v2/StoreFrontLoFi.tsx +15 -0
  1068. package/dist/components/catalyst-ui/lo-fi/v2/StoreNavSectionLoFi.tsx +14 -0
  1069. package/dist/components/catalyst-ui/lo-fi/v2/StripeLoFi.tsx +15 -0
  1070. package/dist/components/catalyst-ui/lo-fi/v2/StyleProviderLoFi.tsx +16 -0
  1071. package/dist/components/catalyst-ui/lo-fi/v2/TSTableLoFi.tsx +24 -0
  1072. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV1LoFi.tsx +20 -0
  1073. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV2LoFi.tsx +20 -0
  1074. package/dist/components/catalyst-ui/lo-fi/v2/TabViewLoFi.tsx +17 -0
  1075. package/dist/components/catalyst-ui/lo-fi/v2/TableLoFi.tsx +18 -0
  1076. package/dist/components/catalyst-ui/lo-fi/v2/TagLoFi.tsx +11 -0
  1077. package/dist/components/catalyst-ui/lo-fi/v2/TailwindcssTxtLoFi.tsx +20 -0
  1078. package/dist/components/catalyst-ui/lo-fi/v2/TaskListLoFi.tsx +16 -0
  1079. package/dist/components/catalyst-ui/lo-fi/v2/TaskboardLoFi.tsx +20 -0
  1080. package/dist/components/catalyst-ui/lo-fi/v2/TasksLoFi.tsx +19 -0
  1081. package/dist/components/catalyst-ui/lo-fi/v2/TeamMembersLoFi.tsx +20 -0
  1082. package/dist/components/catalyst-ui/lo-fi/v2/TerminalLoFi.tsx +20 -0
  1083. package/dist/components/catalyst-ui/lo-fi/v2/TextEditorLoFi.tsx +14 -0
  1084. package/dist/components/catalyst-ui/lo-fi/v2/ThemeSelectorLoFi.tsx +14 -0
  1085. package/dist/components/catalyst-ui/lo-fi/v2/TicketsLoFi.tsx +16 -0
  1086. package/dist/components/catalyst-ui/lo-fi/v2/TimelineLoFi.tsx +33 -0
  1087. package/dist/components/catalyst-ui/lo-fi/v2/TimelineV1LoFi.tsx +36 -0
  1088. package/dist/components/catalyst-ui/lo-fi/v2/TitleSectionLoFi.tsx +15 -0
  1089. package/dist/components/catalyst-ui/lo-fi/v2/ToDoLoFi.tsx +17 -0
  1090. package/dist/components/catalyst-ui/lo-fi/v2/ToggleClassLoFi.tsx +12 -0
  1091. package/dist/components/catalyst-ui/lo-fi/v2/ToolbarLoFi.tsx +14 -0
  1092. package/dist/components/catalyst-ui/lo-fi/v2/TourLoFi.tsx +21 -0
  1093. package/dist/components/catalyst-ui/lo-fi/v2/TransitionLoFi.tsx +10 -0
  1094. package/dist/components/catalyst-ui/lo-fi/v2/TransitionablePortalLoFi.tsx +12 -0
  1095. package/dist/components/catalyst-ui/lo-fi/v2/TravelLoFi.tsx +12 -0
  1096. package/dist/components/catalyst-ui/lo-fi/v2/TreeViewLoFi.tsx +24 -0
  1097. package/dist/components/catalyst-ui/lo-fi/v2/UnderConstructionLoFi.tsx +11 -0
  1098. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionLoFi.tsx +19 -0
  1099. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionNoDashLoFi.tsx +15 -0
  1100. package/dist/components/catalyst-ui/lo-fi/v2/UseAsyncLoFi.tsx +10 -0
  1101. package/dist/components/catalyst-ui/lo-fi/v2/UseClickOutsideLoFi.tsx +10 -0
  1102. package/dist/components/catalyst-ui/lo-fi/v2/UseCopyToClipboardLoFi.tsx +10 -0
  1103. package/dist/components/catalyst-ui/lo-fi/v2/UseCounterLoFi.tsx +11 -0
  1104. package/dist/components/catalyst-ui/lo-fi/v2/UseDebounceLoFi.tsx +10 -0
  1105. package/dist/components/catalyst-ui/lo-fi/v2/UseDebouncedFuseSearchLoFi.tsx +10 -0
  1106. package/dist/components/catalyst-ui/lo-fi/v2/UseEventListenerLoFi.tsx +10 -0
  1107. package/dist/components/catalyst-ui/lo-fi/v2/UseExportMarkdownLoFi.tsx +10 -0
  1108. package/dist/components/catalyst-ui/lo-fi/v2/UseExportTsxLoFi.tsx +10 -0
  1109. package/dist/components/catalyst-ui/lo-fi/v2/UseExternalScriptsLoFi.tsx +11 -0
  1110. package/dist/components/catalyst-ui/lo-fi/v2/UseFaviconLoFi.tsx +10 -0
  1111. package/dist/components/catalyst-ui/lo-fi/v2/UseFetchLoFi.tsx +11 -0
  1112. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusLoFi.tsx +10 -0
  1113. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusWithinLoFi.tsx +10 -0
  1114. package/dist/components/catalyst-ui/lo-fi/v2/UseFormLoFi.tsx +11 -0
  1115. package/dist/components/catalyst-ui/lo-fi/v2/UseFuseSearchLoFi.tsx +10 -0
  1116. package/dist/components/catalyst-ui/lo-fi/v2/UseFuzzySearchLoFi.tsx +11 -0
  1117. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalLoadingStateLoFi.tsx +10 -0
  1118. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalNavigationStateLoFi.tsx +11 -0
  1119. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalPendingStateLoFi.tsx +10 -0
  1120. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalSubmittingStateLoFi.tsx +10 -0
  1121. package/dist/components/catalyst-ui/lo-fi/v2/UseHoverLoFi.tsx +10 -0
  1122. package/dist/components/catalyst-ui/lo-fi/v2/UseIntersectionObserverLoFi.tsx +10 -0
  1123. package/dist/components/catalyst-ui/lo-fi/v2/UseIntervalLoFi.tsx +10 -0
  1124. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyPressLoFi.tsx +11 -0
  1125. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyboardLoFi.tsx +11 -0
  1126. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalStorageLoFi.tsx +10 -0
  1127. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalesLoFi.tsx +11 -0
  1128. package/dist/components/catalyst-ui/lo-fi/v2/UseLongPressLoFi.tsx +10 -0
  1129. package/dist/components/catalyst-ui/lo-fi/v2/UseMediaQueryLoFi.tsx +10 -0
  1130. package/dist/components/catalyst-ui/lo-fi/v2/UseMobileLoFi.tsx +10 -0
  1131. package/dist/components/catalyst-ui/lo-fi/v2/UseMountEffectLoFi.tsx +10 -0
  1132. package/dist/components/catalyst-ui/lo-fi/v2/UseMountedLoFi.tsx +10 -0
  1133. package/dist/components/catalyst-ui/lo-fi/v2/UseMoveLoFi.tsx +11 -0
  1134. package/dist/components/catalyst-ui/lo-fi/v2/UseMutationObserverLoFi.tsx +10 -0
  1135. package/dist/components/catalyst-ui/lo-fi/v2/UseOnlineStatusLoFi.tsx +10 -0
  1136. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayListenerLoFi.tsx +10 -0
  1137. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayScrollListenerLoFi.tsx +10 -0
  1138. package/dist/components/catalyst-ui/lo-fi/v2/UsePressLoFi.tsx +10 -0
  1139. package/dist/components/catalyst-ui/lo-fi/v2/UsePreviousLoFi.tsx +11 -0
  1140. package/dist/components/catalyst-ui/lo-fi/v2/UseResizeListenerLoFi.tsx +10 -0
  1141. package/dist/components/catalyst-ui/lo-fi/v2/UseScrollPositionLoFi.tsx +11 -0
  1142. package/dist/components/catalyst-ui/lo-fi/v2/UseSessionStorageLoFi.tsx +10 -0
  1143. package/dist/components/catalyst-ui/lo-fi/v2/UseShouldHydrateLoFi.tsx +10 -0
  1144. package/dist/components/catalyst-ui/lo-fi/v2/UseSlideInLoFi.tsx +10 -0
  1145. package/dist/components/catalyst-ui/lo-fi/v2/UseStreamLoFi.tsx +11 -0
  1146. package/dist/components/catalyst-ui/lo-fi/v2/UseThrottleLoFi.tsx +10 -0
  1147. package/dist/components/catalyst-ui/lo-fi/v2/UseTimeoutLoFi.tsx +10 -0
  1148. package/dist/components/catalyst-ui/lo-fi/v2/UseToggleLoFi.tsx +10 -0
  1149. package/dist/components/catalyst-ui/lo-fi/v2/UseUnmountEffectLoFi.tsx +10 -0
  1150. package/dist/components/catalyst-ui/lo-fi/v2/UseUpdateEffectLoFi.tsx +10 -0
  1151. package/dist/components/catalyst-ui/lo-fi/v2/UseWindowSizeLoFi.tsx +11 -0
  1152. package/dist/components/catalyst-ui/lo-fi/v2/UserBasedAccessRulesLoFi.tsx +20 -0
  1153. package/dist/components/catalyst-ui/lo-fi/v2/UserLoFi.tsx +10 -0
  1154. package/dist/components/catalyst-ui/lo-fi/v2/UserOnboardingLoFi.tsx +12 -0
  1155. package/dist/components/catalyst-ui/lo-fi/v2/VerificationLoFi.tsx +17 -0
  1156. package/dist/components/catalyst-ui/lo-fi/v2/VirtualizerLoFi.tsx +16 -0
  1157. package/dist/components/catalyst-ui/lo-fi/v2/WatermarkLoFi.tsx +13 -0
  1158. package/dist/components/catalyst-ui/lo-fi/v2/WithACalendarLoFi.tsx +23 -0
  1159. package/dist/components/catalyst-ui/lo-fi/v2/WithAShoppingCartLoFi.tsx +20 -0
  1160. package/dist/components/catalyst-ui/lo-fi/v2/WithATreeViewLoFi.tsx +20 -0
  1161. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleNestedSidebarsLoFi.tsx +22 -0
  1162. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSectionsLoFi.tsx +20 -0
  1163. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSubmenusLoFi.tsx +26 -0
  1164. package/dist/components/catalyst-ui/lo-fi/v2/WithCookieMiddlewareLoFi.tsx +17 -0
  1165. package/dist/components/catalyst-ui/lo-fi/v2/WithInitialLoadingStateLoFi.tsx +13 -0
  1166. package/dist/components/catalyst-ui/lo-fi/v2/WithLoadingNavStateChangesLoFi.tsx +17 -0
  1167. package/dist/components/catalyst-ui/lo-fi/v2/WithNavigationGroupedBySectionLoFi.tsx +24 -0
  1168. package/dist/components/catalyst-ui/lo-fi/v2/WithSubmenusAsDropdownsLoFi.tsx +25 -0
  1169. package/dist/components/catalyst-ui/lo-fi/v2/action-bar-lofi.tsx +20 -0
  1170. package/dist/components/catalyst-ui/lo-fi/v2/block-quote-lofi.tsx +10 -0
  1171. package/dist/components/catalyst-ui/lo-fi/v2/calendar-lofi.tsx +19 -0
  1172. package/dist/components/catalyst-ui/lo-fi/v2/cascade-tree-lofi.tsx +34 -0
  1173. package/dist/components/catalyst-ui/lo-fi/v2/cascader-lofi.tsx +27 -0
  1174. package/dist/components/catalyst-ui/lo-fi/v2/changelog-lofi.tsx +14 -0
  1175. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-lofi.tsx +27 -0
  1176. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-picker-lofi.tsx +28 -0
  1177. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-card-v1-lofi.tsx +29 -0
  1178. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-v1-lofi.tsx +24 -0
  1179. package/dist/components/catalyst-ui/lo-fi/v2/client-only-mermaid-lofi.tsx +21 -0
  1180. package/dist/components/catalyst-ui/lo-fi/v2/color-picker-lofi.tsx +24 -0
  1181. package/dist/components/catalyst-ui/lo-fi/v2/combobox-v1-lofi.tsx +25 -0
  1182. package/dist/components/catalyst-ui/lo-fi/v2/credit-card-input-lofi.tsx +32 -0
  1183. package/dist/components/catalyst-ui/lo-fi/v2/floating-label-lofi.tsx +26 -0
  1184. package/dist/components/catalyst-ui/lo-fi/v2/form-wizard-lofi.tsx +26 -0
  1185. package/dist/components/catalyst-ui/lo-fi/v2/hero-lofi.tsx +15 -0
  1186. package/dist/components/catalyst-ui/lo-fi/v2/heroV2-lofi.tsx +17 -0
  1187. package/dist/components/catalyst-ui/lo-fi/v2/inline-edit-lofi.tsx +19 -0
  1188. package/dist/components/catalyst-ui/lo-fi/v2/inplaceLoFi.tsx +10 -0
  1189. package/dist/components/catalyst-ui/lo-fi/v2/input-mask-lofi.tsx +33 -0
  1190. package/dist/components/catalyst-ui/lo-fi/v2/install-code-array-section-lofi.tsx +20 -0
  1191. package/dist/components/catalyst-ui/lo-fi/v2/install-code-section-lofi.tsx +16 -0
  1192. package/dist/components/catalyst-ui/lo-fi/v2/install-github-section-lofi.tsx +11 -0
  1193. package/dist/components/catalyst-ui/lo-fi/v2/json-input-lofi.tsx +29 -0
  1194. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascade-tree-lofi.tsx +40 -0
  1195. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascader-lofi.tsx +28 -0
  1196. package/dist/components/catalyst-ui/lo-fi/v2/multi-combobox-lofi.tsx +31 -0
  1197. package/dist/components/catalyst-ui/lo-fi/v2/nav-shopping-cart-lofi.tsx +13 -0
  1198. package/dist/components/catalyst-ui/lo-fi/v2/pin-input-lofi.tsx +23 -0
  1199. package/dist/components/catalyst-ui/lo-fi/v2/select-button-lofi.tsx +20 -0
  1200. package/dist/components/catalyst-ui/lo-fi/v2/sidebar28-lofi.tsx +15 -0
  1201. package/dist/components/catalyst-ui/lo-fi/v2/step-form-wizard-lofi.tsx +34 -0
  1202. package/dist/components/catalyst-ui/lo-fi/v2/tags-input-lofi.tsx +21 -0
  1203. package/dist/components/catalyst-ui/lo-fi/v2/textarea-lofi.tsx +18 -0
  1204. package/dist/components/catalyst-ui/lo-fi/v2/textarea-v2-lofi.tsx +19 -0
  1205. package/dist/components/catalyst-ui/lo-fi/v2/transfer-list-lofi.tsx +40 -0
  1206. package/dist/components/catalyst-ui/lo-fi/v2/tri-state-checkbox-lofi.tsx +25 -0
  1207. package/dist/components/catalyst-ui/lo-fi/v2/tsxSection-lofi.tsx +20 -0
  1208. package/dist/components/catalyst-ui/marketing/demo/demos.tsx +0 -0
  1209. package/dist/components/catalyst-ui/marketing/demo/sectionHeadings-demo.tsx +103 -0
  1210. package/dist/components/catalyst-ui/marketing/elements/banner-with-effect.tsx +0 -0
  1211. package/dist/components/catalyst-ui/marketing/elements/flyoutMenu.tsx +318 -0
  1212. package/dist/components/catalyst-ui/marketing/index.ts +41 -0
  1213. package/dist/components/catalyst-ui/marketing/sections/animated-testimonials.tsx +169 -0
  1214. package/dist/components/catalyst-ui/marketing/sections/bentoGrid.tsx +300 -0
  1215. package/dist/components/catalyst-ui/marketing/sections/blog.tsx +469 -0
  1216. package/dist/components/catalyst-ui/marketing/sections/blogEditor.tsx +358 -0
  1217. package/dist/components/catalyst-ui/marketing/sections/blogPost.tsx +208 -0
  1218. package/dist/components/catalyst-ui/marketing/sections/carousel.tsx +928 -0
  1219. package/dist/components/catalyst-ui/marketing/sections/cta.tsx +379 -0
  1220. package/dist/components/catalyst-ui/marketing/sections/faq.tsx +147 -0
  1221. package/dist/components/catalyst-ui/marketing/sections/feature-carousel.tsx +505 -0
  1222. package/dist/components/catalyst-ui/marketing/sections/feature-section.tsx +83 -0
  1223. package/dist/components/catalyst-ui/marketing/sections/feature-showcase.tsx +250 -0
  1224. package/dist/components/catalyst-ui/marketing/sections/feature.tsx +279 -0
  1225. package/dist/components/catalyst-ui/marketing/sections/footer.tsx +390 -0
  1226. package/dist/components/catalyst-ui/marketing/sections/header-1.tsx +450 -0
  1227. package/dist/components/catalyst-ui/marketing/sections/header.tsx +414 -0
  1228. package/dist/components/catalyst-ui/marketing/sections/hero-2.tsx +55 -0
  1229. package/dist/components/catalyst-ui/marketing/sections/hero-3.tsx +12 -0
  1230. package/dist/components/catalyst-ui/marketing/sections/hero-section.tsx +17 -0
  1231. package/dist/components/catalyst-ui/marketing/sections/hero.tsx +169 -0
  1232. package/dist/components/catalyst-ui/marketing/sections/image-section.tsx +36 -0
  1233. package/dist/components/catalyst-ui/marketing/sections/index.ts +33 -0
  1234. package/dist/components/catalyst-ui/marketing/sections/logoClouds.tsx +295 -0
  1235. package/dist/components/catalyst-ui/marketing/sections/newsLetter.tsx +137 -0
  1236. package/dist/components/catalyst-ui/marketing/sections/page-header-section.tsx +127 -0
  1237. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel-2.tsx +282 -0
  1238. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel.tsx +555 -0
  1239. package/dist/components/catalyst-ui/marketing/sections/pricing-single-card.tsx +154 -0
  1240. package/dist/components/catalyst-ui/marketing/sections/pricing.tsx +790 -0
  1241. package/dist/components/catalyst-ui/marketing/sections/testimonial-carousel.tsx +499 -0
  1242. package/dist/components/catalyst-ui/marketing/sections/testimonial.tsx +204 -0
  1243. package/dist/components/catalyst-ui/marketing/sections/title-section.tsx +57 -0
  1244. package/dist/components/catalyst-ui/media/3d-marquee.tsx +144 -0
  1245. package/dist/components/catalyst-ui/media/avatar-circles.tsx +78 -0
  1246. package/dist/components/catalyst-ui/media/blur-fade.tsx +106 -0
  1247. package/dist/components/catalyst-ui/media/carousel-1.tsx +926 -0
  1248. package/dist/components/catalyst-ui/media/carousel-2.tsx +198 -0
  1249. package/dist/components/catalyst-ui/media/carousel-hero.tsx +286 -0
  1250. package/dist/components/catalyst-ui/media/carousel-simple.tsx +244 -0
  1251. package/dist/components/catalyst-ui/media/color-palette-card.tsx +85 -0
  1252. package/dist/components/catalyst-ui/media/cropper.tsx +68 -0
  1253. package/dist/components/catalyst-ui/media/embla-carousel-arrow-buttons.tsx +117 -0
  1254. package/dist/components/catalyst-ui/media/embla-carousel-snap.tsx +103 -0
  1255. package/dist/components/catalyst-ui/media/galleria.tsx +316 -0
  1256. package/dist/components/catalyst-ui/media/globe.tsx +138 -0
  1257. package/dist/components/catalyst-ui/media/google-maps-component.tsx +540 -0
  1258. package/dist/components/catalyst-ui/media/icon-cloud.tsx +312 -0
  1259. package/dist/components/catalyst-ui/media/image-comparison.tsx +251 -0
  1260. package/dist/components/catalyst-ui/media/image-crop.tsx +366 -0
  1261. package/dist/components/catalyst-ui/media/image-zoom.tsx +51 -0
  1262. package/dist/components/catalyst-ui/media/index.ts +32 -0
  1263. package/dist/components/catalyst-ui/media/infinite-scroll.tsx +303 -0
  1264. package/dist/components/catalyst-ui/media/infinite-slider.tsx +108 -0
  1265. package/dist/components/catalyst-ui/media/interactive-icon-cloud.tsx +100 -0
  1266. package/dist/components/catalyst-ui/media/logo.tsx +100 -0
  1267. package/dist/components/catalyst-ui/media/marquee.tsx +199 -0
  1268. package/dist/components/catalyst-ui/media/marquee1.tsx +114 -0
  1269. package/dist/components/catalyst-ui/media/parallax-scroll.tsx +119 -0
  1270. package/dist/components/catalyst-ui/media/pixel-image.tsx +153 -0
  1271. package/dist/components/catalyst-ui/media/video-player.tsx +94 -0
  1272. package/dist/components/catalyst-ui/motions/animated-number.tsx +252 -0
  1273. package/dist/components/catalyst-ui/motions/bg-media.tsx +122 -0
  1274. package/dist/components/catalyst-ui/motions/border-beam.tsx +40 -0
  1275. package/dist/components/catalyst-ui/motions/circle-menu.tsx +320 -0
  1276. package/dist/components/catalyst-ui/motions/color-picker.tsx +490 -0
  1277. package/dist/components/catalyst-ui/motions/color-wheel.tsx +81 -0
  1278. package/dist/components/catalyst-ui/motions/direction-aware-tabs.tsx +568 -0
  1279. package/dist/components/catalyst-ui/motions/dynamic-island.tsx +733 -0
  1280. package/dist/components/catalyst-ui/motions/expandable-card.tsx +941 -0
  1281. package/dist/components/catalyst-ui/motions/expandable-screen.tsx +455 -0
  1282. package/dist/components/catalyst-ui/motions/floating-panel.tsx +1115 -0
  1283. package/dist/components/catalyst-ui/motions/gradient-heading.tsx +116 -0
  1284. package/dist/components/catalyst-ui/motions/index.ts +93 -0
  1285. package/dist/components/catalyst-ui/motions/intro-disclosure.tsx +1345 -0
  1286. package/dist/components/catalyst-ui/motions/light-board.tsx +888 -0
  1287. package/dist/components/catalyst-ui/motions/loading-carousel.tsx +517 -0
  1288. package/dist/components/catalyst-ui/motions/logo-carousel.tsx +586 -0
  1289. package/dist/components/catalyst-ui/motions/morph-surface.tsx +779 -0
  1290. package/dist/components/catalyst-ui/motions/motion-accordian.tsx +206 -0
  1291. package/dist/components/catalyst-ui/motions/motion-alert-dialog.tsx +356 -0
  1292. package/dist/components/catalyst-ui/motions/motion-avatar.tsx +384 -0
  1293. package/dist/components/catalyst-ui/motions/motion-beam.tsx +674 -0
  1294. package/dist/components/catalyst-ui/motions/motion-bento.tsx +262 -0
  1295. package/dist/components/catalyst-ui/motions/motion-bento1.tsx +307 -0
  1296. package/dist/components/catalyst-ui/motions/motion-button.tsx +107 -0
  1297. package/dist/components/catalyst-ui/motions/motion-calendar.tsx +213 -0
  1298. package/dist/components/catalyst-ui/motions/motion-card.tsx +1609 -0
  1299. package/dist/components/catalyst-ui/motions/motion-card1.tsx +825 -0
  1300. package/dist/components/catalyst-ui/motions/motion-card2.tsx +289 -0
  1301. package/dist/components/catalyst-ui/motions/motion-card3.tsx +190 -0
  1302. package/dist/components/catalyst-ui/motions/motion-carousel.tsx +517 -0
  1303. package/dist/components/catalyst-ui/motions/motion-checkbox.tsx +77 -0
  1304. package/dist/components/catalyst-ui/motions/motion-choicebox.tsx +360 -0
  1305. package/dist/components/catalyst-ui/motions/motion-combobox.tsx +242 -0
  1306. package/dist/components/catalyst-ui/motions/motion-command.tsx +328 -0
  1307. package/dist/components/catalyst-ui/motions/motion-context-menu.tsx +391 -0
  1308. package/dist/components/catalyst-ui/motions/motion-date-picker.tsx +162 -0
  1309. package/dist/components/catalyst-ui/motions/motion-dialog.tsx +350 -0
  1310. package/dist/components/catalyst-ui/motions/motion-drawer.tsx +1778 -0
  1311. package/dist/components/catalyst-ui/motions/motion-drawer1.tsx +209 -0
  1312. package/dist/components/catalyst-ui/motions/motion-dropdown-menu.tsx +429 -0
  1313. package/dist/components/catalyst-ui/motions/motion-dropdown1.tsx +572 -0
  1314. package/dist/components/catalyst-ui/motions/motion-feature-carousel.tsx +771 -0
  1315. package/dist/components/catalyst-ui/motions/motion-file-upload.tsx +596 -0
  1316. package/dist/components/catalyst-ui/motions/motion-group.tsx +194 -0
  1317. package/dist/components/catalyst-ui/motions/motion-highlight.tsx +550 -0
  1318. package/dist/components/catalyst-ui/motions/motion-highlight2.tsx +590 -0
  1319. package/dist/components/catalyst-ui/motions/motion-hover-card.tsx +207 -0
  1320. package/dist/components/catalyst-ui/motions/motion-images.tsx +53 -0
  1321. package/dist/components/catalyst-ui/motions/motion-input.tsx +51 -0
  1322. package/dist/components/catalyst-ui/motions/motion-list.tsx +170 -0
  1323. package/dist/components/catalyst-ui/motions/motion-logo-carosel.tsx +668 -0
  1324. package/dist/components/catalyst-ui/motions/motion-map.tsx +372 -0
  1325. package/dist/components/catalyst-ui/motions/motion-navbar.tsx +69 -0
  1326. package/dist/components/catalyst-ui/motions/motion-navigation-menu.tsx +302 -0
  1327. package/dist/components/catalyst-ui/motions/motion-panel.tsx +338 -0
  1328. package/dist/components/catalyst-ui/motions/motion-popover.tsx +281 -0
  1329. package/dist/components/catalyst-ui/motions/motion-radio-card.tsx +77 -0
  1330. package/dist/components/catalyst-ui/motions/motion-radio-group.tsx +54 -0
  1331. package/dist/components/catalyst-ui/motions/motion-rating.tsx +182 -0
  1332. package/dist/components/catalyst-ui/motions/motion-screen.tsx +441 -0
  1333. package/dist/components/catalyst-ui/motions/motion-search-bar.tsx +1013 -0
  1334. package/dist/components/catalyst-ui/motions/motion-section.tsx +270 -0
  1335. package/dist/components/catalyst-ui/motions/motion-select.tsx +306 -0
  1336. package/dist/components/catalyst-ui/motions/motion-spotlight.tsx +217 -0
  1337. package/dist/components/catalyst-ui/motions/motion-switch.tsx +83 -0
  1338. package/dist/components/catalyst-ui/motions/motion-tabs.tsx +554 -0
  1339. package/dist/components/catalyst-ui/motions/motion-tabs2.tsx +257 -0
  1340. package/dist/components/catalyst-ui/motions/motion-testimonials.tsx +282 -0
  1341. package/dist/components/catalyst-ui/motions/motion-toast.tsx +398 -0
  1342. package/dist/components/catalyst-ui/motions/motion-toolbar-tabs.tsx +519 -0
  1343. package/dist/components/catalyst-ui/motions/motion-toolbar.tsx +1113 -0
  1344. package/dist/components/catalyst-ui/motions/motion-tooltip.tsx +162 -0
  1345. package/dist/components/catalyst-ui/motions/motion-tooltip2.tsx +82 -0
  1346. package/dist/components/catalyst-ui/motions/motion-video-player.tsx +1056 -0
  1347. package/dist/components/catalyst-ui/motions/motions-input.tsx +51 -0
  1348. package/dist/components/catalyst-ui/motions/popover-form.tsx +469 -0
  1349. package/dist/components/catalyst-ui/motions/profile-dropdown.tsx +237 -0
  1350. package/dist/components/catalyst-ui/motions/radial-menu.tsx +303 -0
  1351. package/dist/components/catalyst-ui/motions/roladex.tsx +194 -0
  1352. package/dist/components/catalyst-ui/motions/roladex1.tsx +166 -0
  1353. package/dist/components/catalyst-ui/motions/shift-card.tsx +302 -0
  1354. package/dist/components/catalyst-ui/motions/side-panel.tsx +352 -0
  1355. package/dist/components/catalyst-ui/motions/smooth-drawer.tsx +213 -0
  1356. package/dist/components/catalyst-ui/motions/smooth-popover.tsx +491 -0
  1357. package/dist/components/catalyst-ui/motions/sortable-list.tsx +712 -0
  1358. package/dist/components/catalyst-ui/motions/stripe.tsx +261 -0
  1359. package/dist/components/catalyst-ui/motions/texture-button.tsx +217 -0
  1360. package/dist/components/catalyst-ui/motions/timer.tsx +286 -0
  1361. package/dist/components/catalyst-ui/motions/toolbar-expandable.tsx +1138 -0
  1362. package/dist/components/catalyst-ui/motions/youtube-player.tsx +614 -0
  1363. package/dist/components/catalyst-ui/overlays/animated-modal.tsx +212 -0
  1364. package/dist/components/catalyst-ui/overlays/animated-tooltip.tsx +99 -0
  1365. package/dist/components/catalyst-ui/overlays/confirm-popup.tsx +219 -0
  1366. package/dist/components/catalyst-ui/overlays/dialog-stack.tsx +558 -0
  1367. package/dist/components/catalyst-ui/overlays/index.ts +19 -0
  1368. package/dist/components/catalyst-ui/overlays/loading-overlay.tsx +324 -0
  1369. package/dist/components/catalyst-ui/overlays/modal-integrations-1.tsx +300 -0
  1370. package/dist/components/catalyst-ui/overlays/modal-integrations.tsx +301 -0
  1371. package/dist/components/catalyst-ui/overlays/overlay-panel.tsx +233 -0
  1372. package/dist/components/catalyst-ui/overlays/popconfirm.tsx +721 -0
  1373. package/dist/components/catalyst-ui/overlays/sidebar-props.tsx +492 -0
  1374. package/dist/components/catalyst-ui/overlays/sidebar.tsx +2208 -0
  1375. package/dist/components/catalyst-ui/overlays/sidebarMenuItemLoading.tsx +124 -0
  1376. package/dist/components/catalyst-ui/overlays/texture-card.tsx +309 -0
  1377. package/dist/components/catalyst-ui/overlays/transitionable-portal.tsx +230 -0
  1378. package/dist/components/catalyst-ui/pdf/generate_custom_pdf.tsx +40 -0
  1379. package/dist/components/catalyst-ui/pdf/generate_pdf.tsx +196 -0
  1380. package/dist/components/catalyst-ui/pdf/index.ts +12 -0
  1381. package/dist/components/catalyst-ui/pdf/pdf.tsx +32 -0
  1382. package/dist/components/catalyst-ui/pdf/pdf_generator.ts +141 -0
  1383. package/dist/components/catalyst-ui/pdf/pdf_sender.$dealerId.$documentId.$dept.tsx +1260 -0
  1384. package/dist/components/catalyst-ui/pdf/pdf_signer.$id.tsx +1438 -0
  1385. package/dist/components/catalyst-ui/pdf/print_pdf.tsx +15905 -0
  1386. package/dist/components/catalyst-ui/pdf/templateBuilder.tsx +1590 -0
  1387. package/dist/components/catalyst-ui/pdf/test.tsx +53 -0
  1388. package/dist/components/catalyst-ui/pos/index.ts +5 -0
  1389. package/dist/components/catalyst-ui/pos/tools/barcodeScanner.tsx +160 -0
  1390. package/dist/components/catalyst-ui/pos/tools/cashDrawerWizard.tsx +1403 -0
  1391. package/dist/components/catalyst-ui/pos/tools/scan.mp4 +0 -0
  1392. package/dist/components/catalyst-ui/primitives/alert.tsx +103 -0
  1393. package/dist/components/catalyst-ui/primitives/annotated.tsx +133 -0
  1394. package/dist/components/catalyst-ui/primitives/button-group.tsx +89 -0
  1395. package/dist/components/catalyst-ui/primitives/checkbox-tree.tsx +175 -0
  1396. package/dist/components/catalyst-ui/primitives/combobox.tsx +93 -0
  1397. package/dist/components/catalyst-ui/primitives/description-list.tsx +88 -0
  1398. package/dist/components/catalyst-ui/primitives/index.ts +59 -0
  1399. package/dist/components/catalyst-ui/primitives/input-group.tsx +186 -0
  1400. package/dist/components/catalyst-ui/primitives/menubar.tsx +273 -0
  1401. package/dist/components/catalyst-ui/primitives/progress-bar.tsx +114 -0
  1402. package/dist/components/catalyst-ui/primitives/radio-card.tsx +167 -0
  1403. package/dist/components/catalyst-ui/primitives/scroll-area.tsx +56 -0
  1404. package/dist/components/catalyst-ui/primitives/table.tsx +329 -0
  1405. package/dist/components/catalyst-ui/prompt/ai-input-search.tsx +288 -0
  1406. package/dist/components/catalyst-ui/prompt/ai-loading-state.tsx +313 -0
  1407. package/dist/components/catalyst-ui/prompt/ai-prompt-input.tsx +305 -0
  1408. package/dist/components/catalyst-ui/prompt/ai-voice.tsx +241 -0
  1409. package/dist/components/catalyst-ui/prompt/chain-of-thought.tsx +146 -0
  1410. package/dist/components/catalyst-ui/prompt/chatbot.tsx +201 -0
  1411. package/dist/components/catalyst-ui/prompt/code-block-examples.tsx +227 -0
  1412. package/dist/components/catalyst-ui/prompt/code-block.tsx +92 -0
  1413. package/dist/components/catalyst-ui/prompt/conversation-actions.tsx +150 -0
  1414. package/dist/components/catalyst-ui/prompt/conversation-avatars.tsx +92 -0
  1415. package/dist/components/catalyst-ui/prompt/conversation-prompt-input.tsx +256 -0
  1416. package/dist/components/catalyst-ui/prompt/conversation-scroll-bottom.tsx +121 -0
  1417. package/dist/components/catalyst-ui/prompt/file-upload.tsx +310 -0
  1418. package/dist/components/catalyst-ui/prompt/full-chat-app.tsx +759 -0
  1419. package/dist/components/catalyst-ui/prompt/full-conversation.tsx +76 -0
  1420. package/dist/components/catalyst-ui/prompt/image.tsx +94 -0
  1421. package/dist/components/catalyst-ui/prompt/index.ts +46 -0
  1422. package/dist/components/catalyst-ui/prompt/input-byok.tsx +70 -0
  1423. package/dist/components/catalyst-ui/prompt/jsx-preview.tsx +81 -0
  1424. package/dist/components/catalyst-ui/prompt/loader.tsx +497 -0
  1425. package/dist/components/catalyst-ui/prompt/markdown.tsx +117 -0
  1426. package/dist/components/catalyst-ui/prompt/pre-prompts.tsx +59 -0
  1427. package/dist/components/catalyst-ui/prompt/prompt-autocomplete-highlight.tsx +81 -0
  1428. package/dist/components/catalyst-ui/prompt/prompt-chat-container-basic.tsx +98 -0
  1429. package/dist/components/catalyst-ui/prompt/prompt-chat-container-streaming.tsx +132 -0
  1430. package/dist/components/catalyst-ui/prompt/prompt-chat-container.tsx +65 -0
  1431. package/dist/components/catalyst-ui/prompt/prompt-feedback-bar.tsx +79 -0
  1432. package/dist/components/catalyst-ui/prompt/prompt-input-actions.tsx +100 -0
  1433. package/dist/components/catalyst-ui/prompt/prompt-input-suggestions.tsx +150 -0
  1434. package/dist/components/catalyst-ui/prompt/prompt-input.tsx +187 -0
  1435. package/dist/components/catalyst-ui/prompt/prompt-message.tsx +109 -0
  1436. package/dist/components/catalyst-ui/prompt/prompt-suggestion.tsx +116 -0
  1437. package/dist/components/catalyst-ui/prompt/providers.tsx +540 -0
  1438. package/dist/components/catalyst-ui/prompt/reasoning.tsx +168 -0
  1439. package/dist/components/catalyst-ui/prompt/response-stream.tsx +392 -0
  1440. package/dist/components/catalyst-ui/prompt/scroll-button.tsx +39 -0
  1441. package/dist/components/catalyst-ui/prompt/sidebar-chat-history.tsx +242 -0
  1442. package/dist/components/catalyst-ui/prompt/snippets.tsx +1378 -0
  1443. package/dist/components/catalyst-ui/prompt/source.tsx +127 -0
  1444. package/dist/components/catalyst-ui/prompt/steps.tsx +111 -0
  1445. package/dist/components/catalyst-ui/prompt/system-message.tsx +131 -0
  1446. package/dist/components/catalyst-ui/prompt/tool-calling.tsx +236 -0
  1447. package/dist/components/catalyst-ui/prompt/tool.tsx +204 -0
  1448. package/dist/components/catalyst-ui/sidebars/nav-components/NotificationMenu.tsx +120 -0
  1449. package/dist/components/catalyst-ui/sidebars/nav-components/Tree.tsx +53 -0
  1450. package/dist/components/catalyst-ui/sidebars/nav-components/active-toc.tsx +213 -0
  1451. package/dist/components/catalyst-ui/sidebars/nav-components/analog-clock.tsx +211 -0
  1452. package/dist/components/catalyst-ui/sidebars/nav-components/app-sidebar.tsx +339 -0
  1453. package/dist/components/catalyst-ui/sidebars/nav-components/blog-sidebar.tsx +39 -0
  1454. package/dist/components/catalyst-ui/sidebars/nav-components/calendars.tsx +58 -0
  1455. package/dist/components/catalyst-ui/sidebars/nav-components/date-picker.tsx +12 -0
  1456. package/dist/components/catalyst-ui/sidebars/nav-components/dev-list-sidebar.tsx +195 -0
  1457. package/dist/components/catalyst-ui/sidebars/nav-components/digital-clock.tsx +343 -0
  1458. package/dist/components/catalyst-ui/sidebars/nav-components/index.ts +41 -0
  1459. package/dist/components/catalyst-ui/sidebars/nav-components/loading-sidebar.tsx +42 -0
  1460. package/dist/components/catalyst-ui/sidebars/nav-components/nav-actions.tsx +122 -0
  1461. package/dist/components/catalyst-ui/sidebars/nav-components/nav-appointments.tsx +429 -0
  1462. package/dist/components/catalyst-ui/sidebars/nav-components/nav-auto-search.tsx +314 -0
  1463. package/dist/components/catalyst-ui/sidebars/nav-components/nav-favorites.tsx +71 -0
  1464. package/dist/components/catalyst-ui/sidebars/nav-components/nav-header.tsx +409 -0
  1465. package/dist/components/catalyst-ui/sidebars/nav-components/nav-main.tsx +1583 -0
  1466. package/dist/components/catalyst-ui/sidebars/nav-components/nav-messenger.tsx +440 -0
  1467. package/dist/components/catalyst-ui/sidebars/nav-components/nav-projects.tsx +66 -0
  1468. package/dist/components/catalyst-ui/sidebars/nav-components/nav-quick-actions.tsx +366 -0
  1469. package/dist/components/catalyst-ui/sidebars/nav-components/nav-secondary.tsx +33 -0
  1470. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cart.tsx +231 -0
  1471. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cartCatlstui.tsx +196 -0
  1472. package/dist/components/catalyst-ui/sidebars/nav-components/nav-tree-view.tsx +18 -0
  1473. package/dist/components/catalyst-ui/sidebars/nav-components/nav-user.tsx +87 -0
  1474. package/dist/components/catalyst-ui/sidebars/nav-components/nav-workspaces.tsx +69 -0
  1475. package/dist/components/catalyst-ui/sidebars/nav-components/navigation-theme-selector.tsx +143 -0
  1476. package/dist/components/catalyst-ui/sidebars/nav-components/opt-in-form.tsx +29 -0
  1477. package/dist/components/catalyst-ui/sidebars/nav-components/search-command.tsx +32 -0
  1478. package/dist/components/catalyst-ui/sidebars/nav-components/search-form.tsx +21 -0
  1479. package/dist/components/catalyst-ui/sidebars/nav-components/settings-menu.tsx +35 -0
  1480. package/dist/components/catalyst-ui/sidebars/nav-components/sidebar-dialog.tsx +82 -0
  1481. package/dist/components/catalyst-ui/sidebars/nav-components/site-header.tsx +40 -0
  1482. package/dist/components/catalyst-ui/sidebars/nav-components/team-switcher.tsx +68 -0
  1483. package/dist/components/catalyst-ui/sidebars/nav-components/toc.tsx +301 -0
  1484. package/dist/components/catalyst-ui/sidebars/nav-components/user-menu.tsx +77 -0
  1485. package/dist/components/catalyst-ui/sidebars/nav-components/version-switcher.tsx +49 -0
  1486. package/dist/components/catalyst-ui/sidebars/nav-components/wishlist.tsx +292 -0
  1487. package/dist/components/catalyst-ui/sidebars/sidebar-01/AppSidebar.tsx +36 -0
  1488. package/dist/components/catalyst-ui/sidebars/sidebar-01/SearchForm.tsx +24 -0
  1489. package/dist/components/catalyst-ui/sidebars/sidebar-01/VersionSwitcher.tsx +49 -0
  1490. package/dist/components/catalyst-ui/sidebars/sidebar-01/index.tsx +270 -0
  1491. package/dist/components/catalyst-ui/sidebars/sidebar-01/sidebar-01.tsx +178 -0
  1492. package/dist/components/catalyst-ui/sidebars/sidebar-02/AppSidebar.tsx +56 -0
  1493. package/dist/components/catalyst-ui/sidebars/sidebar-02/SearchForm.tsx +24 -0
  1494. package/dist/components/catalyst-ui/sidebars/sidebar-02/VersionSwitcher.tsx +44 -0
  1495. package/dist/components/catalyst-ui/sidebars/sidebar-02/index.tsx +301 -0
  1496. package/dist/components/catalyst-ui/sidebars/sidebar-02/sidebar-02.tsx +193 -0
  1497. package/dist/components/catalyst-ui/sidebars/sidebar-03/AppSidebar.tsx +54 -0
  1498. package/dist/components/catalyst-ui/sidebars/sidebar-03/index.tsx +238 -0
  1499. package/dist/components/catalyst-ui/sidebars/sidebar-03/sidebar-03.tsx +189 -0
  1500. package/dist/components/catalyst-ui/sidebars/sidebar-04/AppSidebar.tsx +58 -0
  1501. package/dist/components/catalyst-ui/sidebars/sidebar-04/index.tsx +249 -0
  1502. package/dist/components/catalyst-ui/sidebars/sidebar-04/sidebar-04.tsx +201 -0
  1503. package/dist/components/catalyst-ui/sidebars/sidebar-05/AppSidebar.tsx +70 -0
  1504. package/dist/components/catalyst-ui/sidebars/sidebar-05/SearchForm.tsx +25 -0
  1505. package/dist/components/catalyst-ui/sidebars/sidebar-05/index.tsx +275 -0
  1506. package/dist/components/catalyst-ui/sidebars/sidebar-05/sidebar-05.tsx +191 -0
  1507. package/dist/components/catalyst-ui/sidebars/sidebar-06/AppSidebar.tsx +43 -0
  1508. package/dist/components/catalyst-ui/sidebars/sidebar-06/NavMain.tsx +56 -0
  1509. package/dist/components/catalyst-ui/sidebars/sidebar-06/SidebarOptInForm.tsx +34 -0
  1510. package/dist/components/catalyst-ui/sidebars/sidebar-06/index.tsx +290 -0
  1511. package/dist/components/catalyst-ui/sidebars/sidebar-06/sidebar-06.tsx +183 -0
  1512. package/dist/components/catalyst-ui/sidebars/sidebar-07/AppSidebar.tsx +28 -0
  1513. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavMain.tsx +57 -0
  1514. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavProjects.tsx +67 -0
  1515. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavUser.tsx +86 -0
  1516. package/dist/components/catalyst-ui/sidebars/sidebar-07/TeamSwitcher.tsx +74 -0
  1517. package/dist/components/catalyst-ui/sidebars/sidebar-07/index.tsx +474 -0
  1518. package/dist/components/catalyst-ui/sidebars/sidebar-07/sidebar-07.tsx +189 -0
  1519. package/dist/components/catalyst-ui/sidebars/sidebar-08/AppSidebar.tsx +41 -0
  1520. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavMain.tsx +62 -0
  1521. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavProjects.tsx +68 -0
  1522. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavSecondary.tsx +35 -0
  1523. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavUser.tsx +87 -0
  1524. package/dist/components/catalyst-ui/sidebars/sidebar-08/index.tsx +446 -0
  1525. package/dist/components/catalyst-ui/sidebars/sidebar-08/sidebar-08.tsx +181 -0
  1526. package/dist/components/catalyst-ui/sidebars/sidebar-09/AppSidebar.tsx +213 -0
  1527. package/dist/components/catalyst-ui/sidebars/sidebar-09/NavUser.tsx +88 -0
  1528. package/dist/components/catalyst-ui/sidebars/sidebar-09/index.tsx +468 -0
  1529. package/dist/components/catalyst-ui/sidebars/sidebar-09/sidebar-09.tsx +177 -0
  1530. package/dist/components/catalyst-ui/sidebars/sidebar-10/AppSidebar.tsx +28 -0
  1531. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavActions.tsx +59 -0
  1532. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavFavorites.tsx +74 -0
  1533. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavMain.tsx +31 -0
  1534. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavSecondary.tsx +37 -0
  1535. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavWorkspaces.tsx +70 -0
  1536. package/dist/components/catalyst-ui/sidebars/sidebar-10/TeamSwitcher.tsx +70 -0
  1537. package/dist/components/catalyst-ui/sidebars/sidebar-10/index.tsx +675 -0
  1538. package/dist/components/catalyst-ui/sidebars/sidebar-10/sidebar-10.tsx +348 -0
  1539. package/dist/components/catalyst-ui/sidebars/sidebar-11/AppSidebar.tsx +46 -0
  1540. package/dist/components/catalyst-ui/sidebars/sidebar-11/Tree.tsx +49 -0
  1541. package/dist/components/catalyst-ui/sidebars/sidebar-11/index.tsx +175 -0
  1542. package/dist/components/catalyst-ui/sidebars/sidebar-11/sidebar-11.tsx +102 -0
  1543. package/dist/components/catalyst-ui/sidebars/sidebar-12/AppSidebar.tsx +32 -0
  1544. package/dist/components/catalyst-ui/sidebars/sidebar-12/Calendars.tsx +57 -0
  1545. package/dist/components/catalyst-ui/sidebars/sidebar-12/DatePicker.tsx +13 -0
  1546. package/dist/components/catalyst-ui/sidebars/sidebar-12/NavUser.tsx +85 -0
  1547. package/dist/components/catalyst-ui/sidebars/sidebar-12/index.tsx +237 -0
  1548. package/dist/components/catalyst-ui/sidebars/sidebar-12/sidebar-12.tsx +68 -0
  1549. package/dist/components/catalyst-ui/sidebars/sidebar-13/SettingsDialog.tsx +82 -0
  1550. package/dist/components/catalyst-ui/sidebars/sidebar-13/index.tsx +105 -0
  1551. package/dist/components/catalyst-ui/sidebars/sidebar-13/sidebar-13.tsx +24 -0
  1552. package/dist/components/catalyst-ui/sidebars/sidebar-14/AppSidebar.tsx +45 -0
  1553. package/dist/components/catalyst-ui/sidebars/sidebar-14/index.tsx +225 -0
  1554. package/dist/components/catalyst-ui/sidebars/sidebar-14/sidebar-14.tsx +186 -0
  1555. package/dist/components/catalyst-ui/sidebars/sidebar-15/Calendars.tsx +83 -0
  1556. package/dist/components/catalyst-ui/sidebars/sidebar-15/DatePicker.tsx +39 -0
  1557. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavFavorites.tsx +98 -0
  1558. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavMain.tsx +29 -0
  1559. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavSecondary.tsx +36 -0
  1560. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavUser.tsx +89 -0
  1561. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavWorkspaces.tsx +95 -0
  1562. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarLeft.tsx +28 -0
  1563. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarRight.tsx +38 -0
  1564. package/dist/components/catalyst-ui/sidebars/sidebar-15/TeamSwitcher.tsx +89 -0
  1565. package/dist/components/catalyst-ui/sidebars/sidebar-15/index.tsx +776 -0
  1566. package/dist/components/catalyst-ui/sidebars/sidebar-15/sidebar-15.tsx +324 -0
  1567. package/dist/components/catalyst-ui/sidebars/sidebar-16/AppSidebar.tsx +50 -0
  1568. package/dist/components/catalyst-ui/sidebars/sidebar-16/NavUser.tsx +100 -0
  1569. package/dist/components/catalyst-ui/sidebars/sidebar-16/SearchForm.tsx +35 -0
  1570. package/dist/components/catalyst-ui/sidebars/sidebar-16/SiteHeader.tsx +51 -0
  1571. package/dist/components/catalyst-ui/sidebars/sidebar-16/index.tsx +424 -0
  1572. package/dist/components/catalyst-ui/sidebars/sidebar-16/sidebar-16.tsx +188 -0
  1573. package/dist/components/catalyst-ui/sidebars/sidebar-17/AppSidebar.tsx +154 -0
  1574. package/dist/components/catalyst-ui/sidebars/sidebar-17/ShoppingCartSidebar.tsx +163 -0
  1575. package/dist/components/catalyst-ui/sidebars/sidebar-17/index.tsx +557 -0
  1576. package/dist/components/catalyst-ui/sidebars/sidebar-17/sidebar-17.tsx +183 -0
  1577. package/dist/components/catalyst-ui/sidebars/sidebar-18/AppSidebar.tsx +32 -0
  1578. package/dist/components/catalyst-ui/sidebars/sidebar-18/NavTreeView.tsx +18 -0
  1579. package/dist/components/catalyst-ui/sidebars/sidebar-18/index.tsx +120 -0
  1580. package/dist/components/catalyst-ui/sidebars/sidebar-18/sidebar-18.tsx +92 -0
  1581. package/dist/components/catalyst-ui/sidebars/sidebar-19/AppSidebar.tsx +230 -0
  1582. package/dist/components/catalyst-ui/sidebars/sidebar-19/index.tsx +264 -0
  1583. package/dist/components/catalyst-ui/sidebars/sidebar-19/sidebar-19.tsx +59 -0
  1584. package/dist/components/catalyst-ui/sidebars/sidebar-20/AppSidebar.tsx +215 -0
  1585. package/dist/components/catalyst-ui/sidebars/sidebar-20/index.tsx +250 -0
  1586. package/dist/components/catalyst-ui/sidebars/sidebar-20/sidebar-20.tsx +44 -0
  1587. package/dist/components/catalyst-ui/sidebars/sidebar-21/AppSidebar.tsx +303 -0
  1588. package/dist/components/catalyst-ui/sidebars/sidebar-21/LoadingSidebar.tsx +41 -0
  1589. package/dist/components/catalyst-ui/sidebars/sidebar-21/index.tsx +412 -0
  1590. package/dist/components/catalyst-ui/sidebars/sidebar-21/sidebar-21.tsx +75 -0
  1591. package/dist/components/catalyst-ui/sidebars/sidebar-22/AppSidebar.tsx +184 -0
  1592. package/dist/components/catalyst-ui/sidebars/sidebar-22/LoadingSidebar.tsx +45 -0
  1593. package/dist/components/catalyst-ui/sidebars/sidebar-22/index.tsx +251 -0
  1594. package/dist/components/catalyst-ui/sidebars/sidebar-22/sidebar-22.tsx +44 -0
  1595. package/dist/components/catalyst-ui/sidebars/sidebar-24/NavUser.tsx +87 -0
  1596. package/dist/components/catalyst-ui/sidebars/sidebar-24/calendars-24.tsx +58 -0
  1597. package/dist/components/catalyst-ui/sidebars/sidebar-24/date-picker-24.tsx +12 -0
  1598. package/dist/components/catalyst-ui/sidebars/sidebar-24/sidebar-24.tsx +39 -0
  1599. package/dist/components/catalyst-ui/sidebars/sidebar-25/AppSidebar.tsx +24 -0
  1600. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavMain.tsx +57 -0
  1601. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavSecondary.tsx +35 -0
  1602. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavUser.tsx +87 -0
  1603. package/dist/components/catalyst-ui/sidebars/sidebar-25/SearchForm.tsx +35 -0
  1604. package/dist/components/catalyst-ui/sidebars/sidebar-25/SiteHeader.tsx +19 -0
  1605. package/dist/components/catalyst-ui/sidebars/sidebar-25/index.tsx +172 -0
  1606. package/dist/components/catalyst-ui/sidebars/sidebar-25/sidebar-25.tsx +153 -0
  1607. package/dist/components/catalyst-ui/sidebars/sidebar-26/app-sidebar-26.tsx +344 -0
  1608. package/dist/components/catalyst-ui/sidebars/sidebar-26/index.tsx +78 -0
  1609. package/dist/components/catalyst-ui/sidebars/sidebar-26/sidebar-26.tsx +78 -0
  1610. package/dist/components/catalyst-ui/sidebars/sidebar-26/use-mobile-26.ts +19 -0
  1611. package/dist/components/catalyst-ui/sidebars/sidebar-27/sidebar-27.tsx +5 -0
  1612. package/dist/components/catalyst-ui/sidebars/sidebar-28/app-sidebar-28.tsx +285 -0
  1613. package/dist/components/catalyst-ui/sidebars/sidebar-28/index.tsx +31 -0
  1614. package/dist/components/catalyst-ui/sidebars/sidebar-28/nav-user-28.tsx +88 -0
  1615. package/dist/components/catalyst-ui/sidebars/sidebar-28/search-form-28.tsx +23 -0
  1616. package/dist/components/catalyst-ui/sidebars/sidebar-28/sidebar-28.tsx +32 -0
  1617. package/dist/components/catalyst-ui/sidebars/sidebar-28/site-header-28.tsx +29 -0
  1618. package/dist/components/catalyst-ui/sidebars/sidebar-28/use-mobile-28.ts +19 -0
  1619. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left-icon.tsx +101 -0
  1620. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left.tsx +88 -0
  1621. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right-icon.tsx +106 -0
  1622. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right.tsx +87 -0
  1623. package/dist/components/catalyst-ui/sidebars/sidebar-29/nav-user.tsx +74 -0
  1624. package/dist/components/catalyst-ui/sidebars/sidebar-29/settings-dialog.tsx +91 -0
  1625. package/dist/components/catalyst-ui/sidebars/sidebar-29/sidebar-29.tsx +204 -0
  1626. package/dist/components/catalyst-ui/sidebars/sidebar-29/version-switcher.tsx +52 -0
  1627. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-left.tsx +678 -0
  1628. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-right.tsx +87 -0
  1629. package/dist/components/catalyst-ui/sidebars/sidebar-30/settings-dialog.tsx +91 -0
  1630. package/dist/components/catalyst-ui/sidebars/sidebar-30/sidebar-30.tsx +604 -0
  1631. package/dist/components/catalyst-ui/sidebars/sidebar-31/ds-left.tsx +431 -0
  1632. package/dist/components/catalyst-ui/sidebars/sidebar-31/message.tsx +28 -0
  1633. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-auto-search.tsx +310 -0
  1634. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-search-command.tsx +0 -0
  1635. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-user.tsx +74 -0
  1636. package/dist/components/catalyst-ui/sidebars/sidebar-31/sidebar-31.tsx +369 -0
  1637. package/dist/components/catalyst-ui/sidebars/sidebar-31/typing-message.tsx +12 -0
  1638. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-left.tsx +119 -0
  1639. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-right.tsx +87 -0
  1640. package/dist/components/catalyst-ui/sidebars/sidebar-32/settings-dialog.tsx +91 -0
  1641. package/dist/components/catalyst-ui/sidebars/sidebar-32/sidebar-32.tsx +119 -0
  1642. package/dist/components/catalyst-ui/sidebars/variants/dual-sidebar-agnostic.tsx +3473 -0
  1643. package/dist/components/catalyst-ui/sidebars/variants/sidebar-original.tsx +714 -0
  1644. package/dist/components/catalyst-ui/sidebars/variants/sidebar-right.tsx +823 -0
  1645. package/dist/components/catalyst-ui/sidebars/variants/sidebar-stylistic-default.tsx +591 -0
  1646. package/dist/components/catalyst-ui/table/catalyst-table/column-header-simple.tsx +60 -0
  1647. package/dist/components/catalyst-ui/table/catalyst-table/column-header.tsx +223 -0
  1648. package/dist/components/catalyst-ui/table/catalyst-table/draggable-header.tsx +58 -0
  1649. package/dist/components/catalyst-ui/table/catalyst-table/faceted-filter.tsx +131 -0
  1650. package/dist/components/catalyst-ui/table/catalyst-table/global-search.tsx +0 -0
  1651. package/dist/components/catalyst-ui/table/catalyst-table/row-actions.tsx +49 -0
  1652. package/dist/components/catalyst-ui/table/catalyst-table/table.tsx +421 -0
  1653. package/dist/components/catalyst-ui/table/index.ts +14 -0
  1654. package/dist/components/catalyst-ui/table/props-table.tsx +170 -0
  1655. package/dist/components/catalyst-ui/table/small-table.tsx +719 -0
  1656. package/dist/components/catalyst-ui/table/table-1.tsx +246 -0
  1657. package/dist/components/catalyst-ui/themeStudio/config.tsx +83 -0
  1658. package/dist/components/catalyst-ui/themeStudio/dual-sidebar.tsx +3256 -0
  1659. package/dist/components/catalyst-ui/themeStudio/theme-provider.tsx +269 -0
  1660. package/dist/components/catalyst-ui/themeStudio/use-color-theme.tsx +1614 -0
  1661. package/dist/components/catalyst-ui/themeStudio/use-color-wheel.tsx +904 -0
  1662. package/dist/components/catalyst-ui/tools/Demo/md-render-genie.tsx +273 -0
  1663. package/dist/components/catalyst-ui/tools/GandalfBot.tsx +144 -0
  1664. package/dist/components/catalyst-ui/tools/MdFileTreeExplorer.tsx +287 -0
  1665. package/dist/components/catalyst-ui/tools/accessibility-checker.tsx +370 -0
  1666. package/dist/components/catalyst-ui/tools/animation-builder.tsx +350 -0
  1667. package/dist/components/catalyst-ui/tools/api-response.tsx +318 -0
  1668. package/dist/components/catalyst-ui/tools/chart-playground.tsx +480 -0
  1669. package/dist/components/catalyst-ui/tools/code-carousel.tsx +246 -0
  1670. package/dist/components/catalyst-ui/tools/code-diff.tsx +274 -0
  1671. package/dist/components/catalyst-ui/tools/code-editor.tsx +35 -0
  1672. package/dist/components/catalyst-ui/tools/code-highlight-plugin.tsx +25 -0
  1673. package/dist/components/catalyst-ui/tools/color-converter.tsx +413 -0
  1674. package/dist/components/catalyst-ui/tools/color-wheel.tsx +1012 -0
  1675. package/dist/components/catalyst-ui/tools/components-reel.tsx +135 -0
  1676. package/dist/components/catalyst-ui/tools/convert/converter.tsx +969 -0
  1677. package/dist/components/catalyst-ui/tools/convert/sidebar-converter.tsx +132 -0
  1678. package/dist/components/catalyst-ui/tools/cron-expression-builder.tsx +346 -0
  1679. package/dist/components/catalyst-ui/tools/dual-editor.tsx +240 -0
  1680. package/dist/components/catalyst-ui/tools/editor.tsx +1744 -0
  1681. package/dist/components/catalyst-ui/tools/examples.tsx +1206 -0
  1682. package/dist/components/catalyst-ui/tools/flexbox-sandbox.tsx +327 -0
  1683. package/dist/components/catalyst-ui/tools/function-theater.tsx +93 -0
  1684. package/dist/components/catalyst-ui/tools/grid-sandbox.tsx +464 -0
  1685. package/dist/components/catalyst-ui/tools/icons.tsx +249 -0
  1686. package/dist/components/catalyst-ui/tools/index.ts +59 -0
  1687. package/dist/components/catalyst-ui/tools/json-Formatter.tsx +258 -0
  1688. package/dist/components/catalyst-ui/tools/layout-generator.tsx +237 -0
  1689. package/dist/components/catalyst-ui/tools/lexical-editor.tsx +218 -0
  1690. package/dist/components/catalyst-ui/tools/live-playground.tsx +1458 -0
  1691. package/dist/components/catalyst-ui/tools/lorem-ipsum-generator.tsx +314 -0
  1692. package/dist/components/catalyst-ui/tools/md-badge-builder.tsx +179 -0
  1693. package/dist/components/catalyst-ui/tools/md-cheat-sheet.tsx +5557 -0
  1694. package/dist/components/catalyst-ui/tools/md-editor.tsx +632 -0
  1695. package/dist/components/catalyst-ui/tools/md-render-genie.tsx +1233 -0
  1696. package/dist/components/catalyst-ui/tools/md-renderer.tsx +61 -0
  1697. package/dist/components/catalyst-ui/tools/monaco-sidebar.tsx +7791 -0
  1698. package/dist/components/catalyst-ui/tools/monaco.tsx +492 -0
  1699. package/dist/components/catalyst-ui/tools/motion-sandbox.tsx +0 -0
  1700. package/dist/components/catalyst-ui/tools/qr-code-generator.tsx +432 -0
  1701. package/dist/components/catalyst-ui/tools/regex-tester.tsx +508 -0
  1702. package/dist/components/catalyst-ui/tools/responsive-preview.tsx +286 -0
  1703. package/dist/components/catalyst-ui/tools/rich-text-editor copy.tsx +1058 -0
  1704. package/dist/components/catalyst-ui/tools/rich-text-editor.tsx +1994 -0
  1705. package/dist/components/catalyst-ui/tools/rte.md +119 -0
  1706. package/dist/components/catalyst-ui/tools/sandbox.tsx +52 -0
  1707. package/dist/components/catalyst-ui/tools/scripts-viewer.tsx +215 -0
  1708. package/dist/components/catalyst-ui/tools/scripts.edit.tsx +3102 -0
  1709. package/dist/components/catalyst-ui/tools/table-plugin.tsx +149 -0
  1710. package/dist/components/catalyst-ui/tools/tailwind-converter.tsx +502 -0
  1711. package/dist/components/catalyst-ui/tools/terminal.tsx +60 -0
  1712. package/dist/components/catalyst-ui/tools/theme-builder.tsx +5071 -0
  1713. package/dist/components/catalyst-ui/tools/toolbar-plugin.tsx +383 -0
  1714. package/dist/components/catalyst-ui/tools/toolbar-plugin1.tsx +861 -0
  1715. package/dist/components/catalyst-ui/tools/typography-tester.tsx +310 -0
  1716. package/dist/components/catalyst-ui/tools/uuid-hash-generator.tsx +534 -0
  1717. package/dist/components/catalyst-ui/tools/vscode-cmds.tsx +3813 -0
  1718. package/dist/components/catalyst-ui/tools/x-viewer.tsx +135 -0
  1719. package/dist/components/catalyst-ui/typography/animated-glitch-text.tsx +188 -0
  1720. package/dist/components/catalyst-ui/typography/b.tsx +23 -0
  1721. package/dist/components/catalyst-ui/typography/blockquote.tsx +35 -0
  1722. package/dist/components/catalyst-ui/typography/check-list.tsx +130 -0
  1723. package/dist/components/catalyst-ui/typography/code.tsx +26 -0
  1724. package/dist/components/catalyst-ui/typography/comic-text.tsx +68 -0
  1725. package/dist/components/catalyst-ui/typography/display-code.tsx +148 -0
  1726. package/dist/components/catalyst-ui/typography/div.tsx +20 -0
  1727. package/dist/components/catalyst-ui/typography/dynamic-text.tsx +149 -0
  1728. package/dist/components/catalyst-ui/typography/encrypted-text.tsx +168 -0
  1729. package/dist/components/catalyst-ui/typography/glitch-text.tsx +174 -0
  1730. package/dist/components/catalyst-ui/typography/h1.tsx +19 -0
  1731. package/dist/components/catalyst-ui/typography/h2.tsx +19 -0
  1732. package/dist/components/catalyst-ui/typography/h3.tsx +19 -0
  1733. package/dist/components/catalyst-ui/typography/h4.tsx +19 -0
  1734. package/dist/components/catalyst-ui/typography/h5.tsx +19 -0
  1735. package/dist/components/catalyst-ui/typography/highlight-1.tsx +133 -0
  1736. package/dist/components/catalyst-ui/typography/highlight.tsx +133 -0
  1737. package/dist/components/catalyst-ui/typography/hyper-text.tsx +135 -0
  1738. package/dist/components/catalyst-ui/typography/i.tsx +23 -0
  1739. package/dist/components/catalyst-ui/typography/ib.tsx +24 -0
  1740. package/dist/components/catalyst-ui/typography/index.ts +49 -0
  1741. package/dist/components/catalyst-ui/typography/line-shadow-text.tsx +44 -0
  1742. package/dist/components/catalyst-ui/typography/matrix-text.tsx +186 -0
  1743. package/dist/components/catalyst-ui/typography/ordered-list.tsx +39 -0
  1744. package/dist/components/catalyst-ui/typography/p.tsx +19 -0
  1745. package/dist/components/catalyst-ui/typography/paragraph-scramble.tsx +122 -0
  1746. package/dist/components/catalyst-ui/typography/pm.tsx +20 -0
  1747. package/dist/components/catalyst-ui/typography/prose.tsx +90 -0
  1748. package/dist/components/catalyst-ui/typography/scroll-text.tsx +181 -0
  1749. package/dist/components/catalyst-ui/typography/shimmer-text.tsx +105 -0
  1750. package/dist/components/catalyst-ui/typography/sliced-text.tsx +131 -0
  1751. package/dist/components/catalyst-ui/typography/swoosh-text.tsx +111 -0
  1752. package/dist/components/catalyst-ui/typography/text-animate.tsx +380 -0
  1753. package/dist/components/catalyst-ui/typography/text-highlighter.tsx +101 -0
  1754. package/dist/components/catalyst-ui/typography/text-morph.tsx +272 -0
  1755. package/dist/components/catalyst-ui/typography/text-reveal.tsx +71 -0
  1756. package/dist/components/catalyst-ui/typography/text-rewind.tsx +90 -0
  1757. package/dist/components/catalyst-ui/typography/text-scramble.tsx +111 -0
  1758. package/dist/components/catalyst-ui/typography/text.tsx +134 -0
  1759. package/dist/components/catalyst-ui/typography/typewriter.tsx +153 -0
  1760. package/dist/components/catalyst-ui/typography/typing-animation.tsx +172 -0
  1761. package/dist/components/catalyst-ui/typography/typography.tsx +67 -0
  1762. package/dist/components/catalyst-ui/typography/unordered-list.tsx +78 -0
  1763. package/dist/components/catalyst-ui/typography/video-text.tsx +86 -0
  1764. package/dist/components/catalyst-ui/typography/word-rotate.tsx +48 -0
  1765. package/dist/components/catalyst-ui/utils/auth-provider.tsx +419 -0
  1766. package/dist/components/catalyst-ui/utils/auth.github.callback.tsx +135 -0
  1767. package/dist/components/catalyst-ui/utils/auth.github.tsx +17 -0
  1768. package/dist/components/catalyst-ui/utils/auth.ts +34 -0
  1769. package/dist/components/catalyst-ui/utils/auth_github.ts +48 -0
  1770. package/dist/components/catalyst-ui/utils/auth_session.ts +70 -0
  1771. package/dist/components/catalyst-ui/utils/batcher.tsx +50 -0
  1772. package/dist/components/catalyst-ui/utils/build-package-json.js +89 -0
  1773. package/dist/components/catalyst-ui/utils/cache-assets.ts +72 -0
  1774. package/dist/components/catalyst-ui/utils/client-only-mermaid.tsx +82 -0
  1775. package/dist/components/catalyst-ui/utils/client-only.tsx +27 -0
  1776. package/dist/components/catalyst-ui/utils/cors.ts +178 -0
  1777. package/dist/components/catalyst-ui/utils/crypto.ts +96 -0
  1778. package/dist/components/catalyst-ui/utils/dbLocal.js +74 -0
  1779. package/dist/components/catalyst-ui/utils/dbRemote.js +74 -0
  1780. package/dist/components/catalyst-ui/utils/demo.tsx +499 -0
  1781. package/dist/components/catalyst-ui/utils/dynamic-links.tsx +324 -0
  1782. package/dist/components/catalyst-ui/utils/event-stream.ts +82 -0
  1783. package/dist/components/catalyst-ui/utils/existing-search-params.tsx +78 -0
  1784. package/dist/components/catalyst-ui/utils/external-scripts.tsx +144 -0
  1785. package/dist/components/catalyst-ui/utils/fetcher-context.tsx +45 -0
  1786. package/dist/components/catalyst-ui/utils/fetcher-type.tsx +82 -0
  1787. package/dist/components/catalyst-ui/utils/filename-icon-map.tsx +176 -0
  1788. package/dist/components/catalyst-ui/utils/flickering-grid.tsx +188 -0
  1789. package/dist/components/catalyst-ui/utils/get-client-ip-address.ts +52 -0
  1790. package/dist/components/catalyst-ui/utils/get-client-locales.ts +25 -0
  1791. package/dist/components/catalyst-ui/utils/get-headers.ts +7 -0
  1792. package/dist/components/catalyst-ui/utils/honeypot-react.tsx +480 -0
  1793. package/dist/components/catalyst-ui/utils/honeypot.ts +138 -0
  1794. package/dist/components/catalyst-ui/utils/index.ts +82 -0
  1795. package/dist/components/catalyst-ui/utils/is-prefetch.ts +19 -0
  1796. package/dist/components/catalyst-ui/utils/json-hash.ts +33 -0
  1797. package/dist/components/catalyst-ui/utils/keyboard-shortcut.tsx +124 -0
  1798. package/dist/components/catalyst-ui/utils/named-action.ts +50 -0
  1799. package/dist/components/catalyst-ui/utils/navigation-context.tsx +71 -0
  1800. package/dist/components/catalyst-ui/utils/options.ts +20 -0
  1801. package/dist/components/catalyst-ui/utils/otp-auth-session.ts +14 -0
  1802. package/dist/components/catalyst-ui/utils/otp-client-auth.tsx +30 -0
  1803. package/dist/components/catalyst-ui/utils/otp-email.tsx +104 -0
  1804. package/dist/components/catalyst-ui/utils/parse-accept-header.ts +21 -0
  1805. package/dist/components/catalyst-ui/utils/preload-route-assets.ts +60 -0
  1806. package/dist/components/catalyst-ui/utils/prisma.ts +93 -0
  1807. package/dist/components/catalyst-ui/utils/promise.ts +55 -0
  1808. package/dist/components/catalyst-ui/utils/qr-code-1-server.tsx +42 -0
  1809. package/dist/components/catalyst-ui/utils/qr-code-1.tsx +87 -0
  1810. package/dist/components/catalyst-ui/utils/redirect-back.ts +35 -0
  1811. package/dist/components/catalyst-ui/utils/redirect-bad-requests.tsx +5 -0
  1812. package/dist/components/catalyst-ui/utils/remix-auth.ts +35 -0
  1813. package/dist/components/catalyst-ui/utils/remix_auth_session.ts +71 -0
  1814. package/dist/components/catalyst-ui/utils/respond-to.ts +40 -0
  1815. package/dist/components/catalyst-ui/utils/responses.ts +130 -0
  1816. package/dist/components/catalyst-ui/utils/rolling-cookie.tsx +39 -0
  1817. package/dist/components/catalyst-ui/utils/safe-redirect.ts +21 -0
  1818. package/dist/components/catalyst-ui/utils/scaffolding.tsx +14 -0
  1819. package/dist/components/catalyst-ui/utils/scroll-top.tsx +382 -0
  1820. package/dist/components/catalyst-ui/utils/scroll-x.tsx +22 -0
  1821. package/dist/components/catalyst-ui/utils/scroll-xy.tsx +22 -0
  1822. package/dist/components/catalyst-ui/utils/scroll-y.tsx +14 -0
  1823. package/dist/components/catalyst-ui/utils/scroll.tsx +32 -0
  1824. package/dist/components/catalyst-ui/utils/sec-fetch-parser.tsx +119 -0
  1825. package/dist/components/catalyst-ui/utils/sec-fetch-parsers.tsx +42 -0
  1826. package/dist/components/catalyst-ui/utils/server-only.tsx +12 -0
  1827. package/dist/components/catalyst-ui/utils/singleton.tsx +22 -0
  1828. package/dist/components/catalyst-ui/utils/style-provider.tsx +292 -0
  1829. package/dist/components/catalyst-ui/utils/tailwindcss.css.txt +134 -0
  1830. package/dist/components/catalyst-ui/utils/typed-cookie.ts +90 -0
  1831. package/dist/components/catalyst-ui/utils/typed-session.ts +115 -0
  1832. package/dist/components/catalyst-ui/utils/user-based-access-rules.tsx +118 -0
  1833. package/dist/components/catalyst-ui/x/index.ts +38 -0
  1834. package/dist/components/catalyst-ui/x/input-x.tsx +2263 -0
  1835. package/dist/components/catalyst-ui/x/nav-x.tsx +3213 -0
  1836. package/dist/components/catalyst-ui/x/tracker-x.tsx +2 -12
  1837. package/dist/index.js +40623 -40650
  1838. package/package.json +1 -1
  1839. /package/dist/{data.tsx → components/catalyst-ui/data.tsx} +0 -0
  1840. /package/dist/components/catalyst-ui/x/{button-X.tsx → button-x.tsx} +0 -0
@@ -0,0 +1,2263 @@
1
+ import React, { useState, useEffect, useMemo, useRef, useId, ChangeEvent } from 'react'
2
+ import { cva } from 'class-variance-authority'
3
+ import { cn, inputVariants, Label, Input, Button, Field, FieldLabel, FieldDescription, FieldError, Select, useValidateCreditCard, useToasted } from '~/components/catalyst-ui'
4
+ import {
5
+ UserIcon, MailIcon, EyeIcon, EyeOffIcon,
6
+ SearchIcon, MicIcon, LoaderCircleIcon,
7
+ SendHorizonalIcon, CircleXIcon, PlusIcon,
8
+ MinusIcon, ChevronUpIcon, ChevronDownIcon,
9
+ CheckIcon, XIcon, CreditCardIcon, ArrowRightIcon,
10
+ DownloadIcon, SendIcon
11
+ } from 'lucide-react'
12
+ import { Asterisk, Abc } from '@catalystsoftware/icons'
13
+
14
+
15
+ /**
16
+ * ★ ━━━━ ☆ ━━━━ InputX ━━━━ ☆ ━━━━ ★
17
+ * type InputType =
18
+ * | 'Default' | 'Label' | 'Required' | 'Disabled' | 'ReadOnly' | 'HintText' | 'Error' // Basic States
19
+ * | 'ColoredRing' | 'StartIcon' | 'EndIcon' | 'StartTextAddOn' | 'EndTextAddOn' | 'TextAddOns' // Icons & Add-ons
20
+ * | 'StartAddOn' | 'EndAddOn' | 'AddOns' | 'Filled' | 'OverlappingLabel' | 'FloatingLabel' // Layout
21
+ * | 'InsetLabel' | 'Password' | 'File' | 'StartSelect' | 'EndSelect' | 'EndInlineButton' // Special Inputs
22
+ * | 'IconButton' | 'EndButton' | 'CharacterLimit' | 'CharacterLeft' | 'Clear' | 'Search' // Interactive
23
+ * | 'SearchIcon' | 'SearchLoader' | 'PlusMinusButtons' | 'EndButtons' | 'StackedButtons' // Number Inputs
24
+ * | 'PlusMinusButtonsRounded' | 'EndButtonsRounded' | 'StackedChevrons' | 'PasswordStrength' // Enhanced
25
+ * | 'CcInput' | 'InputWithCharactersLeft' | 'EndHelperText' // Advanced
26
+ *
27
+ * ★ ━━━━ ☆ ━━━━ USAGE ━━━━ ☆ ━━━━ ★
28
+ *
29
+ * ★ ━━━━━━━━━ Basic Inputs ━━━━━━━━━ ★
30
+ * ```jsx
31
+ * // Default Input
32
+ * <InputX placeholder="Enter text" />
33
+ *
34
+ * // Label Input
35
+ * <InputX input="Label" label="Username" placeholder="Enter username" />
36
+ *
37
+ * // Required Input
38
+ * <InputX input="Required" label="Email" placeholder="Enter email" required />
39
+ *
40
+ * // Disabled Input
41
+ * <InputX input="Disabled" label="Disabled Field" value="Cannot edit" disabled />
42
+ *
43
+ * // Read-only Input
44
+ * <InputX input="ReadOnly" label="Read-only Field" value="Read only value" readOnly />
45
+ *
46
+ * // Error State
47
+ * <InputX input="Error" label="Email" error="Invalid email address" />
48
+ *
49
+ * // Hint Text
50
+ * <InputX input="HintText" label="Password" description="Must be at least 8 characters" />
51
+ * ```
52
+ *
53
+ * ★ ━━━━━━━━━ Icons & Add-ons ━━━━━━━━━ ★
54
+ * ```jsx
55
+ * // Start Icon
56
+ * <InputX input="StartIcon" icon={UserIcon} label="Username" />
57
+ *
58
+ * // End Icon
59
+ * <InputX input="EndIcon" icon={MailIcon} label="Email" />
60
+ *
61
+ * // Start Text Add-on (inline)
62
+ * <InputX input="StartTextAddOn" addOnText="https://" label="Website" />
63
+ *
64
+ * // End Text Add-on (inline)
65
+ * <InputX input="EndTextAddOn" addOnText=".com" label="Domain" />
66
+ *
67
+ * // Text Add-ons (both sides)
68
+ * <InputX input="TextAddOns" startAddOn="https://" endAddOn=".com" label="Website" />
69
+ *
70
+ * // Start Add-on (separated)
71
+ * <InputX input="StartAddOn" addOnText="https://" label="Website" />
72
+ *
73
+ * // End Add-on (separated)
74
+ * <InputX input="EndAddOn" addOnText=".com" label="Domain" />
75
+ *
76
+ * // Add-ons (both sides separated)
77
+ * <InputX input="AddOns" startAddOn="https://" endAddOn=".com" label="Website" />
78
+ *
79
+ * // Colored Focus Ring
80
+ * <InputX input="ColoredRing" label="Custom Focus" />
81
+ *
82
+ * // End Helper Text
83
+ * <InputX input="EndHelperText" description="Helper text aligned right" />
84
+ * ```
85
+ *
86
+ * ★ ━━━━━━━━━ Label Variations ━━━━━━━━━ ★
87
+ * ```jsx
88
+ * // Filled Background
89
+ * <InputX input="Filled" label="Filled Input" />
90
+ *
91
+ * // Overlapping Label
92
+ * <InputX input="OverlappingLabel" label="Overlapping Label" />
93
+ *
94
+ * // Floating Label
95
+ * <InputX input="FloatingLabel" label="Floating Label" />
96
+ *
97
+ * // Inset Label
98
+ * <InputX input="InsetLabel" label="Inset Label" />
99
+ * ```
100
+ *
101
+ * ★ ━━━━━━━━━ Special Input Types ━━━━━━━━━ ★
102
+ * ```jsx
103
+ * // Password with Visibility Toggle
104
+ * const [password, setPassword] = useState('');
105
+ * <InputX input="Password" value={password} setValue={setPassword} label="Password" />
106
+ *
107
+ * // File Input
108
+ * <InputX input="File" label="Upload File" />
109
+ *
110
+ * // Email Input
111
+ * <InputX input="Email" type="email" label="Email Address" />
112
+ *
113
+ * // Start with Select
114
+ * <InputX input="StartSelect"
115
+ * selectOptions={['https://', 'http://']}
116
+ * defaultSelectValue="https://"
117
+ * label="Protocol"
118
+ * />
119
+ *
120
+ * // End with Select
121
+ * <InputX input="EndSelect"
122
+ * selectOptions={['.com', '.org', '.net']}
123
+ * defaultSelectValue=".com"
124
+ * label="Domain"
125
+ * />
126
+ * ```
127
+ *
128
+ * ★ ━━━━━━━━━ Interactive Features ━━━━━━━━━ ★
129
+ * ```jsx
130
+ * // Clearable Input
131
+ * const [value, setValue] = useState('Click to clear');
132
+ * <InputX input="Clear" value={value} setValue={setValue} label="Clearable" />
133
+ *
134
+ * // Character Limit
135
+ * const [text, setText] = useState('');
136
+ * <InputX input="CharacterLimit" value={text} setValue={setText} maxLength={50} label="Limited Text" />
137
+ *
138
+ * // Characters Left Counter
139
+ * <InputX input="CharacterLeft" value={text} setValue={setText} maxLength={30} label="Remaining Characters" />
140
+ *
141
+ * // End Inline Button
142
+ * <InputX input="EndInlineButton"
143
+ * onClick={() => console.log('Submitted')}
144
+ * label="Subscribe"
145
+ * />
146
+ *
147
+ * // End Button
148
+ * <InputX input="EndButton"
149
+ * buttonText="Submit"
150
+ * onClick={() => console.log('Submitted')}
151
+ * label="Form Input"
152
+ * />
153
+ *
154
+ * // Icon Button
155
+ * <InputX input="IconButton"
156
+ * icon={SearchIcon}
157
+ * onClick={() => console.log('Search')}
158
+ * label="Search"
159
+ * />
160
+ * ```
161
+ *
162
+ * ★ ━━━━━━━━━ Search Inputs ━━━━━━━━━ ★
163
+ * ```jsx
164
+ * // Basic Search
165
+ * <InputX input="Search" placeholder="Search..." />
166
+ *
167
+ * // Search with Icon
168
+ * <InputX input="SearchIcon"
169
+ * onClick={() => console.log('Voice search')}
170
+ * label="Search with Voice"
171
+ * />
172
+ *
173
+ * // Search with Loader
174
+ * const [search, setSearch] = useState('');
175
+ * <InputX input="SearchLoader" value={search} setValue={setSearch} label="Live Search" />
176
+ *
177
+ * // Search with Icon and Button
178
+ * <InputX input="SearchWithIconAndButton"
179
+ * icon={ArrowRightIcon}
180
+ * onClick={() => console.log('Search')}
181
+ * label="Advanced Search"
182
+ * />
183
+ *
184
+ * // Search with Keyboard Shortcut
185
+ * <InputX input="SearchInputKBD"
186
+ * shortcut="k"
187
+ * shortcutAction={() => console.log('Shortcut triggered')}
188
+ * label="Quick Search"
189
+ * />
190
+ *
191
+ * // Search with Loader Indicator
192
+ * <InputX input="SearchInputLoader"
193
+ * value={search}
194
+ * setValue={setSearch}
195
+ * label="Loading Search"
196
+ * />
197
+ * ```
198
+ *
199
+ * ★ ━━━━━━━━━ Number Inputs ━━━━━━━━━ ★
200
+ * ```jsx
201
+ * // Plus/Minus Buttons
202
+ * const [value, setValue] = useState(1024);
203
+ * <InputX input="PlusMinusButtons" value={value} setValue={setValue} label="Quantity" />
204
+ *
205
+ * // End Buttons
206
+ * <InputX input="EndButtons" value={value} setValue={setValue} label="Amount" />
207
+ *
208
+ * // Stacked Buttons
209
+ * <InputX input="StackedButtons" value={value} setValue={setValue} label="Stacked Controls" />
210
+ *
211
+ * // Plus/Minus Buttons (Rounded)
212
+ * <InputX input="PlusMinusButtonsRounded" value={value} setValue={setValue} label="Rounded Style" />
213
+ *
214
+ * // End Buttons (Rounded)
215
+ * <InputX input="EndButtonsRounded" value={value} setValue={setValue} label="Inline Controls" />
216
+ *
217
+ * // Stacked Chevrons
218
+ * <InputX input="StackedChevrons" value={value} setValue={setValue} label="Chevron Controls" />
219
+ *
220
+ * // Number with Plus/Minus Buttons
221
+ * <InputX input="NumberWithPlusMinusButtons" value={value} setValue={setValue} label="Counter" />
222
+ *
223
+ * // Number with Chevrons
224
+ * <InputX input="NumberWithChevrons" value={value} setValue={setValue} label="Chevron Counter" />
225
+ * ```
226
+ *
227
+ * ★ ━━━━━━━━━ Advanced Inputs ━━━━━━━━━ ★
228
+ * ```jsx
229
+ * // Password Strength Indicator
230
+ * const [password, setPassword] = useState('');
231
+ * <InputX input="PasswordStrength"
232
+ * password={password}
233
+ * setPassword={setPassword}
234
+ * label="Secure Password"
235
+ * />
236
+ *
237
+ * // Credit Card Input
238
+ * const [ccNumber, setCcNumber] = useState('');
239
+ * <InputX input="CcInput"
240
+ * value={ccNumber}
241
+ * setValue={setCcNumber}
242
+ * label="Credit Card"
243
+ * />
244
+ *
245
+ * // Input with Characters Left
246
+ * const [text, setText] = useState('');
247
+ * <InputX input="InputWithCharactersLeft"
248
+ * value={text}
249
+ * setValue={setText}
250
+ * maxLength={100}
251
+ * label="Description"
252
+ * />
253
+ *
254
+ * // Input with End Inline Add-on
255
+ * <InputX input="EndInlineAddOn"
256
+ * addOnText=".com"
257
+ * label="Website"
258
+ * />
259
+ *
260
+ * // Input with Inline Add-ons
261
+ * <InputX input="InlineAddOns"
262
+ * startAddOn="€"
263
+ * endAddOn="EUR"
264
+ * label="Price"
265
+ * />
266
+ *
267
+ * // Input with Inline Start and End Add-on
268
+ * <InputX input="InlineStartAndEndAddOn"
269
+ * startAddOn="https://"
270
+ * endAddOn=".com"
271
+ * label="Website"
272
+ * />
273
+ *
274
+ * // Input with Inner Tags
275
+ * const [tagInput, setTagInput] = useState('');
276
+ * const [tags, setTags] = useState(['Red', 'Blue']);
277
+ * <InputX input="InnerTags"
278
+ * value={tagInput}
279
+ * setValue={setTagInput}
280
+ * tags={tags}
281
+ * setTags={setTags}
282
+ * label="Tags"
283
+ * />
284
+ *
285
+ * // Input with Mask
286
+ * const [masked, setMasked] = useState('');
287
+ * <InputX input="Mask"
288
+ * value={masked}
289
+ * setValue={setMasked}
290
+ * mask="AA99 AAA"
291
+ * label="License Plate"
292
+ * />
293
+ *
294
+ * // Input with Password Strength
295
+ * <InputX input="PasswordStrengthIndicator"
296
+ * password={password}
297
+ * setPassword={setPassword}
298
+ * label="Strong Password"
299
+ * />
300
+ *
301
+ * // Input with Tags
302
+ * const [tagValue, setTagValue] = useState('');
303
+ * <InputX input="Tags"
304
+ * value={tagValue}
305
+ * setValue={setTagValue}
306
+ * tags={tags}
307
+ * setTags={setTags}
308
+ * label="Add Tags"
309
+ * />
310
+ * ```
311
+ *
312
+ * ★ ━━━━━━━━━ Props ━━━━━━━━━ ★
313
+ *
314
+ * Common Props (available for most variants):
315
+ * - `input`: InputType - Specifies which variant to use
316
+ * - `label`: string - Input label text
317
+ * - `description`: string - Helper/description text
318
+ * - `error`: string - Error message text
319
+ * - `value`: string | number - Input value (controlled)
320
+ * - `setValue`: (value: string | number) => void - Value change callback
321
+ * - `placeholder`: string - Placeholder text
322
+ * - `variant`: string - Catalyst UI variant
323
+ * - `size`: string - Input size
324
+ * - `rounded`: string | boolean - Border radius
325
+ * - `state`: string - Input state
326
+ * - `className`: string - Additional CSS classes
327
+ * - `disabled`: boolean - Disabled state
328
+ * - `readOnly`: boolean - Read-only state
329
+ * - `required`: boolean - Required field indicator
330
+ *
331
+ * Variant-Specific Props:
332
+ *
333
+ * Icon Variants:
334
+ * - `icon`: IconComponent - Lucide icon component
335
+ * - `iconCN`: string - Icon CSS classes
336
+ *
337
+ * Add-on Variants:
338
+ * - `addOnText`: string - Text to display as add-on
339
+ * - `startAddOn`: string - Start add-on text
340
+ * - `endAddOn`: string - End add-on text
341
+ *
342
+ * Select Variants:
343
+ * - `selectOptions`: string[] - Array of select options
344
+ * - `defaultSelectValue`: string - Default selected value
345
+ *
346
+ * Button Variants:
347
+ * - `buttonText`: string - Button label text
348
+ * - `onClick`: () => void - Button click handler
349
+ * - `bCN`: string - Button CSS classes
350
+ *
351
+ * Number Input Variants:
352
+ * - `maxLength`: number - Character limit
353
+ * - `mask`: string - Input mask pattern (e.g., "AA99 AAA")
354
+ *
355
+ * Password Variants:
356
+ * - `password`: string - Password value
357
+ * - `setPassword`: (password: string) => void - Password update callback
358
+ *
359
+ * Credit Card Input:
360
+ * - Uses `useValidateCreditCard()` hook internally
361
+ *
362
+ * Tag Input Variants:
363
+ * - `tags`: string[] - Array of tags
364
+ * - `setTags`: (tags: string[]) => void - Tags update callback
365
+ *
366
+ * Search Variants:
367
+ * - `shortcut`: string - Keyboard shortcut key
368
+ * - `shortcutAction`: () => void - Shortcut action callback
369
+ *
370
+ * ★ ━━━━━━━━━ Import & Dependencies ━━━━━━━━━ ★
371
+ * ```javascript
372
+ * import { InputX } from "./InputX";
373
+ *
374
+ * // Required dependencies
375
+ * import {
376
+ * UserIcon, MailIcon, EyeIcon, EyeOffIcon,
377
+ * SearchIcon, MicIcon, LoaderCircleIcon,
378
+ * SendHorizonalIcon, CircleXIcon, PlusIcon,
379
+ * MinusIcon, ChevronUpIcon, ChevronDownIcon,
380
+ * CheckIcon, XIcon, CreditCardIcon, ArrowRightIcon,
381
+ * DownloadIcon, SendIcon
382
+ * } from 'lucide-react';
383
+ *
384
+ * // For custom icons
385
+ * import { Asterisk, Abc } from '@catalystsoftware/icons';
386
+ *
387
+ * // Required hooks
388
+ * import { useValidateCreditCard, useToasted } from '~/components/catalyst-ui';
389
+ * ```
390
+ *
391
+ * ★ ━━━━━━━━━ State Management Examples ━━━━━━━━━ ★
392
+ * ```typescript
393
+ * // Basic text input
394
+ * const [value, setValue] = useState('');
395
+ *
396
+ * // Number input with controls
397
+ * const [numberValue, setNumberValue] = useState(0);
398
+ *
399
+ * // Password with strength
400
+ * const [password, setPassword] = useState('');
401
+ *
402
+ * // Credit card input
403
+ * const [ccNumber, setCcNumber] = useState('');
404
+ *
405
+ * // Tags input
406
+ * const [tagInput, setTagInput] = useState('');
407
+ * const [tags, setTags] = useState<string[]>([]);
408
+ *
409
+ * // Search with loading
410
+ * const [search, setSearch] = useState('');
411
+ * ```
412
+ *
413
+ * ★ ━━━━━━━━━ Features ━━━━━━━━━ ★
414
+ * - 🎨 **70+ variants**: Comprehensive input types for all use cases
415
+ * - 🔒 **Password strength**: Visual indicator with requirements
416
+ * - 💳 **Credit card validation**: Auto-detects card type
417
+ * - 🔢 **Number controls**: Plus/minus buttons, chevrons, stacked controls
418
+ * - 🔍 **Search variants**: With loading, voice, shortcuts
419
+ * - 🏷️ **Tag support**: Inline and separate tag inputs
420
+ * - 🎭 **Mask support**: Pattern-based input formatting
421
+ * - ⌨️ **Keyboard shortcuts**: Configurable shortcut support
422
+ * - 📱 **Responsive**: All variants work on mobile
423
+ * - ♿ **Accessible**: Proper ARIA labels and focus management
424
+ *
425
+ */
426
+
427
+
428
+ export function InputX({ input = 'Default', children, ...props }: any) {
429
+ switch (input) {
430
+ case 'Label':
431
+ return <LabelInput {...props} />
432
+ case 'Required':
433
+ return <InputRequired {...props} />
434
+ case 'Disabled':
435
+ return <InputDisabled {...props} />
436
+ case 'ReadOnly':
437
+ return <InputReadOnly {...props} />
438
+ case 'HintText':
439
+ return <InputHintText {...props} />
440
+ case 'Error':
441
+ return <InputError {...props} />
442
+ case 'ColoredRing':
443
+ return <InputColoredRing {...props} />
444
+ case 'StartIcon':
445
+ return <InputStartIcon {...props} />
446
+ case 'EndIcon':
447
+ return <InputEndIcon {...props} />
448
+ case 'StartTextAddOn':
449
+ return <InputStartTextAddOn {...props} />
450
+ case 'EndTextAddOn':
451
+ return <InputEndTextAddOn {...props} />
452
+ case 'TextAddOns':
453
+ return <InputTextAddOns {...props} />
454
+ case 'StartAddOn':
455
+ return <InputStartAddOn {...props} />
456
+ case 'EndAddOn':
457
+ return <InputEndAddOn {...props} />
458
+ case 'AddOns':
459
+ return <InputAddOns {...props} />
460
+ case 'Filled':
461
+ return <InputFilled {...props} />
462
+ case 'OverlappingLabel':
463
+ return <InputOverlappingLabel {...props} />
464
+ case 'FloatingLabel':
465
+ return <InputFloatingLabel {...props} />
466
+ case 'InsetLabel':
467
+ return <InputInsetLabel {...props} />
468
+ case 'Password':
469
+ return <InputPassword {...props} />
470
+ case 'File':
471
+ return <InputFile {...props} />
472
+ case 'StartSelect':
473
+ return <InputStartSelect {...props} />
474
+ case 'EndSelect':
475
+ return <InputEndSelect {...props} />
476
+ case 'EndInlineButton':
477
+ return <InputEndInlineButton {...props} />
478
+ case 'IconButton':
479
+ return <InputIconButton {...props} />
480
+ case 'EndButton':
481
+ return <InputEndButton {...props} />
482
+ case 'CharacterLimit':
483
+ return <InputCharacterLimit {...props} />
484
+ case 'CharacterLeft':
485
+ return <InputCharacterLeft {...props} />
486
+ case 'Clear':
487
+ return <InputClear {...props} />
488
+ case 'Search':
489
+ return <InputSearch {...props} />
490
+ case 'SearchIcon':
491
+ return <InputSearchIcon {...props} />
492
+ case 'SearchLoader':
493
+ return <InputSearchLoader {...props} />
494
+ case 'PlusMinusButtons':
495
+ return <InputPlusMinusButtons {...props} />
496
+ case 'EndButtons':
497
+ return <InputEndButtons {...props} />
498
+ case 'StackedButtons':
499
+ return <InputStackedButtons {...props} />
500
+ case 'PlusMinusButtonsRounded':
501
+ return <InputPlusMinusButtonsRounded {...props} />
502
+ case 'EndButtonsRounded':
503
+ return <InputEndButtonsRounded {...props} />
504
+ case 'StackedChevrons':
505
+ return <InputStackedChevrons {...props} />
506
+ case 'PasswordStrength':
507
+ return <InputPasswordStrength {...props} />
508
+ case 'CcInput':
509
+ return <CcInput {...props} />
510
+ case 'InputWithCharactersLeft':
511
+ return <InputWithCharactersLeft {...props} />
512
+ case 'EndButton':
513
+ return <InputWithEndButton {...props} />
514
+ case 'EndIconButton':
515
+ return <InputWithEndIconButton {...props} />
516
+ case 'EndInlineAddOn':
517
+ return <InputWithEndInlineAddOn {...props} />
518
+ case 'InlineAddOns':
519
+ return <InputWithInlineAddOns {...props} />
520
+ case 'InlineStartAndEndAddOn':
521
+ return <InputWithInlineStartAndEndAddOn {...props} />
522
+ case 'InnerTags':
523
+ return <InputWithInnerTags {...props} />
524
+ case 'Mask':
525
+ return <InputWithMask {...props} />
526
+ case 'PasswordStrengthIndicator':
527
+ return <InputWithPasswordStrengthIndicator {...props} />
528
+ case 'Tags':
529
+ return <InputWithTags {...props} />
530
+ case 'NumberWithChevrons':
531
+ return <NumberInputWithChevrons {...props} />
532
+ case 'NumberWithPlusMinusButtons':
533
+ return <NumberInputWithPlusMinusButtons {...props} />
534
+ case 'SearchWithIconAndButton':
535
+ return <InSearchInputWithIconAndButtonput {...props} />
536
+ case 'SearchInputKBD':
537
+ return <SearchInputWithKBD {...props} />
538
+ case 'SearchInputLoader':
539
+ return <SearchInputWithLoader {...props} />
540
+ case 'SearchInputWithIconAndButton':
541
+ return <SearchInputWithIconAndButton {...props} />
542
+ case 'PlusMinusButtons':
543
+ return <InputWithPlusMinusButtons {...props} />
544
+ case 'EndButtons':
545
+ return <InputWithEndButtons {...props} />
546
+ case 'StackedButtons':
547
+ return <InputWithStackedButtons {...props} />
548
+ case 'PlusMinusButtonsRounded':
549
+ return <InputWithPlusMinusButtonsRounded {...props} />
550
+ case 'EndButtonsRounded':
551
+ return <InputWithEndButtonsRounded {...props} />
552
+ case 'StackedChevrons':
553
+ return <InputWithStackedChevrons {...props} />
554
+ case 'Email':
555
+ return <Email {...props} />
556
+ case 'Email':
557
+ return <Email {...props} />
558
+ case 'EndHelperText':
559
+ return <InputEndHelperText {...props} />
560
+ default:
561
+ return <InputDefault {...props} />
562
+ }
563
+ }
564
+ // Password strength requirements
565
+ const requirements = [
566
+ { regex: /.{8,}/, text: 'At least 8 characters' },
567
+ { regex: /[0-9]/, text: 'At least 1 number' },
568
+ { regex: /[a-z]/, text: 'At least 1 lowercase letter' },
569
+ { regex: /[A-Z]/, text: 'At least 1 uppercase letter' },
570
+ { regex: /[^A-Za-z0-9]/, text: 'At least 1 special character' }
571
+ ]
572
+
573
+ const useCharacterLimit = ({ maxLength, value, setValue } ) => {
574
+ const [characterCount, setCharacterCount] = useState(0)
575
+
576
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
577
+ if (e.target.value.length <= maxLength) {
578
+ setValue(e.target.value)
579
+ setCharacterCount(e.target.value.length)
580
+ }
581
+ }
582
+
583
+ return { value, characterCount, handleChange, maxLength }
584
+ }
585
+
586
+ const InputDefault = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
587
+ return (
588
+ <Field className='w-full max-w-xs space-y-2'>
589
+ {label && <FieldLabel>{label}</FieldLabel>}
590
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
591
+ {description && <FieldDescription>{description}</FieldDescription>}
592
+ {error && <FieldError>{error}</FieldError>}
593
+ </Field>
594
+ )
595
+ }
596
+ const Email = ({ type = 'email', placeholder = 'Email address', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
597
+ return (
598
+ <Field className='w-full max-w-xs space-y-2'>
599
+ {label && <FieldLabel>{label}</FieldLabel>}
600
+ <Input type={type} placeholder={placeholder} className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
601
+ {description && <FieldDescription>{description}</FieldDescription>}
602
+ {error && <FieldError>{error}</FieldError>}
603
+ </Field>
604
+ )
605
+ }
606
+ const LabelInput = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
607
+ return (
608
+ <Field className='w-full max-w-xs space-y-2'>
609
+ {label && <FieldLabel>{label}</FieldLabel>}
610
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
611
+ {description && <FieldDescription>{description}</FieldDescription>}
612
+ {error && <FieldError>{error}</FieldError>}
613
+ </Field>
614
+ )
615
+ }
616
+ const InputRequired = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
617
+ return (
618
+ <Field>
619
+ {label && <FieldLabel>{label} <span className='text-destructive'>*</span></FieldLabel>}
620
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} required {...props} />
621
+ {description && <FieldDescription>{description}</FieldDescription>}
622
+ {error && <FieldError>{error}</FieldError>}
623
+ </Field>
624
+ )
625
+ }
626
+ const InputDisabled = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
627
+ const id = useId()
628
+ return (
629
+ <Field className='w-full max-w-xs space-y-2'>
630
+ {label && <FieldLabel>{label}</FieldLabel>}
631
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} disabled {...props} />
632
+ {description && <FieldDescription>{description}</FieldDescription>}
633
+ {error && <FieldError>{error}</FieldError>}
634
+ </Field>
635
+ )
636
+ }
637
+ const InputReadOnly = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
638
+ return (
639
+ <Field className='w-full max-w-xs space-y-2'>
640
+ {label && <FieldLabel>{label}</FieldLabel>}
641
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'read-only:bg-muted', className)} readOnly {...props} />
642
+ {description && <FieldDescription>{description}</FieldDescription>}
643
+ {error && <FieldError>{error}</FieldError>}
644
+ </Field>
645
+ )
646
+ }
647
+ const InputEndHelperText = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
648
+ return (
649
+ <Field className='w-full max-w-xs space-y-2'>
650
+ {label && <FieldLabel>{label}</FieldLabel>}
651
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
652
+ {description && <FieldDescription className='text-end'>{description}</FieldDescription>}
653
+ {error && <FieldError>{error}</FieldError>}
654
+ </Field>
655
+ )
656
+ }
657
+ const InputHintText = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
658
+ const id = useId()
659
+ return (
660
+ <Field className='w-full max-w-xs space-y-2'>
661
+ {label && <FieldLabel>{label}</FieldLabel>}
662
+ {description && <FieldDescription className='text-muted-foreground text-xs'>{description}</FieldDescription>}
663
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
664
+ {error && <FieldError>{error}</FieldError>}
665
+ </Field>
666
+ )
667
+ }
668
+ const InputError = ({ error, label, description, variant, size, rounded, state, className, ...props }: any) => {
669
+ return (
670
+ <Field className='w-full max-w-xs space-y-2'>
671
+ {label && <FieldLabel>{label}</FieldLabel>}
672
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
673
+ {description && <FieldDescription>{description}</FieldDescription>}
674
+ {error && <FieldError>{error}</FieldError>}
675
+ </Field>
676
+ )
677
+ }
678
+ const InputColoredRing = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
679
+ const id = useId()
680
+ return (
681
+ <Field className='w-full max-w-xs space-y-2'>
682
+ {label && <FieldLabel>{label}</FieldLabel>}
683
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'focus-visible:border-indigo-500 focus-visible:ring-indigo-500/20 dark:focus-visible:ring-indigo-500/40', className)} {...props} />
684
+ {description && <FieldDescription>{description}</FieldDescription>}
685
+ {error && <FieldError>{error}</FieldError>}
686
+ </Field>
687
+ )
688
+ }
689
+ const InputStartIcon = ({ icon: Icon = UserIcon, iconCN, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
690
+ return (
691
+ <Field className='w-full max-w-xs space-y-2'>
692
+ {label && <FieldLabel>{label}</FieldLabel>}
693
+ <div className='relative'>
694
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
695
+ <Icon className={iconCN} />
696
+ </div>
697
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-9', className)} {...props} />
698
+ </div>
699
+ {description && <FieldDescription>{description}</FieldDescription>}
700
+ {error && <FieldError>{error}</FieldError>}
701
+ </Field>
702
+ )
703
+ }
704
+ const InputEndIcon = ({ icon: Icon = MailIcon, iconCN, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
705
+ return (
706
+ <Field className='w-full max-w-xs space-y-2'>
707
+ {label && <FieldLabel>{label}</FieldLabel>}
708
+ <div className='relative'>
709
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-9', className)} {...props} />
710
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 peer-disabled:opacity-50'>
711
+ <Icon className={iconCN} />
712
+ </div>
713
+ </div>
714
+ {description && <FieldDescription>{description}</FieldDescription>}
715
+ {error && <FieldError>{error}</FieldError>}
716
+ </Field>
717
+ )
718
+ }
719
+ const InputStartTextAddOn = ({ addOnText = 'https://', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
720
+ return (
721
+ <Field className='w-full max-w-xs space-y-2'>
722
+ {label && <FieldLabel>{label}</FieldLabel>}
723
+ <div className='relative'>
724
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-17', className)} {...props} />
725
+ <span className='pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 text-sm peer-disabled:opacity-50'>
726
+ {addOnText}
727
+ </span>
728
+ </div>
729
+ {description && <FieldDescription>{description}</FieldDescription>}
730
+ {error && <FieldError>{error}</FieldError>}
731
+ </Field>
732
+ )
733
+ }
734
+ const InputEndTextAddOn = ({ addOnText = '.com', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
735
+ return (
736
+ <Field className='w-full max-w-xs space-y-2'>
737
+ {label && <FieldLabel>{label}</FieldLabel>}
738
+ <div className='relative'>
739
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-13', className)} {...props} />
740
+ <span className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 text-sm peer-disabled:opacity-50'>
741
+ {addOnText}
742
+ </span>
743
+ </div>
744
+ {description && <FieldDescription>{description}</FieldDescription>}
745
+ {error && <FieldError>{error}</FieldError>}
746
+ </Field>
747
+ )
748
+ }
749
+ const InputTextAddOns = ({ startAddOn = 'https://', endAddOn = '.com', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
750
+ const id = useId()
751
+ return (
752
+ <Field className='w-full max-w-xs space-y-2'>
753
+ {label && <FieldLabel>{label}</FieldLabel>}
754
+ <div className='relative'>
755
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-13 pl-17', className)} {...props} />
756
+ <span className='pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 text-sm peer-disabled:opacity-50'>
757
+ {startAddOn}
758
+ </span>
759
+ <span className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 text-sm peer-disabled:opacity-50'>
760
+ {endAddOn}
761
+ </span>
762
+ </div>
763
+ {description && <FieldDescription>{description}</FieldDescription>}
764
+ {error && <FieldError>{error}</FieldError>}
765
+ </Field>
766
+ )
767
+ }
768
+ const InputStartAddOn = ({ addOnText = 'https://', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
769
+ const id = useId()
770
+ return (
771
+ <Field className='w-full max-w-xs space-y-2'>
772
+ {label && <FieldLabel>{label}</FieldLabel>}
773
+ <div className='flex rounded-md shadow-xs'>
774
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center rounded-l-md border px-3 text-sm'>
775
+ {addOnText}
776
+ </span>
777
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-ms-px rounded-l-none shadow-none', className)} {...props} />
778
+ </div>
779
+ {description && <FieldDescription>{description}</FieldDescription>}
780
+ {error && <FieldError>{error}</FieldError>}
781
+ </Field>
782
+ )
783
+ }
784
+ const InputEndAddOn = ({ addOnText = '.com', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
785
+ const id = useId()
786
+ return (
787
+ <Field className='w-full max-w-xs space-y-2'>
788
+ {label && <FieldLabel>{label}</FieldLabel>}
789
+ <div className='flex rounded-md shadow-xs'>
790
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none', className)} {...props} />
791
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center rounded-r-md border px-3 text-sm'>
792
+ {addOnText}
793
+ </span>
794
+ </div>
795
+ {description && <FieldDescription>{description}</FieldDescription>}
796
+ {error && <FieldError>{error}</FieldError>}
797
+ </Field>
798
+ )
799
+ }
800
+ const InputAddOns = ({ startAddOn = 'https://', endAddOn = '.com', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
801
+
802
+ return (
803
+ <Field className='w-full max-w-xs space-y-2'>
804
+ {label && <FieldLabel>{label}</FieldLabel>}
805
+ <div className='flex rounded-md shadow-xs'>
806
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center rounded-l-md border px-3 text-sm'>
807
+ {startAddOn}
808
+ </span>
809
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-mx-px rounded-none shadow-none', className)} {...props} />
810
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center rounded-r-md border px-3 text-sm'>
811
+ {endAddOn}
812
+ </span>
813
+ </div>
814
+ {description && <FieldDescription>{description}</FieldDescription>}
815
+ {error && <FieldError>{error}</FieldError>}
816
+ </Field>
817
+ )
818
+ }
819
+ const InputFilled = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
820
+ return (
821
+ <Field className='w-full max-w-xs space-y-2'>
822
+ {label && <FieldLabel>{label}</FieldLabel>}
823
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'bg-muted border-transparent shadow-none', className)} {...props} />
824
+ {description && <FieldDescription>{description}</FieldDescription>}
825
+ {error && <FieldError>{error}</FieldError>}
826
+ </Field>
827
+ )
828
+ }
829
+ const InputOverlappingLabel = ({ label = 'Input with overlapping label', description, error, variant, size, rounded, state, className, ...props }: any) => {
830
+ return (
831
+ <Field className='w-full max-w-xs space-y-2'>
832
+ <div className='group relative w-full max-w-xs'>
833
+ <FieldLabel className='bg-background text-foreground absolute top-0 left-2 z-1 block -translate-y-1/2 px-1 text-xs'>{label}</FieldLabel>
834
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
835
+ </div>
836
+ {description && <FieldDescription>{description}</FieldDescription>}
837
+ {error && <FieldError>{error}</FieldError>}
838
+ </Field>
839
+ )
840
+ }
841
+ const InputFloatingLabel = ({ label = 'Input with floating label', description, error, variant, size, rounded, state, className, ...props }: any) => {
842
+ const id = useId()
843
+ return (
844
+ <Field className='w-full max-w-xs space-y-2'>
845
+ <div className='group relative w-full max-w-xs'>
846
+ <label
847
+ htmlFor={id}
848
+ className='origin-start text-muted-foreground group-focus-within:text-foreground has-[+input:not(:placeholder-shown)]:text-foreground absolute top-1/2 block -translate-y-1/2 cursor-text px-2 text-sm transition-all group-focus-within:pointer-events-none group-focus-within:top-0 group-focus-within:cursor-default group-focus-within:text-xs group-focus-within:font-medium has-[+input:not(:placeholder-shown)]:pointer-events-none has-[+input:not(:placeholder-shown)]:top-0 has-[+input:not(:placeholder-shown)]:cursor-default has-[+input:not(:placeholder-shown)]:text-xs has-[+input:not(:placeholder-shown)]:font-medium'
849
+ >
850
+ <span className='bg-background inline-flex px-1'>{label}</span>
851
+ </label>
852
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} {...props} />
853
+ </div>
854
+ {description && <FieldDescription>{description}</FieldDescription>}
855
+ {error && <FieldError>{error}</FieldError>}
856
+ </Field>
857
+
858
+ )
859
+ }
860
+ const InputInsetLabel = ({ label = 'Input with inset label', description, error, variant, size, rounded, state, className, ...props }: any) => {
861
+ return (
862
+ <Field className='w-full max-w-xs space-y-2'>
863
+ <div className='border-input bg-background focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive relative w-full max-w-xs rounded-md border shadow-xs transition-[color,box-shadow] outline-none focus-within:ring-[3px] has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-[input:is(:disabled)]:*:pointer-events-none'>
864
+ <label htmlFor={id} className='text-foreground dark:bg-input/30 block px-3 pt-1 text-xs font-medium'>
865
+ {label}
866
+ </label>
867
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'text-foreground placeholder:text-muted-foreground dark:bg-input/30 flex h-9 w-full bg-transparent px-3 pb-1 text-sm focus-visible:outline-none', className)} {...props} />
868
+ </div>
869
+ {description && <FieldDescription>{description}</FieldDescription>}
870
+ {error && <FieldError>{error}</FieldError>}
871
+ </Field>
872
+ )
873
+ }
874
+ const InputPassword = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
875
+ const [isVisible, setIsVisible] = useState(false)
876
+ return (
877
+ <Field className='w-full max-w-xs space-y-2'>
878
+ {label && <FieldLabel>{label}</FieldLabel>}
879
+ <div className='relative'>
880
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'pr-9', className)} {...props} />
881
+ <Button
882
+ variant='ghost'
883
+ size='icon'
884
+ onClick={() => setIsVisible(prevState => !prevState)}
885
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
886
+ >
887
+ {isVisible ? <EyeOffIcon className='size-4' /> : <EyeIcon className='size-4' />}
888
+ </Button>
889
+ </div>
890
+ {description && <FieldDescription>{description}</FieldDescription>}
891
+ {error && <FieldError>{error}</FieldError>}
892
+ </Field>
893
+ )
894
+ }
895
+ const InputFile = ({ label, description, error, variant, size, rounded, state, className, ...props }: any) => {
896
+ return (
897
+ <Field className='w-full max-w-xs space-y-2'>
898
+ {label && <FieldLabel>{label}</FieldLabel>}
899
+ <Input type='file' className={cn(inputVariants({ variant, size, rounded, state }), 'text-muted-foreground file:border-input file:text-foreground p-0 pr-3 italic file:mr-3 file:h-full file:border-0 file:border-r file:border-solid file:bg-transparent file:px-3 file:text-sm file:font-medium file:not-italic', className)} {...props} />
900
+ {description && <FieldDescription>{description}</FieldDescription>}
901
+ {error && <FieldError>{error}</FieldError>}
902
+ </Field>
903
+ )
904
+ }
905
+ const InputStartSelect = ({ selectOptions = ['https://', 'http://', 'ftp://', 'sftp://', 'ws://', 'wss://'], defaultSelectValue = 'https://', label, description, error, variant, size, rounded, state, className, ...props }: any) => {
906
+ const id = useId()
907
+ return (
908
+ <Field className='w-full max-w-xs space-y-2'>
909
+ {label && <FieldLabel>{label}</FieldLabel>}
910
+ <div className='flex rounded-md shadow-xs'>
911
+ <Select defaultValue={defaultSelectValue} className='rounded-r-none shadow-none focus-visible:z-1'>
912
+ {selectOptions.map((option: string) => (
913
+ <option key={option} value={option}>{option}</option>
914
+ ))}
915
+ </Select>
916
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-ms-px rounded-l-none shadow-none', className)} {...props} />
917
+ </div>
918
+ {description && <FieldDescription>{description}</FieldDescription>}
919
+ {error && <FieldError>{error}</FieldError>}
920
+ </Field>
921
+ )
922
+ }
923
+ const InputEndSelect = ({ selectOptions = ['.com', '.org', '.net'], defaultSelectValue = '.com', description, error, variant, size, rounded, state, className, ...props }: any) => {
924
+ return (
925
+ <Field className='w-full max-w-xs space-y-2'>
926
+ {label && <FieldLabel>{label}</FieldLabel>}
927
+ <div className='flex rounded-md shadow-xs'>
928
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1', className)} {...props} />
929
+ <Select defaultValue={defaultSelectValue} className='rounded-l-none shadow-none'>
930
+ {selectOptions.map((option: string) => (
931
+ <option key={option} value={option}>{option}</option>
932
+ ))}
933
+ </Select>
934
+ </div>
935
+ {description && <FieldDescription>{description}</FieldDescription>}
936
+ {error && <FieldError>{error}</FieldError>}
937
+ </Field>
938
+ )
939
+ }
940
+ const InputEndInlineButton = ({ label, description, error, variant, size, rounded, state, className, onClick, buttonText = 'Subscribe', bCN = 'text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent', ...props }) => {
941
+ return (
942
+ <Field className='w-full max-w-xs space-y-2'>
943
+ {label && <FieldLabel>{label}</FieldLabel>}
944
+ <div className='relative'>
945
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'pr-9', className)} {...props} />
946
+ <Button
947
+ variant='ghost'
948
+ size='icon'
949
+ onClick={onClick}
950
+ className={bCN}
951
+ >
952
+ <SendHorizonalIcon />
953
+ </Button>
954
+ </div>
955
+ {description && <FieldDescription>{description}</FieldDescription>}
956
+ {error && <FieldError>{error}</FieldError>}
957
+ </Field>
958
+ )
959
+ }
960
+ const InputIconButton = ({ label, description, error, variant, size, rounded, state, className, icon: Icon = UserIcon, iconCN, onClick, ...props }) => {
961
+ return (
962
+ <Field className='w-full max-w-xs space-y-2'>
963
+ {label && <FieldLabel>{label}</FieldLabel>}
964
+ <div className='flex rounded-md shadow-xs'>
965
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1', className)} {...props} />
966
+ <Button variant='outline' size='icon' className='rounded-l-none' onClick={onClick}>
967
+ <Icon className={iconCN} />
968
+ </Button>
969
+ </div>
970
+ {description && <FieldDescription>{description}</FieldDescription>}
971
+ {error && <FieldError>{error}</FieldError>}
972
+ </Field>
973
+ )
974
+ }
975
+ const InputEndButton = ({ label, description, error, variant, size, rounded, state, className, onClick, buttonText = 'Subscribe', ...props }) => {
976
+ return (
977
+ <Field className='w-full max-w-xs space-y-2'>
978
+ {label && <FieldLabel>{label}</FieldLabel>}
979
+ <div className='flex rounded-md shadow-xs'>
980
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1', className)} {...props} />
981
+ <Button onClick={onClick} className='rounded-l-none'>{buttonText}</Button>
982
+ </div>
983
+ {description && <FieldDescription>{description}</FieldDescription>}
984
+ {error && <FieldError>{error}</FieldError>}
985
+ </Field>
986
+ )
987
+ }
988
+ const InputCharacterLimit = ({ value, setValue, label, description, error, variant, size, rounded, state, className, ...props }) => {
989
+ const [characterCount, setCharacterCount] = useState(value.length)
990
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
991
+ if (e.target.value.length <= maxLength) {
992
+ setValue(e.target.value)
993
+ setCharacterCount(e.target.value.length)
994
+ }
995
+ }
996
+
997
+ return (
998
+ <Field className='w-full max-w-xs space-y-2'>
999
+ {label && <FieldLabel>{label}</FieldLabel>}
1000
+ <div className='relative'>
1001
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} onChange={handleChange} {...props} />
1002
+ <FieldDescription className='text-muted-foreground pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 text-xs tabular-nums peer-disabled:opacity-50'>
1003
+ {characterCount}/{maxLength}
1004
+ </FieldDescription>
1005
+ </div>
1006
+ {description && <FieldDescription>{description}</FieldDescription>}
1007
+ {error && <FieldError>{error}</FieldError>}
1008
+ </Field>
1009
+ )
1010
+ }
1011
+ const InputCharacterLeft = ({ value, setValue, label, description, error, variant, size, rounded, state, className, maxLength = 30, ...props }) => {
1012
+ const [characterCount, setCharacterCount] = useState(value.length)
1013
+ const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
1014
+ if (e.target.value.length <= maxLength) {
1015
+ setValue(e.target.value)
1016
+ setCharacterCount(e.target.value.length)
1017
+ }
1018
+ }
1019
+ return (
1020
+ <Field className='w-full max-w-xs space-y-2'>
1021
+ {label && <FieldLabel>{label}</FieldLabel>}
1022
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), className)} onChange={handleChange} maxLength={maxLength} {...props} />
1023
+ <FieldDescription className='text-muted-foreground text-xs'><span className='tabular-nums'>{maxLength - characterCount}</span> characters left</FieldDescription>
1024
+ {description && <FieldDescription>{description}</FieldDescription>}
1025
+ {error && <FieldError>{error}</FieldError>}
1026
+ </Field>
1027
+ )
1028
+ }
1029
+ const InputClear = ({ value = 'Click to clear', setValue, label, description, error, variant, size, rounded, state, className, ...props }) => {
1030
+ const inputRef = useRef<HTMLInputElement>(null)
1031
+ const id = useId()
1032
+ const handleClearInput = () => {
1033
+ setValue('')
1034
+ if (inputRef.current) {
1035
+ inputRef.current.focus()
1036
+ }
1037
+ }
1038
+ return (
1039
+ <Field className='w-full max-w-xs space-y-2'>
1040
+ {label && <FieldLabel>{label}</FieldLabel>}
1041
+ <div className='relative'>
1042
+ <Input
1043
+ value={value}
1044
+ onChange={e => setValue(e.target.value)}
1045
+ ref={inputRef}
1046
+ className={cn(inputVariants({ variant, size, rounded, state }), 'pr-9', className)}
1047
+ {...props} />
1048
+ {value && (
1049
+ <Button
1050
+ variant='ghost'
1051
+ size='icon'
1052
+ onClick={handleClearInput}
1053
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
1054
+ >
1055
+ <CircleXIcon />
1056
+ <span className='sr-only'>Clear input</span>
1057
+ </Button>
1058
+ )}
1059
+ </div>
1060
+ {description && <FieldDescription>{description}</FieldDescription>}
1061
+ {error && <FieldError>{error}</FieldError>}
1062
+ </Field>
1063
+ )
1064
+ }
1065
+ const InputSearch = ({ label, description, error, variant, size, rounded, state, className, ...props }) => {
1066
+ return (
1067
+ <Field className='w-full max-w-xs space-y-2'>
1068
+ {label && <FieldLabel>{label}</FieldLabel>}
1069
+ <div className='relative'>
1070
+ <Input type='search' className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-11 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none', className)} {...props} />
1071
+ <div className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 peer-disabled:opacity-50'>
1072
+ <kbd className='text-muted-foreground bg-accent inline-flex h-5 max-h-full items-center rounded border px-1 font-[inherit] text-[0.625rem] font-medium'>
1073
+ ⌘k
1074
+ </kbd>
1075
+ </div>
1076
+ </div>
1077
+ {description && <FieldDescription>{description}</FieldDescription>}
1078
+ {error && <FieldError>{error}</FieldError>}
1079
+ </Field>
1080
+ )
1081
+ }
1082
+ const InputSearchIcon = ({ label, description, error, variant, size, rounded, state,onClick, className, ...props }: any) => {
1083
+ return (
1084
+ <Field className='w-full max-w-xs space-y-2'>
1085
+ {label && <FieldLabel>{label}</FieldLabel>}
1086
+ <div className='relative'>
1087
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
1088
+ <SearchIcon className='size-4' />
1089
+ <span className='sr-only'>Search</span>
1090
+ </div>
1091
+ <Input
1092
+ type='search'
1093
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-9 pr-9', className)}
1094
+ {...props}
1095
+ />
1096
+ <Button
1097
+ variant='ghost'
1098
+ size='icon'
1099
+ onClick={onClick}
1100
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
1101
+ >
1102
+ <MicIcon className='size-4' />
1103
+ <span className='sr-only'>Press to speak</span>
1104
+ </Button>
1105
+ </div>
1106
+ {description && <FieldDescription>{description}</FieldDescription>}
1107
+ {error && <FieldError>{error}</FieldError>}
1108
+ </Field>
1109
+ )
1110
+ }
1111
+ const InputSearchLoader = ({value = '', setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1112
+ const [isLoading, setIsLoading] = useState(false)
1113
+
1114
+ useEffect(() => {
1115
+ if (value) {
1116
+ setIsLoading(true)
1117
+ const timer = setTimeout(() => {
1118
+ setIsLoading(false)
1119
+ }, 500)
1120
+
1121
+ return () => clearTimeout(timer)
1122
+ }
1123
+ setIsLoading(false)
1124
+ }, [value])
1125
+
1126
+ return (
1127
+ <Field className='w-full max-w-xs space-y-2'>
1128
+ {label && <FieldLabel>{label}</FieldLabel>}
1129
+ <div className='relative'>
1130
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
1131
+ <SearchIcon className='size-4' />
1132
+ <span className='sr-only'>Search</span>
1133
+ </div>
1134
+ <Input
1135
+ type='search'
1136
+ value={value}
1137
+ onChange={(e) => setValue(e.target.value)}
1138
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-9 pr-9', className)}
1139
+ {...props}
1140
+ />
1141
+ {isLoading && (
1142
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 peer-disabled:opacity-50'>
1143
+ <LoaderCircleIcon className='size-4 animate-spin' />
1144
+ <span className='sr-only'>Loading...</span>
1145
+ </div>
1146
+ )}
1147
+ </div>
1148
+ {description && <FieldDescription>{description}</FieldDescription>}
1149
+ {error && <FieldError>{error}</FieldError>}
1150
+ </Field>
1151
+ )
1152
+ }
1153
+ const InputPlusMinusButtons = ({value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1154
+
1155
+ const increment = () => setValue(prev => prev + 1)
1156
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1157
+
1158
+ return (
1159
+ <Field className='w-full max-w-xs space-y-2'>
1160
+ {label && <FieldLabel>{label}</FieldLabel>}
1161
+ <div className='flex rounded-md shadow-xs'>
1162
+ <Button
1163
+ variant='outline'
1164
+ size='icon'
1165
+ className='border-input rounded-r-none border-r-0'
1166
+ onClick={decrement}
1167
+ >
1168
+ <MinusIcon className='size-4' />
1169
+ <span className='sr-only'>Decrement</span>
1170
+ </Button>
1171
+ <Input
1172
+ type='number'
1173
+ value={value}
1174
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1175
+ className={cn(inputVariants({ variant, size, rounded, state }), 'rounded-none border-x-0 text-center tabular-nums shadow-none', className)}
1176
+ {...props}
1177
+ />
1178
+ <Button
1179
+ variant='outline'
1180
+ size='icon'
1181
+ className='border-input rounded-l-none border-l-0'
1182
+ onClick={increment}
1183
+ >
1184
+ <PlusIcon className='size-4' />
1185
+ <span className='sr-only'>Increment</span>
1186
+ </Button>
1187
+ </div>
1188
+ {description && <FieldDescription>{description}</FieldDescription>}
1189
+ {error && <FieldError>{error}</FieldError>}
1190
+ </Field>
1191
+ )
1192
+ }
1193
+ const InputEndButtons = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1194
+ const increment = () => setValue(prev => prev + 1)
1195
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1196
+
1197
+ return (
1198
+ <Field className='w-full max-w-xs space-y-2'>
1199
+ {label && <FieldLabel>{label}</FieldLabel>}
1200
+ <div className='flex rounded-md shadow-xs'>
1201
+ <Input
1202
+ type='number'
1203
+ value={value}
1204
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1205
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
1206
+ {...props}
1207
+ />
1208
+ <Button
1209
+ variant='outline'
1210
+ size='icon'
1211
+ className='border-input rounded-l-none border-l-0'
1212
+ onClick={decrement}
1213
+ >
1214
+ <MinusIcon className='size-4' />
1215
+ <span className='sr-only'>Decrement</span>
1216
+ </Button>
1217
+ <Button
1218
+ variant='outline'
1219
+ size='icon'
1220
+ className='border-input rounded-l-none'
1221
+ onClick={increment}
1222
+ >
1223
+ <PlusIcon className='size-4' />
1224
+ <span className='sr-only'>Increment</span>
1225
+ </Button>
1226
+ </div>
1227
+ {description && <FieldDescription>{description}</FieldDescription>}
1228
+ {error && <FieldError>{error}</FieldError>}
1229
+ </Field>
1230
+ )
1231
+ }
1232
+ const InputStackedButtons = ({value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1233
+ const increment = () => setValue(prev => prev + 1)
1234
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1235
+
1236
+ return (
1237
+ <Field className='w-full max-w-xs space-y-2'>
1238
+ {label && <FieldLabel>{label}</FieldLabel>}
1239
+ <div className='flex rounded-md shadow-xs'>
1240
+ <Input
1241
+ type='number'
1242
+ value={value}
1243
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1244
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
1245
+ {...props}
1246
+ />
1247
+ <div className='flex flex-col'>
1248
+ <Button
1249
+ variant='outline'
1250
+ size='icon'
1251
+ className='border-input -me-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-tr-md border text-sm'
1252
+ onClick={increment}
1253
+ >
1254
+ <PlusIcon className='size-3' />
1255
+ <span className='sr-only'>Increment</span>
1256
+ </Button>
1257
+ <Button
1258
+ variant='outline'
1259
+ size='icon'
1260
+ className='border-input -me-px -mt-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-br-md border text-sm'
1261
+ onClick={decrement}
1262
+ >
1263
+ <MinusIcon className='size-3' />
1264
+ <span className='sr-only'>Decrement</span>
1265
+ </Button>
1266
+ </div>
1267
+ </div>
1268
+ {description && <FieldDescription>{description}</FieldDescription>}
1269
+ {error && <FieldError>{error}</FieldError>}
1270
+ </Field>
1271
+ )
1272
+ }
1273
+ const InputPlusMinusButtonsRounded = ({value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1274
+ const increment = () => setValue(prev => prev + 1)
1275
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1276
+
1277
+ return (
1278
+ <Field className='w-full max-w-xs space-y-2'>
1279
+ {label && <FieldLabel>{label}</FieldLabel>}
1280
+ <div className='flex items-center rounded-md border border-input shadow-xs'>
1281
+ <Button
1282
+ variant='ghost'
1283
+ size='icon'
1284
+ className='ml-2 h-5 w-5 rounded-sm'
1285
+ onClick={decrement}
1286
+ >
1287
+ <MinusIcon className='size-3' />
1288
+ <span className='sr-only'>Decrement</span>
1289
+ </Button>
1290
+ <Input
1291
+ type='number'
1292
+ value={value}
1293
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1294
+ className={cn(inputVariants({ variant, size, rounded, state }), 'border-0 shadow-none text-center tabular-nums focus-visible:ring-0', className)}
1295
+ {...props}
1296
+ />
1297
+ <Button
1298
+ variant='ghost'
1299
+ size='icon'
1300
+ className='mr-2 h-5 w-5 rounded-sm'
1301
+ onClick={increment}
1302
+ >
1303
+ <PlusIcon className='size-3' />
1304
+ <span className='sr-only'>Increment</span>
1305
+ </Button>
1306
+ </div>
1307
+ {description && <FieldDescription>{description}</FieldDescription>}
1308
+ {error && <FieldError>{error}</FieldError>}
1309
+ </Field>
1310
+ )
1311
+ }
1312
+ const InputEndButtonsRounded = ({ value = 1024, setValue,label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1313
+
1314
+ const increment = () => setValue(prev => prev + 1)
1315
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1316
+
1317
+ return (
1318
+ <Field className='w-full max-w-xs space-y-2'>
1319
+ {label && <FieldLabel>{label}</FieldLabel>}
1320
+ <div className='flex items-center rounded-md border border-input shadow-xs'>
1321
+ <Input
1322
+ type='number'
1323
+ value={value}
1324
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1325
+ className={cn(inputVariants({ variant, size, rounded, state }), 'border-0 shadow-none text-center tabular-nums focus-visible:ring-0', className)}
1326
+ {...props}
1327
+ />
1328
+ <Button
1329
+ variant='ghost'
1330
+ size='icon'
1331
+ className='mr-1.5 h-5 w-5 rounded-sm'
1332
+ onClick={decrement}
1333
+ >
1334
+ <MinusIcon className='size-3' />
1335
+ <span className='sr-only'>Decrement</span>
1336
+ </Button>
1337
+ <Button
1338
+ variant='ghost'
1339
+ size='icon'
1340
+ className='mr-2 h-5 w-5 rounded-sm'
1341
+ onClick={increment}
1342
+ >
1343
+ <PlusIcon className='size-3' />
1344
+ <span className='sr-only'>Increment</span>
1345
+ </Button>
1346
+ </div>
1347
+ {description && <FieldDescription>{description}</FieldDescription>}
1348
+ {error && <FieldError>{error}</FieldError>}
1349
+ </Field>
1350
+ )
1351
+ }
1352
+ const InputStackedChevrons = ({value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1353
+ const increment = () => setValue(prev => prev + 1)
1354
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
1355
+
1356
+ return (
1357
+ <Field className='w-full max-w-xs space-y-2'>
1358
+ {label && <FieldLabel>{label}</FieldLabel>}
1359
+ <div className='flex rounded-md shadow-xs'>
1360
+ <Input
1361
+ type='number'
1362
+ value={value}
1363
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1364
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
1365
+ {...props}
1366
+ />
1367
+ <div className='flex flex-col'>
1368
+ <Button
1369
+ variant='outline'
1370
+ size='icon'
1371
+ className='border-input -me-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-tr-md border text-sm'
1372
+ onClick={increment}
1373
+ >
1374
+ <ChevronUpIcon className='size-3' />
1375
+ <span className='sr-only'>Increment</span>
1376
+ </Button>
1377
+ <Button
1378
+ variant='outline'
1379
+ size='icon'
1380
+ className='border-input -me-px -mt-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-br-md border text-sm'
1381
+ onClick={decrement}
1382
+ >
1383
+ <ChevronDownIcon className='size-3' />
1384
+ <span className='sr-only'>Decrement</span>
1385
+ </Button>
1386
+ </div>
1387
+ </div>
1388
+ {description && <FieldDescription>{description}</FieldDescription>}
1389
+ {error && <FieldError>{error}</FieldError>}
1390
+ </Field>
1391
+ )
1392
+ }
1393
+ const InputPasswordStrength = ({password = '', setPassword, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1394
+ const [isVisible, setIsVisible] = useState(false)
1395
+
1396
+ const id = useId()
1397
+
1398
+ const toggleVisibility = () => setIsVisible(prevState => !prevState)
1399
+
1400
+ const strength = requirements.map(req => ({
1401
+ met: req.regex.test(password),
1402
+ text: req.text
1403
+ }))
1404
+
1405
+ const strengthScore = useMemo(() => {
1406
+ return strength.filter(req => req.met).length
1407
+ }, [strength])
1408
+
1409
+ const getColor = (score: number) => {
1410
+ if (score === 0) return 'bg-border'
1411
+ if (score <= 1) return 'bg-destructive'
1412
+ if (score <= 2) return 'bg-orange-500'
1413
+ if (score <= 3) return 'bg-amber-500'
1414
+ if (score === 4) return 'bg-yellow-400'
1415
+ return 'bg-green-500'
1416
+ }
1417
+
1418
+ const getText = (score: number) => {
1419
+ if (score === 0) return 'Enter a password'
1420
+ if (score <= 2) return 'Weak password'
1421
+ if (score <= 3) return 'Medium password'
1422
+ if (score === 4) return 'Strong password'
1423
+ return 'Very strong password'
1424
+ }
1425
+
1426
+ return (
1427
+ <Field className='w-full max-w-xs space-y-2'>
1428
+ {label && <FieldLabel>{label}</FieldLabel>}
1429
+ <div className='relative'>
1430
+ <Input
1431
+ type={isVisible ? 'text' : 'password'}
1432
+ value={password}
1433
+ onChange={(e) => setPassword(e.target.value)}
1434
+ className={cn(inputVariants({ variant, size, rounded, state }), 'pr-9', className)}
1435
+ {...props}
1436
+ />
1437
+ <Button
1438
+ variant='ghost'
1439
+ size='icon'
1440
+ onClick={toggleVisibility}
1441
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
1442
+ >
1443
+ {isVisible ? <Asterisk className='size-4' /> : <Abc className='size-4' />}
1444
+ <span className='sr-only'>{isVisible ? 'Hide password' : 'Show password'}</span>
1445
+ </Button>
1446
+ </div>
1447
+
1448
+ <div className='mb-2 flex h-1 w-full gap-1'>
1449
+ {Array.from({ length: 5 }).map((_, index) => (
1450
+ <span
1451
+ key={index}
1452
+ className={cn(
1453
+ 'h-full flex-1 rounded-full transition-all duration-500 ease-out',
1454
+ index < strengthScore ? getColor(strengthScore) : 'bg-border'
1455
+ )}
1456
+ />
1457
+ ))}
1458
+ </div>
1459
+
1460
+ <p className='text-foreground text-sm font-medium'>{getText(strengthScore)}. Must contain:</p>
1461
+
1462
+ <ul className='space-y-1.5'>
1463
+ {strength.map((req, index) => (
1464
+ <li key={index} className='flex items-center gap-2'>
1465
+ {req.met ? (
1466
+ <CheckIcon className='size-4 text-green-600 dark:text-green-400' />
1467
+ ) : (
1468
+ <XIcon className='text-muted-foreground size-4' />
1469
+ )}
1470
+ <span className={cn('text-xs', req.met ? 'text-green-600 dark:text-green-400' : 'text-muted-foreground')}>
1471
+ {req.text}
1472
+ <span className='sr-only'>{req.met ? ' - Requirement met' : ' - Requirement not met'}</span>
1473
+ </span>
1474
+ </li>
1475
+ ))}
1476
+ </ul>
1477
+
1478
+ {description && <FieldDescription>{description}</FieldDescription>}
1479
+ {error && <FieldError>{error}</FieldError>}
1480
+ </Field>
1481
+ )
1482
+ }
1483
+ const CcInput = ({value , setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1484
+ const { getCardNumberProps, type, validCC, getCardIcon } = useValidateCreditCard()
1485
+
1486
+ return (
1487
+ <Field className='w-full max-w-xs space-y-2'>
1488
+ {label && <FieldLabel>{label}</FieldLabel>}
1489
+ <div className='relative'>
1490
+ <Input
1491
+ value={value}
1492
+ onChange={(e) => setValue(e.target.value )}
1493
+ {...getCardNumberProps()}
1494
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer ps-9 [direction:inherit]', className)}
1495
+ {...props}
1496
+ />
1497
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
1498
+ <CreditCardIcon className='size-4' />
1499
+ </div>
1500
+ {type && (
1501
+ <div className='absolute inset-y-0 right-0 flex items-center justify-center pr-3'>
1502
+ <span className='text-xs font-medium'>{getCardIcon()}</span>
1503
+ </div>
1504
+ )}
1505
+ </div>
1506
+ {validCC !== null && (
1507
+ <FieldDescription className={cn('text-xs', validCC ? 'text-green-600' : 'text-destructive')}>
1508
+ {validCC ? '✓ Valid card number' : '✗ Invalid card number'}
1509
+ </FieldDescription>
1510
+ )}
1511
+ {description && <FieldDescription>{description}</FieldDescription>}
1512
+ {error && <FieldError>{error}</FieldError>}
1513
+ <FieldDescription className='text-xs'>
1514
+ Built with custom payment input implementation
1515
+ </FieldDescription>
1516
+ </Field>
1517
+ )
1518
+ }
1519
+ const InputWithCharactersLeft = ({value = '',setValue, maxLength = 8, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1520
+ const { characterCount } = useCharacterLimit({ maxLength, value, setValue })
1521
+ return (
1522
+ <Field className='w-full max-w-xs space-y-2'>
1523
+ {label && <FieldLabel>{label}</FieldLabel>}
1524
+ <Input
1525
+ value={value}
1526
+ onChange={setValue}
1527
+ maxLength={maxLength}
1528
+ className={cn(inputVariants({ variant, size, rounded, state }), className)}
1529
+ {...props}
1530
+ />
1531
+ <FieldDescription className='text-xs'>
1532
+ <span className='tabular-nums'>{maxLength - characterCount}</span> characters left
1533
+ </FieldDescription>
1534
+ {description && <FieldDescription>{description}</FieldDescription>}
1535
+ {error && <FieldError>{error}</FieldError>}
1536
+ </Field>
1537
+ )
1538
+ }
1539
+ const InputWithEndButton = ({ label, description, error, variant, size, rounded, state, className, buttonText = 'Send', onClick, ...props }: any) => {
1540
+ return (
1541
+ <Field className='w-full max-w-xs space-y-2'>
1542
+ {label && <FieldLabel>{label}</FieldLabel>}
1543
+ <div className='flex rounded-md shadow-xs'>
1544
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1', className)} {...props} />
1545
+ <Button onClick={onClick} className='rounded-l-none'>{buttonText}</Button>
1546
+ </div>
1547
+ {description && <FieldDescription>{description}</FieldDescription>}
1548
+ {error && <FieldError>{error}</FieldError>}
1549
+ </Field>
1550
+ )
1551
+ }
1552
+ const InputWithEndIconButton = ({ label, description, error, variant, size, rounded, state, className, icon: Icon = DownloadIcon, onClick, ...props }: any) => {
1553
+ return (
1554
+ <Field className='w-full max-w-xs space-y-2'>
1555
+ {label && <FieldLabel>{label}</FieldLabel>}
1556
+ <div className='flex rounded-md shadow-xs'>
1557
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1', className)} {...props} />
1558
+ <Button variant='outline' size='icon' className='rounded-l-none' onClick={onClick}>
1559
+ <Icon className='size-4' />
1560
+ </Button>
1561
+ </div>
1562
+ {description && <FieldDescription>{description}</FieldDescription>}
1563
+ {error && <FieldError>{error}</FieldError>}
1564
+ </Field>
1565
+ )
1566
+ }
1567
+ const InputWithEndInlineAddOn = ({ label, description, error, variant, size, rounded, state, className, addOnText = '.com', ...props }: any) => {
1568
+ return (
1569
+ <Field className='w-full max-w-xs space-y-2'>
1570
+ {label && <FieldLabel>{label}</FieldLabel>}
1571
+ <div className='relative'>
1572
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-13', className)} {...props} />
1573
+ <span className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 text-sm peer-disabled:opacity-50'>
1574
+ {addOnText}
1575
+ </span>
1576
+ </div>
1577
+ {description && <FieldDescription>{description}</FieldDescription>}
1578
+ {error && <FieldError>{error}</FieldError>}
1579
+ </Field>
1580
+ )
1581
+ }
1582
+ const InputWithInlineAddOns = ({ label, description, error, variant, size, rounded, state, className, startAddOn = '€', endAddOn = 'EUR', ...props }: any) => {
1583
+ return (
1584
+ <Field className='w-full max-w-xs space-y-2'>
1585
+ {label && <FieldLabel>{label}</FieldLabel>}
1586
+ <div className='relative'>
1587
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-6 pr-12', className)} {...props} />
1588
+ <span className='pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 text-sm peer-disabled:opacity-50'>
1589
+ {startAddOn}
1590
+ </span>
1591
+ <span className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 text-sm peer-disabled:opacity-50'>
1592
+ {endAddOn}
1593
+ </span>
1594
+ </div>
1595
+ {description && <FieldDescription>{description}</FieldDescription>}
1596
+ {error && <FieldError>{error}</FieldError>}
1597
+ </Field>
1598
+ )
1599
+ }
1600
+ const InputWithInlineStartAndEndAddOn = ({ label, description, error, variant, size, rounded, state, className, startAddOn = '€', endAddOn = 'EUR', ...props }: any) => {
1601
+ return (
1602
+ <Field className='w-full max-w-xs space-y-2'>
1603
+ {label && <FieldLabel>{label}</FieldLabel>}
1604
+ <div className='flex rounded-md shadow-xs'>
1605
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center pl-3 pr-2 text-sm'>
1606
+ {startAddOn}
1607
+ </span>
1608
+ <Input className={cn(inputVariants({ variant, size, rounded, state }), '-mx-px rounded-none shadow-none', className)} {...props} />
1609
+ <span className='border-input bg-background text-muted-foreground -z-1 inline-flex items-center rounded-r-md border px-3 text-sm'>
1610
+ {endAddOn}
1611
+ </span>
1612
+ </div>
1613
+ {description && <FieldDescription>{description}</FieldDescription>}
1614
+ {error && <FieldError>{error}</FieldError>}
1615
+ </Field>
1616
+ )
1617
+ }
1618
+ const InputWithInnerTags = ({ value = '', setValue, tags = ['Red'], setTags, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1619
+ const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
1620
+ if (e.key === 'Enter' && value.trim()) {
1621
+ setTags([...tags, value.trim()])
1622
+ setValue('')
1623
+ }
1624
+ }
1625
+
1626
+ const removeTag = (index: number) => {
1627
+ setTags(tags.filter((_, i) => i !== index))
1628
+ }
1629
+
1630
+ return (
1631
+ <Field className='w-full max-w-xs space-y-2'>
1632
+ {label && <FieldLabel>{label}</FieldLabel>}
1633
+ <div className='border-input focus-within:ring-ring/50 dark:focus-within:ring-ring/40 relative flex flex-wrap items-center gap-1 rounded-md border bg-background p-1 shadow-xs transition-[color,box-shadow] outline-none focus-within:ring-[3px]'>
1634
+ {tags.map((tag, index) => (
1635
+ <div key={index} className='border-input bg-background flex items-center gap-1 rounded-md border px-2 py-1 text-xs'>
1636
+ {tag}
1637
+ <button
1638
+ type='button'
1639
+ onClick={() => removeTag(index)}
1640
+ className='text-muted-foreground hover:text-foreground ml-1'
1641
+ >
1642
+ <XIcon className='size-3' />
1643
+ </button>
1644
+ </div>
1645
+ ))}
1646
+ <input
1647
+ value={value}
1648
+ onChange={(e) => setValue(e.target.value)}
1649
+ onKeyDown={handleKeyDown}
1650
+ className='flex-1 bg-transparent px-2 py-1 text-sm outline-none min-w-[80px]'
1651
+ placeholder={tags.length === 0 ? 'Add a tag' : ''}
1652
+ />
1653
+ </div>
1654
+ {description && <FieldDescription>{description}</FieldDescription>}
1655
+ {error && <FieldError>{error}</FieldError>}
1656
+ </Field>
1657
+ )
1658
+ }
1659
+ const InputWithMask = ({ value = '', setValue,label, description, error, variant, size, rounded, state, className, mask = 'AA99 AAA', ...props }: any) => {
1660
+
1661
+ const formatWithMask = (value: string) => {
1662
+ // Simple mask implementation - you might want to use a library like react-input-mask
1663
+ let result = ''
1664
+ let valueIndex = 0
1665
+
1666
+ for (let i = 0; i < mask.length && valueIndex < value.length; i++) {
1667
+ if (mask[i] === 'A' && /[A-Za-z]/.test(value[valueIndex])) {
1668
+ result += value[valueIndex++].toUpperCase()
1669
+ } else if (mask[i] === '9' && /[0-9]/.test(value[valueIndex])) {
1670
+ result += value[valueIndex++]
1671
+ } else if (mask[i] === ' ' || mask[i] === '-' || mask[i] === '/') {
1672
+ result += mask[i]
1673
+ if (value[valueIndex] === mask[i]) valueIndex++
1674
+ } else {
1675
+ result += value[valueIndex++] || ''
1676
+ }
1677
+ }
1678
+ return result
1679
+ }
1680
+
1681
+ const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
1682
+ const value = e.target.value.replace(/[^A-Za-z0-9]/g, '')
1683
+ setValue(formatWithMask(value))
1684
+ }
1685
+
1686
+ return (
1687
+ <Field className='w-full max-w-xs space-y-2'>
1688
+ {label && <FieldLabel>{label}</FieldLabel>}
1689
+ <Input
1690
+ value={value}
1691
+ onChange={handleChange}
1692
+ className={cn(inputVariants({ variant, size, rounded, state }), className)}
1693
+ placeholder='AB12 CDE'
1694
+ {...props}
1695
+ />
1696
+ {description && <FieldDescription>{description}</FieldDescription>}
1697
+ {error && <FieldError>{error}</FieldError>}
1698
+ </Field>
1699
+ )
1700
+ }
1701
+ const InputWithPasswordStrengthIndicator = ({ password = '', setPassword, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1702
+ const [isVisible, setIsVisible] = useState(false)
1703
+
1704
+ const toggleVisibility = () => setIsVisible(prevState => !prevState)
1705
+
1706
+ const requirements = [
1707
+ { regex: /.{8,}/, text: 'At least 8 characters' },
1708
+ { regex: /[0-9]/, text: 'At least 1 number' },
1709
+ { regex: /[a-z]/, text: 'At least 1 lowercase letter' },
1710
+ { regex: /[A-Z]/, text: 'At least 1 uppercase letter' },
1711
+ { regex: /[^A-Za-z0-9]/, text: 'At least 1 special character' }
1712
+ ]
1713
+
1714
+ const strength = useMemo(() => {
1715
+ return requirements.map(req => ({
1716
+ met: req.regex.test(password),
1717
+ text: req.text
1718
+ }))
1719
+ }, [password])
1720
+
1721
+ const strengthScore = useMemo(() => {
1722
+ return strength.filter(req => req.met).length
1723
+ }, [strength])
1724
+
1725
+ const getColor = (score: number) => {
1726
+ if (score === 0) return 'bg-border'
1727
+ if (score <= 1) return 'bg-destructive'
1728
+ if (score <= 2) return 'bg-orange-500'
1729
+ if (score <= 3) return 'bg-amber-500'
1730
+ if (score === 4) return 'bg-yellow-400'
1731
+ return 'bg-green-500'
1732
+ }
1733
+
1734
+ const getText = (score: number) => {
1735
+ if (score === 0) return 'Enter a password'
1736
+ if (score <= 2) return 'Weak password'
1737
+ if (score <= 3) return 'Medium password'
1738
+ if (score === 4) return 'Strong password'
1739
+ return 'Very strong password'
1740
+ }
1741
+
1742
+ return (
1743
+ <Field className='w-full max-w-xs space-y-2'>
1744
+ {label && <FieldLabel>{label}</FieldLabel>}
1745
+ <div className='relative'>
1746
+ <Input
1747
+ type={isVisible ? 'text' : 'password'}
1748
+ value={password}
1749
+ onChange={(e) => setPassword(e.target.value)}
1750
+ className={cn(inputVariants({ variant, size, rounded, state }), 'pr-9', className)}
1751
+ {...props}
1752
+ />
1753
+ <Button
1754
+ variant='ghost'
1755
+ size='icon'
1756
+ onClick={toggleVisibility}
1757
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
1758
+ >
1759
+ {isVisible ? <Asterisk className='size-4' /> : <Abc className='size-4' />}
1760
+ <span className='sr-only'>{isVisible ? 'Hide password' : 'Show password'}</span>
1761
+ </Button>
1762
+ </div>
1763
+
1764
+ <div className='mb-2 flex h-1 w-full gap-1'>
1765
+ {Array.from({ length: 5 }).map((_, index) => (
1766
+ <span
1767
+ key={index}
1768
+ className={cn(
1769
+ 'h-full flex-1 rounded-full transition-all duration-500 ease-out',
1770
+ index < strengthScore ? getColor(strengthScore) : 'bg-border'
1771
+ )}
1772
+ />
1773
+ ))}
1774
+ </div>
1775
+
1776
+ <p className='text-foreground text-sm font-medium'>{getText(strengthScore)}. Must contain:</p>
1777
+
1778
+ <ul className='space-y-1.5'>
1779
+ {strength.map((req, index) => (
1780
+ <li key={index} className='flex items-center gap-2'>
1781
+ {req.met ? (
1782
+ <CheckIcon className='size-4 text-green-600 dark:text-green-400' />
1783
+ ) : (
1784
+ <XIcon className='text-muted-foreground size-4' />
1785
+ )}
1786
+ <span className={cn('text-xs', req.met ? 'text-green-600 dark:text-green-400' : 'text-muted-foreground')}>
1787
+ {req.text}
1788
+ <span className='sr-only'>{req.met ? ' - Requirement met' : ' - Requirement not met'}</span>
1789
+ </span>
1790
+ </li>
1791
+ ))}
1792
+ </ul>
1793
+
1794
+ {description && <FieldDescription>{description}</FieldDescription>}
1795
+ {error && <FieldError>{error}</FieldError>}
1796
+ </Field>
1797
+ )
1798
+ }
1799
+ const InputWithTags = ({value = '',setValue, tags= ['Sport', 'Coding', 'Travel'], setTags, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1800
+
1801
+ const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
1802
+ if (e.key === 'Enter' && value.trim()) {
1803
+ setTags([...tags, value.trim()])
1804
+ setValue('')
1805
+ }
1806
+ }
1807
+
1808
+ const removeTag = (index: number) => {
1809
+ setTags(tags.filter((_, i) => i !== index))
1810
+ }
1811
+
1812
+ return (
1813
+ <Field className='w-full max-w-xs space-y-2'>
1814
+ {label && <FieldLabel>{label}</FieldLabel>}
1815
+ <div className='space-y-2'>
1816
+ <Input
1817
+ value={value}
1818
+ onChange={(e) => setValue(e.target.value)}
1819
+ onKeyDown={handleKeyDown}
1820
+ className={cn(inputVariants({ variant, size, rounded, state }), className)}
1821
+ placeholder='Add a tag'
1822
+ {...props}
1823
+ />
1824
+ <div className='flex flex-wrap gap-1'>
1825
+ {tags.map((tag, index) => (
1826
+ <div key={index} className='border-input bg-background flex items-center gap-1 rounded-md border px-2 py-1 text-xs'>
1827
+ {tag}
1828
+ <button
1829
+ type='button'
1830
+ onClick={() => removeTag(index)}
1831
+ className='text-muted-foreground hover:text-foreground ml-1'
1832
+ >
1833
+ <XIcon className='size-3' />
1834
+ </button>
1835
+ </div>
1836
+ ))}
1837
+ </div>
1838
+ </div>
1839
+ {description && <FieldDescription>{description}</FieldDescription>}
1840
+ {error && <FieldError>{error}</FieldError>}
1841
+ </Field>
1842
+ )
1843
+ }
1844
+ const NumberInputWithChevrons = ({value = 99, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1845
+
1846
+ return (
1847
+ <Field className='w-full max-w-xs space-y-2'>
1848
+ {label && <FieldLabel>{label}</FieldLabel>}
1849
+ <div className='flex rounded-md shadow-xs'>
1850
+ <Input
1851
+ type='number'
1852
+ value={value}
1853
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1854
+ className={cn(inputVariants({ variant, size, rounded, state }), 'rounded-r-none shadow-none text-center tabular-nums', className)}
1855
+ {...props}
1856
+ />
1857
+ <div className='flex flex-col'>
1858
+ <Button
1859
+ variant='outline'
1860
+ size='icon'
1861
+ className='border-input -me-px -mt-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-tr-md border text-sm'
1862
+ onClick={() => setValue(prev => prev + 1)}
1863
+ >
1864
+ <ChevronUpIcon className='size-3' />
1865
+ </Button>
1866
+ <Button
1867
+ variant='outline'
1868
+ size='icon'
1869
+ className='border-input -me-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-br-md border text-sm'
1870
+ onClick={() => setValue(prev => Math.max(0, prev - 1))}
1871
+ >
1872
+ <ChevronDownIcon className='size-3' />
1873
+ </Button>
1874
+ </div>
1875
+ </div>
1876
+ {description && <FieldDescription>{description}</FieldDescription>}
1877
+ {error && <FieldError>{error}</FieldError>}
1878
+ </Field>
1879
+ )
1880
+ }
1881
+ const NumberInputWithPlusMinusButtons = ({ value = 2048, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1882
+
1883
+ return (
1884
+ <Field className='w-full max-w-xs space-y-2'>
1885
+ {label && <FieldLabel>{label}</FieldLabel>}
1886
+ <div className='flex rounded-md shadow-xs'>
1887
+ <Button
1888
+ variant='outline'
1889
+ size='icon'
1890
+ className='border-input rounded-r-none border-r-0'
1891
+ onClick={() => setValue(prev => Math.max(0, prev - 1))}
1892
+ >
1893
+ <MinusIcon className='size-4' />
1894
+ </Button>
1895
+ <Input
1896
+ type='number'
1897
+ value={value}
1898
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
1899
+ className={cn(inputVariants({ variant, size, rounded, state }), 'rounded-none border-x-0 text-center tabular-nums shadow-none', className)}
1900
+ {...props}
1901
+ />
1902
+ <Button
1903
+ variant='outline'
1904
+ size='icon'
1905
+ className='border-input rounded-l-none border-l-0'
1906
+ onClick={() => setValue(prev => prev + 1)}
1907
+ >
1908
+ <PlusIcon className='size-4' />
1909
+ </Button>
1910
+ </div>
1911
+ {description && <FieldDescription>{description}</FieldDescription>}
1912
+ {error && <FieldError>{error}</FieldError>}
1913
+ </Field>
1914
+ )
1915
+ }
1916
+ const SearchInputWithIconAndButton = ({ label, description, error, variant, size, rounded, state, className, icon: Icon = ArrowRightIcon, iconCN, onClick, ...props }: any) => {
1917
+ return (
1918
+ <Field className='w-full max-w-xs space-y-2'>
1919
+ {label && <FieldLabel>{label}</FieldLabel>}
1920
+ <div className='relative'>
1921
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
1922
+ <SearchIcon className='size-4' />
1923
+ </div>
1924
+ <Input
1925
+ type='search'
1926
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-9 pr-9', className)}
1927
+ {...props}
1928
+ />
1929
+ <Button
1930
+ variant='ghost'
1931
+ size='icon'
1932
+ onClick={onClick}
1933
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
1934
+ >
1935
+ <Icon className={cn('w-4 h-4' , iconCN)} />
1936
+ </Button>
1937
+ </div>
1938
+ {description && <FieldDescription>{description}</FieldDescription>}
1939
+ {error && <FieldError>{error}</FieldError>}
1940
+ </Field>
1941
+ )
1942
+ }
1943
+ const SearchInputWithKBD = ({ label, description, error, variant, size, rounded, state, className, shortcut= 'k', shortcutAction= null, ...props }: any) => {
1944
+ const toast = useToasted()
1945
+ const shortcutConfig = [
1946
+ {
1947
+ key: shortcut,
1948
+ action: () => shortcutAction ? shortcutAction : toast.success('success', 'Accent success toast', { variant: 'accent' })
1949
+ }
1950
+ ];
1951
+
1952
+ useKeyboardShortcuts(shortcutConfig);
1953
+
1954
+ return (
1955
+ <Field className='w-full max-w-xs space-y-2'>
1956
+ {label && <FieldLabel>{label}</FieldLabel>}
1957
+ <div className='relative'>
1958
+ <Input
1959
+ type='search'
1960
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer pr-11', className)}
1961
+ {...props}
1962
+ />
1963
+ <div className='pointer-events-none absolute inset-y-0 right-0 flex items-center justify-center pr-3 peer-disabled:opacity-50'>
1964
+ <kbd className='text-muted-foreground bg-accent inline-flex h-5 max-h-full items-center rounded border px-1 font-[inherit] text-[0.625rem] font-medium'>
1965
+ ⌘{shortcut}
1966
+ </kbd>
1967
+ </div>
1968
+ </div>
1969
+ {description && <FieldDescription>{description}</FieldDescription>}
1970
+ {error && <FieldError>{error}</FieldError>}
1971
+ </Field>
1972
+ )
1973
+ }
1974
+ const SearchInputWithLoader = ({ value = '', setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
1975
+ const [isLoading, setIsLoading] = useState(false)
1976
+
1977
+ useEffect(() => {
1978
+ if (value) {
1979
+ setIsLoading(true)
1980
+ const timer = setTimeout(() => {
1981
+ setIsLoading(false)
1982
+ }, 500)
1983
+
1984
+ return () => clearTimeout(timer)
1985
+ }
1986
+ setIsLoading(false)
1987
+ }, [value])
1988
+
1989
+ return (
1990
+ <Field className='w-full max-w-xs space-y-2'>
1991
+ {label && <FieldLabel>{label}</FieldLabel>}
1992
+ <div className='relative'>
1993
+ <div className='text-muted-foreground pointer-events-none absolute inset-y-0 left-0 flex items-center justify-center pl-3 peer-disabled:opacity-50'>
1994
+ {isLoading ? (
1995
+ <LoaderCircleIcon className='size-4 animate-spin' />
1996
+ ) : (
1997
+ <SearchIcon className='size-4' />
1998
+ )}
1999
+ </div>
2000
+ <Input
2001
+ type='search'
2002
+ value={value}
2003
+ onChange={(e) => setValue(e.target.value)}
2004
+ className={cn(inputVariants({ variant, size, rounded, state }), 'peer pl-9 pr-9', className)}
2005
+ {...props}
2006
+ />
2007
+ <Button
2008
+ variant='ghost'
2009
+ size='icon'
2010
+ className='text-muted-foreground focus-visible:ring-ring/50 absolute inset-y-0 right-0 rounded-l-none hover:bg-transparent'
2011
+ >
2012
+ <MicIcon className='size-4' />
2013
+ </Button>
2014
+ </div>
2015
+ {description && <FieldDescription>{description}</FieldDescription>}
2016
+ {error && <FieldError>{error}</FieldError>}
2017
+ </Field>
2018
+ )
2019
+ }
2020
+ const InputWithPlusMinusButtons = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2021
+
2022
+ const increment = () => setValue(prev => prev + 1)
2023
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2024
+
2025
+ return (
2026
+ <Field className='w-full max-w-xs space-y-2'>
2027
+ {label && <FieldLabel>{label}</FieldLabel>}
2028
+ <div className='flex rounded-md shadow-xs'>
2029
+ <Button
2030
+ variant='outline'
2031
+ size='icon'
2032
+ className='border-input rounded-r-none border-r-0'
2033
+ onClick={decrement}
2034
+ >
2035
+ <MinusIcon className='size-4' />
2036
+ <span className='sr-only'>Decrement</span>
2037
+ </Button>
2038
+ <Input
2039
+ type='number'
2040
+ value={value}
2041
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2042
+ className={cn(inputVariants({ variant, size, rounded, state }), 'rounded-none border-x-0 text-center tabular-nums shadow-none', className)}
2043
+ {...props}
2044
+ />
2045
+ <Button
2046
+ variant='outline'
2047
+ size='icon'
2048
+ className='border-input rounded-l-none border-l-0'
2049
+ onClick={increment}
2050
+ >
2051
+ <PlusIcon className='size-4' />
2052
+ <span className='sr-only'>Increment</span>
2053
+ </Button>
2054
+ </div>
2055
+ {description && <FieldDescription>{description}</FieldDescription>}
2056
+ {error && <FieldError>{error}</FieldError>}
2057
+ </Field>
2058
+ )
2059
+ }
2060
+ const InputWithEndButtons = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2061
+
2062
+ const increment = () => setValue(prev => prev + 1)
2063
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2064
+
2065
+ return (
2066
+ <Field className='w-full max-w-xs space-y-2'>
2067
+ {label && <FieldLabel>{label}</FieldLabel>}
2068
+ <div className='flex rounded-md shadow-xs'>
2069
+ <Input
2070
+ type='number'
2071
+ value={value}
2072
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2073
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
2074
+ {...props}
2075
+ />
2076
+ <Button
2077
+ variant='outline'
2078
+ size='icon'
2079
+ className='border-input rounded-l-none border-l-0'
2080
+ onClick={decrement}
2081
+ >
2082
+ <MinusIcon className='size-4' />
2083
+ <span className='sr-only'>Decrement</span>
2084
+ </Button>
2085
+ <Button
2086
+ variant='outline'
2087
+ size='icon'
2088
+ className='border-input rounded-l-none'
2089
+ onClick={increment}
2090
+ >
2091
+ <PlusIcon className='size-4' />
2092
+ <span className='sr-only'>Increment</span>
2093
+ </Button>
2094
+ </div>
2095
+ {description && <FieldDescription>{description}</FieldDescription>}
2096
+ {error && <FieldError>{error}</FieldError>}
2097
+ </Field>
2098
+ )
2099
+ }
2100
+ const InputWithStackedButtons = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2101
+
2102
+ const increment = () => setValue(prev => prev + 1)
2103
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2104
+
2105
+ return (
2106
+ <Field className='w-full max-w-xs space-y-2'>
2107
+ {label && <FieldLabel>{label}</FieldLabel>}
2108
+ <div className='flex rounded-md shadow-xs'>
2109
+ <Input
2110
+ type='number'
2111
+ value={value}
2112
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2113
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
2114
+ {...props}
2115
+ />
2116
+ <div className='flex flex-col'>
2117
+ <Button
2118
+ variant='outline'
2119
+ size='icon'
2120
+ className='border-input -me-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-tr-md border text-sm'
2121
+ onClick={increment}
2122
+ >
2123
+ <PlusIcon className='size-3' />
2124
+ <span className='sr-only'>Increment</span>
2125
+ </Button>
2126
+ <Button
2127
+ variant='outline'
2128
+ size='icon'
2129
+ className='border-input -me-px -mt-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-br-md border text-sm'
2130
+ onClick={decrement}
2131
+ >
2132
+ <MinusIcon className='size-3' />
2133
+ <span className='sr-only'>Decrement</span>
2134
+ </Button>
2135
+ </div>
2136
+ </div>
2137
+ {description && <FieldDescription>{description}</FieldDescription>}
2138
+ {error && <FieldError>{error}</FieldError>}
2139
+ </Field>
2140
+ )
2141
+ }
2142
+ const InputWithPlusMinusButtonsRounded = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2143
+
2144
+ const increment = () => setValue(prev => prev + 1)
2145
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2146
+
2147
+ return (
2148
+ <Field className='w-full max-w-xs space-y-2'>
2149
+ {label && <FieldLabel>{label}</FieldLabel>}
2150
+ <div className='flex items-center rounded-md border border-input shadow-xs'>
2151
+ <Button
2152
+ variant='ghost'
2153
+ size='icon'
2154
+ className='ml-2 h-5 w-5 rounded-sm'
2155
+ onClick={decrement}
2156
+ >
2157
+ <MinusIcon className='size-3' />
2158
+ <span className='sr-only'>Decrement</span>
2159
+ </Button>
2160
+ <Input
2161
+ type='number'
2162
+ value={value}
2163
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2164
+ className={cn(inputVariants({ variant, size, rounded, state }), 'border-0 shadow-none text-center tabular-nums focus-visible:ring-0', className)}
2165
+ {...props}
2166
+ />
2167
+ <Button
2168
+ variant='ghost'
2169
+ size='icon'
2170
+ className='mr-2 h-5 w-5 rounded-sm'
2171
+ onClick={increment}
2172
+ >
2173
+ <PlusIcon className='size-3' />
2174
+ <span className='sr-only'>Increment</span>
2175
+ </Button>
2176
+ </div>
2177
+ {description && <FieldDescription>{description}</FieldDescription>}
2178
+ {error && <FieldError>{error}</FieldError>}
2179
+ </Field>
2180
+ )
2181
+ }
2182
+ const InputWithEndButtonsRounded = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2183
+
2184
+ const increment = () => setValue(prev => prev + 1)
2185
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2186
+
2187
+ return (
2188
+ <Field className='w-full max-w-xs space-y-2'>
2189
+ {label && <FieldLabel>{label}</FieldLabel>}
2190
+ <div className='flex items-center rounded-md border border-input shadow-xs'>
2191
+ <Input
2192
+ type='number'
2193
+ value={value}
2194
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2195
+ className={cn(inputVariants({ variant, size, rounded, state }), 'border-0 shadow-none text-center tabular-nums focus-visible:ring-0', className)}
2196
+ {...props}
2197
+ />
2198
+ <Button
2199
+ variant='ghost'
2200
+ size='icon'
2201
+ className='mr-1.5 h-5 w-5 rounded-sm'
2202
+ onClick={decrement}
2203
+ >
2204
+ <MinusIcon className='size-3' />
2205
+ <span className='sr-only'>Decrement</span>
2206
+ </Button>
2207
+ <Button
2208
+ variant='ghost'
2209
+ size='icon'
2210
+ className='mr-2 h-5 w-5 rounded-sm'
2211
+ onClick={increment}
2212
+ >
2213
+ <PlusIcon className='size-3' />
2214
+ <span className='sr-only'>Increment</span>
2215
+ </Button>
2216
+ </div>
2217
+ {description && <FieldDescription>{description}</FieldDescription>}
2218
+ {error && <FieldError>{error}</FieldError>}
2219
+ </Field>
2220
+ )
2221
+ }
2222
+ const InputWithStackedChevrons = ({ value = 1024, setValue, label, description, error, variant, size, rounded, state, className, ...props }: any) => {
2223
+
2224
+ const increment = () => setValue(prev => prev + 1)
2225
+ const decrement = () => setValue(prev => Math.max(0, prev - 1))
2226
+
2227
+ return (
2228
+ <Field className='w-full max-w-xs space-y-2'>
2229
+ {label && <FieldLabel>{label}</FieldLabel>}
2230
+ <div className='flex rounded-md shadow-xs'>
2231
+ <Input
2232
+ type='number'
2233
+ value={value}
2234
+ onChange={(e) => setValue(parseInt(e.target.value) || 0)}
2235
+ className={cn(inputVariants({ variant, size, rounded, state }), '-me-px rounded-r-none shadow-none focus-visible:z-1 text-center tabular-nums', className)}
2236
+ {...props}
2237
+ />
2238
+ <div className='flex flex-col'>
2239
+ <Button
2240
+ variant='outline'
2241
+ size='icon'
2242
+ className='border-input -me-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-tr-md border text-sm'
2243
+ onClick={increment}
2244
+ >
2245
+ <ChevronUpIcon className='size-3' />
2246
+ <span className='sr-only'>Increment</span>
2247
+ </Button>
2248
+ <Button
2249
+ variant='outline'
2250
+ size='icon'
2251
+ className='border-input -me-px -mt-px flex h-1/2 w-6 items-center justify-center rounded-none rounded-br-md border text-sm'
2252
+ onClick={decrement}
2253
+ >
2254
+ <ChevronDownIcon className='size-3' />
2255
+ <span className='sr-only'>Decrement</span>
2256
+ </Button>
2257
+ </div>
2258
+ </div>
2259
+ {description && <FieldDescription>{description}</FieldDescription>}
2260
+ {error && <FieldError>{error}</FieldError>}
2261
+ </Field>
2262
+ )
2263
+ }