@momo-webplatform/mobase-next 1.0.1

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 (316) hide show
  1. package/README.md +136 -0
  2. package/dist/chunk-7LRQ2WLZ.mjs +1 -0
  3. package/dist/components/blocks/BlogSection/BlogSection.d.mts +17 -0
  4. package/dist/components/blocks/BlogSection/BlogSection.mjs +1 -0
  5. package/dist/components/blocks/BlogSection/BlogSectionTemplate.d.mts +15 -0
  6. package/dist/components/blocks/BlogSection/BlogSectionTemplate.mjs +1 -0
  7. package/dist/components/blocks/BlogSection/index.d.mts +14 -0
  8. package/dist/components/blocks/BlogSection/index.mjs +1 -0
  9. package/dist/components/blocks/BlogSection/templates/BlogSectionTemplateOne.d.mts +17 -0
  10. package/dist/components/blocks/BlogSection/templates/BlogSectionTemplateOne.mjs +1 -0
  11. package/dist/components/blocks/BlogSection/templates/BlogSectionTemplateTwo.d.mts +17 -0
  12. package/dist/components/blocks/BlogSection/templates/BlogSectionTemplateTwo.mjs +1 -0
  13. package/dist/components/blocks/BlogSection/utils.d.mts +49 -0
  14. package/dist/components/blocks/BlogSection/utils.mjs +0 -0
  15. package/dist/components/blocks/CTASection/CTASection.d.mts +17 -0
  16. package/dist/components/blocks/CTASection/CTASection.mjs +1 -0
  17. package/dist/components/blocks/CTASection/CTASectionTemplate.d.mts +18 -0
  18. package/dist/components/blocks/CTASection/CTASectionTemplate.mjs +1 -0
  19. package/dist/components/blocks/CTASection/index.d.mts +14 -0
  20. package/dist/components/blocks/CTASection/index.mjs +1 -0
  21. package/dist/components/blocks/CTASection/utils.d.mts +60 -0
  22. package/dist/components/blocks/CTASection/utils.mjs +0 -0
  23. package/dist/components/blocks/FAQSection/FAQSection.d.mts +17 -0
  24. package/dist/components/blocks/FAQSection/FAQSection.mjs +1 -0
  25. package/dist/components/blocks/FAQSection/FAQTemplate.d.mts +18 -0
  26. package/dist/components/blocks/FAQSection/FAQTemplate.mjs +1 -0
  27. package/dist/components/blocks/FAQSection/index.d.mts +14 -0
  28. package/dist/components/blocks/FAQSection/index.mjs +1 -0
  29. package/dist/components/blocks/FAQSection/utils.d.mts +36 -0
  30. package/dist/components/blocks/FAQSection/utils.mjs +0 -0
  31. package/dist/components/blocks/FeatureSection/FeatureSection.d.mts +17 -0
  32. package/dist/components/blocks/FeatureSection/FeatureSection.mjs +1 -0
  33. package/dist/components/blocks/FeatureSection/FeatureTemlates.d.mts +29 -0
  34. package/dist/components/blocks/FeatureSection/FeatureTemlates.mjs +1 -0
  35. package/dist/components/blocks/FeatureSection/index.d.mts +14 -0
  36. package/dist/components/blocks/FeatureSection/index.mjs +1 -0
  37. package/dist/components/blocks/FeatureSection/utils.d.mts +77 -0
  38. package/dist/components/blocks/FeatureSection/utils.mjs +0 -0
  39. package/dist/components/blocks/GiftListSection/GiftListSection.d.mts +17 -0
  40. package/dist/components/blocks/GiftListSection/GiftListSection.mjs +1 -0
  41. package/dist/components/blocks/GiftListSection/GiftListSectionTemplate.d.mts +17 -0
  42. package/dist/components/blocks/GiftListSection/GiftListSectionTemplate.mjs +1 -0
  43. package/dist/components/blocks/GiftListSection/index.d.mts +14 -0
  44. package/dist/components/blocks/GiftListSection/index.mjs +1 -0
  45. package/dist/components/blocks/GiftListSection/utils.d.mts +81 -0
  46. package/dist/components/blocks/GiftListSection/utils.mjs +0 -0
  47. package/dist/components/blocks/HeroSection/HeroSection.d.mts +18 -0
  48. package/dist/components/blocks/HeroSection/HeroSection.mjs +1 -0
  49. package/dist/components/blocks/HeroSection/HeroSectionFeatures.d.mts +31 -0
  50. package/dist/components/blocks/HeroSection/HeroSectionFeatures.mjs +1 -0
  51. package/dist/components/blocks/HeroSection/HeroSectionMedia.d.mts +17 -0
  52. package/dist/components/blocks/HeroSection/HeroSectionMedia.mjs +1 -0
  53. package/dist/components/blocks/HeroSection/HeroSectionStats.d.mts +19 -0
  54. package/dist/components/blocks/HeroSection/HeroSectionStats.mjs +1 -0
  55. package/dist/components/blocks/HeroSection/HeroSectionTemplate.d.mts +19 -0
  56. package/dist/components/blocks/HeroSection/HeroSectionTemplate.mjs +1 -0
  57. package/dist/components/blocks/HeroSection/index.d.mts +14 -0
  58. package/dist/components/blocks/HeroSection/index.mjs +1 -0
  59. package/dist/components/blocks/HeroSection/utils.d.mts +84 -0
  60. package/dist/components/blocks/HeroSection/utils.mjs +1 -0
  61. package/dist/components/blocks/HowItWorksSection/HowItWorksSection.d.mts +17 -0
  62. package/dist/components/blocks/HowItWorksSection/HowItWorksSection.mjs +1 -0
  63. package/dist/components/blocks/HowItWorksSection/HowItWorksSectionTemplate.d.mts +19 -0
  64. package/dist/components/blocks/HowItWorksSection/HowItWorksSectionTemplate.mjs +1 -0
  65. package/dist/components/blocks/HowItWorksSection/index.d.mts +14 -0
  66. package/dist/components/blocks/HowItWorksSection/index.mjs +1 -0
  67. package/dist/components/blocks/HowItWorksSection/utils.d.mts +47 -0
  68. package/dist/components/blocks/HowItWorksSection/utils.mjs +0 -0
  69. package/dist/components/blocks/MetricsSection/MetricsSection.d.mts +17 -0
  70. package/dist/components/blocks/MetricsSection/MetricsSection.mjs +1 -0
  71. package/dist/components/blocks/MetricsSection/MetricsSectionTemplate.d.mts +15 -0
  72. package/dist/components/blocks/MetricsSection/MetricsSectionTemplate.mjs +1 -0
  73. package/dist/components/blocks/MetricsSection/index.d.mts +14 -0
  74. package/dist/components/blocks/MetricsSection/index.mjs +1 -0
  75. package/dist/components/blocks/MetricsSection/template/MetricsSectionTemplateOne.d.mts +17 -0
  76. package/dist/components/blocks/MetricsSection/template/MetricsSectionTemplateOne.mjs +1 -0
  77. package/dist/components/blocks/MetricsSection/template/MetricsSectionTemplateTwo.d.mts +17 -0
  78. package/dist/components/blocks/MetricsSection/template/MetricsSectionTemplateTwo.mjs +1 -0
  79. package/dist/components/blocks/MetricsSection/utils.d.mts +38 -0
  80. package/dist/components/blocks/MetricsSection/utils.mjs +0 -0
  81. package/dist/components/blocks/NewsSection/NewsSection.d.mts +17 -0
  82. package/dist/components/blocks/NewsSection/NewsSection.mjs +1 -0
  83. package/dist/components/blocks/NewsSection/NewsSectionTemplate.d.mts +17 -0
  84. package/dist/components/blocks/NewsSection/NewsSectionTemplate.mjs +1 -0
  85. package/dist/components/blocks/NewsSection/index.d.mts +14 -0
  86. package/dist/components/blocks/NewsSection/index.mjs +1 -0
  87. package/dist/components/blocks/NewsSection/utils.d.mts +64 -0
  88. package/dist/components/blocks/NewsSection/utils.mjs +0 -0
  89. package/dist/components/blocks/SocialProofSection/SocialProofSection.d.mts +17 -0
  90. package/dist/components/blocks/SocialProofSection/SocialProofSection.mjs +1 -0
  91. package/dist/components/blocks/SocialProofSection/SocialProofTemplates.d.mts +17 -0
  92. package/dist/components/blocks/SocialProofSection/SocialProofTemplates.mjs +1 -0
  93. package/dist/components/blocks/SocialProofSection/index.d.mts +14 -0
  94. package/dist/components/blocks/SocialProofSection/index.mjs +1 -0
  95. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate1.d.mts +17 -0
  96. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate1.mjs +1 -0
  97. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate2.d.mts +17 -0
  98. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate2.mjs +1 -0
  99. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate3.d.mts +17 -0
  100. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate3.mjs +1 -0
  101. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate4.d.mts +17 -0
  102. package/dist/components/blocks/SocialProofSection/templates/SocialProofTemplate4.mjs +18 -0
  103. package/dist/components/blocks/SocialProofSection/utils.d.mts +31 -0
  104. package/dist/components/blocks/SocialProofSection/utils.mjs +0 -0
  105. package/dist/components/blocks/TestimonialSection/TestimonialSection.d.mts +17 -0
  106. package/dist/components/blocks/TestimonialSection/TestimonialSection.mjs +1 -0
  107. package/dist/components/blocks/TestimonialSection/index.d.mts +14 -0
  108. package/dist/components/blocks/TestimonialSection/index.mjs +1 -0
  109. package/dist/components/blocks/TestimonialSection/shared.d.mts +29 -0
  110. package/dist/components/blocks/TestimonialSection/shared.mjs +1 -0
  111. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateOne.d.mts +17 -0
  112. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateOne.mjs +1 -0
  113. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateThree.d.mts +17 -0
  114. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateThree.mjs +1 -0
  115. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateTwo.d.mts +17 -0
  116. package/dist/components/blocks/TestimonialSection/templates/TestimonialTemplateTwo.mjs +5 -0
  117. package/dist/components/blocks/TestimonialSection/utils.d.mts +37 -0
  118. package/dist/components/blocks/TestimonialSection/utils.mjs +1 -0
  119. package/dist/components/blocks/action-button/action-button.d.mts +15 -0
  120. package/dist/components/blocks/action-button/action-button.mjs +1 -0
  121. package/dist/components/blocks/action-button/index.d.mts +12 -0
  122. package/dist/components/blocks/action-button/index.mjs +1 -0
  123. package/dist/components/blocks/action-button/utils.d.mts +40 -0
  124. package/dist/components/blocks/action-button/utils.mjs +1 -0
  125. package/dist/components/blocks/common-blocks/common-blocks.d.mts +18 -0
  126. package/dist/components/blocks/common-blocks/common-blocks.mjs +1 -0
  127. package/dist/components/blocks/common-blocks/index.d.mts +13 -0
  128. package/dist/components/blocks/common-blocks/index.mjs +1 -0
  129. package/dist/components/blocks/common-blocks/utils.d.mts +90 -0
  130. package/dist/components/blocks/common-blocks/utils.mjs +0 -0
  131. package/dist/components/blocks/dialog-qr/DialogQr.d.mts +42 -0
  132. package/dist/components/blocks/dialog-qr/DialogQr.mjs +70 -0
  133. package/dist/components/blocks/dialog-qr/index.d.mts +8 -0
  134. package/dist/components/blocks/dialog-qr/index.mjs +1 -0
  135. package/dist/components/blocks/footer/defaults.d.mts +39 -0
  136. package/dist/components/blocks/footer/defaults.mjs +1 -0
  137. package/dist/components/blocks/footer/footer-content.d.mts +6 -0
  138. package/dist/components/blocks/footer/footer-content.mjs +5 -0
  139. package/dist/components/blocks/footer/footer.d.mts +6 -0
  140. package/dist/components/blocks/footer/footer.mjs +1 -0
  141. package/dist/components/blocks/footer/index.d.mts +5 -0
  142. package/dist/components/blocks/footer/index.mjs +1 -0
  143. package/dist/components/blocks/footer/types.d.mts +27 -0
  144. package/dist/components/blocks/footer/types.mjs +0 -0
  145. package/dist/components/blocks/header-navigation/header-navigation.d.mts +7 -0
  146. package/dist/components/blocks/header-navigation/header-navigation.mjs +5 -0
  147. package/dist/components/blocks/header-navigation/index.d.mts +4 -0
  148. package/dist/components/blocks/header-navigation/index.mjs +1 -0
  149. package/dist/components/blocks/header-navigation/list-item-mobile.d.mts +14 -0
  150. package/dist/components/blocks/header-navigation/list-item-mobile.mjs +1 -0
  151. package/dist/components/blocks/header-navigation/list-item.d.mts +14 -0
  152. package/dist/components/blocks/header-navigation/list-item.mjs +1 -0
  153. package/dist/components/blocks/header-navigation/mobile-menu.d.mts +11 -0
  154. package/dist/components/blocks/header-navigation/mobile-menu.mjs +1 -0
  155. package/dist/components/blocks/header-navigation/nav-items-mobile.d.mts +10 -0
  156. package/dist/components/blocks/header-navigation/nav-items-mobile.mjs +1 -0
  157. package/dist/components/blocks/header-navigation/nav-items.d.mts +11 -0
  158. package/dist/components/blocks/header-navigation/nav-items.mjs +1 -0
  159. package/dist/components/blocks/header-navigation/types.d.mts +44 -0
  160. package/dist/components/blocks/header-navigation/types.mjs +0 -0
  161. package/dist/components/blocks/heading-group/HeadingGroup.d.mts +97 -0
  162. package/dist/components/blocks/heading-group/HeadingGroup.mjs +1 -0
  163. package/dist/components/blocks/heading-group/index.d.mts +3 -0
  164. package/dist/components/blocks/heading-group/index.mjs +1 -0
  165. package/dist/components/mobase/accordion.d.mts +9 -0
  166. package/dist/components/mobase/accordion.mjs +1 -0
  167. package/dist/components/mobase/alert-dialog.d.mts +24 -0
  168. package/dist/components/mobase/alert-dialog.mjs +1 -0
  169. package/dist/components/mobase/alert.d.mts +14 -0
  170. package/dist/components/mobase/alert.mjs +1 -0
  171. package/dist/components/mobase/aspect-ratio.d.mts +8 -0
  172. package/dist/components/mobase/aspect-ratio.mjs +1 -0
  173. package/dist/components/mobase/autocomplete.d.mts +34 -0
  174. package/dist/components/mobase/autocomplete.mjs +1 -0
  175. package/dist/components/mobase/avatar.d.mts +14 -0
  176. package/dist/components/mobase/avatar.mjs +1 -0
  177. package/dist/components/mobase/badge.d.mts +15 -0
  178. package/dist/components/mobase/badge.mjs +1 -0
  179. package/dist/components/mobase/breadcrumb.d.mts +13 -0
  180. package/dist/components/mobase/breadcrumb.mjs +1 -0
  181. package/dist/components/mobase/button-group.d.mts +16 -0
  182. package/dist/components/mobase/button-group.mjs +1 -0
  183. package/dist/components/mobase/button.d.mts +22 -0
  184. package/dist/components/mobase/button.mjs +1 -0
  185. package/dist/components/mobase/calendar.d.mts +16 -0
  186. package/dist/components/mobase/calendar.mjs +1 -0
  187. package/dist/components/mobase/card.d.mts +14 -0
  188. package/dist/components/mobase/card.mjs +1 -0
  189. package/dist/components/mobase/carousel.d.mts +37 -0
  190. package/dist/components/mobase/carousel.mjs +1 -0
  191. package/dist/components/mobase/checkbox.d.mts +7 -0
  192. package/dist/components/mobase/checkbox.mjs +1 -0
  193. package/dist/components/mobase/close-button.d.mts +17 -0
  194. package/dist/components/mobase/close-button.mjs +1 -0
  195. package/dist/components/mobase/combobox.d.mts +29 -0
  196. package/dist/components/mobase/combobox.mjs +1 -0
  197. package/dist/components/mobase/command.d.mts +31 -0
  198. package/dist/components/mobase/command.mjs +1 -0
  199. package/dist/components/mobase/date-picker.d.mts +46 -0
  200. package/dist/components/mobase/date-picker.mjs +1 -0
  201. package/dist/components/mobase/dialog.d.mts +41 -0
  202. package/dist/components/mobase/dialog.mjs +1 -0
  203. package/dist/components/mobase/drawer.d.mts +46 -0
  204. package/dist/components/mobase/drawer.mjs +1 -0
  205. package/dist/components/mobase/dropdown-menu.d.mts +33 -0
  206. package/dist/components/mobase/dropdown-menu.mjs +1 -0
  207. package/dist/components/mobase/empty.d.mts +20 -0
  208. package/dist/components/mobase/empty.mjs +1 -0
  209. package/dist/components/mobase/field.d.mts +30 -0
  210. package/dist/components/mobase/field.mjs +1 -0
  211. package/dist/components/mobase/form.d.mts +7 -0
  212. package/dist/components/mobase/form.mjs +1 -0
  213. package/dist/components/mobase/hitbox.d.mts +19 -0
  214. package/dist/components/mobase/hitbox.mjs +1 -0
  215. package/dist/components/mobase/horizontal-scroll.d.mts +24 -0
  216. package/dist/components/mobase/horizontal-scroll.mjs +1 -0
  217. package/dist/components/mobase/infinite-slider.d.mts +19 -0
  218. package/dist/components/mobase/infinite-slider.mjs +1 -0
  219. package/dist/components/mobase/input-group.d.mts +27 -0
  220. package/dist/components/mobase/input-group.mjs +1 -0
  221. package/dist/components/mobase/input-search.d.mts +8 -0
  222. package/dist/components/mobase/input-search.mjs +1 -0
  223. package/dist/components/mobase/input.d.mts +34 -0
  224. package/dist/components/mobase/input.mjs +1 -0
  225. package/dist/components/mobase/item.d.mts +27 -0
  226. package/dist/components/mobase/item.mjs +1 -0
  227. package/dist/components/mobase/kbd.d.mts +6 -0
  228. package/dist/components/mobase/kbd.mjs +1 -0
  229. package/dist/components/mobase/label.d.mts +6 -0
  230. package/dist/components/mobase/label.mjs +1 -0
  231. package/dist/components/mobase/logo.d.mts +26 -0
  232. package/dist/components/mobase/logo.mjs +1 -0
  233. package/dist/components/mobase/logos-carousel.d.mts +15 -0
  234. package/dist/components/mobase/logos-carousel.mjs +27 -0
  235. package/dist/components/mobase/marquee.d.mts +16 -0
  236. package/dist/components/mobase/marquee.mjs +1 -0
  237. package/dist/components/mobase/native-select.d.mts +11 -0
  238. package/dist/components/mobase/native-select.mjs +1 -0
  239. package/dist/components/mobase/navigation-menu.d.mts +15 -0
  240. package/dist/components/mobase/navigation-menu.mjs +1 -0
  241. package/dist/components/mobase/pagination.d.mts +23 -0
  242. package/dist/components/mobase/pagination.mjs +1 -0
  243. package/dist/components/mobase/popover.d.mts +12 -0
  244. package/dist/components/mobase/popover.mjs +1 -0
  245. package/dist/components/mobase/progress.d.mts +10 -0
  246. package/dist/components/mobase/progress.mjs +1 -0
  247. package/dist/components/mobase/radio-group.d.mts +10 -0
  248. package/dist/components/mobase/radio-group.mjs +1 -0
  249. package/dist/components/mobase/scroll-area.d.mts +11 -0
  250. package/dist/components/mobase/scroll-area.mjs +1 -0
  251. package/dist/components/mobase/select.d.mts +21 -0
  252. package/dist/components/mobase/select.mjs +1 -0
  253. package/dist/components/mobase/separator.d.mts +6 -0
  254. package/dist/components/mobase/separator.mjs +1 -0
  255. package/dist/components/mobase/skeleton.d.mts +5 -0
  256. package/dist/components/mobase/skeleton.mjs +1 -0
  257. package/dist/components/mobase/slider.d.mts +6 -0
  258. package/dist/components/mobase/slider.mjs +1 -0
  259. package/dist/components/mobase/sliding-number.d.mts +10 -0
  260. package/dist/components/mobase/sliding-number.mjs +1 -0
  261. package/dist/components/mobase/spinner.d.mts +12 -0
  262. package/dist/components/mobase/spinner.mjs +1 -0
  263. package/dist/components/mobase/switch.d.mts +8 -0
  264. package/dist/components/mobase/switch.mjs +1 -0
  265. package/dist/components/mobase/table.d.mts +13 -0
  266. package/dist/components/mobase/table.mjs +1 -0
  267. package/dist/components/mobase/tabs.d.mts +14 -0
  268. package/dist/components/mobase/tabs.mjs +1 -0
  269. package/dist/components/mobase/text-effect.d.mts +30 -0
  270. package/dist/components/mobase/text-effect.mjs +2 -0
  271. package/dist/components/mobase/textarea.d.mts +10 -0
  272. package/dist/components/mobase/textarea.mjs +1 -0
  273. package/dist/components/mobase/toast.d.mts +14 -0
  274. package/dist/components/mobase/toast.mjs +1 -0
  275. package/dist/components/mobase/tooltip.d.mts +9 -0
  276. package/dist/components/mobase/tooltip.mjs +1 -0
  277. package/dist/hooks/use-click-outside.d.mts +6 -0
  278. package/dist/hooks/use-click-outside.mjs +1 -0
  279. package/dist/hooks/use-copy-to-clipboard.d.mts +9 -0
  280. package/dist/hooks/use-copy-to-clipboard.mjs +1 -0
  281. package/dist/hooks/use-event-callback.d.mts +19 -0
  282. package/dist/hooks/use-event-callback.mjs +1 -0
  283. package/dist/hooks/use-event-listener.d.mts +8 -0
  284. package/dist/hooks/use-event-listener.mjs +1 -0
  285. package/dist/hooks/use-is-client.d.mts +3 -0
  286. package/dist/hooks/use-is-client.mjs +1 -0
  287. package/dist/hooks/use-is-momo-app.d.mts +3 -0
  288. package/dist/hooks/use-is-momo-app.mjs +1 -0
  289. package/dist/hooks/use-is-touch-device.d.mts +7 -0
  290. package/dist/hooks/use-is-touch-device.mjs +1 -0
  291. package/dist/hooks/use-isomorphic-layout-effect.d.mts +5 -0
  292. package/dist/hooks/use-isomorphic-layout-effect.mjs +1 -0
  293. package/dist/hooks/use-local-storage.d.mts +5 -0
  294. package/dist/hooks/use-local-storage.mjs +1 -0
  295. package/dist/hooks/use-mobile.d.mts +3 -0
  296. package/dist/hooks/use-mobile.mjs +1 -0
  297. package/dist/hooks/use-window-size.d.mts +11 -0
  298. package/dist/hooks/use-window-size.mjs +1 -0
  299. package/dist/index.d.mts +137 -0
  300. package/dist/index.mjs +1 -0
  301. package/dist/lib/legacy-button-variant.d.mts +13 -0
  302. package/dist/lib/legacy-button-variant.mjs +1 -0
  303. package/dist/lib/media-ratio.d.mts +6 -0
  304. package/dist/lib/media-ratio.mjs +1 -0
  305. package/dist/lib/plain-text-from-html.d.mts +6 -0
  306. package/dist/lib/plain-text-from-html.mjs +1 -0
  307. package/dist/lib/qr-image-url.d.mts +13 -0
  308. package/dist/lib/qr-image-url.mjs +1 -0
  309. package/dist/lib/scroll-to-selector.d.mts +9 -0
  310. package/dist/lib/scroll-to-selector.mjs +1 -0
  311. package/dist/lib/testimonial-avatar.d.mts +6 -0
  312. package/dist/lib/testimonial-avatar.mjs +1 -0
  313. package/dist/lib/utils.d.mts +5 -0
  314. package/dist/lib/utils.mjs +1 -0
  315. package/package.json +68 -0
  316. package/src/styles/globals.css +456 -0
@@ -0,0 +1 @@
1
+ "use client";import{a as i,b as c,c as s}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as r,jsxs as m}from"react/jsx-runtime";import{ScrollArea as a}from"@base-ui/react/scroll-area";import{cn as n}from"../../lib/utils";function w(u){var d=u,{className:l,children:e,scrollFade:t=!1,scrollbarGutter:f=!1}=d,o=s(d,["className","children","scrollFade","scrollbarGutter"]);return m(a.Root,c(i({className:n("size-full min-h-0",l),"data-slot":"scroll-area"},o),{children:[r(a.Viewport,{className:n("h-full rounded-[inherit] outline-none transition-shadows focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background-1 data-has-overflow-y:overscroll-y-contain data-has-overflow-x:overscroll-x-contain",t&&"mask-t-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-start)))] mask-b-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-end)))] mask-l-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-start)))] mask-r-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-end)))] [--fade-size:1.5rem]",f&&"data-has-overflow-y:pe-2.5 data-has-overflow-x:pb-2.5"),"data-slot":"scroll-area-viewport",children:e}),r(v,{orientation:"vertical"}),r(v,{orientation:"horizontal"}),r(a.Corner,{"data-slot":"scroll-area-corner"})]}))}function v(f){var o=f,{className:l,orientation:e="vertical"}=o,t=s(o,["className","orientation"]);return r(a.Scrollbar,c(i({className:n("m-1 flex opacity-0 transition-opacity delay-300 data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:w-1.5 data-[orientation=horizontal]:flex-col data-hovering:opacity-100 data-scrolling:opacity-100 data-hovering:delay-0 data-scrolling:delay-0 data-hovering:duration-100 data-scrolling:duration-100",l),"data-slot":"scroll-area-scrollbar",orientation:e},t),{children:r(a.Thumb,{className:"relative flex-1 rounded-full bg-foreground/20","data-slot":"scroll-area-thumb"})}))}export{w as ScrollArea,a as ScrollAreaPrimitive,v as ScrollBar};
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps } from 'react';
3
+ import { Select as Select$1 } from '@base-ui/react/select';
4
+
5
+ type SelectTriggerSize = "sm" | "default" | "lg";
6
+ declare const Select: typeof Select$1.Root;
7
+ declare function SelectGroup({ className, ...props }: Select$1.Group.Props): react_jsx_runtime.JSX.Element;
8
+ declare function SelectValue({ className, ...props }: Select$1.Value.Props): react_jsx_runtime.JSX.Element;
9
+ type SelectTriggerProps = Omit<Select$1.Trigger.Props, "size"> & {
10
+ size?: SelectTriggerSize;
11
+ };
12
+ declare function SelectTrigger({ className, size, children, ...props }: SelectTriggerProps): react_jsx_runtime.JSX.Element;
13
+ type SelectContentProps = Select$1.Popup.Props & Pick<Select$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset" | "alignItemWithTrigger">;
14
+ declare function SelectContent({ className, children, side, sideOffset, align, alignOffset, alignItemWithTrigger, ...props }: SelectContentProps): react_jsx_runtime.JSX.Element;
15
+ declare function SelectLabel({ className, ...props }: Select$1.GroupLabel.Props): react_jsx_runtime.JSX.Element;
16
+ declare function SelectItem({ className, children, ...props }: Select$1.Item.Props): react_jsx_runtime.JSX.Element;
17
+ declare function SelectSeparator({ className, ...props }: Select$1.Separator.Props): react_jsx_runtime.JSX.Element;
18
+ declare function SelectScrollUpButton({ className, ...props }: ComponentProps<typeof Select$1.ScrollUpArrow>): react_jsx_runtime.JSX.Element;
19
+ declare function SelectScrollDownButton({ className, ...props }: ComponentProps<typeof Select$1.ScrollDownArrow>): react_jsx_runtime.JSX.Element;
20
+
21
+ export { Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, type SelectTriggerSize, SelectValue };
@@ -0,0 +1 @@
1
+ "use client";import{a,b as c,c as s}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as t,jsxs as u}from"react/jsx-runtime";import{Select as o}from"@base-ui/react/select";import{ChevronDownIcon as f,CheckIcon as b,ChevronUpIcon as x}from"lucide-react";import{cn as n}from"../../lib/utils";const w=o.Root;function h(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.Group,a({"data-slot":"select-group",className:n("scroll-my-1 p-1",i)},r))}function y(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.Value,a({"data-slot":"select-value",className:n("flex flex-1 text-left",i)},r))}const z={sm:"h-8 rounded-lg text-sm py-0",default:"h-9 rounded-lg text-sm py-0",lg:"h-10 rounded-lg text-base py-0"};function I(d){var p=d,{className:i,size:r="default",children:l}=p,e=s(p,["className","size","children"]);return u(o.Trigger,c(a({"data-slot":"select-trigger","data-size":r,className:n("flex w-fit items-center justify-between gap-1.5 border border-input bg-background-1 px-3 whitespace-nowrap transition-colors outline-none","focus-visible:border-ring focus-visible:ring-[1px] focus-visible:ring-ring","disabled:cursor-not-allowed disabled:opacity-50","aria-invalid:border-destructive aria-invalid:ring-[1px] aria-invalid:ring-destructive/20","dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40","hover:border-gray-6","data-placeholder:text-subtle-foreground","*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",z[r],i)},e),{children:[l,t(o.Icon,{render:t(f,{className:"pointer-events-none size-4 text-muted-foreground"})})]}))}function T(_){var g=_,{className:i,children:r,side:l="bottom",sideOffset:e=4,align:d="center",alignOffset:p=0,alignItemWithTrigger:m=!0}=g,P=s(g,["className","children","side","sideOffset","align","alignOffset","alignItemWithTrigger"]);return t(o.Portal,{children:t(o.Positioner,{side:l,sideOffset:e,align:d,alignOffset:p,alignItemWithTrigger:m,className:"isolate z-50",children:u(o.Popup,c(a({"data-slot":"select-content","data-align-trigger":m,className:n("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-xl bg-popover text-popover-foreground shadow-large ring-1 ring-border/50 duration-100","data-[align-trigger=true]:animate-none","data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",i)},P),{children:[t(v,{}),t(o.List,{children:r}),t(S,{})]}))})})}function N(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.GroupLabel,a({"data-slot":"select-label",className:n("px-3 py-2.5 text-xs text-muted-foreground",i)},r))}function C(e){var d=e,{className:i,children:r}=d,l=s(d,["className","children"]);return u(o.Item,c(a({"data-slot":"select-item",className:n("relative flex w-full cursor-default items-center gap-2.5 rounded-xl py-2 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",i)},l),{children:[t(o.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:r}),t(o.ItemIndicator,{render:t("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:t(b,{className:"pointer-events-none"})})]}))}function k(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.Separator,a({"data-slot":"select-separator",className:n("pointer-events-none -mx-1 my-1 h-px bg-border/50",i)},r))}function v(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.ScrollUpArrow,c(a({"data-slot":"select-scroll-up-button",className:n("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",i)},r),{children:t(x,{})}))}function S(l){var e=l,{className:i}=e,r=s(e,["className"]);return t(o.ScrollDownArrow,c(a({"data-slot":"select-scroll-down-button",className:n("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",i)},r),{children:t(f,{})}))}export{w as Select,T as SelectContent,h as SelectGroup,C as SelectItem,N as SelectLabel,S as SelectScrollDownButton,v as SelectScrollUpButton,k as SelectSeparator,I as SelectTrigger,y as SelectValue};
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Separator as Separator$1 } from '@base-ui/react/separator';
3
+
4
+ declare function Separator({ className, orientation, ...props }: Separator$1.Props): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Separator };
@@ -0,0 +1 @@
1
+ "use client";import{a as r,c as t}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as s}from"react/jsx-runtime";import{Separator as l}from"@base-ui/react/separator";import{cn as p}from"../../lib/utils";function n(c){var a=c,{className:o,orientation:i="horizontal"}=a,e=t(a,["className","orientation"]);return s(l,r({"data-slot":"separator",orientation:i,className:p("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",o)},e))}export{n as Separator};
@@ -0,0 +1,5 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
4
+
5
+ export { Skeleton };
@@ -0,0 +1 @@
1
+ import{a as o,c as t}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as m}from"react/jsx-runtime";import{cn as d}from"../../lib/utils";function l(p){var e=p,{className:n}=e,a=t(e,["className"]);return m("div",o({"data-slot":"skeleton",className:d("animate-pulse rounded-xl bg-muted",n)},a))}export{l as Skeleton};
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Slider as Slider$1 } from '@base-ui/react/slider';
3
+
4
+ declare function Slider({ className, defaultValue, value, min, max, ...props }: Slider$1.Root.Props): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Slider };
@@ -0,0 +1 @@
1
+ "use client";import{a as d,b as s,c as n}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as t,jsxs as g}from"react/jsx-runtime";import*as u from"react";import{Slider as e}from"@base-ui/react/slider";import{cn as f}from"../../lib/utils";function b(p){var o=p,{className:c,defaultValue:r,value:a,min:i=0,max:l=100}=o,m=n(o,["className","defaultValue","value","min","max"]);const h=u.useMemo(()=>Array.isArray(a)?a:Array.isArray(r)?r:[i,l],[a,r,i,l]);return t(e.Root,s(d({className:f("data-horizontal:w-full data-vertical:h-full",c),"data-slot":"slider",defaultValue:r,value:a,min:i,max:l,thumbAlignment:"edge"},m),{children:g(e.Control,{className:"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",children:[t(e.Track,{"data-slot":"slider-track",className:"relative grow overflow-hidden rounded-4xl bg-muted select-none data-horizontal:h-3 data-horizontal:w-full data-vertical:h-full data-vertical:w-3",children:t(e.Indicator,{"data-slot":"slider-range",className:"bg-primary select-none data-horizontal:h-full data-vertical:w-full"})}),Array.from({length:h.length},(w,v)=>t(e.Thumb,{"data-slot":"slider-thumb",className:"block size-4 shrink-0 rounded-4xl border border-primary bg-white shadow-sm ring-ring/50 transition-colors select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},v))]})}))}export{b as Slider};
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface SlidingNumberProps {
4
+ value: number;
5
+ padStart?: boolean;
6
+ decimalSeparator?: string;
7
+ }
8
+ declare function SlidingNumber({ value, padStart, decimalSeparator, }: SlidingNumberProps): react_jsx_runtime.JSX.Element;
9
+
10
+ export { SlidingNumber };
@@ -0,0 +1 @@
1
+ "use client";import"../../chunk-7LRQ2WLZ.mjs";import{Fragment as V,jsx as o,jsxs as c}from"react/jsx-runtime";import{useEffect as b,useId as h}from"react";import{motion as v,useSpring as y,useTransform as N,motionValue as I}from"motion/react";import S from"react-use-measure";const d={type:"spring",stiffness:280,damping:18,mass:.3};function g({value:r,place:t}){const n=Math.floor(r/t)%10,l=I(n),e=y(l,d);return b(()=>{e.set(n)},[e,n]),c("div",{className:"relative inline-block min-h-[1em] w-[1ch] overflow-x-visible overflow-y-clip leading-none tabular-nums",children:[o("div",{className:"invisible",children:"0"}),Array.from({length:10},(i,s)=>o(M,{mv:e,number:s},s))]})}function M({mv:r,number:t}){const n=h(),[l,e]=S(),i=N(r,s=>{if(!e.height)return 0;const p=s%10,m=(10+t-p)%10;let u=m*e.height;return m>5&&(u-=10*e.height),u});return e.height?o(v.span,{style:{y:i},layoutId:`${n}-${t}`,className:"absolute inset-0 flex items-center justify-center",transition:d,ref:l,children:t}):o("span",{ref:l,className:"invisible absolute min-h-[1em]",style:{minHeight:"1em"},children:t})}function k({value:r,padStart:t=!1,decimalSeparator:n="."}){const l=Math.abs(r),[e,i]=l.toString().split("."),s=parseInt(e,10),m=(t&&s<10?`0${e}`:e).split(""),u=m.map((f,a)=>Math.pow(10,m.length-a-1));return c("div",{className:"flex items-center","data-slot":"sliding-number",children:[r<0&&"-",m.map((f,a)=>o(g,{value:s,place:u[a]},`pos-${u[a]}`)),i?c(V,{children:[o("span",{children:n}),i.split("").map((f,a)=>o(g,{value:parseInt(i,10),place:Math.pow(10,i.length-a-1)},`decimal-${a}`))]}):null]})}export{k as SlidingNumber};
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+
3
+ type SizeVariant = "xs" | "sm" | "default" | "lg" | "xl";
4
+ type SpeedVariant = "slow" | "normal" | "fast";
5
+ interface SpinnerProps extends Omit<React.ComponentPropsWithoutRef<"svg">, "display" | "opacity"> {
6
+ size?: SizeVariant;
7
+ speed?: SpeedVariant;
8
+ className?: string;
9
+ }
10
+ declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<SVGSVGElement>>;
11
+
12
+ export { Spinner, type SpinnerProps };
@@ -0,0 +1 @@
1
+ "use client";import{a as r,b as d,c as s}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as o from"react";import{cn as m}from"../../lib/utils";const f=o.forwardRef((l,n)=>{var i=s(l,[]);const t=o.useId();return a("svg",d(r({ref:n,"data-slot-icon":!0,viewBox:"0 0 24 24"},i),{children:[a("defs",{children:[a("linearGradient",{id:`gradient-1-${t}`,x1:"50%",x2:"50%",y1:"5.271%",y2:"91.793%",children:[e("stop",{offset:"0%",stopColor:"currentColor"}),e("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:.55})]}),a("linearGradient",{id:`gradient-2-${t}`,x1:"50%",x2:"50%",y1:"15.24%",y2:"87.15%",children:[e("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:0}),e("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:.55})]})]}),a("g",{fill:"none",children:[e("path",{d:"M8.749.021a1.5 1.5 0 0 1 .497 2.958A7.5 7.5 0 0 0 3 10.375a7.5 7.5 0 0 0 7.5 7.5v3c-5.799 0-10.5-4.7-10.5-10.5C0 5.23 3.726.865 8.749.021",fill:`url(#gradient-1-${t})`,transform:"translate(1.5 1.625)"}),e("path",{d:"M15.392 2.673a1.5 1.5 0 0 1 2.119-.115A10.48 10.48 0 0 1 21 10.375c0 5.8-4.701 10.5-10.5 10.5v-3a7.5 7.5 0 0 0 5.007-13.084a1.5 1.5 0 0 1-.115-2.118",fill:`url(#gradient-2-${t})`,transform:"translate(1.5 1.625)"})]})]}))});f.displayName="SpellUI.SpinnerPrimitive";const S={xs:"size-3",sm:"size-4",default:"size-6",lg:"size-8",xl:"size-10"},g={slow:"animate-[spin_2s_linear_infinite]",normal:"animate-spin",fast:"animate-[spin_0.5s_linear_infinite]"},y=o.forwardRef((u,c)=>{var p=u,{className:i,size:n="default",speed:l="normal"}=p,t=s(p,["className","size","speed"]);return e("span",{"data-spinner":!0,className:m("inline-block",g[l],S[n],i),children:e(f,r({ref:c,"aria-hidden":!0,"aria-label":"Loading",role:"presentation",className:"size-full"},t))})});y.displayName="SpellUI.Spinner";export{y as Spinner};
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Switch as Switch$1 } from '@base-ui/react/switch';
3
+
4
+ declare function Switch({ className, size, ...props }: Switch$1.Root.Props & {
5
+ size?: "sm" | "default";
6
+ }): react_jsx_runtime.JSX.Element;
7
+
8
+ export { Switch };
@@ -0,0 +1 @@
1
+ "use client";import{a as t,b as e,c as i}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as d}from"react/jsx-runtime";import{Switch as r}from"@base-ui/react/switch";import{cn as o}from"../../lib/utils";function l(u){var a=u,{className:s,size:n="default"}=a,c=i(a,["className","size"]);return d(r.Root,e(t({"data-slot":"switch","data-size":n,className:o("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",s)},c),{children:d(r.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})}))}export{l as Switch};
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ declare function Table({ className, ...props }: React.ComponentProps<"table">): react_jsx_runtime.JSX.Element;
5
+ declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
6
+ declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
7
+ declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
8
+ declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): react_jsx_runtime.JSX.Element;
9
+ declare function TableHead({ className, ...props }: React.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
10
+ declare function TableCell({ className, ...props }: React.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
11
+ declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
12
+
13
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
@@ -0,0 +1 @@
1
+ "use client";import{a as o,c as r}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as l}from"react/jsx-runtime";import{cn as n}from"../../lib/utils";function d(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:l("table",o({"data-slot":"table",className:n("w-full caption-bottom text-sm",e)},a))})}function c(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("thead",o({"data-slot":"table-header",className:n("[&_tr]:border-b",e)},a))}function b(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("tbody",o({"data-slot":"table-body",className:n("[&_tr:last-child]:border-0",e)},a))}function m(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("tfoot",o({"data-slot":"table-footer",className:n("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e)},a))}function p(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("tr",o({"data-slot":"table-row",className:n("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e)},a))}function i(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("th",o({"data-slot":"table-head",className:n("h-12 px-3 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e)},a))}function u(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("td",o({"data-slot":"table-cell",className:n("p-3 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e)},a))}function f(s){var t=s,{className:e}=t,a=r(t,["className"]);return l("caption",o({"data-slot":"table-caption",className:n("mt-4 text-sm text-muted-foreground",e)},a))}export{d as Table,b as TableBody,f as TableCaption,u as TableCell,m as TableFooter,i as TableHead,c as TableHeader,p as TableRow};
@@ -0,0 +1,14 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare function Tabs({ className, orientation, ...props }: Tabs$1.Root.Props): react_jsx_runtime.JSX.Element;
7
+ declare const tabsListVariants: (props?: ({
8
+ variant?: "default" | "line" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare function TabsList({ className, variant, ...props }: Tabs$1.List.Props & VariantProps<typeof tabsListVariants>): react_jsx_runtime.JSX.Element;
11
+ declare function TabsTrigger({ className, ...props }: Tabs$1.Tab.Props): react_jsx_runtime.JSX.Element;
12
+ declare function TabsContent({ className, ...props }: Tabs$1.Panel.Props): react_jsx_runtime.JSX.Element;
13
+
14
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
@@ -0,0 +1 @@
1
+ "use client";import{a as o,c as s}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as l}from"react/jsx-runtime";import{Tabs as n}from"@base-ui/react/tabs";import{cva as b}from"class-variance-authority";import{cn as d}from"../../lib/utils";function p(r){var i=r,{className:t,orientation:a="horizontal"}=i,e=s(i,["className","orientation"]);return l(n.Root,o({"data-slot":"tabs","data-orientation":a,className:d("group/tabs flex gap-2 data-horizontal:flex-col",t)},e))}const u=b("group/tabs-list inline-flex w-fit items-center justify-center p-[3px] text-muted-foreground group-data-horizontal/tabs:h-10 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted rounded-[calc(var(--radius-2xl)+.25rem)] group-data-vertical/tabs:rounded-[calc(var(--radius-2xl)+.25rem)]",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function c(r){var i=r,{className:t,variant:a="default"}=i,e=s(i,["className","variant"]);return l(n.List,o({"data-slot":"tabs-list","data-variant":a,className:d(u({variant:a}),t)},e))}function g(e){var r=e,{className:t}=r,a=s(r,["className"]);return l(n.Tab,o({"data-slot":"tabs-trigger",className:d("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-3xl border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all","group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:px-2.5 group-data-vertical/tabs:py-1.5","hover:text-foreground focus-visible:border-ring focus-visible:ring-[1px] focus-visible:ring-ring focus-visible:outline-1 focus-visible:outline-ring","disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50","dark:text-muted-foreground dark:hover:text-foreground","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","data-active:bg-background data-active:text-foreground data-active:shadow-small dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground","group-data-[variant=line]/tabs-list:data-active:shadow-none","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",t)},a))}function v(e){var r=e,{className:t}=r,a=s(r,["className"]);return l(n.Panel,o({"data-slot":"tabs-content",className:d("flex-1 text-sm outline-none",t)},a))}export{p as Tabs,v as TabsContent,c as TabsList,g as TabsTrigger,u as tabsListVariants};
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Variants, Transition } from 'motion/react';
3
+ import React__default from 'react';
4
+
5
+ type PresetType = 'blur' | 'fade-in-blur' | 'scale' | 'fade' | 'slide';
6
+ type PerType = 'word' | 'char' | 'line';
7
+ interface TextEffectProps {
8
+ children: string;
9
+ per?: PerType;
10
+ as?: keyof React__default.JSX.IntrinsicElements;
11
+ variants?: {
12
+ container?: Variants;
13
+ item?: Variants;
14
+ };
15
+ className?: string;
16
+ preset?: PresetType;
17
+ delay?: number;
18
+ speedReveal?: number;
19
+ speedSegment?: number;
20
+ trigger?: boolean;
21
+ onAnimationComplete?: () => void;
22
+ onAnimationStart?: () => void;
23
+ segmentWrapperClassName?: string;
24
+ containerTransition?: Transition;
25
+ segmentTransition?: Transition;
26
+ style?: React__default.CSSProperties;
27
+ }
28
+ declare function TextEffect({ children, per, as, variants, className, preset, delay, speedReveal, speedSegment, trigger, onAnimationComplete, onAnimationStart, segmentWrapperClassName, containerTransition, segmentTransition, style, }: TextEffectProps): react_jsx_runtime.JSX.Element;
29
+
30
+ export { type PerType, type PresetType, TextEffect, type TextEffectProps };
@@ -0,0 +1,2 @@
1
+ "use client";import{a as n,b as l,c as R}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as o,jsxs as U}from"react/jsx-runtime";import{cn as z}from"../../lib/utils";import{AnimatePresence as B,motion as p}from"motion/react";import G from"react";const H={char:.03,word:.05,line:.1},c={hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.05}},exit:{transition:{staggerChildren:.05,staggerDirection:-1}}},K={hidden:{opacity:0},visible:{opacity:1},exit:{opacity:0}},O={blur:{container:c,item:{hidden:{opacity:0,filter:"blur(12px)"},visible:{opacity:1,filter:"blur(0px)"},exit:{opacity:0,filter:"blur(12px)"}}},"fade-in-blur":{container:c,item:{hidden:{opacity:0,y:20,filter:"blur(12px)"},visible:{opacity:1,y:0,filter:"blur(0px)"},exit:{opacity:0,y:20,filter:"blur(12px)"}}},scale:{container:c,item:{hidden:{opacity:0,scale:0},visible:{opacity:1,scale:1},exit:{opacity:0,scale:0}}},fade:{container:c,item:{hidden:{opacity:0},visible:{opacity:1},exit:{opacity:0}}},slide:{container:c,item:{hidden:{opacity:0,y:20},visible:{opacity:1,y:0},exit:{opacity:0,y:20}}}},W=G.memo(({segment:i,variants:t,per:a,segmentWrapperClassName:e})=>{const r=a==="line"?o(p.span,{variants:t,className:"block",children:i}):a==="word"?o(p.span,{"aria-hidden":"true",variants:t,className:"inline-block whitespace-pre",children:i}):o(p.span,{className:"inline-block whitespace-pre",children:i.split("").map((y,f)=>o(p.span,{"aria-hidden":"true",variants:t,className:"inline-block whitespace-pre",children:y},`char-${f}`))});return e?o("span",{className:z(a==="line"?"block":"inline-block",e),children:r}):r});W.displayName="AnimationComponent";const Q=(i,t)=>t==="line"?i.split(`
2
+ `):i.split(/(\s+)/),d=i=>i?typeof i=="object"&&"transition"in i:!1,E=(i,t)=>{if(!t)return i;const r=t,{exit:a}=r,e=R(r,["exit"]);return l(n({},i),{visible:l(n({},i.visible),{transition:n(n({},d(i.visible)?i.visible.transition:{}),e)}),exit:l(n({},i.exit),{transition:l(n(n({},d(i.exit)?i.exit.transition:{}),e),{staggerDirection:-1})})})};function ee({children:i,per:t="word",as:a="p",variants:e,className:r,preset:m="fade",delay:y=0,speedReveal:f=1,speedSegment:S=1,trigger:$=!0,onAnimationComplete:D,onAnimationStart:I,segmentWrapperClassName:M,containerTransition:F,segmentTransition:J,style:L}){var x,h,C,N,A,P,V,k;const X=Q(i,t),_=p[a],b=m?O[m]:{container:c,item:K},T=H[t]/f,j=.3/S,s=d((h=(x=e==null?void 0:e.container)==null?void 0:x.visible)!=null?h:{})?(N=((C=e==null?void 0:e.container)==null?void 0:C.visible).transition)==null?void 0:N.staggerChildren:void 0,u=d((P=(A=e==null?void 0:e.container)==null?void 0:A.visible)!=null?P:{})?(k=((V=e==null?void 0:e.container)==null?void 0:V.visible).transition)==null?void 0:k.delayChildren:void 0,g={container:E((e==null?void 0:e.container)||b.container,l(n({staggerChildren:s!=null?s:T,delayChildren:u!=null?u:y},F),{exit:{staggerChildren:s!=null?s:T,staggerDirection:-1}})),item:E((e==null?void 0:e.item)||b.item,n({duration:j},J))};return o(B,{mode:"popLayout",children:$?U(_,{"data-slot":"text-effect",initial:"hidden",animate:"visible",exit:"exit",variants:g.container,className:r,onAnimationComplete:D,onAnimationStart:I,style:L,children:[t!=="line"?o("span",{className:"sr-only",children:i}):null,X.map((w,q)=>o(W,{segment:w,variants:g.item,per:t,segmentWrapperClassName:M},`${t}-${q}-${w}`))]}):null})}export{ee as TextEffect};
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentProps } from 'react';
3
+ import { InputSize } from './input.mjs';
4
+
5
+ type TextareaProps = Omit<ComponentProps<"textarea">, "size"> & {
6
+ size?: InputSize;
7
+ };
8
+ declare function Textarea({ size, className, disabled, ...props }: TextareaProps): react_jsx_runtime.JSX.Element;
9
+
10
+ export { Textarea, type TextareaProps };
@@ -0,0 +1 @@
1
+ import{a as i,c as t}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as p}from"react/jsx-runtime";import{cn as d}from"../../lib/utils";const s={sm:"min-h-[4.5rem] rounded-lg px-3 py-2 text-sm",default:"min-h-16 rounded-lg px-3 py-3 text-sm",lg:"min-h-20 rounded-xl px-3 py-3 text-base"};function l(u){var r=u,{size:o="default",className:a,disabled:e}=r,n=t(r,["size","className","disabled"]);return p("textarea",i({"data-slot":"textarea",disabled:e,className:d("field-sizing-content w-full resize-none border border-input bg-background-1 shadow-none transition-colors outline-none","placeholder:text-subtle-foreground","focus-visible:border-ring focus-visible:ring-[1px] focus-visible:ring-ring","aria-invalid:border-destructive aria-invalid:ring-[1px] aria-invalid:ring-destructive/20","dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40","hover:border-gray-6","disabled:cursor-not-allowed disabled:opacity-50",s[o],e&&"bg-gray-1",a)},n))}export{l as Textarea};
@@ -0,0 +1,14 @@
1
+ import { Toast } from '@base-ui/react/toast';
2
+ export { Toast as ToastPrimitive } from '@base-ui/react/toast';
3
+ import React__default from 'react';
4
+
5
+ declare const toastManager: ReturnType<typeof Toast.createToastManager>;
6
+ declare const anchoredToastManager: ReturnType<typeof Toast.createToastManager>;
7
+ type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
8
+ interface ToastProviderProps extends Toast.Provider.Props {
9
+ position?: ToastPosition;
10
+ }
11
+ declare function ToastProvider({ children, position, ...props }: ToastProviderProps): React__default.ReactElement;
12
+ declare function AnchoredToastProvider({ children, ...props }: Toast.Provider.Props): React__default.ReactElement;
13
+
14
+ export { AnchoredToastProvider, type ToastPosition, ToastProvider, type ToastProviderProps, anchoredToastManager, toastManager };
@@ -0,0 +1 @@
1
+ "use client";import{a as d,b as l,c}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as a,jsxs as i}from"react/jsx-runtime";import{Toast as t}from"@base-ui/react/toast";import{CircleAlertIcon as y,CircleCheckIcon as u,InfoIcon as x,LoaderCircleIcon as h,TriangleAlertIcon as w}from"lucide-react";import{cn as p}from"../../lib/utils";import{buttonVariants as f}from"./button";const g={error:y,info:x,loading:h,success:u,warning:w};function b(o){const e=o.startsWith("top")?"up":"down";return o.includes("center")?[e]:o.includes("left")?["left",e]:["right",e]}function T({position:o}){const{toasts:e}=t.useToastManager(),r=b(o);return a(t.Portal,{"data-slot":"toast-portal",children:a(t.Viewport,{className:p("fixed z-60 mx-auto flex w-[calc(100%-var(--toast-inset)*2)] max-w-90 [--toast-inset:--spacing(4)] sm:[--toast-inset:--spacing(8)]","data-[position*=top]:top-(--toast-inset)","data-[position*=bottom]:bottom-(--toast-inset)","data-[position*=left]:left-(--toast-inset)","data-[position*=right]:right-(--toast-inset)","data-[position*=center]:left-1/2 data-[position*=center]:-translate-x-1/2"),"data-position":o,"data-slot":"toast-viewport",children:e.map(s=>{const n=s.type?g[s.type]:null;return a(t.Root,{className:p("absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full select-none rounded-lg border bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 [transition:transform_.5s_cubic-bezier(.22,1,.36,1),opacity_.5s,height_.15s] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]","data-[position*=right]:right-0 data-[position*=right]:left-auto","data-[position*=left]:right-auto data-[position*=left]:left-0","data-[position*=center]:right-0 data-[position*=center]:left-0","data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top","data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom","after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full","data-[position*=top]:after:top-full","data-[position*=bottom]:after:bottom-full","[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]","data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]","data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]","data-[position*=top]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]","data-[position*=bottom]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]","data-limited:opacity-0","data-expanded:h-(--toast-height)","data-position:data-expanded:transform-[translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]","data-[position*=top]:data-starting-style:transform-[translateY(calc(-100%-var(--toast-inset)))]","data-[position*=bottom]:data-starting-style:transform-[translateY(calc(100%+var(--toast-inset)))]","data-ending-style:opacity-0","data-ending-style:not-data-limited:not-data-swipe-direction:transform-[translateY(calc(100%+var(--toast-inset)))]","data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]","data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]","data-expanded:data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]","data-expanded:data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]","data-expanded:data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]"),"data-position":o,swipeDirection:r,toast:s,children:i(t.Content,{className:"pointer-events-auto flex items-center justify-between gap-1.5 overflow-hidden px-3.5 py-3 text-sm transition-opacity duration-250 data-behind:not-data-expanded:pointer-events-none data-behind:opacity-0 data-expanded:opacity-100",children:[i("div",{className:"flex gap-2",children:[n?a("div",{className:"[&>svg]:h-lh [&>svg]:w-4 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-slot":"toast-icon",children:a(n,{className:"in-data-[type=loading]:animate-spin in-data-[type=error]:text-destructive in-data-[type=info]:text-info in-data-[type=success]:text-success in-data-[type=warning]:text-warning in-data-[type=loading]:opacity-80"})}):null,i("div",{className:"flex flex-col gap-0.5",children:[a(t.Title,{className:"font-medium","data-slot":"toast-title"}),a(t.Description,{className:"text-muted-foreground","data-slot":"toast-description"})]})]}),s.actionProps?a(t.Action,{className:f({size:"xs"}),"data-slot":"toast-action",children:s.actionProps.children}):null]})},s.id)})})})}function P(){const{toasts:o}=t.useToastManager();return a(t.Portal,{"data-slot":"toast-portal-anchored",children:a(t.Viewport,{className:"outline-none","data-slot":"toast-viewport-anchored",children:o.map(e=>{var m,v;const r=e.type?g[e.type]:null,s=(m=e.data.tooltipStyle)!=null?m:!1,n=e.positionerProps;return n!=null&&n.anchor?a(t.Positioner,{className:"z-50 max-w-[min(--spacing(64),var(--available-width))]","data-slot":"toast-positioner",sideOffset:(v=n.sideOffset)!=null?v:4,toast:e,children:a(t.Root,{className:p("relative text-balance border bg-popover not-dark:bg-clip-padding text-popover-foreground text-xs transition-[scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:shadow-[0_1px_--theme(--color-black/4%)] data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",s?"rounded-md shadow-md/5 before:rounded-[calc(var(--radius-md)-1px)]":"rounded-lg shadow-lg/5 before:rounded-[calc(var(--radius-lg)-1px)]"),"data-slot":"toast-popup",toast:e,children:s?a(t.Content,{className:"pointer-events-auto px-2 py-1",children:a(t.Title,{"data-slot":"toast-title"})}):i(t.Content,{className:"pointer-events-auto flex items-center justify-between gap-1.5 overflow-hidden px-3.5 py-3 text-sm",children:[i("div",{className:"flex gap-2",children:[r?a("div",{className:"[&>svg]:h-lh [&>svg]:w-4 [&_svg]:pointer-events-none [&_svg]:shrink-0","data-slot":"toast-icon",children:a(r,{className:"in-data-[type=loading]:animate-spin in-data-[type=error]:text-destructive in-data-[type=info]:text-info in-data-[type=success]:text-success in-data-[type=warning]:text-warning in-data-[type=loading]:opacity-80"})}):null,i("div",{className:"flex flex-col gap-0.5",children:[a(t.Title,{className:"font-medium","data-slot":"toast-title"}),a(t.Description,{className:"text-muted-foreground","data-slot":"toast-description"})]})]}),e.actionProps?a(t.Action,{className:f({size:"xs"}),"data-slot":"toast-action",children:e.actionProps.children}):null]})})},e.id):null})})})}const _=t.createToastManager(),N=t.createToastManager();function I(s){var n=s,{children:o,position:e="bottom-right"}=n,r=c(n,["children","position"]);return i(t.Provider,l(d({toastManager:_},r),{children:[o,a(T,{position:e})]}))}function M(r){var s=r,{children:o}=s,e=c(s,["children"]);return i(t.Provider,l(d({toastManager:N},e),{children:[o,a(P,{})]}))}export{M as AnchoredToastProvider,t as ToastPrimitive,I as ToastProvider,N as anchoredToastManager,_ as toastManager};
@@ -0,0 +1,9 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
3
+
4
+ declare function TooltipProvider({ delay, ...props }: Tooltip$1.Provider.Props): react_jsx_runtime.JSX.Element;
5
+ declare function Tooltip({ ...props }: Tooltip$1.Root.Props): react_jsx_runtime.JSX.Element;
6
+ declare function TooltipTrigger({ ...props }: Tooltip$1.Trigger.Props): react_jsx_runtime.JSX.Element;
7
+ declare function TooltipContent({ className, side, sideOffset, align, alignOffset, children, ...props }: Tooltip$1.Popup.Props & Pick<Tooltip$1.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): react_jsx_runtime.JSX.Element;
8
+
9
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1 @@
1
+ "use client";import{a as o,b as l,c as d}from"../../chunk-7LRQ2WLZ.mjs";import{jsx as e,jsxs as T}from"react/jsx-runtime";import{Tooltip as i}from"@base-ui/react/tooltip";import{cn as g}from"../../lib/utils";function P(n){var r=n,{delay:t=0}=r,a=d(r,["delay"]);return e(i.Provider,o({"data-slot":"tooltip-provider",delay:t},a))}function u(a){var t=d(a,[]);return e(i.Root,o({"data-slot":"tooltip"},t))}function c(a){var t=d(a,[]);return e(i.Trigger,o({"data-slot":"tooltip-trigger"},t))}function x(v){var s=v,{className:t,side:a="top",sideOffset:n=4,align:r="center",alignOffset:p=0,children:f}=s,m=d(s,["className","side","sideOffset","align","alignOffset","children"]);return e(i.Portal,{children:e(i.Positioner,{align:r,alignOffset:p,side:a,sideOffset:n,className:"isolate z-50",children:T(i.Popup,l(o({"data-slot":"tooltip-content",className:g("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-lg bg-foreground px-3 py-1.5 text-xs text-background shadow-large has-data-[slot=kbd]:pr-1.5","data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","**:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-4xl","data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t)},m),{children:[f,e(i.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:translate-x-[1.5px] data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:translate-x-[-1.5px] data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:translate-x-[-1.5px] data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:translate-x-[1.5px] data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]}))})})}export{u as Tooltip,x as TooltipContent,P as TooltipProvider,c as TooltipTrigger};
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+
3
+ type ClickOutsideEvent = MouseEvent | TouchEvent;
4
+ declare function useClickOutside(refs: RefObject<HTMLElement | null>[], onClickOutside: (event: ClickOutsideEvent) => void): void;
5
+
6
+ export { useClickOutside };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useEffect as r}from"react";const s=["mousedown","touchstart"];function v(t,n){r(()=>{const i=e=>t.every(u=>{var c;return!((c=u.current)!=null&&c.contains(e))}),o=e=>{i(e.target)&&n(e)};return s.forEach(e=>{document.addEventListener(e,o)}),()=>{s.forEach(e=>{document.removeEventListener(e,o)})}},[t,n])}export{v as useClickOutside};
@@ -0,0 +1,9 @@
1
+ declare function useCopyToClipboard({ timeout, onCopy, }?: {
2
+ timeout?: number;
3
+ onCopy?: () => void;
4
+ }): {
5
+ isCopied: boolean;
6
+ copyToClipboard: (value: string) => Promise<boolean>;
7
+ };
8
+
9
+ export { useCopyToClipboard };
@@ -0,0 +1 @@
1
+ "use client";import{d as a}from"../chunk-7LRQ2WLZ.mjs";import*as c from"react";function s(t){const e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="fixed",e.style.opacity="0",e.style.pointerEvents="none",document.body.appendChild(e),e.focus(),e.select(),e.setSelectionRange(0,t.length);let o=!1;try{o=document.execCommand("copy")}catch(n){o=!1}return document.body.removeChild(e),o}function p({timeout:t=2e3,onCopy:e}={}){const[o,n]=c.useState(!1);return{isCopied:o,copyToClipboard:i=>a(this,null,function*(){if(typeof window=="undefined"||!i)return!1;let r=!1;if(navigator.clipboard.writeText)try{yield navigator.clipboard.writeText(i),r=!0}catch(l){r=s(i)}else r=s(i);return r?(n(!0),e&&e(),t!==0&&setTimeout(()=>{n(!1)},t),!0):!1})}}export{p as useCopyToClipboard};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Custom hook that creates a memoized event callback.
3
+ * @template Args - An array of argument types for the event callback.
4
+ * @template R - The return type of the event callback.
5
+ * @param {(...args: Args) => R} fn - The callback function.
6
+ * @returns {(...args: Args) => R} A memoized event callback function.
7
+ * @public
8
+ * @see [Documentation](https://usehooks-ts.com/react-hook/use-event-callback)
9
+ * @example
10
+ * ```tsx
11
+ * const handleClick = useEventCallback((event) => {
12
+ * // Handle the event here
13
+ * });
14
+ * ```
15
+ */
16
+ declare function useEventCallback<Args extends unknown[], R>(fn: (...args: Args) => R): (...args: Args) => R;
17
+ declare function useEventCallback<Args extends unknown[], R>(fn: ((...args: Args) => R) | undefined): ((...args: Args) => R) | undefined;
18
+
19
+ export { useEventCallback };
@@ -0,0 +1 @@
1
+ import"../chunk-7LRQ2WLZ.mjs";import{useCallback as t,useRef as a}from"react";import{useIsomorphicLayoutEffect as o}from"./use-isomorphic-layout-effect";function f(e){const n=a(()=>{throw new Error("Cannot call an event handler while rendering.")});return o(()=>{n.current=e},[e]),t((...s)=>{var r;return(r=n.current)==null?void 0:r.call(n,...s)},[n])}export{f as useEventCallback};
@@ -0,0 +1,8 @@
1
+ import { RefObject } from 'react';
2
+
3
+ declare function useEventListener<K extends keyof MediaQueryListEventMap>(eventName: K, handler: (event: MediaQueryListEventMap[K]) => void, element: RefObject<MediaQueryList>, options?: boolean | AddEventListenerOptions): void;
4
+ declare function useEventListener<K extends keyof WindowEventMap>(eventName: K, handler: (event: WindowEventMap[K]) => void, element?: undefined, options?: boolean | AddEventListenerOptions): void;
5
+ declare function useEventListener<K extends keyof HTMLElementEventMap & keyof SVGElementEventMap, T extends Element = K extends keyof HTMLElementEventMap ? HTMLDivElement : SVGElement>(eventName: K, handler: ((event: HTMLElementEventMap[K]) => void) | ((event: SVGElementEventMap[K]) => void), element: RefObject<T>, options?: boolean | AddEventListenerOptions): void;
6
+ declare function useEventListener<K extends keyof DocumentEventMap>(eventName: K, handler: (event: DocumentEventMap[K]) => void, element: RefObject<Document>, options?: boolean | AddEventListenerOptions): void;
7
+
8
+ export { useEventListener };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useEffect as r,useRef as a}from"react";import{useIsomorphicLayoutEffect as M}from"./use-isomorphic-layout-effect";function p(n,o,e,i){const v=a(o);M(()=>{v.current=o},[o]),r(()=>{var s;const t=(s=e==null?void 0:e.current)!=null?s:window;if(!(t&&t.addEventListener))return;const d=E=>{v.current(E)};return t.addEventListener(n,d,i),()=>{t.removeEventListener(n,d,i)}},[n,e,i])}export{p as useEventListener};
@@ -0,0 +1,3 @@
1
+ declare function useIsClient(): boolean;
2
+
3
+ export { useIsClient };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useEffect as s,useState as n}from"react";function u(){const[e,t]=n(!1);return s(()=>{t(!0)},[]),e}export{u as useIsClient};
@@ -0,0 +1,3 @@
1
+ declare function useIsMomoApp(): boolean;
2
+
3
+ export { useIsMomoApp };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useState as s,useEffect as o}from"react";function n(){const[t,e]=s(!1);return o(()=>(e(/MOMOAPP/i.test(navigator.userAgent)),()=>{e(!1)}),[]),t}export{n as useIsMomoApp};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Hook to detect if the current device has touch capabilities.
3
+ * Safe for SSR - returns `false` during server-side rendering.
4
+ */
5
+ declare function useIsTouchDevice(): boolean;
6
+
7
+ export { useIsTouchDevice };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useEffect as n,useState as t}from"react";function u(){const[o,e]=t(!1);return n(()=>{e(typeof window=="undefined"?!1:"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0)},[]),o}export{u as useIsTouchDevice};
@@ -0,0 +1,5 @@
1
+ import { useEffect } from 'react';
2
+
3
+ declare const useIsomorphicLayoutEffect: typeof useEffect;
4
+
5
+ export { useIsomorphicLayoutEffect };
@@ -0,0 +1 @@
1
+ import"../chunk-7LRQ2WLZ.mjs";import{useEffect as e,useLayoutEffect as o}from"react";const t=typeof window!="undefined"?o:e;export{t as useIsomorphicLayoutEffect};
@@ -0,0 +1,5 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+
3
+ declare function useLocalStorage<T>(key: string, initialValue: T | (() => T)): [T, Dispatch<SetStateAction<T>>];
4
+
5
+ export { useLocalStorage as default, useLocalStorage };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useCallback as a,useEffect as u,useState as S}from"react";function T(e,t){if(typeof window=="undefined")return t;try{const o=window.localStorage.getItem(e);return o?JSON.parse(o):t}catch(o){return t}}function d(e,t){const[o,c]=S(()=>typeof t=="function"?t():t);u(()=>{const r=typeof t=="function"?t():t,n=T(e,r);c(n)},[e]);const f=a(r=>{try{c(n=>{const s=r instanceof Function?r(n):r;return typeof window!="undefined"&&window.localStorage.setItem(e,JSON.stringify(s)),s})}catch(n){console.warn(`Error setting localStorage key "${e}":`,n)}},[e]);return[o,f]}var g=d;export{g as default,d as useLocalStorage};
@@ -0,0 +1,3 @@
1
+ declare function useIsMobile(): boolean;
2
+
3
+ export { useIsMobile };
@@ -0,0 +1 @@
1
+ import"../chunk-7LRQ2WLZ.mjs";import*as i from"react";const e=768;function d(){const[s,n]=i.useState(void 0);return i.useEffect(()=>{const t=window.matchMedia(`(max-width: ${e-1}px)`),o=()=>{n(window.innerWidth<e)};return t.addEventListener("change",o),n(window.innerWidth<e),()=>{t.removeEventListener("change",o)}},[]),!!s}export{d as useIsMobile};
@@ -0,0 +1,11 @@
1
+ interface WindowSize {
2
+ width: number | undefined;
3
+ height: number | undefined;
4
+ }
5
+ /**
6
+ * Hook that returns the current window dimensions.
7
+ * Safe for SSR - returns `undefined` for width and height during server-side rendering.
8
+ */
9
+ declare function useWindowSize(): WindowSize;
10
+
11
+ export { useWindowSize as default, useWindowSize };
@@ -0,0 +1 @@
1
+ "use client";import"../chunk-7LRQ2WLZ.mjs";import{useState as t,useEffect as d}from"react";function o(){const[i,n]=t({width:void 0,height:void 0});return d(()=>{function e(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),i}var w=o;export{w as default,o as useWindowSize};