@mari-ui/components 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -2
  3. package/dist/accordion.d.ts +1 -0
  4. package/dist/accordion.js +245 -0
  5. package/dist/accordion.js.map +1 -0
  6. package/dist/alert.d.ts +1 -0
  7. package/dist/alert.js +114 -0
  8. package/dist/alert.js.map +1 -0
  9. package/dist/autocomplete.d.ts +1 -0
  10. package/dist/autocomplete.js +158 -0
  11. package/dist/autocomplete.js.map +1 -0
  12. package/dist/avatar.d.ts +1 -0
  13. package/dist/avatar.js +74 -0
  14. package/dist/avatar.js.map +1 -0
  15. package/dist/badge.d.ts +1 -0
  16. package/dist/badge.js +11 -0
  17. package/dist/badge.js.map +1 -0
  18. package/dist/breadcrumb.d.ts +1 -0
  19. package/dist/breadcrumb.js +141 -0
  20. package/dist/breadcrumb.js.map +1 -0
  21. package/dist/button.d.ts +1 -0
  22. package/dist/button.js +10 -0
  23. package/dist/button.js.map +1 -0
  24. package/dist/calendar.d.ts +1 -0
  25. package/dist/calendar.js +208 -0
  26. package/dist/calendar.js.map +1 -0
  27. package/dist/card.d.ts +1 -0
  28. package/dist/card.js +148 -0
  29. package/dist/card.js.map +1 -0
  30. package/dist/carousel.d.ts +1 -0
  31. package/dist/carousel.js +383 -0
  32. package/dist/carousel.js.map +1 -0
  33. package/dist/chart.d.ts +1 -0
  34. package/dist/chart.js +986 -0
  35. package/dist/chart.js.map +1 -0
  36. package/dist/checkbox.d.ts +1 -0
  37. package/dist/checkbox.js +10 -0
  38. package/dist/checkbox.js.map +1 -0
  39. package/dist/chunk-2IEXY3OZ.js +147 -0
  40. package/dist/chunk-2IEXY3OZ.js.map +1 -0
  41. package/dist/chunk-3ABWBQCS.js +49 -0
  42. package/dist/chunk-3ABWBQCS.js.map +1 -0
  43. package/dist/chunk-47FHUOLT.js +166 -0
  44. package/dist/chunk-47FHUOLT.js.map +1 -0
  45. package/dist/chunk-54HHEXXD.js +20 -0
  46. package/dist/chunk-54HHEXXD.js.map +1 -0
  47. package/dist/chunk-BDV4GOEN.js +53 -0
  48. package/dist/chunk-BDV4GOEN.js.map +1 -0
  49. package/dist/chunk-CYLXW66E.js +449 -0
  50. package/dist/chunk-CYLXW66E.js.map +1 -0
  51. package/dist/chunk-DKENCYHA.js +15 -0
  52. package/dist/chunk-DKENCYHA.js.map +1 -0
  53. package/dist/chunk-DUCIAQGR.js +67 -0
  54. package/dist/chunk-DUCIAQGR.js.map +1 -0
  55. package/dist/chunk-ELHESRRH.js +240 -0
  56. package/dist/chunk-ELHESRRH.js.map +1 -0
  57. package/dist/chunk-FFXRFQSU.js +51 -0
  58. package/dist/chunk-FFXRFQSU.js.map +1 -0
  59. package/dist/chunk-FNJHS5KQ.js +330 -0
  60. package/dist/chunk-FNJHS5KQ.js.map +1 -0
  61. package/dist/chunk-IO4346TF.js +392 -0
  62. package/dist/chunk-IO4346TF.js.map +1 -0
  63. package/dist/chunk-IP2J3BWY.js +185 -0
  64. package/dist/chunk-IP2J3BWY.js.map +1 -0
  65. package/dist/chunk-JNZODUXP.js +116 -0
  66. package/dist/chunk-JNZODUXP.js.map +1 -0
  67. package/dist/chunk-KCYM2JXP.js +202 -0
  68. package/dist/chunk-KCYM2JXP.js.map +1 -0
  69. package/dist/chunk-KG6A32KX.js +23 -0
  70. package/dist/chunk-KG6A32KX.js.map +1 -0
  71. package/dist/chunk-KSPM2Z3T.js +43 -0
  72. package/dist/chunk-KSPM2Z3T.js.map +1 -0
  73. package/dist/chunk-LBQMEHK6.js +54 -0
  74. package/dist/chunk-LBQMEHK6.js.map +1 -0
  75. package/dist/chunk-LBXIPDAB.js +50 -0
  76. package/dist/chunk-LBXIPDAB.js.map +1 -0
  77. package/dist/chunk-LEOIKO7C.js +144 -0
  78. package/dist/chunk-LEOIKO7C.js.map +1 -0
  79. package/dist/chunk-LZHERDNB.js +344 -0
  80. package/dist/chunk-LZHERDNB.js.map +1 -0
  81. package/dist/chunk-NPM7IDYV.js +145 -0
  82. package/dist/chunk-NPM7IDYV.js.map +1 -0
  83. package/dist/chunk-NS7FKOFI.js +56 -0
  84. package/dist/chunk-NS7FKOFI.js.map +1 -0
  85. package/dist/chunk-P7Z5BREP.js +935 -0
  86. package/dist/chunk-P7Z5BREP.js.map +1 -0
  87. package/dist/chunk-QDFDMWXD.js +236 -0
  88. package/dist/chunk-QDFDMWXD.js.map +1 -0
  89. package/dist/chunk-QNOHFHVL.js +555 -0
  90. package/dist/chunk-QNOHFHVL.js.map +1 -0
  91. package/dist/chunk-QZRBO7BE.js +684 -0
  92. package/dist/chunk-QZRBO7BE.js.map +1 -0
  93. package/dist/chunk-RAS77O7N.js +81 -0
  94. package/dist/chunk-RAS77O7N.js.map +1 -0
  95. package/dist/chunk-RIBB5OJV.js +152 -0
  96. package/dist/chunk-RIBB5OJV.js.map +1 -0
  97. package/dist/chunk-S66GKX2W.js +50 -0
  98. package/dist/chunk-S66GKX2W.js.map +1 -0
  99. package/dist/chunk-TCYDVNSU.js +13 -0
  100. package/dist/chunk-TCYDVNSU.js.map +1 -0
  101. package/dist/chunk-TXRQCHOR.js +401 -0
  102. package/dist/chunk-TXRQCHOR.js.map +1 -0
  103. package/dist/chunk-V7KDUUV6.js +101 -0
  104. package/dist/chunk-V7KDUUV6.js.map +1 -0
  105. package/dist/chunk-XUKVQO6M.js +31 -0
  106. package/dist/chunk-XUKVQO6M.js.map +1 -0
  107. package/dist/chunk-YZ7MDC6B.js +189 -0
  108. package/dist/chunk-YZ7MDC6B.js.map +1 -0
  109. package/dist/chunk-ZLPAXPDI.js +69 -0
  110. package/dist/chunk-ZLPAXPDI.js.map +1 -0
  111. package/dist/chunk-ZMA7BT2L.js +223 -0
  112. package/dist/chunk-ZMA7BT2L.js.map +1 -0
  113. package/dist/chunk-ZXYQ2ZPR.js +79 -0
  114. package/dist/chunk-ZXYQ2ZPR.js.map +1 -0
  115. package/dist/color-picker.d.ts +1 -0
  116. package/dist/color-picker.js +32 -0
  117. package/dist/color-picker.js.map +1 -0
  118. package/dist/date-picker.d.ts +1 -0
  119. package/dist/date-picker.js +826 -0
  120. package/dist/date-picker.js.map +1 -0
  121. package/dist/divider.d.ts +1 -0
  122. package/dist/divider.js +106 -0
  123. package/dist/divider.js.map +1 -0
  124. package/dist/drawer.d.ts +1 -0
  125. package/dist/drawer.js +14 -0
  126. package/dist/drawer.js.map +1 -0
  127. package/dist/dropdown.d.ts +1 -0
  128. package/dist/dropdown.js +23 -0
  129. package/dist/dropdown.js.map +1 -0
  130. package/dist/empty.d.ts +1 -0
  131. package/dist/empty.js +11 -0
  132. package/dist/empty.js.map +1 -0
  133. package/dist/field.d.ts +1 -0
  134. package/dist/field.js +51 -0
  135. package/dist/field.js.map +1 -0
  136. package/dist/float-button.d.ts +1 -0
  137. package/dist/float-button.js +247 -0
  138. package/dist/float-button.js.map +1 -0
  139. package/dist/image.d.ts +1 -0
  140. package/dist/image.js +1727 -0
  141. package/dist/image.js.map +1 -0
  142. package/dist/input-number.d.ts +1 -0
  143. package/dist/input-number.js +12 -0
  144. package/dist/input-number.js.map +1 -0
  145. package/dist/input.d.ts +1 -0
  146. package/dist/input.js +21 -0
  147. package/dist/input.js.map +1 -0
  148. package/dist/list.d.ts +1 -0
  149. package/dist/list.js +270 -0
  150. package/dist/list.js.map +1 -0
  151. package/dist/loading.d.ts +1 -0
  152. package/dist/loading.js +7 -0
  153. package/dist/loading.js.map +1 -0
  154. package/dist/logo.d.ts +1 -0
  155. package/dist/logo.js +38 -0
  156. package/dist/logo.js.map +1 -0
  157. package/dist/manifest.json +9006 -0
  158. package/dist/mari.css +145 -0
  159. package/dist/masonry.d.ts +1 -0
  160. package/dist/masonry.js +143 -0
  161. package/dist/masonry.js.map +1 -0
  162. package/dist/menu.d.ts +1 -0
  163. package/dist/menu.js +1682 -0
  164. package/dist/menu.js.map +1 -0
  165. package/dist/modal.d.ts +1 -0
  166. package/dist/modal.js +280 -0
  167. package/dist/modal.js.map +1 -0
  168. package/dist/pagination.d.ts +1 -0
  169. package/dist/pagination.js +11 -0
  170. package/dist/pagination.js.map +1 -0
  171. package/dist/popconfirm.d.ts +1 -0
  172. package/dist/popconfirm.js +110 -0
  173. package/dist/popconfirm.js.map +1 -0
  174. package/dist/popover.d.ts +1 -0
  175. package/dist/popover.js +16 -0
  176. package/dist/popover.js.map +1 -0
  177. package/dist/progress.d.ts +1 -0
  178. package/dist/progress.js +135 -0
  179. package/dist/progress.js.map +1 -0
  180. package/dist/qrcode.d.ts +1 -0
  181. package/dist/qrcode.js +212 -0
  182. package/dist/qrcode.js.map +1 -0
  183. package/dist/radio.d.ts +1 -0
  184. package/dist/radio.js +221 -0
  185. package/dist/radio.js.map +1 -0
  186. package/dist/rate.d.ts +1 -0
  187. package/dist/rate.js +196 -0
  188. package/dist/rate.js.map +1 -0
  189. package/dist/segmented.d.ts +1 -0
  190. package/dist/segmented.js +10 -0
  191. package/dist/segmented.js.map +1 -0
  192. package/dist/select.d.ts +1 -0
  193. package/dist/select.js +18 -0
  194. package/dist/select.js.map +1 -0
  195. package/dist/skeleton.d.ts +1 -0
  196. package/dist/skeleton.js +15 -0
  197. package/dist/skeleton.js.map +1 -0
  198. package/dist/slider.d.ts +1 -0
  199. package/dist/slider.js +401 -0
  200. package/dist/slider.js.map +1 -0
  201. package/dist/splitter.d.ts +1 -0
  202. package/dist/splitter.js +323 -0
  203. package/dist/splitter.js.map +1 -0
  204. package/dist/statistic.d.ts +1 -0
  205. package/dist/statistic.js +299 -0
  206. package/dist/statistic.js.map +1 -0
  207. package/dist/steps.d.ts +1 -0
  208. package/dist/steps.js +395 -0
  209. package/dist/steps.js.map +1 -0
  210. package/dist/styles.css +2 -0
  211. package/dist/switch.d.ts +1 -0
  212. package/dist/switch.js +172 -0
  213. package/dist/switch.js.map +1 -0
  214. package/dist/table.d.ts +1 -0
  215. package/dist/table.js +471 -0
  216. package/dist/table.js.map +1 -0
  217. package/dist/tabs.d.ts +1 -0
  218. package/dist/tabs.js +446 -0
  219. package/dist/tabs.js.map +1 -0
  220. package/dist/tag.d.ts +1 -0
  221. package/dist/tag.js +9 -0
  222. package/dist/tag.js.map +1 -0
  223. package/dist/tailwind.css +13 -0
  224. package/dist/theme-customizer.d.ts +1 -0
  225. package/dist/theme-customizer.js +271 -0
  226. package/dist/theme-customizer.js.map +1 -0
  227. package/dist/timeline.d.ts +1 -0
  228. package/dist/timeline.js +176 -0
  229. package/dist/timeline.js.map +1 -0
  230. package/dist/toast.d.ts +1 -0
  231. package/dist/toast.js +17 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/tooltip.d.ts +1 -0
  234. package/dist/tooltip.js +10 -0
  235. package/dist/tooltip.js.map +1 -0
  236. package/dist/tour.d.ts +1 -0
  237. package/dist/tour.js +253 -0
  238. package/dist/tour.js.map +1 -0
  239. package/dist/transfer.d.ts +1 -0
  240. package/dist/transfer.js +423 -0
  241. package/dist/transfer.js.map +1 -0
  242. package/dist/tree-select.d.ts +1 -0
  243. package/dist/tree-select.js +549 -0
  244. package/dist/tree-select.js.map +1 -0
  245. package/dist/tree.d.ts +1 -0
  246. package/dist/tree.js +23 -0
  247. package/dist/tree.js.map +1 -0
  248. package/dist/types/accordion/Accordion.d.ts +16 -0
  249. package/dist/types/accordion/Accordion.d.ts.map +1 -0
  250. package/dist/types/accordion/index.d.ts +3 -0
  251. package/dist/types/accordion/index.d.ts.map +1 -0
  252. package/dist/types/accordion/types.d.ts +57 -0
  253. package/dist/types/accordion/types.d.ts.map +1 -0
  254. package/dist/types/accordion/utils.d.ts +10 -0
  255. package/dist/types/accordion/utils.d.ts.map +1 -0
  256. package/dist/types/alert/Alert.d.ts +14 -0
  257. package/dist/types/alert/Alert.d.ts.map +1 -0
  258. package/dist/types/alert/index.d.ts +3 -0
  259. package/dist/types/alert/index.d.ts.map +1 -0
  260. package/dist/types/alert/types.d.ts +33 -0
  261. package/dist/types/alert/types.d.ts.map +1 -0
  262. package/dist/types/autocomplete/AutoComplete.d.ts +16 -0
  263. package/dist/types/autocomplete/AutoComplete.d.ts.map +1 -0
  264. package/dist/types/autocomplete/index.d.ts +3 -0
  265. package/dist/types/autocomplete/index.d.ts.map +1 -0
  266. package/dist/types/autocomplete/types.d.ts +28 -0
  267. package/dist/types/autocomplete/types.d.ts.map +1 -0
  268. package/dist/types/autocomplete/utils.d.ts +14 -0
  269. package/dist/types/autocomplete/utils.d.ts.map +1 -0
  270. package/dist/types/avatar/Avatar.d.ts +10 -0
  271. package/dist/types/avatar/Avatar.d.ts.map +1 -0
  272. package/dist/types/avatar/index.d.ts +3 -0
  273. package/dist/types/avatar/index.d.ts.map +1 -0
  274. package/dist/types/avatar/types.d.ts +29 -0
  275. package/dist/types/avatar/types.d.ts.map +1 -0
  276. package/dist/types/avatar/utils.d.ts +12 -0
  277. package/dist/types/avatar/utils.d.ts.map +1 -0
  278. package/dist/types/badge/Badge.d.ts +19 -0
  279. package/dist/types/badge/Badge.d.ts.map +1 -0
  280. package/dist/types/badge/index.d.ts +3 -0
  281. package/dist/types/badge/index.d.ts.map +1 -0
  282. package/dist/types/badge/types.d.ts +38 -0
  283. package/dist/types/badge/types.d.ts.map +1 -0
  284. package/dist/types/breadcrumb/Breadcrumb.d.ts +21 -0
  285. package/dist/types/breadcrumb/Breadcrumb.d.ts.map +1 -0
  286. package/dist/types/breadcrumb/index.d.ts +3 -0
  287. package/dist/types/breadcrumb/index.d.ts.map +1 -0
  288. package/dist/types/breadcrumb/types.d.ts +47 -0
  289. package/dist/types/breadcrumb/types.d.ts.map +1 -0
  290. package/dist/types/breadcrumb/utils.d.ts +25 -0
  291. package/dist/types/breadcrumb/utils.d.ts.map +1 -0
  292. package/dist/types/button/Button.d.ts +12 -0
  293. package/dist/types/button/Button.d.ts.map +1 -0
  294. package/dist/types/button/index.d.ts +3 -0
  295. package/dist/types/button/index.d.ts.map +1 -0
  296. package/dist/types/button/types.d.ts +57 -0
  297. package/dist/types/button/types.d.ts.map +1 -0
  298. package/dist/types/button/utils.d.ts +10 -0
  299. package/dist/types/button/utils.d.ts.map +1 -0
  300. package/dist/types/calendar/Calendar.d.ts +11 -0
  301. package/dist/types/calendar/Calendar.d.ts.map +1 -0
  302. package/dist/types/calendar/_components/CalendarPanel.d.ts +36 -0
  303. package/dist/types/calendar/_components/CalendarPanel.d.ts.map +1 -0
  304. package/dist/types/calendar/_components/CellGrid.d.ts +32 -0
  305. package/dist/types/calendar/_components/CellGrid.d.ts.map +1 -0
  306. package/dist/types/calendar/_components/DayGrid.d.ts +47 -0
  307. package/dist/types/calendar/_components/DayGrid.d.ts.map +1 -0
  308. package/dist/types/calendar/index.d.ts +3 -0
  309. package/dist/types/calendar/index.d.ts.map +1 -0
  310. package/dist/types/calendar/types.d.ts +49 -0
  311. package/dist/types/calendar/types.d.ts.map +1 -0
  312. package/dist/types/card/Card.d.ts +21 -0
  313. package/dist/types/card/Card.d.ts.map +1 -0
  314. package/dist/types/card/index.d.ts +3 -0
  315. package/dist/types/card/index.d.ts.map +1 -0
  316. package/dist/types/card/types.d.ts +49 -0
  317. package/dist/types/card/types.d.ts.map +1 -0
  318. package/dist/types/card/utils.d.ts +17 -0
  319. package/dist/types/card/utils.d.ts.map +1 -0
  320. package/dist/types/carousel/Carousel.d.ts +62 -0
  321. package/dist/types/carousel/Carousel.d.ts.map +1 -0
  322. package/dist/types/carousel/index.d.ts +4 -0
  323. package/dist/types/carousel/index.d.ts.map +1 -0
  324. package/dist/types/carousel/types.d.ts +33 -0
  325. package/dist/types/carousel/types.d.ts.map +1 -0
  326. package/dist/types/carousel/utils.d.ts +14 -0
  327. package/dist/types/carousel/utils.d.ts.map +1 -0
  328. package/dist/types/chart/_shared/ChartFrame.d.ts +55 -0
  329. package/dist/types/chart/_shared/ChartFrame.d.ts.map +1 -0
  330. package/dist/types/chart/_shared/ChartSkeleton.d.ts +41 -0
  331. package/dist/types/chart/_shared/ChartSkeleton.d.ts.map +1 -0
  332. package/dist/types/chart/_shared/animation.d.ts +39 -0
  333. package/dist/types/chart/_shared/animation.d.ts.map +1 -0
  334. package/dist/types/chart/_shared/cartesian.d.ts +50 -0
  335. package/dist/types/chart/_shared/cartesian.d.ts.map +1 -0
  336. package/dist/types/chart/_shared/format.d.ts +10 -0
  337. package/dist/types/chart/_shared/format.d.ts.map +1 -0
  338. package/dist/types/chart/_shared/paths.d.ts +20 -0
  339. package/dist/types/chart/_shared/paths.d.ts.map +1 -0
  340. package/dist/types/chart/_shared/scale.d.ts +35 -0
  341. package/dist/types/chart/_shared/scale.d.ts.map +1 -0
  342. package/dist/types/chart/_shared/storyDocs.d.ts +3 -0
  343. package/dist/types/chart/_shared/storyDocs.d.ts.map +1 -0
  344. package/dist/types/chart/_shared/useChartSize.d.ts +17 -0
  345. package/dist/types/chart/_shared/useChartSize.d.ts.map +1 -0
  346. package/dist/types/chart/bar-chart/BarChart.d.ts +17 -0
  347. package/dist/types/chart/bar-chart/BarChart.d.ts.map +1 -0
  348. package/dist/types/chart/bar-chart/bars.d.ts +21 -0
  349. package/dist/types/chart/bar-chart/bars.d.ts.map +1 -0
  350. package/dist/types/chart/gauge/Gauge.d.ts +42 -0
  351. package/dist/types/chart/gauge/Gauge.d.ts.map +1 -0
  352. package/dist/types/chart/index.d.ts +12 -0
  353. package/dist/types/chart/index.d.ts.map +1 -0
  354. package/dist/types/chart/line-chart/LineChart.d.ts +22 -0
  355. package/dist/types/chart/line-chart/LineChart.d.ts.map +1 -0
  356. package/dist/types/chart/pie-chart/PieChart.d.ts +33 -0
  357. package/dist/types/chart/pie-chart/PieChart.d.ts.map +1 -0
  358. package/dist/types/chart/sparkline/Sparkline.d.ts +31 -0
  359. package/dist/types/chart/sparkline/Sparkline.d.ts.map +1 -0
  360. package/dist/types/chart/storyData.d.ts +36 -0
  361. package/dist/types/chart/storyData.d.ts.map +1 -0
  362. package/dist/types/chart/types.d.ts +50 -0
  363. package/dist/types/chart/types.d.ts.map +1 -0
  364. package/dist/types/checkbox/Checkbox.d.ts +5 -0
  365. package/dist/types/checkbox/Checkbox.d.ts.map +1 -0
  366. package/dist/types/checkbox/index.d.ts +3 -0
  367. package/dist/types/checkbox/index.d.ts.map +1 -0
  368. package/dist/types/checkbox/types.d.ts +35 -0
  369. package/dist/types/checkbox/types.d.ts.map +1 -0
  370. package/dist/types/checkbox/utils.d.ts +15 -0
  371. package/dist/types/checkbox/utils.d.ts.map +1 -0
  372. package/dist/types/color-picker/ColorPicker.d.ts +17 -0
  373. package/dist/types/color-picker/ColorPicker.d.ts.map +1 -0
  374. package/dist/types/color-picker/_components/ColorArea.d.ts +19 -0
  375. package/dist/types/color-picker/_components/ColorArea.d.ts.map +1 -0
  376. package/dist/types/color-picker/_components/ColorInputs.d.ts +14 -0
  377. package/dist/types/color-picker/_components/ColorInputs.d.ts.map +1 -0
  378. package/dist/types/color-picker/_components/ColorPresets.d.ts +9 -0
  379. package/dist/types/color-picker/_components/ColorPresets.d.ts.map +1 -0
  380. package/dist/types/color-picker/_components/ColorSlider.d.ts +24 -0
  381. package/dist/types/color-picker/_components/ColorSlider.d.ts.map +1 -0
  382. package/dist/types/color-picker/_components/Swatch.d.ts +14 -0
  383. package/dist/types/color-picker/_components/Swatch.d.ts.map +1 -0
  384. package/dist/types/color-picker/_components/usePointerDrag.d.ts +18 -0
  385. package/dist/types/color-picker/_components/usePointerDrag.d.ts.map +1 -0
  386. package/dist/types/color-picker/index.d.ts +4 -0
  387. package/dist/types/color-picker/index.d.ts.map +1 -0
  388. package/dist/types/color-picker/types.d.ts +81 -0
  389. package/dist/types/color-picker/types.d.ts.map +1 -0
  390. package/dist/types/color-picker/utils.d.ts +50 -0
  391. package/dist/types/color-picker/utils.d.ts.map +1 -0
  392. package/dist/types/date-picker/DatePicker.d.ts +17 -0
  393. package/dist/types/date-picker/DatePicker.d.ts.map +1 -0
  394. package/dist/types/date-picker/TimePicker.d.ts +8 -0
  395. package/dist/types/date-picker/TimePicker.d.ts.map +1 -0
  396. package/dist/types/date-picker/_components/PickerPanel.d.ts +21 -0
  397. package/dist/types/date-picker/_components/PickerPanel.d.ts.map +1 -0
  398. package/dist/types/date-picker/_components/TimePanel.d.ts +13 -0
  399. package/dist/types/date-picker/_components/TimePanel.d.ts.map +1 -0
  400. package/dist/types/date-picker/index.d.ts +4 -0
  401. package/dist/types/date-picker/index.d.ts.map +1 -0
  402. package/dist/types/date-picker/types.d.ts +89 -0
  403. package/dist/types/date-picker/types.d.ts.map +1 -0
  404. package/dist/types/date-picker/usePickerState.d.ts +37 -0
  405. package/dist/types/date-picker/usePickerState.d.ts.map +1 -0
  406. package/dist/types/date-picker/utils.d.ts +24 -0
  407. package/dist/types/date-picker/utils.d.ts.map +1 -0
  408. package/dist/types/divider/Divider.d.ts +8 -0
  409. package/dist/types/divider/Divider.d.ts.map +1 -0
  410. package/dist/types/divider/index.d.ts +3 -0
  411. package/dist/types/divider/index.d.ts.map +1 -0
  412. package/dist/types/divider/types.d.ts +25 -0
  413. package/dist/types/divider/types.d.ts.map +1 -0
  414. package/dist/types/divider/utils.d.ts +12 -0
  415. package/dist/types/divider/utils.d.ts.map +1 -0
  416. package/dist/types/drawer/Drawer.d.ts +27 -0
  417. package/dist/types/drawer/Drawer.d.ts.map +1 -0
  418. package/dist/types/drawer/index.d.ts +3 -0
  419. package/dist/types/drawer/index.d.ts.map +1 -0
  420. package/dist/types/drawer/types.d.ts +51 -0
  421. package/dist/types/drawer/types.d.ts.map +1 -0
  422. package/dist/types/drawer/utils.d.ts +5 -0
  423. package/dist/types/drawer/utils.d.ts.map +1 -0
  424. package/dist/types/dropdown/Dropdown.d.ts +6 -0
  425. package/dist/types/dropdown/Dropdown.d.ts.map +1 -0
  426. package/dist/types/dropdown/_components/DropdownContent.d.ts +16 -0
  427. package/dist/types/dropdown/_components/DropdownContent.d.ts.map +1 -0
  428. package/dist/types/dropdown/_components/DropdownItem.d.ts +18 -0
  429. package/dist/types/dropdown/_components/DropdownItem.d.ts.map +1 -0
  430. package/dist/types/dropdown/_components/DropdownTrigger.d.ts +4 -0
  431. package/dist/types/dropdown/_components/DropdownTrigger.d.ts.map +1 -0
  432. package/dist/types/dropdown/index.d.ts +6 -0
  433. package/dist/types/dropdown/index.d.ts.map +1 -0
  434. package/dist/types/dropdown/types.d.ts +69 -0
  435. package/dist/types/dropdown/types.d.ts.map +1 -0
  436. package/dist/types/dropdown/useDropdown.d.ts +44 -0
  437. package/dist/types/dropdown/useDropdown.d.ts.map +1 -0
  438. package/dist/types/dropdown/utils.d.ts +13 -0
  439. package/dist/types/dropdown/utils.d.ts.map +1 -0
  440. package/dist/types/empty/Empty.d.ts +32 -0
  441. package/dist/types/empty/Empty.d.ts.map +1 -0
  442. package/dist/types/empty/index.d.ts +3 -0
  443. package/dist/types/empty/index.d.ts.map +1 -0
  444. package/dist/types/field/Field.d.ts +20 -0
  445. package/dist/types/field/Field.d.ts.map +1 -0
  446. package/dist/types/field/index.d.ts +3 -0
  447. package/dist/types/field/index.d.ts.map +1 -0
  448. package/dist/types/field/types.d.ts +26 -0
  449. package/dist/types/field/types.d.ts.map +1 -0
  450. package/dist/types/float-button/BackTop.d.ts +11 -0
  451. package/dist/types/float-button/BackTop.d.ts.map +1 -0
  452. package/dist/types/float-button/FloatButton.d.ts +28 -0
  453. package/dist/types/float-button/FloatButton.d.ts.map +1 -0
  454. package/dist/types/float-button/FloatButtonGroup.d.ts +11 -0
  455. package/dist/types/float-button/FloatButtonGroup.d.ts.map +1 -0
  456. package/dist/types/float-button/index.d.ts +5 -0
  457. package/dist/types/float-button/index.d.ts.map +1 -0
  458. package/dist/types/float-button/types.d.ts +73 -0
  459. package/dist/types/float-button/types.d.ts.map +1 -0
  460. package/dist/types/float-button/utils.d.ts +14 -0
  461. package/dist/types/float-button/utils.d.ts.map +1 -0
  462. package/dist/types/foundations/PersonaDocs.d.ts +11 -0
  463. package/dist/types/foundations/PersonaDocs.d.ts.map +1 -0
  464. package/dist/types/foundations/usePersonaTheme.d.ts +17 -0
  465. package/dist/types/foundations/usePersonaTheme.d.ts.map +1 -0
  466. package/dist/types/image/Image.d.ts +16 -0
  467. package/dist/types/image/Image.d.ts.map +1 -0
  468. package/dist/types/image/ImageGallery.d.ts +82 -0
  469. package/dist/types/image/ImageGallery.d.ts.map +1 -0
  470. package/dist/types/image/ImageViewer.d.ts +54 -0
  471. package/dist/types/image/ImageViewer.d.ts.map +1 -0
  472. package/dist/types/image/galleryUtils.d.ts +89 -0
  473. package/dist/types/image/galleryUtils.d.ts.map +1 -0
  474. package/dist/types/image/index.d.ts +7 -0
  475. package/dist/types/image/index.d.ts.map +1 -0
  476. package/dist/types/image/types.d.ts +78 -0
  477. package/dist/types/image/types.d.ts.map +1 -0
  478. package/dist/types/image/utils.d.ts +54 -0
  479. package/dist/types/image/utils.d.ts.map +1 -0
  480. package/dist/types/image/viewerUtils.d.ts +66 -0
  481. package/dist/types/image/viewerUtils.d.ts.map +1 -0
  482. package/dist/types/input/Input.d.ts +5 -0
  483. package/dist/types/input/Input.d.ts.map +1 -0
  484. package/dist/types/input/OtpInput.d.ts +41 -0
  485. package/dist/types/input/OtpInput.d.ts.map +1 -0
  486. package/dist/types/input/SearchInput.d.ts +25 -0
  487. package/dist/types/input/SearchInput.d.ts.map +1 -0
  488. package/dist/types/input/Textarea.d.ts +59 -0
  489. package/dist/types/input/Textarea.d.ts.map +1 -0
  490. package/dist/types/input/_components/FieldAdornments.d.ts +22 -0
  491. package/dist/types/input/_components/FieldAdornments.d.ts.map +1 -0
  492. package/dist/types/input/_components/OtpSingleField.d.ts +38 -0
  493. package/dist/types/input/_components/OtpSingleField.d.ts.map +1 -0
  494. package/dist/types/input/index.d.ts +10 -0
  495. package/dist/types/input/index.d.ts.map +1 -0
  496. package/dist/types/input/mention/caret.d.ts +12 -0
  497. package/dist/types/input/mention/caret.d.ts.map +1 -0
  498. package/dist/types/input/mention/types.d.ts +45 -0
  499. package/dist/types/input/mention/types.d.ts.map +1 -0
  500. package/dist/types/input/mention/useMention.d.ts +16 -0
  501. package/dist/types/input/mention/useMention.d.ts.map +1 -0
  502. package/dist/types/input/mention/utils.d.ts +22 -0
  503. package/dist/types/input/mention/utils.d.ts.map +1 -0
  504. package/dist/types/input/types.d.ts +97 -0
  505. package/dist/types/input/types.d.ts.map +1 -0
  506. package/dist/types/input/utils.d.ts +51 -0
  507. package/dist/types/input/utils.d.ts.map +1 -0
  508. package/dist/types/input-number/InputNumber.d.ts +17 -0
  509. package/dist/types/input-number/InputNumber.d.ts.map +1 -0
  510. package/dist/types/input-number/index.d.ts +3 -0
  511. package/dist/types/input-number/index.d.ts.map +1 -0
  512. package/dist/types/input-number/types.d.ts +53 -0
  513. package/dist/types/input-number/types.d.ts.map +1 -0
  514. package/dist/types/input-number/utils.d.ts +42 -0
  515. package/dist/types/input-number/utils.d.ts.map +1 -0
  516. package/dist/types/lib/AnimationDemo.d.ts +13 -0
  517. package/dist/types/lib/AnimationDemo.d.ts.map +1 -0
  518. package/dist/types/lib/ContentSkeleton.d.ts +21 -0
  519. package/dist/types/lib/ContentSkeleton.d.ts.map +1 -0
  520. package/dist/types/lib/FloatingArrow.d.ts +22 -0
  521. package/dist/types/lib/FloatingArrow.d.ts.map +1 -0
  522. package/dist/types/lib/SkeletonDemo.d.ts +14 -0
  523. package/dist/types/lib/SkeletonDemo.d.ts.map +1 -0
  524. package/dist/types/lib/SkeletonSlot.d.ts +22 -0
  525. package/dist/types/lib/SkeletonSlot.d.ts.map +1 -0
  526. package/dist/types/lib/colorClasses.d.ts +57 -0
  527. package/dist/types/lib/colorClasses.d.ts.map +1 -0
  528. package/dist/types/lib/date/index.d.ts +51 -0
  529. package/dist/types/lib/date/index.d.ts.map +1 -0
  530. package/dist/types/lib/elevationClass.d.ts +10 -0
  531. package/dist/types/lib/elevationClass.d.ts.map +1 -0
  532. package/dist/types/lib/fieldContext.d.ts +61 -0
  533. package/dist/types/lib/fieldContext.d.ts.map +1 -0
  534. package/dist/types/lib/floating.d.ts +46 -0
  535. package/dist/types/lib/floating.d.ts.map +1 -0
  536. package/dist/types/lib/infiniteScroll.d.ts +36 -0
  537. package/dist/types/lib/infiniteScroll.d.ts.map +1 -0
  538. package/dist/types/lib/linkBehavior.d.ts +38 -0
  539. package/dist/types/lib/linkBehavior.d.ts.map +1 -0
  540. package/dist/types/lib/overlay.d.ts +55 -0
  541. package/dist/types/lib/overlay.d.ts.map +1 -0
  542. package/dist/types/lib/sizeClasses.d.ts +49 -0
  543. package/dist/types/lib/sizeClasses.d.ts.map +1 -0
  544. package/dist/types/lib/skeleton.d.ts +31 -0
  545. package/dist/types/lib/skeleton.d.ts.map +1 -0
  546. package/dist/types/lib/storyMeta.d.ts +85 -0
  547. package/dist/types/lib/storyMeta.d.ts.map +1 -0
  548. package/dist/types/lib/storyPhotos.d.ts +31 -0
  549. package/dist/types/lib/storyPhotos.d.ts.map +1 -0
  550. package/dist/types/lib/storybookArgTypes.d.ts +20 -0
  551. package/dist/types/lib/storybookArgTypes.d.ts.map +1 -0
  552. package/dist/types/lib/useAnimatedValue.d.ts +38 -0
  553. package/dist/types/lib/useAnimatedValue.d.ts.map +1 -0
  554. package/dist/types/lib/useFloatingPosition.d.ts +32 -0
  555. package/dist/types/lib/useFloatingPosition.d.ts.map +1 -0
  556. package/dist/types/lib/useScrollable.d.ts +13 -0
  557. package/dist/types/lib/useScrollable.d.ts.map +1 -0
  558. package/dist/types/list/List.d.ts +23 -0
  559. package/dist/types/list/List.d.ts.map +1 -0
  560. package/dist/types/list/index.d.ts +3 -0
  561. package/dist/types/list/index.d.ts.map +1 -0
  562. package/dist/types/list/types.d.ts +95 -0
  563. package/dist/types/list/types.d.ts.map +1 -0
  564. package/dist/types/list/utils.d.ts +16 -0
  565. package/dist/types/list/utils.d.ts.map +1 -0
  566. package/dist/types/loading/Loading.d.ts +5 -0
  567. package/dist/types/loading/Loading.d.ts.map +1 -0
  568. package/dist/types/loading/index.d.ts +3 -0
  569. package/dist/types/loading/index.d.ts.map +1 -0
  570. package/dist/types/loading/types.d.ts +33 -0
  571. package/dist/types/loading/types.d.ts.map +1 -0
  572. package/dist/types/loading/utils.d.ts +15 -0
  573. package/dist/types/loading/utils.d.ts.map +1 -0
  574. package/dist/types/logo/Logo.d.ts +11 -0
  575. package/dist/types/logo/Logo.d.ts.map +1 -0
  576. package/dist/types/logo/index.d.ts +3 -0
  577. package/dist/types/logo/index.d.ts.map +1 -0
  578. package/dist/types/masonry/Masonry.d.ts +15 -0
  579. package/dist/types/masonry/Masonry.d.ts.map +1 -0
  580. package/dist/types/masonry/index.d.ts +3 -0
  581. package/dist/types/masonry/index.d.ts.map +1 -0
  582. package/dist/types/masonry/types.d.ts +35 -0
  583. package/dist/types/masonry/types.d.ts.map +1 -0
  584. package/dist/types/masonry/utils.d.ts +23 -0
  585. package/dist/types/masonry/utils.d.ts.map +1 -0
  586. package/dist/types/menu/_shared/MegaPanel.d.ts +20 -0
  587. package/dist/types/menu/_shared/MegaPanel.d.ts.map +1 -0
  588. package/dist/types/menu/_shared/MenuLink.d.ts +39 -0
  589. package/dist/types/menu/_shared/MenuLink.d.ts.map +1 -0
  590. package/dist/types/menu/_shared/MobileNav.d.ts +31 -0
  591. package/dist/types/menu/_shared/MobileNav.d.ts.map +1 -0
  592. package/dist/types/menu/_shared/NavBar.d.ts +49 -0
  593. package/dist/types/menu/_shared/NavBar.d.ts.map +1 -0
  594. package/dist/types/menu/_shared/NavDrawer.d.ts +40 -0
  595. package/dist/types/menu/_shared/NavDrawer.d.ts.map +1 -0
  596. package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts +19 -0
  597. package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts.map +1 -0
  598. package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts +11 -0
  599. package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts.map +1 -0
  600. package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts +30 -0
  601. package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts.map +1 -0
  602. package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts +26 -0
  603. package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts.map +1 -0
  604. package/dist/types/menu/_shared/index.d.ts +3 -0
  605. package/dist/types/menu/_shared/index.d.ts.map +1 -0
  606. package/dist/types/menu/_shared/responsive.d.ts +12 -0
  607. package/dist/types/menu/_shared/responsive.d.ts.map +1 -0
  608. package/dist/types/menu/_shared/types.d.ts +17 -0
  609. package/dist/types/menu/_shared/types.d.ts.map +1 -0
  610. package/dist/types/menu/_shared/useHoverIntent.d.ts +11 -0
  611. package/dist/types/menu/_shared/useHoverIntent.d.ts.map +1 -0
  612. package/dist/types/menu/basic-menu/BasicMenu.d.ts +35 -0
  613. package/dist/types/menu/basic-menu/BasicMenu.d.ts.map +1 -0
  614. package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts +18 -0
  615. package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts.map +1 -0
  616. package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts +43 -0
  617. package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts.map +1 -0
  618. package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts +20 -0
  619. package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts.map +1 -0
  620. package/dist/types/menu/basic-menu/index.d.ts +3 -0
  621. package/dist/types/menu/basic-menu/index.d.ts.map +1 -0
  622. package/dist/types/menu/index.d.ts +9 -0
  623. package/dist/types/menu/index.d.ts.map +1 -0
  624. package/dist/types/menu/mega-menu/MegaMenu.d.ts +20 -0
  625. package/dist/types/menu/mega-menu/MegaMenu.d.ts.map +1 -0
  626. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts +38 -0
  627. package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts.map +1 -0
  628. package/dist/types/menu/mega-menu/index.d.ts +3 -0
  629. package/dist/types/menu/mega-menu/index.d.ts.map +1 -0
  630. package/dist/types/menu/sidebar/Sidebar.d.ts +66 -0
  631. package/dist/types/menu/sidebar/Sidebar.d.ts.map +1 -0
  632. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts +16 -0
  633. package/dist/types/menu/sidebar/_components/SidebarButton.d.ts.map +1 -0
  634. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts +45 -0
  635. package/dist/types/menu/sidebar/_components/SidebarItem.d.ts.map +1 -0
  636. package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts +16 -0
  637. package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts.map +1 -0
  638. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts +17 -0
  639. package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts.map +1 -0
  640. package/dist/types/menu/sidebar/index.d.ts +3 -0
  641. package/dist/types/menu/sidebar/index.d.ts.map +1 -0
  642. package/dist/types/menu/types.d.ts +66 -0
  643. package/dist/types/menu/types.d.ts.map +1 -0
  644. package/dist/types/menu/utils.d.ts +38 -0
  645. package/dist/types/menu/utils.d.ts.map +1 -0
  646. package/dist/types/modal/Modal.d.ts +22 -0
  647. package/dist/types/modal/Modal.d.ts.map +1 -0
  648. package/dist/types/modal/index.d.ts +3 -0
  649. package/dist/types/modal/index.d.ts.map +1 -0
  650. package/dist/types/modal/types.d.ts +64 -0
  651. package/dist/types/modal/types.d.ts.map +1 -0
  652. package/dist/types/modal/utils.d.ts +10 -0
  653. package/dist/types/modal/utils.d.ts.map +1 -0
  654. package/dist/types/pagination/Pagination.d.ts +18 -0
  655. package/dist/types/pagination/Pagination.d.ts.map +1 -0
  656. package/dist/types/pagination/index.d.ts +3 -0
  657. package/dist/types/pagination/index.d.ts.map +1 -0
  658. package/dist/types/pagination/types.d.ts +64 -0
  659. package/dist/types/pagination/types.d.ts.map +1 -0
  660. package/dist/types/pagination/utils.d.ts +41 -0
  661. package/dist/types/pagination/utils.d.ts.map +1 -0
  662. package/dist/types/popconfirm/Popconfirm.d.ts +16 -0
  663. package/dist/types/popconfirm/Popconfirm.d.ts.map +1 -0
  664. package/dist/types/popconfirm/index.d.ts +3 -0
  665. package/dist/types/popconfirm/index.d.ts.map +1 -0
  666. package/dist/types/popconfirm/types.d.ts +35 -0
  667. package/dist/types/popconfirm/types.d.ts.map +1 -0
  668. package/dist/types/popover/Popover.d.ts +16 -0
  669. package/dist/types/popover/Popover.d.ts.map +1 -0
  670. package/dist/types/popover/index.d.ts +3 -0
  671. package/dist/types/popover/index.d.ts.map +1 -0
  672. package/dist/types/popover/types.d.ts +42 -0
  673. package/dist/types/popover/types.d.ts.map +1 -0
  674. package/dist/types/progress/Progress.d.ts +15 -0
  675. package/dist/types/progress/Progress.d.ts.map +1 -0
  676. package/dist/types/progress/index.d.ts +3 -0
  677. package/dist/types/progress/index.d.ts.map +1 -0
  678. package/dist/types/progress/types.d.ts +34 -0
  679. package/dist/types/progress/types.d.ts.map +1 -0
  680. package/dist/types/qrcode/QRCode.d.ts +17 -0
  681. package/dist/types/qrcode/QRCode.d.ts.map +1 -0
  682. package/dist/types/qrcode/index.d.ts +3 -0
  683. package/dist/types/qrcode/index.d.ts.map +1 -0
  684. package/dist/types/qrcode/types.d.ts +49 -0
  685. package/dist/types/qrcode/types.d.ts.map +1 -0
  686. package/dist/types/qrcode/utils.d.ts +34 -0
  687. package/dist/types/qrcode/utils.d.ts.map +1 -0
  688. package/dist/types/radio/Radio.d.ts +5 -0
  689. package/dist/types/radio/Radio.d.ts.map +1 -0
  690. package/dist/types/radio/RadioGroup.d.ts +8 -0
  691. package/dist/types/radio/RadioGroup.d.ts.map +1 -0
  692. package/dist/types/radio/index.d.ts +4 -0
  693. package/dist/types/radio/index.d.ts.map +1 -0
  694. package/dist/types/radio/types.d.ts +53 -0
  695. package/dist/types/radio/types.d.ts.map +1 -0
  696. package/dist/types/radio/utils.d.ts +14 -0
  697. package/dist/types/radio/utils.d.ts.map +1 -0
  698. package/dist/types/rate/Rate.d.ts +5 -0
  699. package/dist/types/rate/Rate.d.ts.map +1 -0
  700. package/dist/types/rate/index.d.ts +3 -0
  701. package/dist/types/rate/index.d.ts.map +1 -0
  702. package/dist/types/rate/types.d.ts +37 -0
  703. package/dist/types/rate/types.d.ts.map +1 -0
  704. package/dist/types/rate/utils.d.ts +15 -0
  705. package/dist/types/rate/utils.d.ts.map +1 -0
  706. package/dist/types/segmented/Segmented.d.ts +15 -0
  707. package/dist/types/segmented/Segmented.d.ts.map +1 -0
  708. package/dist/types/segmented/index.d.ts +3 -0
  709. package/dist/types/segmented/index.d.ts.map +1 -0
  710. package/dist/types/segmented/types.d.ts +33 -0
  711. package/dist/types/segmented/types.d.ts.map +1 -0
  712. package/dist/types/select/Select.d.ts +17 -0
  713. package/dist/types/select/Select.d.ts.map +1 -0
  714. package/dist/types/select/_components/SelectPanel.d.ts +34 -0
  715. package/dist/types/select/_components/SelectPanel.d.ts.map +1 -0
  716. package/dist/types/select/index.d.ts +3 -0
  717. package/dist/types/select/index.d.ts.map +1 -0
  718. package/dist/types/select/types.d.ts +82 -0
  719. package/dist/types/select/types.d.ts.map +1 -0
  720. package/dist/types/select/useSelectState.d.ts +29 -0
  721. package/dist/types/select/useSelectState.d.ts.map +1 -0
  722. package/dist/types/select/utils.d.ts +39 -0
  723. package/dist/types/select/utils.d.ts.map +1 -0
  724. package/dist/types/skeleton/Skeleton.d.ts +10 -0
  725. package/dist/types/skeleton/Skeleton.d.ts.map +1 -0
  726. package/dist/types/skeleton/SkeletonButton.d.ts +13 -0
  727. package/dist/types/skeleton/SkeletonButton.d.ts.map +1 -0
  728. package/dist/types/skeleton/SkeletonInput.d.ts +9 -0
  729. package/dist/types/skeleton/SkeletonInput.d.ts.map +1 -0
  730. package/dist/types/skeleton/index.d.ts +7 -0
  731. package/dist/types/skeleton/index.d.ts.map +1 -0
  732. package/dist/types/skeleton/types.d.ts +46 -0
  733. package/dist/types/skeleton/types.d.ts.map +1 -0
  734. package/dist/types/skeleton/utils.d.ts +12 -0
  735. package/dist/types/skeleton/utils.d.ts.map +1 -0
  736. package/dist/types/slider/Slider.d.ts +5 -0
  737. package/dist/types/slider/Slider.d.ts.map +1 -0
  738. package/dist/types/slider/index.d.ts +3 -0
  739. package/dist/types/slider/index.d.ts.map +1 -0
  740. package/dist/types/slider/types.d.ts +52 -0
  741. package/dist/types/slider/types.d.ts.map +1 -0
  742. package/dist/types/slider/utils.d.ts +15 -0
  743. package/dist/types/slider/utils.d.ts.map +1 -0
  744. package/dist/types/splitter/Splitter.d.ts +22 -0
  745. package/dist/types/splitter/Splitter.d.ts.map +1 -0
  746. package/dist/types/splitter/index.d.ts +3 -0
  747. package/dist/types/splitter/index.d.ts.map +1 -0
  748. package/dist/types/splitter/types.d.ts +50 -0
  749. package/dist/types/splitter/types.d.ts.map +1 -0
  750. package/dist/types/splitter/utils.d.ts +33 -0
  751. package/dist/types/splitter/utils.d.ts.map +1 -0
  752. package/dist/types/statistic/Statistic.d.ts +23 -0
  753. package/dist/types/statistic/Statistic.d.ts.map +1 -0
  754. package/dist/types/statistic/index.d.ts +3 -0
  755. package/dist/types/statistic/index.d.ts.map +1 -0
  756. package/dist/types/statistic/types.d.ts +72 -0
  757. package/dist/types/statistic/types.d.ts.map +1 -0
  758. package/dist/types/statistic/utils.d.ts +34 -0
  759. package/dist/types/statistic/utils.d.ts.map +1 -0
  760. package/dist/types/steps/Steps.d.ts +5 -0
  761. package/dist/types/steps/Steps.d.ts.map +1 -0
  762. package/dist/types/steps/_components/StepsContent.d.ts +19 -0
  763. package/dist/types/steps/_components/StepsContent.d.ts.map +1 -0
  764. package/dist/types/steps/index.d.ts +5 -0
  765. package/dist/types/steps/index.d.ts.map +1 -0
  766. package/dist/types/steps/types.d.ts +90 -0
  767. package/dist/types/steps/types.d.ts.map +1 -0
  768. package/dist/types/steps/utils.d.ts +25 -0
  769. package/dist/types/steps/utils.d.ts.map +1 -0
  770. package/dist/types/switch/Switch.d.ts +14 -0
  771. package/dist/types/switch/Switch.d.ts.map +1 -0
  772. package/dist/types/switch/index.d.ts +3 -0
  773. package/dist/types/switch/index.d.ts.map +1 -0
  774. package/dist/types/switch/types.d.ts +19 -0
  775. package/dist/types/switch/types.d.ts.map +1 -0
  776. package/dist/types/switch/utils.d.ts +11 -0
  777. package/dist/types/switch/utils.d.ts.map +1 -0
  778. package/dist/types/table/Table.d.ts +26 -0
  779. package/dist/types/table/Table.d.ts.map +1 -0
  780. package/dist/types/table/_components/TableAccordion.d.ts +16 -0
  781. package/dist/types/table/_components/TableAccordion.d.ts.map +1 -0
  782. package/dist/types/table/_components/TableBody.d.ts +16 -0
  783. package/dist/types/table/_components/TableBody.d.ts.map +1 -0
  784. package/dist/types/table/_components/TableCellSkeleton.d.ts +12 -0
  785. package/dist/types/table/_components/TableCellSkeleton.d.ts.map +1 -0
  786. package/dist/types/table/_components/TableEditDrawer.d.ts +18 -0
  787. package/dist/types/table/_components/TableEditDrawer.d.ts.map +1 -0
  788. package/dist/types/table/_components/TableHeader.d.ts +19 -0
  789. package/dist/types/table/_components/TableHeader.d.ts.map +1 -0
  790. package/dist/types/table/_components/TableInfoValue.d.ts +17 -0
  791. package/dist/types/table/_components/TableInfoValue.d.ts.map +1 -0
  792. package/dist/types/table/_components/TablePagination.d.ts +21 -0
  793. package/dist/types/table/_components/TablePagination.d.ts.map +1 -0
  794. package/dist/types/table/_components/TableRowActions.d.ts +22 -0
  795. package/dist/types/table/_components/TableRowActions.d.ts.map +1 -0
  796. package/dist/types/table/index.d.ts +3 -0
  797. package/dist/types/table/index.d.ts.map +1 -0
  798. package/dist/types/table/types.d.ts +101 -0
  799. package/dist/types/table/types.d.ts.map +1 -0
  800. package/dist/types/table/utils.d.ts +27 -0
  801. package/dist/types/table/utils.d.ts.map +1 -0
  802. package/dist/types/tabs/Tabs.d.ts +13 -0
  803. package/dist/types/tabs/Tabs.d.ts.map +1 -0
  804. package/dist/types/tabs/_components/TabsContent.d.ts +9 -0
  805. package/dist/types/tabs/_components/TabsContent.d.ts.map +1 -0
  806. package/dist/types/tabs/_components/TabsList.d.ts +16 -0
  807. package/dist/types/tabs/_components/TabsList.d.ts.map +1 -0
  808. package/dist/types/tabs/_components/TabsTrigger.d.ts +12 -0
  809. package/dist/types/tabs/_components/TabsTrigger.d.ts.map +1 -0
  810. package/dist/types/tabs/index.d.ts +6 -0
  811. package/dist/types/tabs/index.d.ts.map +1 -0
  812. package/dist/types/tabs/types.d.ts +91 -0
  813. package/dist/types/tabs/types.d.ts.map +1 -0
  814. package/dist/types/tabs/useTabs.d.ts +10 -0
  815. package/dist/types/tabs/useTabs.d.ts.map +1 -0
  816. package/dist/types/tabs/utils.d.ts +20 -0
  817. package/dist/types/tabs/utils.d.ts.map +1 -0
  818. package/dist/types/tag/Tag.d.ts +5 -0
  819. package/dist/types/tag/Tag.d.ts.map +1 -0
  820. package/dist/types/tag/index.d.ts +3 -0
  821. package/dist/types/tag/index.d.ts.map +1 -0
  822. package/dist/types/tag/types.d.ts +18 -0
  823. package/dist/types/tag/types.d.ts.map +1 -0
  824. package/dist/types/tag/utils.d.ts +13 -0
  825. package/dist/types/tag/utils.d.ts.map +1 -0
  826. package/dist/types/theme-customizer/ThemeCustomizer.d.ts +17 -0
  827. package/dist/types/theme-customizer/ThemeCustomizer.d.ts.map +1 -0
  828. package/dist/types/theme-customizer/applyTheme.d.ts +16 -0
  829. package/dist/types/theme-customizer/applyTheme.d.ts.map +1 -0
  830. package/dist/types/theme-customizer/index.d.ts +8 -0
  831. package/dist/types/theme-customizer/index.d.ts.map +1 -0
  832. package/dist/types/theme-customizer/types.d.ts +37 -0
  833. package/dist/types/theme-customizer/types.d.ts.map +1 -0
  834. package/dist/types/timeline/Timeline.d.ts +15 -0
  835. package/dist/types/timeline/Timeline.d.ts.map +1 -0
  836. package/dist/types/timeline/index.d.ts +3 -0
  837. package/dist/types/timeline/index.d.ts.map +1 -0
  838. package/dist/types/timeline/types.d.ts +53 -0
  839. package/dist/types/timeline/types.d.ts.map +1 -0
  840. package/dist/types/timeline/utils.d.ts +13 -0
  841. package/dist/types/timeline/utils.d.ts.map +1 -0
  842. package/dist/types/toast/Toast.d.ts +19 -0
  843. package/dist/types/toast/Toast.d.ts.map +1 -0
  844. package/dist/types/toast/index.d.ts +4 -0
  845. package/dist/types/toast/index.d.ts.map +1 -0
  846. package/dist/types/toast/types.d.ts +43 -0
  847. package/dist/types/toast/types.d.ts.map +1 -0
  848. package/dist/types/toast/useToast.d.ts +26 -0
  849. package/dist/types/toast/useToast.d.ts.map +1 -0
  850. package/dist/types/toast/utils.d.ts +12 -0
  851. package/dist/types/toast/utils.d.ts.map +1 -0
  852. package/dist/types/tooltip/Tooltip.d.ts +5 -0
  853. package/dist/types/tooltip/Tooltip.d.ts.map +1 -0
  854. package/dist/types/tooltip/index.d.ts +3 -0
  855. package/dist/types/tooltip/index.d.ts.map +1 -0
  856. package/dist/types/tooltip/types.d.ts +32 -0
  857. package/dist/types/tooltip/types.d.ts.map +1 -0
  858. package/dist/types/tooltip/utils.d.ts +12 -0
  859. package/dist/types/tooltip/utils.d.ts.map +1 -0
  860. package/dist/types/tour/Tour.d.ts +18 -0
  861. package/dist/types/tour/Tour.d.ts.map +1 -0
  862. package/dist/types/tour/index.d.ts +3 -0
  863. package/dist/types/tour/index.d.ts.map +1 -0
  864. package/dist/types/tour/types.d.ts +46 -0
  865. package/dist/types/tour/types.d.ts.map +1 -0
  866. package/dist/types/tour/utils.d.ts +18 -0
  867. package/dist/types/tour/utils.d.ts.map +1 -0
  868. package/dist/types/transfer/Transfer.d.ts +16 -0
  869. package/dist/types/transfer/Transfer.d.ts.map +1 -0
  870. package/dist/types/transfer/_components/TransferList.d.ts +32 -0
  871. package/dist/types/transfer/_components/TransferList.d.ts.map +1 -0
  872. package/dist/types/transfer/index.d.ts +3 -0
  873. package/dist/types/transfer/index.d.ts.map +1 -0
  874. package/dist/types/transfer/types.d.ts +67 -0
  875. package/dist/types/transfer/types.d.ts.map +1 -0
  876. package/dist/types/transfer/utils.d.ts +34 -0
  877. package/dist/types/transfer/utils.d.ts.map +1 -0
  878. package/dist/types/tree/Tree.d.ts +59 -0
  879. package/dist/types/tree/Tree.d.ts.map +1 -0
  880. package/dist/types/tree/index.d.ts +5 -0
  881. package/dist/types/tree/index.d.ts.map +1 -0
  882. package/dist/types/tree/types.d.ts +92 -0
  883. package/dist/types/tree/types.d.ts.map +1 -0
  884. package/dist/types/tree/utils.d.ts +66 -0
  885. package/dist/types/tree/utils.d.ts.map +1 -0
  886. package/dist/types/tree-select/TreeSelect.d.ts +18 -0
  887. package/dist/types/tree-select/TreeSelect.d.ts.map +1 -0
  888. package/dist/types/tree-select/_components/TreeSelectPanel.d.ts +27 -0
  889. package/dist/types/tree-select/_components/TreeSelectPanel.d.ts.map +1 -0
  890. package/dist/types/tree-select/index.d.ts +3 -0
  891. package/dist/types/tree-select/index.d.ts.map +1 -0
  892. package/dist/types/tree-select/types.d.ts +87 -0
  893. package/dist/types/tree-select/types.d.ts.map +1 -0
  894. package/dist/types/tree-select/useTreeSelectState.d.ts +38 -0
  895. package/dist/types/tree-select/useTreeSelectState.d.ts.map +1 -0
  896. package/dist/types/tree-select/utils.d.ts +28 -0
  897. package/dist/types/tree-select/utils.d.ts.map +1 -0
  898. package/dist/types/typewriter/Typewriter.d.ts +16 -0
  899. package/dist/types/typewriter/Typewriter.d.ts.map +1 -0
  900. package/dist/types/typewriter/index.d.ts +3 -0
  901. package/dist/types/typewriter/index.d.ts.map +1 -0
  902. package/dist/types/typewriter/types.d.ts +33 -0
  903. package/dist/types/typewriter/types.d.ts.map +1 -0
  904. package/dist/types/typewriter/useTypewriter.d.ts +29 -0
  905. package/dist/types/typewriter/useTypewriter.d.ts.map +1 -0
  906. package/dist/types/typography/Typography.d.ts +6 -0
  907. package/dist/types/typography/Typography.d.ts.map +1 -0
  908. package/dist/types/typography/index.d.ts +3 -0
  909. package/dist/types/typography/index.d.ts.map +1 -0
  910. package/dist/types/typography/types.d.ts +38 -0
  911. package/dist/types/typography/types.d.ts.map +1 -0
  912. package/dist/types/typography/utils.d.ts +10 -0
  913. package/dist/types/typography/utils.d.ts.map +1 -0
  914. package/dist/types/upload/Upload.d.ts +5 -0
  915. package/dist/types/upload/Upload.d.ts.map +1 -0
  916. package/dist/types/upload/_components/List.d.ts +15 -0
  917. package/dist/types/upload/_components/List.d.ts.map +1 -0
  918. package/dist/types/upload/_components/ReviewList.d.ts +17 -0
  919. package/dist/types/upload/_components/ReviewList.d.ts.map +1 -0
  920. package/dist/types/upload/_components/UploadDragDropButton.d.ts +16 -0
  921. package/dist/types/upload/_components/UploadDragDropButton.d.ts.map +1 -0
  922. package/dist/types/upload/_components/UploadListButton.d.ts +7 -0
  923. package/dist/types/upload/_components/UploadListButton.d.ts.map +1 -0
  924. package/dist/types/upload/_components/UploadReviewButton.d.ts +14 -0
  925. package/dist/types/upload/_components/UploadReviewButton.d.ts.map +1 -0
  926. package/dist/types/upload/index.d.ts +3 -0
  927. package/dist/types/upload/index.d.ts.map +1 -0
  928. package/dist/types/upload/types.d.ts +30 -0
  929. package/dist/types/upload/types.d.ts.map +1 -0
  930. package/dist/types/upload/useUpload.d.ts +24 -0
  931. package/dist/types/upload/useUpload.d.ts.map +1 -0
  932. package/dist/types/upload/utils.d.ts +23 -0
  933. package/dist/types/upload/utils.d.ts.map +1 -0
  934. package/dist/typewriter.d.ts +1 -0
  935. package/dist/typewriter.js +139 -0
  936. package/dist/typewriter.js.map +1 -0
  937. package/dist/typography.d.ts +1 -0
  938. package/dist/typography.js +81 -0
  939. package/dist/typography.js.map +1 -0
  940. package/dist/upload.d.ts +1 -0
  941. package/dist/upload.js +370 -0
  942. package/dist/upload.js.map +1 -0
  943. package/package.json +325 -3
@@ -0,0 +1,189 @@
1
+ "use client";
2
+
3
+ import {
4
+ elevationClass
5
+ } from "./chunk-TCYDVNSU.js";
6
+
7
+ // src/autocomplete/utils.ts
8
+ function foldForSearch(text) {
9
+ return text.toLocaleLowerCase("tr").normalize("NFD").replace(/\p{M}/gu, "").replace(/ı/g, "i");
10
+ }
11
+ function getFilteredOption(options, searchText) {
12
+ const query = foldForSearch(searchText.trim());
13
+ if (!query) return options;
14
+ return options.filter((option) => foldForSearch(option.value).includes(query));
15
+ }
16
+ function splitMatch(value, searchText) {
17
+ const query = foldForSearch(searchText.trim());
18
+ const folded = foldForSearch(value);
19
+ if (!query || folded.length !== value.length) return null;
20
+ const start = folded.indexOf(query);
21
+ if (start < 0) return null;
22
+ const end = start + query.length;
23
+ return [value.slice(0, start), value.slice(start, end), value.slice(end)];
24
+ }
25
+
26
+ // src/select/_components/SelectPanel.tsx
27
+ import React, { forwardRef, useId } from "react";
28
+ import { createPortal } from "react-dom";
29
+ import { CheckIcon, Loader2Icon } from "lucide-react";
30
+ import { cn } from "@mari-ui/core";
31
+
32
+ // src/select/utils.ts
33
+ var isGroup = (item) => "options" in item;
34
+ function flattenOptions(items) {
35
+ return items.flatMap((item) => isGroup(item) ? item.options : [item]);
36
+ }
37
+ function optionText(option) {
38
+ if (option.searchText !== void 0) return option.searchText;
39
+ if (typeof option.label === "string" || typeof option.label === "number") return String(option.label);
40
+ return String(option.value);
41
+ }
42
+ var valueKey = (value) => `${typeof value}:${value}`;
43
+ function buildSections(items, search) {
44
+ const query = foldForSearch(search.trim());
45
+ const matches = (option) => !query || foldForSearch(optionText(option)).includes(query);
46
+ const sections = [];
47
+ items.forEach((item, index) => {
48
+ if (isGroup(item)) {
49
+ const visible = item.options.filter(matches);
50
+ if (visible.length > 0) sections.push({ key: `group-${index}`, label: item.label, options: visible });
51
+ return;
52
+ }
53
+ if (!matches(item)) return;
54
+ const last = sections.at(-1);
55
+ if (last && last.label === void 0) last.options.push(item);
56
+ else sections.push({ key: `plain-${index}`, options: [item] });
57
+ });
58
+ return sections;
59
+ }
60
+ function nextEnabled(options, from, step) {
61
+ for (let i = from + step; i >= 0 && i < options.length; i += step) {
62
+ if (!options[i].disabled) return i;
63
+ }
64
+ return from;
65
+ }
66
+ function firstEnabled(options) {
67
+ return nextEnabledOrNone(options, -1, 1);
68
+ }
69
+ function lastEnabled(options) {
70
+ return nextEnabledOrNone(options, options.length, -1);
71
+ }
72
+ function nextEnabledOrNone(options, from, step) {
73
+ const next = nextEnabled(options, from, step);
74
+ return next === from ? -1 : next;
75
+ }
76
+ function typeAheadMatch(options, current, buffer) {
77
+ const query = foldForSearch(buffer);
78
+ if (!query) return -1;
79
+ const repeated = query.length > 1 && [...query].every((ch) => ch === query[0]);
80
+ const needle = repeated ? query[0] : query;
81
+ const start = repeated || query.length === 1 ? current + 1 : current;
82
+ for (let step = 0; step < options.length; step++) {
83
+ const i = (Math.max(start, 0) + step) % options.length;
84
+ const option = options[i];
85
+ if (!option.disabled && foldForSearch(optionText(option)).startsWith(needle)) return i;
86
+ }
87
+ return -1;
88
+ }
89
+
90
+ // src/select/_components/SelectPanel.tsx
91
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
92
+ var optionDomId = (listboxId, option) => `${listboxId}-${valueKey(option.value).replace(/[^\w-]/g, "_")}`;
93
+ function OptionContent({ option, selected, multiple }) {
94
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
95
+ option.icon && /* @__PURE__ */ jsx("span", { className: "flex shrink-0 items-center text-mari-muted [&>svg]:size-4", children: option.icon }),
96
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
97
+ /* @__PURE__ */ jsx("span", { className: "block truncate", children: option.label ?? option.value }),
98
+ option.description && /* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-mari-muted", children: option.description })
99
+ ] }),
100
+ multiple && /* @__PURE__ */ jsx(CheckIcon, { size: 16, "aria-hidden": true, className: cn("shrink-0 text-mari-primary", !selected && "invisible") })
101
+ ] });
102
+ }
103
+ var SelectPanel = forwardRef(function SelectPanel2({ listboxId, coords, sections, flatOptions, activeIndex, isSelected, multiple, loading, notFoundContent, listHeight, optionRender, labelledBy, label, onPick, onHover }, ref) {
104
+ const groupIdBase = useId();
105
+ if (typeof document === "undefined") return null;
106
+ const empty = flatOptions.length === 0;
107
+ const renderOption = (option) => {
108
+ const index = flatOptions.indexOf(option);
109
+ const selected = isSelected(option);
110
+ const active = index === activeIndex;
111
+ return (
112
+ // Klavye tetikleyicide (combobox) işlenir; seçenek odak almaz, `aria-activedescendant` ile gösterilir (APG).
113
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
114
+ /* @__PURE__ */ jsx(
115
+ "div",
116
+ {
117
+ id: optionDomId(listboxId, option),
118
+ role: "option",
119
+ tabIndex: -1,
120
+ "aria-selected": selected,
121
+ "aria-disabled": option.disabled || void 0,
122
+ onMouseDown: (e) => e.preventDefault(),
123
+ onMouseMove: () => !active && !option.disabled && onHover(index),
124
+ onClick: () => !option.disabled && onPick(option),
125
+ className: cn(
126
+ "flex min-h-8 cursor-pointer items-center gap-2 rounded-md px-2.5 py-1.5 text-mari-foreground pointer-coarse:min-h-11",
127
+ active && "bg-mari-surface-alt",
128
+ selected && !multiple && "bg-mari-primary-subtle font-medium",
129
+ option.disabled && "cursor-not-allowed opacity-50"
130
+ ),
131
+ children: optionRender ? optionRender(option, { selected, active }) : /* @__PURE__ */ jsx(OptionContent, { option, selected, multiple })
132
+ },
133
+ valueKey(option.value)
134
+ )
135
+ );
136
+ };
137
+ return createPortal(
138
+ /* @__PURE__ */ jsxs(
139
+ "div",
140
+ {
141
+ ref,
142
+ className: cn("fixed z-mari-dropdown max-w-[calc(100vw-1rem)] rounded-lg bg-mari-surface p-1 text-sm", elevationClass.md, !coords && "invisible"),
143
+ style: { top: coords?.top ?? 0, left: coords?.left ?? 0, width: coords?.anchorWidth },
144
+ children: [
145
+ /* @__PURE__ */ jsx(
146
+ "div",
147
+ {
148
+ id: listboxId,
149
+ role: "listbox",
150
+ "aria-multiselectable": multiple || void 0,
151
+ "aria-labelledby": labelledBy,
152
+ "aria-label": labelledBy ? void 0 : label,
153
+ "aria-busy": loading || void 0,
154
+ className: "overflow-y-auto overscroll-contain",
155
+ style: { maxHeight: listHeight },
156
+ children: sections.map(
157
+ (section) => section.label === void 0 ? /* @__PURE__ */ jsx(React.Fragment, { children: section.options.map(renderOption) }, section.key) : /* @__PURE__ */ jsxs("div", { role: "group", "aria-labelledby": `${groupIdBase}-${section.key}`, children: [
158
+ /* @__PURE__ */ jsx("div", { id: `${groupIdBase}-${section.key}`, role: "presentation", className: "px-2.5 pb-1 pt-2 text-xs font-medium text-mari-muted", children: section.label }),
159
+ section.options.map(renderOption)
160
+ ] }, section.key)
161
+ )
162
+ }
163
+ ),
164
+ loading && /* @__PURE__ */ jsxs("div", { role: "status", className: "flex items-center gap-2 px-2.5 py-2 text-mari-muted", children: [
165
+ /* @__PURE__ */ jsx(Loader2Icon, { size: 16, "aria-hidden": true, className: "animate-spin motion-reduce:animate-[spin_2s_linear_infinite]" }),
166
+ "Y\xFCkleniyor"
167
+ ] }),
168
+ !loading && empty && /* @__PURE__ */ jsx("div", { role: "status", className: "px-2.5 py-2 text-mari-muted", children: notFoundContent })
169
+ ]
170
+ }
171
+ ),
172
+ document.body
173
+ );
174
+ });
175
+
176
+ export {
177
+ foldForSearch,
178
+ getFilteredOption,
179
+ splitMatch,
180
+ flattenOptions,
181
+ buildSections,
182
+ nextEnabled,
183
+ firstEnabled,
184
+ lastEnabled,
185
+ typeAheadMatch,
186
+ optionDomId,
187
+ SelectPanel
188
+ };
189
+ //# sourceMappingURL=chunk-YZ7MDC6B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/autocomplete/utils.ts","../src/select/_components/SelectPanel.tsx","../src/select/utils.ts"],"sourcesContent":["import type { Option } from \"./types\";\n\n/**\n * Arama için katlama: Türkçe küçük harf + aksanları at + ı→i. Böylece\n * \"istanbul\" → \"İstanbul\", \"sehir\" → \"Şehir\", \"IĞDIR\" → \"Iğdır\" bulunur.\n * Eskiden düz `toLowerCase()` vardı: \"İstanbul\".toLowerCase() JS'te\n * \"i̇stanbul\" (i + birleşik nokta) verir ve \"istanbul\" ile HİÇ eşleşmezdi.\n * Karakter sayısını korur (NFC girişte her harf tek karaktere iner) — vurgu\n * aralıkları özgün metne aynı indekslerle uygulanabilir.\n */\nexport function foldForSearch(text: string): string {\n return text.toLocaleLowerCase(\"tr\").normalize(\"NFD\").replace(/\\p{M}/gu, \"\").replace(/ı/g, \"i\");\n}\n\nexport function getFilteredOption(options: Option[], searchText: string): Option[] {\n const query = foldForSearch(searchText.trim());\n if (!query) return options;\n return options.filter((option) => foldForSearch(option.value).includes(query));\n}\n\n/** Seçenek metnini [önce, eşleşen, sonra] olarak böler; eşleşme yoksa `null`. */\nexport function splitMatch(value: string, searchText: string): [string, string, string] | null {\n const query = foldForSearch(searchText.trim());\n const folded = foldForSearch(value);\n if (!query || folded.length !== value.length) return null;\n const start = folded.indexOf(query);\n if (start < 0) return null;\n const end = start + query.length;\n return [value.slice(0, start), value.slice(start, end), value.slice(end)];\n}\n","\"use client\";\n\nimport React, { forwardRef, useId } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { CheckIcon, Loader2Icon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { elevationClass } from \"../../lib/elevationClass\";\nimport type { FloatingCoords } from \"../../lib/useFloatingPosition\";\nimport type { SelectOption, SelectProps } from \"../types\";\nimport { type SelectSection, valueKey } from \"../utils\";\n\ninterface SelectPanelProps {\n listboxId: string;\n coords: FloatingCoords | null;\n sections: SelectSection[];\n /** `sections`taki seçeneklerin düz sırası — aktif indeks buna göre. */\n flatOptions: SelectOption[];\n activeIndex: number;\n isSelected: (option: SelectOption) => boolean;\n multiple: boolean;\n loading: boolean;\n notFoundContent: React.ReactNode;\n listHeight: string;\n optionRender?: Exclude<SelectProps[\"optionRender\"], undefined>;\n labelledBy?: string;\n label?: string;\n onPick: (option: SelectOption) => void;\n onHover: (index: number) => void;\n}\n\nexport const optionDomId = (listboxId: string, option: SelectOption) => `${listboxId}-${valueKey(option.value).replace(/[^\\w-]/g, \"_\")}`;\n\nfunction OptionContent({ option, selected, multiple }: Readonly<{ option: SelectOption; selected: boolean; multiple: boolean }>) {\n return (\n <>\n {option.icon && <span className=\"flex shrink-0 items-center text-mari-muted [&>svg]:size-4\">{option.icon}</span>}\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate\">{option.label ?? option.value}</span>\n {option.description && <span className=\"block truncate text-xs text-mari-muted\">{option.description}</span>}\n </span>\n {/* Tekli seçimde seçili satır zeminle belli; çokluda onay işareti durumu taşır. */}\n {multiple && <CheckIcon size={16} aria-hidden className={cn(\"shrink-0 text-mari-primary\", !selected && \"invisible\")} />}\n </>\n );\n}\n\n/**\n * Faz 16.1 — Select'in listesi. `document.body`'ye portal edilir, konum\n * `useFloatingPosition`dan (Dropdown ile ortak); genişlik tetikleyicininki\n * (ant.design `popupMatchSelectWidth`). Odak listede DEĞİL tetikleyicide\n * kalır; aktif seçenek `aria-activedescendant` ile bildirilir (APG combobox).\n * Seçenekler `onMouseDown` ile `preventDefault` — tıklamak tetikleyicinin\n * odağını (dolayısıyla açık listeyi) kaybettirmesin.\n */\nexport const SelectPanel = forwardRef<HTMLDivElement, SelectPanelProps>(function SelectPanel(\n { listboxId, coords, sections, flatOptions, activeIndex, isSelected, multiple, loading, notFoundContent, listHeight, optionRender, labelledBy, label, onPick, onHover },\n ref\n) {\n const groupIdBase = useId();\n if (typeof document === \"undefined\") return null;\n const empty = flatOptions.length === 0;\n\n const renderOption = (option: SelectOption) => {\n const index = flatOptions.indexOf(option);\n const selected = isSelected(option);\n const active = index === activeIndex;\n return (\n // Klavye tetikleyicide (combobox) işlenir; seçenek odak almaz, `aria-activedescendant` ile gösterilir (APG).\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n key={valueKey(option.value)}\n id={optionDomId(listboxId, option)}\n role=\"option\"\n tabIndex={-1}\n aria-selected={selected}\n aria-disabled={option.disabled || undefined}\n onMouseDown={(e) => e.preventDefault()}\n onMouseMove={() => !active && !option.disabled && onHover(index)}\n onClick={() => !option.disabled && onPick(option)}\n className={cn(\n \"flex min-h-8 cursor-pointer items-center gap-2 rounded-md px-2.5 py-1.5 text-mari-foreground pointer-coarse:min-h-11\",\n active && \"bg-mari-surface-alt\",\n selected && !multiple && \"bg-mari-primary-subtle font-medium\",\n option.disabled && \"cursor-not-allowed opacity-50\"\n )}\n >\n {optionRender ? optionRender(option, { selected, active }) : <OptionContent option={option} selected={selected} multiple={multiple} />}\n </div>\n );\n };\n\n return createPortal(\n <div\n ref={ref}\n className={cn(\"fixed z-mari-dropdown max-w-[calc(100vw-1rem)] rounded-lg bg-mari-surface p-1 text-sm\", elevationClass.md, !coords && \"invisible\")}\n style={{ top: coords?.top ?? 0, left: coords?.left ?? 0, width: coords?.anchorWidth }}\n >\n <div\n id={listboxId}\n role=\"listbox\"\n aria-multiselectable={multiple || undefined}\n aria-labelledby={labelledBy}\n aria-label={labelledBy ? undefined : label}\n aria-busy={loading || undefined}\n className=\"overflow-y-auto overscroll-contain\"\n style={{ maxHeight: listHeight }}\n >\n {sections.map((section) =>\n section.label === undefined ? (\n <React.Fragment key={section.key}>{section.options.map(renderOption)}</React.Fragment>\n ) : (\n <div key={section.key} role=\"group\" aria-labelledby={`${groupIdBase}-${section.key}`}>\n <div id={`${groupIdBase}-${section.key}`} role=\"presentation\" className=\"px-2.5 pb-1 pt-2 text-xs font-medium text-mari-muted\">\n {section.label}\n </div>\n {section.options.map(renderOption)}\n </div>\n )\n )}\n </div>\n {loading && (\n <div role=\"status\" className=\"flex items-center gap-2 px-2.5 py-2 text-mari-muted\">\n <Loader2Icon size={16} aria-hidden className=\"animate-spin motion-reduce:animate-[spin_2s_linear_infinite]\" />\n Yükleniyor\n </div>\n )}\n {!loading && empty && (\n <div role=\"status\" className=\"px-2.5 py-2 text-mari-muted\">\n {notFoundContent}\n </div>\n )}\n </div>,\n document.body\n );\n});\n","import type React from \"react\";\nimport { foldForSearch } from \"../autocomplete/utils\";\nimport type { SelectOption, SelectOptionGroup, SelectValue } from \"./types\";\n\n/**\n * Listede sırayla çizilen bölüm: başlıklı grup (`role=\"group\"`) ya da\n * başlıksız ardışık seçenekler. Gruplar DOM'da da iç içe olmalı — ekran\n * okuyucu seçeneği \"Meyveler grubu, Elma\" diye okusun.\n */\nexport interface SelectSection {\n key: string;\n label?: React.ReactNode;\n options: SelectOption[];\n}\n\nexport const isGroup = (item: SelectOption | SelectOptionGroup): item is SelectOptionGroup => \"options\" in item;\n\n/** Gruplar açılmış, düz seçenek listesi (değer arama, klavye gezinmesi için). */\nexport function flattenOptions(items: Array<SelectOption | SelectOptionGroup>): SelectOption[] {\n return items.flatMap((item) => (isGroup(item) ? item.options : [item]));\n}\n\n/** Aramada/harfle atlamada kullanılan düz metin: `searchText` → düz `label` → `value`. */\nexport function optionText(option: SelectOption): string {\n if (option.searchText !== undefined) return option.searchText;\n if (typeof option.label === \"string\" || typeof option.label === \"number\") return String(option.label);\n return String(option.value);\n}\n\n/** DOM id'si için değer anahtarı (sayı ile aynı yazılı string çakışmasın). */\nexport const valueKey = (value: SelectValue) => `${typeof value}:${value}`;\n\n/**\n * Aramaya göre süzülmüş bölümler; eşleşmesi kalmayan grup tamamen düşer.\n * Türkçe/aksansız eşleşme AutoComplete'le aynı (`foldForSearch`).\n */\nexport function buildSections(items: Array<SelectOption | SelectOptionGroup>, search: string): SelectSection[] {\n const query = foldForSearch(search.trim());\n const matches = (option: SelectOption) => !query || foldForSearch(optionText(option)).includes(query);\n const sections: SelectSection[] = [];\n items.forEach((item, index) => {\n if (isGroup(item)) {\n const visible = item.options.filter(matches);\n if (visible.length > 0) sections.push({ key: `group-${index}`, label: item.label, options: visible });\n return;\n }\n if (!matches(item)) return;\n const last = sections.at(-1);\n if (last && last.label === undefined) last.options.push(item);\n else sections.push({ key: `plain-${index}`, options: [item] });\n });\n return sections;\n}\n\n/**\n * Klavye gezinmesi: seçilebilir (disabled olmayan) seçenekler arasında\n * `from`dan `step` yönünde bir sonraki; kenarda durur (APG listbox — sarmaz).\n */\nexport function nextEnabled(options: SelectOption[], from: number, step: 1 | -1): number {\n for (let i = from + step; i >= 0 && i < options.length; i += step) {\n if (!options[i]!.disabled) return i;\n }\n return from;\n}\n\n/** İlk seçilebilir seçenek; yoksa -1. */\nexport function firstEnabled(options: SelectOption[]): number {\n return nextEnabledOrNone(options, -1, 1);\n}\n\n/** Son seçilebilir seçenek; yoksa -1. */\nexport function lastEnabled(options: SelectOption[]): number {\n return nextEnabledOrNone(options, options.length, -1);\n}\n\nfunction nextEnabledOrNone(options: SelectOption[], from: number, step: 1 | -1): number {\n const next = nextEnabled(options, from, step);\n return next === from ? -1 : next;\n}\n\n/**\n * Harfle atlama (type-ahead): art arda yazılan harfler birikir (\"is\" →\n * \"İstanbul\"); tek harf tekrarlanırsa o harfle başlayan sonrakine geçer.\n */\nexport function typeAheadMatch(options: SelectOption[], current: number, buffer: string): number {\n const query = foldForSearch(buffer);\n if (!query) return -1;\n const repeated = query.length > 1 && [...query].every((ch) => ch === query[0]);\n const needle = repeated ? query[0]! : query;\n const start = repeated || query.length === 1 ? current + 1 : current;\n for (let step = 0; step < options.length; step++) {\n const i = (Math.max(start, 0) + step) % options.length;\n const option = options[i]!;\n if (!option.disabled && foldForSearch(optionText(option)).startsWith(needle)) return i;\n }\n return -1;\n}\n"],"mappings":"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","names":["SelectPanel"]}
@@ -0,0 +1,69 @@
1
+ import {
2
+ colorVariantToClassName
3
+ } from "./chunk-IP2J3BWY.js";
4
+ import {
5
+ skeletonBoxProps
6
+ } from "./chunk-54HHEXXD.js";
7
+
8
+ // src/tag/Tag.tsx
9
+ import { X } from "lucide-react";
10
+ import { cn as cn2 } from "@mari-ui/core";
11
+
12
+ // src/tag/utils.ts
13
+ import { cn, resolveColorVariant } from "@mari-ui/core";
14
+ var TAG_GEOMETRY_CLASS = "inline-flex max-w-full items-center gap-1 whitespace-nowrap rounded-sm px-[0.4375rem] leading-5 text-xs font-medium";
15
+ function getTagClass(color, variant, bordered, className) {
16
+ const colorClasses = colorVariantToClassName(resolveColorVariant(color, variant));
17
+ return cn(
18
+ TAG_GEOMETRY_CLASS,
19
+ colorClasses,
20
+ bordered && variant !== "outline" && "border",
21
+ className
22
+ );
23
+ }
24
+
25
+ // src/tag/Tag.tsx
26
+ import { jsx, jsxs } from "react/jsx-runtime";
27
+ function Tag({
28
+ children,
29
+ color = "neutral",
30
+ variant = "soft",
31
+ icon,
32
+ closeIcon,
33
+ bordered = false,
34
+ onClose,
35
+ closeLabel,
36
+ skeleton = false,
37
+ className
38
+ }) {
39
+ if (skeleton) {
40
+ return /* @__PURE__ */ jsxs("span", { ...skeletonBoxProps(cn2(TAG_GEOMETRY_CLASS, (variant === "outline" || bordered) && "border border-transparent", className)), children: [
41
+ icon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: icon }),
42
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children }),
43
+ (onClose || closeIcon) && /* @__PURE__ */ jsx("span", { className: "-mr-1 size-4 shrink-0" })
44
+ ] });
45
+ }
46
+ const tagClass = getTagClass(color, variant, bordered, className);
47
+ const showCloseButton = closeIcon !== false && (closeIcon !== void 0 || Boolean(onClose));
48
+ const closeIconEl = closeIcon === true || closeIcon === void 0 || closeIcon === false ? /* @__PURE__ */ jsx(X, { size: 12, "aria-hidden": true }) : closeIcon;
49
+ const resolvedCloseLabel = closeLabel ?? (typeof children === "string" ? `${children} etiketini kald\u0131r` : "Kald\u0131r");
50
+ return /* @__PURE__ */ jsxs("span", { className: tagClass, children: [
51
+ icon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: icon }),
52
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children }),
53
+ showCloseButton && /* @__PURE__ */ jsx(
54
+ "button",
55
+ {
56
+ type: "button",
57
+ onClick: onClose,
58
+ "aria-label": resolvedCloseLabel,
59
+ className: "relative -mr-1 inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm opacity-70 transition-[opacity,background-color] duration-150 before:absolute before:-inset-1 hover:bg-current/15 hover:opacity-100 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-mari-ring",
60
+ children: closeIconEl
61
+ }
62
+ )
63
+ ] });
64
+ }
65
+
66
+ export {
67
+ Tag
68
+ };
69
+ //# sourceMappingURL=chunk-ZLPAXPDI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tag/Tag.tsx","../src/tag/utils.ts"],"sourcesContent":["import React from \"react\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport type { TagProps } from \"./types\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { getTagClass, TAG_GEOMETRY_CLASS } from \"./utils\";\n\nexport type { TagProps };\n\n// Hook yok, browser API yok — saf sunum, \"use client\" gerekmiyor.\nexport function Tag({\n children,\n color = \"neutral\",\n variant = \"soft\",\n icon,\n closeIcon,\n bordered = false,\n onClose,\n closeLabel,\n skeleton = false,\n className,\n}: Readonly<TagProps>) {\n if (skeleton) {\n return (\n <span {...skeletonBoxProps(cn(TAG_GEOMETRY_CLASS, (variant === \"outline\" || bordered) && \"border border-transparent\", className))}>\n {icon && <span className=\"inline-flex items-center\">{icon}</span>}\n <span className=\"min-w-0 truncate\">{children}</span>\n {(onClose || closeIcon) && <span className=\"-mr-1 size-4 shrink-0\" />}\n </span>\n );\n }\n\n const tagClass = getTagClass(color, variant, bordered, className);\n\n // Eski davranış her Tag'de varsayılan olarak bir X gösteriyordu — `onClose`\n // verilmese bile. Artık kapatılabilirlik `onClose` VEYA açık `closeIcon`\n // varlığına bağlı; aksi halde işlevsiz bir buton render edilmez.\n const showCloseButton = closeIcon !== false && (closeIcon !== undefined || Boolean(onClose));\n const closeIconEl = closeIcon === true || closeIcon === undefined || closeIcon === false ? <X size={12} aria-hidden /> : closeIcon;\n const resolvedCloseLabel = closeLabel ?? (typeof children === \"string\" ? `${children} etiketini kaldır` : \"Kaldır\");\n\n return (\n <span className={tagClass}>\n {icon && <span className=\"inline-flex items-center\">{icon}</span>}\n <span className=\"min-w-0 truncate\">{children}</span>\n {showCloseButton && (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={resolvedCloseLabel}\n // 16px görünür kutu + `before` ile 24px'e genişleyen tıklama alanı\n // (eskiden 10px'lik ikonun kendisi hedefti — dokunmatikte ıskalanıyordu).\n className=\"relative -mr-1 inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm opacity-70 transition-[opacity,background-color] duration-150 before:absolute before:-inset-1 hover:bg-current/15 hover:opacity-100 focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-mari-ring\"\n >\n {closeIconEl}\n </button>\n )}\n </span>\n );\n}\n","import { cn, resolveColorVariant, type ColorRole, type Variant } from \"@mari-ui/core\";\nimport { colorVariantToClassName } from \"../lib/colorClasses\";\n\n/**\n * ant.design'ın gerçek Tag'i (`getComputedStyle`, ant.design/components/tag)\n * bir hap (pill) DEĞİL, 4px yuvarlatılmış küçük bir dikdörtgen: `border-radius:\n * 4px`, `padding: 0 7px`, `font-size: 12px`, `line-height: 20px`. Eskiden\n * `rounded-full px-3 py-0.5 text-sm` kullanılıyordu — bu, Badge/Chip'e daha\n * yakın tamamen farklı bir şekildi. `px` yasak kuralı (Faz 13.0c) gereği 7px\n * hardcoded değil `rem` karşılığıyla yazılır.\n */\n/** Geometri — iskeletle ortak (yüklenince kutu zıplamasın). Uzun metin tek satırda kalır, sığmazsa kısalır. */\nexport const TAG_GEOMETRY_CLASS = \"inline-flex max-w-full items-center gap-1 whitespace-nowrap rounded-sm px-[0.4375rem] leading-5 text-xs font-medium\";\n\nexport function getTagClass(\n color: ColorRole,\n variant: Extract<Variant, \"solid\" | \"soft\" | \"outline\">,\n bordered: boolean | undefined,\n className: string | undefined\n): string {\n const colorClasses = colorVariantToClassName(resolveColorVariant(color, variant));\n return cn(\n TAG_GEOMETRY_CLASS,\n colorClasses,\n bordered && variant !== \"outline\" && \"border\",\n className\n );\n}\n"],"mappings":";;;;;;;;AACA,SAAS,SAAS;AAClB,SAAS,MAAAA,WAAU;;;ACFnB,SAAS,IAAI,2BAAyD;AAY/D,IAAM,qBAAqB;AAE3B,SAAS,YACd,OACA,SACA,UACA,WACQ;AACR,QAAM,eAAe,wBAAwB,oBAAoB,OAAO,OAAO,CAAC;AAChF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,YAAY,YAAY,aAAa;AAAA,IACrC;AAAA,EACF;AACF;;;ADHM,SACW,KADX;AAdC,SAAS,IAAI;AAAA,EAClB;AAAA,EACA,QAAQ;AAAA,EACR,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAAuB;AACrB,MAAI,UAAU;AACZ,WACE,qBAAC,UAAM,GAAG,iBAAiBC,IAAG,qBAAqB,YAAY,aAAa,aAAa,6BAA6B,SAAS,CAAC,GAC7H;AAAA,cAAQ,oBAAC,UAAK,WAAU,4BAA4B,gBAAK;AAAA,MAC1D,oBAAC,UAAK,WAAU,oBAAoB,UAAS;AAAA,OAC3C,WAAW,cAAc,oBAAC,UAAK,WAAU,yBAAwB;AAAA,OACrE;AAAA,EAEJ;AAEA,QAAM,WAAW,YAAY,OAAO,SAAS,UAAU,SAAS;AAKhE,QAAM,kBAAkB,cAAc,UAAU,cAAc,UAAa,QAAQ,OAAO;AAC1F,QAAM,cAAc,cAAc,QAAQ,cAAc,UAAa,cAAc,QAAQ,oBAAC,KAAE,MAAM,IAAI,eAAW,MAAC,IAAK;AACzH,QAAM,qBAAqB,eAAe,OAAO,aAAa,WAAW,GAAG,QAAQ,2BAAsB;AAE1G,SACE,qBAAC,UAAK,WAAW,UACd;AAAA,YAAQ,oBAAC,UAAK,WAAU,4BAA4B,gBAAK;AAAA,IAC1D,oBAAC,UAAK,WAAU,oBAAoB,UAAS;AAAA,IAC5C,mBACC;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,cAAY;AAAA,QAGZ,WAAU;AAAA,QAET;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;","names":["cn","cn"]}
@@ -0,0 +1,223 @@
1
+ "use client";
2
+
3
+ import {
4
+ computePanelPosition
5
+ } from "./chunk-NS7FKOFI.js";
6
+ import {
7
+ bgSolidClass,
8
+ bgSubtleClass,
9
+ textSolidContrastClass,
10
+ textSubtleContrastClass
11
+ } from "./chunk-IP2J3BWY.js";
12
+ import {
13
+ skeletonFill
14
+ } from "./chunk-54HHEXXD.js";
15
+
16
+ // src/tooltip/Tooltip.tsx
17
+ import React, { isValidElement, useCallback, useEffect, useId, useLayoutEffect, useRef, useState } from "react";
18
+ import { createPortal } from "react-dom";
19
+ import { cn as cn2 } from "@mari-ui/core";
20
+
21
+ // src/tooltip/utils.ts
22
+ import { cn } from "@mari-ui/core";
23
+ function getVariantClasses(color, variant) {
24
+ return variant === "soft" ? cn(bgSubtleClass[color], textSubtleContrastClass[color]) : cn(bgSolidClass[color], textSolidContrastClass[color]);
25
+ }
26
+ function getArrowClasses(color, variant) {
27
+ return variant === "soft" ? bgSubtleClass[color] : bgSolidClass[color];
28
+ }
29
+
30
+ // src/tooltip/Tooltip.tsx
31
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
32
+ var GAP_PX = 8;
33
+ var EDGE_PX = 8;
34
+ var CLOSE_DELAY_MS = 120;
35
+ var ARROW_INSET_PX = 12;
36
+ var ARROW_SIDE_CLASS = {
37
+ top: "top-full -translate-x-1/2 -translate-y-1/2",
38
+ bottom: "bottom-full -translate-x-1/2 translate-y-1/2",
39
+ left: "left-full -translate-x-1/2 -translate-y-1/2",
40
+ right: "right-full translate-x-1/2 -translate-y-1/2"
41
+ };
42
+ function useVisibility(alwaysVisible, openOn, wrapperRef, bubbleRef) {
43
+ const timerRef = useRef(void 0);
44
+ const [visible, setVisible] = useState(alwaysVisible ?? false);
45
+ const clearTimer = () => clearTimeout(timerRef.current);
46
+ const open = useCallback((delay) => {
47
+ clearTimeout(timerRef.current);
48
+ if (delay <= 0) setVisible(true);
49
+ else timerRef.current = setTimeout(() => setVisible(true), delay);
50
+ }, []);
51
+ const close = useCallback(() => {
52
+ clearTimeout(timerRef.current);
53
+ if (!alwaysVisible) timerRef.current = setTimeout(() => setVisible(false), CLOSE_DELAY_MS);
54
+ }, [alwaysVisible]);
55
+ const closeNow = () => {
56
+ clearTimer();
57
+ if (!alwaysVisible) setVisible(false);
58
+ };
59
+ useEffect(() => () => clearTimeout(timerRef.current), []);
60
+ useEffect(() => {
61
+ if (openOn !== "click" || !visible) return;
62
+ const onPointerDown = (event) => {
63
+ const target = event.target;
64
+ if (wrapperRef.current?.contains(target) || bubbleRef.current?.contains(target)) return;
65
+ setVisible(false);
66
+ };
67
+ document.addEventListener("pointerdown", onPointerDown);
68
+ return () => document.removeEventListener("pointerdown", onPointerDown);
69
+ }, [openOn, visible, wrapperRef, bubbleRef]);
70
+ return { visible, setVisible, open, close, closeNow, clearTimer };
71
+ }
72
+ function useTrackedPosition(showTooltip, wrapperRef, bubbleRef, placement) {
73
+ const [position, setPosition] = useState(null);
74
+ const updatePosition = useCallback(() => {
75
+ const anchor = wrapperRef.current?.getBoundingClientRect();
76
+ const bubble = bubbleRef.current;
77
+ if (!anchor || !bubble) return;
78
+ const offscreen = anchor.bottom < 0 || anchor.top > window.innerHeight || anchor.right < 0 || anchor.left > window.innerWidth;
79
+ if (offscreen) {
80
+ setPosition(null);
81
+ return;
82
+ }
83
+ const next = computePanelPosition(
84
+ { top: anchor.top, left: anchor.left, width: anchor.width, height: anchor.height },
85
+ { width: bubble.offsetWidth, height: bubble.offsetHeight },
86
+ placement,
87
+ { width: window.innerWidth, height: window.innerHeight },
88
+ GAP_PX,
89
+ EDGE_PX,
90
+ { inset: ARROW_INSET_PX, pointAtCenter: true }
91
+ );
92
+ const pageTop = next.top + window.scrollY;
93
+ const pageLeft = next.left + window.scrollX;
94
+ setPosition(
95
+ (prev) => prev && prev.top === pageTop && prev.left === pageLeft && prev.side === next.side && prev.arrowOffset === next.arrowOffset ? prev : { ...next, top: pageTop, left: pageLeft }
96
+ );
97
+ }, [placement, wrapperRef, bubbleRef]);
98
+ useLayoutEffect(() => {
99
+ if (!showTooltip) {
100
+ setPosition(null);
101
+ return;
102
+ }
103
+ let frame = 0;
104
+ const tick = () => {
105
+ updatePosition();
106
+ frame = requestAnimationFrame(tick);
107
+ };
108
+ tick();
109
+ return () => cancelAnimationFrame(frame);
110
+ }, [showTooltip, updatePosition]);
111
+ return position;
112
+ }
113
+ function decorateTrigger(trigger, showTooltip, tooltipId, isClick) {
114
+ if (!isValidElement(trigger)) return trigger;
115
+ const extra = {};
116
+ if (showTooltip) extra["aria-describedby"] = [trigger.props["aria-describedby"], tooltipId].filter(Boolean).join(" ");
117
+ if (isClick) extra["aria-expanded"] = showTooltip;
118
+ return React.cloneElement(trigger, extra);
119
+ }
120
+ function TooltipBubble({ bubbleRef, id, position, skeleton, content, color, variant, className, style, onMouseEnter, onMouseLeave }) {
121
+ const side = position?.side ?? "top";
122
+ const vertical = side === "top" || side === "bottom";
123
+ return /* @__PURE__ */ jsxs(
124
+ "span",
125
+ {
126
+ ref: bubbleRef,
127
+ role: "tooltip",
128
+ id,
129
+ "aria-busy": skeleton || void 0,
130
+ onMouseEnter,
131
+ onMouseLeave,
132
+ className: cn2(
133
+ // Boyutlar ant.design'ın gerçek Tooltip'inden: padding 6px 8px,
134
+ // radius 6px, line-height 22px. Genişlik en çok 20rem ve HİÇBİR ZAMAN
135
+ // ekran genişliği − 2×kenar payından fazla değil (mobilde taşmaz).
136
+ "absolute z-mari-tooltip w-max max-w-[min(20rem,calc(100vw-1rem))] rounded-md px-2 py-1.5 text-sm leading-[1.375rem] text-wrap",
137
+ // Yalnızca solma: ölçek animasyonu oku da kaydırıyordu (kullanıcı bulgusu).
138
+ "transition-opacity duration-150 starting:opacity-0 motion-reduce:transition-none",
139
+ getVariantClasses(color, variant),
140
+ className
141
+ ),
142
+ style: { top: position?.top ?? 0, left: position?.left ?? 0, visibility: position ? void 0 : "hidden", ...style },
143
+ children: [
144
+ skeleton ? /* @__PURE__ */ jsxs("span", { className: "flex flex-col gap-1.5 py-1", "aria-hidden": true, children: [
145
+ /* @__PURE__ */ jsx("span", { className: cn2("block h-2.5 w-32 rounded-sm opacity-60", skeletonFill(true)) }),
146
+ /* @__PURE__ */ jsx("span", { className: cn2("block h-2.5 w-20 rounded-sm opacity-60", skeletonFill(true)) })
147
+ ] }) : content,
148
+ /* @__PURE__ */ jsx(
149
+ "span",
150
+ {
151
+ "aria-hidden": true,
152
+ className: cn2("absolute size-2 rotate-45", ARROW_SIDE_CLASS[side], getArrowClasses(color, variant)),
153
+ style: vertical ? { left: position?.arrowOffset } : { top: position?.arrowOffset }
154
+ }
155
+ )
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ function Tooltip({
161
+ content,
162
+ trigger,
163
+ placement = "top",
164
+ color = "neutral",
165
+ variant = "solid",
166
+ className,
167
+ style,
168
+ alwaysVisible,
169
+ disabled = false,
170
+ triggerClassName,
171
+ openDelay = 100,
172
+ openOn = "hover",
173
+ skeleton = false
174
+ }) {
175
+ const wrapperRef = useRef(null);
176
+ const bubbleRef = useRef(null);
177
+ const { visible, setVisible, open, close, closeNow, clearTimer } = useVisibility(alwaysVisible, openOn, wrapperRef, bubbleRef);
178
+ const tooltipId = useId();
179
+ const showTooltip = (visible || Boolean(alwaysVisible)) && !disabled;
180
+ const position = useTrackedPosition(showTooltip, wrapperRef, bubbleRef, placement);
181
+ const isClick = openOn === "click";
182
+ const decoratedTrigger = decorateTrigger(trigger, showTooltip, tooltipId, isClick);
183
+ const hoverHandlers = isClick ? { onClick: () => setVisible((v) => !v) } : { onMouseEnter: () => open(openDelay), onMouseLeave: close, onFocus: () => open(0), onBlur: closeNow };
184
+ const bubble = showTooltip ? /* @__PURE__ */ jsx(
185
+ TooltipBubble,
186
+ {
187
+ bubbleRef,
188
+ id: tooltipId,
189
+ position,
190
+ skeleton,
191
+ content,
192
+ color,
193
+ variant,
194
+ className,
195
+ style,
196
+ onMouseEnter: isClick ? void 0 : clearTimer,
197
+ onMouseLeave: isClick ? void 0 : close
198
+ }
199
+ ) : null;
200
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
201
+ /* @__PURE__ */ jsx(
202
+ "span",
203
+ {
204
+ ref: wrapperRef,
205
+ className: cn2("inline-block self-start", triggerClassName),
206
+ ...hoverHandlers,
207
+ onKeyDown: (event) => {
208
+ if (event.key === "Escape") {
209
+ clearTimer();
210
+ if (!alwaysVisible) setVisible(false);
211
+ }
212
+ },
213
+ children: decoratedTrigger
214
+ }
215
+ ),
216
+ bubble && typeof document !== "undefined" && createPortal(bubble, document.body)
217
+ ] });
218
+ }
219
+
220
+ export {
221
+ Tooltip
222
+ };
223
+ //# sourceMappingURL=chunk-ZMA7BT2L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tooltip/Tooltip.tsx","../src/tooltip/utils.ts"],"sourcesContent":["\"use client\";\n\nimport React, { isValidElement, useCallback, useEffect, useId, useLayoutEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { cn } from \"@mari-ui/core\";\nimport { computePanelPosition, type Side } from \"../lib/floating\";\nimport { skeletonFill } from \"../lib/skeleton\";\nimport type { TooltipProps } from \"./types\";\nimport { getArrowClasses, getVariantClasses } from \"./utils\";\n\nexport type { TooltipProps };\n\n/** Tetikleyiciyle balon arası (px) ve balonun ekran kenarından en az uzaklığı. */\nconst GAP_PX = 8;\nconst EDGE_PX = 8;\n/** Balondan/tetikleyiciden çıkınca kapanma gecikmesi — fare aradaki boşluğu geçebilsin. */\nconst CLOSE_DELAY_MS = 120;\n/** Ok, balonun hizalandığı kenardan bu kadar içeride durur (radius'a binmesin). */\nconst ARROW_INSET_PX = 12;\n\nconst ARROW_SIDE_CLASS: Record<Side, string> = {\n top: \"top-full -translate-x-1/2 -translate-y-1/2\",\n bottom: \"bottom-full -translate-x-1/2 translate-y-1/2\",\n left: \"left-full -translate-x-1/2 -translate-y-1/2\",\n right: \"right-full translate-x-1/2 -translate-y-1/2\",\n};\n\ninterface Position {\n top: number;\n left: number;\n side: Side;\n arrowOffset: number;\n}\n\n/**\n * Faz 15 (yeniden yazım):\n * - Konum `lib/floating`'deki `computePanelPosition` ile (Dropdown'la ORTAK):\n * 12 yerleşim, yer yoksa karşı yöne döner, ekran içinde kıstırılır. Eskiden\n * 4 sabit yön + kıstırma yoktu: mobilde 672px'e kadar genişleyen balon\n * ekrandan taşıyor, üstteki bir tetikleyicide ekranın dışına çıkıyordu.\n * - Balonun ÜZERİNE gelinebilir (WCAG 1.4.13): fare tetikleyiciden balona\n * geçerken kapanmaz; kısa bir kapanma gecikmesi aradaki boşluğu köprüler.\n * - Fareyle açılış `openDelay` kadar gecikir (üzerinden geçerken titremesin);\n * odakla açılış anlık.\n *\n * Önceki kararlar korunur: `document.body`'e portal + `fixed` (kaydırılabilir\n * kapsayıcıda kırpılmaz), `role=\"tooltip\"` + tetikleyiciye `aria-describedby`,\n * Escape kapatır, sarmalayıcı `self-start` (flex'te gerilmesin).\n */\ntype ElRef = React.RefObject<HTMLSpanElement | null>;\n\n/** Açık/kapalı durumu: fare gecikmeleri (hover) ya da dışarı tıklama (click). */\nfunction useVisibility(alwaysVisible: boolean | undefined, openOn: \"hover\" | \"click\", wrapperRef: ElRef, bubbleRef: ElRef) {\n const timerRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const [visible, setVisible] = useState(alwaysVisible ?? false);\n\n const clearTimer = () => clearTimeout(timerRef.current);\n const open = useCallback((delay: number) => {\n clearTimeout(timerRef.current);\n if (delay <= 0) setVisible(true);\n else timerRef.current = setTimeout(() => setVisible(true), delay);\n }, []);\n const close = useCallback(() => {\n clearTimeout(timerRef.current);\n if (!alwaysVisible) timerRef.current = setTimeout(() => setVisible(false), CLOSE_DELAY_MS);\n }, [alwaysVisible]);\n const closeNow = () => {\n clearTimer();\n if (!alwaysVisible) setVisible(false);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n // `openOn=\"click\"`: dışarı tıklamak kapatır (tetikleyici ve balon hariç).\n useEffect(() => {\n if (openOn !== \"click\" || !visible) return;\n const onPointerDown = (event: PointerEvent) => {\n const target = event.target as Node;\n if (wrapperRef.current?.contains(target) || bubbleRef.current?.contains(target)) return;\n setVisible(false);\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n return () => document.removeEventListener(\"pointerdown\", onPointerDown);\n }, [openOn, visible, wrapperRef, bubbleRef]);\n\n return { visible, setVisible, open, close, closeNow, clearTimer };\n}\n\n/** Görünürken balonun sayfa konumunu her karede takip eder. */\nfunction useTrackedPosition(showTooltip: boolean, wrapperRef: ElRef, bubbleRef: ElRef, placement: TooltipProps[\"placement\"] & string) {\n const [position, setPosition] = useState<Position | null>(null);\n // Konum: balon önce görünmez çizilir, boyutu ölçülür, sonra yerleştirilir.\n const updatePosition = useCallback(() => {\n const anchor = wrapperRef.current?.getBoundingClientRect();\n const bubble = bubbleRef.current;\n if (!anchor || !bubble) return;\n // Tetikleyici görünür alanın DIŞINDAYSA balon gizlenir. Aksi halde kıstırma\n // onu ekran kenarına yapıştırıyor, tetikleyiciden kopuk havada asılı\n // kalıyordu (Storybook docs'ta aşağıdaki `alwaysVisible` story'ler).\n const offscreen = anchor.bottom < 0 || anchor.top > window.innerHeight || anchor.right < 0 || anchor.left > window.innerWidth;\n if (offscreen) {\n setPosition(null);\n return;\n }\n const next = computePanelPosition(\n { top: anchor.top, left: anchor.left, width: anchor.width, height: anchor.height },\n { width: bubble.offsetWidth, height: bubble.offsetHeight },\n placement,\n { width: window.innerWidth, height: window.innerHeight },\n GAP_PX,\n EDGE_PX,\n { inset: ARROW_INSET_PX, pointAtCenter: true }\n );\n // SAYFA koordinatı (`absolute`): pencere kaydırılınca balonu tarayıcı\n // kendisi taşır. Eskiden `fixed` + her karede JS ile yeniden konum vardı —\n // bir kare geriden geldiği için kaydırırken balonlar titriyor, komşu\n // satırlara biniyordu (kullanıcı bulgusu, docs sayfası).\n const pageTop = next.top + window.scrollY;\n const pageLeft = next.left + window.scrollX;\n setPosition((prev) =>\n prev && prev.top === pageTop && prev.left === pageLeft && prev.side === next.side && prev.arrowOffset === next.arrowOffset\n ? prev\n : { ...next, top: pageTop, left: pageLeft }\n );\n }, [placement, wrapperRef, bubbleRef]);\n\n useLayoutEffect(() => {\n if (!showTooltip) {\n setPosition(null);\n return;\n }\n // Görünür olduğu sürece HER KAREDE takip: yalnızca scroll/resize dinlemek\n // yetmiyordu — sayfa düzeni sonradan değişince (ör. Storybook docs'ta\n // story'ler geç yerleşince) `alwaysVisible` balonlar eski koordinatta\n // asılı kalıyordu. Konum değişmediyse state güncellenmez (render yok).\n let frame = 0;\n const tick = () => {\n updatePosition();\n frame = requestAnimationFrame(tick);\n };\n tick();\n return () => cancelAnimationFrame(frame);\n }, [showTooltip, updatePosition]);\n\n return position;\n}\n\n/** Tetikleyiciye `aria-describedby` (açıkken) ve tıklamalı modda `aria-expanded` ekler. */\nfunction decorateTrigger(trigger: React.ReactNode, showTooltip: boolean, tooltipId: string, isClick: boolean): React.ReactNode {\n if (!isValidElement<{ \"aria-describedby\"?: string; \"aria-expanded\"?: boolean }>(trigger)) return trigger;\n const extra: Record<string, unknown> = {};\n if (showTooltip) extra[\"aria-describedby\"] = [trigger.props[\"aria-describedby\"], tooltipId].filter(Boolean).join(\" \");\n // Tıklamalı modda tetikleyici bir aç/kapa düğmesidir — durumunu duyurur.\n if (isClick) extra[\"aria-expanded\"] = showTooltip;\n return React.cloneElement(trigger, extra);\n}\n\ninterface TooltipBubbleProps {\n bubbleRef: ElRef;\n id: string;\n position: Position | null;\n skeleton: boolean;\n content: React.ReactNode;\n color: NonNullable<TooltipProps[\"color\"]>;\n variant: NonNullable<TooltipProps[\"variant\"]>;\n className?: string;\n style?: React.CSSProperties;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\nfunction TooltipBubble({ bubbleRef, id, position, skeleton, content, color, variant, className, style, onMouseEnter, onMouseLeave }: Readonly<TooltipBubbleProps>) {\n const side = position?.side ?? \"top\";\n const vertical = side === \"top\" || side === \"bottom\";\n return (\n <span\n ref={bubbleRef}\n role=\"tooltip\"\n id={id}\n aria-busy={skeleton || undefined}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n className={cn(\n // Boyutlar ant.design'ın gerçek Tooltip'inden: padding 6px 8px,\n // radius 6px, line-height 22px. Genişlik en çok 20rem ve HİÇBİR ZAMAN\n // ekran genişliği − 2×kenar payından fazla değil (mobilde taşmaz).\n \"absolute z-mari-tooltip w-max max-w-[min(20rem,calc(100vw-1rem))] rounded-md px-2 py-1.5 text-sm leading-[1.375rem] text-wrap\",\n // Yalnızca solma: ölçek animasyonu oku da kaydırıyordu (kullanıcı bulgusu).\n \"transition-opacity duration-150 starting:opacity-0 motion-reduce:transition-none\",\n getVariantClasses(color, variant),\n className\n )}\n // Ölçülene kadar görünmez (yanlış yerde bir kare parlamasın).\n style={{ top: position?.top ?? 0, left: position?.left ?? 0, visibility: position ? undefined : \"hidden\", ...style }}\n >\n {skeleton ? (\n <span className=\"flex flex-col gap-1.5 py-1\" aria-hidden>\n <span className={cn(\"block h-2.5 w-32 rounded-sm opacity-60\", skeletonFill(true))} />\n <span className={cn(\"block h-2.5 w-20 rounded-sm opacity-60\", skeletonFill(true))} />\n </span>\n ) : (\n content\n )}\n {/* Ok: balonla aynı renkte döndürülmüş kare; tetikleyicinin ortasını gösterir. */}\n <span\n aria-hidden\n className={cn(\"absolute size-2 rotate-45\", ARROW_SIDE_CLASS[side], getArrowClasses(color, variant))}\n style={vertical ? { left: position?.arrowOffset } : { top: position?.arrowOffset }}\n />\n </span>\n );\n}\n\nexport function Tooltip({\n content,\n trigger,\n placement = \"top\",\n color = \"neutral\",\n variant = \"solid\",\n className,\n style,\n alwaysVisible,\n disabled = false,\n triggerClassName,\n openDelay = 100,\n openOn = \"hover\",\n skeleton = false,\n}: Readonly<TooltipProps>) {\n const wrapperRef = useRef<HTMLSpanElement>(null);\n const bubbleRef = useRef<HTMLSpanElement>(null);\n const { visible, setVisible, open, close, closeNow, clearTimer } = useVisibility(alwaysVisible, openOn, wrapperRef, bubbleRef);\n const tooltipId = useId();\n const showTooltip = (visible || Boolean(alwaysVisible)) && !disabled;\n const position = useTrackedPosition(showTooltip, wrapperRef, bubbleRef, placement);\n\n const isClick = openOn === \"click\";\n const decoratedTrigger = decorateTrigger(trigger, showTooltip, tooltipId, isClick);\n const hoverHandlers = isClick\n ? { onClick: () => setVisible((v) => !v) }\n : { onMouseEnter: () => open(openDelay), onMouseLeave: close, onFocus: () => open(0), onBlur: closeNow };\n\n const bubble = showTooltip ? (\n <TooltipBubble\n bubbleRef={bubbleRef}\n id={tooltipId}\n position={position}\n skeleton={skeleton}\n content={content}\n color={color}\n variant={variant}\n className={className}\n style={style}\n // Fare takibi yalnızca \"üzerine gelinebilirlik\" (WCAG 1.4.13) için; tıklamalı modda yok.\n onMouseEnter={isClick ? undefined : clearTimer}\n onMouseLeave={isClick ? undefined : close}\n />\n ) : null;\n\n return (\n <>\n {/* Sarmalayıcı KENDİSİ interaktif değil — hover/focus bölgesi. Gerçek\n etkileşim `trigger`da; `onKeyDown` yalnızca Escape için (odak\n trigger'da, olay buraya bubble eder). */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <span\n ref={wrapperRef}\n className={cn(\"inline-block self-start\", triggerClassName)}\n {...hoverHandlers}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n clearTimer();\n if (!alwaysVisible) setVisible(false);\n }\n }}\n >\n {decoratedTrigger}\n </span>\n {bubble && typeof document !== \"undefined\" && createPortal(bubble, document.body)}\n </>\n );\n}\n","import { cn, type ColorRole } from \"@mari-ui/core\";\nimport { bgSolidClass, bgSubtleClass, textSolidContrastClass, textSubtleContrastClass } from \"../lib/colorClasses\";\nimport type { TooltipVariant } from \"./types\";\n\n/**\n * Balon STATİK: dolgu + üzerindeki kontrast metin, hover durumu YOK. Eskiden\n * butonlar için olan renk varyantı (`resolveColorVariant`) kullanılıyordu —\n * `hover:` arka planı taşıyordu; fare balonun üzerine gelince balon koyulaşıyor,\n * ayrı bir öğe olan ok ise eski renkte kalıyordu (kullanıcı bulgusu).\n */\nexport function getVariantClasses(color: ColorRole, variant: TooltipVariant): string {\n return variant === \"soft\" ? cn(bgSubtleClass[color], textSubtleContrastClass[color]) : cn(bgSolidClass[color], textSolidContrastClass[color]);\n}\n\n/** Ok balonun dolgusuyla birebir aynı sınıf. */\nexport function getArrowClasses(color: ColorRole, variant: TooltipVariant): string {\n return variant === \"soft\" ? bgSubtleClass[color] : bgSolidClass[color];\n}\n"],"mappings":"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","names":["cn","cn"]}
@@ -0,0 +1,79 @@
1
+ import {
2
+ bgSolidClass,
3
+ textSolidContrastClass
4
+ } from "./chunk-IP2J3BWY.js";
5
+ import {
6
+ skeletonFill
7
+ } from "./chunk-54HHEXXD.js";
8
+
9
+ // src/badge/Badge.tsx
10
+ import { cn } from "@mari-ui/core";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ var BUBBLE_SIZE = { sm: "h-4 min-w-4 px-1 text-[0.625rem]", md: "h-5 min-w-5 px-1.5 text-xs" };
13
+ var DOT_SIZE = { sm: "size-1.5", md: "size-2" };
14
+ var toLength = (v) => typeof v === "number" ? `${v}px` : v;
15
+ function displayCount(count, overflowCount) {
16
+ if (count == null || count === "") return null;
17
+ if (typeof count === "number") return count > overflowCount ? `${overflowCount}+` : String(count);
18
+ return count;
19
+ }
20
+ function Badge({
21
+ count,
22
+ overflowCount = 99,
23
+ showZero = false,
24
+ dot = false,
25
+ color = "error",
26
+ size = "md",
27
+ label,
28
+ offset,
29
+ children,
30
+ className,
31
+ skeleton = false
32
+ }) {
33
+ const text = displayCount(count, overflowCount);
34
+ const hidden = !dot && (text === null || count === 0 && !showZero);
35
+ const standalone = children === void 0;
36
+ const bubble = hidden ? null : /* @__PURE__ */ jsx(
37
+ "span",
38
+ {
39
+ "aria-hidden": true,
40
+ "data-badge": "",
41
+ className: cn(
42
+ "inline-flex shrink-0 items-center justify-center rounded-full font-semibold leading-none tabular-nums whitespace-nowrap",
43
+ dot ? DOT_SIZE[size] : BUBBLE_SIZE[size],
44
+ skeleton ? cn(skeletonFill(true), "text-transparent") : cn(bgSolidClass[color], textSolidContrastClass[color]),
45
+ !standalone && "absolute right-0 top-0 z-10 translate-x-1/2 -translate-y-1/2 ring-2 ring-mari-surface"
46
+ ),
47
+ style: offset ? { marginRight: `calc(${toLength(offset[0])} * -1)`, marginTop: toLength(offset[1]) } : void 0,
48
+ children: dot ? null : text
49
+ }
50
+ );
51
+ const srText = label && !hidden && !skeleton ? /* @__PURE__ */ jsx("span", { className: "sr-only", children: label }) : null;
52
+ if (standalone) {
53
+ return /* @__PURE__ */ jsxs("span", { className: cn("inline-flex", className), children: [
54
+ bubble,
55
+ srText
56
+ ] });
57
+ }
58
+ return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex", className), children: [
59
+ children,
60
+ bubble,
61
+ srText
62
+ ] });
63
+ }
64
+ var STATUS_DOT = bgSolidClass;
65
+ function StatusBadge({ color = "neutral", children, processing = false, className, skeleton = false }) {
66
+ return /* @__PURE__ */ jsxs("span", { className: cn("inline-flex items-center gap-2 text-sm text-mari-foreground", className), "aria-hidden": skeleton || void 0, children: [
67
+ /* @__PURE__ */ jsxs("span", { className: "relative flex size-2 shrink-0", children: [
68
+ processing && !skeleton && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("absolute inset-0 animate-ping rounded-full opacity-60 motion-reduce:hidden", STATUS_DOT[color]) }),
69
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("relative size-2 rounded-full", skeleton ? skeletonFill(true) : STATUS_DOT[color]) })
70
+ ] }),
71
+ /* @__PURE__ */ jsx("span", { className: cn(skeleton && cn("rounded-sm text-transparent", skeletonFill(true))), children })
72
+ ] });
73
+ }
74
+
75
+ export {
76
+ Badge,
77
+ StatusBadge
78
+ };
79
+ //# sourceMappingURL=chunk-ZXYQ2ZPR.js.map