@mari-ui/components 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Aykut Yılmaz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,26 @@
1
- # Temporary Holding Version
1
+ # @mari-ui/components
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ mari-ui'ın web component'leri: 70+ component (form, gezinme, veri gösterimi, grafikler, geri bildirim). Her biri ayrı bir alt yoldan (`@mari-ui/components/button`) içe aktarılır, RSC uyumludur ve `skeleton`, erişilebilirlik ve açık/koyu tema taşır.
4
+
5
+ ```bash
6
+ pnpm add @mari-ui/components @mari-ui/core @mari-ui/tokens
7
+ ```
8
+
9
+ ```css
10
+ /* Tailwind v4 kullanan proje: */
11
+ @import "tailwindcss";
12
+ @import "@mari-ui/components/tailwind.css";
13
+
14
+ /* Tailwind kullanmayan proje (hazır CSS): */
15
+ /* @import "@mari-ui/components/styles.css"; */
16
+ ```
17
+
18
+ ```tsx
19
+ import { Button } from "@mari-ui/components/button";
20
+
21
+ <Button color="primary">Kaydet</Button>;
22
+ ```
23
+
24
+ `npx @mari-ui/cli init` projenize uygun CSS girişini söyler, tema dosyalarını ve AI ajan kurallarını kurar.
25
+
26
+ Kurulum, tema ve component dokümanları: [mari-ui deposu](https://github.com/aykutyilmaz37/mari-ui#readme). Lisans: MIT.
@@ -0,0 +1 @@
1
+ export * from "./types/accordion/index";
@@ -0,0 +1,245 @@
1
+ "use client";
2
+
3
+ import {
4
+ ContentSkeleton
5
+ } from "./chunk-V7KDUUV6.js";
6
+ import {
7
+ SkeletonBlock
8
+ } from "./chunk-NPM7IDYV.js";
9
+ import "./chunk-XUKVQO6M.js";
10
+ import {
11
+ skeletonBoxProps
12
+ } from "./chunk-54HHEXXD.js";
13
+
14
+ // src/accordion/Accordion.tsx
15
+ import { useEffect, useId, useRef, useState } from "react";
16
+ import { ChevronDownIcon, ChevronRightIcon } from "lucide-react";
17
+ import { cn, useControllableState } from "@mari-ui/core";
18
+
19
+ // src/accordion/utils.ts
20
+ function toKeys(value) {
21
+ if (value === void 0) return void 0;
22
+ return Array.isArray(value) ? value : [value];
23
+ }
24
+ function toggleKey(active, key, single) {
25
+ if (active.includes(key)) return active.filter((k) => k !== key);
26
+ return single ? [key] : [...active, key];
27
+ }
28
+ function getHeaderTarget(headers, current, key) {
29
+ if (headers.length === 0) return null;
30
+ const index = current ? headers.indexOf(current) : -1;
31
+ switch (key) {
32
+ case "ArrowDown":
33
+ return headers[(index + 1) % headers.length] ?? null;
34
+ case "ArrowUp":
35
+ return headers[index <= 0 ? headers.length - 1 : index - 1] ?? null;
36
+ case "Home":
37
+ return headers[0] ?? null;
38
+ case "End":
39
+ return headers[headers.length - 1] ?? null;
40
+ default:
41
+ return null;
42
+ }
43
+ }
44
+
45
+ // src/accordion/Accordion.tsx
46
+ import { jsx, jsxs } from "react/jsx-runtime";
47
+ var EXIT_MS = 200;
48
+ var HEADER_PAD = { sm: "px-3 py-2", md: "px-4 py-3", lg: "px-6 py-4 text-base" };
49
+ var BODY_PAD = { sm: "px-3 py-2", md: "p-4", lg: "px-6 py-4" };
50
+ var BODY_PAD_FLUSH = { sm: "px-3 pb-2", md: "px-4 pb-4", lg: "px-6 pb-4" };
51
+ var ICON_BOX = { sm: "h-5", md: "h-5", lg: "h-6" };
52
+ var ROOT = {
53
+ bordered: "overflow-hidden rounded-lg border border-mari-border bg-mari-surface-alt",
54
+ borderless: "overflow-hidden rounded-lg bg-mari-surface-alt",
55
+ ghost: "",
56
+ separated: "flex flex-col gap-2"
57
+ };
58
+ var ITEM = {
59
+ bordered: "border-b border-mari-border last:border-b-0",
60
+ borderless: "border-b border-mari-border last:border-b-0",
61
+ ghost: "",
62
+ separated: "overflow-hidden rounded-lg border border-mari-border bg-mari-surface"
63
+ };
64
+ function useRenderedContent(open, forceRender, destroyOnHidden) {
65
+ const [rendered, setRendered] = useState(open || forceRender);
66
+ useEffect(() => {
67
+ if (open) {
68
+ setRendered(true);
69
+ return;
70
+ }
71
+ if (!destroyOnHidden || forceRender) return;
72
+ const timer = setTimeout(() => setRendered(false), EXIT_MS);
73
+ return () => clearTimeout(timer);
74
+ }, [open, forceRender, destroyOnHidden]);
75
+ return open || rendered;
76
+ }
77
+ function ExpandIcon({ open, size, placement, disabled, skeleton, custom }) {
78
+ const Chevron = placement === "end" ? ChevronDownIcon : ChevronRightIcon;
79
+ let content;
80
+ if (skeleton) content = /* @__PURE__ */ jsx("span", { ...skeletonBoxProps("size-3.5 rounded-sm") });
81
+ else
82
+ content = custom?.(open) ?? /* @__PURE__ */ jsx(
83
+ Chevron,
84
+ {
85
+ size: size === "lg" ? 18 : 16,
86
+ className: cn("transition-transform duration-200 motion-reduce:transition-none", open && (placement === "end" ? "rotate-180" : "rotate-90"))
87
+ }
88
+ );
89
+ return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("flex shrink-0 items-center", ICON_BOX[size], disabled ? "text-mari-muted/60" : "text-mari-muted", placement === "end" && "order-last"), children: content });
90
+ }
91
+ function HeaderRow({ item, open, onToggle, variant, size, iconPlacement, expandIcon, skeleton, Heading, headerId, panelId }) {
92
+ const disabled = item.disabled || skeleton;
93
+ return /* @__PURE__ */ jsxs(
94
+ "div",
95
+ {
96
+ "aria-hidden": skeleton || void 0,
97
+ className: cn(
98
+ "relative flex items-start gap-3",
99
+ HEADER_PAD[size],
100
+ !disabled && "cursor-pointer",
101
+ !disabled && variant !== "bordered" && "hover:bg-mari-surface-alt/60",
102
+ "has-[[data-accordion-trigger]:focus-visible]:outline-2 has-[[data-accordion-trigger]:focus-visible]:-outline-offset-2 has-[[data-accordion-trigger]:focus-visible]:outline-mari-ring",
103
+ variant === "ghost" && "rounded-md"
104
+ ),
105
+ children: [
106
+ item.showArrow !== false && /* @__PURE__ */ jsx(ExpandIcon, { open, size, placement: iconPlacement, disabled: item.disabled, skeleton, custom: expandIcon }),
107
+ /* @__PURE__ */ jsx(Heading, { className: "m-0 min-w-0 flex-1 text-inherit font-medium", children: /* @__PURE__ */ jsx(
108
+ "button",
109
+ {
110
+ type: "button",
111
+ id: headerId,
112
+ "data-accordion-trigger": "",
113
+ "aria-expanded": open,
114
+ "aria-controls": panelId,
115
+ disabled,
116
+ onClick: onToggle,
117
+ className: cn(
118
+ "w-full cursor-[inherit] text-left outline-none after:absolute after:inset-0",
119
+ size === "lg" ? "leading-6" : "leading-5",
120
+ item.disabled ? "text-mari-muted" : "text-mari-foreground",
121
+ disabled && "cursor-not-allowed"
122
+ ),
123
+ children: skeleton ? /* @__PURE__ */ jsx("span", { ...skeletonBoxProps("rounded-sm"), children: item.label }) : item.label
124
+ }
125
+ ) }),
126
+ item.extra && /* @__PURE__ */ jsx("div", { className: cn("relative z-10 flex shrink-0 items-center", ICON_BOX[size], skeleton && "invisible"), children: item.extra })
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function Panel({ item, open, onToggle, variant, size, iconPlacement, expandIcon, headingLevel, destroyOnHidden, region, skeleton }) {
132
+ const id = useId();
133
+ const headerId = `${id}-header`;
134
+ const panelId = `${id}-panel`;
135
+ const rendered = useRenderedContent(open, Boolean(item.forceRender), destroyOnHidden);
136
+ const Heading = `h${headingLevel}`;
137
+ const tinted = variant === "bordered";
138
+ return /* @__PURE__ */ jsxs("div", { className: ITEM[variant], children: [
139
+ /* @__PURE__ */ jsx(
140
+ HeaderRow,
141
+ {
142
+ item,
143
+ open,
144
+ onToggle,
145
+ variant,
146
+ size,
147
+ iconPlacement,
148
+ expandIcon,
149
+ Heading,
150
+ headerId,
151
+ panelId,
152
+ skeleton
153
+ }
154
+ ),
155
+ /* @__PURE__ */ jsx(
156
+ "div",
157
+ {
158
+ className: cn(
159
+ "grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none",
160
+ open ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
161
+ ),
162
+ children: /* @__PURE__ */ jsx(
163
+ "div",
164
+ {
165
+ id: panelId,
166
+ role: region ? "region" : void 0,
167
+ "aria-labelledby": region ? headerId : void 0,
168
+ inert: !open || void 0,
169
+ className: "min-h-0 overflow-hidden",
170
+ children: rendered && /* @__PURE__ */ jsx("div", { className: cn(tinted ? cn("border-t border-mari-border bg-mari-surface", BODY_PAD[size]) : BODY_PAD_FLUSH[size], "text-mari-foreground"), children: /* @__PURE__ */ jsx(ContentSkeleton, { on: skeleton, fallback: /* @__PURE__ */ jsx(SkeletonBlock, { active: true, width: "80%", height: "0.75rem", radius: "sm" }), children: item.children }) })
171
+ }
172
+ )
173
+ }
174
+ )
175
+ ] });
176
+ }
177
+ function Accordion({
178
+ items,
179
+ activeKey,
180
+ defaultActiveKey,
181
+ onChange,
182
+ single = false,
183
+ variant = "bordered",
184
+ size = "md",
185
+ iconPlacement = "start",
186
+ expandIcon,
187
+ headingLevel = 3,
188
+ destroyOnHidden = false,
189
+ className,
190
+ skeleton = false
191
+ }) {
192
+ const [active, setActive] = useControllableState({
193
+ value: toKeys(activeKey),
194
+ defaultValue: toKeys(defaultActiveKey) ?? [],
195
+ onChange
196
+ });
197
+ const rootRef = useRef(null);
198
+ const onKeyDown = (event) => {
199
+ const target = event.target;
200
+ if (!target.matches("[data-accordion-trigger]")) return;
201
+ const headers = Array.from(rootRef.current?.querySelectorAll("[data-accordion-trigger]:not(:disabled)") ?? []).filter(
202
+ // İç içe Accordion'un başlıkları bu listeye girmez.
203
+ (el) => el.closest("[data-accordion-root]") === rootRef.current
204
+ );
205
+ const next = getHeaderTarget(headers, target, event.key);
206
+ if (!next) return;
207
+ event.preventDefault();
208
+ next.focus();
209
+ };
210
+ return (
211
+ // Tuşlar başlık düğmelerinden kabarcıklanır; kök etkileşimli değil.
212
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
213
+ /* @__PURE__ */ jsx(
214
+ "div",
215
+ {
216
+ ref: rootRef,
217
+ "data-accordion-root": "",
218
+ "aria-busy": skeleton || void 0,
219
+ onKeyDown,
220
+ className: cn("text-sm text-mari-foreground", ROOT[variant], className),
221
+ children: items.map((item) => /* @__PURE__ */ jsx(
222
+ Panel,
223
+ {
224
+ item,
225
+ open: active.includes(item.key),
226
+ onToggle: () => setActive(toggleKey(active, item.key, single)),
227
+ variant,
228
+ size,
229
+ iconPlacement,
230
+ expandIcon,
231
+ headingLevel,
232
+ destroyOnHidden,
233
+ region: items.length <= 6,
234
+ skeleton
235
+ },
236
+ item.key
237
+ ))
238
+ }
239
+ )
240
+ );
241
+ }
242
+ export {
243
+ Accordion
244
+ };
245
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/accordion/Accordion.tsx","../src/accordion/utils.ts"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useId, useRef, useState } from \"react\";\nimport { ChevronDownIcon, ChevronRightIcon } from \"lucide-react\";\nimport { cn, useControllableState, type Size } from \"@mari-ui/core\";\nimport { ContentSkeleton } from \"../lib/ContentSkeleton\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { SkeletonBlock } from \"../skeleton\";\nimport type { AccordionItem, AccordionProps, AccordionVariant } from \"./types\";\nimport { getHeaderTarget, toggleKey, toKeys } from \"./utils\";\n\nexport type { AccordionProps, AccordionItem, AccordionVariant };\n\nconst EXIT_MS = 200;\n\n/** ant.design: sm 8·12, md 12·16, lg 16·24px; lg'de başlık 16px. */\nconst HEADER_PAD: Record<Size, string> = { sm: \"px-3 py-2\", md: \"px-4 py-3\", lg: \"px-6 py-4 text-base\" };\nconst BODY_PAD: Record<Size, string> = { sm: \"px-3 py-2\", md: \"p-4\", lg: \"px-6 py-4\" };\n/** Tonsuz varyantlarda gövde başlığın devamı — üst dolgu küçülür. */\nconst BODY_PAD_FLUSH: Record<Size, string> = { sm: \"px-3 pb-2\", md: \"px-4 pb-4\", lg: \"px-6 pb-4\" };\n/** İkon kutusu = başlığın satır yüksekliği → ok ilk satırla hizalı kalır. */\nconst ICON_BOX: Record<Size, string> = { sm: \"h-5\", md: \"h-5\", lg: \"h-6\" };\n\nconst ROOT: Record<AccordionVariant, string> = {\n bordered: \"overflow-hidden rounded-lg border border-mari-border bg-mari-surface-alt\",\n borderless: \"overflow-hidden rounded-lg bg-mari-surface-alt\",\n ghost: \"\",\n separated: \"flex flex-col gap-2\",\n};\n\nconst ITEM: Record<AccordionVariant, string> = {\n bordered: \"border-b border-mari-border last:border-b-0\",\n borderless: \"border-b border-mari-border last:border-b-0\",\n ghost: \"\",\n separated: \"overflow-hidden rounded-lg border border-mari-border bg-mari-surface\",\n};\n\ninterface PanelProps {\n item: AccordionItem;\n open: boolean;\n onToggle: () => void;\n variant: AccordionVariant;\n size: Size;\n iconPlacement: \"start\" | \"end\";\n expandIcon?: (open: boolean) => React.ReactNode;\n headingLevel: 2 | 3 | 4 | 5 | 6;\n destroyOnHidden: boolean;\n region: boolean;\n skeleton: boolean;\n}\n\n/** İçerik ilk açılışta mount edilir; `destroyOnHidden`da kapanış animasyonundan sonra kaldırılır. */\nfunction useRenderedContent(open: boolean, forceRender: boolean, destroyOnHidden: boolean): boolean {\n const [rendered, setRendered] = useState(open || forceRender);\n useEffect(() => {\n if (open) {\n setRendered(true);\n return;\n }\n if (!destroyOnHidden || forceRender) return;\n const timer = setTimeout(() => setRendered(false), EXIT_MS);\n return () => clearTimeout(timer);\n }, [open, forceRender, destroyOnHidden]);\n return open || rendered;\n}\n\nfunction ExpandIcon({ open, size, placement, disabled, skeleton, custom }: Readonly<{ open: boolean; size: Size; placement: \"start\" | \"end\"; disabled?: boolean; skeleton: boolean; custom?: (open: boolean) => React.ReactNode }>) {\n const Chevron = placement === \"end\" ? ChevronDownIcon : ChevronRightIcon;\n let content: React.ReactNode;\n if (skeleton) content = <span {...skeletonBoxProps(\"size-3.5 rounded-sm\")} />;\n else\n content = custom?.(open) ?? (\n <Chevron\n size={size === \"lg\" ? 18 : 16}\n className={cn(\"transition-transform duration-200 motion-reduce:transition-none\", open && (placement === \"end\" ? \"rotate-180\" : \"rotate-90\"))}\n />\n );\n return (\n <span aria-hidden className={cn(\"flex shrink-0 items-center\", ICON_BOX[size], disabled ? \"text-mari-muted/60\" : \"text-mari-muted\", placement === \"end\" && \"order-last\")}>\n {content}\n </span>\n );\n}\n\ntype HeaderRowProps = Pick<PanelProps, \"item\" | \"open\" | \"onToggle\" | \"variant\" | \"size\" | \"iconPlacement\" | \"expandIcon\" | \"skeleton\"> & {\n Heading: \"h3\";\n headerId: string;\n panelId: string;\n};\n\n/**\n * Başlık satırı: düğme `after:inset-0` ile tüm satırı tıklanabilir yapar (ant:\n * başlığın her yeri açar), `extra` üstte (`z-10`) ve düğmenin DIŞINDA — içindeki\n * bağlantı/düğme iç içe etkileşimli öğe olmaz. İskelette satır erişilebilirlik\n * ağacından çıkar (etiket yer tutucuya döndüğü için düğme adsız kalırdı).\n */\nfunction HeaderRow({ item, open, onToggle, variant, size, iconPlacement, expandIcon, skeleton, Heading, headerId, panelId }: HeaderRowProps) {\n const disabled = item.disabled || skeleton;\n return (\n <div\n aria-hidden={skeleton || undefined}\n className={cn(\n \"relative flex items-start gap-3\",\n HEADER_PAD[size],\n !disabled && \"cursor-pointer\",\n !disabled && variant !== \"bordered\" && \"hover:bg-mari-surface-alt/60\",\n \"has-[[data-accordion-trigger]:focus-visible]:outline-2 has-[[data-accordion-trigger]:focus-visible]:-outline-offset-2 has-[[data-accordion-trigger]:focus-visible]:outline-mari-ring\",\n variant === \"ghost\" && \"rounded-md\"\n )}\n >\n {item.showArrow !== false && <ExpandIcon open={open} size={size} placement={iconPlacement} disabled={item.disabled} skeleton={skeleton} custom={expandIcon} />}\n <Heading className=\"m-0 min-w-0 flex-1 text-inherit font-medium\">\n <button\n type=\"button\"\n id={headerId}\n data-accordion-trigger=\"\"\n aria-expanded={open}\n aria-controls={panelId}\n disabled={disabled}\n onClick={onToggle}\n className={cn(\n \"w-full cursor-[inherit] text-left outline-none after:absolute after:inset-0\",\n size === \"lg\" ? \"leading-6\" : \"leading-5\",\n item.disabled ? \"text-mari-muted\" : \"text-mari-foreground\",\n disabled && \"cursor-not-allowed\"\n )}\n >\n {skeleton ? <span {...skeletonBoxProps(\"rounded-sm\")}>{item.label}</span> : item.label}\n </button>\n </Heading>\n {item.extra && <div className={cn(\"relative z-10 flex shrink-0 items-center\", ICON_BOX[size], skeleton && \"invisible\")}>{item.extra}</div>}\n </div>\n );\n}\n\nfunction Panel({ item, open, onToggle, variant, size, iconPlacement, expandIcon, headingLevel, destroyOnHidden, region, skeleton }: Readonly<PanelProps>) {\n const id = useId();\n const headerId = `${id}-header`;\n const panelId = `${id}-panel`;\n const rendered = useRenderedContent(open, Boolean(item.forceRender), destroyOnHidden);\n const Heading = `h${headingLevel}` as \"h3\";\n const tinted = variant === \"bordered\";\n\n return (\n <div className={ITEM[variant]}>\n <HeaderRow\n item={item}\n open={open}\n onToggle={onToggle}\n variant={variant}\n size={size}\n iconPlacement={iconPlacement}\n expandIcon={expandIcon}\n Heading={Heading}\n headerId={headerId}\n panelId={panelId}\n skeleton={skeleton}\n />\n <div\n className={cn(\n \"grid transition-[grid-template-rows] duration-200 ease-out motion-reduce:transition-none\",\n open ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\"\n )}\n >\n <div\n id={panelId}\n role={region ? \"region\" : undefined}\n aria-labelledby={region ? headerId : undefined}\n // Kapalıyken odaklanamaz ve erişilebilirlik ağacında yok (görsel olarak da 0 yükseklik).\n inert={!open || undefined}\n className=\"min-h-0 overflow-hidden\"\n >\n {rendered && (\n <div className={cn(tinted ? cn(\"border-t border-mari-border bg-mari-surface\", BODY_PAD[size]) : BODY_PAD_FLUSH[size], \"text-mari-foreground\")}>\n <ContentSkeleton on={skeleton} fallback={<SkeletonBlock active width=\"80%\" height=\"0.75rem\" radius=\"sm\" />}>\n {item.children}\n </ContentSkeleton>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\n/**\n * Faz 16.3 — yapı ant.design Collapse'tan (tüm başlık açar, ok başta ya da\n * sonda, `extra`, tekli mod, dört görünüm, üç boyut, ilk açılışta mount +\n * `destroyOnHidden`), görünüm kendi token'larımızdan. Aç/kapa yüksekliği\n * `grid-template-rows` 0fr↔1fr ile canlandırılır (sabit `max-height` yok).\n *\n * Erişilebilirlik (WAI-ARIA APG Accordion): her başlık `<hN><button\n * aria-expanded aria-controls>`; gövde `role=\"region\"` + `aria-labelledby`\n * (6'dan fazla bölümde landmark kalabalığı olmasın diye region verilmez).\n * Kapalı gövde `inert`. ↑/↓ başlıklar arası (döngülü), Home/End ilk/son.\n */\nexport function Accordion({\n items,\n activeKey,\n defaultActiveKey,\n onChange,\n single = false,\n variant = \"bordered\",\n size = \"md\",\n iconPlacement = \"start\",\n expandIcon,\n headingLevel = 3,\n destroyOnHidden = false,\n className,\n skeleton = false,\n}: Readonly<AccordionProps>) {\n const [active, setActive] = useControllableState<string[]>({\n value: toKeys(activeKey),\n defaultValue: toKeys(defaultActiveKey) ?? [],\n onChange,\n });\n const rootRef = useRef<HTMLDivElement>(null);\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const target = event.target as HTMLElement;\n if (!target.matches(\"[data-accordion-trigger]\")) return;\n const headers = Array.from(rootRef.current?.querySelectorAll<HTMLElement>(\"[data-accordion-trigger]:not(:disabled)\") ?? []).filter(\n // İç içe Accordion'un başlıkları bu listeye girmez.\n (el) => el.closest(\"[data-accordion-root]\") === rootRef.current\n );\n const next = getHeaderTarget(headers, target, event.key);\n if (!next) return;\n event.preventDefault();\n next.focus();\n };\n\n return (\n // Tuşlar başlık düğmelerinden kabarcıklanır; kök etkileşimli değil.\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n ref={rootRef}\n data-accordion-root=\"\"\n aria-busy={skeleton || undefined}\n onKeyDown={onKeyDown}\n className={cn(\"text-sm text-mari-foreground\", ROOT[variant], className)}\n >\n {items.map((item) => (\n <Panel\n key={item.key}\n item={item}\n open={active.includes(item.key)}\n onToggle={() => setActive(toggleKey(active, item.key, single))}\n variant={variant}\n size={size}\n iconPlacement={iconPlacement}\n expandIcon={expandIcon}\n headingLevel={headingLevel}\n destroyOnHidden={destroyOnHidden}\n region={items.length <= 6}\n skeleton={skeleton}\n />\n ))}\n </div>\n );\n}\n","/** `activeKey` tek anahtar ya da dizi olabilir → her zaman dizi. */\nexport function toKeys(value: string | string[] | undefined): string[] | undefined {\n if (value === undefined) return undefined;\n return Array.isArray(value) ? value : [value];\n}\n\n/** Bir bölümü aç/kapat. Tekli modda açılan bölüm diğerlerini kapatır. */\nexport function toggleKey(active: string[], key: string, single: boolean): string[] {\n if (active.includes(key)) return active.filter((k) => k !== key);\n return single ? [key] : [...active, key];\n}\n\n/**\n * APG accordion klavyesi: başlıklar arasında ↑/↓ (döngülü), Home/End.\n * Devre dışı başlıklar listeye verilmez. Diğer tuşlarda `null`.\n */\nexport function getHeaderTarget(headers: HTMLElement[], current: Element | null, key: string): HTMLElement | null {\n if (headers.length === 0) return null;\n const index = current ? headers.indexOf(current as HTMLElement) : -1;\n switch (key) {\n case \"ArrowDown\":\n return headers[(index + 1) % headers.length] ?? null;\n case \"ArrowUp\":\n return headers[index <= 0 ? headers.length - 1 : index - 1] ?? null;\n case \"Home\":\n return headers[0] ?? null;\n case \"End\":\n return headers[headers.length - 1] ?? null;\n default:\n return null;\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ export * from "./types/alert/index";
package/dist/alert.js ADDED
@@ -0,0 +1,114 @@
1
+ "use client";
2
+
3
+ import {
4
+ ContentSkeleton
5
+ } from "./chunk-V7KDUUV6.js";
6
+ import {
7
+ SkeletonBlock
8
+ } from "./chunk-NPM7IDYV.js";
9
+ import "./chunk-XUKVQO6M.js";
10
+ import {
11
+ bgSubtleClass,
12
+ borderColorClass,
13
+ textClass
14
+ } from "./chunk-IP2J3BWY.js";
15
+ import "./chunk-54HHEXXD.js";
16
+
17
+ // src/alert/Alert.tsx
18
+ import { useState } from "react";
19
+ import { CircleAlertIcon, CircleCheckIcon, CircleXIcon, InfoIcon, SparklesIcon, XIcon } from "lucide-react";
20
+ import { cn } from "@mari-ui/core";
21
+ import { jsx, jsxs } from "react/jsx-runtime";
22
+ var EXIT_MS = 200;
23
+ var ICON = {
24
+ success: CircleCheckIcon,
25
+ info: InfoIcon,
26
+ warning: CircleAlertIcon,
27
+ error: CircleXIcon,
28
+ primary: InfoIcon,
29
+ accent: SparklesIcon,
30
+ neutral: InfoIcon
31
+ };
32
+ var PLACEHOLDER = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 py-0.5", children: [
33
+ /* @__PURE__ */ jsx(SkeletonBlock, { active: true, width: "40%", height: "0.875rem", radius: "sm" }),
34
+ /* @__PURE__ */ jsx(SkeletonBlock, { active: true, width: "75%", height: "0.75rem", radius: "sm" })
35
+ ] });
36
+ function resolveRole(role, color) {
37
+ if (role === "none") return void 0;
38
+ if (role) return role;
39
+ return color === "error" || color === "warning" ? "alert" : "status";
40
+ }
41
+ function renderIcon(icon, color) {
42
+ if (icon === false) return null;
43
+ if (icon !== true && icon !== void 0) return icon;
44
+ const Icon = ICON[color];
45
+ return /* @__PURE__ */ jsx(Icon, { size: 18, "aria-hidden": true });
46
+ }
47
+ function Alert({
48
+ title,
49
+ description,
50
+ color = "info",
51
+ icon = true,
52
+ action,
53
+ closable = false,
54
+ onClose,
55
+ closeLabel = "Uyar\u0131y\u0131 kapat",
56
+ banner = false,
57
+ role,
58
+ className,
59
+ skeleton = false
60
+ }) {
61
+ const [closing, setClosing] = useState(false);
62
+ const [closed, setClosed] = useState(false);
63
+ if (closed) return null;
64
+ const close = () => {
65
+ setClosing(true);
66
+ onClose?.();
67
+ setTimeout(() => setClosed(true), EXIT_MS);
68
+ };
69
+ const iconNode = renderIcon(icon, color);
70
+ return /* @__PURE__ */ jsxs(
71
+ "div",
72
+ {
73
+ role: skeleton ? void 0 : resolveRole(role, color),
74
+ "aria-busy": skeleton || void 0,
75
+ className: cn(
76
+ "flex items-start gap-3 text-sm text-mari-foreground transition-opacity duration-200 motion-reduce:transition-none",
77
+ bgSubtleClass[color],
78
+ banner ? "border-b px-4 py-2.5" : "rounded-lg border p-3.5",
79
+ borderColorClass[color],
80
+ closing && "opacity-0",
81
+ className
82
+ ),
83
+ children: [
84
+ /* @__PURE__ */ jsx(ContentSkeleton, { on: skeleton, fallback: PLACEHOLDER, className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-wrap items-start gap-x-3 gap-y-2", children: [
85
+ iconNode && /* @__PURE__ */ jsx("span", { className: cn("flex shrink-0 items-center pt-px", textClass[color]), children: iconNode }),
86
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 basis-48", children: [
87
+ title && /* @__PURE__ */ jsx("p", { className: "font-semibold leading-5", children: title }),
88
+ description && /* @__PURE__ */ jsx("div", { className: cn("leading-5", title && "mt-0.5 text-mari-muted"), children: description })
89
+ ] }),
90
+ action && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: action })
91
+ ] }) }),
92
+ closable && /* @__PURE__ */ jsx(
93
+ "button",
94
+ {
95
+ type: "button",
96
+ onClick: close,
97
+ "aria-label": closeLabel,
98
+ className: cn(
99
+ "relative -m-1 inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-mari-muted transition-colors",
100
+ "hover:bg-mari-foreground/5 hover:text-mari-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring",
101
+ // 28px → 44px (her yönde 8px).
102
+ "pointer-coarse:before:absolute pointer-coarse:before:-inset-2"
103
+ ),
104
+ children: /* @__PURE__ */ jsx(XIcon, { size: 16, "aria-hidden": true })
105
+ }
106
+ )
107
+ ]
108
+ }
109
+ );
110
+ }
111
+ export {
112
+ Alert
113
+ };
114
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/alert/Alert.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState } from \"react\";\nimport { CircleAlertIcon, CircleCheckIcon, CircleXIcon, InfoIcon, SparklesIcon, XIcon } from \"lucide-react\";\nimport { cn, type ColorRole } from \"@mari-ui/core\";\nimport { bgSubtleClass, borderColorClass, textClass } from \"../lib/colorClasses\";\nimport { ContentSkeleton } from \"../lib/ContentSkeleton\";\nimport { SkeletonBlock } from \"../skeleton\";\nimport type { AlertProps } from \"./types\";\n\nexport type { AlertProps };\n\nconst EXIT_MS = 200;\n\nconst ICON: Record<ColorRole, React.ComponentType<{ size?: number; className?: string; \"aria-hidden\"?: boolean }>> = {\n success: CircleCheckIcon,\n info: InfoIcon,\n warning: CircleAlertIcon,\n error: CircleXIcon,\n primary: InfoIcon,\n accent: SparklesIcon,\n neutral: InfoIcon,\n};\n\nconst PLACEHOLDER = (\n <div className=\"flex flex-col gap-2 py-0.5\">\n <SkeletonBlock active width=\"40%\" height=\"0.875rem\" radius=\"sm\" />\n <SkeletonBlock active width=\"75%\" height=\"0.75rem\" radius=\"sm\" />\n </div>\n);\n\nfunction resolveRole(role: AlertProps[\"role\"], color: ColorRole): \"alert\" | \"status\" | undefined {\n if (role === \"none\") return undefined;\n if (role) return role;\n return color === \"error\" || color === \"warning\" ? \"alert\" : \"status\";\n}\n\nfunction renderIcon(icon: AlertProps[\"icon\"], color: ColorRole): React.ReactNode {\n if (icon === false) return null;\n if (icon !== true && icon !== undefined) return icon;\n const Icon = ICON[color];\n return <Icon size={18} aria-hidden />;\n}\n\n/**\n * Faz 16.2 — yapı ant.design Alert'ten, görünüm kendi token'larımızdan\n * (tonlu zemin + rol renginde ince kenarlık ve ikon; metin gövde renginde —\n * renkli uzun metin okunmaz). Eylem sağda, dar ekranda metnin altına iner.\n *\n * Erişilebilirlik: `error`/`warning` `role=\"alert\"` (hemen duyurulur), diğerleri\n * `role=\"status\"`. İkon görsel — anlam başlık/metinde. Kapat düğmesi\n * adlandırılmış, 44px dokunma hedefi; kapanınca kısa bir solma ile kalkar.\n */\nexport function Alert({\n title,\n description,\n color = \"info\",\n icon = true,\n action,\n closable = false,\n onClose,\n closeLabel = \"Uyarıyı kapat\",\n banner = false,\n role,\n className,\n skeleton = false,\n}: Readonly<AlertProps>) {\n const [closing, setClosing] = useState(false);\n const [closed, setClosed] = useState(false);\n if (closed) return null;\n\n const close = () => {\n setClosing(true);\n onClose?.();\n setTimeout(() => setClosed(true), EXIT_MS);\n };\n\n const iconNode = renderIcon(icon, color);\n\n return (\n <div\n role={skeleton ? undefined : resolveRole(role, color)}\n aria-busy={skeleton || undefined}\n className={cn(\n \"flex items-start gap-3 text-sm text-mari-foreground transition-opacity duration-200 motion-reduce:transition-none\",\n bgSubtleClass[color],\n banner ? \"border-b px-4 py-2.5\" : \"rounded-lg border p-3.5\",\n borderColorClass[color],\n closing && \"opacity-0\",\n className\n )}\n >\n <ContentSkeleton on={skeleton} fallback={PLACEHOLDER} className=\"min-w-0 flex-1\">\n <div className=\"flex min-w-0 flex-1 flex-wrap items-start gap-x-3 gap-y-2\">\n {iconNode && <span className={cn(\"flex shrink-0 items-center pt-px\", textClass[color])}>{iconNode}</span>}\n <div className=\"min-w-0 flex-1 basis-48\">\n {title && <p className=\"font-semibold leading-5\">{title}</p>}\n {description && <div className={cn(\"leading-5\", title && \"mt-0.5 text-mari-muted\")}>{description}</div>}\n </div>\n {action && <div className=\"flex shrink-0 items-center gap-2\">{action}</div>}\n </div>\n </ContentSkeleton>\n {closable && (\n <button\n type=\"button\"\n onClick={close}\n aria-label={closeLabel}\n className={cn(\n \"relative -m-1 inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-mari-muted transition-colors\",\n \"hover:bg-mari-foreground/5 hover:text-mari-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n // 28px → 44px (her yönde 8px).\n \"pointer-coarse:before:absolute pointer-coarse:before:-inset-2\"\n )}\n >\n <XIcon size={16} aria-hidden />\n </button>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA,SAAgB,gBAAgB;AAChC,SAAS,iBAAiB,iBAAiB,aAAa,UAAU,cAAc,aAAa;AAC7F,SAAS,UAA0B;AAqBjC,SACE,KADF;AAbF,IAAM,UAAU;AAEhB,IAAM,OAA+G;AAAA,EACnH,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,cACJ,qBAAC,SAAI,WAAU,8BACb;AAAA,sBAAC,iBAAc,QAAM,MAAC,OAAM,OAAM,QAAO,YAAW,QAAO,MAAK;AAAA,EAChE,oBAAC,iBAAc,QAAM,MAAC,OAAM,OAAM,QAAO,WAAU,QAAO,MAAK;AAAA,GACjE;AAGF,SAAS,YAAY,MAA0B,OAAkD;AAC/F,MAAI,SAAS,OAAQ,QAAO;AAC5B,MAAI,KAAM,QAAO;AACjB,SAAO,UAAU,WAAW,UAAU,YAAY,UAAU;AAC9D;AAEA,SAAS,WAAW,MAA0B,OAAmC;AAC/E,MAAI,SAAS,MAAO,QAAO;AAC3B,MAAI,SAAS,QAAQ,SAAS,OAAW,QAAO;AAChD,QAAM,OAAO,KAAK,KAAK;AACvB,SAAO,oBAAC,QAAK,MAAM,IAAI,eAAW,MAAC;AACrC;AAWO,SAAS,MAAM;AAAA,EACpB;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,aAAa;AAAA,EACb,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAAyB;AACvB,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,MAAI,OAAQ,QAAO;AAEnB,QAAM,QAAQ,MAAM;AAClB,eAAW,IAAI;AACf,cAAU;AACV,eAAW,MAAM,UAAU,IAAI,GAAG,OAAO;AAAA,EAC3C;AAEA,QAAM,WAAW,WAAW,MAAM,KAAK;AAEvC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,WAAW,SAAY,YAAY,MAAM,KAAK;AAAA,MACpD,aAAW,YAAY;AAAA,MACvB,WAAW;AAAA,QACT;AAAA,QACA,cAAc,KAAK;AAAA,QACnB,SAAS,yBAAyB;AAAA,QAClC,iBAAiB,KAAK;AAAA,QACtB,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MAEA;AAAA,4BAAC,mBAAgB,IAAI,UAAU,UAAU,aAAa,WAAU,kBAC9D,+BAAC,SAAI,WAAU,6DACZ;AAAA,sBAAY,oBAAC,UAAK,WAAW,GAAG,oCAAoC,UAAU,KAAK,CAAC,GAAI,oBAAS;AAAA,UAClG,qBAAC,SAAI,WAAU,2BACZ;AAAA,qBAAS,oBAAC,OAAE,WAAU,2BAA2B,iBAAM;AAAA,YACvD,eAAe,oBAAC,SAAI,WAAW,GAAG,aAAa,SAAS,wBAAwB,GAAI,uBAAY;AAAA,aACnG;AAAA,UACC,UAAU,oBAAC,SAAI,WAAU,oCAAoC,kBAAO;AAAA,WACvE,GACF;AAAA,QACC,YACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,cAAY;AAAA,YACZ,WAAW;AAAA,cACT;AAAA,cACA;AAAA;AAAA,cAEA;AAAA,YACF;AAAA,YAEA,8BAAC,SAAM,MAAM,IAAI,eAAW,MAAC;AAAA;AAAA,QAC/B;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
@@ -0,0 +1 @@
1
+ export * from "./types/autocomplete/index";
@@ -0,0 +1,158 @@
1
+ "use client";
2
+
3
+ import {
4
+ Input
5
+ } from "./chunk-P7Z5BREP.js";
6
+ import {
7
+ getFilteredOption,
8
+ splitMatch
9
+ } from "./chunk-YZ7MDC6B.js";
10
+ import "./chunk-KSPM2Z3T.js";
11
+ import "./chunk-DUCIAQGR.js";
12
+ import "./chunk-LBQMEHK6.js";
13
+ import {
14
+ elevationClass
15
+ } from "./chunk-TCYDVNSU.js";
16
+ import "./chunk-FFXRFQSU.js";
17
+ import "./chunk-IP2J3BWY.js";
18
+ import "./chunk-54HHEXXD.js";
19
+
20
+ // src/autocomplete/AutoComplete.tsx
21
+ import { useEffect, useId, useRef, useState } from "react";
22
+ import { cn, useControllableState } from "@mari-ui/core";
23
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
+ function HighlightedValue({ value, searchText }) {
25
+ const parts = splitMatch(value, searchText);
26
+ if (!parts) return /* @__PURE__ */ jsx(Fragment, { children: value });
27
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
28
+ parts[0],
29
+ /* @__PURE__ */ jsx("mark", { className: "bg-transparent font-semibold text-mari-foreground", children: parts[1] }),
30
+ parts[2]
31
+ ] });
32
+ }
33
+ function AutoComplete({
34
+ options,
35
+ value,
36
+ defaultValue = "",
37
+ onSearch,
38
+ onSelect,
39
+ placeholder = "Ara",
40
+ closeOnBlur = true,
41
+ notFoundContent,
42
+ size,
43
+ color,
44
+ disabled,
45
+ id,
46
+ name,
47
+ "aria-label": ariaLabel,
48
+ className,
49
+ skeleton = false
50
+ }) {
51
+ const [searchText, setSearchText] = useControllableState({ value, defaultValue, onChange: onSearch });
52
+ const [isFocused, setIsFocused] = useState(false);
53
+ const [activeIndex, setActiveIndex] = useState(-1);
54
+ const listboxId = useId();
55
+ const listRef = useRef(null);
56
+ const filteredOptions = getFilteredOption(options, searchText);
57
+ const showNotFound = filteredOptions.length === 0 && notFoundContent !== void 0 && searchText.trim() !== "";
58
+ const isOpen = isFocused && (filteredOptions.length > 0 || showNotFound);
59
+ const activeOption = activeIndex >= 0 ? filteredOptions[activeIndex] : void 0;
60
+ const optionId = (optId) => `${listboxId}-option-${optId}`;
61
+ useEffect(() => {
62
+ if (!activeOption) return;
63
+ document.getElementById(optionId(activeOption.id))?.scrollIntoView?.({ block: "nearest" });
64
+ }, [activeOption?.id]);
65
+ if (skeleton) return /* @__PURE__ */ jsx(Input, { skeleton: true, size, className });
66
+ const handleSelect = (optionValue) => {
67
+ setSearchText(optionValue);
68
+ onSelect?.(optionValue);
69
+ setIsFocused(false);
70
+ setActiveIndex(-1);
71
+ };
72
+ const handleKeyDown = (e) => {
73
+ if (e.key === "ArrowDown") {
74
+ e.preventDefault();
75
+ setIsFocused(true);
76
+ setActiveIndex((i) => Math.min(i + 1, filteredOptions.length - 1));
77
+ } else if (e.key === "ArrowUp") {
78
+ e.preventDefault();
79
+ setActiveIndex((i) => Math.max(i - 1, 0));
80
+ } else if (e.key === "Enter" && activeOption) {
81
+ e.preventDefault();
82
+ handleSelect(activeOption.value);
83
+ } else if (e.key === "Escape") {
84
+ setIsFocused(false);
85
+ setActiveIndex(-1);
86
+ }
87
+ };
88
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
89
+ /* @__PURE__ */ jsx(
90
+ Input,
91
+ {
92
+ id,
93
+ name,
94
+ value: searchText,
95
+ placeholder,
96
+ size,
97
+ color,
98
+ disabled,
99
+ allowClear: true,
100
+ onClear: () => {
101
+ setSearchText("");
102
+ setActiveIndex(-1);
103
+ },
104
+ onChange: (e) => {
105
+ setSearchText(e.target.value);
106
+ setActiveIndex(-1);
107
+ },
108
+ onKeyDown: handleKeyDown,
109
+ onFocus: () => setIsFocused(true),
110
+ onBlur: closeOnBlur ? () => setIsFocused(false) : void 0,
111
+ role: "combobox",
112
+ "aria-label": ariaLabel ?? placeholder,
113
+ "aria-autocomplete": "list",
114
+ "aria-expanded": isOpen,
115
+ "aria-controls": listboxId,
116
+ "aria-activedescendant": activeOption ? optionId(activeOption.id) : void 0,
117
+ autoComplete: "off"
118
+ }
119
+ ),
120
+ /* @__PURE__ */ jsxs(
121
+ "ul",
122
+ {
123
+ ref: listRef,
124
+ id: listboxId,
125
+ role: "listbox",
126
+ className: cn(
127
+ "absolute left-0 top-full z-mari-dropdown mt-1 max-h-64 w-full overflow-y-auto overscroll-contain rounded-lg bg-mari-surface p-1 text-sm transition-[opacity,translate] duration-150",
128
+ elevationClass.md,
129
+ isOpen ? "pointer-events-auto translate-y-0 opacity-100" : "pointer-events-none -translate-y-1 opacity-0"
130
+ ),
131
+ children: [
132
+ filteredOptions.map((option, i) => /* @__PURE__ */ jsx("li", { role: "presentation", children: /* @__PURE__ */ jsx(
133
+ "button",
134
+ {
135
+ id: optionId(option.id),
136
+ role: "option",
137
+ "aria-selected": i === activeIndex,
138
+ type: "button",
139
+ tabIndex: -1,
140
+ onMouseDown: (e) => e.preventDefault(),
141
+ onClick: () => handleSelect(option.value),
142
+ className: cn(
143
+ "flex min-h-8 w-full cursor-pointer items-center rounded-md px-2.5 py-1.5 text-left text-mari-muted hover:bg-mari-surface-alt pointer-coarse:min-h-11",
144
+ i === activeIndex && "bg-mari-surface-alt text-mari-foreground"
145
+ ),
146
+ children: /* @__PURE__ */ jsx("span", { className: "truncate", children: /* @__PURE__ */ jsx(HighlightedValue, { value: option.value, searchText }) })
147
+ }
148
+ ) }, option.id)),
149
+ showNotFound && /* @__PURE__ */ jsx("li", { role: "presentation", className: "px-2.5 py-2 text-mari-muted", children: notFoundContent })
150
+ ]
151
+ }
152
+ )
153
+ ] });
154
+ }
155
+ export {
156
+ AutoComplete
157
+ };
158
+ //# sourceMappingURL=autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/autocomplete/AutoComplete.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useId, useRef, useState } from \"react\";\nimport { cn, useControllableState } from \"@mari-ui/core\";\nimport { Input } from \"../input\";\nimport { elevationClass } from \"../lib/elevationClass\";\nimport type { AutoCompleteProps } from \"./types\";\nimport { getFilteredOption, splitMatch } from \"./utils\";\n\nexport type { AutoCompleteProps };\n\nfunction HighlightedValue({ value, searchText }: Readonly<{ value: string; searchText: string }>) {\n const parts = splitMatch(value, searchText);\n if (!parts) return <>{value}</>;\n return (\n <>\n {parts[0]}\n <mark className=\"bg-transparent font-semibold text-mari-foreground\">{parts[1]}</mark>\n {parts[2]}\n </>\n );\n}\n\n/**\n * ARIA \"combobox\" deseni (Faz 13): `role=\"combobox\"`/`listbox`/`option` +\n * Ok tuşları/Enter/Escape.\n *\n * Faz 15: temizleme bir `<svg onClick>` idi — buton değildi, klavyeyle\n * erişilemiyordu ve alan boşken de görünüyordu → Input'un etiketli\n * `allowClear`'ı. Liste yükseklik sınırı yoktu (100 seçenek sayfayı uzatırdı);\n * klavyeyle gezinirken aktif seçenek görünür alana kaydırılır. Eşleşen kısım\n * kalın. Türkçe/aksansız arama (`foldForSearch`). `size`/`color`/`disabled`\n * artık geçirilebilir.\n */\nexport function AutoComplete({\n options,\n value,\n defaultValue = \"\",\n onSearch,\n onSelect,\n placeholder = \"Ara\",\n closeOnBlur = true,\n notFoundContent,\n size,\n color,\n disabled,\n id,\n name,\n \"aria-label\": ariaLabel,\n className,\n skeleton = false,\n}: Readonly<AutoCompleteProps>) {\n const [searchText, setSearchText] = useControllableState<string>({ value, defaultValue, onChange: onSearch });\n const [isFocused, setIsFocused] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const listboxId = useId();\n const listRef = useRef<HTMLUListElement>(null);\n\n const filteredOptions = getFilteredOption(options, searchText);\n const showNotFound = filteredOptions.length === 0 && notFoundContent !== undefined && searchText.trim() !== \"\";\n const isOpen = isFocused && (filteredOptions.length > 0 || showNotFound);\n const activeOption = activeIndex >= 0 ? filteredOptions[activeIndex] : undefined;\n const optionId = (optId: number) => `${listboxId}-option-${optId}`;\n\n useEffect(() => {\n if (!activeOption) return;\n document.getElementById(optionId(activeOption.id))?.scrollIntoView?.({ block: \"nearest\" });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- yalnızca aktif seçenek değişince\n }, [activeOption?.id]);\n\n if (skeleton) return <Input skeleton size={size} className={className} />;\n\n const handleSelect = (optionValue: string) => {\n setSearchText(optionValue);\n onSelect?.(optionValue);\n setIsFocused(false);\n setActiveIndex(-1);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setIsFocused(true);\n setActiveIndex((i) => Math.min(i + 1, filteredOptions.length - 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((i) => Math.max(i - 1, 0));\n } else if (e.key === \"Enter\" && activeOption) {\n e.preventDefault();\n handleSelect(activeOption.value);\n } else if (e.key === \"Escape\") {\n setIsFocused(false);\n setActiveIndex(-1);\n }\n };\n\n return (\n <div className={cn(\"relative\", className)}>\n <Input\n id={id}\n name={name}\n value={searchText}\n placeholder={placeholder}\n size={size}\n color={color}\n disabled={disabled}\n allowClear\n onClear={() => {\n setSearchText(\"\");\n setActiveIndex(-1);\n }}\n onChange={(e) => {\n setSearchText(e.target.value);\n setActiveIndex(-1);\n }}\n onKeyDown={handleKeyDown}\n onFocus={() => setIsFocused(true)}\n onBlur={closeOnBlur ? () => setIsFocused(false) : undefined}\n role=\"combobox\"\n // `placeholder` bir accessible name SAYILMAZ — tüketici `aria-label`\n // vermediyse placeholder'dan türetilir.\n aria-label={ariaLabel ?? placeholder}\n aria-autocomplete=\"list\"\n aria-expanded={isOpen}\n aria-controls={listboxId}\n aria-activedescendant={activeOption ? optionId(activeOption.id) : undefined}\n autoComplete=\"off\"\n />\n <ul\n ref={listRef}\n id={listboxId}\n role=\"listbox\"\n className={cn(\n \"absolute left-0 top-full z-mari-dropdown mt-1 max-h-64 w-full overflow-y-auto overscroll-contain rounded-lg bg-mari-surface p-1 text-sm transition-[opacity,translate] duration-150\",\n elevationClass.md,\n isOpen ? \"pointer-events-auto translate-y-0 opacity-100\" : \"pointer-events-none -translate-y-1 opacity-0\"\n )}\n >\n {filteredOptions.map((option, i) => (\n <li key={option.id} role=\"presentation\">\n <button\n id={optionId(option.id)}\n role=\"option\"\n aria-selected={i === activeIndex}\n type=\"button\"\n tabIndex={-1}\n // onMouseDown (blur'dan ÖNCE) — aksi halde Input'un onBlur'u\n // listeyi gizleyip tıklamayı iptal ederdi.\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => handleSelect(option.value)}\n className={cn(\n \"flex min-h-8 w-full cursor-pointer items-center rounded-md px-2.5 py-1.5 text-left text-mari-muted hover:bg-mari-surface-alt pointer-coarse:min-h-11\",\n i === activeIndex && \"bg-mari-surface-alt text-mari-foreground\"\n )}\n >\n <span className=\"truncate\">\n <HighlightedValue value={option.value} searchText={searchText} />\n </span>\n </button>\n </li>\n ))}\n {showNotFound && (\n <li role=\"presentation\" className=\"px-2.5 py-2 text-mari-muted\">\n {notFoundContent}\n </li>\n )}\n </ul>\n </div>\n );\n}\n"],"mappings":"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","names":[]}