@smitch/breeze 0.1.0

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 (473) hide show
  1. package/.npmignore +14 -0
  2. package/README.md +485 -0
  3. package/index.d.ts +1 -0
  4. package/index.js +1 -0
  5. package/lib/@hooks/useWindowWidth.js +17 -0
  6. package/lib/@hooks/useWindowWidth.js.map +1 -0
  7. package/lib/@utils/merge.js +35 -0
  8. package/lib/@utils/merge.js.map +1 -0
  9. package/lib/accordion/Accordion.js +28 -0
  10. package/lib/accordion/Accordion.js.map +1 -0
  11. package/lib/accordion/atoms/AccordionCard.js +9 -0
  12. package/lib/accordion/atoms/AccordionCard.js.map +1 -0
  13. package/lib/accordion/atoms/AccordionHead.js +23 -0
  14. package/lib/accordion/atoms/AccordionHead.js.map +1 -0
  15. package/lib/accordion/atoms/AccordionItem.js +10 -0
  16. package/lib/accordion/atoms/AccordionItem.js.map +1 -0
  17. package/lib/accordion/atoms/AccordionSection.js +8 -0
  18. package/lib/accordion/atoms/AccordionSection.js.map +1 -0
  19. package/lib/accordion/atoms/index.js +5 -0
  20. package/lib/accordion/atoms/index.js.map +1 -0
  21. package/lib/accordion/index.js +3 -0
  22. package/lib/accordion/index.js.map +1 -0
  23. package/lib/accordion/types/index.js +2 -0
  24. package/lib/accordion/types/index.js.map +1 -0
  25. package/lib/alert/Alert.js +42 -0
  26. package/lib/alert/Alert.js.map +1 -0
  27. package/lib/alert/index.js +2 -0
  28. package/lib/alert/index.js.map +1 -0
  29. package/lib/alert/types/index.js +2 -0
  30. package/lib/alert/types/index.js.map +1 -0
  31. package/lib/autocomplete/Autocomplete.js +9 -0
  32. package/lib/autocomplete/Autocomplete.js.map +1 -0
  33. package/lib/autocomplete/index.js +2 -0
  34. package/lib/autocomplete/index.js.map +1 -0
  35. package/lib/autocomplete/types/index.js +2 -0
  36. package/lib/autocomplete/types/index.js.map +1 -0
  37. package/lib/badge/Badge.js +57 -0
  38. package/lib/badge/Badge.js.map +1 -0
  39. package/lib/badge/index.js +2 -0
  40. package/lib/badge/index.js.map +1 -0
  41. package/lib/badge/types/index.js +2 -0
  42. package/lib/badge/types/index.js.map +1 -0
  43. package/lib/blockquote/Blockquote.js +22 -0
  44. package/lib/blockquote/Blockquote.js.map +1 -0
  45. package/lib/blockquote/index.js +2 -0
  46. package/lib/blockquote/index.js.map +1 -0
  47. package/lib/blockquote/types/index.js +2 -0
  48. package/lib/blockquote/types/index.js.map +1 -0
  49. package/lib/breadcrumbs/Breadcrumbs.js +47 -0
  50. package/lib/breadcrumbs/Breadcrumbs.js.map +1 -0
  51. package/lib/breadcrumbs/index.js +2 -0
  52. package/lib/breadcrumbs/index.js.map +1 -0
  53. package/lib/breadcrumbs/types/index.js +2 -0
  54. package/lib/breadcrumbs/types/index.js.map +1 -0
  55. package/lib/button/Button.js +76 -0
  56. package/lib/button/Button.js.map +1 -0
  57. package/lib/button/index.js +3 -0
  58. package/lib/button/index.js.map +1 -0
  59. package/lib/button/types/index.js +2 -0
  60. package/lib/button/types/index.js.map +1 -0
  61. package/lib/button/variants/CloseButton.js +18 -0
  62. package/lib/button/variants/CloseButton.js.map +1 -0
  63. package/lib/button/variants/index.js +2 -0
  64. package/lib/button/variants/index.js.map +1 -0
  65. package/lib/button/variants/types/index.js +2 -0
  66. package/lib/button/variants/types/index.js.map +1 -0
  67. package/lib/buttongroup/ButtonGroup.js +35 -0
  68. package/lib/buttongroup/ButtonGroup.js.map +1 -0
  69. package/lib/buttongroup/index.js +2 -0
  70. package/lib/buttongroup/index.js.map +1 -0
  71. package/lib/buttongroup/types/index.js +2 -0
  72. package/lib/buttongroup/types/index.js.map +1 -0
  73. package/lib/card/Card.js +32 -0
  74. package/lib/card/Card.js.map +1 -0
  75. package/lib/card/atoms/CardBody.js +8 -0
  76. package/lib/card/atoms/CardBody.js.map +1 -0
  77. package/lib/card/atoms/CardFooter.js +9 -0
  78. package/lib/card/atoms/CardFooter.js.map +1 -0
  79. package/lib/card/atoms/CardHeader.js +8 -0
  80. package/lib/card/atoms/CardHeader.js.map +1 -0
  81. package/lib/card/atoms/CardImage.js +16 -0
  82. package/lib/card/atoms/CardImage.js.map +1 -0
  83. package/lib/card/index.js +6 -0
  84. package/lib/card/index.js.map +1 -0
  85. package/lib/card/types/index.js +2 -0
  86. package/lib/card/types/index.js.map +1 -0
  87. package/lib/carousel/Carousel.js +147 -0
  88. package/lib/carousel/Carousel.js.map +1 -0
  89. package/lib/carousel/index.js +2 -0
  90. package/lib/carousel/index.js.map +1 -0
  91. package/lib/carousel/types/index.js +2 -0
  92. package/lib/carousel/types/index.js.map +1 -0
  93. package/lib/charts/BarChart.js +24 -0
  94. package/lib/charts/BarChart.js.map +1 -0
  95. package/lib/charts/BubbleChart.js +24 -0
  96. package/lib/charts/BubbleChart.js.map +1 -0
  97. package/lib/charts/ChartWrap.js +69 -0
  98. package/lib/charts/ChartWrap.js.map +1 -0
  99. package/lib/charts/DoughnutChart.js +20 -0
  100. package/lib/charts/DoughnutChart.js.map +1 -0
  101. package/lib/charts/LineChart.js +24 -0
  102. package/lib/charts/LineChart.js.map +1 -0
  103. package/lib/charts/MixedChart.js +24 -0
  104. package/lib/charts/MixedChart.js.map +1 -0
  105. package/lib/charts/PieChart.js +20 -0
  106. package/lib/charts/PieChart.js.map +1 -0
  107. package/lib/charts/PolarAreaChart.js +23 -0
  108. package/lib/charts/PolarAreaChart.js.map +1 -0
  109. package/lib/charts/RadarChart.js +23 -0
  110. package/lib/charts/RadarChart.js.map +1 -0
  111. package/lib/charts/ScatterChart.js +24 -0
  112. package/lib/charts/ScatterChart.js.map +1 -0
  113. package/lib/charts/index.js +10 -0
  114. package/lib/charts/index.js.map +1 -0
  115. package/lib/charts/types/index.js +2 -0
  116. package/lib/charts/types/index.js.map +1 -0
  117. package/lib/checkbox/Checkbox.js +9 -0
  118. package/lib/checkbox/Checkbox.js.map +1 -0
  119. package/lib/checkbox/index.js +2 -0
  120. package/lib/checkbox/index.js.map +1 -0
  121. package/lib/checkbox/types/index.js +2 -0
  122. package/lib/checkbox/types/index.js.map +1 -0
  123. package/lib/clock/Clock.js +99 -0
  124. package/lib/clock/Clock.js.map +1 -0
  125. package/lib/clock/index.js +2 -0
  126. package/lib/clock/index.js.map +1 -0
  127. package/lib/clock/types/index.js +2 -0
  128. package/lib/clock/types/index.js.map +1 -0
  129. package/lib/codeblock/Codeblock.js +21 -0
  130. package/lib/codeblock/Codeblock.js.map +1 -0
  131. package/lib/codeblock/index.js +2 -0
  132. package/lib/codeblock/index.js.map +1 -0
  133. package/lib/codeblock/types/index.js +2 -0
  134. package/lib/codeblock/types/index.js.map +1 -0
  135. package/lib/counter/Counter.js +39 -0
  136. package/lib/counter/Counter.js.map +1 -0
  137. package/lib/counter/index.js +2 -0
  138. package/lib/counter/index.js.map +1 -0
  139. package/lib/counter/types/index.js +2 -0
  140. package/lib/counter/types/index.js.map +1 -0
  141. package/lib/datatable/DataTable.js +44 -0
  142. package/lib/datatable/DataTable.js.map +1 -0
  143. package/lib/datatable/index.js +2 -0
  144. package/lib/datatable/index.js.map +1 -0
  145. package/lib/datatable/types/index.js +2 -0
  146. package/lib/datatable/types/index.js.map +1 -0
  147. package/lib/dialog/Dialog.js +45 -0
  148. package/lib/dialog/Dialog.js.map +1 -0
  149. package/lib/dialog/hooks/useDisableBack.js +16 -0
  150. package/lib/dialog/hooks/useDisableBack.js.map +1 -0
  151. package/lib/dialog/index.js +2 -0
  152. package/lib/dialog/index.js.map +1 -0
  153. package/lib/dialog/types/index.js +2 -0
  154. package/lib/dialog/types/index.js.map +1 -0
  155. package/lib/drawer/Drawer.js +39 -0
  156. package/lib/drawer/Drawer.js.map +1 -0
  157. package/lib/drawer/index.js +2 -0
  158. package/lib/drawer/index.js.map +1 -0
  159. package/lib/drawer/types/index.js +2 -0
  160. package/lib/drawer/types/index.js.map +1 -0
  161. package/lib/dropdown/Dropdown.js +40 -0
  162. package/lib/dropdown/Dropdown.js.map +1 -0
  163. package/lib/dropdown/index.js +2 -0
  164. package/lib/dropdown/index.js.map +1 -0
  165. package/lib/dropdown/types/index.js +2 -0
  166. package/lib/dropdown/types/index.js.map +1 -0
  167. package/lib/figure/Figure.js +42 -0
  168. package/lib/figure/Figure.js.map +1 -0
  169. package/lib/figure/index.js +2 -0
  170. package/lib/figure/index.js.map +1 -0
  171. package/lib/figure/types/index.js +2 -0
  172. package/lib/figure/types/index.js.map +1 -0
  173. package/lib/fileupload/FileUpload.js +52 -0
  174. package/lib/fileupload/FileUpload.js.map +1 -0
  175. package/lib/fileupload/Files.js +22 -0
  176. package/lib/fileupload/Files.js.map +1 -0
  177. package/lib/fileupload/index.js +2 -0
  178. package/lib/fileupload/index.js.map +1 -0
  179. package/lib/fileupload/types/index.js +25 -0
  180. package/lib/fileupload/types/index.js.map +1 -0
  181. package/lib/form/Fieldset.js +9 -0
  182. package/lib/form/Fieldset.js.map +1 -0
  183. package/lib/form/Form.js +64 -0
  184. package/lib/form/Form.js.map +1 -0
  185. package/lib/form/Legend.js +21 -0
  186. package/lib/form/Legend.js.map +1 -0
  187. package/lib/form/RegisterForm.js +19 -0
  188. package/lib/form/RegisterForm.js.map +1 -0
  189. package/lib/form/index.js +5 -0
  190. package/lib/form/index.js.map +1 -0
  191. package/lib/form/types/index.js +2 -0
  192. package/lib/form/types/index.js.map +1 -0
  193. package/lib/gallery/Gallery.js +12 -0
  194. package/lib/gallery/Gallery.js.map +1 -0
  195. package/lib/gallery/index.js +2 -0
  196. package/lib/gallery/index.js.map +1 -0
  197. package/lib/gallery/types/index.js +2 -0
  198. package/lib/gallery/types/index.js.map +1 -0
  199. package/lib/heading/Heading.js +38 -0
  200. package/lib/heading/Heading.js.map +1 -0
  201. package/lib/heading/index.js +2 -0
  202. package/lib/heading/index.js.map +1 -0
  203. package/lib/heading/types/index.js +2 -0
  204. package/lib/heading/types/index.js.map +1 -0
  205. package/lib/hero/Hero.js +72 -0
  206. package/lib/hero/Hero.js.map +1 -0
  207. package/lib/hero/index.js +2 -0
  208. package/lib/hero/index.js.map +1 -0
  209. package/lib/hero/types/index.js +2 -0
  210. package/lib/hero/types/index.js.map +1 -0
  211. package/lib/icon/Icon.js +37 -0
  212. package/lib/icon/Icon.js.map +1 -0
  213. package/lib/icon/index.js +2 -0
  214. package/lib/icon/index.js.map +1 -0
  215. package/lib/icon/types/index.js +2 -0
  216. package/lib/icon/types/index.js.map +1 -0
  217. package/lib/index.js +52 -0
  218. package/lib/index.js.map +1 -0
  219. package/lib/input/Input.js +37 -0
  220. package/lib/input/Input.js.map +1 -0
  221. package/lib/input/index.js +2 -0
  222. package/lib/input/index.js.map +1 -0
  223. package/lib/input/types/index.js +2 -0
  224. package/lib/input/types/index.js.map +1 -0
  225. package/lib/label/Label.js +36 -0
  226. package/lib/label/Label.js.map +1 -0
  227. package/lib/label/index.js +2 -0
  228. package/lib/label/index.js.map +1 -0
  229. package/lib/label/types/index.js +2 -0
  230. package/lib/label/types/index.js.map +1 -0
  231. package/lib/loading/Loading.js +71 -0
  232. package/lib/loading/Loading.js.map +1 -0
  233. package/lib/loading/index.js +3 -0
  234. package/lib/loading/index.js.map +1 -0
  235. package/lib/loading/spinners/Bars.js +7 -0
  236. package/lib/loading/spinners/Bars.js.map +1 -0
  237. package/lib/loading/spinners/Clock.js +7 -0
  238. package/lib/loading/spinners/Clock.js.map +1 -0
  239. package/lib/loading/spinners/Dots.js +7 -0
  240. package/lib/loading/spinners/Dots.js.map +1 -0
  241. package/lib/loading/spinners/Pulse.js +7 -0
  242. package/lib/loading/spinners/Pulse.js.map +1 -0
  243. package/lib/loading/spinners/Spindots.js +7 -0
  244. package/lib/loading/spinners/Spindots.js.map +1 -0
  245. package/lib/loading/spinners/Spinner.js +7 -0
  246. package/lib/loading/spinners/Spinner.js.map +1 -0
  247. package/lib/loading/spinners/Wifi.js +7 -0
  248. package/lib/loading/spinners/Wifi.js.map +1 -0
  249. package/lib/loading/spinners/index.js +8 -0
  250. package/lib/loading/spinners/index.js.map +1 -0
  251. package/lib/loading/types/index.js +2 -0
  252. package/lib/loading/types/index.js.map +1 -0
  253. package/lib/map/LazyMap.js +146 -0
  254. package/lib/map/LazyMap.js.map +1 -0
  255. package/lib/map/LazyMapCircle.js +14 -0
  256. package/lib/map/LazyMapCircle.js.map +1 -0
  257. package/lib/map/LazyMapLine.js +13 -0
  258. package/lib/map/LazyMapLine.js.map +1 -0
  259. package/lib/map/LazyMapMarker.js +72 -0
  260. package/lib/map/LazyMapMarker.js.map +1 -0
  261. package/lib/map/LazyMapPolygon.js +9 -0
  262. package/lib/map/LazyMapPolygon.js.map +1 -0
  263. package/lib/map/LazyMapRectangle.js +12 -0
  264. package/lib/map/LazyMapRectangle.js.map +1 -0
  265. package/lib/map/Map.js +34 -0
  266. package/lib/map/Map.js.map +1 -0
  267. package/lib/map/MapCircle.js +34 -0
  268. package/lib/map/MapCircle.js.map +1 -0
  269. package/lib/map/MapLine.js +34 -0
  270. package/lib/map/MapLine.js.map +1 -0
  271. package/lib/map/MapMarker.js +34 -0
  272. package/lib/map/MapMarker.js.map +1 -0
  273. package/lib/map/MapPolygon.js +34 -0
  274. package/lib/map/MapPolygon.js.map +1 -0
  275. package/lib/map/MapRectangle.js +34 -0
  276. package/lib/map/MapRectangle.js.map +1 -0
  277. package/lib/map/index.js +7 -0
  278. package/lib/map/index.js.map +1 -0
  279. package/lib/map/tileOptions.js +33 -0
  280. package/lib/map/tileOptions.js.map +1 -0
  281. package/lib/map/types/index.js +2 -0
  282. package/lib/map/types/index.js.map +1 -0
  283. package/lib/modal/Modal.js +33 -0
  284. package/lib/modal/Modal.js.map +1 -0
  285. package/lib/modal/hooks/useDisableBack.js +14 -0
  286. package/lib/modal/hooks/useDisableBack.js.map +1 -0
  287. package/lib/modal/index.js +2 -0
  288. package/lib/modal/index.js.map +1 -0
  289. package/lib/modal/types/index.js +2 -0
  290. package/lib/modal/types/index.js.map +1 -0
  291. package/lib/navbar/NavBar.js +17 -0
  292. package/lib/navbar/NavBar.js.map +1 -0
  293. package/lib/navbar/NavBrand.js +9 -0
  294. package/lib/navbar/NavBrand.js.map +1 -0
  295. package/lib/navbar/NavLinks.js +27 -0
  296. package/lib/navbar/NavLinks.js.map +1 -0
  297. package/lib/navbar/index.js +2 -0
  298. package/lib/navbar/index.js.map +1 -0
  299. package/lib/navbar/types/index.js +2 -0
  300. package/lib/navbar/types/index.js.map +1 -0
  301. package/lib/pagination/Pagination.js +42 -0
  302. package/lib/pagination/Pagination.js.map +1 -0
  303. package/lib/pagination/index.js +2 -0
  304. package/lib/pagination/index.js.map +1 -0
  305. package/lib/pagination/types/index.js +2 -0
  306. package/lib/pagination/types/index.js.map +1 -0
  307. package/lib/passwordinput/PasswordInput.js +22 -0
  308. package/lib/passwordinput/PasswordInput.js.map +1 -0
  309. package/lib/passwordinput/index.js +2 -0
  310. package/lib/passwordinput/index.js.map +1 -0
  311. package/lib/passwordinput/types/index.js +2 -0
  312. package/lib/passwordinput/types/index.js.map +1 -0
  313. package/lib/pictogram/Pictogram.js +21 -0
  314. package/lib/pictogram/Pictogram.js.map +1 -0
  315. package/lib/pictogram/index.js +2 -0
  316. package/lib/pictogram/index.js.map +1 -0
  317. package/lib/pictogram/types/index.js +2 -0
  318. package/lib/pictogram/types/index.js.map +1 -0
  319. package/lib/placeholder/PlaceHolder.js +28 -0
  320. package/lib/placeholder/PlaceHolder.js.map +1 -0
  321. package/lib/placeholder/index.js +2 -0
  322. package/lib/placeholder/index.js.map +1 -0
  323. package/lib/placeholder/types/index.js +2 -0
  324. package/lib/placeholder/types/index.js.map +1 -0
  325. package/lib/progress/Progress.js +26 -0
  326. package/lib/progress/Progress.js.map +1 -0
  327. package/lib/progress/index.js +2 -0
  328. package/lib/progress/index.js.map +1 -0
  329. package/lib/progress/types/index.js +2 -0
  330. package/lib/progress/types/index.js.map +1 -0
  331. package/lib/radiogroup/RadioGroup.js +28 -0
  332. package/lib/radiogroup/RadioGroup.js.map +1 -0
  333. package/lib/radiogroup/index.js +2 -0
  334. package/lib/radiogroup/index.js.map +1 -0
  335. package/lib/radiogroup/types/index.js +2 -0
  336. package/lib/radiogroup/types/index.js.map +1 -0
  337. package/lib/rangeinput/RangeInput.js +45 -0
  338. package/lib/rangeinput/RangeInput.js.map +1 -0
  339. package/lib/rangeinput/index.js +2 -0
  340. package/lib/rangeinput/index.js.map +1 -0
  341. package/lib/rangeinput/types/index.js +2 -0
  342. package/lib/rangeinput/types/index.js.map +1 -0
  343. package/lib/ratings/Ratings.js +25 -0
  344. package/lib/ratings/Ratings.js.map +1 -0
  345. package/lib/ratings/index.js +2 -0
  346. package/lib/ratings/index.js.map +1 -0
  347. package/lib/ratings/types/index.js +2 -0
  348. package/lib/ratings/types/index.js.map +1 -0
  349. package/lib/searchinput/SearchInput.js +22 -0
  350. package/lib/searchinput/SearchInput.js.map +1 -0
  351. package/lib/searchinput/index.js +2 -0
  352. package/lib/searchinput/index.js.map +1 -0
  353. package/lib/searchinput/types/index.js +2 -0
  354. package/lib/searchinput/types/index.js.map +1 -0
  355. package/lib/select/Select.js +34 -0
  356. package/lib/select/Select.js.map +1 -0
  357. package/lib/select/index.js +2 -0
  358. package/lib/select/index.js.map +1 -0
  359. package/lib/select/types/index.js +2 -0
  360. package/lib/select/types/index.js.map +1 -0
  361. package/lib/sidebar/Sidebar.js +56 -0
  362. package/lib/sidebar/Sidebar.js.map +1 -0
  363. package/lib/sidebar/index.js +2 -0
  364. package/lib/sidebar/index.js.map +1 -0
  365. package/lib/sidebar/types/index.js +2 -0
  366. package/lib/sidebar/types/index.js.map +1 -0
  367. package/lib/socialshare/SocialShare.js +64 -0
  368. package/lib/socialshare/SocialShare.js.map +1 -0
  369. package/lib/socialshare/buttons/BlueskyButton.js +18 -0
  370. package/lib/socialshare/buttons/BlueskyButton.js.map +1 -0
  371. package/lib/socialshare/buttons/EmailButton.js +16 -0
  372. package/lib/socialshare/buttons/EmailButton.js.map +1 -0
  373. package/lib/socialshare/buttons/FacebookButton.js +16 -0
  374. package/lib/socialshare/buttons/FacebookButton.js.map +1 -0
  375. package/lib/socialshare/buttons/LinkedinButton.js +16 -0
  376. package/lib/socialshare/buttons/LinkedinButton.js.map +1 -0
  377. package/lib/socialshare/buttons/PinterestButton.js +19 -0
  378. package/lib/socialshare/buttons/PinterestButton.js.map +1 -0
  379. package/lib/socialshare/buttons/RedditButton.js +19 -0
  380. package/lib/socialshare/buttons/RedditButton.js.map +1 -0
  381. package/lib/socialshare/buttons/SlackButton.js +17 -0
  382. package/lib/socialshare/buttons/SlackButton.js.map +1 -0
  383. package/lib/socialshare/buttons/TelegramButton.js +19 -0
  384. package/lib/socialshare/buttons/TelegramButton.js.map +1 -0
  385. package/lib/socialshare/buttons/WhatsappButton.js +16 -0
  386. package/lib/socialshare/buttons/WhatsappButton.js.map +1 -0
  387. package/lib/socialshare/buttons/XButton.js +19 -0
  388. package/lib/socialshare/buttons/XButton.js.map +1 -0
  389. package/lib/socialshare/index.js +12 -0
  390. package/lib/socialshare/index.js.map +1 -0
  391. package/lib/socialshare/types/index.js +2 -0
  392. package/lib/socialshare/types/index.js.map +1 -0
  393. package/lib/statbar/StatBar.js +15 -0
  394. package/lib/statbar/StatBar.js.map +1 -0
  395. package/lib/statbar/index.js +2 -0
  396. package/lib/statbar/index.js.map +1 -0
  397. package/lib/statbar/types/index.js +2 -0
  398. package/lib/statbar/types/index.js.map +1 -0
  399. package/lib/switch/Switch.js +55 -0
  400. package/lib/switch/Switch.js.map +1 -0
  401. package/lib/switch/index.js +2 -0
  402. package/lib/switch/index.js.map +1 -0
  403. package/lib/switch/types/index.js +2 -0
  404. package/lib/switch/types/index.js.map +1 -0
  405. package/lib/tabs/Tab.js +6 -0
  406. package/lib/tabs/Tab.js.map +1 -0
  407. package/lib/tabs/TabBar.js +18 -0
  408. package/lib/tabs/TabBar.js.map +1 -0
  409. package/lib/tabs/Tabs.js +59 -0
  410. package/lib/tabs/Tabs.js.map +1 -0
  411. package/lib/tabs/index.js +2 -0
  412. package/lib/tabs/index.js.map +1 -0
  413. package/lib/tabs/types/index.js +2 -0
  414. package/lib/tabs/types/index.js.map +1 -0
  415. package/lib/textarea/TextArea.js +17 -0
  416. package/lib/textarea/TextArea.js.map +1 -0
  417. package/lib/textarea/index.js +2 -0
  418. package/lib/textarea/index.js.map +1 -0
  419. package/lib/textarea/types/index.js +2 -0
  420. package/lib/textarea/types/index.js.map +1 -0
  421. package/lib/textinput/TextInput.js +18 -0
  422. package/lib/textinput/TextInput.js.map +1 -0
  423. package/lib/textinput/index.js +2 -0
  424. package/lib/textinput/index.js.map +1 -0
  425. package/lib/textinput/types/index.js +2 -0
  426. package/lib/textinput/types/index.js.map +1 -0
  427. package/lib/ticker/Ticker.js +21 -0
  428. package/lib/ticker/Ticker.js.map +1 -0
  429. package/lib/ticker/index.js +2 -0
  430. package/lib/ticker/index.js.map +1 -0
  431. package/lib/ticker/types/index.js +2 -0
  432. package/lib/ticker/types/index.js.map +1 -0
  433. package/lib/toast/Toast.js +76 -0
  434. package/lib/toast/Toast.js.map +1 -0
  435. package/lib/toast/index.js +2 -0
  436. package/lib/toast/index.js.map +1 -0
  437. package/lib/toast/types/index.js +2 -0
  438. package/lib/toast/types/index.js.map +1 -0
  439. package/lib/twitterembed/TwitterEmbed.js +123 -0
  440. package/lib/twitterembed/TwitterEmbed.js.map +1 -0
  441. package/lib/twitterembed/index.js +2 -0
  442. package/lib/twitterembed/index.js.map +1 -0
  443. package/lib/twitterembed/types/index.js +2 -0
  444. package/lib/twitterembed/types/index.js.map +1 -0
  445. package/lib/videoplayer/Video.js +130 -0
  446. package/lib/videoplayer/Video.js.map +1 -0
  447. package/lib/videoplayer/VideoControls.js +63 -0
  448. package/lib/videoplayer/VideoControls.js.map +1 -0
  449. package/lib/videoplayer/VideoPlayer.js +66 -0
  450. package/lib/videoplayer/VideoPlayer.js.map +1 -0
  451. package/lib/videoplayer/VideoTracks.js +9 -0
  452. package/lib/videoplayer/VideoTracks.js.map +1 -0
  453. package/lib/videoplayer/controls/CaptionsControl.js +15 -0
  454. package/lib/videoplayer/controls/CaptionsControl.js.map +1 -0
  455. package/lib/videoplayer/controls/FullscreenControl.js +8 -0
  456. package/lib/videoplayer/controls/FullscreenControl.js.map +1 -0
  457. package/lib/videoplayer/controls/PipControl.js +8 -0
  458. package/lib/videoplayer/controls/PipControl.js.map +1 -0
  459. package/lib/videoplayer/controls/SoundControl.js +8 -0
  460. package/lib/videoplayer/controls/SoundControl.js.map +1 -0
  461. package/lib/videoplayer/controls/index.js +5 -0
  462. package/lib/videoplayer/controls/index.js.map +1 -0
  463. package/lib/videoplayer/index.js +3 -0
  464. package/lib/videoplayer/index.js.map +1 -0
  465. package/lib/videoplayer/types/index.js +2 -0
  466. package/lib/videoplayer/types/index.js.map +1 -0
  467. package/lib/youtubeembed/YoutubeEmbed.js +33 -0
  468. package/lib/youtubeembed/YoutubeEmbed.js.map +1 -0
  469. package/lib/youtubeembed/index.js +2 -0
  470. package/lib/youtubeembed/index.js.map +1 -0
  471. package/lib/youtubeembed/types/index.js +2 -0
  472. package/lib/youtubeembed/types/index.js.map +1 -0
  473. package/package.json +39 -0
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useState, useEffect, useMemo } from 'react';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { CloseButton } from '..';
6
+ var positions = {
7
+ left: 'left-0',
8
+ right: 'right-0',
9
+ };
10
+ var sidebarClasses = 'fixed top-0 z-100 max-w-md h-full overflow-y-auto bg-light text-dark dark:bg-dark dark:text-light duration-500';
11
+ var Sidebar = function (_a) {
12
+ var _b = _a.open, open = _b === void 0 ? false : _b, _c = _a.position, position = _c === void 0 ? 'right' : _c, _d = _a.backdrop, backdrop = _d === void 0 ? false : _d, _e = _a.className, className = _e === void 0 ? '' : _e, style = _a.style, children = _a.children, onClose = _a.onClose;
13
+ var _f = useState(false), show = _f[0], setShow = _f[1];
14
+ var _g = useState(null), touchPosition = _g[0], setTouchPosition = _g[1];
15
+ useEffect(function () {
16
+ if (open) {
17
+ setShow(true);
18
+ document.body.style.overflow = 'hidden';
19
+ }
20
+ else {
21
+ setShow(false);
22
+ document.body.style.overflow = '';
23
+ }
24
+ return function () {
25
+ setShow(false);
26
+ document.body.style.overflow = '';
27
+ };
28
+ }, [open]);
29
+ var positionClasses = useMemo(function () { return positions[position]; }, [position]);
30
+ var handleTouchStart = function (e) {
31
+ setTouchPosition(e.touches[0].clientX);
32
+ };
33
+ var handleTouchMove = function (e) {
34
+ if (touchPosition === null)
35
+ return;
36
+ var diff = touchPosition - e.touches[0].clientX;
37
+ if (position === 'right' && diff < -5) {
38
+ close();
39
+ setTouchPosition(null);
40
+ }
41
+ if (position === 'left' && diff > 5) {
42
+ close();
43
+ setTouchPosition(null);
44
+ }
45
+ };
46
+ var close = function () {
47
+ onClose(false);
48
+ };
49
+ return (_jsxs(_Fragment, { children: [backdrop && (_jsx("div", { className: "backdrop bg-dark dark:bg-neutral fixed top-0 right-0 bottom-0 left-0 w-full ".concat(show ? 'block opacity-50' : 'hidden opacity-0', " transition-opacity"), onClick: close })), _jsxs("aside", { className: twMerge("sidebar ".concat(sidebarClasses, " ").concat(positionClasses, " ").concat(show
50
+ ? 'translate-x-0'
51
+ : position === 'right'
52
+ ? 'translate-x-full'
53
+ : '-translate-x-full'), className), style: style, onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, children: [_jsx("header", { className: "sidebar-header", children: _jsx(CloseButton, { onClick: close, layout: 'circle', size: 'md', className: "fixed top-3 ".concat(position === 'right' ? 'left-3' : 'right-3') }) }), _jsx("div", { className: "sidebar-content max-h-full overflow-y-auto p-0 pt-8", children: children })] })] }));
54
+ };
55
+ export default Sidebar;
56
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/ui/sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport React, { useState, useEffect, useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CloseButton } from '..'\nimport { SidebarProps } from './types'\n\nconst positions = {\n\tleft: 'left-0',\n\tright: 'right-0',\n}\n\nconst sidebarClasses =\n\t'fixed top-0 z-100 max-w-md h-full overflow-y-auto bg-light text-dark dark:bg-dark dark:text-light duration-500'\n\nconst Sidebar = ({\n\topen = false,\n\tposition = 'right',\n\tbackdrop = false,\n\tclassName = '',\n\tstyle,\n\tchildren,\n\tonClose,\n}: SidebarProps) => {\n\tconst [show, setShow] = useState<boolean>(false)\n\tconst [touchPosition, setTouchPosition] = useState<number>(null!)\n\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tsetShow(true)\n\t\t\tdocument.body.style.overflow = 'hidden'\n\t\t} else {\n\t\t\tsetShow(false)\n\t\t\tdocument.body.style.overflow = ''\n\t\t}\n\n\t\treturn () => {\n\t\t\tsetShow(false)\n\t\t\tdocument.body.style.overflow = ''\n\t\t}\n\t}, [open])\n\n\tconst positionClasses = useMemo(() => positions[position], [position])\n\n\tconst handleTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {\n\t\tsetTouchPosition(e.touches[0].clientX)\n\t}\n\n\tconst handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n\t\tif (touchPosition === null) return\n\t\tconst diff = touchPosition - e.touches[0].clientX\n\n\t\tif (position === 'right' && diff < -5) {\n\t\t\tclose()\n\t\t\tsetTouchPosition(null!)\n\t\t}\n\n\t\tif (position === 'left' && diff > 5) {\n\t\t\tclose()\n\t\t\tsetTouchPosition(null!)\n\t\t}\n\t}\n\n\tconst close = () => {\n\t\tonClose(false)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{backdrop && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`backdrop bg-dark dark:bg-neutral fixed top-0 right-0 bottom-0 left-0 w-full ${\n\t\t\t\t\t\tshow ? 'block opacity-50' : 'hidden opacity-0'\n\t\t\t\t\t} transition-opacity`}\n\t\t\t\t\tonClick={close}\n\t\t\t\t></div>\n\t\t\t)}\n\t\t\t<aside\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t`sidebar ${sidebarClasses} ${positionClasses} ${\n\t\t\t\t\t\tshow\n\t\t\t\t\t\t\t? 'translate-x-0'\n\t\t\t\t\t\t\t: position === 'right'\n\t\t\t\t\t\t\t\t? 'translate-x-full'\n\t\t\t\t\t\t\t\t: '-translate-x-full'\n\t\t\t\t\t}`,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t\tonTouchStart={handleTouchStart}\n\t\t\t\tonTouchMove={handleTouchMove}\n\t\t\t>\n\t\t\t\t<header className={`sidebar-header`}>\n\t\t\t\t\t<CloseButton\n\t\t\t\t\t\tonClick={close}\n\t\t\t\t\t\tlayout='circle'\n\t\t\t\t\t\tsize='md'\n\t\t\t\t\t\tclassName={`fixed top-3 ${position === 'right' ? 'left-3' : 'right-3'}`}\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t\t<div className={`sidebar-content max-h-full overflow-y-auto p-0 pt-8`}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</aside>\n\t\t</>\n\t)\n}\n\nexport default Sidebar\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as Sidebar } from './Sidebar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA","sourcesContent":["export { default as Sidebar } from './Sidebar'\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/sidebar/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface SidebarProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tchildren: React.ReactNode\n\topen: boolean\n\tbackdrop?: boolean\n\tposition?: 'left' | 'right'\n\tonClose: (open: boolean) => void\n}\n"]}
@@ -0,0 +1,64 @@
1
+ "use client";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { useMemo } from "react";
15
+ import { twMerge } from "tailwind-merge";
16
+ import dynamic from "next/dynamic";
17
+ var XButton = dynamic(function () { return import("./buttons/XButton"); }, { ssr: false });
18
+ var FacebookButton = dynamic(function () { return import("./buttons/FacebookButton"); }, { ssr: false });
19
+ var LinkedInButton = dynamic(function () { return import("./buttons/LinkedinButton"); }, { ssr: false });
20
+ var SlackButton = dynamic(function () { return import("./buttons/SlackButton"); }, { ssr: false });
21
+ var WhatsAppButton = dynamic(function () { return import("./buttons/WhatsappButton"); }, { ssr: false });
22
+ var RedditButton = dynamic(function () { return import("./buttons/RedditButton"); }, { ssr: false });
23
+ var PinterestButton = dynamic(function () { return import("./buttons/PinterestButton"); }, { ssr: false });
24
+ var TelegramButton = dynamic(function () { return import("./buttons/TelegramButton"); }, { ssr: false });
25
+ var EmailButton = dynamic(function () { return import("./buttons/EmailButton"); }, { ssr: false });
26
+ var BlueskyButton = dynamic(function () { return import("./buttons/BlueskyButton"); }, { ssr: false });
27
+ var buttonComponents = {
28
+ X: XButton,
29
+ Facebook: FacebookButton,
30
+ LinkedIn: LinkedInButton,
31
+ Slack: SlackButton,
32
+ WhatsApp: WhatsAppButton,
33
+ Reddit: RedditButton,
34
+ Pinterest: PinterestButton,
35
+ Telegram: TelegramButton,
36
+ Email: EmailButton,
37
+ Bluesky: BlueskyButton,
38
+ };
39
+ var gapSpacing = {
40
+ none: "gap-0",
41
+ sm: "gap-1",
42
+ md: "gap-2",
43
+ lg: "gap-3",
44
+ xl: "gap-4",
45
+ };
46
+ var layouts = {
47
+ horizontal: "flex-row",
48
+ vertical: "flex-col",
49
+ };
50
+ var SocialShare = function (_a) {
51
+ var text = _a.text, buttons = _a.buttons, _b = _a.btnShape, btnShape = _b === void 0 ? "rounded" : _b, _c = _a.size, size = _c === void 0 ? "md" : _c, _d = _a.gap, gap = _d === void 0 ? "none" : _d, _e = _a.layout, layout = _e === void 0 ? "horizontal" : _e, _f = _a.grayscale, grayscale = _f === void 0 ? false : _f, _g = _a.className, className = _g === void 0 ? "" : _g, style = _a.style;
52
+ var gapClasses = useMemo(function () { return gapSpacing[gap]; }, [gap]);
53
+ var layoutClasses = useMemo(function () { return layouts[layout]; }, [layout]);
54
+ return (_jsx("div", { className: twMerge("social-share w-fit flex flex-wrap items-center ".concat(layoutClasses, " ").concat(gapClasses, " ").concat(grayscale ? "grayscale" : ""), className), style: style, children: buttons.map(function (btn) {
55
+ var BtnComponent = buttonComponents[btn];
56
+ if (!BtnComponent)
57
+ return null;
58
+ var needsText = !["Facebook", "LinkedIn"].includes(btn);
59
+ var props = needsText ? { text: text } : {};
60
+ return _jsx(BtnComponent, __assign({ btnShape: btnShape, size: size }, props), btn);
61
+ }) }));
62
+ };
63
+ export default SocialShare;
64
+ //# sourceMappingURL=SocialShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialShare.js","sourceRoot":"","sources":["../../../src/ui/socialshare/SocialShare.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport dynamic from \"next/dynamic\";\n\nconst XButton = dynamic(() => import(\"./buttons/XButton\"), { ssr: false });\nconst FacebookButton = dynamic(() => import(\"./buttons/FacebookButton\"), { ssr: false });\nconst LinkedInButton = dynamic(() => import(\"./buttons/LinkedinButton\"), { ssr: false });\nconst SlackButton = dynamic(() => import(\"./buttons/SlackButton\"), { ssr: false });\nconst WhatsAppButton = dynamic(() => import(\"./buttons/WhatsappButton\"), { ssr: false });\nconst RedditButton = dynamic(() => import(\"./buttons/RedditButton\"), { ssr: false });\nconst PinterestButton = dynamic(() => import(\"./buttons/PinterestButton\"), { ssr: false });\nconst TelegramButton = dynamic(() => import(\"./buttons/TelegramButton\"), { ssr: false });\nconst EmailButton = dynamic(() => import(\"./buttons/EmailButton\"), { ssr: false });\nconst BlueskyButton = dynamic(() => import(\"./buttons/BlueskyButton\"), { ssr: false });\n\nimport { SocialShareProps } from \"./types\";\n\nconst buttonComponents: Record<string, React.ComponentType<any>> = {\n X: XButton,\n Facebook: FacebookButton,\n LinkedIn: LinkedInButton,\n Slack: SlackButton,\n WhatsApp: WhatsAppButton,\n Reddit: RedditButton,\n Pinterest: PinterestButton,\n Telegram: TelegramButton,\n Email: EmailButton,\n Bluesky: BlueskyButton,\n};\n\nconst gapSpacing = {\n none: \"gap-0\",\n sm: \"gap-1\",\n md: \"gap-2\",\n lg: \"gap-3\",\n xl: \"gap-4\",\n};\n\nconst layouts = {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n};\n\nconst SocialShare = ({\n text,\n buttons,\n btnShape = \"rounded\",\n size = \"md\",\n gap = \"none\",\n layout = \"horizontal\",\n grayscale = false,\n className = \"\",\n style,\n}: SocialShareProps) => {\n const gapClasses = useMemo(() => gapSpacing[gap], [gap]);\n const layoutClasses = useMemo(() => layouts[layout], [layout]);\n\n return (\n <div\n className={twMerge(\n `social-share w-fit flex flex-wrap items-center ${layoutClasses} ${gapClasses} ${\n grayscale ? \"grayscale\" : \"\"\n }`,\n className\n )}\n style={style}\n >\n {buttons.map((btn) => {\n const BtnComponent = buttonComponents[btn];\n if (!BtnComponent) return null;\n\n const needsText = ![\"Facebook\", \"LinkedIn\"].includes(btn);\n const props = needsText ? { text } : {};\n\n return <BtnComponent key={btn} btnShape={btnShape} size={size} {...props} />;\n })}\n </div>\n );\n};\n\nexport default SocialShare;\n"]}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaBluesky } from 'react-icons/fa6';
4
+ import { Button } from '../..';
5
+ var BlueskyButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://bsky.app/compose';
9
+ var params = new URLSearchParams({
10
+ text: "".concat(text, " ").concat(window.location.href).replace(/(\r\n|\n|\r)/g, ' '),
11
+ });
12
+ var shareUrl = "".concat(baseUrl, "?").concat(params.toString());
13
+ window.open(shareUrl, '_blank', 'noopener,noreferrer');
14
+ };
15
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'info', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Bluesky', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0097FF]', children: [_jsx(FaBluesky, {}), _jsx("span", { className: 'sr-only', children: "Share on Bluesky" })] }));
16
+ };
17
+ export default BlueskyButton;
18
+ //# sourceMappingURL=BlueskyButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlueskyButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/BlueskyButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,aAAa,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC5C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,0BAA0B,CAAA;QAC1C,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,IAAI,EAAE,UAAG,IAAI,cAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SACrE,CAAC,CAAA;QAEF,IAAM,QAAQ,GAAG,UAAG,OAAO,cAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,kBAAkB,EACxB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,SAAS,KAAG,EACb,eAAM,SAAS,EAAC,SAAS,iCAAwB,IACzC,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,aAAa,CAAA","sourcesContent":["'use client'\n\nimport { FaBluesky } from 'react-icons/fa6'\n\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst BlueskyButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://bsky.app/compose'\n\t\tconst params = new URLSearchParams({\n\t\t\ttext: `${text} ${window.location.href}`.replace(/(\\r\\n|\\n|\\r)/g, ' '),\n\t\t})\n\n\t\tconst shareUrl = `${baseUrl}?${params.toString()}`\n\t\twindow.open(shareUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='info'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Bluesky'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0097FF]'\n\t\t>\n\t\t\t<FaBluesky />\n\t\t\t<span className='sr-only'>Share on Bluesky</span>\n\t\t</Button>\n\t)\n}\n\nexport default BlueskyButton\n"]}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { MdEmail } from 'react-icons/md';
4
+ import { Button } from '../..';
5
+ var EmailButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var subject = encodeURIComponent(document.title);
9
+ var body = encodeURIComponent("".concat(text, "\n\n").concat(window.location.href));
10
+ var mailtoUrl = "mailto:?subject=".concat(subject, "&body=").concat(body);
11
+ window.open(mailtoUrl, '_blank', 'noopener,noreferrer');
12
+ };
13
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'info', btnColor: 'light', layout: btnShape, size: size, title: 'Share via Email', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0072C6]', children: [_jsx(MdEmail, {}), _jsx("span", { className: 'sr-only', children: "Share via Email" })] }));
14
+ };
15
+ export default EmailButton;
16
+ //# sourceMappingURL=EmailButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/EmailButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,WAAW,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC1C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAClD,IAAM,IAAI,GAAG,kBAAkB,CAAC,UAAG,IAAI,iBAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAA;QACrE,IAAM,SAAS,GAAG,0BAAmB,OAAO,mBAAS,IAAI,CAAE,CAAA;QAC3D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACxD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,OAAO,KAAG,EACX,eAAM,SAAS,EAAC,SAAS,gCAAuB,IACxC,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,WAAW,CAAA","sourcesContent":["'use client'\n\nimport { MdEmail } from 'react-icons/md'\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst EmailButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst subject = encodeURIComponent(document.title)\n\t\tconst body = encodeURIComponent(`${text}\\n\\n${window.location.href}`)\n\t\tconst mailtoUrl = `mailto:?subject=${subject}&body=${body}`\n\t\twindow.open(mailtoUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='info'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share via Email'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0072C6]'\n\t\t>\n\t\t\t<MdEmail />\n\t\t\t<span className='sr-only'>Share via Email</span>\n\t\t</Button>\n\t)\n}\n\nexport default EmailButton\n"]}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaFacebook } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var FacebookButton = function (_a) {
6
+ var btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://www.facebook.com/sharer/sharer.php';
9
+ var shareUrl = new URL(baseUrl);
10
+ shareUrl.searchParams.set('u', window.location.href);
11
+ window.open(shareUrl.toString(), '_blank', 'noopener,noreferrer');
12
+ };
13
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'primary', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Facebook', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#1877F2]', children: [_jsx(FaFacebook, {}), _jsx("span", { className: 'sr-only', children: "Share on Facebook" })] }));
14
+ };
15
+ export default FacebookButton;
16
+ //# sourceMappingURL=FacebookButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FacebookButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/FacebookButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,cAAc,GAAG,UAAC,EAAuC;QAArC,QAAQ,cAAA,EAAE,IAAI,UAAA;IACvC,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,4CAA4C,CAAA;QAC5D,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAClE,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,SAAS,EACvB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,mBAAmB,EACzB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,UAAU,KAAG,EACd,eAAM,SAAS,EAAC,SAAS,kCAAyB,IAC1C,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["'use client'\n\nimport { FaFacebook } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { FacebookButtonProps } from '../types'\n\nconst FacebookButton = ({ btnShape, size }: FacebookButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://www.facebook.com/sharer/sharer.php'\n\t\tconst shareUrl = new URL(baseUrl)\n\n\t\tshareUrl.searchParams.set('u', window.location.href)\n\n\t\twindow.open(shareUrl.toString(), '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='primary'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Facebook'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#1877F2]'\n\t\t>\n\t\t\t<FaFacebook />\n\t\t\t<span className='sr-only'>Share on Facebook</span>\n\t\t</Button>\n\t)\n}\n\nexport default FacebookButton\n"]}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaLinkedin } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var LinkedInButton = function (_a) {
6
+ var btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://www.linkedin.com/sharing/share-offsite/';
9
+ var shareUrl = new URL(baseUrl);
10
+ shareUrl.searchParams.set('url', window.location.href);
11
+ window.open(shareUrl.toString(), '_blank', 'noopener,noreferrer');
12
+ };
13
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'primary', btnColor: 'light', layout: btnShape, size: size, title: 'Share on LinkedIn', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0077B5]', children: [_jsx(FaLinkedin, {}), _jsx("span", { className: 'sr-only', children: "Share on LinkedIn" })] }));
14
+ };
15
+ export default LinkedInButton;
16
+ //# sourceMappingURL=LinkedinButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedinButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/LinkedinButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,cAAc,GAAG,UAAC,EAAuC;QAArC,QAAQ,cAAA,EAAE,IAAI,UAAA;IACvC,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,iDAAiD,CAAA;QACjE,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEtD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAClE,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,SAAS,EACvB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,mBAAmB,EACzB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,UAAU,KAAG,EACd,eAAM,SAAS,EAAC,SAAS,kCAAyB,IAC1C,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["'use client'\n\nimport { FaLinkedin } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { LinkedInButtonProps } from '../types'\n\nconst LinkedInButton = ({ btnShape, size }: LinkedInButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://www.linkedin.com/sharing/share-offsite/'\n\t\tconst shareUrl = new URL(baseUrl)\n\n\t\tshareUrl.searchParams.set('url', window.location.href)\n\n\t\twindow.open(shareUrl.toString(), '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='primary'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on LinkedIn'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#0077B5]'\n\t\t>\n\t\t\t<FaLinkedin />\n\t\t\t<span className='sr-only'>Share on LinkedIn</span>\n\t\t</Button>\n\t)\n}\n\nexport default LinkedInButton\n"]}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaPinterestP } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var PinterestButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://pinterest.com/pin/create/button/';
9
+ var params = new URLSearchParams({
10
+ description: text.replace(/(\r\n|\n|\r)/g, ' '),
11
+ url: window.location.href,
12
+ });
13
+ var shareUrl = "".concat(baseUrl, "?").concat(params.toString());
14
+ window.open(shareUrl, '_blank', 'noopener,noreferrer');
15
+ };
16
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'danger', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Pinterest', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#E60023]', children: [_jsx(FaPinterestP, {}), _jsx("span", { className: 'sr-only', children: "Share on Pinterest" })] }));
17
+ };
18
+ export default PinterestButton;
19
+ //# sourceMappingURL=PinterestButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinterestButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/PinterestButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,eAAe,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC9C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,0CAA0C,CAAA;QAC1D,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;YAC/C,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SACzB,CAAC,CAAA;QAEF,IAAM,QAAQ,GAAG,UAAG,OAAO,cAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,oBAAoB,EAC1B,SAAS,EAAC,6EAA6E,aAEvF,KAAC,YAAY,KAAG,EAChB,eAAM,SAAS,EAAC,SAAS,mCAA0B,IAC3C,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,eAAe,CAAA","sourcesContent":["'use client'\n\nimport { FaPinterestP } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst PinterestButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://pinterest.com/pin/create/button/'\n\t\tconst params = new URLSearchParams({\n\t\t\tdescription: text.replace(/(\\r\\n|\\n|\\r)/g, ' '),\n\t\t\turl: window.location.href,\n\t\t})\n\n\t\tconst shareUrl = `${baseUrl}?${params.toString()}`\n\t\twindow.open(shareUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='danger'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Pinterest'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#E60023]'\n\t\t>\n\t\t\t<FaPinterestP />\n\t\t\t<span className='sr-only'>Share on Pinterest</span>\n\t\t</Button>\n\t)\n}\n\nexport default PinterestButton\n"]}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaRedditAlien } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var RedditButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://www.reddit.com/submit';
9
+ var params = new URLSearchParams({
10
+ title: text.replace(/(\r\n|\n|\r)/g, ' '),
11
+ url: window.location.href,
12
+ });
13
+ var shareUrl = "".concat(baseUrl, "?").concat(params.toString());
14
+ window.open(shareUrl, '_blank', 'noopener,noreferrer');
15
+ };
16
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'danger', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Reddit', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#FF4500]', children: [_jsx(FaRedditAlien, {}), _jsx("span", { className: 'sr-only', children: "Share on Reddit" })] }));
17
+ };
18
+ export default RedditButton;
19
+ //# sourceMappingURL=RedditButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedditButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/RedditButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,YAAY,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC3C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,+BAA+B,CAAA;QAC/C,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;YACzC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SACzB,CAAC,CAAA;QAEF,IAAM,QAAQ,GAAG,UAAG,OAAO,cAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,aAAa,KAAG,EACjB,eAAM,SAAS,EAAC,SAAS,gCAAuB,IACxC,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,YAAY,CAAA","sourcesContent":["'use client'\n\nimport { FaRedditAlien } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst RedditButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://www.reddit.com/submit'\n\t\tconst params = new URLSearchParams({\n\t\t\ttitle: text.replace(/(\\r\\n|\\n|\\r)/g, ' '),\n\t\t\turl: window.location.href,\n\t\t})\n\n\t\tconst shareUrl = `${baseUrl}?${params.toString()}`\n\t\twindow.open(shareUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='danger'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Reddit'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#FF4500]'\n\t\t>\n\t\t\t<FaRedditAlien />\n\t\t\t<span className='sr-only'>Share on Reddit</span>\n\t\t</Button>\n\t)\n}\n\nexport default RedditButton\n"]}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaSlack } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var SlackButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://slack.com/share';
9
+ var shareUrl = new URL(baseUrl);
10
+ shareUrl.searchParams.set('url', window.location.href);
11
+ shareUrl.searchParams.set('text', text);
12
+ window.open(shareUrl.toString(), '_blank', 'noopener,noreferrer');
13
+ };
14
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'primary', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Slack', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#4A154B]', children: [_jsx(FaSlack, {}), _jsx("span", { className: 'sr-only', children: "Share on Slack" })] }));
15
+ };
16
+ export default SlackButton;
17
+ //# sourceMappingURL=SlackButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/SlackButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,WAAW,GAAG,UAAC,EAA0C;QAAxC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC1C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,yBAAyB,CAAA;QACzC,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACtD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAClE,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,SAAS,EACvB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,gBAAgB,EACtB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,OAAO,KAAG,EACX,eAAM,SAAS,EAAC,SAAS,+BAAsB,IACvC,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,WAAW,CAAA","sourcesContent":["'use client'\n\nimport { FaSlack } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { SlackButtonProps } from '../types'\n\nconst SlackButton = ({ text, btnShape, size }: SlackButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://slack.com/share'\n\t\tconst shareUrl = new URL(baseUrl)\n\n\t\tshareUrl.searchParams.set('url', window.location.href)\n\t\tshareUrl.searchParams.set('text', text)\n\n\t\twindow.open(shareUrl.toString(), '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='primary'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Slack'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#4A154B]'\n\t\t>\n\t\t\t<FaSlack />\n\t\t\t<span className='sr-only'>Share on Slack</span>\n\t\t</Button>\n\t)\n}\n\nexport default SlackButton\n"]}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaTelegramPlane } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var TelegramButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://t.me/share/url';
9
+ var params = new URLSearchParams({
10
+ url: window.location.href,
11
+ text: text.replace(/(\r\n|\n|\r)/g, ' '),
12
+ });
13
+ var shareUrl = "".concat(baseUrl, "?").concat(params.toString());
14
+ window.open(shareUrl, '_blank', 'noopener,noreferrer');
15
+ };
16
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'info', btnColor: 'light', layout: btnShape, size: size, title: 'Share on Telegram', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#229ED9]', children: [_jsx(FaTelegramPlane, {}), _jsx("span", { className: 'sr-only', children: "Share on Telegram" })] }));
17
+ };
18
+ export default TelegramButton;
19
+ //# sourceMappingURL=TelegramButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelegramButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/TelegramButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,cAAc,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC7C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,wBAAwB,CAAA;QACxC,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SACxC,CAAC,CAAA;QAEF,IAAM,QAAQ,GAAG,UAAG,OAAO,cAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,mBAAmB,EACzB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,eAAe,KAAG,EACnB,eAAM,SAAS,EAAC,SAAS,kCAAyB,IAC1C,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["'use client'\n\nimport { FaTelegramPlane } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst TelegramButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://t.me/share/url'\n\t\tconst params = new URLSearchParams({\n\t\t\turl: window.location.href,\n\t\t\ttext: text.replace(/(\\r\\n|\\n|\\r)/g, ' '),\n\t\t})\n\n\t\tconst shareUrl = `${baseUrl}?${params.toString()}`\n\t\twindow.open(shareUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='info'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on Telegram'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#229ED9]'\n\t\t>\n\t\t\t<FaTelegramPlane />\n\t\t\t<span className='sr-only'>Share on Telegram</span>\n\t\t</Button>\n\t)\n}\n\nexport default TelegramButton\n"]}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaWhatsapp } from 'react-icons/fa';
4
+ import { Button } from '../..';
5
+ var WhatsAppButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://api.whatsapp.com/send';
9
+ var shareUrl = new URL(baseUrl);
10
+ shareUrl.searchParams.set('text', "".concat(text, ": ").concat(window.location.href));
11
+ window.open(shareUrl.toString(), '_blank', 'noopener,noreferrer');
12
+ };
13
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'primary', btnColor: 'light', layout: btnShape, size: size, title: 'Share on WhatsApp', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#25D366]', children: [_jsx(FaWhatsapp, {}), _jsx("span", { className: 'sr-only', children: "Share on WhatsApp" })] }));
14
+ };
15
+ export default WhatsAppButton;
16
+ //# sourceMappingURL=WhatsappButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhatsappButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/WhatsappButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,cAAc,GAAG,UAAC,EAA6C;QAA3C,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IAC7C,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,+BAA+B,CAAA;QAC/C,IAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,UAAG,IAAI,eAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAA;QAErE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAClE,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,SAAS,EACvB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,mBAAmB,EACzB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,UAAU,KAAG,EACd,eAAM,SAAS,EAAC,SAAS,kCAAyB,IAC1C,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,cAAc,CAAA","sourcesContent":["'use client'\n\nimport { FaWhatsapp } from 'react-icons/fa'\nimport { Button } from '../..'\nimport { WhatsAppButtonProps } from '../types'\n\nconst WhatsAppButton = ({ text, btnShape, size }: WhatsAppButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://api.whatsapp.com/send'\n\t\tconst shareUrl = new URL(baseUrl)\n\n\t\tshareUrl.searchParams.set('text', `${text}: ${window.location.href}`)\n\n\t\twindow.open(shareUrl.toString(), '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='primary'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on WhatsApp'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#25D366]'\n\t\t>\n\t\t\t<FaWhatsapp />\n\t\t\t<span className='sr-only'>Share on WhatsApp</span>\n\t\t</Button>\n\t)\n}\n\nexport default WhatsAppButton\n"]}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FaXTwitter } from 'react-icons/fa6';
4
+ import { Button } from '../..';
5
+ var XButton = function (_a) {
6
+ var text = _a.text, btnShape = _a.btnShape, size = _a.size;
7
+ var handleShareClick = function () {
8
+ var baseUrl = 'https://x.com/intent/tweet';
9
+ var params = new URLSearchParams({
10
+ text: text.replace(/(\r\n|\n|\r)/g, ' '),
11
+ url: window.location.href,
12
+ });
13
+ var shareUrl = "".concat(baseUrl, "?").concat(params.toString());
14
+ window.open(shareUrl, '_blank', 'noopener,noreferrer');
15
+ };
16
+ return (_jsxs(Button, { onClick: handleShareClick, btnBackground: 'primary', btnColor: 'light', layout: btnShape, size: size, title: 'Share on X', className: 'hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#000000]', children: [_jsx(FaXTwitter, {}), _jsx("span", { className: 'sr-only', children: "Share on X" })] }));
17
+ };
18
+ export default XButton;
19
+ //# sourceMappingURL=XButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XButton.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/buttons/XButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,IAAM,OAAO,GAAG,UAAC,EAAsC;QAApC,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IACtC,IAAM,gBAAgB,GAAG;QACxB,IAAM,OAAO,GAAG,4BAA4B,CAAA;QAC5C,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;YACxC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SACzB,CAAC,CAAA;QAEF,IAAM,QAAQ,GAAG,UAAG,OAAO,cAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,OAAO,CACN,MAAC,MAAM,IACN,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,SAAS,EACvB,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,YAAY,EAClB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,UAAU,KAAG,EACd,eAAM,SAAS,EAAC,SAAS,2BAAkB,IACnC,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["'use client'\n\nimport { FaXTwitter } from 'react-icons/fa6'\nimport { Button } from '../..'\nimport { XButtonProps } from '../types'\n\nconst XButton = ({ text, btnShape, size }: XButtonProps) => {\n\tconst handleShareClick = () => {\n\t\tconst baseUrl = 'https://x.com/intent/tweet'\n\t\tconst params = new URLSearchParams({\n\t\t\ttext: text.replace(/(\\r\\n|\\n|\\r)/g, ' '),\n\t\t\turl: window.location.href,\n\t\t})\n\n\t\tconst shareUrl = `${baseUrl}?${params.toString()}`\n\t\twindow.open(shareUrl, '_blank', 'noopener,noreferrer')\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={handleShareClick}\n\t\t\tbtnBackground='primary'\n\t\t\tbtnColor='light'\n\t\t\tlayout={btnShape}\n\t\t\tsize={size}\n\t\t\ttitle='Share on X'\n\t\t\tclassName='hover:opacity-80 focus:text-light focus-visible:outline-accent bg-[#000000]'\n\t\t>\n\t\t\t<FaXTwitter />\n\t\t\t<span className='sr-only'>Share on X</span>\n\t\t</Button>\n\t)\n}\n\nexport default XButton\n"]}
@@ -0,0 +1,12 @@
1
+ export { default as SocialShare } from './SocialShare';
2
+ export { default as FacebookButton } from './buttons/FacebookButton';
3
+ export { default as RedditButton } from './buttons/RedditButton';
4
+ export { default as LinkedinButton } from './buttons/LinkedinButton';
5
+ export { default as EmailButton } from './buttons/EmailButton';
6
+ export { default as PinterestButton } from './buttons/PinterestButton';
7
+ export { default as SlackButton } from './buttons/SlackButton';
8
+ export { default as TelegramButton } from './buttons/TelegramButton';
9
+ export { default as WhatsAppButton } from './buttons/WhatsappButton';
10
+ export { default as XButton } from './buttons/XButton';
11
+ export { default as BlueskyButton } from './buttons/BlueskyButton';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/socialshare/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAA","sourcesContent":["export { default as SocialShare } from './SocialShare'\n\nexport { default as FacebookButton } from './buttons/FacebookButton'\nexport { default as RedditButton } from './buttons/RedditButton'\nexport { default as LinkedinButton } from './buttons/LinkedinButton'\nexport { default as EmailButton } from './buttons/EmailButton'\nexport { default as PinterestButton } from './buttons/PinterestButton'\nexport { default as SlackButton } from './buttons/SlackButton'\nexport { default as TelegramButton } from './buttons/TelegramButton'\nexport { default as WhatsAppButton } from './buttons/WhatsappButton'\nexport { default as XButton } from './buttons/XButton'\nexport { default as BlueskyButton } from './buttons/BlueskyButton'\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/socialshare/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface btnProps {\n\tbtnShape?: 'rounded' | 'square' | 'circle'\n\tsize?: 'md' | 'lg' | 'xl'\n}\n\nexport type SocialShareButton =\n\t| 'X'\n\t| 'Facebook'\n\t| 'LinkedIn'\n\t| 'Slack'\n\t| 'WhatsApp'\n\t| 'Reddit'\n\t| 'Pinterest'\n\t| 'Telegram'\n\t| 'Email'\n\t| 'Bluesky'\n\nexport interface SocialShareProps extends btnProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tlayout?: 'horizontal' | 'vertical'\n\ttext: string\n\tbuttons: SocialShareButton[]\n\tgap?: 'none' | 'sm' | 'md' | 'lg'\n\tgrayscale?: boolean\n}\n\nexport interface XButtonProps extends btnProps {\n\ttext: string\n}\n\nexport interface WhatsAppButtonProps extends XButtonProps {}\nexport interface SlackButtonProps extends XButtonProps {}\n\nexport interface FacebookButtonProps extends btnProps {}\nexport interface LinkedInButtonProps extends btnProps {}\n"]}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { round } from '@smitch/js-lib';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { Heading } from '..';
5
+ var StatBar = function (_a) {
6
+ var title = _a.title, _b = _a.titleAlign, titleAlign = _b === void 0 ? 'center' : _b, _c = _a.titleSize, titleSize = _c === void 0 ? 4 : _c, _d = _a.titleWeight, titleWeight = _d === void 0 ? 'semibold' : _d, labels = _a.labels, _e = _a.showLabels, showLabels = _e === void 0 ? true : _e, data = _a.data, _f = _a.colors, colors = _f === void 0 ? ['rgb(255, 219, 40)', 'rgb(20, 20, 20)'] : _f, className = _a.className, style = _a.style;
7
+ var total = data[0] + data[1];
8
+ var percentage1 = total === 0 ? 50 : (data[0] / total) * 100;
9
+ return (_jsxs("div", { className: twMerge("statbar", className), style: style, children: [showLabels ? (_jsxs("div", { className: 'statbar-labels flex justify-center gap-4 mb-2', children: [_jsxs("div", { className: 'flex gap-2 items-center', children: [labels[0], ' ', _jsx("div", { className: "aspect-square w-4", style: { backgroundColor: colors[0] } })] }), _jsxs("div", { className: 'flex gap-2 items-center', children: [_jsx("div", { className: "aspect-square w-4", style: { backgroundColor: colors[1] } }), labels[1]] })] })) : null, title ? (_jsx(Heading, { level: titleSize, align: titleAlign, weight: titleWeight, className: 'mb-2', children: title })) : null, _jsxs("div", { className: 'grid grid-cols-12 gap-1', children: [_jsx("div", { className: 'text-center', children: round(data[0]) }), _jsx("div", { className: 'col-span-10', children: _jsx("progress", { value: percentage1, max: 100, className: "w-full h-6 appearance-none", style: {
10
+ '--progress-bar-bg': colors[1],
11
+ '--progress-value-bg': colors[0],
12
+ } }) }), _jsx("div", { className: 'text-center', children: round(data[1]) })] }), _jsx("style", { children: "\n progress::-webkit-progress-bar {\n background-color: var(--progress-bar-bg);\n }\n progress::-webkit-progress-value {\n background-color: var(--progress-value-bg);\n }\n progress::-moz-progress-bar {\n background-color: var(--progress-value-bg);\n }\n " })] }));
13
+ };
14
+ export default StatBar;
15
+ //# sourceMappingURL=StatBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatBar.js","sourceRoot":"","sources":["../../../src/ui/statbar/StatBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,IAAM,OAAO,GAAG,UAAC,EAWF;QAVd,KAAK,WAAA,EACL,kBAAqB,EAArB,UAAU,mBAAG,QAAQ,KAAA,EACrB,iBAAa,EAAb,SAAS,mBAAG,CAAC,KAAA,EACb,mBAAwB,EAAxB,WAAW,mBAAG,UAAU,KAAA,EACxB,MAAM,YAAA,EACN,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,IAAI,UAAA,EACJ,cAAiD,EAAjD,MAAM,mBAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,KAAA,EACjD,SAAS,eAAA,EACT,KAAK,WAAA;IAEL,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAM,WAAW,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAA;IAE9D,OAAO,CACN,eACC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EACxC,KAAK,EAAE,KAAK,aAEX,UAAU,CAAC,CAAC,CAAC,CACb,eAAK,SAAS,EAAC,+CAA+C,aAC7D,eAAK,SAAS,EAAC,yBAAyB,aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EACf,cACC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAC/B,IACF,EACN,eAAK,SAAS,EAAC,yBAAyB,aACvC,cACC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAC/B,EACN,MAAM,CAAC,CAAC,CAAC,IACL,IACD,CACN,CAAC,CAAC,CAAC,IAAI,EAEP,KAAK,CAAC,CAAC,CAAC,CACR,KAAC,OAAO,IACP,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAC,MAAM,YAEf,KAAK,GACG,CACV,CAAC,CAAC,CAAC,IAAI,EAER,eAAK,SAAS,EAAC,yBAAyB,aACvC,cAAK,SAAS,EAAC,aAAa,YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAO,EACnD,cAAK,SAAS,EAAC,aAAa,YAC3B,mBACC,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,4BAA4B,EACvC,KAAK,EACJ;gCACC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;gCAC9B,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;6BACT,GAExB,GACG,EACN,cAAK,SAAS,EAAC,aAAa,YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAO,IAC9C,EAEN,0BACE,ucAUY,GACN,IACH,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,OAAO,CAAA","sourcesContent":["import React from 'react'\nimport { round } from '@smitch/js-lib'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { StatBarProps } from './types'\nimport { Heading } from '..'\n\nconst StatBar = ({\n\ttitle,\n\ttitleAlign = 'center',\n\ttitleSize = 4,\n\ttitleWeight = 'semibold',\n\tlabels,\n\tshowLabels = true,\n\tdata,\n\tcolors = ['rgb(255, 219, 40)', 'rgb(20, 20, 20)'],\n\tclassName,\n\tstyle,\n}: StatBarProps) => {\n\tconst total = data[0] + data[1]\n\tconst percentage1 = total === 0 ? 50 : (data[0] / total) * 100\n\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(`statbar`, className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{showLabels ? (\n\t\t\t\t<div className='statbar-labels flex justify-center gap-4 mb-2'>\n\t\t\t\t\t<div className='flex gap-2 items-center'>\n\t\t\t\t\t\t{labels[0]}{' '}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`aspect-square w-4`}\n\t\t\t\t\t\t\tstyle={{ backgroundColor: colors[0] }}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='flex gap-2 items-center'>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`aspect-square w-4`}\n\t\t\t\t\t\t\tstyle={{ backgroundColor: colors[1] }}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t\t{labels[1]}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t{title ? (\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={titleSize}\n\t\t\t\t\talign={titleAlign}\n\t\t\t\t\tweight={titleWeight}\n\t\t\t\t\tclassName='mb-2'\n\t\t\t\t>\n\t\t\t\t\t{title}\n\t\t\t\t</Heading>\n\t\t\t) : null}\n\n\t\t\t<div className='grid grid-cols-12 gap-1'>\n\t\t\t\t<div className='text-center'>{round(data[0])}</div>\n\t\t\t\t<div className='col-span-10'>\n\t\t\t\t\t<progress\n\t\t\t\t\t\tvalue={percentage1}\n\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\tclassName={`w-full h-6 appearance-none`}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'--progress-bar-bg': colors[1],\n\t\t\t\t\t\t\t\t'--progress-value-bg': colors[0],\n\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className='text-center'>{round(data[1])}</div>\n\t\t\t</div>\n\n\t\t\t<style>\n\t\t\t\t{`\n progress::-webkit-progress-bar {\n background-color: var(--progress-bar-bg);\n }\n progress::-webkit-progress-value {\n background-color: var(--progress-value-bg);\n }\n progress::-moz-progress-bar {\n background-color: var(--progress-value-bg);\n }\n `}\n\t\t\t</style>\n\t\t</div>\n\t)\n}\n\nexport default StatBar\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as StatBar } from './StatBar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/statbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA","sourcesContent":["export { default as StatBar } from './StatBar'\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/statbar/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface StatBarProps {\n\ttitle?: string\n\ttitleAlign?: 'left' | 'center' | 'right'\n\ttitleWeight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold'\n\ttitleSize?: 2 | 3 | 4 | 5\n\tlabels: [string, string]\n\tshowLabels?: boolean\n\tdata: [number, number]\n\tcolors?: [string, string]\n\tclassName?: string\n\tstyle?: React.CSSProperties\n}\n"]}
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useRef, useMemo } from 'react';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { Input } from '..';
6
+ var requiredClasses = "after:text-accent after:content-['_*']";
7
+ var sizes = {
8
+ base: 'text-base',
9
+ lg: 'text-lg',
10
+ xl: 'text-2xl',
11
+ };
12
+ var unCheckedColors = {
13
+ info: 'bg-info',
14
+ success: 'bg-success',
15
+ warning: 'bg-warning',
16
+ danger: 'bg-danger',
17
+ primary: 'bg-primary',
18
+ secondary: 'bg-secondary',
19
+ current: 'bg-current',
20
+ neutral: 'bg-neutral',
21
+ };
22
+ var checkedColors = {
23
+ info: 'peer-checked:bg-info',
24
+ success: 'peer-checked:bg-success',
25
+ warning: 'peer-checked:bg-warning',
26
+ danger: 'peer-checked:bg-danger',
27
+ primary: 'peer-checked:bg-primary',
28
+ secondary: 'peer-checked:bg-secondary',
29
+ current: 'peer-checked:bg-current',
30
+ neutral: 'peer-checked:bg-neutral',
31
+ };
32
+ var Switch = function (_a) {
33
+ var label = _a.label, labelIsBold = _a.labelIsBold, _b = _a.labelSize, labelSize = _b === void 0 ? 'base' : _b, _c = _a.className, className = _c === void 0 ? '' : _c, style = _a.style, onChange = _a.onChange, checked = _a.checked, defaultChecked = _a.defaultChecked, name = _a.name, _d = _a.shape, shape = _d === void 0 ? 'circle' : _d, _e = _a.required, required = _e === void 0 ? false : _e, _f = _a.switchOffContent, switchOffContent = _f === void 0 ? '' : _f, _g = _a.switchOnContent, switchOnContent = _g === void 0 ? '' : _g, _h = _a.switchOffColor, switchOffColor = _h === void 0 ? 'neutral' : _h, _j = _a.switchOnColor, switchOnColor = _j === void 0 ? 'info' : _j, _k = _a.thin, thin = _k === void 0 ? false : _k, disabled = _a.disabled, _l = _a.showHint, showHint = _l === void 0 ? false : _l, hint = _a.hint;
34
+ var checkbox = useRef(null);
35
+ var unCheckedColorClasses = useMemo(function () { return unCheckedColors[switchOffColor]; }, [switchOffColor]);
36
+ var checkedColorClasses = useMemo(function () { return checkedColors[switchOnColor]; }, [switchOnColor]);
37
+ var sizeClasses = useMemo(function () { return sizes[labelSize]; }, [labelSize]);
38
+ var sliderBeforeClasses = useMemo(function () {
39
+ return "before:flex before:justify-center before:items-center before:text-lg before:font-bold before:absolute before:h-8 before:w-8 before:transition-transform ".concat(thin
40
+ ? 'before:left-0 before:-top-3 before:bg-inherit'
41
+ : 'before:left-1 before:bottom-1 before:bg-white dark:before:bg-dark');
42
+ }, [thin]);
43
+ var handleKeyup = function (event) {
44
+ if (event.key !== 'Enter')
45
+ return;
46
+ checkbox.current.checked = !checkbox.current.checked;
47
+ };
48
+ var handleChange = function (event) {
49
+ if (onChange)
50
+ onChange(event);
51
+ };
52
+ return (_jsxs("div", { className: 'switch', children: [_jsxs("label", { className: twMerge("switch-label group relative ".concat(sizeClasses, " ").concat(labelIsBold ? 'font-semibold' : 'font-normal', " ").concat(disabled ? 'cursor-default text-neutral' : 'cursor-pointer', " h-8 w-auto flex-row-reverse items-center ").concat(label ? 'gap-4' : 'gap-0', " flex row-reverse"), className), style: style, onKeyUp: handleKeyup, children: [_jsx("span", { className: "switch-text grow ".concat(required ? requiredClasses : ''), children: label }), _jsx(Input, { name: name, id: name, type: 'checkbox', "data-testid": "input-".concat(name), className: "checkbox hidden peer", required: required, disabled: disabled, onChange: handleChange, checked: checked, defaultChecked: defaultChecked, ref: checkbox }), _jsx("span", { className: "slider block relative ".concat(unCheckedColorClasses, " bottom-0 left-0 right-0 top-0 ").concat(thin ? 'h-2 w-[60px]' : 'h-10 w-[67px]', " ").concat(disabled ? 'cursor-default bg-neutral opacity-60' : 'cursor-pointer', " transition-transform ").concat(shape === 'circle' ? 'rounded-full before:rounded-full' : '', " ").concat(sliderBeforeClasses, " before:content-[attr(data-off)] peer-checked:before:content-[attr(data-on)] before:translate-x-0 peer-checked:before:translate-x-7 ").concat(checkedColorClasses), "data-off": switchOffContent, "data-on": switchOnContent })] }), showHint && _jsx("p", { className: "hint text-sm font-normal mt-4 dark:text-light", children: hint })] }));
53
+ };
54
+ export default Switch;
55
+ //# sourceMappingURL=Switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/ui/switch/Switch.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport React, { useRef, useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { Input } from '..'\nimport { SwitchProps } from './types'\n\nconst requiredClasses = \"after:text-accent after:content-['_*']\"\n\nconst sizes = {\n\tbase: 'text-base',\n\tlg: 'text-lg',\n\txl: 'text-2xl',\n}\n\nconst unCheckedColors = {\n\tinfo: 'bg-info',\n\tsuccess: 'bg-success',\n\twarning: 'bg-warning',\n\tdanger: 'bg-danger',\n\tprimary: 'bg-primary',\n\tsecondary: 'bg-secondary',\n\tcurrent: 'bg-current',\n\tneutral: 'bg-neutral',\n}\n\nconst checkedColors = {\n\tinfo: 'peer-checked:bg-info',\n\tsuccess: 'peer-checked:bg-success',\n\twarning: 'peer-checked:bg-warning',\n\tdanger: 'peer-checked:bg-danger',\n\tprimary: 'peer-checked:bg-primary',\n\tsecondary: 'peer-checked:bg-secondary',\n\tcurrent: 'peer-checked:bg-current',\n\tneutral: 'peer-checked:bg-neutral',\n}\n\nconst Switch = ({\n\tlabel,\n\tlabelIsBold,\n\tlabelSize = 'base',\n\tclassName = '',\n\tstyle,\n\tonChange,\n\tchecked,\n\tdefaultChecked,\n\tname,\n\tshape = 'circle',\n\trequired = false,\n\tswitchOffContent = '',\n\tswitchOnContent = '',\n\tswitchOffColor = 'neutral',\n\tswitchOnColor = 'info',\n\tthin = false,\n\tdisabled,\n\tshowHint = false,\n\thint,\n}: SwitchProps) => {\n\tconst checkbox = useRef<HTMLInputElement>(null!)\n\n\tconst unCheckedColorClasses = useMemo(() => unCheckedColors[switchOffColor], [switchOffColor])\n\tconst checkedColorClasses = useMemo(() => checkedColors[switchOnColor], [switchOnColor])\n\tconst sizeClasses = useMemo(() => sizes[labelSize], [labelSize])\n\n\tconst sliderBeforeClasses = useMemo(() => {\n\t\treturn `before:flex before:justify-center before:items-center before:text-lg before:font-bold before:absolute before:h-8 before:w-8 before:transition-transform ${\n\t\t\tthin\n\t\t\t\t? 'before:left-0 before:-top-3 before:bg-inherit'\n\t\t\t\t: 'before:left-1 before:bottom-1 before:bg-white dark:before:bg-dark'\n\t\t}`\n\t}, [thin])\n\n\tconst handleKeyup = (event: any) => {\n\t\tif (event.key !== 'Enter') return\n\t\tcheckbox.current.checked = !checkbox.current.checked\n\t}\n\n\tconst handleChange = (event: any) => {\n\t\tif (onChange) onChange(event)\n\t}\n\n\treturn (\n\t\t<div className='switch'>\n\t\t\t<label\n\t\t\t\tclassName={twMerge(\n\t\t\t\t\t`switch-label group relative ${sizeClasses} ${\n\t\t\t\t\t\tlabelIsBold ? 'font-semibold' : 'font-normal'\n\t\t\t\t\t} ${\n\t\t\t\t\t\tdisabled ? 'cursor-default text-neutral' : 'cursor-pointer'\n\t\t\t\t\t} h-8 w-auto flex-row-reverse items-center ${label ? 'gap-4' : 'gap-0'} flex row-reverse`,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t\tonKeyUp={handleKeyup}\n\t\t\t>\n\t\t\t\t<span className={`switch-text grow ${required ? requiredClasses : ''}`}>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t\t<Input\n\t\t\t\t\tname={name}\n\t\t\t\t\tid={name}\n\t\t\t\t\ttype='checkbox'\n\t\t\t\t\tdata-testid={`input-${name}`}\n\t\t\t\t\tclassName={`checkbox hidden peer`}\n\t\t\t\t\trequired={required}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tchecked={checked}\n\t\t\t\t\tdefaultChecked={defaultChecked}\n\t\t\t\t\tref={checkbox}\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`slider block relative ${unCheckedColorClasses} bottom-0 left-0 right-0 top-0 ${\n\t\t\t\t\t\tthin ? 'h-2 w-[60px]' : 'h-10 w-[67px]'\n\t\t\t\t\t} ${disabled ? 'cursor-default bg-neutral opacity-60' : 'cursor-pointer'} transition-transform ${\n\t\t\t\t\t\tshape === 'circle' ? 'rounded-full before:rounded-full' : ''\n\t\t\t\t\t} ${sliderBeforeClasses} before:content-[attr(data-off)] peer-checked:before:content-[attr(data-on)] before:translate-x-0 peer-checked:before:translate-x-7 ${checkedColorClasses}`}\n\t\t\t\t\tdata-off={switchOffContent}\n\t\t\t\t\tdata-on={switchOnContent}\n\t\t\t\t></span>\n\t\t\t</label>\n\t\t\t{showHint && <p className={`hint text-sm font-normal mt-4 dark:text-light`}>{hint}</p>}\n\t\t</div>\n\t)\n}\n\nexport default Switch\n"]}