@mari-ui/components 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -2
  3. package/dist/accordion.d.ts +1 -0
  4. package/dist/accordion.js +245 -0
  5. package/dist/accordion.js.map +1 -0
  6. package/dist/alert.d.ts +1 -0
  7. package/dist/alert.js +114 -0
  8. package/dist/alert.js.map +1 -0
  9. package/dist/autocomplete.d.ts +1 -0
  10. package/dist/autocomplete.js +158 -0
  11. package/dist/autocomplete.js.map +1 -0
  12. package/dist/avatar.d.ts +1 -0
  13. package/dist/avatar.js +74 -0
  14. package/dist/avatar.js.map +1 -0
  15. package/dist/badge.d.ts +1 -0
  16. package/dist/badge.js +11 -0
  17. package/dist/badge.js.map +1 -0
  18. package/dist/breadcrumb.d.ts +1 -0
  19. package/dist/breadcrumb.js +141 -0
  20. package/dist/breadcrumb.js.map +1 -0
  21. package/dist/button.d.ts +1 -0
  22. package/dist/button.js +10 -0
  23. package/dist/button.js.map +1 -0
  24. package/dist/calendar.d.ts +1 -0
  25. package/dist/calendar.js +208 -0
  26. package/dist/calendar.js.map +1 -0
  27. package/dist/card.d.ts +1 -0
  28. package/dist/card.js +148 -0
  29. package/dist/card.js.map +1 -0
  30. package/dist/carousel.d.ts +1 -0
  31. package/dist/carousel.js +383 -0
  32. package/dist/carousel.js.map +1 -0
  33. package/dist/chart.d.ts +1 -0
  34. package/dist/chart.js +986 -0
  35. package/dist/chart.js.map +1 -0
  36. package/dist/checkbox.d.ts +1 -0
  37. package/dist/checkbox.js +10 -0
  38. package/dist/checkbox.js.map +1 -0
  39. package/dist/chunk-2IEXY3OZ.js +147 -0
  40. package/dist/chunk-2IEXY3OZ.js.map +1 -0
  41. package/dist/chunk-3ABWBQCS.js +49 -0
  42. package/dist/chunk-3ABWBQCS.js.map +1 -0
  43. package/dist/chunk-47FHUOLT.js +166 -0
  44. package/dist/chunk-47FHUOLT.js.map +1 -0
  45. package/dist/chunk-54HHEXXD.js +20 -0
  46. package/dist/chunk-54HHEXXD.js.map +1 -0
  47. package/dist/chunk-BDV4GOEN.js +53 -0
  48. package/dist/chunk-BDV4GOEN.js.map +1 -0
  49. package/dist/chunk-CYLXW66E.js +449 -0
  50. package/dist/chunk-CYLXW66E.js.map +1 -0
  51. package/dist/chunk-DKENCYHA.js +15 -0
  52. package/dist/chunk-DKENCYHA.js.map +1 -0
  53. package/dist/chunk-DUCIAQGR.js +67 -0
  54. package/dist/chunk-DUCIAQGR.js.map +1 -0
  55. package/dist/chunk-ELHESRRH.js +240 -0
  56. package/dist/chunk-ELHESRRH.js.map +1 -0
  57. package/dist/chunk-FFXRFQSU.js +51 -0
  58. package/dist/chunk-FFXRFQSU.js.map +1 -0
  59. package/dist/chunk-FNJHS5KQ.js +330 -0
  60. package/dist/chunk-FNJHS5KQ.js.map +1 -0
  61. package/dist/chunk-IO4346TF.js +392 -0
  62. package/dist/chunk-IO4346TF.js.map +1 -0
  63. package/dist/chunk-IP2J3BWY.js +185 -0
  64. package/dist/chunk-IP2J3BWY.js.map +1 -0
  65. package/dist/chunk-JNZODUXP.js +116 -0
  66. package/dist/chunk-JNZODUXP.js.map +1 -0
  67. package/dist/chunk-KCYM2JXP.js +202 -0
  68. package/dist/chunk-KCYM2JXP.js.map +1 -0
  69. package/dist/chunk-KG6A32KX.js +23 -0
  70. package/dist/chunk-KG6A32KX.js.map +1 -0
  71. package/dist/chunk-KSPM2Z3T.js +43 -0
  72. package/dist/chunk-KSPM2Z3T.js.map +1 -0
  73. package/dist/chunk-LBQMEHK6.js +54 -0
  74. package/dist/chunk-LBQMEHK6.js.map +1 -0
  75. package/dist/chunk-LBXIPDAB.js +50 -0
  76. package/dist/chunk-LBXIPDAB.js.map +1 -0
  77. package/dist/chunk-LEOIKO7C.js +144 -0
  78. package/dist/chunk-LEOIKO7C.js.map +1 -0
  79. package/dist/chunk-LZHERDNB.js +344 -0
  80. package/dist/chunk-LZHERDNB.js.map +1 -0
  81. package/dist/chunk-NPM7IDYV.js +145 -0
  82. package/dist/chunk-NPM7IDYV.js.map +1 -0
  83. package/dist/chunk-NS7FKOFI.js +56 -0
  84. package/dist/chunk-NS7FKOFI.js.map +1 -0
  85. package/dist/chunk-P7Z5BREP.js +935 -0
  86. package/dist/chunk-P7Z5BREP.js.map +1 -0
  87. package/dist/chunk-QDFDMWXD.js +236 -0
  88. package/dist/chunk-QDFDMWXD.js.map +1 -0
  89. package/dist/chunk-QNOHFHVL.js +555 -0
  90. package/dist/chunk-QNOHFHVL.js.map +1 -0
  91. package/dist/chunk-QZRBO7BE.js +684 -0
  92. package/dist/chunk-QZRBO7BE.js.map +1 -0
  93. package/dist/chunk-RAS77O7N.js +81 -0
  94. package/dist/chunk-RAS77O7N.js.map +1 -0
  95. package/dist/chunk-RIBB5OJV.js +152 -0
  96. package/dist/chunk-RIBB5OJV.js.map +1 -0
  97. package/dist/chunk-S66GKX2W.js +50 -0
  98. package/dist/chunk-S66GKX2W.js.map +1 -0
  99. package/dist/chunk-TCYDVNSU.js +13 -0
  100. package/dist/chunk-TCYDVNSU.js.map +1 -0
  101. package/dist/chunk-TXRQCHOR.js +401 -0
  102. package/dist/chunk-TXRQCHOR.js.map +1 -0
  103. package/dist/chunk-V7KDUUV6.js +101 -0
  104. package/dist/chunk-V7KDUUV6.js.map +1 -0
  105. package/dist/chunk-XUKVQO6M.js +31 -0
  106. package/dist/chunk-XUKVQO6M.js.map +1 -0
  107. package/dist/chunk-YZ7MDC6B.js +189 -0
  108. package/dist/chunk-YZ7MDC6B.js.map +1 -0
  109. package/dist/chunk-ZLPAXPDI.js +69 -0
  110. package/dist/chunk-ZLPAXPDI.js.map +1 -0
  111. package/dist/chunk-ZMA7BT2L.js +223 -0
  112. package/dist/chunk-ZMA7BT2L.js.map +1 -0
  113. package/dist/chunk-ZXYQ2ZPR.js +79 -0
  114. package/dist/chunk-ZXYQ2ZPR.js.map +1 -0
  115. package/dist/color-picker.d.ts +1 -0
  116. package/dist/color-picker.js +32 -0
  117. package/dist/color-picker.js.map +1 -0
  118. package/dist/date-picker.d.ts +1 -0
  119. package/dist/date-picker.js +826 -0
  120. package/dist/date-picker.js.map +1 -0
  121. package/dist/divider.d.ts +1 -0
  122. package/dist/divider.js +106 -0
  123. package/dist/divider.js.map +1 -0
  124. package/dist/drawer.d.ts +1 -0
  125. package/dist/drawer.js +14 -0
  126. package/dist/drawer.js.map +1 -0
  127. package/dist/dropdown.d.ts +1 -0
  128. package/dist/dropdown.js +23 -0
  129. package/dist/dropdown.js.map +1 -0
  130. package/dist/empty.d.ts +1 -0
  131. package/dist/empty.js +11 -0
  132. package/dist/empty.js.map +1 -0
  133. package/dist/field.d.ts +1 -0
  134. package/dist/field.js +51 -0
  135. package/dist/field.js.map +1 -0
  136. package/dist/float-button.d.ts +1 -0
  137. package/dist/float-button.js +247 -0
  138. package/dist/float-button.js.map +1 -0
  139. package/dist/image.d.ts +1 -0
  140. package/dist/image.js +1727 -0
  141. package/dist/image.js.map +1 -0
  142. package/dist/input-number.d.ts +1 -0
  143. package/dist/input-number.js +12 -0
  144. package/dist/input-number.js.map +1 -0
  145. package/dist/input.d.ts +1 -0
  146. package/dist/input.js +21 -0
  147. package/dist/input.js.map +1 -0
  148. package/dist/list.d.ts +1 -0
  149. package/dist/list.js +270 -0
  150. package/dist/list.js.map +1 -0
  151. package/dist/loading.d.ts +1 -0
  152. package/dist/loading.js +7 -0
  153. package/dist/loading.js.map +1 -0
  154. package/dist/logo.d.ts +1 -0
  155. package/dist/logo.js +38 -0
  156. package/dist/logo.js.map +1 -0
  157. package/dist/manifest.json +9006 -0
  158. package/dist/mari.css +145 -0
  159. package/dist/masonry.d.ts +1 -0
  160. package/dist/masonry.js +143 -0
  161. package/dist/masonry.js.map +1 -0
  162. package/dist/menu.d.ts +1 -0
  163. package/dist/menu.js +1682 -0
  164. package/dist/menu.js.map +1 -0
  165. package/dist/modal.d.ts +1 -0
  166. package/dist/modal.js +280 -0
  167. package/dist/modal.js.map +1 -0
  168. package/dist/pagination.d.ts +1 -0
  169. package/dist/pagination.js +11 -0
  170. package/dist/pagination.js.map +1 -0
  171. package/dist/popconfirm.d.ts +1 -0
  172. package/dist/popconfirm.js +110 -0
  173. package/dist/popconfirm.js.map +1 -0
  174. package/dist/popover.d.ts +1 -0
  175. package/dist/popover.js +16 -0
  176. package/dist/popover.js.map +1 -0
  177. package/dist/progress.d.ts +1 -0
  178. package/dist/progress.js +135 -0
  179. package/dist/progress.js.map +1 -0
  180. package/dist/qrcode.d.ts +1 -0
  181. package/dist/qrcode.js +212 -0
  182. package/dist/qrcode.js.map +1 -0
  183. package/dist/radio.d.ts +1 -0
  184. package/dist/radio.js +221 -0
  185. package/dist/radio.js.map +1 -0
  186. package/dist/rate.d.ts +1 -0
  187. package/dist/rate.js +196 -0
  188. package/dist/rate.js.map +1 -0
  189. package/dist/segmented.d.ts +1 -0
  190. package/dist/segmented.js +10 -0
  191. package/dist/segmented.js.map +1 -0
  192. package/dist/select.d.ts +1 -0
  193. package/dist/select.js +18 -0
  194. package/dist/select.js.map +1 -0
  195. package/dist/skeleton.d.ts +1 -0
  196. package/dist/skeleton.js +15 -0
  197. package/dist/skeleton.js.map +1 -0
  198. package/dist/slider.d.ts +1 -0
  199. package/dist/slider.js +401 -0
  200. package/dist/slider.js.map +1 -0
  201. package/dist/splitter.d.ts +1 -0
  202. package/dist/splitter.js +323 -0
  203. package/dist/splitter.js.map +1 -0
  204. package/dist/statistic.d.ts +1 -0
  205. package/dist/statistic.js +299 -0
  206. package/dist/statistic.js.map +1 -0
  207. package/dist/steps.d.ts +1 -0
  208. package/dist/steps.js +395 -0
  209. package/dist/steps.js.map +1 -0
  210. package/dist/styles.css +2 -0
  211. package/dist/switch.d.ts +1 -0
  212. package/dist/switch.js +172 -0
  213. package/dist/switch.js.map +1 -0
  214. package/dist/table.d.ts +1 -0
  215. package/dist/table.js +471 -0
  216. package/dist/table.js.map +1 -0
  217. package/dist/tabs.d.ts +1 -0
  218. package/dist/tabs.js +446 -0
  219. package/dist/tabs.js.map +1 -0
  220. package/dist/tag.d.ts +1 -0
  221. package/dist/tag.js +9 -0
  222. package/dist/tag.js.map +1 -0
  223. package/dist/tailwind.css +13 -0
  224. package/dist/theme-customizer.d.ts +1 -0
  225. package/dist/theme-customizer.js +271 -0
  226. package/dist/theme-customizer.js.map +1 -0
  227. package/dist/timeline.d.ts +1 -0
  228. package/dist/timeline.js +176 -0
  229. package/dist/timeline.js.map +1 -0
  230. package/dist/toast.d.ts +1 -0
  231. package/dist/toast.js +17 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/tooltip.d.ts +1 -0
  234. package/dist/tooltip.js +10 -0
  235. package/dist/tooltip.js.map +1 -0
  236. package/dist/tour.d.ts +1 -0
  237. package/dist/tour.js +253 -0
  238. package/dist/tour.js.map +1 -0
  239. package/dist/transfer.d.ts +1 -0
  240. package/dist/transfer.js +423 -0
  241. package/dist/transfer.js.map +1 -0
  242. package/dist/tree-select.d.ts +1 -0
  243. package/dist/tree-select.js +549 -0
  244. package/dist/tree-select.js.map +1 -0
  245. package/dist/tree.d.ts +1 -0
  246. package/dist/tree.js +23 -0
  247. package/dist/tree.js.map +1 -0
  248. package/dist/types/accordion/Accordion.d.ts +16 -0
  249. package/dist/types/accordion/Accordion.d.ts.map +1 -0
  250. package/dist/types/accordion/index.d.ts +3 -0
  251. package/dist/types/accordion/index.d.ts.map +1 -0
  252. package/dist/types/accordion/types.d.ts +57 -0
  253. package/dist/types/accordion/types.d.ts.map +1 -0
  254. package/dist/types/accordion/utils.d.ts +10 -0
  255. package/dist/types/accordion/utils.d.ts.map +1 -0
  256. package/dist/types/alert/Alert.d.ts +14 -0
  257. package/dist/types/alert/Alert.d.ts.map +1 -0
  258. package/dist/types/alert/index.d.ts +3 -0
  259. package/dist/types/alert/index.d.ts.map +1 -0
  260. package/dist/types/alert/types.d.ts +33 -0
  261. package/dist/types/alert/types.d.ts.map +1 -0
  262. package/dist/types/autocomplete/AutoComplete.d.ts +16 -0
  263. package/dist/types/autocomplete/AutoComplete.d.ts.map +1 -0
  264. package/dist/types/autocomplete/index.d.ts +3 -0
  265. package/dist/types/autocomplete/index.d.ts.map +1 -0
  266. package/dist/types/autocomplete/types.d.ts +28 -0
  267. package/dist/types/autocomplete/types.d.ts.map +1 -0
  268. package/dist/types/autocomplete/utils.d.ts +14 -0
  269. package/dist/types/autocomplete/utils.d.ts.map +1 -0
  270. package/dist/types/avatar/Avatar.d.ts +10 -0
  271. package/dist/types/avatar/Avatar.d.ts.map +1 -0
  272. package/dist/types/avatar/index.d.ts +3 -0
  273. package/dist/types/avatar/index.d.ts.map +1 -0
  274. package/dist/types/avatar/types.d.ts +29 -0
  275. package/dist/types/avatar/types.d.ts.map +1 -0
  276. package/dist/types/avatar/utils.d.ts +12 -0
  277. package/dist/types/avatar/utils.d.ts.map +1 -0
  278. package/dist/types/badge/Badge.d.ts +19 -0
  279. package/dist/types/badge/Badge.d.ts.map +1 -0
  280. package/dist/types/badge/index.d.ts +3 -0
  281. package/dist/types/badge/index.d.ts.map +1 -0
  282. package/dist/types/badge/types.d.ts +38 -0
  283. package/dist/types/badge/types.d.ts.map +1 -0
  284. package/dist/types/breadcrumb/Breadcrumb.d.ts +21 -0
  285. package/dist/types/breadcrumb/Breadcrumb.d.ts.map +1 -0
  286. package/dist/types/breadcrumb/index.d.ts +3 -0
  287. package/dist/types/breadcrumb/index.d.ts.map +1 -0
  288. package/dist/types/breadcrumb/types.d.ts +47 -0
  289. package/dist/types/breadcrumb/types.d.ts.map +1 -0
  290. package/dist/types/breadcrumb/utils.d.ts +25 -0
  291. package/dist/types/breadcrumb/utils.d.ts.map +1 -0
  292. package/dist/types/button/Button.d.ts +12 -0
  293. package/dist/types/button/Button.d.ts.map +1 -0
  294. package/dist/types/button/index.d.ts +3 -0
  295. package/dist/types/button/index.d.ts.map +1 -0
  296. package/dist/types/button/types.d.ts +57 -0
  297. package/dist/types/button/types.d.ts.map +1 -0
  298. package/dist/types/button/utils.d.ts +10 -0
  299. package/dist/types/button/utils.d.ts.map +1 -0
  300. package/dist/types/calendar/Calendar.d.ts +11 -0
  301. package/dist/types/calendar/Calendar.d.ts.map +1 -0
  302. package/dist/types/calendar/_components/CalendarPanel.d.ts +36 -0
  303. package/dist/types/calendar/_components/CalendarPanel.d.ts.map +1 -0
  304. package/dist/types/calendar/_components/CellGrid.d.ts +32 -0
  305. package/dist/types/calendar/_components/CellGrid.d.ts.map +1 -0
  306. package/dist/types/calendar/_components/DayGrid.d.ts +47 -0
  307. package/dist/types/calendar/_components/DayGrid.d.ts.map +1 -0
  308. package/dist/types/calendar/index.d.ts +3 -0
  309. package/dist/types/calendar/index.d.ts.map +1 -0
  310. package/dist/types/calendar/types.d.ts +49 -0
  311. package/dist/types/calendar/types.d.ts.map +1 -0
  312. package/dist/types/card/Card.d.ts +21 -0
  313. package/dist/types/card/Card.d.ts.map +1 -0
  314. package/dist/types/card/index.d.ts +3 -0
  315. package/dist/types/card/index.d.ts.map +1 -0
  316. package/dist/types/card/types.d.ts +49 -0
  317. package/dist/types/card/types.d.ts.map +1 -0
  318. package/dist/types/card/utils.d.ts +17 -0
  319. package/dist/types/card/utils.d.ts.map +1 -0
  320. package/dist/types/carousel/Carousel.d.ts +62 -0
  321. package/dist/types/carousel/Carousel.d.ts.map +1 -0
  322. package/dist/types/carousel/index.d.ts +4 -0
  323. package/dist/types/carousel/index.d.ts.map +1 -0
  324. package/dist/types/carousel/types.d.ts +33 -0
  325. package/dist/types/carousel/types.d.ts.map +1 -0
  326. package/dist/types/carousel/utils.d.ts +14 -0
  327. package/dist/types/carousel/utils.d.ts.map +1 -0
  328. package/dist/types/chart/_shared/ChartFrame.d.ts +55 -0
  329. package/dist/types/chart/_shared/ChartFrame.d.ts.map +1 -0
  330. package/dist/types/chart/_shared/ChartSkeleton.d.ts +41 -0
  331. package/dist/types/chart/_shared/ChartSkeleton.d.ts.map +1 -0
  332. package/dist/types/chart/_shared/animation.d.ts +39 -0
  333. package/dist/types/chart/_shared/animation.d.ts.map +1 -0
  334. package/dist/types/chart/_shared/cartesian.d.ts +50 -0
  335. package/dist/types/chart/_shared/cartesian.d.ts.map +1 -0
  336. package/dist/types/chart/_shared/format.d.ts +10 -0
  337. package/dist/types/chart/_shared/format.d.ts.map +1 -0
  338. package/dist/types/chart/_shared/paths.d.ts +20 -0
  339. package/dist/types/chart/_shared/paths.d.ts.map +1 -0
  340. package/dist/types/chart/_shared/scale.d.ts +35 -0
  341. package/dist/types/chart/_shared/scale.d.ts.map +1 -0
  342. package/dist/types/chart/_shared/storyDocs.d.ts +3 -0
  343. package/dist/types/chart/_shared/storyDocs.d.ts.map +1 -0
  344. package/dist/types/chart/_shared/useChartSize.d.ts +17 -0
  345. package/dist/types/chart/_shared/useChartSize.d.ts.map +1 -0
  346. package/dist/types/chart/bar-chart/BarChart.d.ts +17 -0
  347. package/dist/types/chart/bar-chart/BarChart.d.ts.map +1 -0
  348. package/dist/types/chart/bar-chart/bars.d.ts +21 -0
  349. package/dist/types/chart/bar-chart/bars.d.ts.map +1 -0
  350. package/dist/types/chart/gauge/Gauge.d.ts +42 -0
  351. package/dist/types/chart/gauge/Gauge.d.ts.map +1 -0
  352. package/dist/types/chart/index.d.ts +12 -0
  353. package/dist/types/chart/index.d.ts.map +1 -0
  354. package/dist/types/chart/line-chart/LineChart.d.ts +22 -0
  355. package/dist/types/chart/line-chart/LineChart.d.ts.map +1 -0
  356. package/dist/types/chart/pie-chart/PieChart.d.ts +33 -0
  357. package/dist/types/chart/pie-chart/PieChart.d.ts.map +1 -0
  358. package/dist/types/chart/sparkline/Sparkline.d.ts +31 -0
  359. package/dist/types/chart/sparkline/Sparkline.d.ts.map +1 -0
  360. package/dist/types/chart/storyData.d.ts +36 -0
  361. package/dist/types/chart/storyData.d.ts.map +1 -0
  362. package/dist/types/chart/types.d.ts +50 -0
  363. package/dist/types/chart/types.d.ts.map +1 -0
  364. package/dist/types/checkbox/Checkbox.d.ts +5 -0
  365. package/dist/types/checkbox/Checkbox.d.ts.map +1 -0
  366. package/dist/types/checkbox/index.d.ts +3 -0
  367. package/dist/types/checkbox/index.d.ts.map +1 -0
  368. package/dist/types/checkbox/types.d.ts +35 -0
  369. package/dist/types/checkbox/types.d.ts.map +1 -0
  370. package/dist/types/checkbox/utils.d.ts +15 -0
  371. package/dist/types/checkbox/utils.d.ts.map +1 -0
  372. package/dist/types/color-picker/ColorPicker.d.ts +17 -0
  373. package/dist/types/color-picker/ColorPicker.d.ts.map +1 -0
  374. package/dist/types/color-picker/_components/ColorArea.d.ts +19 -0
  375. package/dist/types/color-picker/_components/ColorArea.d.ts.map +1 -0
  376. package/dist/types/color-picker/_components/ColorInputs.d.ts +14 -0
  377. package/dist/types/color-picker/_components/ColorInputs.d.ts.map +1 -0
  378. package/dist/types/color-picker/_components/ColorPresets.d.ts +9 -0
  379. package/dist/types/color-picker/_components/ColorPresets.d.ts.map +1 -0
  380. package/dist/types/color-picker/_components/ColorSlider.d.ts +24 -0
  381. package/dist/types/color-picker/_components/ColorSlider.d.ts.map +1 -0
  382. package/dist/types/color-picker/_components/Swatch.d.ts +14 -0
  383. package/dist/types/color-picker/_components/Swatch.d.ts.map +1 -0
  384. package/dist/types/color-picker/_components/usePointerDrag.d.ts +18 -0
  385. package/dist/types/color-picker/_components/usePointerDrag.d.ts.map +1 -0
  386. package/dist/types/color-picker/index.d.ts +4 -0
  387. package/dist/types/color-picker/index.d.ts.map +1 -0
  388. package/dist/types/color-picker/types.d.ts +81 -0
  389. package/dist/types/color-picker/types.d.ts.map +1 -0
  390. package/dist/types/color-picker/utils.d.ts +50 -0
  391. package/dist/types/color-picker/utils.d.ts.map +1 -0
  392. package/dist/types/date-picker/DatePicker.d.ts +17 -0
  393. package/dist/types/date-picker/DatePicker.d.ts.map +1 -0
  394. package/dist/types/date-picker/TimePicker.d.ts +8 -0
  395. package/dist/types/date-picker/TimePicker.d.ts.map +1 -0
  396. package/dist/types/date-picker/_components/PickerPanel.d.ts +21 -0
  397. package/dist/types/date-picker/_components/PickerPanel.d.ts.map +1 -0
  398. package/dist/types/date-picker/_components/TimePanel.d.ts +13 -0
  399. package/dist/types/date-picker/_components/TimePanel.d.ts.map +1 -0
  400. package/dist/types/date-picker/index.d.ts +4 -0
  401. package/dist/types/date-picker/index.d.ts.map +1 -0
  402. package/dist/types/date-picker/types.d.ts +89 -0
  403. package/dist/types/date-picker/types.d.ts.map +1 -0
  404. package/dist/types/date-picker/usePickerState.d.ts +37 -0
  405. package/dist/types/date-picker/usePickerState.d.ts.map +1 -0
  406. package/dist/types/date-picker/utils.d.ts +24 -0
  407. package/dist/types/date-picker/utils.d.ts.map +1 -0
  408. package/dist/types/divider/Divider.d.ts +8 -0
  409. package/dist/types/divider/Divider.d.ts.map +1 -0
  410. package/dist/types/divider/index.d.ts +3 -0
  411. package/dist/types/divider/index.d.ts.map +1 -0
  412. package/dist/types/divider/types.d.ts +25 -0
  413. package/dist/types/divider/types.d.ts.map +1 -0
  414. package/dist/types/divider/utils.d.ts +12 -0
  415. package/dist/types/divider/utils.d.ts.map +1 -0
  416. package/dist/types/drawer/Drawer.d.ts +27 -0
  417. package/dist/types/drawer/Drawer.d.ts.map +1 -0
  418. package/dist/types/drawer/index.d.ts +3 -0
  419. package/dist/types/drawer/index.d.ts.map +1 -0
  420. package/dist/types/drawer/types.d.ts +51 -0
  421. package/dist/types/drawer/types.d.ts.map +1 -0
  422. package/dist/types/drawer/utils.d.ts +5 -0
  423. package/dist/types/drawer/utils.d.ts.map +1 -0
  424. package/dist/types/dropdown/Dropdown.d.ts +6 -0
  425. package/dist/types/dropdown/Dropdown.d.ts.map +1 -0
  426. package/dist/types/dropdown/_components/DropdownContent.d.ts +16 -0
  427. package/dist/types/dropdown/_components/DropdownContent.d.ts.map +1 -0
  428. package/dist/types/dropdown/_components/DropdownItem.d.ts +18 -0
  429. package/dist/types/dropdown/_components/DropdownItem.d.ts.map +1 -0
  430. package/dist/types/dropdown/_components/DropdownTrigger.d.ts +4 -0
  431. package/dist/types/dropdown/_components/DropdownTrigger.d.ts.map +1 -0
  432. package/dist/types/dropdown/index.d.ts +6 -0
  433. package/dist/types/dropdown/index.d.ts.map +1 -0
  434. package/dist/types/dropdown/types.d.ts +69 -0
  435. package/dist/types/dropdown/types.d.ts.map +1 -0
  436. package/dist/types/dropdown/useDropdown.d.ts +44 -0
  437. package/dist/types/dropdown/useDropdown.d.ts.map +1 -0
  438. package/dist/types/dropdown/utils.d.ts +13 -0
  439. package/dist/types/dropdown/utils.d.ts.map +1 -0
  440. package/dist/types/empty/Empty.d.ts +32 -0
  441. package/dist/types/empty/Empty.d.ts.map +1 -0
  442. package/dist/types/empty/index.d.ts +3 -0
  443. package/dist/types/empty/index.d.ts.map +1 -0
  444. package/dist/types/field/Field.d.ts +20 -0
  445. package/dist/types/field/Field.d.ts.map +1 -0
  446. package/dist/types/field/index.d.ts +3 -0
  447. package/dist/types/field/index.d.ts.map +1 -0
  448. package/dist/types/field/types.d.ts +26 -0
  449. package/dist/types/field/types.d.ts.map +1 -0
  450. package/dist/types/float-button/BackTop.d.ts +11 -0
  451. package/dist/types/float-button/BackTop.d.ts.map +1 -0
  452. package/dist/types/float-button/FloatButton.d.ts +28 -0
  453. package/dist/types/float-button/FloatButton.d.ts.map +1 -0
  454. package/dist/types/float-button/FloatButtonGroup.d.ts +11 -0
  455. package/dist/types/float-button/FloatButtonGroup.d.ts.map +1 -0
  456. package/dist/types/float-button/index.d.ts +5 -0
  457. package/dist/types/float-button/index.d.ts.map +1 -0
  458. package/dist/types/float-button/types.d.ts +73 -0
  459. package/dist/types/float-button/types.d.ts.map +1 -0
  460. package/dist/types/float-button/utils.d.ts +14 -0
  461. package/dist/types/float-button/utils.d.ts.map +1 -0
  462. package/dist/types/foundations/PersonaDocs.d.ts +11 -0
  463. package/dist/types/foundations/PersonaDocs.d.ts.map +1 -0
  464. package/dist/types/foundations/usePersonaTheme.d.ts +17 -0
  465. package/dist/types/foundations/usePersonaTheme.d.ts.map +1 -0
  466. package/dist/types/image/Image.d.ts +16 -0
  467. package/dist/types/image/Image.d.ts.map +1 -0
  468. package/dist/types/image/ImageGallery.d.ts +82 -0
  469. package/dist/types/image/ImageGallery.d.ts.map +1 -0
  470. package/dist/types/image/ImageViewer.d.ts +54 -0
  471. package/dist/types/image/ImageViewer.d.ts.map +1 -0
  472. package/dist/types/image/galleryUtils.d.ts +89 -0
  473. package/dist/types/image/galleryUtils.d.ts.map +1 -0
  474. package/dist/types/image/index.d.ts +7 -0
  475. package/dist/types/image/index.d.ts.map +1 -0
  476. package/dist/types/image/types.d.ts +78 -0
  477. package/dist/types/image/types.d.ts.map +1 -0
  478. package/dist/types/image/utils.d.ts +54 -0
  479. package/dist/types/image/utils.d.ts.map +1 -0
  480. package/dist/types/image/viewerUtils.d.ts +66 -0
  481. package/dist/types/image/viewerUtils.d.ts.map +1 -0
  482. package/dist/types/input/Input.d.ts +5 -0
  483. package/dist/types/input/Input.d.ts.map +1 -0
  484. package/dist/types/input/OtpInput.d.ts +41 -0
  485. package/dist/types/input/OtpInput.d.ts.map +1 -0
  486. package/dist/types/input/SearchInput.d.ts +25 -0
  487. package/dist/types/input/SearchInput.d.ts.map +1 -0
  488. package/dist/types/input/Textarea.d.ts +59 -0
  489. package/dist/types/input/Textarea.d.ts.map +1 -0
  490. package/dist/types/input/_components/FieldAdornments.d.ts +22 -0
  491. package/dist/types/input/_components/FieldAdornments.d.ts.map +1 -0
  492. package/dist/types/input/_components/OtpSingleField.d.ts +38 -0
  493. package/dist/types/input/_components/OtpSingleField.d.ts.map +1 -0
  494. package/dist/types/input/index.d.ts +10 -0
  495. package/dist/types/input/index.d.ts.map +1 -0
  496. package/dist/types/input/mention/caret.d.ts +12 -0
  497. package/dist/types/input/mention/caret.d.ts.map +1 -0
  498. package/dist/types/input/mention/types.d.ts +45 -0
  499. package/dist/types/input/mention/types.d.ts.map +1 -0
  500. package/dist/types/input/mention/useMention.d.ts +16 -0
  501. package/dist/types/input/mention/useMention.d.ts.map +1 -0
  502. package/dist/types/input/mention/utils.d.ts +22 -0
  503. package/dist/types/input/mention/utils.d.ts.map +1 -0
  504. package/dist/types/input/types.d.ts +97 -0
  505. package/dist/types/input/types.d.ts.map +1 -0
  506. package/dist/types/input/utils.d.ts +51 -0
  507. package/dist/types/input/utils.d.ts.map +1 -0
  508. package/dist/types/input-number/InputNumber.d.ts +17 -0
  509. package/dist/types/input-number/InputNumber.d.ts.map +1 -0
  510. package/dist/types/input-number/index.d.ts +3 -0
  511. package/dist/types/input-number/index.d.ts.map +1 -0
  512. package/dist/types/input-number/types.d.ts +53 -0
  513. package/dist/types/input-number/types.d.ts.map +1 -0
  514. package/dist/types/input-number/utils.d.ts +42 -0
  515. package/dist/types/input-number/utils.d.ts.map +1 -0
  516. package/dist/types/lib/AnimationDemo.d.ts +13 -0
  517. package/dist/types/lib/AnimationDemo.d.ts.map +1 -0
  518. package/dist/types/lib/ContentSkeleton.d.ts +21 -0
  519. package/dist/types/lib/ContentSkeleton.d.ts.map +1 -0
  520. package/dist/types/lib/FloatingArrow.d.ts +22 -0
  521. package/dist/types/lib/FloatingArrow.d.ts.map +1 -0
  522. package/dist/types/lib/SkeletonDemo.d.ts +14 -0
  523. package/dist/types/lib/SkeletonDemo.d.ts.map +1 -0
  524. package/dist/types/lib/SkeletonSlot.d.ts +22 -0
  525. package/dist/types/lib/SkeletonSlot.d.ts.map +1 -0
  526. package/dist/types/lib/colorClasses.d.ts +57 -0
  527. package/dist/types/lib/colorClasses.d.ts.map +1 -0
  528. package/dist/types/lib/date/index.d.ts +51 -0
  529. package/dist/types/lib/date/index.d.ts.map +1 -0
  530. package/dist/types/lib/elevationClass.d.ts +10 -0
  531. package/dist/types/lib/elevationClass.d.ts.map +1 -0
  532. package/dist/types/lib/fieldContext.d.ts +61 -0
  533. package/dist/types/lib/fieldContext.d.ts.map +1 -0
  534. package/dist/types/lib/floating.d.ts +46 -0
  535. package/dist/types/lib/floating.d.ts.map +1 -0
  536. package/dist/types/lib/infiniteScroll.d.ts +36 -0
  537. package/dist/types/lib/infiniteScroll.d.ts.map +1 -0
  538. package/dist/types/lib/linkBehavior.d.ts +38 -0
  539. package/dist/types/lib/linkBehavior.d.ts.map +1 -0
  540. package/dist/types/lib/overlay.d.ts +55 -0
  541. package/dist/types/lib/overlay.d.ts.map +1 -0
  542. package/dist/types/lib/sizeClasses.d.ts +49 -0
  543. package/dist/types/lib/sizeClasses.d.ts.map +1 -0
  544. package/dist/types/lib/skeleton.d.ts +31 -0
  545. package/dist/types/lib/skeleton.d.ts.map +1 -0
  546. package/dist/types/lib/storyMeta.d.ts +85 -0
  547. package/dist/types/lib/storyMeta.d.ts.map +1 -0
  548. package/dist/types/lib/storyPhotos.d.ts +31 -0
  549. package/dist/types/lib/storyPhotos.d.ts.map +1 -0
  550. package/dist/types/lib/storybookArgTypes.d.ts +20 -0
  551. package/dist/types/lib/storybookArgTypes.d.ts.map +1 -0
  552. package/dist/types/lib/useAnimatedValue.d.ts +38 -0
  553. package/dist/types/lib/useAnimatedValue.d.ts.map +1 -0
  554. package/dist/types/lib/useFloatingPosition.d.ts +32 -0
  555. package/dist/types/lib/useFloatingPosition.d.ts.map +1 -0
  556. package/dist/types/lib/useScrollable.d.ts +13 -0
  557. package/dist/types/lib/useScrollable.d.ts.map +1 -0
  558. package/dist/types/list/List.d.ts +23 -0
  559. package/dist/types/list/List.d.ts.map +1 -0
  560. package/dist/types/list/index.d.ts +3 -0
  561. package/dist/types/list/index.d.ts.map +1 -0
  562. package/dist/types/list/types.d.ts +95 -0
  563. package/dist/types/list/types.d.ts.map +1 -0
  564. package/dist/types/list/utils.d.ts +16 -0
  565. package/dist/types/list/utils.d.ts.map +1 -0
  566. package/dist/types/loading/Loading.d.ts +5 -0
  567. package/dist/types/loading/Loading.d.ts.map +1 -0
  568. package/dist/types/loading/index.d.ts +3 -0
  569. package/dist/types/loading/index.d.ts.map +1 -0
  570. package/dist/types/loading/types.d.ts +33 -0
  571. package/dist/types/loading/types.d.ts.map +1 -0
  572. package/dist/types/loading/utils.d.ts +15 -0
  573. package/dist/types/loading/utils.d.ts.map +1 -0
  574. package/dist/types/logo/Logo.d.ts +11 -0
  575. package/dist/types/logo/Logo.d.ts.map +1 -0
  576. package/dist/types/logo/index.d.ts +3 -0
  577. package/dist/types/logo/index.d.ts.map +1 -0
  578. package/dist/types/masonry/Masonry.d.ts +15 -0
  579. package/dist/types/masonry/Masonry.d.ts.map +1 -0
  580. package/dist/types/masonry/index.d.ts +3 -0
  581. package/dist/types/masonry/index.d.ts.map +1 -0
  582. package/dist/types/masonry/types.d.ts +35 -0
  583. package/dist/types/masonry/types.d.ts.map +1 -0
  584. package/dist/types/masonry/utils.d.ts +23 -0
  585. package/dist/types/masonry/utils.d.ts.map +1 -0
  586. package/dist/types/menu/_shared/MegaPanel.d.ts +20 -0
  587. package/dist/types/menu/_shared/MegaPanel.d.ts.map +1 -0
  588. package/dist/types/menu/_shared/MenuLink.d.ts +39 -0
  589. package/dist/types/menu/_shared/MenuLink.d.ts.map +1 -0
  590. package/dist/types/menu/_shared/MobileNav.d.ts +31 -0
  591. package/dist/types/menu/_shared/MobileNav.d.ts.map +1 -0
  592. package/dist/types/menu/_shared/NavBar.d.ts +49 -0
  593. package/dist/types/menu/_shared/NavBar.d.ts.map +1 -0
  594. package/dist/types/menu/_shared/NavDrawer.d.ts +40 -0
  595. package/dist/types/menu/_shared/NavDrawer.d.ts.map +1 -0
  596. package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts +19 -0
  597. package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts.map +1 -0
  598. package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts +11 -0
  599. package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts.map +1 -0
  600. package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts +30 -0
  601. package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts.map +1 -0
  602. package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts +26 -0
  603. package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts.map +1 -0
  604. package/dist/types/menu/_shared/index.d.ts +3 -0
  605. package/dist/types/menu/_shared/index.d.ts.map +1 -0
  606. package/dist/types/menu/_shared/responsive.d.ts +12 -0
  607. package/dist/types/menu/_shared/responsive.d.ts.map +1 -0
  608. package/dist/types/menu/_shared/types.d.ts +17 -0
  609. package/dist/types/menu/_shared/types.d.ts.map +1 -0
  610. package/dist/types/menu/_shared/useHoverIntent.d.ts +11 -0
  611. package/dist/types/menu/_shared/useHoverIntent.d.ts.map +1 -0
  612. package/dist/types/menu/basic-menu/BasicMenu.d.ts +35 -0
  613. package/dist/types/menu/basic-menu/BasicMenu.d.ts.map +1 -0
  614. package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts +18 -0
  615. package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts.map +1 -0
  616. package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts +43 -0
  617. package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts.map +1 -0
  618. package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts +20 -0
  619. package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts.map +1 -0
  620. package/dist/types/menu/basic-menu/index.d.ts +3 -0
  621. package/dist/types/menu/basic-menu/index.d.ts.map +1 -0
  622. package/dist/types/menu/index.d.ts +9 -0
  623. package/dist/types/menu/index.d.ts.map +1 -0
  624. package/dist/types/menu/mega-menu/MegaMenu.d.ts +20 -0
  625. package/dist/types/menu/mega-menu/MegaMenu.d.ts.map +1 -0
  626. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts +38 -0
  627. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts.map +1 -0
  628. package/dist/types/menu/mega-menu/index.d.ts +3 -0
  629. package/dist/types/menu/mega-menu/index.d.ts.map +1 -0
  630. package/dist/types/menu/sidebar/Sidebar.d.ts +66 -0
  631. package/dist/types/menu/sidebar/Sidebar.d.ts.map +1 -0
  632. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts +16 -0
  633. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts.map +1 -0
  634. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts +45 -0
  635. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts.map +1 -0
  636. package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts +16 -0
  637. package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts.map +1 -0
  638. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts +17 -0
  639. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts.map +1 -0
  640. package/dist/types/menu/sidebar/index.d.ts +3 -0
  641. package/dist/types/menu/sidebar/index.d.ts.map +1 -0
  642. package/dist/types/menu/types.d.ts +66 -0
  643. package/dist/types/menu/types.d.ts.map +1 -0
  644. package/dist/types/menu/utils.d.ts +38 -0
  645. package/dist/types/menu/utils.d.ts.map +1 -0
  646. package/dist/types/modal/Modal.d.ts +22 -0
  647. package/dist/types/modal/Modal.d.ts.map +1 -0
  648. package/dist/types/modal/index.d.ts +3 -0
  649. package/dist/types/modal/index.d.ts.map +1 -0
  650. package/dist/types/modal/types.d.ts +64 -0
  651. package/dist/types/modal/types.d.ts.map +1 -0
  652. package/dist/types/modal/utils.d.ts +10 -0
  653. package/dist/types/modal/utils.d.ts.map +1 -0
  654. package/dist/types/pagination/Pagination.d.ts +18 -0
  655. package/dist/types/pagination/Pagination.d.ts.map +1 -0
  656. package/dist/types/pagination/index.d.ts +3 -0
  657. package/dist/types/pagination/index.d.ts.map +1 -0
  658. package/dist/types/pagination/types.d.ts +64 -0
  659. package/dist/types/pagination/types.d.ts.map +1 -0
  660. package/dist/types/pagination/utils.d.ts +41 -0
  661. package/dist/types/pagination/utils.d.ts.map +1 -0
  662. package/dist/types/popconfirm/Popconfirm.d.ts +16 -0
  663. package/dist/types/popconfirm/Popconfirm.d.ts.map +1 -0
  664. package/dist/types/popconfirm/index.d.ts +3 -0
  665. package/dist/types/popconfirm/index.d.ts.map +1 -0
  666. package/dist/types/popconfirm/types.d.ts +35 -0
  667. package/dist/types/popconfirm/types.d.ts.map +1 -0
  668. package/dist/types/popover/Popover.d.ts +16 -0
  669. package/dist/types/popover/Popover.d.ts.map +1 -0
  670. package/dist/types/popover/index.d.ts +3 -0
  671. package/dist/types/popover/index.d.ts.map +1 -0
  672. package/dist/types/popover/types.d.ts +42 -0
  673. package/dist/types/popover/types.d.ts.map +1 -0
  674. package/dist/types/progress/Progress.d.ts +15 -0
  675. package/dist/types/progress/Progress.d.ts.map +1 -0
  676. package/dist/types/progress/index.d.ts +3 -0
  677. package/dist/types/progress/index.d.ts.map +1 -0
  678. package/dist/types/progress/types.d.ts +34 -0
  679. package/dist/types/progress/types.d.ts.map +1 -0
  680. package/dist/types/qrcode/QRCode.d.ts +17 -0
  681. package/dist/types/qrcode/QRCode.d.ts.map +1 -0
  682. package/dist/types/qrcode/index.d.ts +3 -0
  683. package/dist/types/qrcode/index.d.ts.map +1 -0
  684. package/dist/types/qrcode/types.d.ts +49 -0
  685. package/dist/types/qrcode/types.d.ts.map +1 -0
  686. package/dist/types/qrcode/utils.d.ts +34 -0
  687. package/dist/types/qrcode/utils.d.ts.map +1 -0
  688. package/dist/types/radio/Radio.d.ts +5 -0
  689. package/dist/types/radio/Radio.d.ts.map +1 -0
  690. package/dist/types/radio/RadioGroup.d.ts +8 -0
  691. package/dist/types/radio/RadioGroup.d.ts.map +1 -0
  692. package/dist/types/radio/index.d.ts +4 -0
  693. package/dist/types/radio/index.d.ts.map +1 -0
  694. package/dist/types/radio/types.d.ts +53 -0
  695. package/dist/types/radio/types.d.ts.map +1 -0
  696. package/dist/types/radio/utils.d.ts +14 -0
  697. package/dist/types/radio/utils.d.ts.map +1 -0
  698. package/dist/types/rate/Rate.d.ts +5 -0
  699. package/dist/types/rate/Rate.d.ts.map +1 -0
  700. package/dist/types/rate/index.d.ts +3 -0
  701. package/dist/types/rate/index.d.ts.map +1 -0
  702. package/dist/types/rate/types.d.ts +37 -0
  703. package/dist/types/rate/types.d.ts.map +1 -0
  704. package/dist/types/rate/utils.d.ts +15 -0
  705. package/dist/types/rate/utils.d.ts.map +1 -0
  706. package/dist/types/segmented/Segmented.d.ts +15 -0
  707. package/dist/types/segmented/Segmented.d.ts.map +1 -0
  708. package/dist/types/segmented/index.d.ts +3 -0
  709. package/dist/types/segmented/index.d.ts.map +1 -0
  710. package/dist/types/segmented/types.d.ts +33 -0
  711. package/dist/types/segmented/types.d.ts.map +1 -0
  712. package/dist/types/select/Select.d.ts +17 -0
  713. package/dist/types/select/Select.d.ts.map +1 -0
  714. package/dist/types/select/_components/SelectPanel.d.ts +34 -0
  715. package/dist/types/select/_components/SelectPanel.d.ts.map +1 -0
  716. package/dist/types/select/index.d.ts +3 -0
  717. package/dist/types/select/index.d.ts.map +1 -0
  718. package/dist/types/select/types.d.ts +82 -0
  719. package/dist/types/select/types.d.ts.map +1 -0
  720. package/dist/types/select/useSelectState.d.ts +29 -0
  721. package/dist/types/select/useSelectState.d.ts.map +1 -0
  722. package/dist/types/select/utils.d.ts +39 -0
  723. package/dist/types/select/utils.d.ts.map +1 -0
  724. package/dist/types/skeleton/Skeleton.d.ts +10 -0
  725. package/dist/types/skeleton/Skeleton.d.ts.map +1 -0
  726. package/dist/types/skeleton/SkeletonButton.d.ts +13 -0
  727. package/dist/types/skeleton/SkeletonButton.d.ts.map +1 -0
  728. package/dist/types/skeleton/SkeletonInput.d.ts +9 -0
  729. package/dist/types/skeleton/SkeletonInput.d.ts.map +1 -0
  730. package/dist/types/skeleton/index.d.ts +7 -0
  731. package/dist/types/skeleton/index.d.ts.map +1 -0
  732. package/dist/types/skeleton/types.d.ts +46 -0
  733. package/dist/types/skeleton/types.d.ts.map +1 -0
  734. package/dist/types/skeleton/utils.d.ts +12 -0
  735. package/dist/types/skeleton/utils.d.ts.map +1 -0
  736. package/dist/types/slider/Slider.d.ts +5 -0
  737. package/dist/types/slider/Slider.d.ts.map +1 -0
  738. package/dist/types/slider/index.d.ts +3 -0
  739. package/dist/types/slider/index.d.ts.map +1 -0
  740. package/dist/types/slider/types.d.ts +52 -0
  741. package/dist/types/slider/types.d.ts.map +1 -0
  742. package/dist/types/slider/utils.d.ts +15 -0
  743. package/dist/types/slider/utils.d.ts.map +1 -0
  744. package/dist/types/splitter/Splitter.d.ts +22 -0
  745. package/dist/types/splitter/Splitter.d.ts.map +1 -0
  746. package/dist/types/splitter/index.d.ts +3 -0
  747. package/dist/types/splitter/index.d.ts.map +1 -0
  748. package/dist/types/splitter/types.d.ts +50 -0
  749. package/dist/types/splitter/types.d.ts.map +1 -0
  750. package/dist/types/splitter/utils.d.ts +33 -0
  751. package/dist/types/splitter/utils.d.ts.map +1 -0
  752. package/dist/types/statistic/Statistic.d.ts +23 -0
  753. package/dist/types/statistic/Statistic.d.ts.map +1 -0
  754. package/dist/types/statistic/index.d.ts +3 -0
  755. package/dist/types/statistic/index.d.ts.map +1 -0
  756. package/dist/types/statistic/types.d.ts +72 -0
  757. package/dist/types/statistic/types.d.ts.map +1 -0
  758. package/dist/types/statistic/utils.d.ts +34 -0
  759. package/dist/types/statistic/utils.d.ts.map +1 -0
  760. package/dist/types/steps/Steps.d.ts +5 -0
  761. package/dist/types/steps/Steps.d.ts.map +1 -0
  762. package/dist/types/steps/_components/StepsContent.d.ts +19 -0
  763. package/dist/types/steps/_components/StepsContent.d.ts.map +1 -0
  764. package/dist/types/steps/index.d.ts +5 -0
  765. package/dist/types/steps/index.d.ts.map +1 -0
  766. package/dist/types/steps/types.d.ts +90 -0
  767. package/dist/types/steps/types.d.ts.map +1 -0
  768. package/dist/types/steps/utils.d.ts +25 -0
  769. package/dist/types/steps/utils.d.ts.map +1 -0
  770. package/dist/types/switch/Switch.d.ts +14 -0
  771. package/dist/types/switch/Switch.d.ts.map +1 -0
  772. package/dist/types/switch/index.d.ts +3 -0
  773. package/dist/types/switch/index.d.ts.map +1 -0
  774. package/dist/types/switch/types.d.ts +19 -0
  775. package/dist/types/switch/types.d.ts.map +1 -0
  776. package/dist/types/switch/utils.d.ts +11 -0
  777. package/dist/types/switch/utils.d.ts.map +1 -0
  778. package/dist/types/table/Table.d.ts +26 -0
  779. package/dist/types/table/Table.d.ts.map +1 -0
  780. package/dist/types/table/_components/TableAccordion.d.ts +16 -0
  781. package/dist/types/table/_components/TableAccordion.d.ts.map +1 -0
  782. package/dist/types/table/_components/TableBody.d.ts +16 -0
  783. package/dist/types/table/_components/TableBody.d.ts.map +1 -0
  784. package/dist/types/table/_components/TableCellSkeleton.d.ts +12 -0
  785. package/dist/types/table/_components/TableCellSkeleton.d.ts.map +1 -0
  786. package/dist/types/table/_components/TableEditDrawer.d.ts +18 -0
  787. package/dist/types/table/_components/TableEditDrawer.d.ts.map +1 -0
  788. package/dist/types/table/_components/TableHeader.d.ts +19 -0
  789. package/dist/types/table/_components/TableHeader.d.ts.map +1 -0
  790. package/dist/types/table/_components/TableInfoValue.d.ts +17 -0
  791. package/dist/types/table/_components/TableInfoValue.d.ts.map +1 -0
  792. package/dist/types/table/_components/TablePagination.d.ts +21 -0
  793. package/dist/types/table/_components/TablePagination.d.ts.map +1 -0
  794. package/dist/types/table/_components/TableRowActions.d.ts +22 -0
  795. package/dist/types/table/_components/TableRowActions.d.ts.map +1 -0
  796. package/dist/types/table/index.d.ts +3 -0
  797. package/dist/types/table/index.d.ts.map +1 -0
  798. package/dist/types/table/types.d.ts +101 -0
  799. package/dist/types/table/types.d.ts.map +1 -0
  800. package/dist/types/table/utils.d.ts +27 -0
  801. package/dist/types/table/utils.d.ts.map +1 -0
  802. package/dist/types/tabs/Tabs.d.ts +13 -0
  803. package/dist/types/tabs/Tabs.d.ts.map +1 -0
  804. package/dist/types/tabs/_components/TabsContent.d.ts +9 -0
  805. package/dist/types/tabs/_components/TabsContent.d.ts.map +1 -0
  806. package/dist/types/tabs/_components/TabsList.d.ts +16 -0
  807. package/dist/types/tabs/_components/TabsList.d.ts.map +1 -0
  808. package/dist/types/tabs/_components/TabsTrigger.d.ts +12 -0
  809. package/dist/types/tabs/_components/TabsTrigger.d.ts.map +1 -0
  810. package/dist/types/tabs/index.d.ts +6 -0
  811. package/dist/types/tabs/index.d.ts.map +1 -0
  812. package/dist/types/tabs/types.d.ts +91 -0
  813. package/dist/types/tabs/types.d.ts.map +1 -0
  814. package/dist/types/tabs/useTabs.d.ts +10 -0
  815. package/dist/types/tabs/useTabs.d.ts.map +1 -0
  816. package/dist/types/tabs/utils.d.ts +20 -0
  817. package/dist/types/tabs/utils.d.ts.map +1 -0
  818. package/dist/types/tag/Tag.d.ts +5 -0
  819. package/dist/types/tag/Tag.d.ts.map +1 -0
  820. package/dist/types/tag/index.d.ts +3 -0
  821. package/dist/types/tag/index.d.ts.map +1 -0
  822. package/dist/types/tag/types.d.ts +18 -0
  823. package/dist/types/tag/types.d.ts.map +1 -0
  824. package/dist/types/tag/utils.d.ts +13 -0
  825. package/dist/types/tag/utils.d.ts.map +1 -0
  826. package/dist/types/theme-customizer/ThemeCustomizer.d.ts +17 -0
  827. package/dist/types/theme-customizer/ThemeCustomizer.d.ts.map +1 -0
  828. package/dist/types/theme-customizer/applyTheme.d.ts +16 -0
  829. package/dist/types/theme-customizer/applyTheme.d.ts.map +1 -0
  830. package/dist/types/theme-customizer/index.d.ts +8 -0
  831. package/dist/types/theme-customizer/index.d.ts.map +1 -0
  832. package/dist/types/theme-customizer/types.d.ts +37 -0
  833. package/dist/types/theme-customizer/types.d.ts.map +1 -0
  834. package/dist/types/timeline/Timeline.d.ts +15 -0
  835. package/dist/types/timeline/Timeline.d.ts.map +1 -0
  836. package/dist/types/timeline/index.d.ts +3 -0
  837. package/dist/types/timeline/index.d.ts.map +1 -0
  838. package/dist/types/timeline/types.d.ts +53 -0
  839. package/dist/types/timeline/types.d.ts.map +1 -0
  840. package/dist/types/timeline/utils.d.ts +13 -0
  841. package/dist/types/timeline/utils.d.ts.map +1 -0
  842. package/dist/types/toast/Toast.d.ts +19 -0
  843. package/dist/types/toast/Toast.d.ts.map +1 -0
  844. package/dist/types/toast/index.d.ts +4 -0
  845. package/dist/types/toast/index.d.ts.map +1 -0
  846. package/dist/types/toast/types.d.ts +43 -0
  847. package/dist/types/toast/types.d.ts.map +1 -0
  848. package/dist/types/toast/useToast.d.ts +26 -0
  849. package/dist/types/toast/useToast.d.ts.map +1 -0
  850. package/dist/types/toast/utils.d.ts +12 -0
  851. package/dist/types/toast/utils.d.ts.map +1 -0
  852. package/dist/types/tooltip/Tooltip.d.ts +5 -0
  853. package/dist/types/tooltip/Tooltip.d.ts.map +1 -0
  854. package/dist/types/tooltip/index.d.ts +3 -0
  855. package/dist/types/tooltip/index.d.ts.map +1 -0
  856. package/dist/types/tooltip/types.d.ts +32 -0
  857. package/dist/types/tooltip/types.d.ts.map +1 -0
  858. package/dist/types/tooltip/utils.d.ts +12 -0
  859. package/dist/types/tooltip/utils.d.ts.map +1 -0
  860. package/dist/types/tour/Tour.d.ts +18 -0
  861. package/dist/types/tour/Tour.d.ts.map +1 -0
  862. package/dist/types/tour/index.d.ts +3 -0
  863. package/dist/types/tour/index.d.ts.map +1 -0
  864. package/dist/types/tour/types.d.ts +46 -0
  865. package/dist/types/tour/types.d.ts.map +1 -0
  866. package/dist/types/tour/utils.d.ts +18 -0
  867. package/dist/types/tour/utils.d.ts.map +1 -0
  868. package/dist/types/transfer/Transfer.d.ts +16 -0
  869. package/dist/types/transfer/Transfer.d.ts.map +1 -0
  870. package/dist/types/transfer/_components/TransferList.d.ts +32 -0
  871. package/dist/types/transfer/_components/TransferList.d.ts.map +1 -0
  872. package/dist/types/transfer/index.d.ts +3 -0
  873. package/dist/types/transfer/index.d.ts.map +1 -0
  874. package/dist/types/transfer/types.d.ts +67 -0
  875. package/dist/types/transfer/types.d.ts.map +1 -0
  876. package/dist/types/transfer/utils.d.ts +34 -0
  877. package/dist/types/transfer/utils.d.ts.map +1 -0
  878. package/dist/types/tree/Tree.d.ts +59 -0
  879. package/dist/types/tree/Tree.d.ts.map +1 -0
  880. package/dist/types/tree/index.d.ts +5 -0
  881. package/dist/types/tree/index.d.ts.map +1 -0
  882. package/dist/types/tree/types.d.ts +92 -0
  883. package/dist/types/tree/types.d.ts.map +1 -0
  884. package/dist/types/tree/utils.d.ts +66 -0
  885. package/dist/types/tree/utils.d.ts.map +1 -0
  886. package/dist/types/tree-select/TreeSelect.d.ts +18 -0
  887. package/dist/types/tree-select/TreeSelect.d.ts.map +1 -0
  888. package/dist/types/tree-select/_components/TreeSelectPanel.d.ts +27 -0
  889. package/dist/types/tree-select/_components/TreeSelectPanel.d.ts.map +1 -0
  890. package/dist/types/tree-select/index.d.ts +3 -0
  891. package/dist/types/tree-select/index.d.ts.map +1 -0
  892. package/dist/types/tree-select/types.d.ts +87 -0
  893. package/dist/types/tree-select/types.d.ts.map +1 -0
  894. package/dist/types/tree-select/useTreeSelectState.d.ts +38 -0
  895. package/dist/types/tree-select/useTreeSelectState.d.ts.map +1 -0
  896. package/dist/types/tree-select/utils.d.ts +28 -0
  897. package/dist/types/tree-select/utils.d.ts.map +1 -0
  898. package/dist/types/typewriter/Typewriter.d.ts +16 -0
  899. package/dist/types/typewriter/Typewriter.d.ts.map +1 -0
  900. package/dist/types/typewriter/index.d.ts +3 -0
  901. package/dist/types/typewriter/index.d.ts.map +1 -0
  902. package/dist/types/typewriter/types.d.ts +33 -0
  903. package/dist/types/typewriter/types.d.ts.map +1 -0
  904. package/dist/types/typewriter/useTypewriter.d.ts +29 -0
  905. package/dist/types/typewriter/useTypewriter.d.ts.map +1 -0
  906. package/dist/types/typography/Typography.d.ts +6 -0
  907. package/dist/types/typography/Typography.d.ts.map +1 -0
  908. package/dist/types/typography/index.d.ts +3 -0
  909. package/dist/types/typography/index.d.ts.map +1 -0
  910. package/dist/types/typography/types.d.ts +38 -0
  911. package/dist/types/typography/types.d.ts.map +1 -0
  912. package/dist/types/typography/utils.d.ts +10 -0
  913. package/dist/types/typography/utils.d.ts.map +1 -0
  914. package/dist/types/upload/Upload.d.ts +5 -0
  915. package/dist/types/upload/Upload.d.ts.map +1 -0
  916. package/dist/types/upload/_components/List.d.ts +15 -0
  917. package/dist/types/upload/_components/List.d.ts.map +1 -0
  918. package/dist/types/upload/_components/ReviewList.d.ts +17 -0
  919. package/dist/types/upload/_components/ReviewList.d.ts.map +1 -0
  920. package/dist/types/upload/_components/UploadDragDropButton.d.ts +16 -0
  921. package/dist/types/upload/_components/UploadDragDropButton.d.ts.map +1 -0
  922. package/dist/types/upload/_components/UploadListButton.d.ts +7 -0
  923. package/dist/types/upload/_components/UploadListButton.d.ts.map +1 -0
  924. package/dist/types/upload/_components/UploadReviewButton.d.ts +14 -0
  925. package/dist/types/upload/_components/UploadReviewButton.d.ts.map +1 -0
  926. package/dist/types/upload/index.d.ts +3 -0
  927. package/dist/types/upload/index.d.ts.map +1 -0
  928. package/dist/types/upload/types.d.ts +30 -0
  929. package/dist/types/upload/types.d.ts.map +1 -0
  930. package/dist/types/upload/useUpload.d.ts +24 -0
  931. package/dist/types/upload/useUpload.d.ts.map +1 -0
  932. package/dist/types/upload/utils.d.ts +23 -0
  933. package/dist/types/upload/utils.d.ts.map +1 -0
  934. package/dist/typewriter.d.ts +1 -0
  935. package/dist/typewriter.js +139 -0
  936. package/dist/typewriter.js.map +1 -0
  937. package/dist/typography.d.ts +1 -0
  938. package/dist/typography.js +81 -0
  939. package/dist/typography.js.map +1 -0
  940. package/dist/upload.d.ts +1 -0
  941. package/dist/upload.js +370 -0
  942. package/dist/upload.js.map +1 -0
  943. package/package.json +325 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/color-picker/ColorPicker.tsx","../src/color-picker/_components/ColorArea.tsx","../src/color-picker/utils.ts","../src/color-picker/_components/usePointerDrag.ts","../src/color-picker/_components/ColorInputs.tsx","../src/color-picker/_components/ColorPresets.tsx","../src/color-picker/_components/Swatch.tsx","../src/color-picker/_components/ColorSlider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useContext, useEffect, useId, useRef, useState } from \"react\";\nimport { cn, useControllableState, type Size } from \"@mari-ui/core\";\nimport { FIELD_BASE_CLASS, FIELD_DISABLED_CLASS, getVariantClasses } from \"../input/utils\";\nimport { FieldContext, useFieldControl } from \"../lib/fieldContext\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { touchTargetClass } from \"../lib/sizeClasses\";\nimport { Popover } from \"../popover\";\nimport { ColorArea } from \"./_components/ColorArea\";\nimport { ColorInputs } from \"./_components/ColorInputs\";\nimport { ColorPresets } from \"./_components/ColorPresets\";\nimport { ColorSlider, HUE_GRADIENT } from \"./_components/ColorSlider\";\nimport { Swatch } from \"./_components/Swatch\";\nimport type { ColorFormat, ColorInfo, ColorPickerProps, Hsba } from \"./types\";\nimport { colorInfo, describeColor, formatColor, parseColor } from \"./utils\";\n\nexport type { ColorPickerProps };\n\n/** Hiç renk yokken panelin başladığı renk (primary ailesine yakın bir mavi). */\nconst FALLBACK: Hsba = { h: 212, s: 71, b: 64, a: 1 };\n\n/** Yükseklik Input/Select ile aynı; renk kutusu her boyutta 3px iç boşlukla oturur. */\nconst TRIGGER_CLASS: Record<Size, string> = {\n sm: \"h-6 text-xs gap-1 rounded-sm\",\n md: \"h-8 text-sm gap-2 rounded-md\",\n lg: \"h-10 text-base gap-2 rounded-md\",\n};\nconst SQUARE_CLASS: Record<Size, string> = { sm: \"w-6\", md: \"w-8\", lg: \"w-10\" };\nconst TEXT_PAD_CLASS: Record<Size, string> = { sm: \"pr-2\", md: \"pr-3\", lg: \"pr-4\" };\nconst SWATCH_CLASS: Record<Size, string> = { sm: \"size-4 rounded-sm\", md: \"size-6 rounded-sm\", lg: \"size-8 rounded-sm\" };\n\n/**\n * Kontrollü/kontrolsüz renk durumu. İç model HSB — dışarıya `format`taki metin\n * verilir. Kontrollü `value` yalnız BİZİM bildirdiğimizden farklıysa yeniden\n * ayrıştırılır; böylece gri bir renkte (ton bilgisi yok) sürüklerken seçilen\n * ton kaybolmaz.\n */\nfunction useColorState(props: ColorPickerProps, format: ColorFormat) {\n const { value, defaultValue, onChange, onChangeComplete, disabledAlpha = false } = props;\n const controlled = value !== undefined;\n const normalize = (c: Hsba | null) => (c && disabledAlpha ? { ...c, a: 1 } : c);\n const [color, setColor] = useState<Hsba | null>(() => normalize(parseColor(controlled ? value : defaultValue)));\n const emitted = useRef<string | null | undefined>(controlled ? value : undefined);\n const current = useRef(color);\n current.current = color;\n // Renk temizlense de panel son rengi göstermeye devam eder.\n const lastColor = useRef<Hsba>(color ?? FALLBACK);\n\n useEffect(() => {\n if (!controlled || value === emitted.current) return;\n emitted.current = value;\n const parsed = normalize(parseColor(value));\n setColor(parsed);\n if (parsed) lastColor.current = parsed;\n // normalize yalnız disabledAlpha'ya bağlı; value değişince yeterli.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [controlled, value]);\n\n const toOutput = (c: Hsba | null): [string | null, ColorInfo | null] => (c ? [formatColor(c, format), colorInfo(c)] : [null, null]);\n\n const set = (next: Hsba | null, complete: boolean) => {\n const c = normalize(next);\n setColor(c);\n current.current = c;\n if (c) lastColor.current = c;\n const [text, info] = toOutput(c);\n emitted.current = text;\n onChange?.(text, info);\n if (complete) onChangeComplete?.(text, info);\n };\n\n return {\n color,\n draft: color ?? lastColor.current,\n set,\n /** Sürükleme bitti: son değeri kesinleştir. */\n complete: () => onChangeComplete?.(...toOutput(current.current)),\n };\n}\n\ninterface PanelProps {\n state: ReturnType<typeof useColorState>;\n format: ColorFormat;\n setFormat: (f: ColorFormat) => void;\n props: ColorPickerProps;\n}\n\nfunction ColorPanel({ state, format, setFormat, props }: Readonly<PanelProps>) {\n const { allowClear = false, disabledAlpha = false, presets } = props;\n const { color, draft, set, complete } = state;\n const opaque = colorInfo({ ...draft, a: 1 }).hex;\n\n return (\n <div className=\"flex flex-col gap-3\">\n {allowClear && (\n <button\n type=\"button\"\n aria-pressed={color === null}\n onClick={() => set(null, true)}\n className=\"flex items-center gap-2 self-start rounded-sm text-xs text-mari-muted outline-none pointer-coarse:py-3 hover:text-mari-foreground focus-visible:ring-2 focus-visible:ring-mari-ring\"\n >\n <Swatch color={null} className=\"size-4 rounded-sm\" />\n Renk yok\n </button>\n )}\n <ColorArea color={draft} onChange={(s, b) => set({ ...draft, s, b }, false)} onChangeEnd={complete} />\n <div className=\"flex items-center gap-2\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <ColorSlider\n label=\"Ton\"\n value={Math.round(draft.h)}\n min={0}\n max={360}\n valueText={`${Math.round(draft.h)} derece`}\n background={HUE_GRADIENT}\n thumbColor={colorInfo({ h: draft.h, s: 100, b: 100, a: 1 }).hex}\n onChange={(h) => set({ ...draft, h }, false)}\n onChangeEnd={complete}\n />\n {!disabledAlpha && (\n <ColorSlider\n label=\"Opaklık\"\n value={Math.round(draft.a * 100)}\n min={0}\n max={100}\n valueText={`%${Math.round(draft.a * 100)}`}\n background={`linear-gradient(to right, transparent, ${opaque})`}\n checker\n thumbColor={colorInfo(draft).rgb}\n onChange={(a) => set({ ...draft, a: a / 100 }, false)}\n onChangeEnd={complete}\n />\n )}\n </div>\n <Swatch color={color} className=\"size-7 rounded-md\" />\n </div>\n <ColorInputs color={draft} format={format} onFormatChange={setFormat} disabledAlpha={disabledAlpha} onChange={(c) => set(c, true)} />\n {presets && presets.length > 0 && <ColorPresets presets={presets} current={color} onPick={(c) => set(c, true)} />}\n </div>\n );\n}\n\nfunction triggerText(showText: ColorPickerProps[\"showText\"], color: Hsba | null, format: ColorFormat): React.ReactNode {\n if (!showText) return null;\n if (typeof showText === \"function\") return showText(color ? colorInfo(color) : null);\n if (!color) return <span className=\"text-mari-muted\">Renk yok</span>;\n const text = formatColor(color, format);\n return format === \"hex\" ? text.toUpperCase() : text;\n}\n\n/**\n * Faz 16.4 — yapı ant.design ColorPicker'dan: renk kutulu tetikleyici + panel\n * (doygunluk/parlaklık alanı, ton ve opaklık kaydırıcıları, HEX/RGB/HSB\n * girişleri, hazır renk grupları, \"renk yok\"). Panel Popover üstünde (konum,\n * kapanma, odak yönetimi ortak); tetikleyici Input/Select ile aynı yükseklik\n * ve kenarlık.\n *\n * Erişilebilirlik: tetikleyici `aria-haspopup=\"dialog\"` + `aria-expanded`,\n * seçili renk açıklamada (`aria-describedby`) okunur. Açılınca odak 2B alana\n * geçer; alan ve kaydırıcılar `role=\"slider\"` ile ok tuşlarıyla kullanılır,\n * her değer metin girişiyle de verilebilir. Escape kapatır, odak geri döner.\n */\nexport function ColorPicker(outerProps: Readonly<ColorPickerProps>) {\n const props = useFieldControl(outerProps) as ColorPickerProps;\n const {\n defaultFormat = \"hex\",\n showText = false,\n trigger = \"click\",\n placement = \"bottom-start\",\n size = \"md\",\n color: statusColor,\n disabled = false,\n id,\n name,\n className,\n skeleton = false,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n } = props;\n const inField = useContext(FieldContext) !== null;\n const [format, setFormat] = useControllableState<ColorFormat>({ value: props.format, defaultValue: defaultFormat, onChange: props.onFormatChange });\n const [open, setOpen] = useControllableState<boolean>({ value: props.open, defaultValue: props.defaultOpen ?? false, onChange: props.onOpenChange });\n const state = useColorState(props, format);\n const valueId = useId();\n\n const text = triggerText(showText, state.color, format);\n const geometry = cn(\"inline-flex shrink-0 items-center pl-[0.1875rem]\", TRIGGER_CLASS[size], text ? TEXT_PAD_CLASS[size] : cn(SQUARE_CLASS[size], \"justify-center pl-0\"));\n // İskelet gerçek içeriği (renk kutusu + metin) şeffaf çizer: genişlik metne göre birebir, yüklenince kayma yok.\n if (skeleton) {\n return (\n <span {...skeletonBoxProps(cn(geometry, \"border border-transparent\", className))}>\n <span className={cn(\"block shrink-0\", SWATCH_CLASS[size])} />\n {text && <span className=\"truncate\">{text}</span>}\n </span>\n );\n }\n\n const button = (\n <button\n type=\"button\"\n id={id}\n disabled={disabled}\n // Field içindeyse ad `<label htmlFor>`dan gelir; aria-label onu ezerdi.\n aria-label={ariaLabelledBy || inField ? ariaLabel : (ariaLabel ?? \"Renk seç\")}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={[valueId, ariaDescribedBy].filter(Boolean).join(\" \")}\n aria-invalid={statusColor === \"error\" || undefined}\n className={cn(\n geometry,\n \"relative cursor-pointer border text-mari-foreground outline-none\",\n touchTargetClass[size],\n FIELD_BASE_CLASS,\n getVariantClasses(\"outline\", statusColor),\n disabled && FIELD_DISABLED_CLASS,\n className\n )}\n >\n <Swatch color={state.color} className={SWATCH_CLASS[size]} />\n {text && <span className=\"truncate\">{text}</span>}\n <span id={valueId} className=\"sr-only\">\n {describeColor(state.color)}\n </span>\n </button>\n );\n\n const hidden = name ? <input type=\"hidden\" name={name} value={state.color ? formatColor(state.color, format) : \"\"} /> : null;\n\n if (disabled) {\n return (\n <>\n {button}\n {hidden}\n </>\n );\n }\n\n return (\n <>\n <Popover\n trigger={trigger}\n placement={placement}\n arrow={false}\n open={open}\n onOpenChange={setOpen}\n aria-label=\"Renk seçici\"\n className=\"w-60 max-w-[calc(100vw-1rem)] pointer-coarse:w-72\"\n content={<ColorPanel state={state} format={format} setFormat={setFormat} props={props} />}\n >\n {button}\n </Popover>\n {hidden}\n </>\n );\n}\n","\"use client\";\n\nimport type React from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport type { Hsba } from \"../types\";\nimport { areaKeyStep, colorInfo, hueColor, isLight } from \"../utils\";\nimport { usePointerDrag } from \"./usePointerDrag\";\n\ninterface ColorAreaProps {\n color: Hsba;\n disabled?: boolean;\n onChange: (s: number, b: number) => void;\n onChangeEnd: () => void;\n}\n\n/**\n * Doygunluk (yatay) × parlaklık (dikey) alanı. Zemin saf ton; üstüne beyazdan\n * saydama (soldan sağa) ve saydamdan siyaha (yukarıdan aşağı) iki katman.\n *\n * Erişilebilirlik: ARIA'da 2B kaydırıcı rolü yok — tek odaklanabilir bir\n * `slider` (değer = doygunluk), `aria-valuetext` iki ekseni birden söyler,\n * `aria-roledescription` yönü açıklar. ←/→ doygunluk, ↑/↓ parlaklık.\n */\nexport function ColorArea({ color, disabled, onChange, onChangeEnd }: Readonly<ColorAreaProps>) {\n const drag = usePointerDrag(({ x, y }) => onChange(Math.round(x * 100), Math.round((1 - y) * 100)), onChangeEnd);\n const s = Math.round(color.s);\n const b = Math.round(color.b);\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const next = areaKeyStep(e.key, e.shiftKey, s, b);\n if (!next) return;\n e.preventDefault();\n onChange(next.s, next.b);\n onChangeEnd();\n };\n\n return (\n <div\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n data-autofocus\n aria-label=\"Doygunluk ve parlaklık\"\n aria-roledescription=\"iki boyutlu kaydırıcı\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={s}\n aria-valuetext={`Doygunluk %${s}, parlaklık %${b}`}\n aria-disabled={disabled || undefined}\n onKeyDown={disabled ? undefined : onKeyDown}\n {...(disabled ? {} : drag)}\n className={cn(\n \"relative h-36 w-full cursor-crosshair touch-none rounded-md outline-none select-none\",\n \"focus-visible:ring-2 focus-visible:ring-mari-ring focus-visible:ring-offset-2 focus-visible:ring-offset-mari-surface\"\n )}\n style={{ backgroundColor: hueColor(color.h) }}\n >\n <div aria-hidden className=\"absolute inset-0 rounded-md bg-linear-to-r from-white to-transparent\" />\n <div aria-hidden className=\"absolute inset-0 rounded-md bg-linear-to-b from-transparent to-black\" />\n <span\n aria-hidden\n className={cn(\"pointer-events-none absolute size-3.5 -translate-1/2 rounded-full border-2 shadow-mari-sm\", isLight({ ...color, a: 1 }) ? \"border-mari-neutral-solid\" : \"border-white\")}\n style={{ left: `${s}%`, top: `${100 - b}%`, backgroundColor: colorInfo({ ...color, a: 1 }).hex }}\n />\n </div>\n );\n}\n","import type { ColorFormat, ColorInfo, Hsba, Rgba } from \"./types\";\n\n/**\n * Faz 16.4 — ColorPicker'ın saf renk mantığı. İç model HSB(+alfa): 2B alan\n * doygunluk × parlaklık, kaydırıcılar ton ve alfa. Hex/RGB yalnız giriş ve\n * çıkışta hesaplanır — RGB'ye gidip gelmek tonu kaybettirir (ör. siyahta\n * ton 0'a düşer, kullanıcının seçtiği ton kaybolurdu).\n */\n\nexport const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n));\nconst round = (n: number, digits = 0) => {\n const f = 10 ** digits;\n return Math.round(n * f) / f;\n};\n\nexport function hsbToRgb({ h, s, b, a }: Hsba): Rgba {\n const sat = s / 100;\n const val = b / 100;\n const f = (n: number) => {\n const k = (n + h / 60) % 6;\n return val - val * sat * Math.max(0, Math.min(k, 4 - k, 1));\n };\n return { r: Math.round(f(5) * 255), g: Math.round(f(3) * 255), b: Math.round(f(1) * 255), a };\n}\n\nfunction hueOf(r: number, g: number, b: number, max: number, d: number): number {\n if (d === 0) return 0;\n let h: number;\n if (max === r) h = ((g - b) / d) % 6;\n else if (max === g) h = (b - r) / d + 2;\n else h = (r - g) / d + 4;\n return (h * 60 + 360) % 360;\n}\n\nexport function rgbToHsb({ r, g, b, a }: Rgba): Hsba {\n const [rn, gn, bn] = [r / 255, g / 255, b / 255];\n const max = Math.max(rn, gn, bn);\n const d = max - Math.min(rn, gn, bn);\n return { h: hueOf(rn, gn, bn, max, d), s: max === 0 ? 0 : (d / max) * 100, b: max * 100, a };\n}\n\nfunction hslToHsb(h: number, s: number, l: number, a: number): Hsba {\n // b = l + s·min(l, 1−l); s_b = 2(1 − l/b)\n const sl = s / 100;\n const ll = l / 100;\n const b = ll + sl * Math.min(ll, 1 - ll);\n return { h, s: b === 0 ? 0 : 2 * (1 - ll / b) * 100, b: b * 100, a };\n}\n\nconst hex2 = (n: number) => Math.round(n).toString(16).padStart(2, \"0\");\n\nexport function toHex({ r, g, b, a }: Rgba): string {\n return `#${hex2(r)}${hex2(g)}${hex2(b)}${a < 1 ? hex2(a * 255) : \"\"}`;\n}\n\nexport function toRgbString({ r, g, b, a }: Rgba): string {\n return a < 1 ? `rgba(${r}, ${g}, ${b}, ${round(a, 2)})` : `rgb(${r}, ${g}, ${b})`;\n}\n\nexport function toHsbString({ h, s, b, a }: Hsba): string {\n const body = `${Math.round(h)}, ${Math.round(s)}%, ${Math.round(b)}%`;\n return a < 1 ? `hsba(${body}, ${round(a, 2)})` : `hsb(${body})`;\n}\n\nfunction parseHex(input: string): Rgba | null {\n const m = /^#?([\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/i.exec(input);\n if (!m) return null;\n let digits = m[1]!;\n if (digits.length <= 4) digits = [...digits].map((c) => c + c).join(\"\");\n const n = (i: number) => Number.parseInt(digits.slice(i, i + 2), 16);\n return { r: n(0), g: n(2), b: n(4), a: digits.length === 8 ? round(n(6) / 255, 3) : 1 };\n}\n\n/** `0.5`, `50%` → 0.5; yoksa 1. */\nfunction parseAlpha(part: string | undefined): number {\n if (part === undefined) return 1;\n const v = Number.parseFloat(part);\n if (Number.isNaN(v)) return 1;\n return clamp(part.trim().endsWith(\"%\") ? v / 100 : v, 0, 1);\n}\n\nconst FUNC_RE = /^(rgba?|hsba?|hsva?|hsla?)\\(([^)]*)\\)$/i;\n\nfunction parseFunc(input: string): Hsba | null {\n const m = FUNC_RE.exec(input);\n if (!m) return null;\n const kind = m[1]!.toLowerCase().slice(0, 3);\n // Virgüllü (`rgb(1, 2, 3)`) ve modern boşluklu (`rgb(1 2 3 / 50%)`) yazım.\n const parts = m[2]!.replace(/[,/]/g, \" \").trim().split(/\\s+/);\n if (parts.length < 3) return null;\n const [x, y, z] = parts.slice(0, 3).map((p) => Number.parseFloat(p)) as [number, number, number];\n if ([x, y, z].some(Number.isNaN)) return null;\n const a = parseAlpha(parts[3]);\n if (kind === \"rgb\") {\n const ch = (p: string, v: number) => clamp(Math.round(p.endsWith(\"%\") ? (v / 100) * 255 : v), 0, 255);\n return rgbToHsb({ r: ch(parts[0]!, x), g: ch(parts[1]!, y), b: ch(parts[2]!, z), a });\n }\n const h = ((x % 360) + 360) % 360;\n if (kind === \"hsl\") return hslToHsb(h, clamp(y, 0, 100), clamp(z, 0, 100), a);\n // hsb() olduğu gibi — RGB'ye gidip gelmek tonu yuvarlar.\n return { h, s: clamp(y, 0, 100), b: clamp(z, 0, 100), a };\n}\n\n/** Hex (3/4/6/8 hane, `#` isteğe bağlı), `rgb[a]()`, `hsb[a]()`/`hsv()`, `hsl[a]()`. Tanınmazsa `null`. */\nexport function parseColor(input: string | null | undefined): Hsba | null {\n if (!input) return null;\n const text = input.trim();\n const fn = parseFunc(text);\n if (fn) return fn;\n const hex = parseHex(text);\n return hex ? rgbToHsb(hex) : null;\n}\n\nexport function colorInfo(hsba: Hsba): ColorInfo {\n const rgba = hsbToRgb(hsba);\n return { hsba, rgba, hex: toHex(rgba), rgb: toRgbString(rgba), hsb: toHsbString(hsba) };\n}\n\nexport function formatColor(hsba: Hsba, format: ColorFormat): string {\n return colorInfo(hsba)[format];\n}\n\n/** İki renk görsel olarak aynı mı (8 bit RGB + 2 hane alfa) — preset seçili göstergesi için. */\nexport function sameColor(a: Hsba | null, b: Hsba | null): boolean {\n if (!a || !b) return a === b;\n return toHex(hsbToRgb(a)) === toHex(hsbToRgb(b));\n}\n\n/** Saf ton (s=b=100) — 2B alanın arka planı. */\nexport const hueColor = (h: number) => `hsl(${h} 100% 50%)`;\n\n/**\n * Rengin üstünde okunacak işaretçi/metin rengi: açık zeminde koyu, koyu zeminde\n * açık. Alfa düşükse (zemin dama deseni, açık) koyu.\n */\nexport function isLight(hsba: Hsba): boolean {\n if (hsba.a < 0.5) return true;\n const { r, g, b } = hsbToRgb(hsba);\n const lin = (c: number) => {\n const v = c / 255;\n return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4;\n };\n return 0.2126 * lin(r) + 0.7152 * lin(g) + 0.0722 * lin(b) > 0.4;\n}\n\n/** Ekran okuyucu için kısa açıklama: \"#1677ff, opaklık %50\". */\nexport function describeColor(hsba: Hsba | null, empty = \"Renk yok\"): string {\n if (!hsba) return empty;\n const { hex } = colorInfo({ ...hsba, a: 1 });\n return hsba.a < 1 ? `${hex}, opaklık %${Math.round(hsba.a * 100)}` : hex;\n}\n\nexport type AreaKey = \"ArrowLeft\" | \"ArrowRight\" | \"ArrowUp\" | \"ArrowDown\" | \"Home\" | \"End\" | \"PageUp\" | \"PageDown\";\n\n/**\n * 2B alanın klavyesi: ←/→ doygunluk, ↑/↓ parlaklık (1, Shift ile 10);\n * Home/End doygunluk 0/100, PageUp/PageDown parlaklık 100/0.\n */\nexport function areaKeyStep(key: string, shift: boolean, s: number, b: number): { s: number; b: number } | null {\n const step = shift ? 10 : 1;\n const map: Record<AreaKey, () => { s: number; b: number }> = {\n ArrowLeft: () => ({ s: s - step, b }),\n ArrowRight: () => ({ s: s + step, b }),\n ArrowUp: () => ({ s, b: b + step }),\n ArrowDown: () => ({ s, b: b - step }),\n Home: () => ({ s: 0, b }),\n End: () => ({ s: 100, b }),\n PageUp: () => ({ s, b: 100 }),\n PageDown: () => ({ s, b: 0 }),\n };\n const fn = map[key as AreaKey];\n if (!fn) return null;\n const next = fn();\n return { s: clamp(next.s, 0, 100), b: clamp(next.b, 0, 100) };\n}\n\n/** Tek eksenli kaydırıcı (ton, alfa) klavyesi. Tanınmayan tuş → `null`. */\nexport function sliderKeyStep(key: string, shift: boolean, value: number, min: number, max: number, step: number): number | null {\n const big = step * 10;\n const delta: Record<string, number> = {\n ArrowRight: shift ? big : step,\n ArrowUp: shift ? big : step,\n ArrowLeft: shift ? -big : -step,\n ArrowDown: shift ? -big : -step,\n PageUp: big,\n PageDown: -big,\n };\n if (key === \"Home\") return min;\n if (key === \"End\") return max;\n const d = delta[key];\n return d === undefined ? null : clamp(value + d, min, max);\n}\n\n/** İşaretçi konumundan 0–1 oran (öğenin kutusuna göre, sınırlarda kesilir). */\nexport function ratioFromPointer(clientX: number, clientY: number, rect: { left: number; top: number; width: number; height: number }) {\n return {\n x: rect.width ? clamp((clientX - rect.left) / rect.width, 0, 1) : 0,\n y: rect.height ? clamp((clientY - rect.top) / rect.height, 0, 1) : 0,\n };\n}\n","\"use client\";\n\nimport type React from \"react\";\nimport { useRef } from \"react\";\nimport { ratioFromPointer } from \"../utils\";\n\ntype Ratio = { x: number; y: number };\n\n/**\n * Alan/kaydırıcı sürükleme: basınca konuma atlar, işaretçi yakalanır (öğenin\n * dışına taşsa da izlenir), bırakınca `onEnd`. Dokunmatikte sayfa kaymasın\n * diye öğeye `touch-none` verilmeli.\n */\nexport function usePointerDrag(onMove: (ratio: Ratio) => void, onEnd: () => void) {\n const dragging = useRef(false);\n const update = (e: React.PointerEvent<HTMLElement>) => onMove(ratioFromPointer(e.clientX, e.clientY, e.currentTarget.getBoundingClientRect()));\n return {\n onPointerDown: (e: React.PointerEvent<HTMLElement>) => {\n if (e.button !== 0) return;\n dragging.current = true;\n e.currentTarget.setPointerCapture?.(e.pointerId);\n e.currentTarget.focus();\n e.preventDefault();\n update(e);\n },\n onPointerMove: (e: React.PointerEvent<HTMLElement>) => {\n if (dragging.current) update(e);\n },\n onPointerUp: (e: React.PointerEvent<HTMLElement>) => {\n if (!dragging.current) return;\n dragging.current = false;\n e.currentTarget.releasePointerCapture?.(e.pointerId);\n onEnd();\n },\n onLostPointerCapture: () => {\n if (!dragging.current) return;\n dragging.current = false;\n onEnd();\n },\n };\n}\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { Input } from \"../../input\";\nimport { InputNumber } from \"../../input-number\";\nimport { Segmented } from \"../../segmented\";\nimport type { ColorFormat, Hsba } from \"../types\";\nimport { clamp, colorInfo, hsbToRgb, parseColor, rgbToHsb } from \"../utils\";\n\nconst FORMAT_OPTIONS = [\n { value: \"hex\", label: \"HEX\" },\n { value: \"rgb\", label: \"RGB\" },\n { value: \"hsb\", label: \"HSB\" },\n];\n\ninterface ColorInputsProps {\n color: Hsba;\n format: ColorFormat;\n onFormatChange: (format: ColorFormat) => void;\n disabledAlpha: boolean;\n disabled?: boolean;\n /** Girişten gelen değer kesin bir değerdir — `onChangeComplete` de tetiklenir. */\n onChange: (color: Hsba) => void;\n}\n\n/** Hex: 6/8 hane yazılınca anında, 3/4 hane alandan çıkınca/Enter'da uygulanır; geçersizse eski değere döner. */\nfunction HexInput({ color, disabled, onChange }: Readonly<{ color: Hsba; disabled?: boolean; onChange: (c: Hsba) => void }>) {\n const hex = colorInfo(color).hex.slice(1);\n const [text, setText] = useState(hex);\n // Dışarıdan (alan/kaydırıcı) değişince metni eşitle.\n useEffect(() => setText(hex), [hex]);\n\n const commit = (value: string) => {\n const parsed = parseColor(`#${value}`);\n // Hex'te ton bilgisi yoksa (gri) mevcut tonu koru.\n if (parsed) onChange(parsed.s === 0 ? { ...parsed, h: color.h } : parsed);\n else setText(hex);\n };\n\n return (\n <Input\n size=\"sm\"\n aria-label=\"Hex renk kodu\"\n icon={<span className=\"text-mari-muted\">#</span>}\n value={text}\n maxLength={8}\n autoComplete=\"off\"\n disabled={disabled}\n className=\"min-w-0 flex-1 font-mono uppercase\"\n onChange={(e) => {\n const next = e.target.value.replace(/[^\\da-f]/gi, \"\");\n setText(next);\n if (next.length === 6 || next.length === 8) commit(next);\n }}\n onBlur={() => commit(text)}\n onPressEnter={() => commit(text)}\n />\n );\n}\n\ninterface ChannelProps {\n label: string;\n value: number;\n max: number;\n disabled?: boolean;\n onChange: (value: number) => void;\n}\n\nfunction Channel({ label, value, max, disabled, onChange }: Readonly<ChannelProps>) {\n return (\n <InputNumber\n size=\"sm\"\n aria-label={label}\n value={Math.round(value)}\n min={0}\n max={max}\n controls={false}\n grouping={false}\n disabled={disabled}\n className=\"min-w-0 flex-1\"\n onChange={(v) => v !== null && onChange(clamp(v, 0, max))}\n />\n );\n}\n\nfunction ChannelInputs({ color, format, disabled, onChange }: Readonly<{ color: Hsba; format: \"rgb\" | \"hsb\"; disabled?: boolean; onChange: (c: Hsba) => void }>) {\n if (format === \"hsb\") {\n return (\n <>\n <Channel label=\"Ton\" value={color.h} max={360} disabled={disabled} onChange={(h) => onChange({ ...color, h })} />\n <Channel label=\"Doygunluk\" value={color.s} max={100} disabled={disabled} onChange={(s) => onChange({ ...color, s })} />\n <Channel label=\"Parlaklık\" value={color.b} max={100} disabled={disabled} onChange={(b) => onChange({ ...color, b })} />\n </>\n );\n }\n const rgba = hsbToRgb(color);\n const set = (patch: Partial<typeof rgba>) => {\n const next = rgbToHsb({ ...rgba, ...patch });\n onChange(next.s === 0 ? { ...next, h: color.h } : next);\n };\n return (\n <>\n <Channel label=\"Kırmızı\" value={rgba.r} max={255} disabled={disabled} onChange={(r) => set({ r })} />\n <Channel label=\"Yeşil\" value={rgba.g} max={255} disabled={disabled} onChange={(g) => set({ g })} />\n <Channel label=\"Mavi\" value={rgba.b} max={255} disabled={disabled} onChange={(b) => set({ b })} />\n </>\n );\n}\n\n/** Biçim seçimi (HEX/RGB/HSB) + o biçimin alanları + saydamlık yüzdesi. */\nexport function ColorInputs({ color, format, onFormatChange, disabledAlpha, disabled, onChange }: Readonly<ColorInputsProps>) {\n return (\n <div className=\"flex flex-col gap-2\">\n <Segmented size=\"sm\" block aria-label=\"Renk biçimi\" options={FORMAT_OPTIONS} value={format} disabled={disabled} onChange={(v) => onFormatChange(v as ColorFormat)} />\n <div className=\"flex items-center gap-1\">\n {format === \"hex\" ? (\n <HexInput color={color} disabled={disabled} onChange={onChange} />\n ) : (\n <ChannelInputs color={color} format={format} disabled={disabled} onChange={onChange} />\n )}\n {!disabledAlpha && (\n <InputNumber\n size=\"sm\"\n aria-label=\"Opaklık\"\n value={Math.round(color.a * 100)}\n min={0}\n max={100}\n suffix=\"%\"\n controls={false}\n disabled={disabled}\n className=\"w-16 shrink-0\"\n onChange={(v) => v !== null && onChange({ ...color, a: clamp(v, 0, 100) / 100 })}\n />\n )}\n </div>\n </div>\n );\n}\n","\"use client\";\n\nimport { useId, useState } from \"react\";\nimport { CheckIcon, ChevronRightIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport type { ColorPreset, Hsba } from \"../types\";\nimport { describeColor, isLight, parseColor, sameColor } from \"../utils\";\nimport { Swatch } from \"./Swatch\";\n\ninterface PresetGroupProps {\n preset: ColorPreset;\n current: Hsba | null;\n disabled?: boolean;\n onPick: (color: Hsba) => void;\n}\n\nfunction PresetGroup({ preset, current, disabled, onPick }: Readonly<PresetGroupProps>) {\n const [open, setOpen] = useState(preset.defaultOpen ?? true);\n const listId = useId();\n const colors = preset.colors.map((text) => ({ text, hsba: parseColor(text) })).filter((c): c is { text: string; hsba: Hsba } => c.hsba !== null);\n\n return (\n <div>\n <button\n type=\"button\"\n aria-expanded={open}\n aria-controls={listId}\n onClick={() => setOpen(!open)}\n className=\"flex w-full items-center gap-1 rounded-sm py-0.5 pointer-coarse:py-3 text-left text-xs text-mari-muted outline-none hover:text-mari-foreground focus-visible:ring-2 focus-visible:ring-mari-ring\"\n >\n <ChevronRightIcon aria-hidden size={14} className={cn(\"transition-transform duration-150 motion-reduce:transition-none\", open && \"rotate-90\")} />\n {preset.label}\n </button>\n <ul id={listId} hidden={!open} className=\"mt-1.5 grid grid-cols-10 gap-1.5 pointer-coarse:grid-cols-5\">\n {colors.map(({ text, hsba }) => {\n const selected = sameColor(current, hsba);\n return (\n <li key={text} className=\"flex\">\n <button\n type=\"button\"\n aria-label={describeColor(hsba)}\n aria-pressed={selected}\n disabled={disabled}\n onClick={() => onPick(hsba)}\n className=\"relative aspect-square w-full rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-mari-ring focus-visible:ring-offset-1 focus-visible:ring-offset-mari-surface disabled:cursor-not-allowed\"\n >\n <Swatch color={hsba} className=\"size-full rounded-sm\" />\n {selected && (\n <CheckIcon\n aria-hidden\n size={12}\n strokeWidth={3}\n className={cn(\"absolute inset-0 m-auto\", isLight(hsba) ? \"text-mari-neutral-solid\" : \"text-white\")}\n />\n )}\n </button>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\n/** Hazır renk grupları; her grup başlığı açılır/kapanır (ant.design gibi). Seçili renk ✓ ve `aria-pressed`. */\nexport function ColorPresets({ presets, current, disabled, onPick }: Readonly<{ presets: ColorPreset[]; current: Hsba | null; disabled?: boolean; onPick: (color: Hsba) => void }>) {\n return (\n <div className=\"flex flex-col gap-2 border-t border-mari-border pt-2\">\n {presets.map((preset, i) => (\n // Başlık ReactNode olabilir — sıra anahtarı.\n <PresetGroup key={i} preset={preset} current={current} disabled={disabled} onPick={onPick} />\n ))}\n </div>\n );\n}\n","import { cn } from \"@mari-ui/core\";\nimport type { Hsba } from \"../types\";\nimport { colorInfo } from \"../utils\";\n\n/**\n * Saydamlığı gösteren dama deseni — tema token'larından (açık/koyu temada\n * zeminle uyumlu), boyutu rem.\n */\nexport const CHECKER_CLASS =\n \"bg-[conic-gradient(var(--mari-color-border)_25%,var(--mari-color-surface)_0_50%,var(--mari-color-border)_0_75%,var(--mari-color-surface)_0)] bg-[length:0.5rem_0.5rem]\";\n\n/** Renk yok: zemin + köşeden köşeye kırmızı çizgi (ant.design'ın \"temizlendi\" işareti). */\nconst EMPTY_CLASS = \"bg-mari-surface bg-[linear-gradient(to_top_right,transparent_calc(50%-1px),var(--mari-color-error)_calc(50%-1px)_calc(50%+1px),transparent_calc(50%+1px))]\";\n\ninterface SwatchProps {\n color: Hsba | null;\n className?: string;\n}\n\n/** Rengi dama deseni üstünde gösteren kutu; içi dolu, kenarında ince çizgi (beyaz rengi zeminden ayırır). */\nexport function Swatch({ color, className }: Readonly<SwatchProps>) {\n if (!color) return <span aria-hidden className={cn(\"block shrink-0 border border-mari-border\", EMPTY_CLASS, className)} />;\n return (\n <span aria-hidden className={cn(\"relative block shrink-0 overflow-hidden border border-mari-border\", CHECKER_CLASS, className)}>\n <span className=\"absolute inset-0\" style={{ backgroundColor: colorInfo(color).rgb }} />\n </span>\n );\n}\n","\"use client\";\n\nimport type React from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { sliderKeyStep } from \"../utils\";\nimport { CHECKER_CLASS } from \"./Swatch\";\nimport { usePointerDrag } from \"./usePointerDrag\";\n\n/** Gökkuşağı (ton) şeridi: 0–360 arası saf tonlar. */\nexport const HUE_GRADIENT = \"linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)\";\n\ninterface ColorSliderProps {\n label: string;\n value: number;\n min: number;\n max: number;\n step?: number;\n valueText: string;\n /** Şeridin CSS arka planı. */\n background: string;\n /** Saydamlık şeridi: arkada dama deseni. */\n checker?: boolean;\n /** Tutamacın iç rengi. */\n thumbColor: string;\n disabled?: boolean;\n onChange: (value: number) => void;\n onChangeEnd: () => void;\n}\n\n/** Ton ve saydamlık için yatay kaydırıcı (`role=\"slider\"`; ←/→ ↑/↓, Shift ile 10×, PageUp/Down, Home/End). */\nexport function ColorSlider({ label, value, min, max, step = 1, valueText, background, checker, thumbColor, disabled, onChange, onChangeEnd }: Readonly<ColorSliderProps>) {\n const drag = usePointerDrag(({ x }) => onChange(Math.round((min + x * (max - min)) / step) * step), onChangeEnd);\n const ratio = (value - min) / (max - min);\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const next = sliderKeyStep(e.key, e.shiftKey, value, min, max, step);\n if (next === null) return;\n e.preventDefault();\n onChange(next);\n onChangeEnd();\n };\n\n return (\n <div\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={label}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-valuetext={valueText}\n aria-orientation=\"horizontal\"\n aria-disabled={disabled || undefined}\n onKeyDown={disabled ? undefined : onKeyDown}\n {...(disabled ? {} : drag)}\n // Dikey dolgu: tutamaç şeritten büyük, tıklama alanı da onu kapsasın.\n className=\"group relative w-full cursor-pointer touch-none py-1 outline-none select-none pointer-coarse:py-[1.125rem]\"\n >\n <div aria-hidden className={cn(\"relative h-2 overflow-hidden rounded-full\", checker && CHECKER_CLASS)}>\n <div className=\"absolute inset-0\" style={{ background }} />\n </div>\n <span\n aria-hidden\n className={cn(\n \"pointer-events-none absolute top-1/2 size-3.5 -translate-1/2 rounded-full border-2 border-white shadow-mari-sm ring-1 ring-mari-border\",\n \"group-focus-visible:ring-2 group-focus-visible:ring-mari-ring\"\n )}\n // Tutamaç şeridin dışına taşmasın: merkezi yarıçap kadar içeriden başlar.\n style={{ left: `calc(0.4375rem + ${ratio} * (100% - 0.875rem))`, backgroundColor: thumbColor }}\n />\n </div>\n );\n}\n"],"mappings":"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","names":["useEffect","useId","useRef","useState","cn","jsx","jsxs","useState","cn","cn","jsx","cn","jsx","jsxs","useState","cn","cn","jsx","jsxs","cn","Fragment","jsx","jsxs","useState","useRef","useEffect","useId","cn"]}
@@ -0,0 +1,81 @@
1
+ "use client";
2
+
3
+ // src/lib/useAnimatedValue.tsx
4
+ import { useEffect, useLayoutEffect, useRef, useState } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
7
+ function motionAllowed() {
8
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") return false;
9
+ return !window.matchMedia("(prefers-reduced-motion: reduce)").matches;
10
+ }
11
+ var COUNT_MS = 1e3;
12
+ var CHAR_MS = 45;
13
+ var MAX_TYPE_MS = 1200;
14
+ var easeOutCubic = (t) => 1 - (1 - t) ** 3;
15
+ function useAnimatedValue({ text, number, format, mode, enabled, delay = 0 }) {
16
+ const [shown, setShown] = useState(null);
17
+ const lastNumber = useRef(0);
18
+ const formatRef = useRef(format);
19
+ formatRef.current = format;
20
+ useIsomorphicLayoutEffect(() => {
21
+ const canCount = mode === "count" && number !== void 0 && Number.isFinite(number);
22
+ if (!enabled || !motionAllowed() || mode === "count" && !canCount) {
23
+ if (canCount) lastNumber.current = number;
24
+ setShown(null);
25
+ return;
26
+ }
27
+ let frame = 0;
28
+ let start = null;
29
+ const from = lastNumber.current;
30
+ const chars = Array.from(text);
31
+ const charMs = Math.min(CHAR_MS, MAX_TYPE_MS / Math.max(chars.length, 1));
32
+ const fmt = formatRef.current ?? String;
33
+ setShown(canCount ? fmt(from) : "");
34
+ const tick = (now) => {
35
+ start ?? (start = now);
36
+ const elapsed = now - start - delay;
37
+ if (elapsed < 0) {
38
+ frame = requestAnimationFrame(tick);
39
+ return;
40
+ }
41
+ if (canCount) {
42
+ const t = Math.min(1, elapsed / COUNT_MS);
43
+ const value = from + (number - from) * easeOutCubic(t);
44
+ if (t >= 1) {
45
+ lastNumber.current = number;
46
+ setShown(null);
47
+ return;
48
+ }
49
+ setShown(fmt(value));
50
+ } else {
51
+ const n = Math.floor(elapsed / charMs) + 1;
52
+ if (n >= chars.length) {
53
+ setShown(null);
54
+ return;
55
+ }
56
+ setShown(chars.slice(0, n).join(""));
57
+ }
58
+ frame = requestAnimationFrame(tick);
59
+ };
60
+ frame = requestAnimationFrame(tick);
61
+ return () => {
62
+ cancelAnimationFrame(frame);
63
+ if (canCount) lastNumber.current = number;
64
+ };
65
+ }, [text, number, mode, enabled, delay]);
66
+ return shown;
67
+ }
68
+ function AnimatedText({ text, shown }) {
69
+ if (shown === null) return /* @__PURE__ */ jsx(Fragment, { children: text });
70
+ return /* @__PURE__ */ jsxs("span", { className: "relative inline-block", children: [
71
+ /* @__PURE__ */ jsx("span", { className: "text-transparent", children: text }),
72
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "absolute inset-y-0 left-0 whitespace-nowrap", children: shown })
73
+ ] });
74
+ }
75
+
76
+ export {
77
+ motionAllowed,
78
+ useAnimatedValue,
79
+ AnimatedText
80
+ };
81
+ //# sourceMappingURL=chunk-RAS77O7N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/useAnimatedValue.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useLayoutEffect, useRef, useState } from \"react\";\n\nconst useIsomorphicLayoutEffect = typeof window === \"undefined\" ? useEffect : useLayoutEffect;\n\n/**\n * Değer animasyonu — Statistic (ve sonraki Typewriter) ortak çekirdeği.\n *\n * - `count`: sayı bir önceki değerden (ilkinde 0) hedefe sayar, sonda yavaşlar.\n * - `typewriter`: metin karakter karakter yazılır.\n *\n * Hareket azaltma tercihinde (ya da `matchMedia` olmayan ortamda: SSR, test)\n * hiç çalışmaz → değer doğrudan son halinde. İlk durum her zaman SON değerdir\n * (sunucu çıktısı ile aynı → hidrasyon uyuşmazlığı yok); animasyon boyamadan\n * önce (layout effect) başlar, son değer bir kare bile görünmez.\n */\nexport type ValueAnimation = \"count\" | \"typewriter\";\n\nexport function motionAllowed(): boolean {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") return false;\n return !window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n}\n\nconst COUNT_MS = 1000;\nconst CHAR_MS = 45;\n/** Çok uzun metinde yazım en fazla bu kadar sürsün. */\nconst MAX_TYPE_MS = 1200;\n\nconst easeOutCubic = (t: number) => 1 - (1 - t) ** 3;\n\nexport interface AnimatedValueOptions {\n /** Son (gösterilecek) metin. */\n text: string;\n /** `count` için hedef sayı; yoksa `count` yazıya düşmez, animasyon olmaz. */\n number?: number;\n /** Ara sayıların biçimi (`count`). */\n format?: (value: number) => string;\n mode: ValueAnimation;\n enabled: boolean;\n /** Başlamadan önce bekleme (ms). */\n delay?: number;\n}\n\n/** Animasyon sürerken gösterilecek ara metin; `null` → son değeri göster. */\nexport function useAnimatedValue({ text, number, format, mode, enabled, delay = 0 }: AnimatedValueOptions): string | null {\n const [shown, setShown] = useState<string | null>(null);\n const lastNumber = useRef(0);\n const formatRef = useRef(format);\n formatRef.current = format;\n\n useIsomorphicLayoutEffect(() => {\n const canCount = mode === \"count\" && number !== undefined && Number.isFinite(number);\n if (!enabled || !motionAllowed() || (mode === \"count\" && !canCount)) {\n if (canCount) lastNumber.current = number!;\n setShown(null);\n return;\n }\n\n let frame = 0;\n let start: number | null = null;\n const from = lastNumber.current;\n const chars = Array.from(text);\n const charMs = Math.min(CHAR_MS, MAX_TYPE_MS / Math.max(chars.length, 1));\n const fmt = formatRef.current ?? String;\n setShown(canCount ? fmt(from) : \"\");\n\n const tick = (now: number) => {\n start ??= now;\n const elapsed = now - start - delay;\n if (elapsed < 0) {\n frame = requestAnimationFrame(tick);\n return;\n }\n if (canCount) {\n const t = Math.min(1, elapsed / COUNT_MS);\n const value = from + (number! - from) * easeOutCubic(t);\n if (t >= 1) {\n lastNumber.current = number!;\n setShown(null);\n return;\n }\n setShown(fmt(value));\n } else {\n const n = Math.floor(elapsed / charMs) + 1;\n if (n >= chars.length) {\n setShown(null);\n return;\n }\n setShown(chars.slice(0, n).join(\"\"));\n }\n frame = requestAnimationFrame(tick);\n };\n frame = requestAnimationFrame(tick);\n return () => {\n cancelAnimationFrame(frame);\n if (canCount) lastNumber.current = number!;\n };\n }, [text, number, mode, enabled, delay]);\n\n return shown;\n}\n\n/**\n * Animasyonlu metin kutusu: yer SON metne göre ayrılır (saydam, ekran okuyucu\n * onu okur), ara metin üstüne çizilir (gizli) → genişlik zıplamaz, okuyucu\n * ara sayıları duymaz. `shown` null iken düz metin.\n */\nexport function AnimatedText({ text, shown }: Readonly<{ text: string; shown: string | null }>) {\n if (shown === null) return <>{text}</>;\n return (\n <span className=\"relative inline-block\">\n <span className=\"text-transparent\">{text}</span>\n <span aria-hidden className=\"absolute inset-y-0 left-0 whitespace-nowrap\">\n {shown}\n </span>\n </span>\n );\n}\n"],"mappings":";AAEA,SAAgB,WAAW,iBAAiB,QAAQ,gBAAgB;AA2GvC,wBAEzB,YAFyB;AAzG7B,IAAM,4BAA4B,OAAO,WAAW,cAAc,YAAY;AAevE,SAAS,gBAAyB;AACvC,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,WAAY,QAAO;AACrF,SAAO,CAAC,OAAO,WAAW,kCAAkC,EAAE;AAChE;AAEA,IAAM,WAAW;AACjB,IAAM,UAAU;AAEhB,IAAM,cAAc;AAEpB,IAAM,eAAe,CAAC,MAAc,KAAK,IAAI,MAAM;AAgB5C,SAAS,iBAAiB,EAAE,MAAM,QAAQ,QAAQ,MAAM,SAAS,QAAQ,EAAE,GAAwC;AACxH,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,IAAI;AACtD,QAAM,aAAa,OAAO,CAAC;AAC3B,QAAM,YAAY,OAAO,MAAM;AAC/B,YAAU,UAAU;AAEpB,4BAA0B,MAAM;AAC9B,UAAM,WAAW,SAAS,WAAW,WAAW,UAAa,OAAO,SAAS,MAAM;AACnF,QAAI,CAAC,WAAW,CAAC,cAAc,KAAM,SAAS,WAAW,CAAC,UAAW;AACnE,UAAI,SAAU,YAAW,UAAU;AACnC,eAAS,IAAI;AACb;AAAA,IACF;AAEA,QAAI,QAAQ;AACZ,QAAI,QAAuB;AAC3B,UAAM,OAAO,WAAW;AACxB,UAAM,QAAQ,MAAM,KAAK,IAAI;AAC7B,UAAM,SAAS,KAAK,IAAI,SAAS,cAAc,KAAK,IAAI,MAAM,QAAQ,CAAC,CAAC;AACxE,UAAM,MAAM,UAAU,WAAW;AACjC,aAAS,WAAW,IAAI,IAAI,IAAI,EAAE;AAElC,UAAM,OAAO,CAAC,QAAgB;AAC5B,wBAAU;AACV,YAAM,UAAU,MAAM,QAAQ;AAC9B,UAAI,UAAU,GAAG;AACf,gBAAQ,sBAAsB,IAAI;AAClC;AAAA,MACF;AACA,UAAI,UAAU;AACZ,cAAM,IAAI,KAAK,IAAI,GAAG,UAAU,QAAQ;AACxC,cAAM,QAAQ,QAAQ,SAAU,QAAQ,aAAa,CAAC;AACtD,YAAI,KAAK,GAAG;AACV,qBAAW,UAAU;AACrB,mBAAS,IAAI;AACb;AAAA,QACF;AACA,iBAAS,IAAI,KAAK,CAAC;AAAA,MACrB,OAAO;AACL,cAAM,IAAI,KAAK,MAAM,UAAU,MAAM,IAAI;AACzC,YAAI,KAAK,MAAM,QAAQ;AACrB,mBAAS,IAAI;AACb;AAAA,QACF;AACA,iBAAS,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA,MACrC;AACA,cAAQ,sBAAsB,IAAI;AAAA,IACpC;AACA,YAAQ,sBAAsB,IAAI;AAClC,WAAO,MAAM;AACX,2BAAqB,KAAK;AAC1B,UAAI,SAAU,YAAW,UAAU;AAAA,IACrC;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,MAAM,SAAS,KAAK,CAAC;AAEvC,SAAO;AACT;AAOO,SAAS,aAAa,EAAE,MAAM,MAAM,GAAqD;AAC9F,MAAI,UAAU,KAAM,QAAO,gCAAG,gBAAK;AACnC,SACE,qBAAC,UAAK,WAAU,yBACd;AAAA,wBAAC,UAAK,WAAU,oBAAoB,gBAAK;AAAA,IACzC,oBAAC,UAAK,eAAW,MAAC,WAAU,+CACzB,iBACH;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,152 @@
1
+ "use client";
2
+
3
+ import {
4
+ checkableTouchTargetClass,
5
+ fontSizeClass
6
+ } from "./chunk-FFXRFQSU.js";
7
+ import {
8
+ bgSolidClass,
9
+ bgSolidContrastClass,
10
+ borderStrongColorClass,
11
+ checkedBgSolidClass,
12
+ checkedBgSolidHoverClass,
13
+ checkedBorderSolidClass,
14
+ textSolidContrastClass
15
+ } from "./chunk-IP2J3BWY.js";
16
+ import {
17
+ skeletonBoxProps
18
+ } from "./chunk-54HHEXXD.js";
19
+
20
+ // src/checkbox/Checkbox.tsx
21
+ import { forwardRef, useEffect, useId, useImperativeHandle, useRef } from "react";
22
+ import { CheckIcon } from "lucide-react";
23
+ import { cn as cn2, useControllableState } from "@mari-ui/core";
24
+
25
+ // src/checkbox/utils.ts
26
+ import { cn } from "@mari-ui/core";
27
+ var SIZE_CLASS = {
28
+ sm: "h-3 w-3 text-xs",
29
+ md: "h-4 w-4 text-sm",
30
+ lg: "h-5 w-5 text-base"
31
+ };
32
+ var CHECK_ICON_CLASS = {
33
+ sm: "size-2.5",
34
+ md: "size-3",
35
+ lg: "size-3.5"
36
+ };
37
+ var INDETERMINATE_SIZE_CLASS = {
38
+ sm: "h-0.5 w-1.5",
39
+ md: "h-0.5 w-2",
40
+ lg: "h-0.5 w-2.5"
41
+ };
42
+ function getSizeClasses(size) {
43
+ return SIZE_CLASS[size];
44
+ }
45
+ function getIndeterminateSizeClasses(size) {
46
+ return INDETERMINATE_SIZE_CLASS[size];
47
+ }
48
+ function getCheckIconClass(size) {
49
+ return CHECK_ICON_CLASS[size];
50
+ }
51
+ function getShapeClasses(shape) {
52
+ return { square: "rounded-none", pill: "rounded-full", default: "rounded-sm" }[shape];
53
+ }
54
+ function getVariantClasses(variant, color, indeterminate = false) {
55
+ const fillColor = color ?? "primary";
56
+ const indeterminateClass = indeterminate && cn(bgSolidClass[fillColor], "border-transparent");
57
+ if (variant === "solid") {
58
+ return cn("border-transparent bg-mari-surface-alt", checkedBgSolidClass[fillColor], checkedBgSolidHoverClass[fillColor], indeterminateClass);
59
+ }
60
+ const restBorderClass = color ? borderStrongColorClass[color] : "border-mari-input";
61
+ return cn("bg-mari-surface", restBorderClass, checkedBgSolidClass[fillColor], checkedBorderSolidClass[fillColor], textSolidContrastClass[fillColor], indeterminateClass);
62
+ }
63
+
64
+ // src/checkbox/Checkbox.tsx
65
+ import { jsx, jsxs } from "react/jsx-runtime";
66
+ var DESCRIPTION_INDENT_CLASS = { sm: "pl-5", md: "pl-6", lg: "pl-7" };
67
+ var Checkbox = forwardRef(
68
+ ({
69
+ autoFocus = false,
70
+ checked,
71
+ defaultChecked = false,
72
+ disabled = false,
73
+ indeterminate = false,
74
+ onChange,
75
+ onBlur,
76
+ onFocus,
77
+ className,
78
+ classNames = {},
79
+ label,
80
+ description,
81
+ variant = "outline",
82
+ color,
83
+ size = "md",
84
+ shape = "default",
85
+ id,
86
+ name,
87
+ value,
88
+ required,
89
+ skeleton = false
90
+ }, ref) => {
91
+ const fillColor = color ?? "primary";
92
+ const [isChecked, setIsChecked] = useControllableState({ value: checked, defaultValue: defaultChecked });
93
+ const inputRef = useRef(null);
94
+ const descriptionId = useId();
95
+ useImperativeHandle(ref, () => inputRef.current, []);
96
+ const handleChange = (e) => {
97
+ setIsChecked(e.target.checked);
98
+ onChange?.(e);
99
+ };
100
+ useEffect(() => {
101
+ if (inputRef.current) inputRef.current.indeterminate = indeterminate;
102
+ }, [indeterminate]);
103
+ if (skeleton) {
104
+ return /* @__PURE__ */ jsxs("span", { "aria-hidden": true, className: cn2("inline-flex items-center gap-2", classNames.wrapper), children: [
105
+ /* @__PURE__ */ jsx("span", { ...skeletonBoxProps(cn2("shrink-0", getSizeClasses(size), getShapeClasses(shape))) }),
106
+ label && /* @__PURE__ */ jsx("span", { ...skeletonBoxProps(cn2("rounded-sm", fontSizeClass[size])), children: label })
107
+ ] });
108
+ }
109
+ const baseClasses = cn2(
110
+ "shrink-0 cursor-pointer appearance-none border transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring",
111
+ getSizeClasses(size),
112
+ getShapeClasses(shape),
113
+ getVariantClasses(variant, color, indeterminate),
114
+ disabled && "opacity-50 cursor-not-allowed",
115
+ classNames.checkbox,
116
+ className
117
+ );
118
+ return /* @__PURE__ */ jsxs("label", { className: cn2("inline-flex flex-col gap-1 cursor-pointer", disabled && "cursor-not-allowed", classNames.wrapper), children: [
119
+ /* @__PURE__ */ jsxs("span", { className: cn2("relative inline-flex items-center gap-2", checkableTouchTargetClass[size]), children: [
120
+ /* @__PURE__ */ jsx(
121
+ "input",
122
+ {
123
+ ref: inputRef,
124
+ id,
125
+ type: "checkbox",
126
+ autoFocus,
127
+ checked: isChecked,
128
+ disabled,
129
+ name,
130
+ value,
131
+ required,
132
+ "aria-describedby": description ? descriptionId : void 0,
133
+ onChange: handleChange,
134
+ onBlur,
135
+ onFocus,
136
+ className: baseClasses
137
+ }
138
+ ),
139
+ (indeterminate || isChecked) && /* @__PURE__ */ jsx("span", { className: cn2("absolute pointer-events-none", getSizeClasses(size), "flex items-center justify-center"), children: indeterminate ? /* @__PURE__ */ jsx("span", { className: cn2("rounded-full", bgSolidContrastClass[fillColor], getIndeterminateSizeClasses(size)) }) : /* @__PURE__ */ jsx(CheckIcon, { className: cn2(textSolidContrastClass[fillColor], getCheckIconClass(size)), strokeWidth: 3.5 }) }),
140
+ label && /* @__PURE__ */ jsx("span", { className: cn2("select-none text-mari-foreground", fontSizeClass[size], disabled && "text-mari-disabled", classNames.label), children: label })
141
+ ] }),
142
+ description && // Etiket hizasında başlar (kutu genişliği + gap): sm 12+8, md 16+8, lg 20+8px.
143
+ /* @__PURE__ */ jsx("span", { id: descriptionId, className: cn2("text-xs text-mari-muted", DESCRIPTION_INDENT_CLASS[size]), children: description })
144
+ ] });
145
+ }
146
+ );
147
+ Checkbox.displayName = "Checkbox";
148
+
149
+ export {
150
+ Checkbox
151
+ };
152
+ //# sourceMappingURL=chunk-RIBB5OJV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/checkbox/Checkbox.tsx","../src/checkbox/utils.ts"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef, useEffect, useId, useImperativeHandle, useRef } from \"react\";\nimport { CheckIcon } from \"lucide-react\";\nimport { cn, useControllableState } from \"@mari-ui/core\";\nimport { bgSolidContrastClass, textSolidContrastClass } from \"../lib/colorClasses\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { checkableTouchTargetClass, fontSizeClass } from \"../lib/sizeClasses\";\nimport type { CheckboxChangeEvent, CheckboxProps } from \"./types\";\nimport { getCheckIconClass, getIndeterminateSizeClasses, getShapeClasses, getSizeClasses, getVariantClasses } from \"./utils\";\n\nexport type { CheckboxProps };\n\n/**\n * `useControllableState` ile controlled/uncontrolled ayrımı artık burada\n * elle yazılmıyor (eskiden `useState(defaultChecked ?? checked ?? false)`\n * ile başlatılıp `checked={typeof checked === \"boolean\" ? checked :\n * isChecked}` şeklinde ayrıca kontrol ediliyordu — iki yerde aynı mantık).\n */\nconst DESCRIPTION_INDENT_CLASS = { sm: \"pl-5\", md: \"pl-6\", lg: \"pl-7\" } as const;\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n autoFocus = false,\n checked,\n defaultChecked = false,\n disabled = false,\n indeterminate = false,\n onChange,\n onBlur,\n onFocus,\n className,\n classNames = {},\n label,\n description,\n variant = \"outline\",\n color,\n size = \"md\",\n shape = \"default\",\n id,\n name,\n value,\n required,\n skeleton = false,\n },\n ref\n ) => {\n // `color` varsayılansız: \"renk açıkça verilmedi\" ile \"primary seçildi\"\n // ayrımı dinlenme halindeki kenarlığın nötr mü renkli mi olacağını\n // belirler (Faz 13 — checked OLMAYAN kutucuk mavi görünmemeli).\n // İşaretliyken çentiğin/açıklamanın rengi — renk verilmediyse `primary`.\n const fillColor = color ?? \"primary\";\n const [isChecked, setIsChecked] = useControllableState<boolean>({ value: checked, defaultValue: defaultChecked });\n\n const inputRef = useRef<HTMLInputElement>(null);\n const descriptionId = useId();\n useImperativeHandle(ref, () => inputRef.current!, []);\n\n const handleChange = (e: CheckboxChangeEvent) => {\n setIsChecked(e.target.checked);\n onChange?.(e);\n };\n\n useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n if (skeleton) {\n return (\n <span aria-hidden className={cn(\"inline-flex items-center gap-2\", classNames.wrapper)}>\n <span {...skeletonBoxProps(cn(\"shrink-0\", getSizeClasses(size), getShapeClasses(shape)))} />\n {label && <span {...skeletonBoxProps(cn(\"rounded-sm\", fontSizeClass[size]))}>{label}</span>}\n </span>\n );\n }\n\n const baseClasses = cn(\n \"shrink-0 cursor-pointer appearance-none border transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n getSizeClasses(size),\n getShapeClasses(shape),\n getVariantClasses(variant, color, indeterminate),\n disabled && \"opacity-50 cursor-not-allowed\",\n classNames.checkbox,\n className\n );\n\n return (\n <label className={cn(\"inline-flex flex-col gap-1 cursor-pointer\", disabled && \"cursor-not-allowed\", classNames.wrapper)}>\n <span className={cn(\"relative inline-flex items-center gap-2\", checkableTouchTargetClass[size])}>\n <input\n ref={inputRef}\n id={id}\n type=\"checkbox\"\n // eslint-disable-next-line jsx-a11y/no-autofocus -- pass-through: kütüphane autofocus'u ZORLAMIYOR, tüketicinin verdiği prop'u iletiyor.\n autoFocus={autoFocus}\n checked={isChecked}\n disabled={disabled}\n name={name}\n value={value}\n required={required}\n aria-describedby={description ? descriptionId : undefined}\n onChange={handleChange}\n onBlur={onBlur}\n onFocus={onFocus}\n className={baseClasses}\n />\n {(indeterminate || isChecked) && (\n <span className={cn(\"absolute pointer-events-none\", getSizeClasses(size), \"flex items-center justify-center\")}>\n {indeterminate ? (\n <span className={cn(\"rounded-full\", bgSolidContrastClass[fillColor], getIndeterminateSizeClasses(size))} />\n ) : (\n <CheckIcon className={cn(textSolidContrastClass[fillColor], getCheckIconClass(size))} strokeWidth={3.5} />\n )}\n </span>\n )}\n {label && (\n <span className={cn(\"select-none text-mari-foreground\", fontSizeClass[size], disabled && \"text-mari-disabled\", classNames.label)}>\n {label}\n </span>\n )}\n </span>\n {description && (\n // Etiket hizasında başlar (kutu genişliği + gap): sm 12+8, md 16+8, lg 20+8px.\n <span id={descriptionId} className={cn(\"text-xs text-mari-muted\", DESCRIPTION_INDENT_CLASS[size])}>\n {description}\n </span>\n )}\n </label>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { cn, type ColorRole, type Size, type Variant } from \"@mari-ui/core\";\nimport {\n bgSolidClass,\n borderStrongColorClass,\n checkedBgSolidClass,\n checkedBgSolidHoverClass,\n checkedBorderSolidClass,\n textSolidContrastClass,\n} from \"../lib/colorClasses\";\nimport type { CheckboxShape } from \"./types\";\n\nconst SIZE_CLASS: Record<Size, string> = {\n sm: \"h-3 w-3 text-xs\",\n md: \"h-4 w-4 text-sm\",\n lg: \"h-5 w-5 text-base\",\n};\n\n/** Çentik ikonu kutuyla orantılı — eskiden her boyutta sabit 16px'ti (sm'nin 12px kutusundan taşıyordu). */\nconst CHECK_ICON_CLASS: Record<Size, string> = {\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/** Belirsiz (indeterminate) hal: dolu kutunun ortasında yatay bir çizgi. */\nconst INDETERMINATE_SIZE_CLASS: Record<Size, string> = {\n sm: \"h-0.5 w-1.5\",\n md: \"h-0.5 w-2\",\n lg: \"h-0.5 w-2.5\",\n};\n\nexport function getSizeClasses(size: Size): string {\n return SIZE_CLASS[size];\n}\n\nexport function getIndeterminateSizeClasses(size: Size): string {\n return INDETERMINATE_SIZE_CLASS[size];\n}\n\nexport function getCheckIconClass(size: Size): string {\n return CHECK_ICON_CLASS[size];\n}\n\nexport function getShapeClasses(shape: CheckboxShape): string {\n // `pill` eskiden `px-4` da taşıyordu — 16px'lik kutu 34px'lik bir ovale dönüşüyordu.\n // Kutu köşesi, kontrol ölçeğinde (`rounded-sm`), radius preset'ini izler.\n return { square: \"rounded-none\", pill: \"rounded-full\", default: \"rounded-sm\" }[shape];\n}\n\n/**\n * `color` verilmediyse (yani gerçek bir doğrulama durumu YOKSA) dinlenme\n * halindeki (işaretsiz) kenarlık nötr/gri (`border-mari-input`) — sadece\n * işaretlenince `primary`e (veya AÇIKÇA verilen renge) bürünür. `color`\n * AÇIKÇA verildiyse (örn. `error`) o renk işaretli/işaretsiz HER ZAMAN\n * kalıcıdır (bkz. `input/utils.ts`'teki aynı desen).\n */\nexport function getVariantClasses(variant: Extract<Variant, \"solid\" | \"outline\">, color: ColorRole | undefined, indeterminate = false): string {\n const fillColor = color ?? \"primary\";\n // Belirsiz hal native `checked` DEĞİL — eskiden hiçbir dolgu almıyordu, iç\n // çubuk da yüzey renginde olduğu için kutu BOŞ görünüyordu.\n const indeterminateClass = indeterminate && cn(bgSolidClass[fillColor], \"border-transparent\");\n if (variant === \"solid\") {\n return cn(\"border-transparent bg-mari-surface-alt\", checkedBgSolidClass[fillColor], checkedBgSolidHoverClass[fillColor], indeterminateClass);\n }\n // Açıkça verilen renk (doğrulama durumu) dinlenmede de rol renginde (≥3:1).\n const restBorderClass = color ? borderStrongColorClass[color] : \"border-mari-input\";\n return cn(\"bg-mari-surface\", restBorderClass, checkedBgSolidClass[fillColor], checkedBorderSolidClass[fillColor], textSolidContrastClass[fillColor], indeterminateClass);\n}\n"],"mappings":"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","names":["cn","cn"]}
@@ -0,0 +1,50 @@
1
+ // src/lib/FloatingArrow.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ var FLOATING_GAP_PX = 4;
4
+ var FLOATING_ARROW_GAP_PX = 12;
5
+ var FLOATING_ARROW_INSET_PX = 20;
6
+ var FLOATING_EDGE_PX = 8;
7
+ var ARROW_FILL_PATH = "M 0 8 A 4 4 0 0 0 2.82843 6.82843 L 6.58579 3.07107 A 2 2 0 0 1 9.41421 3.07107 L 13.1716 6.82843 A 4 4 0 0 0 16 8 Z";
8
+ var ARROW_STROKE_PATH = "M 0 8 A 4 4 0 0 0 2.82843 6.82843 L 6.58579 3.07107 A 2 2 0 0 1 9.41421 3.07107 L 13.1716 6.82843 A 4 4 0 0 0 16 8";
9
+ var ARROW_LONG_PX = 16;
10
+ var ARROW_SHORT_PX = 8;
11
+ var BORDER_PX = 1;
12
+ function getArrowBox(side, offset) {
13
+ const half = ARROW_LONG_PX / 2 + BORDER_PX;
14
+ switch (side) {
15
+ case "bottom":
16
+ return { style: { left: offset - half, top: -ARROW_SHORT_PX, width: ARROW_LONG_PX, height: ARROW_SHORT_PX }, rotation: 0 };
17
+ case "top":
18
+ return { style: { left: offset - half, top: "100%", width: ARROW_LONG_PX, height: ARROW_SHORT_PX }, rotation: 180 };
19
+ case "right":
20
+ return { style: { left: -ARROW_SHORT_PX, top: offset - half, width: ARROW_SHORT_PX, height: ARROW_LONG_PX }, rotation: -90 };
21
+ default:
22
+ return { style: { left: "100%", top: offset - half, width: ARROW_SHORT_PX, height: ARROW_LONG_PX }, rotation: 90 };
23
+ }
24
+ }
25
+ function FloatingArrow({ side, offset }) {
26
+ const { style, rotation } = getArrowBox(side, offset);
27
+ return /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "pointer-events-none absolute", style, children: /* @__PURE__ */ jsxs(
28
+ "svg",
29
+ {
30
+ width: ARROW_LONG_PX,
31
+ height: ARROW_SHORT_PX,
32
+ viewBox: "0 0 16 8",
33
+ className: "absolute left-1/2 top-1/2 overflow-visible",
34
+ style: { transform: `translate(-50%, -50%) rotate(${rotation}deg)` },
35
+ children: [
36
+ /* @__PURE__ */ jsx("path", { d: ARROW_FILL_PATH, className: "fill-mari-surface" }),
37
+ /* @__PURE__ */ jsx("path", { d: ARROW_STROKE_PATH, fill: "none", transform: "translate(0 -0.5)", className: "stroke-mari-border" })
38
+ ]
39
+ }
40
+ ) });
41
+ }
42
+
43
+ export {
44
+ FLOATING_GAP_PX,
45
+ FLOATING_ARROW_GAP_PX,
46
+ FLOATING_ARROW_INSET_PX,
47
+ FLOATING_EDGE_PX,
48
+ FloatingArrow
49
+ };
50
+ //# sourceMappingURL=chunk-S66GKX2W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/FloatingArrow.tsx"],"sourcesContent":["import React from \"react\";\nimport type { Side } from \"./floating\";\n\n/**\n * Yüzey renkli yüzen panellerin (Dropdown, Popover, Popconfirm) ortak ölçüleri\n * ve oku — Faz 16.2'de DropdownContent'ten taşındı.\n *\n * Yapısal ölçüler ant.design'ın canlı Dropdown sayfasından `getComputedStyle`\n * ile alındı: ok yokken tetikleyiciyle panel arasında 4px, okluyken 12px\n * (8px'lik ok kutusu + 4px); ok, panelin hizalandığı kenardan 12px içeride\n * başlayan 16px'lik bir kutu, yani ORTASI kenardan 20px. GÖRÜNÜM (gölge,\n * kenarlık, renk) ant'tan değil kendi token'larımızdan gelir.\n */\nexport const FLOATING_GAP_PX = 4;\nexport const FLOATING_ARROW_GAP_PX = 12;\nexport const FLOATING_ARROW_INSET_PX = 20;\n/** Panel viewport kenarına YAPIŞMASIN diye bırakılan minimum boşluk. */\nexport const FLOATING_EDGE_PX = 8;\n\n/** ant.design okunun birebir `clip-path`i: 16×8, ucu yuvarlak, taban köşeleri panele yumuşakça karışan üçgen. */\nconst ARROW_FILL_PATH = \"M 0 8 A 4 4 0 0 0 2.82843 6.82843 L 6.58579 3.07107 A 2 2 0 0 1 9.41421 3.07107 L 13.1716 6.82843 A 4 4 0 0 0 16 8 Z\";\n/** Aynı yol KAPATILMADAN — kenarlık rengiyle sadece eğik kenarlar çizilir; taban çizgisi panelin kenarlığının üstünden geçmesin diye (dolgu o kısmı örter). */\nconst ARROW_STROKE_PATH = \"M 0 8 A 4 4 0 0 0 2.82843 6.82843 L 6.58579 3.07107 A 2 2 0 0 1 9.41421 3.07107 L 13.1716 6.82843 A 4 4 0 0 0 16 8\";\n\nconst ARROW_LONG_PX = 16;\nconst ARROW_SHORT_PX = 8;\n/** Panelin kenarlığı: mutlak konumlu ok padding kutusuna göre konumlanır, bu yüzden çapraz eksende 1px düzeltilir. */\nconst BORDER_PX = 1;\n\n/** `side` panelin tetikleyiciye GÖRE konumu; ok panelin tetikleyiciye bakan kenarında durur ve tetikleyiciyi gösterir. */\nfunction getArrowBox(side: Side, offset: number): { style: React.CSSProperties; rotation: number } {\n const half = ARROW_LONG_PX / 2 + BORDER_PX;\n switch (side) {\n case \"bottom\":\n return { style: { left: offset - half, top: -ARROW_SHORT_PX, width: ARROW_LONG_PX, height: ARROW_SHORT_PX }, rotation: 0 };\n case \"top\":\n return { style: { left: offset - half, top: \"100%\", width: ARROW_LONG_PX, height: ARROW_SHORT_PX }, rotation: 180 };\n case \"right\":\n return { style: { left: -ARROW_SHORT_PX, top: offset - half, width: ARROW_SHORT_PX, height: ARROW_LONG_PX }, rotation: -90 };\n default:\n return { style: { left: \"100%\", top: offset - half, width: ARROW_SHORT_PX, height: ARROW_LONG_PX }, rotation: 90 };\n }\n}\n\nexport function FloatingArrow({ side, offset }: Readonly<{ side: Side; offset: number }>) {\n const { style, rotation } = getArrowBox(side, offset);\n return (\n <span aria-hidden=\"true\" className=\"pointer-events-none absolute\" style={style}>\n <svg\n width={ARROW_LONG_PX}\n height={ARROW_SHORT_PX}\n viewBox=\"0 0 16 8\"\n className=\"absolute left-1/2 top-1/2 overflow-visible\"\n style={{ transform: `translate(-50%, -50%) rotate(${rotation}deg)` }}\n >\n <path d={ARROW_FILL_PATH} className=\"fill-mari-surface\" />\n {/* Taban ucu panelin 1px kenarlığının TAM ortasına otursun diye yarım piksel yukarı: aksi halde çizgi kenarlığın 0.5px dışına/altına taşıp çıkıntı bırakır. */}\n <path d={ARROW_STROKE_PATH} fill=\"none\" transform=\"translate(0 -0.5)\" className=\"stroke-mari-border\" />\n </svg>\n </span>\n );\n}\n"],"mappings":";AAgDM,SAOE,KAPF;AAnCC,IAAM,kBAAkB;AACxB,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAEhC,IAAM,mBAAmB;AAGhC,IAAM,kBAAkB;AAExB,IAAM,oBAAoB;AAE1B,IAAM,gBAAgB;AACtB,IAAM,iBAAiB;AAEvB,IAAM,YAAY;AAGlB,SAAS,YAAY,MAAY,QAAkE;AACjG,QAAM,OAAO,gBAAgB,IAAI;AACjC,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,EAAE,OAAO,EAAE,MAAM,SAAS,MAAM,KAAK,CAAC,gBAAgB,OAAO,eAAe,QAAQ,eAAe,GAAG,UAAU,EAAE;AAAA,IAC3H,KAAK;AACH,aAAO,EAAE,OAAO,EAAE,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,eAAe,QAAQ,eAAe,GAAG,UAAU,IAAI;AAAA,IACpH,KAAK;AACH,aAAO,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,KAAK,SAAS,MAAM,OAAO,gBAAgB,QAAQ,cAAc,GAAG,UAAU,IAAI;AAAA,IAC7H;AACE,aAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,KAAK,SAAS,MAAM,OAAO,gBAAgB,QAAQ,cAAc,GAAG,UAAU,GAAG;AAAA,EACrH;AACF;AAEO,SAAS,cAAc,EAAE,MAAM,OAAO,GAA6C;AACxF,QAAM,EAAE,OAAO,SAAS,IAAI,YAAY,MAAM,MAAM;AACpD,SACE,oBAAC,UAAK,eAAY,QAAO,WAAU,gCAA+B,OAChE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,OAAO,EAAE,WAAW,gCAAgC,QAAQ,OAAO;AAAA,MAEnE;AAAA,4BAAC,UAAK,GAAG,iBAAiB,WAAU,qBAAoB;AAAA,QAExD,oBAAC,UAAK,GAAG,mBAAmB,MAAK,QAAO,WAAU,qBAAoB,WAAU,sBAAqB;AAAA;AAAA;AAAA,EACvG,GACF;AAEJ;","names":[]}
@@ -0,0 +1,13 @@
1
+ // src/lib/elevationClass.ts
2
+ import { cn } from "@mari-ui/core";
3
+ var elevationClass = {
4
+ sm: cn("shadow-mari-sm", "border border-mari-border"),
5
+ md: cn("shadow-mari-md", "border border-mari-border"),
6
+ lg: cn("shadow-mari-lg", "border border-mari-border"),
7
+ xl: cn("shadow-mari-xl", "border border-mari-border")
8
+ };
9
+
10
+ export {
11
+ elevationClass
12
+ };
13
+ //# sourceMappingURL=chunk-TCYDVNSU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/elevationClass.ts"],"sourcesContent":["import { cn } from \"@mari-ui/core\";\n\n/**\n * `foundations/Elevation.mdx`'te vaat edilen tablo: `shadow-mari-*` + ince\n * `border-mari-border` kombinasyonu birlikte kullanılır. Koyu temada saf\n * siyah-alfa gölge tek başına neredeyse görünmez — yükseklik hissi asıl\n * kenarlıktan gelir, gölge sadece üstüne biner. Faz 13 öncesi component'ler\n * (Card, Carousel) `shadow-md`/`shadow` gibi tokensız Tailwind built-in'lerini\n * kullanıyordu; bu tablo onların yerini alır.\n */\nexport const elevationClass: Record<\"sm\" | \"md\" | \"lg\" | \"xl\", string> = {\n sm: cn(\"shadow-mari-sm\", \"border border-mari-border\"),\n md: cn(\"shadow-mari-md\", \"border border-mari-border\"),\n lg: cn(\"shadow-mari-lg\", \"border border-mari-border\"),\n xl: cn(\"shadow-mari-xl\", \"border border-mari-border\"),\n};\n"],"mappings":";AAAA,SAAS,UAAU;AAUZ,IAAM,iBAA4D;AAAA,EACvE,IAAI,GAAG,kBAAkB,2BAA2B;AAAA,EACpD,IAAI,GAAG,kBAAkB,2BAA2B;AAAA,EACpD,IAAI,GAAG,kBAAkB,2BAA2B;AAAA,EACpD,IAAI,GAAG,kBAAkB,2BAA2B;AACtD;","names":[]}