@tetherto/dev-websites-core 0.2.1 → 0.3.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 (314) hide show
  1. package/README.md +81 -9
  2. package/dist/analytics/GtmLoader.d.mts +14 -0
  3. package/dist/analytics/GtmLoader.d.mts.map +1 -0
  4. package/dist/analytics/GtmLoader.mjs +30 -0
  5. package/dist/analytics/GtmLoader.mjs.map +1 -0
  6. package/dist/analytics/createTrackedLink.d.mts +46 -0
  7. package/dist/analytics/createTrackedLink.d.mts.map +1 -0
  8. package/dist/analytics/createTrackedLink.mjs +36 -0
  9. package/dist/analytics/createTrackedLink.mjs.map +1 -0
  10. package/dist/analytics/index.d.mts +3 -0
  11. package/dist/analytics/index.mjs +3 -0
  12. package/dist/cms/index.d.mts +2 -2
  13. package/dist/cms/index.mjs +2 -2
  14. package/dist/{cms-5bS91IRZ.mjs → cms.mjs} +2 -2
  15. package/dist/cms.mjs.map +1 -0
  16. package/dist/i18n/index.d.mts +1 -1
  17. package/dist/i18n/index.mjs +1 -1
  18. package/dist/{i18n-Dy3VrbBw.mjs → i18n.mjs} +1 -1
  19. package/dist/i18n.mjs.map +1 -0
  20. package/dist/index.d.mts +214 -6
  21. package/dist/index.d.mts.map +1 -0
  22. package/dist/index.mjs +6 -6
  23. package/dist/{index-D36IEwUg.d.mts → index2.d.mts} +1 -1
  24. package/dist/index2.d.mts.map +1 -0
  25. package/dist/{index-tTs9h9BS.d.mts → index3.d.mts} +2 -2
  26. package/dist/index3.d.mts.map +1 -0
  27. package/dist/{index-Dyi7DDoO.d.mts → index4.d.mts} +1 -1
  28. package/dist/index4.d.mts.map +1 -0
  29. package/dist/index5.d.mts +6 -0
  30. package/dist/{logger-BPURnavq.mjs → logger.mjs} +1 -1
  31. package/dist/logger.mjs.map +1 -0
  32. package/dist/{readMediaBuffer-1C3QTpkO.d.mts → readMediaBuffer.d.mts} +1 -1
  33. package/dist/readMediaBuffer.d.mts.map +1 -0
  34. package/dist/{readMediaBuffer-DWkTbYVn.mjs → readMediaBuffer.mjs} +2 -2
  35. package/dist/readMediaBuffer.mjs.map +1 -0
  36. package/dist/seo/index.d.mts +1 -1
  37. package/dist/seo/index.mjs +1 -1
  38. package/dist/{seo-e5XjgQ7l.mjs → seo.mjs} +3 -3
  39. package/dist/seo.mjs.map +1 -0
  40. package/dist/ui/a11y/focus.d.mts +6 -0
  41. package/dist/ui/a11y/focus.d.mts.map +1 -0
  42. package/dist/ui/a11y/focus.mjs +7 -0
  43. package/dist/ui/a11y/focus.mjs.map +1 -0
  44. package/dist/ui/a11y/index.d.mts +4 -0
  45. package/dist/ui/a11y/index.mjs +4 -0
  46. package/dist/ui/carousel/index.d.mts +3 -0
  47. package/dist/ui/carousel/index.mjs +3 -0
  48. package/dist/ui/components/Accordion/Accordion.d.mts +16 -0
  49. package/dist/ui/components/Accordion/Accordion.d.mts.map +1 -0
  50. package/dist/ui/components/Accordion/Accordion.mjs +51 -0
  51. package/dist/ui/components/Accordion/Accordion.mjs.map +1 -0
  52. package/dist/ui/components/Accordion/index.d.mts +2 -0
  53. package/dist/ui/components/Accordion/index.mjs +2 -0
  54. package/dist/ui/components/Avatar/Avatar.d.mts +9 -0
  55. package/dist/ui/components/Avatar/Avatar.d.mts.map +1 -0
  56. package/dist/ui/components/Avatar/Avatar.mjs +15 -0
  57. package/dist/ui/components/Avatar/Avatar.mjs.map +1 -0
  58. package/dist/ui/components/Avatar/index.d.mts +2 -0
  59. package/dist/ui/components/Avatar/index.mjs +2 -0
  60. package/dist/ui/components/Badge/Badge.d.mts +14 -0
  61. package/dist/ui/components/Badge/Badge.d.mts.map +1 -0
  62. package/dist/ui/components/Badge/Badge.mjs +30 -0
  63. package/dist/ui/components/Badge/Badge.mjs.map +1 -0
  64. package/dist/ui/components/Badge/index.d.mts +2 -0
  65. package/dist/ui/components/Badge/index.mjs +2 -0
  66. package/dist/ui/components/BadgeVersion/BadgeVersion.d.mts +24 -0
  67. package/dist/ui/components/BadgeVersion/BadgeVersion.d.mts.map +1 -0
  68. package/dist/ui/components/BadgeVersion/BadgeVersion.mjs +66 -0
  69. package/dist/ui/components/BadgeVersion/BadgeVersion.mjs.map +1 -0
  70. package/dist/ui/components/BadgeVersion/index.d.mts +2 -0
  71. package/dist/ui/components/BadgeVersion/index.mjs +2 -0
  72. package/dist/ui/components/Button/Button.d.mts +14 -0
  73. package/dist/ui/components/Button/Button.d.mts.map +1 -0
  74. package/dist/ui/components/Button/Button.mjs +48 -0
  75. package/dist/ui/components/Button/Button.mjs.map +1 -0
  76. package/dist/ui/components/Button/index.d.mts +2 -0
  77. package/dist/ui/components/Button/index.mjs +2 -0
  78. package/dist/ui/components/Card/Card.d.mts +14 -0
  79. package/dist/ui/components/Card/Card.d.mts.map +1 -0
  80. package/dist/ui/components/Card/Card.mjs +40 -0
  81. package/dist/ui/components/Card/Card.mjs.map +1 -0
  82. package/dist/ui/components/Card/index.d.mts +2 -0
  83. package/dist/ui/components/Card/index.mjs +2 -0
  84. package/dist/ui/components/Carousel/Carousel.d.mts +42 -0
  85. package/dist/ui/components/Carousel/Carousel.d.mts.map +1 -0
  86. package/dist/ui/components/Carousel/Carousel.mjs +164 -0
  87. package/dist/ui/components/Carousel/Carousel.mjs.map +1 -0
  88. package/dist/ui/components/Carousel/index.d.mts +2 -0
  89. package/dist/ui/components/Carousel/index.mjs +2 -0
  90. package/dist/ui/components/Checkbox/Checkbox.d.mts +8 -0
  91. package/dist/ui/components/Checkbox/Checkbox.d.mts.map +1 -0
  92. package/dist/ui/components/Checkbox/Checkbox.mjs +39 -0
  93. package/dist/ui/components/Checkbox/Checkbox.mjs.map +1 -0
  94. package/dist/ui/components/Checkbox/index.d.mts +2 -0
  95. package/dist/ui/components/Checkbox/index.mjs +2 -0
  96. package/dist/ui/components/CodeBlock/CodeBlock.d.mts +22 -0
  97. package/dist/ui/components/CodeBlock/CodeBlock.d.mts.map +1 -0
  98. package/dist/ui/components/CodeBlock/CodeBlock.mjs +66 -0
  99. package/dist/ui/components/CodeBlock/CodeBlock.mjs.map +1 -0
  100. package/dist/ui/components/CodeBlock/index.d.mts +2 -0
  101. package/dist/ui/components/CodeBlock/index.mjs +2 -0
  102. package/dist/ui/components/CodeBlockTabs/CodeBlockTabs.d.mts +19 -0
  103. package/dist/ui/components/CodeBlockTabs/CodeBlockTabs.d.mts.map +1 -0
  104. package/dist/ui/components/CodeBlockTabs/CodeBlockTabs.mjs +59 -0
  105. package/dist/ui/components/CodeBlockTabs/CodeBlockTabs.mjs.map +1 -0
  106. package/dist/ui/components/CodeBlockTabs/index.d.mts +2 -0
  107. package/dist/ui/components/CodeBlockTabs/index.mjs +2 -0
  108. package/dist/ui/components/CollapsibleSection/CollapsibleSection.d.mts +13 -0
  109. package/dist/ui/components/CollapsibleSection/CollapsibleSection.d.mts.map +1 -0
  110. package/dist/ui/components/CollapsibleSection/CollapsibleSection.mjs +55 -0
  111. package/dist/ui/components/CollapsibleSection/CollapsibleSection.mjs.map +1 -0
  112. package/dist/ui/components/CollapsibleSection/index.d.mts +2 -0
  113. package/dist/ui/components/CollapsibleSection/index.mjs +2 -0
  114. package/dist/ui/components/CopyButton/CopyButton.d.mts +12 -0
  115. package/dist/ui/components/CopyButton/CopyButton.d.mts.map +1 -0
  116. package/dist/ui/components/CopyButton/CopyButton.mjs +45 -0
  117. package/dist/ui/components/CopyButton/CopyButton.mjs.map +1 -0
  118. package/dist/ui/components/CopyButton/index.d.mts +2 -0
  119. package/dist/ui/components/CopyButton/index.mjs +2 -0
  120. package/dist/ui/components/Dialog/Dialog.d.mts +26 -0
  121. package/dist/ui/components/Dialog/Dialog.d.mts.map +1 -0
  122. package/dist/ui/components/Dialog/Dialog.mjs +79 -0
  123. package/dist/ui/components/Dialog/Dialog.mjs.map +1 -0
  124. package/dist/ui/components/Dialog/index.d.mts +2 -0
  125. package/dist/ui/components/Dialog/index.mjs +2 -0
  126. package/dist/ui/components/EmptyState/EmptyState.d.mts +18 -0
  127. package/dist/ui/components/EmptyState/EmptyState.d.mts.map +1 -0
  128. package/dist/ui/components/EmptyState/EmptyState.mjs +36 -0
  129. package/dist/ui/components/EmptyState/EmptyState.mjs.map +1 -0
  130. package/dist/ui/components/EmptyState/index.d.mts +2 -0
  131. package/dist/ui/components/EmptyState/index.mjs +2 -0
  132. package/dist/ui/components/FieldError/FieldError.d.mts +14 -0
  133. package/dist/ui/components/FieldError/FieldError.d.mts.map +1 -0
  134. package/dist/ui/components/FieldError/FieldError.mjs +19 -0
  135. package/dist/ui/components/FieldError/FieldError.mjs.map +1 -0
  136. package/dist/ui/components/FieldError/index.d.mts +2 -0
  137. package/dist/ui/components/FieldError/index.mjs +2 -0
  138. package/dist/ui/components/FormattedDate/FormattedDate.d.mts +15 -0
  139. package/dist/ui/components/FormattedDate/FormattedDate.d.mts.map +1 -0
  140. package/dist/ui/components/FormattedDate/FormattedDate.mjs +23 -0
  141. package/dist/ui/components/FormattedDate/FormattedDate.mjs.map +1 -0
  142. package/dist/ui/components/FormattedDate/index.d.mts +2 -0
  143. package/dist/ui/components/FormattedDate/index.mjs +2 -0
  144. package/dist/ui/components/IconButton/IconButton.d.mts +10 -0
  145. package/dist/ui/components/IconButton/IconButton.d.mts.map +1 -0
  146. package/dist/ui/components/IconButton/IconButton.mjs +19 -0
  147. package/dist/ui/components/IconButton/IconButton.mjs.map +1 -0
  148. package/dist/ui/components/IconButton/index.d.mts +2 -0
  149. package/dist/ui/components/IconButton/index.mjs +2 -0
  150. package/dist/ui/components/Input/Input.d.mts +12 -0
  151. package/dist/ui/components/Input/Input.d.mts.map +1 -0
  152. package/dist/ui/components/Input/Input.mjs +43 -0
  153. package/dist/ui/components/Input/Input.mjs.map +1 -0
  154. package/dist/ui/components/Input/index.d.mts +2 -0
  155. package/dist/ui/components/Input/index.mjs +2 -0
  156. package/dist/ui/components/Label/Label.d.mts +11 -0
  157. package/dist/ui/components/Label/Label.d.mts.map +1 -0
  158. package/dist/ui/components/Label/Label.mjs +18 -0
  159. package/dist/ui/components/Label/Label.mjs.map +1 -0
  160. package/dist/ui/components/Label/index.d.mts +2 -0
  161. package/dist/ui/components/Label/index.mjs +2 -0
  162. package/dist/ui/components/LazyVideo/LazyVideo.d.mts +23 -0
  163. package/dist/ui/components/LazyVideo/LazyVideo.d.mts.map +1 -0
  164. package/dist/ui/components/LazyVideo/LazyVideo.mjs +57 -0
  165. package/dist/ui/components/LazyVideo/LazyVideo.mjs.map +1 -0
  166. package/dist/ui/components/LazyVideo/index.d.mts +2 -0
  167. package/dist/ui/components/LazyVideo/index.mjs +2 -0
  168. package/dist/ui/components/Pagination/Pagination.d.mts +38 -0
  169. package/dist/ui/components/Pagination/Pagination.d.mts.map +1 -0
  170. package/dist/ui/components/Pagination/Pagination.mjs +110 -0
  171. package/dist/ui/components/Pagination/Pagination.mjs.map +1 -0
  172. package/dist/ui/components/Pagination/index.d.mts +2 -0
  173. package/dist/ui/components/Pagination/index.mjs +2 -0
  174. package/dist/ui/components/PaginationItem/PaginationItem.d.mts +15 -0
  175. package/dist/ui/components/PaginationItem/PaginationItem.d.mts.map +1 -0
  176. package/dist/ui/components/PaginationItem/PaginationItem.mjs +34 -0
  177. package/dist/ui/components/PaginationItem/PaginationItem.mjs.map +1 -0
  178. package/dist/ui/components/PaginationItem/index.d.mts +2 -0
  179. package/dist/ui/components/PaginationItem/index.mjs +2 -0
  180. package/dist/ui/components/PasswordInput/PasswordInput.d.mts +10 -0
  181. package/dist/ui/components/PasswordInput/PasswordInput.d.mts.map +1 -0
  182. package/dist/ui/components/PasswordInput/PasswordInput.mjs +39 -0
  183. package/dist/ui/components/PasswordInput/PasswordInput.mjs.map +1 -0
  184. package/dist/ui/components/PasswordInput/index.d.mts +2 -0
  185. package/dist/ui/components/PasswordInput/index.mjs +2 -0
  186. package/dist/ui/components/ProgressStepper/ProgressStepper.d.mts +20 -0
  187. package/dist/ui/components/ProgressStepper/ProgressStepper.d.mts.map +1 -0
  188. package/dist/ui/components/ProgressStepper/ProgressStepper.mjs +39 -0
  189. package/dist/ui/components/ProgressStepper/ProgressStepper.mjs.map +1 -0
  190. package/dist/ui/components/ProgressStepper/index.d.mts +2 -0
  191. package/dist/ui/components/ProgressStepper/index.mjs +2 -0
  192. package/dist/ui/components/Prose/Prose.d.mts +10 -0
  193. package/dist/ui/components/Prose/Prose.d.mts.map +1 -0
  194. package/dist/ui/components/Prose/Prose.mjs +19 -0
  195. package/dist/ui/components/Prose/Prose.mjs.map +1 -0
  196. package/dist/ui/components/Prose/index.d.mts +2 -0
  197. package/dist/ui/components/Prose/index.mjs +2 -0
  198. package/dist/ui/components/Radio/Radio.d.mts +8 -0
  199. package/dist/ui/components/Radio/Radio.d.mts.map +1 -0
  200. package/dist/ui/components/Radio/Radio.mjs +25 -0
  201. package/dist/ui/components/Radio/Radio.mjs.map +1 -0
  202. package/dist/ui/components/Radio/index.d.mts +2 -0
  203. package/dist/ui/components/Radio/index.mjs +2 -0
  204. package/dist/ui/components/Reveal/Reveal.d.mts +10 -0
  205. package/dist/ui/components/Reveal/Reveal.d.mts.map +1 -0
  206. package/dist/ui/components/Reveal/Reveal.mjs +18 -0
  207. package/dist/ui/components/Reveal/Reveal.mjs.map +1 -0
  208. package/dist/ui/components/Reveal/index.d.mts +2 -0
  209. package/dist/ui/components/Reveal/index.mjs +2 -0
  210. package/dist/ui/components/SearchInput/SearchInput.d.mts +15 -0
  211. package/dist/ui/components/SearchInput/SearchInput.d.mts.map +1 -0
  212. package/dist/ui/components/SearchInput/SearchInput.mjs +28 -0
  213. package/dist/ui/components/SearchInput/SearchInput.mjs.map +1 -0
  214. package/dist/ui/components/SearchInput/index.d.mts +2 -0
  215. package/dist/ui/components/SearchInput/index.mjs +2 -0
  216. package/dist/ui/components/Select/Select.d.mts +34 -0
  217. package/dist/ui/components/Select/Select.d.mts.map +1 -0
  218. package/dist/ui/components/Select/Select.mjs +167 -0
  219. package/dist/ui/components/Select/Select.mjs.map +1 -0
  220. package/dist/ui/components/Select/index.d.mts +2 -0
  221. package/dist/ui/components/Select/index.mjs +2 -0
  222. package/dist/ui/components/Sheet/Sheet.d.mts +19 -0
  223. package/dist/ui/components/Sheet/Sheet.d.mts.map +1 -0
  224. package/dist/ui/components/Sheet/Sheet.mjs +59 -0
  225. package/dist/ui/components/Sheet/Sheet.mjs.map +1 -0
  226. package/dist/ui/components/Sheet/index.d.mts +2 -0
  227. package/dist/ui/components/Sheet/index.mjs +2 -0
  228. package/dist/ui/components/StaggerReveal/StaggerReveal.d.mts +10 -0
  229. package/dist/ui/components/StaggerReveal/StaggerReveal.d.mts.map +1 -0
  230. package/dist/ui/components/StaggerReveal/StaggerReveal.mjs +31 -0
  231. package/dist/ui/components/StaggerReveal/StaggerReveal.mjs.map +1 -0
  232. package/dist/ui/components/StaggerReveal/index.d.mts +2 -0
  233. package/dist/ui/components/StaggerReveal/index.mjs +2 -0
  234. package/dist/ui/components/Stepper/Stepper.d.mts +15 -0
  235. package/dist/ui/components/Stepper/Stepper.d.mts.map +1 -0
  236. package/dist/ui/components/Stepper/Stepper.mjs +38 -0
  237. package/dist/ui/components/Stepper/Stepper.mjs.map +1 -0
  238. package/dist/ui/components/Stepper/index.d.mts +2 -0
  239. package/dist/ui/components/Stepper/index.mjs +2 -0
  240. package/dist/ui/components/Switch/Switch.d.mts +12 -0
  241. package/dist/ui/components/Switch/Switch.d.mts.map +1 -0
  242. package/dist/ui/components/Switch/Switch.mjs +34 -0
  243. package/dist/ui/components/Switch/Switch.mjs.map +1 -0
  244. package/dist/ui/components/Switch/index.d.mts +2 -0
  245. package/dist/ui/components/Switch/index.mjs +2 -0
  246. package/dist/ui/components/TextButton/TextButton.d.mts +9 -0
  247. package/dist/ui/components/TextButton/TextButton.d.mts.map +1 -0
  248. package/dist/ui/components/TextButton/TextButton.mjs +16 -0
  249. package/dist/ui/components/TextButton/TextButton.mjs.map +1 -0
  250. package/dist/ui/components/TextButton/index.d.mts +2 -0
  251. package/dist/ui/components/TextButton/index.mjs +2 -0
  252. package/dist/ui/components/Textarea/Textarea.d.mts +9 -0
  253. package/dist/ui/components/Textarea/Textarea.d.mts.map +1 -0
  254. package/dist/ui/components/Textarea/Textarea.mjs +27 -0
  255. package/dist/ui/components/Textarea/Textarea.mjs.map +1 -0
  256. package/dist/ui/components/Textarea/index.d.mts +2 -0
  257. package/dist/ui/components/Textarea/index.mjs +2 -0
  258. package/dist/ui/components/Toast/Toast.d.mts +20 -0
  259. package/dist/ui/components/Toast/Toast.d.mts.map +1 -0
  260. package/dist/ui/components/Toast/Toast.mjs +128 -0
  261. package/dist/ui/components/Toast/Toast.mjs.map +1 -0
  262. package/dist/ui/components/Toast/index.d.mts +2 -0
  263. package/dist/ui/components/Toast/index.mjs +2 -0
  264. package/dist/ui/components/Tooltip/Tooltip.d.mts +11 -0
  265. package/dist/ui/components/Tooltip/Tooltip.d.mts.map +1 -0
  266. package/dist/ui/components/Tooltip/Tooltip.mjs +20 -0
  267. package/dist/ui/components/Tooltip/Tooltip.mjs.map +1 -0
  268. package/dist/ui/components/Tooltip/index.d.mts +2 -0
  269. package/dist/ui/components/Tooltip/index.mjs +2 -0
  270. package/dist/ui/components/VisuallyHidden/VisuallyHidden.d.mts +7 -0
  271. package/dist/ui/components/VisuallyHidden/VisuallyHidden.d.mts.map +1 -0
  272. package/dist/ui/components/VisuallyHidden/VisuallyHidden.mjs +13 -0
  273. package/dist/ui/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -0
  274. package/dist/ui/components/VisuallyHidden/index.d.mts +2 -0
  275. package/dist/ui/components/VisuallyHidden/index.mjs +2 -0
  276. package/dist/ui/hooks/index.d.mts +2 -0
  277. package/dist/ui/hooks/index.mjs +2 -0
  278. package/dist/ui/hooks/useInView.d.mts +13 -0
  279. package/dist/ui/hooks/useInView.d.mts.map +1 -0
  280. package/dist/ui/hooks/useInView.mjs +37 -0
  281. package/dist/ui/hooks/useInView.mjs.map +1 -0
  282. package/dist/ui/index.d.mts +81 -0
  283. package/dist/ui/index.mjs +40 -0
  284. package/dist/ui/theme/preset.d.mts +170 -0
  285. package/dist/ui/theme/preset.d.mts.map +1 -0
  286. package/dist/ui/theme/preset.mjs +143 -0
  287. package/dist/ui/theme/preset.mjs.map +1 -0
  288. package/dist/ui/utils/cn.d.mts +6 -0
  289. package/dist/ui/utils/cn.d.mts.map +1 -0
  290. package/dist/ui/utils/cn.mjs +42 -0
  291. package/dist/ui/utils/cn.mjs.map +1 -0
  292. package/dist/ui/utils/index.d.mts +2 -0
  293. package/dist/ui/utils/index.mjs +2 -0
  294. package/dist/utils/index.d.mts +1 -1
  295. package/dist/utils/index.mjs +2 -2
  296. package/dist/{utils-CVVQQltg.mjs → utils.mjs} +1 -1
  297. package/dist/utils.mjs.map +1 -0
  298. package/package.json +76 -7
  299. package/src/ui/theme/preset.css +53 -0
  300. package/src/ui/theme/preset.ts +131 -0
  301. package/src/ui/theme/theme.css +12 -0
  302. package/src/ui/theme/tokens.css +57 -0
  303. package/dist/cms-5bS91IRZ.mjs.map +0 -1
  304. package/dist/i18n-Dy3VrbBw.mjs.map +0 -1
  305. package/dist/index-9B8SfwdR.d.mts +0 -214
  306. package/dist/index-9B8SfwdR.d.mts.map +0 -1
  307. package/dist/index-D36IEwUg.d.mts.map +0 -1
  308. package/dist/index-Dyi7DDoO.d.mts.map +0 -1
  309. package/dist/index-tTs9h9BS.d.mts.map +0 -1
  310. package/dist/logger-BPURnavq.mjs.map +0 -1
  311. package/dist/readMediaBuffer-1C3QTpkO.d.mts.map +0 -1
  312. package/dist/readMediaBuffer-DWkTbYVn.mjs.map +0 -1
  313. package/dist/seo-e5XjgQ7l.mjs.map +0 -1
  314. package/dist/utils-CVVQQltg.mjs.map +0 -1
@@ -0,0 +1,2 @@
1
+ import { Select, SelectOption, SelectProps } from "./Select.mjs";
2
+ export { Select, type SelectOption, type SelectProps };
@@ -0,0 +1,2 @@
1
+ import { Select } from "./Select.mjs";
2
+ export { Select };
@@ -0,0 +1,19 @@
1
+ import { ComponentProps, ReactNode } from "react";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ //#region src/ui/components/Sheet/Sheet.d.ts
4
+ declare const Sheet: import("react").FC<DialogPrimitive.DialogProps>;
5
+ declare const SheetTrigger: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
6
+ declare const SheetClose: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ declare const SheetPortal: import("react").FC<DialogPrimitive.DialogPortalProps>;
8
+ type SheetOverlayProps = ComponentProps<typeof DialogPrimitive.Overlay>;
9
+ declare function SheetOverlay({ className, ...props }: SheetOverlayProps): import("react").JSX.Element;
10
+ type SheetContentProps = ComponentProps<typeof DialogPrimitive.Content> & {
11
+ side?: 'left' | 'right';
12
+ closeLabel?: string;
13
+ title?: string;
14
+ children?: ReactNode;
15
+ };
16
+ declare function SheetContent({ side, className, children, closeLabel, title, ...props }: SheetContentProps): import("react").JSX.Element;
17
+ //#endregion
18
+ export { Sheet, SheetClose, SheetContent, SheetContentProps, SheetOverlay, SheetOverlayProps, SheetPortal, SheetTrigger };
19
+ //# sourceMappingURL=Sheet.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.d.mts","names":[],"sources":["../../../../src/ui/components/Sheet/Sheet.tsx"],"mappings":";;;cASM,uBAAK,GAAA,gBAAA;cACL,8BAAY,0BAAA,gBAAA,qCAAA,cAAA;cACZ,4BAAU,0BAAA,gBAAA,mCAAA,cAAA;cACV,6BAAW,GAAA,gBAAA;KAOL,oBAAoB,sBAAsB,gBAAgB;iBAE7D,eAAe,cAAc,SAAS,oCAAiB,IAAA;KAiBpD,oBAAoB,sBAAsB,gBAAgB;EACpE;EACA;EACA;EACA,WAAW;;iBAGJ,eACP,MACA,WACA,UACA,YACA,UACG,SACF,oCAAiB,IAAA"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.mjs";
3
+ import { IconButton } from "../IconButton/IconButton.mjs";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
6
+ //#region src/ui/components/Sheet/Sheet.tsx
7
+ const Sheet = DialogPrimitive.Root;
8
+ const SheetTrigger = DialogPrimitive.Trigger;
9
+ const SheetClose = DialogPrimitive.Close;
10
+ const SheetPortal = DialogPrimitive.Portal;
11
+ const sheetOverlayClasses = cn("fixed inset-0 z-50 bg-background/75 backdrop-blur-sm", "data-[state=closed]:pointer-events-none");
12
+ function SheetOverlay({ className, ...props }) {
13
+ return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
14
+ className: cn(sheetOverlayClasses, className),
15
+ ...props
16
+ });
17
+ }
18
+ function CloseIcon() {
19
+ return /* @__PURE__ */ jsx("svg", {
20
+ "aria-hidden": "true",
21
+ viewBox: "0 0 20 20",
22
+ width: "20",
23
+ height: "20",
24
+ fill: "none",
25
+ children: /* @__PURE__ */ jsx("path", {
26
+ d: "M5 5l10 10M15 5L5 15",
27
+ stroke: "currentColor",
28
+ strokeWidth: "1.5",
29
+ strokeLinecap: "round"
30
+ })
31
+ });
32
+ }
33
+ function SheetContent({ side = "left", className, children, closeLabel, title, ...props }) {
34
+ return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
35
+ "data-side": side,
36
+ className: cn("fixed z-50 flex h-full flex-col bg-background shadow-xl", side === "left" && "inset-y-0 left-0 w-[min(100vw,280px)] border-r border-border", side === "right" && "inset-y-0 right-0 w-[min(100vw,280px)] border-l border-border", className),
37
+ ...props,
38
+ children: [
39
+ title ? /* @__PURE__ */ jsx(DialogPrimitive.Title, {
40
+ className: "sr-only",
41
+ children: title
42
+ }) : null,
43
+ children,
44
+ closeLabel ? /* @__PURE__ */ jsx(SheetClose, {
45
+ asChild: true,
46
+ children: /* @__PURE__ */ jsx(IconButton, {
47
+ type: "button",
48
+ className: "absolute top-3 right-3 lg:hidden",
49
+ "aria-label": closeLabel,
50
+ children: /* @__PURE__ */ jsx(CloseIcon, {})
51
+ })
52
+ }) : null
53
+ ]
54
+ })] });
55
+ }
56
+ //#endregion
57
+ export { Sheet, SheetClose, SheetContent, SheetOverlay, SheetPortal, SheetTrigger };
58
+
59
+ //# sourceMappingURL=Sheet.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.mjs","names":[],"sources":["../../../../src/ui/components/Sheet/Sheet.tsx"],"sourcesContent":["'use client'\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\n\nimport { IconButton } from '../IconButton/IconButton.js'\nimport { cn } from '../../utils/cn.js'\n\nimport type { ComponentProps, ReactNode } from 'react'\n\nconst Sheet = DialogPrimitive.Root\nconst SheetTrigger = DialogPrimitive.Trigger\nconst SheetClose = DialogPrimitive.Close\nconst SheetPortal = DialogPrimitive.Portal\n\nconst sheetOverlayClasses = cn(\n 'fixed inset-0 z-50 bg-background/75 backdrop-blur-sm',\n 'data-[state=closed]:pointer-events-none'\n)\n\nexport type SheetOverlayProps = ComponentProps<typeof DialogPrimitive.Overlay>\n\nfunction SheetOverlay({ className, ...props }: SheetOverlayProps) {\n return <DialogPrimitive.Overlay className={cn(sheetOverlayClasses, className)} {...props} />\n}\n\nfunction CloseIcon() {\n return (\n <svg aria-hidden=\"true\" viewBox=\"0 0 20 20\" width=\"20\" height=\"20\" fill=\"none\">\n <path\n d=\"M5 5l10 10M15 5L5 15\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport type SheetContentProps = ComponentProps<typeof DialogPrimitive.Content> & {\n side?: 'left' | 'right'\n closeLabel?: string\n title?: string\n children?: ReactNode\n}\n\nfunction SheetContent({\n side = 'left',\n className,\n children,\n closeLabel,\n title,\n ...props\n}: SheetContentProps) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <DialogPrimitive.Content\n data-side={side}\n className={cn(\n 'fixed z-50 flex h-full flex-col bg-background shadow-xl',\n side === 'left' && 'inset-y-0 left-0 w-[min(100vw,280px)] border-r border-border',\n side === 'right' && 'inset-y-0 right-0 w-[min(100vw,280px)] border-l border-border',\n className\n )}\n {...props}\n >\n {title ? <DialogPrimitive.Title className=\"sr-only\">{title}</DialogPrimitive.Title> : null}\n {children}\n {closeLabel ? (\n <SheetClose asChild>\n <IconButton\n type=\"button\"\n className=\"absolute top-3 right-3 lg:hidden\"\n aria-label={closeLabel}\n >\n <CloseIcon />\n </IconButton>\n </SheetClose>\n ) : null}\n </DialogPrimitive.Content>\n </SheetPortal>\n )\n}\n\nexport { Sheet, SheetTrigger, SheetClose, SheetPortal, SheetOverlay, SheetContent }\n"],"mappings":";;;;;;AASA,MAAM,QAAQ,gBAAgB;AAC9B,MAAM,eAAe,gBAAgB;AACrC,MAAM,aAAa,gBAAgB;AACnC,MAAM,cAAc,gBAAgB;AAEpC,MAAM,sBAAsB,GAC1B,wDACA,yCACF;AAIA,SAAS,aAAa,EAAE,WAAW,GAAG,SAA4B;CAChE,OAAO,oBAAC,gBAAgB,SAAjB;EAAyB,WAAW,GAAG,qBAAqB,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC7F;AAEA,SAAS,YAAY;CACnB,OACE,oBAAC,OAAD;EAAK,eAAY;EAAO,SAAQ;EAAY,OAAM;EAAK,QAAO;EAAK,MAAK;EACtE,UAAA,oBAAC,QAAD;GACE,GAAE;GACF,QAAO;GACP,aAAY;GACZ,eAAc;EACf,CAAA;CACE,CAAA;AAET;AASA,SAAS,aAAa,EACpB,OAAO,QACP,WACA,UACA,YACA,OACA,GAAG,SACiB;CACpB,OACE,qBAAC,aAAD,EAAA,UAAA,CACE,oBAAC,cAAD,CAAe,CAAA,GACf,qBAAC,gBAAgB,SAAjB;EACE,aAAW;EACX,WAAW,GACT,2DACA,SAAS,UAAU,gEACnB,SAAS,WAAW,iEACpB,SACF;EACA,GAAI;EARN,UAAA;GAUG,QAAQ,oBAAC,gBAAgB,OAAjB;IAAuB,WAAU;IAAW,UAAA;GAA6B,CAAA,IAAI;GACrF;GACA,aACC,oBAAC,YAAD;IAAY,SAAA;IACV,UAAA,oBAAC,YAAD;KACE,MAAK;KACL,WAAU;KACV,cAAY;KAEZ,UAAA,oBAAC,WAAD,CAAY,CAAA;IACF,CAAA;GACF,CAAA,IACV;EACmB;CACd,CAAA,CAAA,EAAA,CAAA;AAEjB"}
@@ -0,0 +1,2 @@
1
+ import { Sheet, SheetClose, SheetContent, SheetContentProps, SheetOverlay, SheetOverlayProps, SheetPortal, SheetTrigger } from "./Sheet.mjs";
2
+ export { Sheet, SheetClose, SheetContent, type SheetContentProps, SheetOverlay, type SheetOverlayProps, SheetPortal, SheetTrigger };
@@ -0,0 +1,2 @@
1
+ import { Sheet, SheetClose, SheetContent, SheetOverlay, SheetPortal, SheetTrigger } from "./Sheet.mjs";
2
+ export { Sheet, SheetClose, SheetContent, SheetOverlay, SheetPortal, SheetTrigger };
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/ui/components/StaggerReveal/StaggerReveal.d.ts
3
+ type StaggerRevealProps = {
4
+ className?: string;
5
+ children: ReactNode;
6
+ };
7
+ declare function StaggerReveal({ className, children }: StaggerRevealProps): import("react").JSX.Element;
8
+ //#endregion
9
+ export { StaggerReveal, StaggerRevealProps };
10
+ //# sourceMappingURL=StaggerReveal.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaggerReveal.d.mts","names":[],"sources":["../../../../src/ui/components/StaggerReveal/StaggerReveal.tsx"],"mappings":";;KASY;EACV;EACA,UAAU;;iBAcH,gBAAgB,WAAW,YAAY,qCAAkB,IAAA"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.mjs";
3
+ import { useInView } from "../../hooks/useInView.mjs";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Children } from "react";
6
+ //#region src/ui/components/StaggerReveal/StaggerReveal.tsx
7
+ const STAGGER_DELAYS = [
8
+ "delay-[0ms]",
9
+ "delay-[100ms]",
10
+ "delay-[200ms]",
11
+ "delay-[300ms]",
12
+ "delay-[400ms]",
13
+ "delay-[500ms]",
14
+ "delay-[600ms]",
15
+ "delay-[700ms]"
16
+ ];
17
+ function StaggerReveal({ className, children }) {
18
+ const { ref, inView } = useInView();
19
+ return /* @__PURE__ */ jsx("div", {
20
+ ref,
21
+ className,
22
+ children: Children.map(children, (child, index) => /* @__PURE__ */ jsx("div", {
23
+ className: cn("h-full transition-all duration-[550ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none", STAGGER_DELAYS[Math.min(index, STAGGER_DELAYS.length - 1)], inView ? "translate-y-0 opacity-100" : "translate-y-6 opacity-0 motion-reduce:translate-y-0 motion-reduce:opacity-100"),
24
+ children: child
25
+ }))
26
+ });
27
+ }
28
+ //#endregion
29
+ export { StaggerReveal };
30
+
31
+ //# sourceMappingURL=StaggerReveal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaggerReveal.mjs","names":[],"sources":["../../../../src/ui/components/StaggerReveal/StaggerReveal.tsx"],"sourcesContent":["'use client'\n\nimport { Children } from 'react'\n\nimport { useInView } from '../../hooks/useInView.js'\nimport { cn } from '../../utils/cn.js'\n\nimport type { ReactNode } from 'react'\n\nexport type StaggerRevealProps = {\n className?: string\n children: ReactNode\n}\n\nconst STAGGER_DELAYS = [\n 'delay-[0ms]',\n 'delay-[100ms]',\n 'delay-[200ms]',\n 'delay-[300ms]',\n 'delay-[400ms]',\n 'delay-[500ms]',\n 'delay-[600ms]',\n 'delay-[700ms]',\n]\n\nfunction StaggerReveal({ className, children }: StaggerRevealProps) {\n const { ref, inView } = useInView<HTMLDivElement>()\n\n return (\n <div ref={ref} className={className}>\n {Children.map(children, (child, index) => (\n <div\n className={cn(\n 'h-full transition-all duration-[550ms] ease-[cubic-bezier(0.16,1,0.3,1)] motion-reduce:transition-none',\n STAGGER_DELAYS[Math.min(index, STAGGER_DELAYS.length - 1)],\n inView\n ? 'translate-y-0 opacity-100'\n : 'translate-y-6 opacity-0 motion-reduce:translate-y-0 motion-reduce:opacity-100'\n )}\n >\n {child}\n </div>\n ))}\n </div>\n )\n}\n\nexport { StaggerReveal }\n"],"mappings":";;;;;;AAcA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAS,cAAc,EAAE,WAAW,YAAgC;CAClE,MAAM,EAAE,KAAK,WAAW,UAA0B;CAElD,OACE,oBAAC,OAAD;EAAU;EAAgB;EACvB,UAAA,SAAS,IAAI,WAAW,OAAO,UAC9B,oBAAC,OAAD;GACE,WAAW,GACT,0GACA,eAAe,KAAK,IAAI,OAAO,eAAe,SAAS,CAAC,IACxD,SACI,8BACA,+EACN;GAEC,UAAA;EACE,CAAA,CACN;CACE,CAAA;AAET"}
@@ -0,0 +1,2 @@
1
+ import { StaggerReveal, StaggerRevealProps } from "./StaggerReveal.mjs";
2
+ export { StaggerReveal, type StaggerRevealProps };
@@ -0,0 +1,2 @@
1
+ import { StaggerReveal } from "./StaggerReveal.mjs";
2
+ export { StaggerReveal };
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/ui/components/Stepper/Stepper.d.ts
3
+ type StepperItem = {
4
+ id: string;
5
+ title: string;
6
+ description?: ReactNode;
7
+ };
8
+ type StepperProps = {
9
+ items: StepperItem[];
10
+ className?: string;
11
+ };
12
+ declare function Stepper({ items, className }: StepperProps): import("react").JSX.Element;
13
+ //#endregion
14
+ export { Stepper, StepperItem, StepperProps };
15
+ //# sourceMappingURL=Stepper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.d.mts","names":[],"sources":["../../../../src/ui/components/Stepper/Stepper.tsx"],"mappings":";;KAIY;EACV;EACA;EACA,cAAc;;KAGJ;EACV,OAAO;EACP;;iBAGO,UAAU,OAAO,aAAa,+BAAY,IAAA"}
@@ -0,0 +1,38 @@
1
+ import { cn } from "../../utils/cn.mjs";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/ui/components/Stepper/Stepper.tsx
4
+ function Stepper({ items, className }) {
5
+ return /* @__PURE__ */ jsx("ol", {
6
+ className: cn("relative flex flex-col gap-8 pl-0", className),
7
+ children: items.map((item, idx) => /* @__PURE__ */ jsxs("li", {
8
+ className: "relative flex items-start gap-2.5",
9
+ children: [
10
+ idx < items.length - 1 ? /* @__PURE__ */ jsx("span", {
11
+ "aria-hidden": true,
12
+ className: "absolute top-8 bottom-[-32px] left-[17px] w-px bg-border"
13
+ }) : null,
14
+ /* @__PURE__ */ jsx("span", {
15
+ className: "relative z-10 flex size-[34px] shrink-0 items-center justify-center rounded-full bg-accent text-sm font-normal text-accent-foreground",
16
+ children: String(idx + 1).padStart(2, "0")
17
+ }),
18
+ /* @__PURE__ */ jsxs("div", {
19
+ className: "flex-1 pt-1",
20
+ children: [/* @__PURE__ */ jsx("p", {
21
+ className: "mb-3 text-base font-bold text-foreground",
22
+ children: item.title
23
+ }), item.description ? typeof item.description === "string" ? /* @__PURE__ */ jsx("div", {
24
+ className: "prose text-base text-secondary",
25
+ dangerouslySetInnerHTML: { __html: item.description }
26
+ }) : /* @__PURE__ */ jsx("div", {
27
+ className: "text-base text-secondary",
28
+ children: item.description
29
+ }) : null]
30
+ })
31
+ ]
32
+ }, item.id))
33
+ });
34
+ }
35
+ //#endregion
36
+ export { Stepper };
37
+
38
+ //# sourceMappingURL=Stepper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.mjs","names":[],"sources":["../../../../src/ui/components/Stepper/Stepper.tsx"],"sourcesContent":["import { cn } from '../../utils/cn.js'\n\nimport type { ReactNode } from 'react'\n\nexport type StepperItem = {\n id: string\n title: string\n description?: ReactNode\n}\n\nexport type StepperProps = {\n items: StepperItem[]\n className?: string\n}\n\nfunction Stepper({ items, className }: StepperProps) {\n return (\n <ol className={cn('relative flex flex-col gap-8 pl-0', className)}>\n {items.map((item, idx) => (\n <li key={item.id} className=\"relative flex items-start gap-2.5\">\n {idx < items.length - 1 ? (\n <span\n aria-hidden\n className=\"absolute top-8 bottom-[-32px] left-[17px] w-px bg-border\"\n />\n ) : null}\n <span className=\"relative z-10 flex size-[34px] shrink-0 items-center justify-center rounded-full bg-accent text-sm font-normal text-accent-foreground\">\n {String(idx + 1).padStart(2, '0')}\n </span>\n <div className=\"flex-1 pt-1\">\n <p className=\"mb-3 text-base font-bold text-foreground\">{item.title}</p>\n {item.description ? (\n typeof item.description === 'string' ? (\n <div\n className=\"prose text-base text-secondary\"\n dangerouslySetInnerHTML={{ __html: item.description }}\n />\n ) : (\n <div className=\"text-base text-secondary\">{item.description}</div>\n )\n ) : null}\n </div>\n </li>\n ))}\n </ol>\n )\n}\n\nexport { Stepper }\n"],"mappings":";;;AAeA,SAAS,QAAQ,EAAE,OAAO,aAA2B;CACnD,OACE,oBAAC,MAAD;EAAI,WAAW,GAAG,qCAAqC,SAAS;EAC7D,UAAA,MAAM,KAAK,MAAM,QAChB,qBAAC,MAAD;GAAkB,WAAU;GAA5B,UAAA;IACG,MAAM,MAAM,SAAS,IACpB,oBAAC,QAAD;KACE,eAAA;KACA,WAAU;IACX,CAAA,IACC;IACJ,oBAAC,QAAD;KAAM,WAAU;KACb,UAAA,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG;IAC5B,CAAA;IACN,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,KAAD;MAAG,WAAU;MAA4C,UAAA,KAAK;KAAS,CAAA,GACtE,KAAK,cACJ,OAAO,KAAK,gBAAgB,WAC1B,oBAAC,OAAD;MACE,WAAU;MACV,yBAAyB,EAAE,QAAQ,KAAK,YAAY;KACrD,CAAA,IAED,oBAAC,OAAD;MAAK,WAAU;MAA4B,UAAA,KAAK;KAAiB,CAAA,IAEjE,IACD;;GACH;EAvBK,GAAA,KAAK,EAuBV,CACL;CACC,CAAA;AAER"}
@@ -0,0 +1,2 @@
1
+ import { Stepper, StepperItem, StepperProps } from "./Stepper.mjs";
2
+ export { Stepper, type StepperItem, type StepperProps };
@@ -0,0 +1,2 @@
1
+ import { Stepper } from "./Stepper.mjs";
2
+ export { Stepper };
@@ -0,0 +1,12 @@
1
+ import { ComponentProps } from "react";
2
+ import { Primitive } from "@radix-ui/react-primitive";
3
+ //#region src/ui/components/Switch/Switch.d.ts
4
+ type SwitchProps = Omit<ComponentProps<typeof Primitive.button>, 'onChange'> & {
5
+ checked?: boolean;
6
+ defaultChecked?: boolean;
7
+ onCheckedChange?: (checked: boolean) => void;
8
+ };
9
+ declare function Switch({ className, checked: checkedProp, defaultChecked, onCheckedChange, disabled, ...props }: SwitchProps): import("react").JSX.Element;
10
+ //#endregion
11
+ export { Switch, SwitchProps };
12
+ //# sourceMappingURL=Switch.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.d.mts","names":[],"sources":["../../../../src/ui/components/Switch/Switch.tsx"],"mappings":";;;KASY,cAAc,KAAK,sBAAsB,UAAU;EAC7D;EACA;EACA,mBAAmB;;iBAGZ,SACP,WACA,SAAS,aACT,gBACA,iBACA,aACG,SACF,8BAAW,IAAA"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { useState } from "react";
5
+ import { Primitive } from "@radix-ui/react-primitive";
6
+ //#region src/ui/components/Switch/Switch.tsx
7
+ function Switch({ className, checked: checkedProp, defaultChecked = false, onCheckedChange, disabled, ...props }) {
8
+ const isControlled = checkedProp !== void 0;
9
+ const [uncontrolled, setUncontrolled] = useState(defaultChecked);
10
+ const checked = isControlled ? Boolean(checkedProp) : uncontrolled;
11
+ function setChecked(next) {
12
+ if (!isControlled) setUncontrolled(next);
13
+ onCheckedChange?.(next);
14
+ }
15
+ return /* @__PURE__ */ jsx(Primitive.button, {
16
+ type: "button",
17
+ role: "switch",
18
+ "data-slot": "switch",
19
+ "data-state": checked ? "checked" : "unchecked",
20
+ "aria-checked": checked,
21
+ disabled,
22
+ onClick: () => setChecked(!checked),
23
+ className: cn("inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full px-0.5", "bg-surface data-[state=checked]:bg-accent", "transition-colors duration-200", "focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none", "disabled:cursor-not-allowed disabled:opacity-50", className),
24
+ ...props,
25
+ children: /* @__PURE__ */ jsx("span", {
26
+ "data-state": checked ? "checked" : "unchecked",
27
+ className: cn("block size-5 shrink-0 rounded-full bg-foreground shadow-sm", "transition-transform duration-200 ease-in-out", "data-[state=unchecked]:translate-x-0", "data-[state=checked]:translate-x-5")
28
+ })
29
+ });
30
+ }
31
+ //#endregion
32
+ export { Switch };
33
+
34
+ //# sourceMappingURL=Switch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.mjs","names":[],"sources":["../../../../src/ui/components/Switch/Switch.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { Primitive } from '@radix-ui/react-primitive'\n\nimport { cn } from '../../utils/cn.js'\n\nimport type { ComponentProps } from 'react'\n\nexport type SwitchProps = Omit<ComponentProps<typeof Primitive.button>, 'onChange'> & {\n checked?: boolean\n defaultChecked?: boolean\n onCheckedChange?: (checked: boolean) => void\n}\n\nfunction Switch({\n className,\n checked: checkedProp,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n ...props\n}: SwitchProps) {\n const isControlled = checkedProp !== undefined\n const [uncontrolled, setUncontrolled] = useState(defaultChecked)\n const checked = isControlled ? Boolean(checkedProp) : uncontrolled\n\n function setChecked(next: boolean) {\n if (!isControlled) setUncontrolled(next)\n onCheckedChange?.(next)\n }\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"switch\"\n data-slot=\"switch\"\n data-state={checked ? 'checked' : 'unchecked'}\n aria-checked={checked}\n disabled={disabled}\n onClick={() => setChecked(!checked)}\n className={cn(\n 'inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full px-0.5',\n 'bg-surface data-[state=checked]:bg-accent',\n 'transition-colors duration-200',\n 'focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <span\n data-state={checked ? 'checked' : 'unchecked'}\n className={cn(\n 'block size-5 shrink-0 rounded-full bg-foreground shadow-sm',\n 'transition-transform duration-200 ease-in-out',\n 'data-[state=unchecked]:translate-x-0',\n 'data-[state=checked]:translate-x-5'\n )}\n />\n </Primitive.button>\n )\n}\n\nexport { Switch }\n"],"mappings":";;;;;;AAeA,SAAS,OAAO,EACd,WACA,SAAS,aACT,iBAAiB,OACjB,iBACA,UACA,GAAG,SACW;CACd,MAAM,eAAe,gBAAgB;CACrC,MAAM,CAAC,cAAc,mBAAmB,SAAS,cAAc;CAC/D,MAAM,UAAU,eAAe,QAAQ,WAAW,IAAI;CAEtD,SAAS,WAAW,MAAe;EACjC,IAAI,CAAC,cAAc,gBAAgB,IAAI;EACvC,kBAAkB,IAAI;CACxB;CAEA,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,MAAK;EACL,aAAU;EACV,cAAY,UAAU,YAAY;EAClC,gBAAc;EACJ;EACV,eAAe,WAAW,CAAC,OAAO;EAClC,WAAW,GACT,iFACA,6CACA,kCACA,8IACA,mDACA,SACF;EACA,GAAI;EAEJ,UAAA,oBAAC,QAAD;GACE,cAAY,UAAU,YAAY;GAClC,WAAW,GACT,8DACA,iDACA,wCACA,oCACF;EACD,CAAA;CACe,CAAA;AAEtB"}
@@ -0,0 +1,2 @@
1
+ import { Switch, SwitchProps } from "./Switch.mjs";
2
+ export { Switch, type SwitchProps };
@@ -0,0 +1,2 @@
1
+ import { Switch } from "./Switch.mjs";
2
+ export { Switch };
@@ -0,0 +1,9 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ //#region src/ui/components/TextButton/TextButton.d.ts
3
+ type TextButtonProps = ComponentPropsWithoutRef<'button'> & {
4
+ asChild?: boolean;
5
+ };
6
+ declare function TextButton({ className, asChild, ...props }: TextButtonProps): import("react").JSX.Element;
7
+ //#endregion
8
+ export { TextButton, TextButtonProps };
9
+ //# sourceMappingURL=TextButton.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextButton.d.mts","names":[],"sources":["../../../../src/ui/components/TextButton/TextButton.tsx"],"mappings":";;KAQY,kBAAkB;EAC5B;;iBAGO,aAAa,WAAW,YAAoB,SAAS,kCAAe,IAAA"}
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ //#region src/ui/components/TextButton/TextButton.tsx
6
+ function TextButton({ className, asChild = false, ...props }) {
7
+ return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
8
+ "data-slot": "text-button",
9
+ className: cn("inline-flex h-auto cursor-pointer items-center justify-start rounded-btn bg-transparent px-3 py-2.5 text-sm font-semibold text-foreground transition-colors hover:text-secondary", className),
10
+ ...props
11
+ });
12
+ }
13
+ //#endregion
14
+ export { TextButton };
15
+
16
+ //# sourceMappingURL=TextButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextButton.mjs","names":[],"sources":["../../../../src/ui/components/TextButton/TextButton.tsx"],"sourcesContent":["'use client'\n\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { cn } from '../../utils/cn.js'\n\nimport type { ComponentPropsWithoutRef } from 'react'\n\nexport type TextButtonProps = ComponentPropsWithoutRef<'button'> & {\n asChild?: boolean\n}\n\nfunction TextButton({ className, asChild = false, ...props }: TextButtonProps) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"text-button\"\n className={cn(\n 'inline-flex h-auto cursor-pointer items-center justify-start rounded-btn bg-transparent px-3 py-2.5 text-sm font-semibold text-foreground transition-colors hover:text-secondary',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { TextButton }\n"],"mappings":";;;;;AAYA,SAAS,WAAW,EAAE,WAAW,UAAU,OAAO,GAAG,SAA0B;CAG7E,OACE,oBAHW,UAAU,OAAO,UAG5B;EACE,aAAU;EACV,WAAW,GACT,oLACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,2 @@
1
+ import { TextButton, TextButtonProps } from "./TextButton.mjs";
2
+ export { TextButton, type TextButtonProps };
@@ -0,0 +1,2 @@
1
+ import { TextButton } from "./TextButton.mjs";
2
+ export { TextButton };
@@ -0,0 +1,9 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/ui/components/Textarea/Textarea.d.ts
3
+ type TextareaProps = Omit<ComponentProps<'textarea'>, 'children'> & {
4
+ error?: boolean | string;
5
+ };
6
+ declare function Textarea({ className, error, id, ref, ...props }: TextareaProps): import("react").JSX.Element;
7
+ //#endregion
8
+ export { Textarea, TextareaProps };
9
+ //# sourceMappingURL=Textarea.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.mts","names":[],"sources":["../../../../src/ui/components/Textarea/Textarea.tsx"],"mappings":";;KAIY,gBAAgB,KAAK;EAC/B;;iBAGO,WAAW,WAAW,OAAO,IAAI,QAAQ,SAAS,gCAAa,IAAA"}
@@ -0,0 +1,27 @@
1
+ import { cn } from "../../utils/cn.mjs";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/ui/components/Textarea/Textarea.tsx
4
+ function Textarea({ className, error, id, ref, ...props }) {
5
+ const errorId = id ? `${id}-error` : void 0;
6
+ const hasError = Boolean(error);
7
+ return /* @__PURE__ */ jsxs("div", {
8
+ className: "flex w-full flex-col gap-1",
9
+ children: [/* @__PURE__ */ jsx("textarea", {
10
+ ref,
11
+ id,
12
+ "data-slot": "textarea",
13
+ "aria-invalid": hasError || void 0,
14
+ "aria-describedby": hasError && errorId ? errorId : void 0,
15
+ className: cn("min-h-24 w-full resize-y rounded-btn border border-border-subtle bg-background px-3.5 py-3 text-sm text-foreground", "placeholder:text-muted", "transition-colors hover:border-border", "focus-visible:border-accent focus-visible:outline-none", "disabled:cursor-not-allowed disabled:opacity-50", hasError && "border-destructive focus-visible:border-destructive", className),
16
+ ...props
17
+ }), typeof error === "string" ? /* @__PURE__ */ jsx("p", {
18
+ id: errorId,
19
+ className: "text-xs text-destructive",
20
+ children: error
21
+ }) : null]
22
+ });
23
+ }
24
+ //#endregion
25
+ export { Textarea };
26
+
27
+ //# sourceMappingURL=Textarea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.mjs","names":[],"sources":["../../../../src/ui/components/Textarea/Textarea.tsx"],"sourcesContent":["import { cn } from '../../utils/cn.js'\n\nimport type { ComponentProps } from 'react'\n\nexport type TextareaProps = Omit<ComponentProps<'textarea'>, 'children'> & {\n error?: boolean | string\n}\n\nfunction Textarea({ className, error, id, ref, ...props }: TextareaProps) {\n const errorId = id ? `${id}-error` : undefined\n const hasError = Boolean(error)\n\n return (\n <div className=\"flex w-full flex-col gap-1\">\n <textarea\n ref={ref}\n id={id}\n data-slot=\"textarea\"\n aria-invalid={hasError || undefined}\n aria-describedby={hasError && errorId ? errorId : undefined}\n className={cn(\n 'min-h-24 w-full resize-y rounded-btn border border-border-subtle bg-background px-3.5 py-3 text-sm text-foreground',\n 'placeholder:text-muted',\n 'transition-colors hover:border-border',\n 'focus-visible:border-accent focus-visible:outline-none',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n hasError && 'border-destructive focus-visible:border-destructive',\n className\n )}\n {...props}\n />\n\n {typeof error === 'string' ? (\n <p id={errorId} className=\"text-xs text-destructive\">\n {error}\n </p>\n ) : null}\n </div>\n )\n}\n\nexport { Textarea }\n"],"mappings":";;;AAQA,SAAS,SAAS,EAAE,WAAW,OAAO,IAAI,KAAK,GAAG,SAAwB;CACxE,MAAM,UAAU,KAAK,GAAG,GAAG,UAAU;CACrC,MAAM,WAAW,QAAQ,KAAK;CAE9B,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,oBAAC,YAAD;GACO;GACD;GACJ,aAAU;GACV,gBAAc,YAAY;GAC1B,oBAAkB,YAAY,UAAU,UAAU;GAClD,WAAW,GACT,sHACA,0BACA,yCACA,0DACA,mDACA,YAAY,uDACZ,SACF;GACA,GAAI;EACL,CAAA,GAEA,OAAO,UAAU,WAChB,oBAAC,KAAD;GAAG,IAAI;GAAS,WAAU;GACvB,UAAA;EACA,CAAA,IACD,IACD;;AAET"}
@@ -0,0 +1,2 @@
1
+ import { Textarea, TextareaProps } from "./Textarea.mjs";
2
+ export { Textarea, type TextareaProps };
@@ -0,0 +1,2 @@
1
+ import { Textarea } from "./Textarea.mjs";
2
+ export { Textarea };
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from "react";
2
+ //#region src/ui/components/Toast/Toast.d.ts
3
+ type ToastVariant = 'success' | 'error';
4
+ type ShowToastInput = {
5
+ message: string;
6
+ variant?: ToastVariant;
7
+ };
8
+ type ToastContextValue = {
9
+ showToast: (input: ShowToastInput) => void;
10
+ };
11
+ type ToastProviderProps = {
12
+ children: ReactNode;
13
+ /** Accessible label for the dismiss control. Required — apps own i18n. */
14
+ dismissLabel: string;
15
+ };
16
+ declare function ToastProvider({ children, dismissLabel }: ToastProviderProps): import("react").JSX.Element;
17
+ declare function useToast(): ToastContextValue;
18
+ //#endregion
19
+ export { ToastProvider, ToastProviderProps, useToast };
20
+ //# sourceMappingURL=Toast.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.d.mts","names":[],"sources":["../../../../src/ui/components/Toast/Toast.tsx"],"mappings":";;KAMK;KAQA;EACH;EACA,UAAU;;KAGP;EACH,YAAY,OAAO;;KAOT;EACV,UAAU;;EAEV;;iBAsDc,gBAAgB,UAAU,gBAAgB,qCAAkB,IAAA;iBA8D5D,YAAQ"}
@@ -0,0 +1,128 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.mjs";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { createContext, useContext, useEffect, useRef, useState } from "react";
5
+ //#region src/ui/components/Toast/Toast.tsx
6
+ const ToastContext = createContext(null);
7
+ const TOAST_DURATION_MS = 4e3;
8
+ function CloseIcon() {
9
+ return /* @__PURE__ */ jsx("svg", {
10
+ "aria-hidden": "true",
11
+ viewBox: "0 0 16 16",
12
+ width: "16",
13
+ height: "16",
14
+ fill: "none",
15
+ children: /* @__PURE__ */ jsx("path", {
16
+ d: "M4 4l8 8M12 4l-8 8",
17
+ stroke: "currentColor",
18
+ strokeWidth: "1.5",
19
+ strokeLinecap: "round"
20
+ })
21
+ });
22
+ }
23
+ function StatusIcon({ variant }) {
24
+ if (variant === "success") return /* @__PURE__ */ jsxs("svg", {
25
+ "aria-hidden": "true",
26
+ viewBox: "0 0 20 20",
27
+ width: "20",
28
+ height: "20",
29
+ fill: "none",
30
+ className: "shrink-0 text-success",
31
+ children: [/* @__PURE__ */ jsx("circle", {
32
+ cx: "10",
33
+ cy: "10",
34
+ r: "8",
35
+ stroke: "currentColor",
36
+ strokeWidth: "1.5"
37
+ }), /* @__PURE__ */ jsx("path", {
38
+ d: "M6.5 10.2 9 12.5l4.5-5",
39
+ stroke: "currentColor",
40
+ strokeWidth: "1.5",
41
+ strokeLinecap: "round",
42
+ strokeLinejoin: "round"
43
+ })]
44
+ });
45
+ return /* @__PURE__ */ jsxs("svg", {
46
+ "aria-hidden": "true",
47
+ viewBox: "0 0 20 20",
48
+ width: "20",
49
+ height: "20",
50
+ fill: "none",
51
+ className: "shrink-0 text-destructive",
52
+ children: [/* @__PURE__ */ jsx("path", {
53
+ d: "M10 3.5 17.5 16.5H2.5L10 3.5Z",
54
+ stroke: "currentColor",
55
+ strokeWidth: "1.5",
56
+ strokeLinejoin: "round"
57
+ }), /* @__PURE__ */ jsx("path", {
58
+ d: "M10 8v4M10 14.5h.01",
59
+ stroke: "currentColor",
60
+ strokeWidth: "1.5",
61
+ strokeLinecap: "round"
62
+ })]
63
+ });
64
+ }
65
+ function ToastProvider({ children, dismissLabel }) {
66
+ const [toasts, setToasts] = useState([]);
67
+ const timersRef = useRef(/* @__PURE__ */ new Map());
68
+ function dismissToast(id) {
69
+ const timer = timersRef.current.get(id);
70
+ if (timer) {
71
+ clearTimeout(timer);
72
+ timersRef.current.delete(id);
73
+ }
74
+ setToasts((current) => current.filter((toast) => toast.id !== id));
75
+ }
76
+ function showToast({ message, variant = "success" }) {
77
+ const id = crypto.randomUUID();
78
+ setToasts((current) => [...current, {
79
+ id,
80
+ message,
81
+ variant
82
+ }]);
83
+ const timer = setTimeout(() => dismissToast(id), TOAST_DURATION_MS);
84
+ timersRef.current.set(id, timer);
85
+ }
86
+ useEffect(() => {
87
+ const timers = timersRef.current;
88
+ return () => {
89
+ timers.forEach((timer) => clearTimeout(timer));
90
+ timers.clear();
91
+ };
92
+ }, []);
93
+ return /* @__PURE__ */ jsxs(ToastContext.Provider, {
94
+ value: { showToast },
95
+ children: [children, /* @__PURE__ */ jsx("div", {
96
+ "aria-live": "polite",
97
+ "aria-relevant": "additions",
98
+ className: "pointer-events-none fixed inset-x-4 bottom-4 z-[100] flex flex-col gap-2 sm:inset-x-auto sm:right-4 sm:max-w-sm",
99
+ children: toasts.map((toast) => /* @__PURE__ */ jsxs("div", {
100
+ role: "status",
101
+ className: cn("pointer-events-auto flex items-center gap-3 rounded-card border border-border-subtle", "bg-card-elevated py-3.5 pr-3.5 pl-4 shadow-lg"),
102
+ children: [
103
+ /* @__PURE__ */ jsx(StatusIcon, { variant: toast.variant }),
104
+ /* @__PURE__ */ jsx("p", {
105
+ className: "min-w-0 flex-1 text-sm font-semibold text-foreground",
106
+ children: toast.message
107
+ }),
108
+ /* @__PURE__ */ jsx("button", {
109
+ type: "button",
110
+ onClick: () => dismissToast(toast.id),
111
+ className: "inline-flex shrink-0 cursor-pointer text-muted transition-colors hover:text-secondary",
112
+ "aria-label": dismissLabel,
113
+ children: /* @__PURE__ */ jsx(CloseIcon, {})
114
+ })
115
+ ]
116
+ }, toast.id))
117
+ })]
118
+ });
119
+ }
120
+ function useToast() {
121
+ const context = useContext(ToastContext);
122
+ if (!context) throw new Error("useToast must be used within ToastProvider");
123
+ return context;
124
+ }
125
+ //#endregion
126
+ export { ToastProvider, useToast };
127
+
128
+ //# sourceMappingURL=Toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.mjs","names":[],"sources":["../../../../src/ui/components/Toast/Toast.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, useContext, useEffect, useRef, useState, type ReactNode } from 'react'\n\nimport { cn } from '../../utils/cn.js'\n\ntype ToastVariant = 'success' | 'error'\n\ntype ToastItem = {\n id: string\n message: string\n variant: ToastVariant\n}\n\ntype ShowToastInput = {\n message: string\n variant?: ToastVariant\n}\n\ntype ToastContextValue = {\n showToast: (input: ShowToastInput) => void\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null)\n\nconst TOAST_DURATION_MS = 4000\n\nexport type ToastProviderProps = {\n children: ReactNode\n /** Accessible label for the dismiss control. Required — apps own i18n. */\n dismissLabel: string\n}\n\nfunction CloseIcon() {\n return (\n <svg aria-hidden=\"true\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\">\n <path d=\"M4 4l8 8M12 4l-8 8\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n )\n}\n\nfunction StatusIcon({ variant }: { variant: ToastVariant }) {\n if (variant === 'success') {\n return (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n height=\"20\"\n fill=\"none\"\n className=\"shrink-0 text-success\"\n >\n <circle cx=\"10\" cy=\"10\" r=\"8\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M6.5 10.2 9 12.5l4.5-5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n height=\"20\"\n fill=\"none\"\n className=\"shrink-0 text-destructive\"\n >\n <path\n d=\"M10 3.5 17.5 16.5H2.5L10 3.5Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <path d=\"M10 8v4M10 14.5h.01\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n )\n}\n\nexport function ToastProvider({ children, dismissLabel }: ToastProviderProps) {\n const [toasts, setToasts] = useState<ToastItem[]>([])\n const timersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map())\n\n function dismissToast(id: string) {\n const timer = timersRef.current.get(id)\n if (timer) {\n clearTimeout(timer)\n timersRef.current.delete(id)\n }\n setToasts((current) => current.filter((toast) => toast.id !== id))\n }\n\n function showToast({ message, variant = 'success' }: ShowToastInput) {\n const id = crypto.randomUUID()\n setToasts((current) => [...current, { id, message, variant }])\n const timer = setTimeout(() => dismissToast(id), TOAST_DURATION_MS)\n timersRef.current.set(id, timer)\n }\n\n useEffect(() => {\n const timers = timersRef.current\n return () => {\n timers.forEach((timer) => clearTimeout(timer))\n timers.clear()\n }\n }, [])\n\n return (\n <ToastContext.Provider value={{ showToast }}>\n {children}\n <div\n aria-live=\"polite\"\n aria-relevant=\"additions\"\n className=\"pointer-events-none fixed inset-x-4 bottom-4 z-[100] flex flex-col gap-2 sm:inset-x-auto sm:right-4 sm:max-w-sm\"\n >\n {toasts.map((toast) => (\n <div\n key={toast.id}\n role=\"status\"\n className={cn(\n 'pointer-events-auto flex items-center gap-3 rounded-card border border-border-subtle',\n 'bg-card-elevated py-3.5 pr-3.5 pl-4 shadow-lg'\n )}\n >\n <StatusIcon variant={toast.variant} />\n <p className=\"min-w-0 flex-1 text-sm font-semibold text-foreground\">{toast.message}</p>\n <button\n type=\"button\"\n onClick={() => dismissToast(toast.id)}\n className=\"inline-flex shrink-0 cursor-pointer text-muted transition-colors hover:text-secondary\"\n aria-label={dismissLabel}\n >\n <CloseIcon />\n </button>\n </div>\n ))}\n </div>\n </ToastContext.Provider>\n )\n}\n\nexport function useToast() {\n const context = useContext(ToastContext)\n if (!context) {\n throw new Error('useToast must be used within ToastProvider')\n }\n return context\n}\n"],"mappings":";;;;;AAuBA,MAAM,eAAe,cAAwC,IAAI;AAEjE,MAAM,oBAAoB;AAQ1B,SAAS,YAAY;CACnB,OACE,oBAAC,OAAD;EAAK,eAAY;EAAO,SAAQ;EAAY,OAAM;EAAK,QAAO;EAAK,MAAK;EACtE,UAAA,oBAAC,QAAD;GAAM,GAAE;GAAqB,QAAO;GAAe,aAAY;GAAM,eAAc;EAAS,CAAA;CACzF,CAAA;AAET;AAEA,SAAS,WAAW,EAAE,WAAsC;CAC1D,IAAI,YAAY,WACd,OACE,qBAAC,OAAD;EACE,eAAY;EACZ,SAAQ;EACR,OAAM;EACN,QAAO;EACP,MAAK;EACL,WAAU;EANZ,UAAA,CAQE,oBAAC,UAAD;GAAQ,IAAG;GAAK,IAAG;GAAK,GAAE;GAAI,QAAO;GAAe,aAAY;EAAO,CAAA,GACvE,oBAAC,QAAD;GACE,GAAE;GACF,QAAO;GACP,aAAY;GACZ,eAAc;GACd,gBAAe;EAChB,CAAA,CACE;;CAIT,OACE,qBAAC,OAAD;EACE,eAAY;EACZ,SAAQ;EACR,OAAM;EACN,QAAO;EACP,MAAK;EACL,WAAU;EANZ,UAAA,CAQE,oBAAC,QAAD;GACE,GAAE;GACF,QAAO;GACP,aAAY;GACZ,gBAAe;EAChB,CAAA,GACD,oBAAC,QAAD;GAAM,GAAE;GAAsB,QAAO;GAAe,aAAY;GAAM,eAAc;EAAS,CAAA,CAC1F;;AAET;AAEA,SAAgB,cAAc,EAAE,UAAU,gBAAoC;CAC5E,MAAM,CAAC,QAAQ,aAAa,SAAsB,CAAC,CAAC;CACpD,MAAM,YAAY,uBAAmD,IAAI,IAAI,CAAC;CAE9E,SAAS,aAAa,IAAY;EAChC,MAAM,QAAQ,UAAU,QAAQ,IAAI,EAAE;EACtC,IAAI,OAAO;GACT,aAAa,KAAK;GAClB,UAAU,QAAQ,OAAO,EAAE;EAC7B;EACA,WAAW,YAAY,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE,CAAC;CACnE;CAEA,SAAS,UAAU,EAAE,SAAS,UAAU,aAA6B;EACnE,MAAM,KAAK,OAAO,WAAW;EAC7B,WAAW,YAAY,CAAC,GAAG,SAAS;GAAE;GAAI;GAAS;EAAQ,CAAC,CAAC;EAC7D,MAAM,QAAQ,iBAAiB,aAAa,EAAE,GAAG,iBAAiB;EAClE,UAAU,QAAQ,IAAI,IAAI,KAAK;CACjC;CAEA,gBAAgB;EACd,MAAM,SAAS,UAAU;EACzB,aAAa;GACX,OAAO,SAAS,UAAU,aAAa,KAAK,CAAC;GAC7C,OAAO,MAAM;EACf;CACF,GAAG,CAAC,CAAC;CAEL,OACE,qBAAC,aAAa,UAAd;EAAuB,OAAO,EAAE,UAAU;EAA1C,UAAA,CACG,UACD,oBAAC,OAAD;GACE,aAAU;GACV,iBAAc;GACd,WAAU;GAET,UAAA,OAAO,KAAK,UACX,qBAAC,OAAD;IAEE,MAAK;IACL,WAAW,GACT,wFACA,+CACF;IANF,UAAA;KAQE,oBAAC,YAAD,EAAY,SAAS,MAAM,QAAU,CAAA;KACrC,oBAAC,KAAD;MAAG,WAAU;MAAwD,UAAA,MAAM;KAAW,CAAA;KACtF,oBAAC,UAAD;MACE,MAAK;MACL,eAAe,aAAa,MAAM,EAAE;MACpC,WAAU;MACV,cAAY;MAEZ,UAAA,oBAAC,WAAD,CAAY,CAAA;KACN,CAAA;IACL;GAjBE,GAAA,MAAM,EAiBR,CACN;EACE,CAAA,CACgB;;AAE3B;AAEA,SAAgB,WAAW;CACzB,MAAM,UAAU,WAAW,YAAY;CACvC,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,4CAA4C;CAE9D,OAAO;AACT"}
@@ -0,0 +1,2 @@
1
+ import { ToastProvider, ToastProviderProps, useToast } from "./Toast.mjs";
2
+ export { ToastProvider, type ToastProviderProps, useToast };
@@ -0,0 +1,2 @@
1
+ import { ToastProvider, useToast } from "./Toast.mjs";
2
+ export { ToastProvider, useToast };
@@ -0,0 +1,11 @@
1
+ import { ComponentProps } from "react";
2
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
+ //#region src/ui/components/Tooltip/Tooltip.d.ts
4
+ declare const TooltipProvider: import("react").FC<TooltipPrimitive.TooltipProviderProps>;
5
+ declare const Tooltip: import("react").FC<TooltipPrimitive.TooltipProps>;
6
+ declare const TooltipTrigger: import("react").ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ type TooltipContentProps = ComponentProps<typeof TooltipPrimitive.Content>;
8
+ declare function TooltipContent({ className, sideOffset, ...props }: TooltipContentProps): import("react").JSX.Element;
9
+ //#endregion
10
+ export { Tooltip, TooltipContent, TooltipContentProps, TooltipProvider, TooltipTrigger };
11
+ //# sourceMappingURL=Tooltip.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.d.mts","names":[],"sources":["../../../../src/ui/components/Tooltip/Tooltip.tsx"],"mappings":";;;cAQM,iCAAe,GAAA,iBAAA;cACf,yBAAO,GAAA,iBAAA;cACP,gCAAc,0BAAA,iBAAA,sCAAA,cAAA;KAER,sBAAsB,sBAAsB,iBAAiB;iBAEhE,iBAAiB,WAAW,eAAmB,SAAS,sCAAmB,IAAA"}