@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,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { twMerge } from 'tailwind-merge';
4
+ var layouts = {
5
+ horizontal: 'flex-row',
6
+ vertical: 'flex-col text-start',
7
+ };
8
+ var outlines = {
9
+ none: '',
10
+ thin: 'border-2',
11
+ thick: 'border-4',
12
+ };
13
+ var gapSpacing = {
14
+ none: 'gap-0',
15
+ sm: 'gap-1',
16
+ md: 'gap-2',
17
+ lg: 'gap-3',
18
+ xl: 'gap-4',
19
+ };
20
+ var outlineColors = {
21
+ none: 'border-transparent',
22
+ light: 'border-light',
23
+ dark: 'border-dark',
24
+ grey: 'border-neutral',
25
+ };
26
+ var ButtonGroup = function (_a) {
27
+ var _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.label, label = _c === void 0 ? 'Button group' : _c, _d = _a.layout, layout = _d === void 0 ? 'horizontal' : _d, _e = _a.rounded, rounded = _e === void 0 ? true : _e, children = _a.children, outline = _a.outline, _f = _a.outlineColor, outlineColor = _f === void 0 ? 'light' : _f, _g = _a.gap, gap = _g === void 0 ? 'none' : _g;
28
+ var layoutClasses = useMemo(function () { return layouts[layout]; }, [layout]);
29
+ var outlineClasses = useMemo(function () { return (outline ? outlines[outline] : ''); }, [outline]);
30
+ var outlineColorClasses = useMemo(function () { return (outline ? outlineColors[outlineColor] : ''); }, [outline, outlineColor]);
31
+ var gapClasses = useMemo(function () { return gapSpacing[gap]; }, [gap]);
32
+ return (_jsx("div", { className: twMerge("buttongroup group inline-flex overflow-hidden ".concat(layoutClasses, " ").concat(outlineClasses, " ").concat(outlineColorClasses, " ").concat(gapClasses, " ").concat(rounded ? 'rounded-md' : 'rounded-none'), className), role: 'group', "aria-label": label, "data-testid": 'buttongroup', children: children }));
33
+ };
34
+ export default ButtonGroup;
35
+ //# sourceMappingURL=ButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../../src/ui/buttongroup/ButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,OAAO,GAAG;IACf,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,qBAAqB;CAC/B,CAAA;AAED,IAAM,QAAQ,GAAG;IAChB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;CACjB,CAAA;AAED,IAAM,UAAU,GAAG;IAClB,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;CACX,CAAA;AAED,IAAM,aAAa,GAAG;IACrB,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,gBAAgB;CACtB,CAAA;AAED,IAAM,WAAW,GAAG,UAAC,EASF;QARlB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,aAAsB,EAAtB,KAAK,mBAAG,cAAc,KAAA,EACtB,cAAqB,EAArB,MAAM,mBAAG,YAAY,KAAA,EACrB,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,oBAAsB,EAAtB,YAAY,mBAAG,OAAO,KAAA,EACtB,WAAY,EAAZ,GAAG,mBAAG,MAAM,KAAA;IAEZ,IAAM,aAAa,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,IAAM,cAAc,GAAG,OAAO,CAAC,cAAM,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAlC,CAAkC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACnF,IAAM,mBAAmB,GAAG,OAAO,CAClC,cAAM,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA5C,CAA4C,EAClD,CAAC,OAAO,EAAE,YAAY,CAAC,CACvB,CAAA;IACD,IAAM,UAAU,GAAG,OAAO,CAAC,cAAM,OAAA,UAAU,CAAC,GAAG,CAAC,EAAf,CAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,OAAO,CACN,cACC,SAAS,EAAE,OAAO,CACjB,wDAAiD,aAAa,cAAI,cAAc,cAAI,mBAAmB,cAAI,UAAU,cACpH,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CACtC,EACF,SAAS,CACT,EACD,IAAI,EAAC,OAAO,gBACA,KAAK,iBACL,aAAa,YAExB,QAAQ,GACJ,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,WAAW,CAAA","sourcesContent":["import React, { useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { ButtonGroupProps } from './types'\n\nconst layouts = {\n\thorizontal: 'flex-row',\n\tvertical: 'flex-col text-start',\n}\n\nconst outlines = {\n\tnone: '',\n\tthin: 'border-2',\n\tthick: 'border-4',\n}\n\nconst gapSpacing = {\n\tnone: 'gap-0',\n\tsm: 'gap-1',\n\tmd: 'gap-2',\n\tlg: 'gap-3',\n\txl: 'gap-4',\n}\n\nconst outlineColors = {\n\tnone: 'border-transparent',\n\tlight: 'border-light',\n\tdark: 'border-dark',\n\tgrey: 'border-neutral',\n}\n\nconst ButtonGroup = ({\n\tclassName = '',\n\tlabel = 'Button group',\n\tlayout = 'horizontal',\n\trounded = true,\n\tchildren,\n\toutline,\n\toutlineColor = 'light',\n\tgap = 'none',\n}: ButtonGroupProps) => {\n\tconst layoutClasses = useMemo(() => layouts[layout], [layout])\n\tconst outlineClasses = useMemo(() => (outline ? outlines[outline] : ''), [outline])\n\tconst outlineColorClasses = useMemo(\n\t\t() => (outline ? outlineColors[outlineColor] : ''),\n\t\t[outline, outlineColor]\n\t)\n\tconst gapClasses = useMemo(() => gapSpacing[gap], [gap])\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t`buttongroup group inline-flex overflow-hidden ${layoutClasses} ${outlineClasses} ${outlineColorClasses} ${gapClasses} ${\n\t\t\t\t\trounded ? 'rounded-md' : 'rounded-none'\n\t\t\t\t}`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\trole='group'\n\t\t\taria-label={label}\n\t\t\tdata-testid='buttongroup'\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport default ButtonGroup\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as ButtonGroup } from './ButtonGroup';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/buttongroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA","sourcesContent":["export { default as ButtonGroup } from './ButtonGroup'\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/buttongroup/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface ButtonGroupProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tchildren: React.ReactNode\n\tlabel?: string\n\tlayout?: 'horizontal' | 'vertical'\n\trounded?: boolean\n\toutline?: 'none' | 'thin' | 'thick'\n\toutlineColor?: 'none' | 'light' | 'dark' | 'grey'\n\tgap?: 'none' | 'sm' | 'md' | 'lg' | 'xl'\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { twMerge } from 'tailwind-merge';
4
+ var shadows = {
5
+ sm: 'shadow-sm shadow-[2px_2px_2px_0_rgba(0,0,0,0.15)] rtl:shadow-[-2px_2px_2px_0_rgba(0,0,0,0.15)] dark:shadow-[2px_2px_2px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-2px_2px_2px_0_rgba(255,255,255,0.2)]',
6
+ md: 'shadow-md shadow-[4px_4px_4px_0_rgba(0,0,0,0.15)] rtl:shadow-[-4px_4px_4px_0_rgba(0,0,0,0.15)] dark:shadow-[4px_4px_4px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-4px_4px_4px_0_rgba(255,255,255,0.2)]',
7
+ lg: 'shadow-lg shadow-[6px_6px_6px_0_rgba(0,0,0,0.15)] rtl:shadow-[-6px_6px_10px_6px_rgba(0,0,0,0.15)] dark:shadow-[6px_6px_6px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-6px_6px_6px_0_rgba(255,255,255,0.2)]',
8
+ xl: 'shadow-xl shadow-[8px_8px_8px_0_rgba(0,0,0,0.15)] rtl:shadow-[-8px_8px_8px_0_rgba(0,0,0,0.15)] dark:shadow-[8px_8px_8px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-8px_8px_8px_0_rgba(255,255,255,0.2)]',
9
+ none: 'shadow-none',
10
+ };
11
+ var layouts = {
12
+ col: 'col flex flex-col',
13
+ col_reverse: 'col flex flex-col-reverse',
14
+ row: 'row grid grid-cols-4',
15
+ };
16
+ var roundeds = {
17
+ none: '',
18
+ sm: 'rounded-sm overflow-hidden',
19
+ md: 'rounded-md overflow-hidden',
20
+ lg: 'rounded-lg overflow-hidden',
21
+ xl: 'rounded-xl overflow-hidden',
22
+ };
23
+ var Card = function (_a) {
24
+ var _b = _a.className, className = _b === void 0 ? '' : _b, style = _a.style, _c = _a.shadow, shadow = _c === void 0 ? 'none' : _c, children = _a.children, _d = _a.layout, layout = _d === void 0 ? 'col' : _d, _e = _a.rounded, rounded = _e === void 0 ? 'none' : _e, _f = _a.outline, outline = _f === void 0 ? true : _f;
25
+ var layoutClasses = useMemo(function () { return layouts[layout]; }, [layout]);
26
+ var shadowClasses = useMemo(function () { return (shadow ? "".concat(shadows[shadow]) : ''); }, [shadow]);
27
+ var roundedClasses = useMemo(function () { return roundeds[rounded]; }, [rounded]);
28
+ var outlineClasses = useMemo(function () { return (outline ? 'border border-dark/[.20] dark:border-light/[.20]' : ''); }, [outline]);
29
+ return (_jsx("div", { className: twMerge("card group relative bg-light text-dark dark:bg-dark dark:text-light ".concat(shadowClasses, " ").concat(layoutClasses, " ").concat(roundedClasses, " ").concat(outlineClasses), className), style: style, "data-testid": 'card', children: children }));
30
+ };
31
+ export default Card;
32
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/ui/card/Card.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,OAAO,GAAG;IACf,EAAE,EAAE,yMAAyM;IAC7M,EAAE,EAAE,yMAAyM;IAC7M,EAAE,EAAE,4MAA4M;IAChN,EAAE,EAAE,yMAAyM;IAC7M,IAAI,EAAE,aAAa;CACnB,CAAA;AAED,IAAM,OAAO,GAAG;IACf,GAAG,EAAE,mBAAmB;IACxB,WAAW,EAAE,2BAA2B;IACxC,GAAG,EAAE,sBAAsB;CAC3B,CAAA;AAED,IAAM,QAAQ,GAAG;IAChB,IAAI,EAAE,EAAE;IACR,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,4BAA4B;IAChC,EAAE,EAAE,4BAA4B;CAChC,CAAA;AAED,IAAM,IAAI,GAAG,UAAC,EAQF;QAPX,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,KAAK,WAAA,EACL,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EACf,QAAQ,cAAA,EACR,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,eAAgB,EAAhB,OAAO,mBAAG,MAAM,KAAA,EAChB,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA;IAEd,IAAM,aAAa,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,IAAM,aAAa,GAAG,OAAO,CAAC,cAAM,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAApC,CAAoC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACnF,IAAM,cAAc,GAAG,OAAO,CAAC,cAAM,OAAA,QAAQ,CAAC,OAAO,CAAC,EAAjB,CAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAClE,IAAM,cAAc,GAAG,OAAO,CAC7B,cAAM,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAnE,CAAmE,EACzE,CAAC,OAAO,CAAC,CACT,CAAA;IAED,OAAO,CACN,cACC,SAAS,EAAE,OAAO,CACjB,8EAAuE,aAAa,cAAI,aAAa,cAAI,cAAc,cAAI,cAAc,CAAE,EAC3I,SAAS,CACT,EACD,KAAK,EAAE,KAAK,iBACA,MAAM,YAEjB,QAAQ,GACJ,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,IAAI,CAAA","sourcesContent":["import React, { useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CardProps } from './types'\n\nconst shadows = {\n\tsm: 'shadow-sm shadow-[2px_2px_2px_0_rgba(0,0,0,0.15)] rtl:shadow-[-2px_2px_2px_0_rgba(0,0,0,0.15)] dark:shadow-[2px_2px_2px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-2px_2px_2px_0_rgba(255,255,255,0.2)]',\n\tmd: 'shadow-md shadow-[4px_4px_4px_0_rgba(0,0,0,0.15)] rtl:shadow-[-4px_4px_4px_0_rgba(0,0,0,0.15)] dark:shadow-[4px_4px_4px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-4px_4px_4px_0_rgba(255,255,255,0.2)]',\n\tlg: 'shadow-lg shadow-[6px_6px_6px_0_rgba(0,0,0,0.15)] rtl:shadow-[-6px_6px_10px_6px_rgba(0,0,0,0.15)] dark:shadow-[6px_6px_6px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-6px_6px_6px_0_rgba(255,255,255,0.2)]',\n\txl: 'shadow-xl shadow-[8px_8px_8px_0_rgba(0,0,0,0.15)] rtl:shadow-[-8px_8px_8px_0_rgba(0,0,0,0.15)] dark:shadow-[8px_8px_8px_0_rgba(255,255,255,0.2)] rtl:dark:shadow-[-8px_8px_8px_0_rgba(255,255,255,0.2)]',\n\tnone: 'shadow-none',\n}\n\nconst layouts = {\n\tcol: 'col flex flex-col',\n\tcol_reverse: 'col flex flex-col-reverse',\n\trow: 'row grid grid-cols-4',\n}\n\nconst roundeds = {\n\tnone: '',\n\tsm: 'rounded-sm overflow-hidden',\n\tmd: 'rounded-md overflow-hidden',\n\tlg: 'rounded-lg overflow-hidden',\n\txl: 'rounded-xl overflow-hidden',\n}\n\nconst Card = ({\n\tclassName = '',\n\tstyle,\n\tshadow = 'none',\n\tchildren,\n\tlayout = 'col',\n\trounded = 'none',\n\toutline = true,\n}: CardProps) => {\n\tconst layoutClasses = useMemo(() => layouts[layout], [layout])\n\tconst shadowClasses = useMemo(() => (shadow ? `${shadows[shadow]}` : ''), [shadow])\n\tconst roundedClasses = useMemo(() => roundeds[rounded], [rounded])\n\tconst outlineClasses = useMemo(\n\t\t() => (outline ? 'border border-dark/[.20] dark:border-light/[.20]' : ''),\n\t\t[outline]\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t`card group relative bg-light text-dark dark:bg-dark dark:text-light ${shadowClasses} ${layoutClasses} ${roundedClasses} ${outlineClasses}`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tdata-testid='card'\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport default Card\n"]}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { twMerge } from 'tailwind-merge';
3
+ var CardBody = function (_a) {
4
+ var _b = _a.className, className = _b === void 0 ? '' : _b, children = _a.children;
5
+ return (_jsx("div", { className: twMerge("card-body h-full relative flex flex-col p-2 group-[.row]:col-span-4 group-[.row]:peer-[.card-image]:col-span-3", className), children: children }));
6
+ };
7
+ export default CardBody;
8
+ //# sourceMappingURL=CardBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardBody.js","sourceRoot":"","sources":["../../../../src/ui/card/atoms/CardBody.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,QAAQ,GAAG,UAAC,EAA2C;QAAzC,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EAAE,QAAQ,cAAA;IAC3C,OAAO,CACN,cACC,SAAS,EAAE,OAAO,CACjB,gHAAgH,EAChH,SAAS,CACT,YAEA,QAAQ,GACJ,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA","sourcesContent":["import React from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CardBodyProps } from '../types'\n\nconst CardBody = ({ className = '', children }: CardBodyProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t`card-body h-full relative flex flex-col p-2 group-[.row]:col-span-4 group-[.row]:peer-[.card-image]:col-span-3`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport default CardBody\n"]}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Link from 'next/link';
3
+ import { twMerge } from 'tailwind-merge';
4
+ var CardFooter = function (_a) {
5
+ var _b = _a.className, className = _b === void 0 ? '' : _b, link = _a.link, linkLabel = _a.linkLabel, children = _a.children;
6
+ return (_jsxs("div", { className: twMerge("card-footer flex px-2 pt-4 items-center mt-auto", className), children: [children, link && (_jsx(Link, { href: link, className: 'uppercase ms-auto before:absolute before:content-["_"] before:top-0 before:right-0 before:bottom-0 before:left-0 z-10 text-ellipsis overflow-hidden whitespace-nowrap', target: link.startsWith('https://') ? '_blank' : '_self', children: linkLabel }))] }));
7
+ };
8
+ export default CardFooter;
9
+ //# sourceMappingURL=CardFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardFooter.js","sourceRoot":"","sources":["../../../../src/ui/card/atoms/CardFooter.tsx"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,UAAU,GAAG,UAAC,EAA8D;QAA5D,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EAAE,IAAI,UAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA;IAC9D,OAAO,CACN,eAAK,SAAS,EAAE,OAAO,CAAC,iDAAiD,EAAE,SAAS,CAAC,aACnF,QAAQ,EACR,IAAI,IAAI,CACR,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,uKAAuK,EACjL,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,YAEvD,SAAS,GACJ,CACP,IACI,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,UAAU,CAAA","sourcesContent":["import React from 'react'\n\nimport Link from 'next/link'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CardFooterProps } from '../types'\n\nconst CardFooter = ({ className = '', link, linkLabel, children }: CardFooterProps) => {\n\treturn (\n\t\t<div className={twMerge(`card-footer flex px-2 pt-4 items-center mt-auto`, className)}>\n\t\t\t{children}\n\t\t\t{link && (\n\t\t\t\t<Link\n\t\t\t\t\thref={link}\n\t\t\t\t\tclassName='uppercase ms-auto before:absolute before:content-[\"_\"] before:top-0 before:right-0 before:bottom-0 before:left-0 z-10 text-ellipsis overflow-hidden whitespace-nowrap'\n\t\t\t\t\ttarget={link.startsWith('https://') ? '_blank' : '_self'}\n\t\t\t\t>\n\t\t\t\t\t{linkLabel}\n\t\t\t\t</Link>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default CardFooter\n"]}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { twMerge } from 'tailwind-merge';
3
+ var CardHeader = function (_a) {
4
+ var _b = _a.className, className = _b === void 0 ? '' : _b, title = _a.title, _c = _a.titlestyles, titlestyles = _c === void 0 ? '' : _c;
5
+ return (_jsx("header", { className: twMerge("card-header p-0", className), children: _jsx("h4", { className: twMerge("card-title font-bold opacity-80 capitalize mb-2", titlestyles), children: title }) }));
6
+ };
7
+ export default CardHeader;
8
+ //# sourceMappingURL=CardHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHeader.js","sourceRoot":"","sources":["../../../../src/ui/card/atoms/CardHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,UAAU,GAAG,UAAC,EAIF;QAHjB,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,KAAK,WAAA,EACL,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA;IAEhB,OAAO,CACN,iBAAQ,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,YACvD,aAAI,SAAS,EAAE,OAAO,CAAC,iDAAiD,EAAE,WAAW,CAAC,YAAG,KAAK,GAAM,GAC5F,CACT,CAAA;AACF,CAAC,CAAA;AAED,eAAe,UAAU,CAAA","sourcesContent":["import React from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CardHeaderProps } from '../types'\n\nconst CardHeader = ({\n\tclassName = '',\n\ttitle,\n\ttitlestyles = '',\n}: CardHeaderProps) => {\n\treturn (\n\t\t<header className={twMerge(`card-header p-0`, className)}>\n\t\t\t<h4 className={twMerge(`card-title font-bold opacity-80 capitalize mb-2`, titlestyles)}>{title}</h4>\n\t\t</header>\n\t)\n}\n\nexport default CardHeader\n"]}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { twMerge } from 'tailwind-merge';
4
+ var aspects = {
5
+ landscape: 'aspect-[4/3]',
6
+ portrait: 'aspect-[3/4]',
7
+ square: 'aspect-square',
8
+ video: 'aspect-video',
9
+ };
10
+ var CardImage = function (_a) {
11
+ var _b = _a.className, className = _b === void 0 ? '' : _b, title = _a.title, src = _a.src, _c = _a.aspect, aspect = _c === void 0 ? 'landscape' : _c;
12
+ var aspectClasses = useMemo(function () { return aspects[aspect]; }, [aspect]);
13
+ return (_jsx("div", { className: twMerge("card-image peer relative w-full group-[.row]:max-w-sm group-[.row]:mb-auto", className), children: _jsx("figure", { className: "card-figure relative ".concat(aspectClasses), children: _jsx("img", { src: src, className: "img object-cover absolute h-full w-full inset-0 text-transparent", alt: title }) }) }));
14
+ };
15
+ export default CardImage;
16
+ //# sourceMappingURL=CardImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardImage.js","sourceRoot":"","sources":["../../../../src/ui/card/atoms/CardImage.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,IAAM,OAAO,GAAG;IACf,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;CACrB,CAAA;AAED,IAAM,SAAS,GAAG,UAAC,EAAoE;QAAlE,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EAAE,KAAK,WAAA,EAAE,GAAG,SAAA,EAAE,cAAoB,EAApB,MAAM,mBAAG,WAAW,KAAA;IACpE,IAAM,aAAa,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAE9D,OAAO,CACN,cACC,SAAS,EAAE,OAAO,CACjB,4EAA4E,EAC5E,SAAS,CACT,YAED,iBAAQ,SAAS,EAAE,+BAAwB,aAAa,CAAE,YACzD,cACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,kEAAkE,EAC7E,GAAG,EAAE,KAAK,GACT,GACM,GACJ,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,SAAS,CAAA","sourcesContent":["import React, { useMemo } from 'react'\n\nimport { twMerge } from 'tailwind-merge'\n\nimport { CardImageProps } from '../types'\n\nconst aspects = {\n\tlandscape: 'aspect-[4/3]',\n\tportrait: 'aspect-[3/4]',\n\tsquare: 'aspect-square',\n\tvideo: 'aspect-video',\n}\n\nconst CardImage = ({ className = '', title, src, aspect = 'landscape' }: CardImageProps) => {\n\tconst aspectClasses = useMemo(() => aspects[aspect], [aspect])\n\n\treturn (\n\t\t<div\n\t\t\tclassName={twMerge(\n\t\t\t\t`card-image peer relative w-full group-[.row]:max-w-sm group-[.row]:mb-auto`,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t<figure className={`card-figure relative ${aspectClasses}`}>\n\t\t\t\t<img\n\t\t\t\t\tsrc={src}\n\t\t\t\t\tclassName={`img object-cover absolute h-full w-full inset-0 text-transparent`}\n\t\t\t\t\talt={title}\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</div>\n\t)\n}\n\nexport default CardImage\n"]}
@@ -0,0 +1,6 @@
1
+ export { default as Card } from './Card';
2
+ export { default as CardBody } from './atoms/CardBody';
3
+ export { default as CardFooter } from './atoms/CardFooter';
4
+ export { default as CardHeader } from './atoms/CardHeader';
5
+ export { default as CardImage } from './atoms/CardImage';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA","sourcesContent":["export { default as Card } from './Card'\nexport { default as CardBody } from './atoms/CardBody'\nexport { default as CardFooter } from './atoms/CardFooter'\nexport { default as CardHeader } from './atoms/CardHeader'\nexport { default as CardImage } from './atoms/CardImage'\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/card/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export interface CardProps {\n\tclassName?: string\n\tstyle?: React.CSSProperties\n\tlayout?: 'col' | 'row' | 'col_reverse'\n\tchildren: React.ReactNode\n\tshadow?: 'none' | 'sm' | 'md' | 'lg' | 'xl'\n\trounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl'\n\toutline?: boolean\n}\n\nexport interface CardHeaderProps {\n\tclassName?: string\n\ttitle: string\n\ttitlestyles?: string\n\tchildren?: React.ReactNode\n}\n\nexport interface CardBodyProps {\n\tclassName?: string\n\tchildren: React.ReactNode\n}\n\nexport interface CardImageProps {\n\tclassName?: string\n\ttitle: string\n\tsrc: string\n\taspect?: 'landscape' | 'portrait' | 'square' | 'video'\n}\n\nexport interface CardFooterProps {\n\tclassName?: string\n\tlink?: string\n\tlinkLabel?: string\n\tchildren?: React.ReactNode\n}\n"]}
@@ -0,0 +1,147 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useRef, useEffect, useMemo } from "react";
4
+ import { twMerge } from "tailwind-merge";
5
+ import { Button, Gallery } from "..";
6
+ import { HiChevronRight, HiChevronLeft, HiOutlineArrowRight, HiOutlineArrowLeft, } from "react-icons/hi";
7
+ var aspects = {
8
+ landscape: "aspect-[4/3]",
9
+ portrait: "aspect-[3/4]",
10
+ square: "aspect-square",
11
+ circle: "aspect-square",
12
+ video: "aspect-video",
13
+ };
14
+ var iconSizes = {
15
+ md: 18,
16
+ lg: 24,
17
+ xl: 32,
18
+ };
19
+ var outlineWidths = {
20
+ none: "outline-0",
21
+ thin: "outline-1",
22
+ medium: "outline-2",
23
+ thick: "outline-4",
24
+ };
25
+ var roundedWidths = {
26
+ none: "rounded-0",
27
+ md: "rounded-md",
28
+ lg: "rounded-lg",
29
+ xl: "rounded-xl",
30
+ };
31
+ var Carousel = function (_a) {
32
+ var data = _a.data, _b = _a.caption, caption = _b === void 0 ? false : _b, _c = _a.autoplay, autoplay = _c === void 0 ? false : _c, _d = _a.autoplayDuration, autoplayDuration = _d === void 0 ? 3000 : _d, _e = _a.outline, outline = _e === void 0 ? "medium" : _e, _f = _a.gallery, gallery = _f === void 0 ? true : _f, _g = _a.className, className = _g === void 0 ? "" : _g, _h = _a.aspect, aspect = _h === void 0 ? "landscape" : _h, _j = _a.rounded, rounded = _j === void 0 ? "none" : _j, _k = _a.buttonsPosition, buttonsPosition = _k === void 0 ? "middle" : _k, _l = _a.buttonLayout, buttonLayout = _l === void 0 ? "circle" : _l, _m = _a.buttonIcon, buttonIcon = _m === void 0 ? "chevron" : _m, _o = _a.buttonSize, buttonSize = _o === void 0 ? "md" : _o, _p = _a.buttonBackground, buttonBackground = _p === void 0 ? "dark" : _p, _q = _a.buttonColor, buttonColor = _q === void 0 ? "light" : _q, _r = _a.buttonOutline, buttonOutline = _r === void 0 ? true : _r, _s = _a.preloadImages, preloadImages = _s === void 0 ? false : _s, children = _a.children;
33
+ var _t = useState(0), index = _t[0], setIndex = _t[1];
34
+ var _u = useState(0), position = _u[0], setPosition = _u[1];
35
+ var _v = useState(false), rtl = _v[0], setRtl = _v[1];
36
+ var _w = useState(null), touchPosition = _w[0], setTouchPosition = _w[1];
37
+ var _x = useState(286), innerWidth = _x[0], setInnerWidth = _x[1];
38
+ var inner = useRef(null);
39
+ var intervalRef = useRef(null);
40
+ var playDirection = useRef("forward");
41
+ var iconSize = useMemo(function () { return iconSizes[buttonSize]; }, [buttonSize]);
42
+ var outlineClasses = useMemo(function () { return outlineWidths[outline]; }, [outline]);
43
+ var roundedClasses = useMemo(function () { return roundedWidths[rounded]; }, [rounded]);
44
+ var buttonsPositionClasses = useMemo(function () {
45
+ var buttonsPositions = {
46
+ top: "top-2",
47
+ middle: "top-[38%]",
48
+ bottom: caption ? "bottom-12" : "bottom-2",
49
+ };
50
+ return buttonsPositions[buttonsPosition];
51
+ }, [buttonsPosition, caption]);
52
+ var aspectClasses = useMemo(function () { return aspects[aspect]; }, [aspect]);
53
+ useEffect(function () {
54
+ var checkInnerWidth = function () {
55
+ if (inner.current) {
56
+ setInnerWidth(inner.current.offsetWidth);
57
+ }
58
+ else {
59
+ setTimeout(checkInnerWidth, 100);
60
+ }
61
+ };
62
+ checkInnerWidth();
63
+ }, [inner]);
64
+ useEffect(function () {
65
+ var isRTL = document.documentElement.getAttribute("dir") === "rtl";
66
+ isRTL ? setRtl(true) : setRtl(false);
67
+ }, []);
68
+ var style = useMemo(function () {
69
+ return rtl ? { right: "".concat(position, "px") } : { left: "".concat(position, "px") };
70
+ }, [position, rtl]);
71
+ var heightStyle = useMemo(function () {
72
+ var _a;
73
+ var aspectRatios = {
74
+ landscape: 4 / 3,
75
+ portrait: 3 / 4,
76
+ video: 16 / 9,
77
+ phone: 9 / 16,
78
+ };
79
+ var aspectRatio = (_a = aspectRatios[aspect]) !== null && _a !== void 0 ? _a : 1;
80
+ var height = innerWidth / aspectRatio;
81
+ return { height: height };
82
+ }, [aspect, innerWidth]);
83
+ useEffect(function () {
84
+ var startAutoplay = function () {
85
+ intervalRef.current = window.setTimeout(function () {
86
+ if (index === 0)
87
+ playDirection.current = "forward";
88
+ else if (index === data.length - 1)
89
+ playDirection.current = "backward";
90
+ if (playDirection.current === "forward")
91
+ setNext();
92
+ else
93
+ setPrevious();
94
+ }, autoplayDuration);
95
+ };
96
+ if (autoplay)
97
+ startAutoplay();
98
+ return function () {
99
+ clearInterval(intervalRef.current);
100
+ };
101
+ });
102
+ var clickNext = function (e) {
103
+ e.stopPropagation();
104
+ setNext();
105
+ };
106
+ var setNext = function () {
107
+ if (index === data.length - 1)
108
+ return;
109
+ setPosition(position - innerWidth);
110
+ setIndex(index + 1);
111
+ };
112
+ var clickPrevious = function (e) {
113
+ e.stopPropagation();
114
+ e.preventDefault();
115
+ setPrevious();
116
+ };
117
+ var setPrevious = function () {
118
+ if (index === 0)
119
+ return;
120
+ setPosition(position + innerWidth);
121
+ setIndex(index - 1);
122
+ };
123
+ var handleTouchStart = function (e) {
124
+ setTouchPosition(e.touches[0].clientX);
125
+ };
126
+ var handleTouchMove = function (e) {
127
+ if (touchPosition === null || autoplay)
128
+ return;
129
+ var diff = touchPosition - e.touches[0].clientX;
130
+ if (diff > 5) {
131
+ if (rtl)
132
+ setPrevious();
133
+ else
134
+ setNext();
135
+ }
136
+ else if (diff < -5) {
137
+ if (rtl)
138
+ setNext();
139
+ else
140
+ setPrevious();
141
+ }
142
+ setTouchPosition(null);
143
+ };
144
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: twMerge("carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ".concat(outlineClasses, " ").concat(roundedClasses), className), onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, children: [_jsx("div", { className: "inner max-w-lg relative overflow-hidden ".concat(aspectClasses), ref: inner, style: heightStyle, children: gallery ? (_jsx(Gallery, { className: "oveflow-hidden !flex !gap-0 relative transition-all duration-500", style: style, data: data, caption: caption, aspect: aspect, preloadImages: preloadImages })) : (_jsx("div", { className: "oveflow-hidden !flex h-full transition-all duration-500 relative", style: style, children: children })) }), !autoplay && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute z-10 start-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickPrevious(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === 0, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowLeft, { size: iconSize })) : (_jsx(HiChevronLeft, { size: iconSize })) }) }), _jsx("div", { className: "absolute z-10 end-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickNext(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === data.length - 1, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowRight, { size: iconSize })) : (_jsx(HiChevronRight, { size: iconSize })) }) })] }))] }) }));
145
+ };
146
+ export default Carousel;
147
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../../../src/ui/carousel/Carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useState, useRef, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Button, Gallery } from \"..\";\n\nimport {\n HiChevronRight,\n HiChevronLeft,\n HiOutlineArrowRight,\n HiOutlineArrowLeft,\n} from \"react-icons/hi\";\n\nimport { CarouselProps } from \"./types\";\n\nconst aspects = {\n landscape: \"aspect-[4/3]\",\n portrait: \"aspect-[3/4]\",\n square: \"aspect-square\",\n circle: \"aspect-square\",\n video: \"aspect-video\",\n};\n\nconst iconSizes = {\n md: 18,\n lg: 24,\n xl: 32,\n};\n\nconst outlineWidths = {\n none: \"outline-0\",\n thin: \"outline-1\",\n medium: \"outline-2\",\n thick: \"outline-4\",\n};\n\nconst roundedWidths = {\n none: \"rounded-0\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n};\n\nconst Carousel = ({\n data,\n caption = false,\n autoplay = false,\n autoplayDuration = 3000,\n outline = \"medium\",\n gallery = true,\n className = \"\",\n aspect = \"landscape\",\n rounded = \"none\",\n buttonsPosition = \"middle\",\n buttonLayout = \"circle\",\n buttonIcon = \"chevron\",\n buttonSize = \"md\",\n buttonBackground = \"dark\",\n buttonColor = \"light\",\n buttonOutline = true,\n preloadImages = false,\n children,\n}: CarouselProps) => {\n const [index, setIndex] = useState(0);\n const [position, setPosition] = useState(0);\n const [rtl, setRtl] = useState(false);\n const [touchPosition, setTouchPosition] = useState<number>(null!);\n const [innerWidth, setInnerWidth] = useState<number>(286);\n const inner = useRef<HTMLDivElement>(null!);\n const intervalRef = useRef<number>(null!);\n const playDirection = useRef<string>(\"forward\");\n\n const iconSize = useMemo(() => iconSizes[buttonSize], [buttonSize]);\n const outlineClasses = useMemo(() => outlineWidths[outline], [outline]);\n const roundedClasses = useMemo(() => roundedWidths[rounded], [rounded]);\n const buttonsPositionClasses = useMemo(() => {\n const buttonsPositions = {\n top: \"top-2\",\n middle: \"top-[38%]\",\n bottom: caption ? \"bottom-12\" : \"bottom-2\",\n };\n\n return buttonsPositions[buttonsPosition];\n }, [buttonsPosition, caption]);\n const aspectClasses = useMemo(() => aspects[aspect], [aspect]);\n\n useEffect(() => {\n const checkInnerWidth = () => {\n if (inner.current) {\n setInnerWidth(inner.current.offsetWidth);\n } else {\n setTimeout(checkInnerWidth, 100);\n }\n };\n checkInnerWidth();\n }, [inner]);\n\n useEffect(() => {\n const isRTL = document.documentElement.getAttribute(\"dir\") === \"rtl\";\n isRTL ? setRtl(true) : setRtl(false);\n }, []);\n\n const style = useMemo(() => {\n return rtl ? { right: `${position}px` } : { left: `${position}px` };\n }, [position, rtl]);\n\n const heightStyle = useMemo(() => {\n const aspectRatios: Record<string, number> = {\n landscape: 4 / 3,\n portrait: 3 / 4,\n video: 16 / 9,\n phone: 9 / 16,\n };\n\n const aspectRatio = aspectRatios[aspect] ?? 1;\n const height = innerWidth / aspectRatio;\n\n return { height };\n }, [aspect, innerWidth]);\n\n useEffect(() => {\n const startAutoplay = () => {\n intervalRef.current = window.setTimeout(() => {\n if (index === 0) playDirection.current = \"forward\";\n else if (index === data.length - 1) playDirection.current = \"backward\";\n if (playDirection.current === \"forward\") setNext();\n else setPrevious();\n }, autoplayDuration);\n };\n if (autoplay) startAutoplay();\n return () => {\n clearInterval(intervalRef.current);\n };\n });\n\n const clickNext = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setNext();\n };\n\n const setNext = () => {\n if (index === data.length - 1) return;\n setPosition(position - innerWidth);\n setIndex(index + 1);\n };\n\n const clickPrevious = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n e.preventDefault();\n setPrevious();\n };\n\n const setPrevious = () => {\n if (index === 0) return;\n setPosition(position + innerWidth);\n setIndex(index - 1);\n };\n\n const handleTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {\n setTouchPosition(e.touches[0].clientX);\n };\n\n const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n if (touchPosition === null || autoplay) return;\n const diff = touchPosition - e.touches[0].clientX;\n\n if (diff > 5) {\n if (rtl) setPrevious();\n else setNext();\n } else if (diff < -5) {\n if (rtl) setNext();\n else setPrevious();\n }\n\n setTouchPosition(null!);\n };\n\n return (\n <>\n <div\n className={twMerge(\n `carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ${outlineClasses} ${roundedClasses}`,\n className\n )}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n >\n <div\n className={`inner max-w-lg relative overflow-hidden ${aspectClasses}`}\n ref={inner}\n style={heightStyle}\n >\n {gallery ? (\n <Gallery\n className={`oveflow-hidden !flex !gap-0 relative transition-all duration-500`}\n style={style}\n data={data}\n caption={caption}\n aspect={aspect}\n preloadImages={preloadImages}\n />\n ) : (\n <div\n className={`oveflow-hidden !flex h-full transition-all duration-500 relative`}\n style={style}\n >\n {children}\n </div>\n )}\n </div>\n {!autoplay && (\n <>\n <div className={`absolute z-10 start-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickPrevious(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === 0}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowLeft size={iconSize} />\n ) : (\n <HiChevronLeft size={iconSize} />\n )}\n </Button>\n </div>\n\n <div className={`absolute z-10 end-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickNext(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === data.length - 1}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowRight size={iconSize} />\n ) : (\n <HiChevronRight size={iconSize} />\n )}\n </Button>\n </div>\n </>\n )}\n </div>\n </>\n );\n};\n\nexport default Carousel;\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as Carousel } from './Carousel';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA","sourcesContent":["export { default as Carousel } from './Carousel'\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/carousel/types/index.ts"],"names":[],"mappings":"","sourcesContent":["interface DataProps {\n name: string;\n src: string;\n description: string;\n link: string;\n}\n\nexport interface CarouselProps extends React.HTMLAttributes<HTMLDivElement> {\n data: DataProps[];\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n caption?: boolean;\n autoplay?: boolean;\n autoplayDuration?: number;\n outline?: \"none\" | \"thin\" | \"medium\" | \"thick\";\n rounded?: \"none\" | \"md\" | \"lg\" | \"xl\";\n gallery?: boolean;\n aspect?: \"landscape\" | \"portrait\" | \"square\" | \"video\" | \"circle\";\n buttonLayout?: \"rounded\" | \"square\" | \"circle\";\n buttonsPosition?: \"top\" | \"middle\" | \"bottom\";\n buttonIcon?: \"arrow\" | \"chevron\";\n buttonSize?: \"md\" | \"lg\" | \"xl\";\n buttonBackground?: \"dark\" | \"light\" | \"transparent\";\n buttonColor?: \"dark\" | \"light\";\n buttonOutline?: boolean;\n preloadImages?: boolean;\n}\n"]}
@@ -0,0 +1,24 @@
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 ChartWrap from './ChartWrap';
15
+ var BarChart = function (_a) {
16
+ var _b, _c, _d, _e, _f, _g;
17
+ var data = _a.data, options = _a.options, title = _a.title, legendposition = _a.legendposition, _h = _a.aspect, aspect = _h === void 0 ? 'portrait' : _h, style = _a.style, className = _a.className, layout = _a.layout, _j = _a.gridColor, gridColor = _j === void 0 ? '#444444' : _j;
18
+ return (_jsx(ChartWrap, { data: data, options: __assign(__assign({}, options), { indexAxis: layout === 'horizontal' ? 'y' : 'x', scales: {
19
+ x: __assign(__assign({}, (_b = options === null || options === void 0 ? void 0 : options.scales) === null || _b === void 0 ? void 0 : _b.x), { grid: __assign(__assign({}, (_d = (_c = options === null || options === void 0 ? void 0 : options.scales) === null || _c === void 0 ? void 0 : _c.x) === null || _d === void 0 ? void 0 : _d.grid), { color: gridColor }) }),
20
+ y: __assign(__assign({}, (_e = options === null || options === void 0 ? void 0 : options.scales) === null || _e === void 0 ? void 0 : _e.y), { grid: __assign(__assign({}, (_g = (_f = options === null || options === void 0 ? void 0 : options.scales) === null || _f === void 0 ? void 0 : _f.y) === null || _g === void 0 ? void 0 : _g.grid), { color: gridColor }) }),
21
+ } }), title: title, legendposition: legendposition, chartType: 'bar', aspect: aspect, className: className, style: style }));
22
+ };
23
+ export default BarChart;
24
+ //# sourceMappingURL=BarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../../../src/ui/charts/BarChart.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;;AAIZ,OAAO,SAAS,MAAM,aAAa,CAAA;AAGnC,IAAM,QAAQ,GAAG,UAAC,EAUF;;QATf,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,cAAmB,EAAnB,MAAM,mBAAG,UAAU,KAAA,EACnB,KAAK,WAAA,EACL,SAAS,eAAA,EACT,MAAM,YAAA,EACN,iBAAqB,EAArB,SAAS,mBAAG,SAAS,KAAA;IAErB,OAAO,CACN,KAAC,SAAS,IACT,IAAI,EAAE,IAAI,EACV,OAAO,wBACH,OAAO,KACV,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC9C,MAAM,EAAE;gBACP,CAAC,wBACG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,KACrB,IAAI,wBACA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,0CAAE,IAAI,KAC3B,KAAK,EAAE,SAAS,MAEjB;gBACD,CAAC,wBACG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,KACrB,IAAI,wBACA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,0CAAE,IAAI,KAC3B,KAAK,EAAE,SAAS,MAEjB;aACD,KAEF,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAC,KAAK,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACX,CACF,CAAA;AACF,CAAC,CAAA;AAED,eAAe,QAAQ,CAAA","sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport ChartWrap from './ChartWrap'\nimport { BarChartProps } from './types'\n\nconst BarChart = ({\n\tdata,\n\toptions,\n\ttitle,\n\tlegendposition,\n\taspect = 'portrait',\n\tstyle,\n\tclassName,\n\tlayout,\n\tgridColor = '#444444',\n}: BarChartProps) => {\n\treturn (\n\t\t<ChartWrap\n\t\t\tdata={data}\n\t\t\toptions={{\n\t\t\t\t...options,\n\t\t\t\tindexAxis: layout === 'horizontal' ? 'y' : 'x',\n\t\t\t\tscales: {\n\t\t\t\t\tx: {\n\t\t\t\t\t\t...options?.scales?.x,\n\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t...options?.scales?.x?.grid,\n\t\t\t\t\t\t\tcolor: gridColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ty: {\n\t\t\t\t\t\t...options?.scales?.y,\n\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t...options?.scales?.y?.grid,\n\t\t\t\t\t\t\tcolor: gridColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}}\n\t\t\ttitle={title}\n\t\t\tlegendposition={legendposition}\n\t\t\tchartType='bar'\n\t\t\taspect={aspect}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t/>\n\t)\n}\n\nexport default BarChart\n"]}
@@ -0,0 +1,24 @@
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 ChartWrap from './ChartWrap';
15
+ var BubbleChart = function (_a) {
16
+ var _b, _c, _d, _e, _f, _g;
17
+ var data = _a.data, options = _a.options, title = _a.title, legendposition = _a.legendposition, _h = _a.gridColor, gridColor = _h === void 0 ? '#444444' : _h, _j = _a.aspect, aspect = _j === void 0 ? 'portrait' : _j, style = _a.style, className = _a.className;
18
+ return (_jsx(ChartWrap, { data: data, options: __assign(__assign({}, options), { scales: {
19
+ x: __assign(__assign({}, (_b = options === null || options === void 0 ? void 0 : options.scales) === null || _b === void 0 ? void 0 : _b.x), { grid: __assign(__assign({}, (_d = (_c = options === null || options === void 0 ? void 0 : options.scales) === null || _c === void 0 ? void 0 : _c.x) === null || _d === void 0 ? void 0 : _d.grid), { color: gridColor }) }),
20
+ y: __assign(__assign({}, (_e = options === null || options === void 0 ? void 0 : options.scales) === null || _e === void 0 ? void 0 : _e.y), { grid: __assign(__assign({}, (_g = (_f = options === null || options === void 0 ? void 0 : options.scales) === null || _f === void 0 ? void 0 : _f.y) === null || _g === void 0 ? void 0 : _g.grid), { color: gridColor }) }),
21
+ } }), title: title, legendposition: legendposition, chartType: 'bubble', aspect: aspect, className: className, style: style }));
22
+ };
23
+ export default BubbleChart;
24
+ //# sourceMappingURL=BubbleChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BubbleChart.js","sourceRoot":"","sources":["../../../src/ui/charts/BubbleChart.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;;AAGZ,OAAO,SAAS,MAAM,aAAa,CAAA;AAGnC,IAAM,WAAW,GAAG,UAAC,EASF;;QARlB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,iBAAqB,EAArB,SAAS,mBAAG,SAAS,KAAA,EACrB,cAAmB,EAAnB,MAAM,mBAAG,UAAU,KAAA,EACnB,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACN,KAAC,SAAS,IACT,IAAI,EAAE,IAAI,EACV,OAAO,wBACH,OAAO,KACV,MAAM,EAAE;gBACP,CAAC,wBACG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,KACrB,IAAI,wBACA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,0CAAE,IAAI,KAC3B,KAAK,EAAE,SAAS,MAEjB;gBACD,CAAC,wBACG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,KACrB,IAAI,wBACA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,CAAC,0CAAE,IAAI,KAC3B,KAAK,EAAE,SAAS,MAEjB;aACD,KAEF,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAC,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACX,CACF,CAAA;AACF,CAAC,CAAA;AAED,eAAe,WAAW,CAAA","sourcesContent":["'use client'\n\nimport React from 'react'\nimport ChartWrap from './ChartWrap'\nimport { BubbleChartProps } from './types'\n\nconst BubbleChart = ({\n\tdata,\n\toptions,\n\ttitle,\n\tlegendposition,\n\tgridColor = '#444444',\n\taspect = 'portrait',\n\tstyle,\n\tclassName,\n}: BubbleChartProps) => {\n\treturn (\n\t\t<ChartWrap\n\t\t\tdata={data}\n\t\t\toptions={{\n\t\t\t\t...options,\n\t\t\t\tscales: {\n\t\t\t\t\tx: {\n\t\t\t\t\t\t...options?.scales?.x,\n\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t...options?.scales?.x?.grid,\n\t\t\t\t\t\t\tcolor: gridColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\ty: {\n\t\t\t\t\t\t...options?.scales?.y,\n\t\t\t\t\t\tgrid: {\n\t\t\t\t\t\t\t...options?.scales?.y?.grid,\n\t\t\t\t\t\t\tcolor: gridColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}}\n\t\t\ttitle={title}\n\t\t\tlegendposition={legendposition}\n\t\t\tchartType='bubble'\n\t\t\taspect={aspect}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t/>\n\t)\n}\n\nexport default BubbleChart\n"]}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, Suspense, lazy } from "react";
3
+ import { merge } from "../@utils/merge";
4
+ import { Chart as ChartJS, registerables } from "chart.js";
5
+ import { twMerge } from "tailwind-merge";
6
+ var LazyBubble = lazy(function () {
7
+ return import("react-chartjs-2").then(function (module) { return ({ default: module.Bubble }); });
8
+ });
9
+ var LazyLine = lazy(function () { return import("react-chartjs-2").then(function (module) { return ({ default: module.Line }); }); });
10
+ var LazyBar = lazy(function () { return import("react-chartjs-2").then(function (module) { return ({ default: module.Bar }); }); });
11
+ var LazyPie = lazy(function () { return import("react-chartjs-2").then(function (module) { return ({ default: module.Pie }); }); });
12
+ var LazyDoughnut = lazy(function () {
13
+ return import("react-chartjs-2").then(function (module) { return ({ default: module.Doughnut }); });
14
+ });
15
+ var LazyRadar = lazy(function () {
16
+ return import("react-chartjs-2").then(function (module) { return ({ default: module.Radar }); });
17
+ });
18
+ var LazyPolarArea = lazy(function () {
19
+ return import("react-chartjs-2").then(function (module) { return ({ default: module.PolarArea }); });
20
+ });
21
+ var LazyScatter = lazy(function () {
22
+ return import("react-chartjs-2").then(function (module) { return ({ default: module.Scatter }); });
23
+ });
24
+ ChartJS.register.apply(ChartJS, registerables);
25
+ var aspects = {
26
+ landscape: "aspect-[4/3]",
27
+ portrait: "aspect-[3/4]",
28
+ square: "aspect-square",
29
+ auto: "aspect-auto",
30
+ };
31
+ var ChartWrap = function (_a) {
32
+ var data = _a.data, options = _a.options, title = _a.title, legendposition = _a.legendposition, chartType = _a.chartType, _b = _a.aspect, aspect = _b === void 0 ? "auto" : _b, className = _a.className, style = _a.style;
33
+ var aspectClasses = useMemo(function () { return aspects[aspect]; }, [aspect]);
34
+ var defaultOptions = useMemo(function () {
35
+ return {
36
+ responsive: true,
37
+ maintainAspectRatio: false,
38
+ plugins: {
39
+ legend: {
40
+ position: legendposition,
41
+ },
42
+ title: {
43
+ display: !!title,
44
+ text: title,
45
+ },
46
+ },
47
+ };
48
+ }, [legendposition, title]);
49
+ var chartComponents = {
50
+ bubble: LazyBubble,
51
+ line: LazyLine,
52
+ bar: LazyBar,
53
+ pie: LazyPie,
54
+ doughnut: LazyDoughnut,
55
+ radar: LazyRadar,
56
+ polarArea: LazyPolarArea,
57
+ scatter: LazyScatter,
58
+ mixed: LazyBar,
59
+ };
60
+ var ChartComponent = chartComponents[chartType];
61
+ var combinedOptions = useMemo(function () {
62
+ if (options)
63
+ return merge(defaultOptions, options);
64
+ return defaultOptions;
65
+ }, [defaultOptions, options]);
66
+ return (_jsx("figure", { className: twMerge("chart-wrap h-auto min-w-full ".concat(aspectClasses), className), children: _jsx(Suspense, { fallback: _jsx("div", { className: "text-center text-sm italic", children: "Loading Chart" }), children: _jsx(ChartComponent, { data: data, options: combinedOptions, title: title, legendposition: legendposition, style: style }) }) }));
67
+ };
68
+ export default ChartWrap;
69
+ //# sourceMappingURL=ChartWrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartWrap.js","sourceRoot":"","sources":["../../../src/ui/charts/ChartWrap.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo, Suspense, lazy } from \"react\";\nimport { merge } from \"../@utils/merge\";\nimport { Chart as ChartJS, registerables } from \"chart.js\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ChartDataMap, ChartOptionsMap } from \"./types\";\n\nconst LazyBubble = lazy(() =>\n import(\"react-chartjs-2\").then((module) => ({ default: module.Bubble }))\n);\nconst LazyLine = lazy(() => import(\"react-chartjs-2\").then((module) => ({ default: module.Line })));\nconst LazyBar = lazy(() => import(\"react-chartjs-2\").then((module) => ({ default: module.Bar })));\nconst LazyPie = lazy(() => import(\"react-chartjs-2\").then((module) => ({ default: module.Pie })));\nconst LazyDoughnut = lazy(() =>\n import(\"react-chartjs-2\").then((module) => ({ default: module.Doughnut }))\n);\nconst LazyRadar = lazy(() =>\n import(\"react-chartjs-2\").then((module) => ({ default: module.Radar }))\n);\nconst LazyPolarArea = lazy(() =>\n import(\"react-chartjs-2\").then((module) => ({ default: module.PolarArea }))\n);\nconst LazyScatter = lazy(() =>\n import(\"react-chartjs-2\").then((module) => ({ default: module.Scatter }))\n);\n\nChartJS.register(...registerables);\n\ntype ChartTypes = keyof ChartDataMap;\n\ninterface ChartWrapProps<T extends ChartTypes> {\n title?: string;\n legendposition?: string;\n data: ChartDataMap[T];\n options?: ChartOptionsMap[T];\n chartType: T;\n className?: string;\n style?: React.CSSProperties;\n aspect?: \"landscape\" | \"portrait\" | \"square\" | \"auto\";\n}\n\nconst aspects = {\n landscape: \"aspect-[4/3]\",\n portrait: \"aspect-[3/4]\",\n square: \"aspect-square\",\n auto: \"aspect-auto\",\n};\n\nconst ChartWrap = <T extends ChartTypes>({\n data,\n options,\n title,\n legendposition,\n chartType,\n aspect = \"auto\",\n className,\n style,\n}: ChartWrapProps<T>) => {\n const aspectClasses = useMemo(() => aspects[aspect], [aspect]);\n\n const defaultOptions = useMemo(() => {\n return {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n position: legendposition,\n },\n title: {\n display: !!title,\n text: title,\n },\n },\n };\n }, [legendposition, title]);\n\n const chartComponents: Record<ChartTypes, React.ElementType> = {\n bubble: LazyBubble,\n line: LazyLine,\n bar: LazyBar,\n pie: LazyPie,\n doughnut: LazyDoughnut,\n radar: LazyRadar,\n polarArea: LazyPolarArea,\n scatter: LazyScatter,\n mixed: LazyBar,\n };\n\n const ChartComponent = chartComponents[chartType] as React.ElementType;\n\n const combinedOptions = useMemo<ChartOptionsMap[T]>(() => {\n if (options) return merge(defaultOptions, options) as ChartOptionsMap[T];\n return defaultOptions as ChartOptionsMap[T];\n }, [defaultOptions, options]);\n\n return (\n <figure className={twMerge(`chart-wrap h-auto min-w-full ${aspectClasses}`, className)}>\n <Suspense fallback={<div className=\"text-center text-sm italic\">Loading Chart</div>}>\n <ChartComponent\n data={data}\n options={combinedOptions as unknown as any}\n title={title}\n legendposition={legendposition}\n style={style}\n />\n </Suspense>\n </figure>\n );\n};\n\nexport default ChartWrap;\n"]}
@@ -0,0 +1,20 @@
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 ChartWrap from './ChartWrap';
15
+ var DoughnutChart = function (_a) {
16
+ var data = _a.data, options = _a.options, title = _a.title, legendposition = _a.legendposition, _b = _a.border, border = _b === void 0 ? false : _b, _c = _a.aspect, aspect = _c === void 0 ? 'portrait' : _c, style = _a.style, className = _a.className;
17
+ return (_jsx(ChartWrap, { data: data, options: __assign(__assign({}, options), { borderWidth: border ? 2 : 0 }), title: title, legendposition: legendposition, chartType: 'doughnut', aspect: aspect, className: className, style: style }));
18
+ };
19
+ export default DoughnutChart;
20
+ //# sourceMappingURL=DoughnutChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoughnutChart.js","sourceRoot":"","sources":["../../../src/ui/charts/DoughnutChart.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;;AAIZ,OAAO,SAAS,MAAM,aAAa,CAAA;AAGnC,IAAM,aAAa,GAAG,UAAC,EASF;QARpB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,cAAmB,EAAnB,MAAM,mBAAG,UAAU,KAAA,EACnB,KAAK,WAAA,EACL,SAAS,eAAA;IAET,OAAO,CACN,KAAC,SAAS,IACT,IAAI,EAAE,IAAI,EACV,OAAO,wBACF,OAAe,KACnB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAE5B,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAC,UAAU,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACX,CACF,CAAA;AACF,CAAC,CAAA;AAED,eAAe,aAAa,CAAA","sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport ChartWrap from './ChartWrap'\nimport { DoughnutChartProps } from './types'\n\nconst DoughnutChart = ({\n\tdata,\n\toptions,\n\ttitle,\n\tlegendposition,\n\tborder = false,\n\taspect = 'portrait',\n\tstyle,\n\tclassName,\n}: DoughnutChartProps) => {\n\treturn (\n\t\t<ChartWrap\n\t\t\tdata={data}\n\t\t\toptions={{\n\t\t\t\t...(options as any),\n\t\t\t\tborderWidth: border ? 2 : 0,\n\t\t\t}}\n\t\t\ttitle={title}\n\t\t\tlegendposition={legendposition}\n\t\t\tchartType='doughnut'\n\t\t\taspect={aspect}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t/>\n\t)\n}\n\nexport default DoughnutChart\n"]}