@mari-ui/components 0.1.1 → 0.2.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 (459) hide show
  1. package/dist/accordion.js +4 -4
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/alert.js +5 -5
  4. package/dist/alert.js.map +1 -1
  5. package/dist/autocomplete.js +8 -8
  6. package/dist/autocomplete.js.map +1 -1
  7. package/dist/avatar.js +3 -3
  8. package/dist/badge.js +3 -3
  9. package/dist/breadcrumb.js +9 -9
  10. package/dist/breadcrumb.js.map +1 -1
  11. package/dist/button.js +4 -4
  12. package/dist/calendar.js +14 -14
  13. package/dist/calendar.js.map +1 -1
  14. package/dist/card.js +4 -4
  15. package/dist/card.js.map +1 -1
  16. package/dist/carousel.js +4 -4
  17. package/dist/carousel.js.map +1 -1
  18. package/dist/chart.js +5 -5
  19. package/dist/chart.js.map +1 -1
  20. package/dist/checkbox.js +4 -4
  21. package/dist/{chunk-BDV4GOEN.js → chunk-5GILG5AK.js} +1 -1
  22. package/dist/chunk-5GILG5AK.js.map +1 -0
  23. package/dist/{chunk-IP2J3BWY.js → chunk-6AMBZXZJ.js} +1 -1
  24. package/dist/chunk-6AMBZXZJ.js.map +1 -0
  25. package/dist/{chunk-XUKVQO6M.js → chunk-6CSUVVFG.js} +1 -1
  26. package/dist/chunk-6CSUVVFG.js.map +1 -0
  27. package/dist/{chunk-ELHESRRH.js → chunk-7FQQRTPX.js} +5 -5
  28. package/dist/chunk-7FQQRTPX.js.map +1 -0
  29. package/dist/{chunk-QNOHFHVL.js → chunk-7WB4CDWX.js} +4 -4
  30. package/dist/chunk-7WB4CDWX.js.map +1 -0
  31. package/dist/{chunk-47FHUOLT.js → chunk-BLFY5UAL.js} +1 -1
  32. package/dist/chunk-BLFY5UAL.js.map +1 -0
  33. package/dist/{chunk-CYLXW66E.js → chunk-C3QWJFSE.js} +2 -2
  34. package/dist/chunk-C3QWJFSE.js.map +1 -0
  35. package/dist/{chunk-QDFDMWXD.js → chunk-CNWRDTEW.js} +7 -7
  36. package/dist/chunk-CNWRDTEW.js.map +1 -0
  37. package/dist/{chunk-2IEXY3OZ.js → chunk-CVKAGR3D.js} +4 -4
  38. package/dist/{chunk-LZHERDNB.js → chunk-CXIWRNSP.js} +5 -5
  39. package/dist/chunk-CXIWRNSP.js.map +1 -0
  40. package/dist/{chunk-FNJHS5KQ.js → chunk-E5JTEQ4V.js} +6 -6
  41. package/dist/chunk-E5JTEQ4V.js.map +1 -0
  42. package/dist/{chunk-IO4346TF.js → chunk-FC7T3INX.js} +8 -8
  43. package/dist/chunk-FC7T3INX.js.map +1 -0
  44. package/dist/{chunk-KCYM2JXP.js → chunk-FWSMUUZ5.js} +5 -5
  45. package/dist/chunk-FWSMUUZ5.js.map +1 -0
  46. package/dist/{chunk-3ABWBQCS.js → chunk-GTNCXOUL.js} +2 -2
  47. package/dist/chunk-GTNCXOUL.js.map +1 -0
  48. package/dist/{chunk-ZLPAXPDI.js → chunk-GVJ4M63W.js} +3 -3
  49. package/dist/{chunk-ZLPAXPDI.js.map → chunk-GVJ4M63W.js.map} +1 -1
  50. package/dist/{chunk-LBXIPDAB.js → chunk-JXD5DW6E.js} +3 -3
  51. package/dist/chunk-JXD5DW6E.js.map +1 -0
  52. package/dist/{chunk-P7Z5BREP.js → chunk-L6DBWUAB.js} +6 -6
  53. package/dist/chunk-L6DBWUAB.js.map +1 -0
  54. package/dist/{chunk-YZ7MDC6B.js → chunk-LNL4TCGL.js} +2 -2
  55. package/dist/chunk-LNL4TCGL.js.map +1 -0
  56. package/dist/{chunk-TCYDVNSU.js → chunk-MT4VH7QV.js} +1 -1
  57. package/dist/chunk-MT4VH7QV.js.map +1 -0
  58. package/dist/{chunk-DKENCYHA.js → chunk-MXGY2ENX.js} +1 -1
  59. package/dist/chunk-MXGY2ENX.js.map +1 -0
  60. package/dist/{chunk-DUCIAQGR.js → chunk-NENNFQEY.js} +3 -3
  61. package/dist/chunk-NENNFQEY.js.map +1 -0
  62. package/dist/{chunk-LBQMEHK6.js → chunk-NPFMPRII.js} +1 -1
  63. package/dist/chunk-NPFMPRII.js.map +1 -0
  64. package/dist/{chunk-NS7FKOFI.js → chunk-NYXU5EFE.js} +1 -1
  65. package/dist/chunk-NYXU5EFE.js.map +1 -0
  66. package/dist/{chunk-S66GKX2W.js → chunk-OAWUZIIN.js} +1 -1
  67. package/dist/chunk-OAWUZIIN.js.map +1 -0
  68. package/dist/{chunk-JNZODUXP.js → chunk-OYDG6C54.js} +1 -1
  69. package/dist/chunk-OYDG6C54.js.map +1 -0
  70. package/dist/{chunk-FFXRFQSU.js → chunk-POBOJBNJ.js} +1 -1
  71. package/dist/chunk-POBOJBNJ.js.map +1 -0
  72. package/dist/{chunk-RIBB5OJV.js → chunk-PR2MCHU4.js} +4 -4
  73. package/dist/chunk-PR2MCHU4.js.map +1 -0
  74. package/dist/{chunk-LEOIKO7C.js → chunk-RLWP6NJU.js} +4 -4
  75. package/dist/chunk-RLWP6NJU.js.map +1 -0
  76. package/dist/{chunk-V7KDUUV6.js → chunk-RMNV2CE2.js} +2 -2
  77. package/dist/chunk-RMNV2CE2.js.map +1 -0
  78. package/dist/{chunk-ZXYQ2ZPR.js → chunk-TEMTIMAH.js} +3 -3
  79. package/dist/chunk-TEMTIMAH.js.map +1 -0
  80. package/dist/{chunk-NPM7IDYV.js → chunk-TSFAAREV.js} +3 -3
  81. package/dist/chunk-TSFAAREV.js.map +1 -0
  82. package/dist/{chunk-54HHEXXD.js → chunk-VKN374SD.js} +1 -1
  83. package/dist/chunk-VKN374SD.js.map +1 -0
  84. package/dist/{chunk-ZMA7BT2L.js → chunk-XWBJPA3D.js} +4 -4
  85. package/dist/{chunk-ZMA7BT2L.js.map → chunk-XWBJPA3D.js.map} +1 -1
  86. package/dist/{chunk-QZRBO7BE.js → chunk-Z4KFHRDW.js} +9 -9
  87. package/dist/chunk-Z4KFHRDW.js.map +1 -0
  88. package/dist/{chunk-TXRQCHOR.js → chunk-ZAR3SCPV.js} +5 -5
  89. package/dist/chunk-ZAR3SCPV.js.map +1 -0
  90. package/dist/color-picker.js +19 -19
  91. package/dist/date-picker.js +10 -10
  92. package/dist/date-picker.js.map +1 -1
  93. package/dist/divider.js +2 -2
  94. package/dist/divider.js.map +1 -1
  95. package/dist/drawer.js +7 -7
  96. package/dist/dropdown.js +7 -7
  97. package/dist/empty.js +5 -5
  98. package/dist/field.js +2 -2
  99. package/dist/field.js.map +1 -1
  100. package/dist/float-button.js +6 -6
  101. package/dist/float-button.js.map +1 -1
  102. package/dist/image.js +8 -8
  103. package/dist/image.js.map +1 -1
  104. package/dist/input-number.js +6 -6
  105. package/dist/input.js +8 -8
  106. package/dist/list.js +12 -12
  107. package/dist/list.js.map +1 -1
  108. package/dist/loading.js +1 -1
  109. package/dist/logo.js.map +1 -1
  110. package/dist/mari.css +8 -2
  111. package/dist/masonry.js +5 -5
  112. package/dist/masonry.js.map +1 -1
  113. package/dist/menu.js +10 -10
  114. package/dist/menu.js.map +1 -1
  115. package/dist/modal.js +8 -8
  116. package/dist/modal.js.map +1 -1
  117. package/dist/pagination.js +5 -5
  118. package/dist/popconfirm.js +13 -13
  119. package/dist/popconfirm.js.map +1 -1
  120. package/dist/popover.js +10 -10
  121. package/dist/progress.js +2 -2
  122. package/dist/progress.js.map +1 -1
  123. package/dist/qrcode.js +1 -1
  124. package/dist/qrcode.js.map +1 -1
  125. package/dist/radio.js +4 -4
  126. package/dist/radio.js.map +1 -1
  127. package/dist/rate.js +2 -2
  128. package/dist/rate.js.map +1 -1
  129. package/dist/segmented.js +4 -4
  130. package/dist/select.js +11 -11
  131. package/dist/skeleton.js +3 -3
  132. package/dist/slider.js +8 -8
  133. package/dist/slider.js.map +1 -1
  134. package/dist/splitter.js.map +1 -1
  135. package/dist/statistic.js +7 -7
  136. package/dist/statistic.js.map +1 -1
  137. package/dist/steps.js +4 -4
  138. package/dist/steps.js.map +1 -1
  139. package/dist/styles.css +1 -1
  140. package/dist/switch.js +2 -2
  141. package/dist/switch.js.map +1 -1
  142. package/dist/table.js +19 -19
  143. package/dist/table.js.map +1 -1
  144. package/dist/tabs.js +2 -2
  145. package/dist/tabs.js.map +1 -1
  146. package/dist/tag.js +3 -3
  147. package/dist/theme-customizer.js +19 -19
  148. package/dist/theme-customizer.js.map +1 -1
  149. package/dist/timeline.js +5 -5
  150. package/dist/timeline.js.map +1 -1
  151. package/dist/toast.js +7 -7
  152. package/dist/tooltip.js +4 -4
  153. package/dist/tour.js +12 -12
  154. package/dist/tour.js.map +1 -1
  155. package/dist/transfer.js +11 -11
  156. package/dist/transfer.js.map +1 -1
  157. package/dist/tree-select.js +12 -12
  158. package/dist/tree-select.js.map +1 -1
  159. package/dist/tree.js +5 -5
  160. package/dist/types/accordion/Accordion.d.ts +1 -3
  161. package/dist/types/accordion/Accordion.d.ts.map +1 -1
  162. package/dist/types/alert/Alert.d.ts +0 -1
  163. package/dist/types/alert/Alert.d.ts.map +1 -1
  164. package/dist/types/autocomplete/AutoComplete.d.ts +2 -2
  165. package/dist/types/autocomplete/utils.d.ts +0 -8
  166. package/dist/types/autocomplete/utils.d.ts.map +1 -1
  167. package/dist/types/avatar/utils.d.ts +1 -1
  168. package/dist/types/badge/Badge.d.ts +0 -3
  169. package/dist/types/badge/Badge.d.ts.map +1 -1
  170. package/dist/types/breadcrumb/Breadcrumb.d.ts +1 -12
  171. package/dist/types/breadcrumb/Breadcrumb.d.ts.map +1 -1
  172. package/dist/types/breadcrumb/utils.d.ts +0 -7
  173. package/dist/types/breadcrumb/utils.d.ts.map +1 -1
  174. package/dist/types/button/types.d.ts +1 -9
  175. package/dist/types/button/types.d.ts.map +1 -1
  176. package/dist/types/calendar/Calendar.d.ts +3 -4
  177. package/dist/types/calendar/Calendar.d.ts.map +1 -1
  178. package/dist/types/calendar/_components/CalendarPanel.d.ts +1 -2
  179. package/dist/types/calendar/_components/CalendarPanel.d.ts.map +1 -1
  180. package/dist/types/calendar/_components/DayGrid.d.ts +1 -1
  181. package/dist/types/calendar/types.d.ts +1 -1
  182. package/dist/types/calendar/types.d.ts.map +1 -1
  183. package/dist/types/card/Card.d.ts +3 -4
  184. package/dist/types/card/Card.d.ts.map +1 -1
  185. package/dist/types/card/types.d.ts +1 -1
  186. package/dist/types/carousel/types.d.ts +4 -10
  187. package/dist/types/carousel/types.d.ts.map +1 -1
  188. package/dist/types/carousel/utils.d.ts +0 -11
  189. package/dist/types/carousel/utils.d.ts.map +1 -1
  190. package/dist/types/chart/_shared/paths.d.ts +1 -1
  191. package/dist/types/chart/_shared/scale.d.ts +1 -2
  192. package/dist/types/chart/_shared/scale.d.ts.map +1 -1
  193. package/dist/types/chart/bar-chart/BarChart.d.ts +1 -1
  194. package/dist/types/chart/gauge/Gauge.d.ts +1 -1
  195. package/dist/types/chart/line-chart/LineChart.d.ts +2 -2
  196. package/dist/types/chart/pie-chart/PieChart.d.ts +1 -1
  197. package/dist/types/chart/sparkline/Sparkline.d.ts +1 -1
  198. package/dist/types/checkbox/utils.d.ts.map +1 -1
  199. package/dist/types/color-picker/ColorPicker.d.ts +0 -6
  200. package/dist/types/color-picker/ColorPicker.d.ts.map +1 -1
  201. package/dist/types/color-picker/_components/ColorPresets.d.ts +1 -1
  202. package/dist/types/color-picker/_components/ColorPresets.d.ts.map +1 -1
  203. package/dist/types/color-picker/utils.d.ts +1 -1
  204. package/dist/types/date-picker/DatePicker.d.ts +0 -6
  205. package/dist/types/date-picker/DatePicker.d.ts.map +1 -1
  206. package/dist/types/date-picker/TimePicker.d.ts +1 -1
  207. package/dist/types/date-picker/_components/TimePanel.d.ts.map +1 -1
  208. package/dist/types/date-picker/utils.d.ts +1 -1
  209. package/dist/types/date-picker/utils.d.ts.map +1 -1
  210. package/dist/types/divider/Divider.d.ts +1 -1
  211. package/dist/types/divider/types.d.ts +2 -4
  212. package/dist/types/divider/types.d.ts.map +1 -1
  213. package/dist/types/drawer/Drawer.d.ts +5 -6
  214. package/dist/types/drawer/Drawer.d.ts.map +1 -1
  215. package/dist/types/dropdown/_components/DropdownContent.d.ts +1 -1
  216. package/dist/types/dropdown/_components/DropdownItem.d.ts +0 -5
  217. package/dist/types/dropdown/_components/DropdownItem.d.ts.map +1 -1
  218. package/dist/types/dropdown/types.d.ts +1 -1
  219. package/dist/types/dropdown/useDropdown.d.ts +0 -16
  220. package/dist/types/dropdown/useDropdown.d.ts.map +1 -1
  221. package/dist/types/dropdown/utils.d.ts +1 -1
  222. package/dist/types/empty/Empty.d.ts +1 -6
  223. package/dist/types/empty/Empty.d.ts.map +1 -1
  224. package/dist/types/field/Field.d.ts +1 -5
  225. package/dist/types/field/Field.d.ts.map +1 -1
  226. package/dist/types/float-button/BackTop.d.ts +1 -1
  227. package/dist/types/float-button/FloatButton.d.ts +0 -5
  228. package/dist/types/float-button/FloatButton.d.ts.map +1 -1
  229. package/dist/types/float-button/FloatButtonGroup.d.ts +1 -1
  230. package/dist/types/float-button/utils.d.ts +1 -1
  231. package/dist/types/foundations/usePersonaTheme.d.ts +1 -1
  232. package/dist/types/image/Image.d.ts +0 -6
  233. package/dist/types/image/Image.d.ts.map +1 -1
  234. package/dist/types/image/ImageGallery.d.ts +1 -1
  235. package/dist/types/image/ImageViewer.d.ts +1 -1
  236. package/dist/types/image/galleryUtils.d.ts +1 -1
  237. package/dist/types/input/SearchInput.d.ts +1 -6
  238. package/dist/types/input/SearchInput.d.ts.map +1 -1
  239. package/dist/types/input/Textarea.d.ts +2 -6
  240. package/dist/types/input/Textarea.d.ts.map +1 -1
  241. package/dist/types/input/mention/types.d.ts +1 -2
  242. package/dist/types/input/mention/types.d.ts.map +1 -1
  243. package/dist/types/input/types.d.ts +3 -15
  244. package/dist/types/input/types.d.ts.map +1 -1
  245. package/dist/types/input/utils.d.ts +1 -26
  246. package/dist/types/input/utils.d.ts.map +1 -1
  247. package/dist/types/input-number/InputNumber.d.ts +0 -2
  248. package/dist/types/input-number/InputNumber.d.ts.map +1 -1
  249. package/dist/types/input-number/utils.d.ts +1 -1
  250. package/dist/types/lib/ContentSkeleton.d.ts +1 -1
  251. package/dist/types/lib/FloatingArrow.d.ts +0 -10
  252. package/dist/types/lib/FloatingArrow.d.ts.map +1 -1
  253. package/dist/types/lib/SkeletonDemo.d.ts +1 -1
  254. package/dist/types/lib/SkeletonSlot.d.ts +1 -1
  255. package/dist/types/lib/colorClasses.d.ts +1 -7
  256. package/dist/types/lib/colorClasses.d.ts.map +1 -1
  257. package/dist/types/lib/date/index.d.ts +1 -1
  258. package/dist/types/lib/elevationClass.d.ts +0 -8
  259. package/dist/types/lib/elevationClass.d.ts.map +1 -1
  260. package/dist/types/lib/fieldContext.d.ts +1 -1
  261. package/dist/types/lib/floating.d.ts +2 -7
  262. package/dist/types/lib/floating.d.ts.map +1 -1
  263. package/dist/types/lib/infiniteScroll.d.ts +1 -1
  264. package/dist/types/lib/linkBehavior.d.ts +1 -1
  265. package/dist/types/lib/overlay.d.ts +0 -7
  266. package/dist/types/lib/overlay.d.ts.map +1 -1
  267. package/dist/types/lib/sizeClasses.d.ts +2 -2
  268. package/dist/types/lib/skeleton.d.ts +1 -1
  269. package/dist/types/lib/storyMeta.d.ts +7 -28
  270. package/dist/types/lib/storyMeta.d.ts.map +1 -1
  271. package/dist/types/lib/storybookArgTypes.d.ts +1 -1
  272. package/dist/types/lib/useFloatingPosition.d.ts +1 -1
  273. package/dist/types/list/List.d.ts +0 -4
  274. package/dist/types/list/List.d.ts.map +1 -1
  275. package/dist/types/loading/Loading.d.ts.map +1 -1
  276. package/dist/types/loading/types.d.ts +2 -5
  277. package/dist/types/loading/types.d.ts.map +1 -1
  278. package/dist/types/loading/utils.d.ts +0 -5
  279. package/dist/types/loading/utils.d.ts.map +1 -1
  280. package/dist/types/masonry/Masonry.d.ts +0 -4
  281. package/dist/types/masonry/Masonry.d.ts.map +1 -1
  282. package/dist/types/menu/_shared/MenuLink.d.ts +0 -4
  283. package/dist/types/menu/_shared/MenuLink.d.ts.map +1 -1
  284. package/dist/types/menu/_shared/MobileNav.d.ts +0 -6
  285. package/dist/types/menu/_shared/MobileNav.d.ts.map +1 -1
  286. package/dist/types/menu/_shared/NavBar.d.ts +0 -8
  287. package/dist/types/menu/_shared/NavBar.d.ts.map +1 -1
  288. package/dist/types/menu/basic-menu/BasicMenu.d.ts +2 -16
  289. package/dist/types/menu/basic-menu/BasicMenu.d.ts.map +1 -1
  290. package/dist/types/menu/mega-menu/MegaMenu.d.ts +0 -8
  291. package/dist/types/menu/mega-menu/MegaMenu.d.ts.map +1 -1
  292. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts +0 -12
  293. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts.map +1 -1
  294. package/dist/types/menu/sidebar/Sidebar.d.ts +1 -16
  295. package/dist/types/menu/sidebar/Sidebar.d.ts.map +1 -1
  296. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts +0 -6
  297. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts.map +1 -1
  298. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts +0 -10
  299. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts.map +1 -1
  300. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts +0 -4
  301. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts.map +1 -1
  302. package/dist/types/menu/types.d.ts +2 -11
  303. package/dist/types/menu/types.d.ts.map +1 -1
  304. package/dist/types/menu/utils.d.ts +0 -22
  305. package/dist/types/menu/utils.d.ts.map +1 -1
  306. package/dist/types/modal/Modal.d.ts +1 -12
  307. package/dist/types/modal/Modal.d.ts.map +1 -1
  308. package/dist/types/modal/types.d.ts +3 -4
  309. package/dist/types/modal/types.d.ts.map +1 -1
  310. package/dist/types/modal/utils.d.ts +1 -5
  311. package/dist/types/modal/utils.d.ts.map +1 -1
  312. package/dist/types/pagination/Pagination.d.ts +2 -11
  313. package/dist/types/pagination/Pagination.d.ts.map +1 -1
  314. package/dist/types/pagination/types.d.ts +1 -1
  315. package/dist/types/pagination/types.d.ts.map +1 -1
  316. package/dist/types/pagination/utils.d.ts +5 -12
  317. package/dist/types/pagination/utils.d.ts.map +1 -1
  318. package/dist/types/popconfirm/Popconfirm.d.ts +0 -4
  319. package/dist/types/popconfirm/Popconfirm.d.ts.map +1 -1
  320. package/dist/types/popover/Popover.d.ts +0 -5
  321. package/dist/types/popover/Popover.d.ts.map +1 -1
  322. package/dist/types/progress/Progress.d.ts +0 -3
  323. package/dist/types/progress/Progress.d.ts.map +1 -1
  324. package/dist/types/qrcode/QRCode.d.ts +0 -6
  325. package/dist/types/qrcode/QRCode.d.ts.map +1 -1
  326. package/dist/types/radio/utils.d.ts +1 -1
  327. package/dist/types/segmented/Segmented.d.ts +0 -4
  328. package/dist/types/segmented/Segmented.d.ts.map +1 -1
  329. package/dist/types/select/Select.d.ts +0 -5
  330. package/dist/types/select/Select.d.ts.map +1 -1
  331. package/dist/types/select/_components/SelectPanel.d.ts +2 -3
  332. package/dist/types/select/_components/SelectPanel.d.ts.map +1 -1
  333. package/dist/types/select/types.d.ts +1 -1
  334. package/dist/types/select/types.d.ts.map +1 -1
  335. package/dist/types/skeleton/utils.d.ts.map +1 -1
  336. package/dist/types/slider/Slider.d.ts.map +1 -1
  337. package/dist/types/slider/utils.d.ts +0 -1
  338. package/dist/types/slider/utils.d.ts.map +1 -1
  339. package/dist/types/splitter/Splitter.d.ts +4 -4
  340. package/dist/types/statistic/Statistic.d.ts +1 -1
  341. package/dist/types/statistic/utils.d.ts +2 -4
  342. package/dist/types/statistic/utils.d.ts.map +1 -1
  343. package/dist/types/steps/Steps.d.ts.map +1 -1
  344. package/dist/types/steps/_components/StepsContent.d.ts +1 -10
  345. package/dist/types/steps/_components/StepsContent.d.ts.map +1 -1
  346. package/dist/types/steps/types.d.ts +1 -1
  347. package/dist/types/steps/types.d.ts.map +1 -1
  348. package/dist/types/steps/utils.d.ts +0 -9
  349. package/dist/types/steps/utils.d.ts.map +1 -1
  350. package/dist/types/switch/Switch.d.ts +1 -9
  351. package/dist/types/switch/Switch.d.ts.map +1 -1
  352. package/dist/types/switch/utils.d.ts.map +1 -1
  353. package/dist/types/table/Table.d.ts +7 -11
  354. package/dist/types/table/Table.d.ts.map +1 -1
  355. package/dist/types/table/_components/TableBody.d.ts.map +1 -1
  356. package/dist/types/table/_components/TableEditDrawer.d.ts +0 -8
  357. package/dist/types/table/_components/TableEditDrawer.d.ts.map +1 -1
  358. package/dist/types/table/_components/TableHeader.d.ts +0 -7
  359. package/dist/types/table/_components/TableHeader.d.ts.map +1 -1
  360. package/dist/types/table/_components/TableInfoValue.d.ts +0 -10
  361. package/dist/types/table/_components/TableInfoValue.d.ts.map +1 -1
  362. package/dist/types/table/_components/TablePagination.d.ts +0 -12
  363. package/dist/types/table/_components/TablePagination.d.ts.map +1 -1
  364. package/dist/types/table/_components/TableRowActions.d.ts +0 -6
  365. package/dist/types/table/_components/TableRowActions.d.ts.map +1 -1
  366. package/dist/types/table/types.d.ts +2 -18
  367. package/dist/types/table/types.d.ts.map +1 -1
  368. package/dist/types/table/utils.d.ts +1 -7
  369. package/dist/types/table/utils.d.ts.map +1 -1
  370. package/dist/types/tabs/Tabs.d.ts +0 -1
  371. package/dist/types/tabs/Tabs.d.ts.map +1 -1
  372. package/dist/types/tabs/_components/TabsContent.d.ts +0 -5
  373. package/dist/types/tabs/_components/TabsContent.d.ts.map +1 -1
  374. package/dist/types/tabs/_components/TabsList.d.ts +6 -6
  375. package/dist/types/tabs/_components/TabsTrigger.d.ts +1 -1
  376. package/dist/types/tabs/utils.d.ts +0 -5
  377. package/dist/types/tabs/utils.d.ts.map +1 -1
  378. package/dist/types/tag/utils.d.ts +0 -8
  379. package/dist/types/tag/utils.d.ts.map +1 -1
  380. package/dist/types/theme-customizer/ThemeCustomizer.d.ts +1 -1
  381. package/dist/types/timeline/Timeline.d.ts +1 -3
  382. package/dist/types/timeline/Timeline.d.ts.map +1 -1
  383. package/dist/types/toast/Toast.d.ts +2 -2
  384. package/dist/types/toast/useToast.d.ts +2 -4
  385. package/dist/types/toast/useToast.d.ts.map +1 -1
  386. package/dist/types/toast/utils.d.ts +0 -1
  387. package/dist/types/toast/utils.d.ts.map +1 -1
  388. package/dist/types/tooltip/Tooltip.d.ts.map +1 -1
  389. package/dist/types/tooltip/utils.d.ts +0 -6
  390. package/dist/types/tooltip/utils.d.ts.map +1 -1
  391. package/dist/types/tour/Tour.d.ts +0 -6
  392. package/dist/types/tour/Tour.d.ts.map +1 -1
  393. package/dist/types/tour/utils.d.ts +1 -1
  394. package/dist/types/tour/utils.d.ts.map +1 -1
  395. package/dist/types/transfer/Transfer.d.ts +0 -5
  396. package/dist/types/transfer/Transfer.d.ts.map +1 -1
  397. package/dist/types/transfer/utils.d.ts +1 -3
  398. package/dist/types/transfer/utils.d.ts.map +1 -1
  399. package/dist/types/tree/Tree.d.ts +0 -6
  400. package/dist/types/tree/Tree.d.ts.map +1 -1
  401. package/dist/types/tree/utils.d.ts +1 -1
  402. package/dist/types/tree-select/TreeSelect.d.ts +0 -6
  403. package/dist/types/tree-select/TreeSelect.d.ts.map +1 -1
  404. package/dist/types/tree-select/_components/TreeSelectPanel.d.ts +1 -1
  405. package/dist/types/tree-select/utils.d.ts +1 -1
  406. package/dist/types/typography/utils.d.ts.map +1 -1
  407. package/dist/types/upload/_components/List.d.ts +0 -7
  408. package/dist/types/upload/_components/List.d.ts.map +1 -1
  409. package/dist/types/upload/_components/ReviewList.d.ts +0 -8
  410. package/dist/types/upload/_components/ReviewList.d.ts.map +1 -1
  411. package/dist/types/upload/_components/UploadDragDropButton.d.ts +0 -8
  412. package/dist/types/upload/_components/UploadDragDropButton.d.ts.map +1 -1
  413. package/dist/types/upload/_components/UploadReviewButton.d.ts +0 -5
  414. package/dist/types/upload/_components/UploadReviewButton.d.ts.map +1 -1
  415. package/dist/types/upload/types.d.ts +5 -8
  416. package/dist/types/upload/types.d.ts.map +1 -1
  417. package/dist/types/upload/useUpload.d.ts +0 -10
  418. package/dist/types/upload/useUpload.d.ts.map +1 -1
  419. package/dist/types/upload/utils.d.ts +0 -4
  420. package/dist/types/upload/utils.d.ts.map +1 -1
  421. package/dist/typewriter.js +1 -1
  422. package/dist/typography.js +2 -2
  423. package/dist/typography.js.map +1 -1
  424. package/dist/upload.js +8 -8
  425. package/dist/upload.js.map +1 -1
  426. package/package.json +3 -3
  427. package/dist/chunk-3ABWBQCS.js.map +0 -1
  428. package/dist/chunk-47FHUOLT.js.map +0 -1
  429. package/dist/chunk-54HHEXXD.js.map +0 -1
  430. package/dist/chunk-BDV4GOEN.js.map +0 -1
  431. package/dist/chunk-CYLXW66E.js.map +0 -1
  432. package/dist/chunk-DKENCYHA.js.map +0 -1
  433. package/dist/chunk-DUCIAQGR.js.map +0 -1
  434. package/dist/chunk-ELHESRRH.js.map +0 -1
  435. package/dist/chunk-FFXRFQSU.js.map +0 -1
  436. package/dist/chunk-FNJHS5KQ.js.map +0 -1
  437. package/dist/chunk-IO4346TF.js.map +0 -1
  438. package/dist/chunk-IP2J3BWY.js.map +0 -1
  439. package/dist/chunk-JNZODUXP.js.map +0 -1
  440. package/dist/chunk-KCYM2JXP.js.map +0 -1
  441. package/dist/chunk-LBQMEHK6.js.map +0 -1
  442. package/dist/chunk-LBXIPDAB.js.map +0 -1
  443. package/dist/chunk-LEOIKO7C.js.map +0 -1
  444. package/dist/chunk-LZHERDNB.js.map +0 -1
  445. package/dist/chunk-NPM7IDYV.js.map +0 -1
  446. package/dist/chunk-NS7FKOFI.js.map +0 -1
  447. package/dist/chunk-P7Z5BREP.js.map +0 -1
  448. package/dist/chunk-QDFDMWXD.js.map +0 -1
  449. package/dist/chunk-QNOHFHVL.js.map +0 -1
  450. package/dist/chunk-QZRBO7BE.js.map +0 -1
  451. package/dist/chunk-RIBB5OJV.js.map +0 -1
  452. package/dist/chunk-S66GKX2W.js.map +0 -1
  453. package/dist/chunk-TCYDVNSU.js.map +0 -1
  454. package/dist/chunk-TXRQCHOR.js.map +0 -1
  455. package/dist/chunk-V7KDUUV6.js.map +0 -1
  456. package/dist/chunk-XUKVQO6M.js.map +0 -1
  457. package/dist/chunk-YZ7MDC6B.js.map +0 -1
  458. package/dist/chunk-ZXYQ2ZPR.js.map +0 -1
  459. /package/dist/{chunk-2IEXY3OZ.js.map → chunk-CVKAGR3D.js.map} +0 -0
package/dist/carousel.js CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  import {
4
4
  SkeletonSlot
5
- } from "./chunk-DKENCYHA.js";
5
+ } from "./chunk-MXGY2ENX.js";
6
6
  import {
7
7
  touchTargetSquareClass
8
- } from "./chunk-FFXRFQSU.js";
8
+ } from "./chunk-POBOJBNJ.js";
9
9
  import {
10
10
  bgSolidClass
11
- } from "./chunk-IP2J3BWY.js";
11
+ } from "./chunk-6AMBZXZJ.js";
12
12
  import {
13
13
  skeletonFill
14
- } from "./chunk-54HHEXXD.js";
14
+ } from "./chunk-VKN374SD.js";
15
15
 
16
16
  // src/carousel/Carousel.tsx
17
17
  import React, { isValidElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/carousel/Carousel.tsx","../src/carousel/utils.ts"],"sourcesContent":["\"use client\";\n\nimport React, { FC, isValidElement, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { ChevronLeftIcon, ChevronRightIcon, PauseIcon, PlayIcon } from \"lucide-react\";\nimport { cn, type ColorRole } from \"@mari-ui/core\";\n\nimport { skeletonFill, type SkeletonableProps } from \"../lib/skeleton\";\nimport { SkeletonSlot } from \"../lib/SkeletonSlot\";\nimport { touchTargetSquareClass } from \"../lib/sizeClasses\";\nimport { ArrowsPlacement, CarouselControls, DotPosition, DotsPlacement, ResponsiveItem } from \"./types\";\nimport { getDotClass } from \"./utils\";\n\nexport type CarouselProps = SkeletonableProps & {\n children: React.ReactNode[];\n className?: string;\n containerClassName?: string;\n itemClassName?: string;\n viewportClassName?: string;\n /** Ok ve nokta göstergelerinin aktif rengi. Varsayılan: `neutral`. */\n color?: ColorRole;\n /**\n * Carousel bölgesinin erişilebilir adı (ör. \"Kampanyalar\"). Sayfada birden\n * fazla carousel varsa her birine ayırt edici bir ad verin. Varsayılan:\n * `\"Slayt gösterisi\"`.\n */\n label?: string;\n\n /** Core */\n loop?: boolean;\n /** Fare/dokunma ile sürükleyerek gezinme. Varsayılan: `true`. */\n draggable?: boolean;\n speed?: number;\n\n /** Viewport */\n slidesToShow?: number;\n slidesToScroll?: number;\n align?: \"start\" | \"center\" | \"end\";\n containScroll?: \"trimSnaps\" | \"keepSnaps\";\n\n /**\n * Otomatik ilerleme. Üzerine gelince / klavye odağı içerideyken duraklar,\n * durdur/başlat düğmesi gösterilir (WCAG 2.2.2) ve `prefers-reduced-motion`\n * açıksa kendiliğinden başlamaz.\n */\n autoplay?: boolean;\n autoplayDelay?: number;\n /** Kullanıcı sürükler/odaklanırsa otomatik oynatma kalıcı olarak durur. Varsayılan: `true`. */\n autoplayStopOnInteraction?: boolean;\n\n /** UI */\n arrows?: boolean;\n /** Ok butonlarının görünürlüğü. `\"always\"` (varsayılan) her zaman görünür, `\"hover\"` yalnızca carousel'in üzerine gelindiğinde belirir (klavye odağında da görünür kalır). */\n arrowsVisibility?: \"always\" | \"hover\";\n /** Ok butonlarının yerleşimi. `\"sides\"` (varsayılan) biri solda biri sağda, dikeyde ortalanmış. Köşe değerleri (örn. `\"top-right\"`) ikisini de tek bir köşede gruplar — metin ağırlıklı slaytlarda içeriğin üzerine binmemek için. */\n arrowsPlacement?: ArrowsPlacement;\n dots?: boolean | { className?: string };\n dotPosition?: DotPosition;\n /** Nokta göstergelerinin yerleşimi. `\"overlay\"` (varsayılan) carousel'in üzerine `absolute` konumlanır. `\"outside\"` noktaları normal akışa alıp carousel'in ALTINA, içerikle çakışmadan render eder. */\n dotsPlacement?: DotsPlacement;\n controlsRef?: React.RefObject<CarouselControls | null>;\n\n /** Responsive */\n responsive?: ResponsiveItem[];\n\n /** Callbacks */\n /** Seçili slayt değişirken: `(önceki, yeni)`. */\n beforeChange?: (current: number, next: number) => void;\n /** Kaydırma animasyonu yeni slaytta durduğunda. */\n afterChange?: (current: number) => void;\n\n /** Dış state aynası — `CarouselControls` her değiştiğinde çağrılır. */\n onStateChange?: (state: CarouselControls) => void;\n};\n\n/* ========== Responsive Slides Hook ========== */\nconst useResponsiveSlides = (baseShow: number, baseScroll: number, responsive?: ResponsiveItem[]) => {\n const [state, setState] = useState({\n slidesToShow: Math.max(1, baseShow),\n slidesToScroll: Math.max(1, baseScroll || baseShow),\n });\n\n useEffect(() => {\n if (!responsive?.length) {\n setState({ slidesToShow: Math.max(1, baseShow), slidesToScroll: Math.max(1, baseScroll || baseShow) });\n return;\n }\n\n const onResize = () => {\n const width = window.innerWidth;\n const sorted = [...responsive].sort((a, b) => a.breakpoint - b.breakpoint);\n\n let appliedShow = baseShow;\n let appliedScroll = baseScroll || baseShow;\n\n for (const r of sorted) {\n if (width <= r.breakpoint) {\n appliedShow = r.slidesToShow;\n appliedScroll = r.slidesToScroll ?? r.slidesToShow;\n break;\n }\n }\n\n setState({ slidesToShow: Math.max(1, appliedShow), slidesToScroll: Math.max(1, appliedScroll) });\n };\n\n onResize();\n window.addEventListener(\"resize\", onResize);\n return () => window.removeEventListener(\"resize\", onResize);\n }, [baseShow, baseScroll, responsive]);\n\n return state;\n};\n\nfunction usePrefersReducedMotion(): boolean {\n const [reduced, setReduced] = useState(false);\n useEffect(() => {\n const mq = window.matchMedia?.(\"(prefers-reduced-motion: reduce)\");\n if (!mq) return;\n setReduced(mq.matches);\n const onChange = (e: MediaQueryListEvent) => setReduced(e.matches);\n mq.addEventListener?.(\"change\", onChange);\n return () => mq.removeEventListener?.(\"change\", onChange);\n }, []);\n return reduced;\n}\n\n/* ========== Oklar ========== */\n\n/**\n * Oklar çıplak ikon (arka plan/daire yok, kullanıcı isteği); rastgele slayt\n * içeriği üzerinde okunabilirlik için `drop-shadow`. `hover` görünürlüğünde\n * `group-hover` ile belirir, klavye odağında (`focus-visible`) yine görünür.\n * Faz 15: dokunmatikte görünmez 44px hedef (`touchTargetSquareClass`).\n */\nfunction CarouselArrows({\n placement,\n visibility,\n hidden,\n canPrev,\n canNext,\n onPrev,\n onNext,\n}: Readonly<{\n placement: ArrowsPlacement;\n visibility: \"always\" | \"hover\";\n hidden: boolean;\n canPrev: boolean;\n canNext: boolean;\n onPrev: () => void;\n onNext: () => void;\n}>) {\n const sides = placement === \"sides\";\n const base = cn(\n \"relative text-mari-foreground drop-shadow-sm transition-colors hover:text-mari-primary disabled:opacity-40 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n sides ? touchTargetSquareClass.md : touchTargetSquareClass.sm,\n visibility === \"hover\" && \"opacity-0 transition-opacity duration-200 group-hover:opacity-100 focus-visible:opacity-100\",\n // İskelette yer kaplamaya devam eder ama görünmez ve tab sırasından çıkar.\n hidden && \"invisible\"\n );\n const iconClass = sides ? \"h-7 w-7\" : \"h-6 w-6\";\n const prev = (\n <button type=\"button\" onClick={onPrev} disabled={!canPrev} aria-label=\"Önceki slayt\" className={cn(base, \"p-1\", sides && \"absolute top-1/2 left-4 -translate-y-1/2\")}>\n <ChevronLeftIcon className={iconClass} aria-hidden />\n </button>\n );\n const next = (\n <button type=\"button\" onClick={onNext} disabled={!canNext} aria-label=\"Sonraki slayt\" className={cn(base, \"p-1\", sides && \"absolute top-1/2 right-4 -translate-y-1/2\")}>\n <ChevronRightIcon className={iconClass} aria-hidden />\n </button>\n );\n\n if (sides) {\n return (\n <>\n {prev}\n {next}\n </>\n );\n }\n return (\n <div\n className={cn(\"absolute z-10 flex gap-1\", {\n \"top-4 left-4\": placement === \"top-left\",\n \"top-4 right-4\": placement === \"top-right\",\n \"bottom-4 left-4\": placement === \"bottom-left\",\n \"bottom-4 right-4\": placement === \"bottom-right\",\n })}\n >\n {prev}\n {next}\n </div>\n );\n}\n\nconst DOT_WRAPPER_POS: Record<DotPosition, string> = {\n top: \"top-2 left-1/2 -translate-x-1/2\",\n left: \"left-2 top-1/2 -translate-y-1/2\",\n right: \"right-2 top-1/2 -translate-y-1/2\",\n bottom: \"bottom-2 left-1/2 -translate-x-1/2\",\n};\n\n/* ========== Carousel Component ========== */\nexport const Carousel: FC<CarouselProps> = ({\n children,\n className,\n containerClassName,\n itemClassName,\n viewportClassName,\n color = \"neutral\",\n label = \"Slayt gösterisi\",\n skeleton = false,\n\n loop = true,\n draggable = true,\n speed = 20,\n\n slidesToShow: baseSlidesToShow = 1,\n slidesToScroll: baseSlidesToScroll,\n align = \"start\",\n containScroll = \"trimSnaps\",\n\n autoplay = false,\n autoplayDelay = 3000,\n autoplayStopOnInteraction = true,\n\n arrows = true,\n arrowsVisibility = \"always\",\n arrowsPlacement = \"sides\",\n dots = true,\n dotPosition = \"bottom\",\n dotsPlacement = \"overlay\",\n controlsRef,\n responsive,\n beforeChange,\n afterChange,\n onStateChange,\n}) => {\n const items = React.Children.toArray(children);\n const count = items.length;\n\n const { slidesToShow, slidesToScroll } = useResponsiveSlides(baseSlidesToShow, baseSlidesToScroll ?? baseSlidesToShow, responsive);\n const reducedMotion = usePrefersReducedMotion();\n\n const emblaOptions = useMemo(\n () => ({\n loop,\n align,\n containScroll,\n slidesToScroll,\n duration: speed,\n // Eskiden `draggable` Embla'ya aynen geçiliyordu — v8'de böyle bir\n // seçenek yok, `watchDrag` sabit `true`du: `draggable={false}` sürüklemeyi\n // KAPATMIYORDU (tarayıcıda doğrulandı). İskelette de sürükleme kapalı.\n watchDrag: draggable && !skeleton,\n // Varsayılan 0: kenarı görünür alana DEĞEN (0px görünen) komşu slayt da\n // \"görünür\" sayılıyor ve Tab'la odaklanabiliyordu (ölçüldü). Yarısından\n // fazlası görünen slayt görünür sayılır.\n inViewThreshold: 0.5,\n }),\n [loop, align, draggable, skeleton, containScroll, slidesToScroll, speed]\n );\n\n // Seçenekler değişince eklenti yeniden kurulur (eskiden ilk render'daki\n // `autoplayDelay` sonsuza dek kalıyordu). Üzerine gelince/odakta duraklar.\n const plugins = useMemo(\n () =>\n autoplay && !skeleton\n ? [\n Autoplay({\n delay: autoplayDelay,\n stopOnInteraction: autoplayStopOnInteraction,\n stopOnMouseEnter: true,\n stopOnFocusIn: true,\n playOnInit: !reducedMotion,\n rootNode: (emblaRoot) => emblaRoot.parentElement as HTMLElement,\n }),\n ]\n : [],\n [autoplay, skeleton, autoplayDelay, autoplayStopOnInteraction, reducedMotion]\n );\n\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, plugins);\n\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([]);\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n const [playing, setPlaying] = useState(false);\n\n const scrollPrev = useCallback(() => emblaApi?.scrollPrev(), [emblaApi]);\n const scrollNext = useCallback(() => emblaApi?.scrollNext(), [emblaApi]);\n const scrollTo = useCallback((index: number) => emblaApi?.scrollTo(index), [emblaApi]);\n\n const togglePlay = useCallback(() => {\n const ap = emblaApi?.plugins().autoplay;\n if (!ap) return;\n if (ap.isPlaying()) ap.stop();\n else ap.play();\n }, [emblaApi]);\n\n // Geri çağırmalar ref'te: satır içi fonksiyonlar her render'da değişince\n // Embla dinleyicileri yeniden bağlanmasın.\n const callbacksRef = useRef({ beforeChange, afterChange });\n useEffect(() => {\n callbacksRef.current = { beforeChange, afterChange };\n });\n\n useEffect(() => {\n if (!emblaApi) return;\n let prevIndex = emblaApi.selectedScrollSnap();\n let settledIndex = prevIndex;\n\n const sync = () => {\n setScrollSnaps(emblaApi.scrollSnapList());\n setSelectedIndex(emblaApi.selectedScrollSnap());\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n };\n // Eskiden `beforeChange(from, from)` HER kaydırma karesinde (`scroll`)\n // çağrılıyordu — `next` hep `current`a eşitti.\n const onSelect = () => {\n const next = emblaApi.selectedScrollSnap();\n if (next !== prevIndex) callbacksRef.current.beforeChange?.(prevIndex, next);\n prevIndex = next;\n sync();\n };\n const onSettle = () => {\n const idx = emblaApi.selectedScrollSnap();\n if (idx === settledIndex) return;\n settledIndex = idx;\n callbacksRef.current.afterChange?.(idx);\n };\n // Görünmeyen slaytlar klavye/ekran okuyucudan çıkar — eskiden ekran\n // dışındaki slaytın düğmesine Tab ile gidilebiliyordu (odak görünmez\n // yerde kayboluyordu). `inert` DOM'a doğrudan yazılır: React 18 peer'ı\n // bu özniteliği prop olarak tanımıyor.\n const onInView = () => {\n const inView = new Set(emblaApi.slidesInView());\n if (inView.size === 0) return;\n emblaApi.slideNodes().forEach((node, i) => {\n const hidden = !inView.has(i);\n node.toggleAttribute(\"inert\", hidden);\n if (hidden) node.setAttribute(\"aria-hidden\", \"true\");\n else node.removeAttribute(\"aria-hidden\");\n });\n };\n const onPlay = () => setPlaying(true);\n const onStop = () => setPlaying(false);\n\n sync();\n onInView();\n setPlaying(Boolean(emblaApi.plugins().autoplay?.isPlaying()));\n\n emblaApi\n .on(\"select\", onSelect)\n .on(\"reInit\", sync)\n .on(\"settle\", onSettle)\n .on(\"slidesInView\", onInView)\n .on(\"autoplay:play\", onPlay)\n .on(\"autoplay:stop\", onStop);\n\n // Eskiden `reInit`/`pointerDown` anonim fonksiyonla bağlanıp hiç\n // çözülmüyordu — her effect tekrarında dinleyici birikiyordu.\n return () => {\n emblaApi\n .off(\"select\", onSelect)\n .off(\"reInit\", sync)\n .off(\"settle\", onSettle)\n .off(\"slidesInView\", onInView)\n .off(\"autoplay:play\", onPlay)\n .off(\"autoplay:stop\", onStop);\n };\n }, [emblaApi]);\n\n /* State'i ref + callback ile dışarı ver */\n useEffect(() => {\n const state: CarouselControls = { selectedIndex, scrollSnaps, canScrollPrev, canScrollNext, scrollPrev, scrollNext, scrollTo };\n if (controlsRef) controlsRef.current = state;\n onStateChange?.(state);\n }, [controlsRef, onStateChange, selectedIndex, scrollSnaps, canScrollPrev, canScrollNext, scrollPrev, scrollNext, scrollTo]);\n\n // Ok tuşları: odak carousel'in içindeki herhangi bir öğedeyken (ok, nokta,\n // slayt içeriği) önceki/sonraki. Olay içerideki etkileşimli öğelerden\n // kabarcıklanır; bölgenin kendisi odaklanabilir değil.\n const rootRef = useRef<HTMLElement>(null);\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n const onKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"input, textarea, select, [contenteditable='true']\")) return;\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n };\n root.addEventListener(\"keydown\", onKeyDown);\n return () => root.removeEventListener(\"keydown\", onKeyDown);\n }, [scrollPrev, scrollNext]);\n\n const showArrows = arrows && count > slidesToShow;\n const showDots = dots && scrollSnaps.length > 1;\n const showPlayToggle = autoplay && !skeleton;\n const verticalDots = dotsPlacement === \"overlay\" && (dotPosition === \"left\" || dotPosition === \"right\");\n\n const playToggle = showPlayToggle && (\n <button\n type=\"button\"\n onClick={togglePlay}\n aria-label={playing ? \"Otomatik oynatmayı durdur\" : \"Otomatik oynatmayı başlat\"}\n className={cn(\n \"pointer-events-auto relative text-mari-foreground drop-shadow-sm transition-colors hover:text-mari-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n touchTargetSquareClass.xs\n )}\n >\n {playing ? <PauseIcon className=\"h-4 w-4\" aria-hidden /> : <PlayIcon className=\"h-4 w-4\" aria-hidden />}\n </button>\n );\n\n const dotsContent = (\n <div\n aria-hidden={skeleton || undefined}\n className={cn(\n \"flex items-center gap-2\",\n dotsPlacement === \"overlay\" && \"pointer-events-none absolute z-10\",\n dotsPlacement === \"overlay\" && (verticalDots ? \"flex-col\" : \"flex-row\"),\n dotsPlacement === \"overlay\" && DOT_WRAPPER_POS[dotPosition],\n dotsPlacement === \"outside\" && \"mt-3 flex-row justify-center\",\n typeof dots === \"object\" ? dots.className : undefined\n )}\n >\n {!verticalDots && playToggle}\n {scrollSnaps.map((_, idx) =>\n skeleton ? (\n <span key={`snap-${idx}`} className={cn(\"h-1 w-4 rounded-full\", skeletonFill(true))} />\n ) : (\n <button\n key={`snap-${idx}`}\n type=\"button\"\n onClick={() => scrollTo(idx)}\n aria-label={`${idx + 1}. slayta git`}\n aria-current={selectedIndex === idx ? \"true\" : undefined}\n className={cn(\n getDotClass(selectedIndex === idx, color),\n // 4px'lik çubuk: dokunmatikte 24×24 görünmez hedef (WCAG 2.5.8),\n // 8px aralıkla komşuya taşmaz.\n \"relative pointer-coarse:before:absolute pointer-coarse:before:-inset-x-1 pointer-coarse:before:-inset-y-2.5\",\n dotsPlacement === \"overlay\" && \"pointer-events-auto\"\n )}\n />\n )\n )}\n </div>\n );\n\n return (\n <section\n className={className}\n aria-roledescription=\"carousel\"\n aria-label={label}\n aria-busy={skeleton || undefined}\n ref={rootRef}\n >\n <div className=\"group relative w-full\">\n <div className={cn(\"overflow-hidden\", viewportClassName)} ref={emblaRef}>\n <div\n className={cn(\"flex w-full will-change-transform select-none\", containerClassName)}\n style={{ \"--slide-basis\": `calc(100% / ${slidesToShow})` } as React.CSSProperties}\n // Otomatik oynarken her geçişi duyurmak gürültü; elle gezinmede duyur (APG).\n aria-live={playing ? \"off\" : \"polite\"}\n >\n {items.map((child, i) => {\n const key = isValidElement(child) && child.key != null ? child.key : `slide-${i}`;\n return (\n <div\n key={key}\n role=\"group\"\n aria-roledescription=\"slayt\"\n aria-label={`${i + 1} / ${count}`}\n className={cn(\"embla__slide shrink-0\", itemClassName)}\n style={{ flex: \"0 0 var(--slide-basis)\" }}\n >\n <SkeletonSlot on={skeleton} placeholder={<div className={cn(\"size-full rounded-lg\", skeletonFill(true))} />}>\n {child}\n </SkeletonSlot>\n </div>\n );\n })}\n </div>\n </div>\n\n {showArrows && (\n <CarouselArrows\n placement={arrowsPlacement}\n visibility={arrowsVisibility}\n hidden={skeleton}\n canPrev={canScrollPrev}\n canNext={canScrollNext}\n onPrev={scrollPrev}\n onNext={scrollNext}\n />\n )}\n {showDots && dotsPlacement === \"overlay\" && dotsContent}\n {/* Dikey noktalarda / noktasız durumda durdur düğmesi sağ altta. */}\n {(verticalDots || !showDots) && playToggle && <div className=\"absolute right-3 bottom-3 z-10\">{playToggle}</div>}\n </div>\n\n {showDots && dotsPlacement === \"outside\" && dotsContent}\n </section>\n );\n};\n","import { cn, type ColorRole } from \"@mari-ui/core\";\nimport { bgSolidClass } from \"../lib/colorClasses\";\n\n// Not: eskiden burada `getDotWrapperClass`/`getArrowClass` diye iki\n// fonksiyon vardı ama HİÇBİR YERDE import edilmiyorlardı — Carousel.tsx\n// kendi (neredeyse birebir aynı) mantığını inline tutuyordu. Ölü kod\n// silindi; buraya bunun yerine gerçekten kullanılan, token'a bağlı renk\n// yardımcıları eklendi.\n\n/**\n * ant.design'ın gerçek Carousel'i (`getComputedStyle`, ant.design/components/\n * carousel) noktaları hiçbir zaman YUVARLAK göstermez — ikisi de (aktif/pasif)\n * ince bir çubuk (ant'ta tam olarak 3px yükseklik); sadece genişlik farklı\n * (pasif 16px, aktif 24px). Eskiden pasif nokta yuvarlak (8x8), aktif nokta\n * kalın bir hap (24x8) oluyordu — ant'ın \"hep aynı ince çubuk, sadece uzayan\"\n * hissi yerine iki farklı geometri karışıyordu. Yükseklik burada paylaşılan\n * Tailwind ölçeğinden `h-1` (4px) — `h-[0.1875rem]` gibi keyfi bir değer bu\n * projede (Storybook'ta canlı doğrulanan) beklenmedik şekilde `height: 0`\n * üretti, standart ölçek adımı güvenilir.\n */\nexport function getDotClass(active: boolean, color: ColorRole): string {\n return cn(\n \"pointer-events-auto h-1 rounded-full transition-all\",\n active ? cn(bgSolidClass[color], \"w-6\") : \"w-4 bg-mari-border hover:bg-mari-muted\"\n );\n}\n"],"mappings":"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","names":["cn","cn"]}
1
+ {"version":3,"sources":["../src/carousel/Carousel.tsx","../src/carousel/utils.ts"],"sourcesContent":["\"use client\";\n\nimport React, { FC, isValidElement, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { ChevronLeftIcon, ChevronRightIcon, PauseIcon, PlayIcon } from \"lucide-react\";\nimport { cn, type ColorRole } from \"@mari-ui/core\";\n\nimport { skeletonFill, type SkeletonableProps } from \"../lib/skeleton\";\nimport { SkeletonSlot } from \"../lib/SkeletonSlot\";\nimport { touchTargetSquareClass } from \"../lib/sizeClasses\";\nimport { ArrowsPlacement, CarouselControls, DotPosition, DotsPlacement, ResponsiveItem } from \"./types\";\nimport { getDotClass } from \"./utils\";\n\nexport type CarouselProps = SkeletonableProps & {\n children: React.ReactNode[];\n className?: string;\n containerClassName?: string;\n itemClassName?: string;\n viewportClassName?: string;\n /** Ok ve nokta göstergelerinin aktif rengi. Varsayılan: `neutral`. */\n color?: ColorRole;\n /**\n * Carousel bölgesinin erişilebilir adı (ör. \"Kampanyalar\"). Sayfada birden\n * fazla carousel varsa her birine ayırt edici bir ad verin. Varsayılan:\n * `\"Slayt gösterisi\"`.\n */\n label?: string;\n\n /** Core */\n loop?: boolean;\n /** Fare/dokunma ile sürükleyerek gezinme. Varsayılan: `true`. */\n draggable?: boolean;\n speed?: number;\n\n /** Viewport */\n slidesToShow?: number;\n slidesToScroll?: number;\n align?: \"start\" | \"center\" | \"end\";\n containScroll?: \"trimSnaps\" | \"keepSnaps\";\n\n /**\n * Otomatik ilerleme. Üzerine gelince / klavye odağı içerideyken duraklar,\n * durdur/başlat düğmesi gösterilir (WCAG 2.2.2) ve `prefers-reduced-motion`\n * açıksa kendiliğinden başlamaz.\n */\n autoplay?: boolean;\n autoplayDelay?: number;\n /** Kullanıcı sürükler/odaklanırsa otomatik oynatma kalıcı olarak durur. Varsayılan: `true`. */\n autoplayStopOnInteraction?: boolean;\n\n /** UI */\n arrows?: boolean;\n /** Ok butonlarının görünürlüğü. `\"always\"` (varsayılan) her zaman görünür, `\"hover\"` yalnızca carousel'in üzerine gelindiğinde belirir (klavye odağında da görünür kalır). */\n arrowsVisibility?: \"always\" | \"hover\";\n /** Ok butonlarının yerleşimi. `\"sides\"` (varsayılan) biri solda biri sağda, dikeyde ortalanmış. Köşe değerleri (örn. `\"top-right\"`) ikisini de tek bir köşede gruplar — metin ağırlıklı slaytlarda içeriğin üzerine binmemek için. */\n arrowsPlacement?: ArrowsPlacement;\n dots?: boolean | { className?: string };\n dotPosition?: DotPosition;\n /** Nokta göstergelerinin yerleşimi. `\"overlay\"` (varsayılan) carousel'in üzerine `absolute` konumlanır. `\"outside\"` noktaları normal akışa alıp carousel'in ALTINA, içerikle çakışmadan render eder. */\n dotsPlacement?: DotsPlacement;\n controlsRef?: React.RefObject<CarouselControls | null>;\n\n /** Responsive */\n responsive?: ResponsiveItem[];\n\n /** Callbacks */\n /** Seçili slayt değişirken: `(önceki, yeni)`. */\n beforeChange?: (current: number, next: number) => void;\n /** Kaydırma animasyonu yeni slaytta durduğunda. */\n afterChange?: (current: number) => void;\n\n /** Dış state aynası — `CarouselControls` her değiştiğinde çağrılır. */\n onStateChange?: (state: CarouselControls) => void;\n};\n\n/* ========== Responsive Slides Hook ========== */\nconst useResponsiveSlides = (baseShow: number, baseScroll: number, responsive?: ResponsiveItem[]) => {\n const [state, setState] = useState({\n slidesToShow: Math.max(1, baseShow),\n slidesToScroll: Math.max(1, baseScroll || baseShow),\n });\n\n useEffect(() => {\n if (!responsive?.length) {\n setState({ slidesToShow: Math.max(1, baseShow), slidesToScroll: Math.max(1, baseScroll || baseShow) });\n return;\n }\n\n const onResize = () => {\n const width = window.innerWidth;\n const sorted = [...responsive].sort((a, b) => a.breakpoint - b.breakpoint);\n\n let appliedShow = baseShow;\n let appliedScroll = baseScroll || baseShow;\n\n for (const r of sorted) {\n if (width <= r.breakpoint) {\n appliedShow = r.slidesToShow;\n appliedScroll = r.slidesToScroll ?? r.slidesToShow;\n break;\n }\n }\n\n setState({ slidesToShow: Math.max(1, appliedShow), slidesToScroll: Math.max(1, appliedScroll) });\n };\n\n onResize();\n window.addEventListener(\"resize\", onResize);\n return () => window.removeEventListener(\"resize\", onResize);\n }, [baseShow, baseScroll, responsive]);\n\n return state;\n};\n\nfunction usePrefersReducedMotion(): boolean {\n const [reduced, setReduced] = useState(false);\n useEffect(() => {\n const mq = window.matchMedia?.(\"(prefers-reduced-motion: reduce)\");\n if (!mq) return;\n setReduced(mq.matches);\n const onChange = (e: MediaQueryListEvent) => setReduced(e.matches);\n mq.addEventListener?.(\"change\", onChange);\n return () => mq.removeEventListener?.(\"change\", onChange);\n }, []);\n return reduced;\n}\n\n/* ========== Oklar ========== */\n\n/**\n * Oklar çıplak ikon; rastgele slayt\n * içeriği üzerinde okunabilirlik için `drop-shadow`. `hover` görünürlüğünde\n * `group-hover` ile belirir, klavye odağında (`focus-visible`) yine görünür.\n * dokunmatikte görünmez 44px hedef (`touchTargetSquareClass`).\n */\nfunction CarouselArrows({\n placement,\n visibility,\n hidden,\n canPrev,\n canNext,\n onPrev,\n onNext,\n}: Readonly<{\n placement: ArrowsPlacement;\n visibility: \"always\" | \"hover\";\n hidden: boolean;\n canPrev: boolean;\n canNext: boolean;\n onPrev: () => void;\n onNext: () => void;\n}>) {\n const sides = placement === \"sides\";\n const base = cn(\n \"relative text-mari-foreground drop-shadow-sm transition-colors hover:text-mari-primary disabled:opacity-40 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n sides ? touchTargetSquareClass.md : touchTargetSquareClass.sm,\n visibility === \"hover\" && \"opacity-0 transition-opacity duration-200 group-hover:opacity-100 focus-visible:opacity-100\",\n // İskelette yer kaplamaya devam eder ama görünmez ve tab sırasından çıkar.\n hidden && \"invisible\"\n );\n const iconClass = sides ? \"h-7 w-7\" : \"h-6 w-6\";\n const prev = (\n <button type=\"button\" onClick={onPrev} disabled={!canPrev} aria-label=\"Önceki slayt\" className={cn(base, \"p-1\", sides && \"absolute top-1/2 left-4 -translate-y-1/2\")}>\n <ChevronLeftIcon className={iconClass} aria-hidden />\n </button>\n );\n const next = (\n <button type=\"button\" onClick={onNext} disabled={!canNext} aria-label=\"Sonraki slayt\" className={cn(base, \"p-1\", sides && \"absolute top-1/2 right-4 -translate-y-1/2\")}>\n <ChevronRightIcon className={iconClass} aria-hidden />\n </button>\n );\n\n if (sides) {\n return (\n <>\n {prev}\n {next}\n </>\n );\n }\n return (\n <div\n className={cn(\"absolute z-10 flex gap-1\", {\n \"top-4 left-4\": placement === \"top-left\",\n \"top-4 right-4\": placement === \"top-right\",\n \"bottom-4 left-4\": placement === \"bottom-left\",\n \"bottom-4 right-4\": placement === \"bottom-right\",\n })}\n >\n {prev}\n {next}\n </div>\n );\n}\n\nconst DOT_WRAPPER_POS: Record<DotPosition, string> = {\n top: \"top-2 left-1/2 -translate-x-1/2\",\n left: \"left-2 top-1/2 -translate-y-1/2\",\n right: \"right-2 top-1/2 -translate-y-1/2\",\n bottom: \"bottom-2 left-1/2 -translate-x-1/2\",\n};\n\n/* ========== Carousel Component ========== */\nexport const Carousel: FC<CarouselProps> = ({\n children,\n className,\n containerClassName,\n itemClassName,\n viewportClassName,\n color = \"neutral\",\n label = \"Slayt gösterisi\",\n skeleton = false,\n\n loop = true,\n draggable = true,\n speed = 20,\n\n slidesToShow: baseSlidesToShow = 1,\n slidesToScroll: baseSlidesToScroll,\n align = \"start\",\n containScroll = \"trimSnaps\",\n\n autoplay = false,\n autoplayDelay = 3000,\n autoplayStopOnInteraction = true,\n\n arrows = true,\n arrowsVisibility = \"always\",\n arrowsPlacement = \"sides\",\n dots = true,\n dotPosition = \"bottom\",\n dotsPlacement = \"overlay\",\n controlsRef,\n responsive,\n beforeChange,\n afterChange,\n onStateChange,\n}) => {\n const items = React.Children.toArray(children);\n const count = items.length;\n\n const { slidesToShow, slidesToScroll } = useResponsiveSlides(baseSlidesToShow, baseSlidesToScroll ?? baseSlidesToShow, responsive);\n const reducedMotion = usePrefersReducedMotion();\n\n const emblaOptions = useMemo(\n () => ({\n loop,\n align,\n containScroll,\n slidesToScroll,\n duration: speed,\n // Eskiden `draggable` Embla'ya aynen geçiliyordu — v8'de böyle bir\n // seçenek yok, `watchDrag` sabit `true`du: `draggable={false}` sürüklemeyi\n // KAPATMIYORDU (tarayıcıda doğrulandı). İskelette de sürükleme kapalı.\n watchDrag: draggable && !skeleton,\n // Varsayılan 0: kenarı görünür alana DEĞEN (0px görünen) komşu slayt da\n // \"görünür\" sayılıyor ve Tab'la odaklanabiliyordu (ölçüldü). Yarısından\n // fazlası görünen slayt görünür sayılır.\n inViewThreshold: 0.5,\n }),\n [loop, align, draggable, skeleton, containScroll, slidesToScroll, speed]\n );\n\n // Seçenekler değişince eklenti yeniden kurulur (eskiden ilk render'daki\n // `autoplayDelay` sonsuza dek kalıyordu). Üzerine gelince/odakta duraklar.\n const plugins = useMemo(\n () =>\n autoplay && !skeleton\n ? [\n Autoplay({\n delay: autoplayDelay,\n stopOnInteraction: autoplayStopOnInteraction,\n stopOnMouseEnter: true,\n stopOnFocusIn: true,\n playOnInit: !reducedMotion,\n rootNode: (emblaRoot) => emblaRoot.parentElement as HTMLElement,\n }),\n ]\n : [],\n [autoplay, skeleton, autoplayDelay, autoplayStopOnInteraction, reducedMotion]\n );\n\n const [emblaRef, emblaApi] = useEmblaCarousel(emblaOptions, plugins);\n\n const [selectedIndex, setSelectedIndex] = useState(0);\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([]);\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n const [playing, setPlaying] = useState(false);\n\n const scrollPrev = useCallback(() => emblaApi?.scrollPrev(), [emblaApi]);\n const scrollNext = useCallback(() => emblaApi?.scrollNext(), [emblaApi]);\n const scrollTo = useCallback((index: number) => emblaApi?.scrollTo(index), [emblaApi]);\n\n const togglePlay = useCallback(() => {\n const ap = emblaApi?.plugins().autoplay;\n if (!ap) return;\n if (ap.isPlaying()) ap.stop();\n else ap.play();\n }, [emblaApi]);\n\n // Geri çağırmalar ref'te: satır içi fonksiyonlar her render'da değişince\n // Embla dinleyicileri yeniden bağlanmasın.\n const callbacksRef = useRef({ beforeChange, afterChange });\n useEffect(() => {\n callbacksRef.current = { beforeChange, afterChange };\n });\n\n useEffect(() => {\n if (!emblaApi) return;\n let prevIndex = emblaApi.selectedScrollSnap();\n let settledIndex = prevIndex;\n\n const sync = () => {\n setScrollSnaps(emblaApi.scrollSnapList());\n setSelectedIndex(emblaApi.selectedScrollSnap());\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n };\n // Eskiden `beforeChange(from, from)` HER kaydırma karesinde (`scroll`)\n // çağrılıyordu — `next` hep `current`a eşitti.\n const onSelect = () => {\n const next = emblaApi.selectedScrollSnap();\n if (next !== prevIndex) callbacksRef.current.beforeChange?.(prevIndex, next);\n prevIndex = next;\n sync();\n };\n const onSettle = () => {\n const idx = emblaApi.selectedScrollSnap();\n if (idx === settledIndex) return;\n settledIndex = idx;\n callbacksRef.current.afterChange?.(idx);\n };\n // Görünmeyen slaytlar klavye/ekran okuyucudan çıkar — eskiden ekran\n // dışındaki slaytın düğmesine Tab ile gidilebiliyordu (odak görünmez\n // yerde kayboluyordu). `inert` DOM'a doğrudan yazılır: React 18 peer'ı\n // bu özniteliği prop olarak tanımıyor.\n const onInView = () => {\n const inView = new Set(emblaApi.slidesInView());\n if (inView.size === 0) return;\n emblaApi.slideNodes().forEach((node, i) => {\n const hidden = !inView.has(i);\n node.toggleAttribute(\"inert\", hidden);\n if (hidden) node.setAttribute(\"aria-hidden\", \"true\");\n else node.removeAttribute(\"aria-hidden\");\n });\n };\n const onPlay = () => setPlaying(true);\n const onStop = () => setPlaying(false);\n\n sync();\n onInView();\n setPlaying(Boolean(emblaApi.plugins().autoplay?.isPlaying()));\n\n emblaApi\n .on(\"select\", onSelect)\n .on(\"reInit\", sync)\n .on(\"settle\", onSettle)\n .on(\"slidesInView\", onInView)\n .on(\"autoplay:play\", onPlay)\n .on(\"autoplay:stop\", onStop);\n\n // Eskiden `reInit`/`pointerDown` anonim fonksiyonla bağlanıp hiç\n // çözülmüyordu — her effect tekrarında dinleyici birikiyordu.\n return () => {\n emblaApi\n .off(\"select\", onSelect)\n .off(\"reInit\", sync)\n .off(\"settle\", onSettle)\n .off(\"slidesInView\", onInView)\n .off(\"autoplay:play\", onPlay)\n .off(\"autoplay:stop\", onStop);\n };\n }, [emblaApi]);\n\n /* State'i ref + callback ile dışarı ver */\n useEffect(() => {\n const state: CarouselControls = { selectedIndex, scrollSnaps, canScrollPrev, canScrollNext, scrollPrev, scrollNext, scrollTo };\n if (controlsRef) controlsRef.current = state;\n onStateChange?.(state);\n }, [controlsRef, onStateChange, selectedIndex, scrollSnaps, canScrollPrev, canScrollNext, scrollPrev, scrollNext, scrollTo]);\n\n // Ok tuşları: odak carousel'in içindeki herhangi bir öğedeyken (ok, nokta,\n // slayt içeriği) önceki/sonraki. Olay içerideki etkileşimli öğelerden\n // kabarcıklanır; bölgenin kendisi odaklanabilir değil.\n const rootRef = useRef<HTMLElement>(null);\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n const onKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"input, textarea, select, [contenteditable='true']\")) return;\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n };\n root.addEventListener(\"keydown\", onKeyDown);\n return () => root.removeEventListener(\"keydown\", onKeyDown);\n }, [scrollPrev, scrollNext]);\n\n const showArrows = arrows && count > slidesToShow;\n const showDots = dots && scrollSnaps.length > 1;\n const showPlayToggle = autoplay && !skeleton;\n const verticalDots = dotsPlacement === \"overlay\" && (dotPosition === \"left\" || dotPosition === \"right\");\n\n const playToggle = showPlayToggle && (\n <button\n type=\"button\"\n onClick={togglePlay}\n aria-label={playing ? \"Otomatik oynatmayı durdur\" : \"Otomatik oynatmayı başlat\"}\n className={cn(\n \"pointer-events-auto relative text-mari-foreground drop-shadow-sm transition-colors hover:text-mari-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n touchTargetSquareClass.xs\n )}\n >\n {playing ? <PauseIcon className=\"h-4 w-4\" aria-hidden /> : <PlayIcon className=\"h-4 w-4\" aria-hidden />}\n </button>\n );\n\n const dotsContent = (\n <div\n aria-hidden={skeleton || undefined}\n className={cn(\n \"flex items-center gap-2\",\n dotsPlacement === \"overlay\" && \"pointer-events-none absolute z-10\",\n dotsPlacement === \"overlay\" && (verticalDots ? \"flex-col\" : \"flex-row\"),\n dotsPlacement === \"overlay\" && DOT_WRAPPER_POS[dotPosition],\n dotsPlacement === \"outside\" && \"mt-3 flex-row justify-center\",\n typeof dots === \"object\" ? dots.className : undefined\n )}\n >\n {!verticalDots && playToggle}\n {scrollSnaps.map((_, idx) =>\n skeleton ? (\n <span key={`snap-${idx}`} className={cn(\"h-1 w-4 rounded-full\", skeletonFill(true))} />\n ) : (\n <button\n key={`snap-${idx}`}\n type=\"button\"\n onClick={() => scrollTo(idx)}\n aria-label={`${idx + 1}. slayta git`}\n aria-current={selectedIndex === idx ? \"true\" : undefined}\n className={cn(\n getDotClass(selectedIndex === idx, color),\n // 4px'lik çubuk: dokunmatikte 24×24 görünmez hedef (WCAG 2.5.8),\n // 8px aralıkla komşuya taşmaz.\n \"relative pointer-coarse:before:absolute pointer-coarse:before:-inset-x-1 pointer-coarse:before:-inset-y-2.5\",\n dotsPlacement === \"overlay\" && \"pointer-events-auto\"\n )}\n />\n )\n )}\n </div>\n );\n\n return (\n <section\n className={className}\n aria-roledescription=\"carousel\"\n aria-label={label}\n aria-busy={skeleton || undefined}\n ref={rootRef}\n >\n <div className=\"group relative w-full\">\n <div className={cn(\"overflow-hidden\", viewportClassName)} ref={emblaRef}>\n <div\n className={cn(\"flex w-full will-change-transform select-none\", containerClassName)}\n style={{ \"--slide-basis\": `calc(100% / ${slidesToShow})` } as React.CSSProperties}\n // Otomatik oynarken her geçişi duyurmak gürültü; elle gezinmede duyur (APG).\n aria-live={playing ? \"off\" : \"polite\"}\n >\n {items.map((child, i) => {\n const key = isValidElement(child) && child.key != null ? child.key : `slide-${i}`;\n return (\n <div\n key={key}\n role=\"group\"\n aria-roledescription=\"slayt\"\n aria-label={`${i + 1} / ${count}`}\n className={cn(\"embla__slide shrink-0\", itemClassName)}\n style={{ flex: \"0 0 var(--slide-basis)\" }}\n >\n <SkeletonSlot on={skeleton} placeholder={<div className={cn(\"size-full rounded-lg\", skeletonFill(true))} />}>\n {child}\n </SkeletonSlot>\n </div>\n );\n })}\n </div>\n </div>\n\n {showArrows && (\n <CarouselArrows\n placement={arrowsPlacement}\n visibility={arrowsVisibility}\n hidden={skeleton}\n canPrev={canScrollPrev}\n canNext={canScrollNext}\n onPrev={scrollPrev}\n onNext={scrollNext}\n />\n )}\n {showDots && dotsPlacement === \"overlay\" && dotsContent}\n {/* Dikey noktalarda / noktasız durumda durdur düğmesi sağ altta. */}\n {(verticalDots || !showDots) && playToggle && <div className=\"absolute right-3 bottom-3 z-10\">{playToggle}</div>}\n </div>\n\n {showDots && dotsPlacement === \"outside\" && dotsContent}\n </section>\n );\n};\n","import { cn, type ColorRole } from \"@mari-ui/core\";\nimport { bgSolidClass } from \"../lib/colorClasses\";\n\n// Not: eskiden burada `getDotWrapperClass`/`getArrowClass` diye iki\n// fonksiyon vardı ama HİÇBİR YERDE import edilmiyorlardı — Carousel.tsx\n// kendi (neredeyse birebir aynı) mantığını inline tutuyordu. Ölü kod\n// silindi; buraya bunun yerine gerçekten kullanılan, token'a bağlı renk\n// yardımcıları eklendi.\n\n/*\n * ant.design'ın gerçek Carousel'i noktaları hiçbir zaman YUVARLAK göstermez — ikisi de (aktif/pasif)\n * ince bir çubuk (ant'ta tam olarak 3px yükseklik); sadece genişlik farklı\n * (pasif 16px, aktif 24px). Eskiden pasif nokta yuvarlak (8x8), aktif nokta\n * kalın bir hap (24x8) oluyordu — ant'ın \"hep aynı ince çubuk, sadece uzayan\"\n * hissi yerine iki farklı geometri karışıyordu. Yükseklik burada paylaşılan\n * Tailwind ölçeğinden `h-1` (4px) — `h-[0.1875rem]` gibi keyfi bir değer bu\n * projede (Storybook'ta canlı doğrulanan) beklenmedik şekilde `height: 0`\n * üretti, standart ölçek adımı güvenilir.\n */\nexport function getDotClass(active: boolean, color: ColorRole): string {\n return cn(\n \"pointer-events-auto h-1 rounded-full transition-all\",\n active ? cn(bgSolidClass[color], \"w-6\") : \"w-4 bg-mari-border hover:bg-mari-muted\"\n );\n}\n"],"mappings":"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","names":["cn","cn"]}
package/dist/chart.js CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  import {
4
4
  Empty
5
- } from "./chunk-LBXIPDAB.js";
6
- import "./chunk-2IEXY3OZ.js";
7
- import "./chunk-FFXRFQSU.js";
8
- import "./chunk-IP2J3BWY.js";
5
+ } from "./chunk-JXD5DW6E.js";
6
+ import "./chunk-CVKAGR3D.js";
7
+ import "./chunk-POBOJBNJ.js";
8
+ import "./chunk-6AMBZXZJ.js";
9
9
  import {
10
10
  skeletonFill
11
- } from "./chunk-54HHEXXD.js";
11
+ } from "./chunk-VKN374SD.js";
12
12
 
13
13
  // src/chart/line-chart/LineChart.tsx
14
14
  import { useId, useMemo, useState as useState2 } from "react";