zaravand-ui 5.1.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/components/Accordion/Accordion.cjs +1 -0
  3. package/dist/components/Accordion/Accordion.d.cts +8 -0
  4. package/dist/components/Accordion/Accordion.d.ts +1 -1
  5. package/dist/components/Accordion/Accordion.interface.d.cts +103 -0
  6. package/dist/components/Accordion/Accordion.interface.d.ts +8 -0
  7. package/dist/components/Accordion/Accordion.js +361 -0
  8. package/dist/components/Accordion/Accordion.variant.cjs +1 -0
  9. package/dist/components/Accordion/Accordion.variant.d.cts +16 -0
  10. package/dist/components/Accordion/Accordion.variant.d.ts +1 -4
  11. package/dist/components/Accordion/Accordion.variant.js +17 -0
  12. package/dist/components/Avatar/Avatar.cjs +1 -0
  13. package/dist/components/Avatar/Avatar.d.cts +6 -0
  14. package/dist/components/Avatar/Avatar.d.ts +4 -3
  15. package/dist/components/Avatar/Avatar.interface.d.cts +65 -0
  16. package/dist/components/Avatar/Avatar.interface.d.ts +2 -2
  17. package/dist/components/Avatar/Avatar.js +244 -0
  18. package/dist/components/Avatar/Avatar.utils.cjs +1 -0
  19. package/dist/components/Avatar/Avatar.utils.d.cts +6 -0
  20. package/dist/components/Avatar/Avatar.utils.js +8 -0
  21. package/dist/components/Avatar/Avatar.variant.cjs +1 -0
  22. package/dist/components/Avatar/Avatar.variant.d.cts +22 -0
  23. package/dist/components/Avatar/Avatar.variant.d.ts +2 -2
  24. package/dist/components/Avatar/Avatar.variant.js +54 -0
  25. package/dist/components/Button/Button.cjs +1 -0
  26. package/dist/components/Button/Button.d.cts +3 -0
  27. package/dist/components/Button/Button.d.ts +1 -2
  28. package/dist/components/Button/Button.interface.d.cts +21 -0
  29. package/dist/components/Button/Button.interface.d.ts +9 -2
  30. package/dist/components/Button/Button.js +69 -0
  31. package/dist/components/Button/Button.variant.cjs +1 -0
  32. package/dist/components/Button/Button.variant.d.cts +7 -0
  33. package/dist/components/Button/Button.variant.d.ts +6 -11
  34. package/dist/components/Button/Button.variant.js +64 -0
  35. package/dist/components/Checkbox/Checkbox.cjs +1 -0
  36. package/dist/components/Checkbox/Checkbox.d.cts +4 -0
  37. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  38. package/dist/components/Checkbox/Checkbox.interface.d.cts +35 -0
  39. package/dist/components/Checkbox/Checkbox.interface.d.ts +19 -3
  40. package/dist/components/Checkbox/Checkbox.js +71 -0
  41. package/dist/components/Checkbox/Checkbox.variant.cjs +1 -0
  42. package/dist/components/Checkbox/Checkbox.variant.d.cts +13 -0
  43. package/dist/components/Checkbox/Checkbox.variant.d.ts +9 -4
  44. package/dist/components/Checkbox/Checkbox.variant.js +32 -0
  45. package/dist/components/DatePicker/DatePicker.cjs +1 -0
  46. package/dist/components/DatePicker/DatePicker.d.cts +6 -0
  47. package/dist/components/DatePicker/DatePicker.d.ts +5 -7
  48. package/dist/components/DatePicker/DatePicker.interface.d.cts +83 -0
  49. package/dist/components/DatePicker/DatePicker.interface.d.ts +35 -7
  50. package/dist/components/DatePicker/DatePicker.js +721 -0
  51. package/dist/components/DatePicker/DatePicker.utils.cjs +1 -0
  52. package/dist/components/DatePicker/DatePicker.utils.d.cts +73 -0
  53. package/dist/components/DatePicker/DatePicker.utils.d.ts +73 -0
  54. package/dist/components/DatePicker/DatePicker.utils.js +263 -0
  55. package/dist/components/DatePicker/DatePicker.variant.cjs +1 -0
  56. package/dist/components/DatePicker/DatePicker.variant.d.cts +18 -0
  57. package/dist/components/DatePicker/DatePicker.variant.d.ts +1 -3
  58. package/dist/components/DatePicker/DatePicker.variant.js +25 -0
  59. package/dist/components/DatePicker/DatePickerMonthSlider.cjs +1 -0
  60. package/dist/components/DatePicker/DatePickerMonthSlider.d.cts +25 -0
  61. package/dist/components/DatePicker/DatePickerMonthSlider.d.ts +25 -0
  62. package/dist/components/DatePicker/DatePickerMonthSlider.js +98 -0
  63. package/dist/components/DatePicker/DatePickerWheel.cjs +1 -0
  64. package/dist/components/DatePicker/DatePickerWheel.d.cts +30 -0
  65. package/dist/components/DatePicker/DatePickerWheel.d.ts +30 -0
  66. package/dist/components/DatePicker/DatePickerWheel.js +156 -0
  67. package/dist/components/Dialog/Dialog.cjs +1 -0
  68. package/dist/components/Dialog/Dialog.d.cts +4 -0
  69. package/dist/components/Dialog/Dialog.d.ts +3 -2
  70. package/dist/components/Dialog/Dialog.interface.d.cts +37 -0
  71. package/dist/components/Dialog/Dialog.interface.d.ts +16 -0
  72. package/dist/components/Dialog/Dialog.js +92 -0
  73. package/dist/components/Dialog/Dialog.variant.cjs +1 -0
  74. package/dist/components/Dialog/Dialog.variant.d.cts +7 -0
  75. package/dist/components/Dialog/Dialog.variant.js +6 -0
  76. package/dist/components/Dialog/DialogDragHandle.cjs +1 -0
  77. package/dist/components/Dialog/DialogDragHandle.d.cts +11 -0
  78. package/dist/components/Dialog/DialogDragHandle.d.ts +11 -0
  79. package/dist/components/Dialog/DialogDragHandle.js +55 -0
  80. package/dist/components/Input/Input.cjs +1 -0
  81. package/dist/components/Input/Input.d.cts +4 -0
  82. package/dist/components/Input/Input.d.ts +3 -2
  83. package/dist/components/Input/Input.formatting.cjs +1 -0
  84. package/dist/components/Input/Input.formatting.d.cts +40 -0
  85. package/dist/components/Input/Input.formatting.d.ts +40 -0
  86. package/dist/components/Input/Input.formatting.js +203 -0
  87. package/dist/components/Input/Input.interface.d.cts +37 -0
  88. package/dist/components/Input/Input.interface.d.ts +10 -2
  89. package/dist/components/Input/Input.js +153 -0
  90. package/dist/components/Input/Input.variant.cjs +1 -0
  91. package/dist/components/Input/Input.variant.d.cts +2 -0
  92. package/dist/components/Input/Input.variant.d.ts +1 -3
  93. package/dist/components/Input/Input.variant.js +11 -0
  94. package/dist/components/Pagination/Pagination.cjs +1 -0
  95. package/dist/components/Pagination/Pagination.d.cts +4 -0
  96. package/dist/components/Pagination/Pagination.d.ts +3 -2
  97. package/dist/components/Pagination/Pagination.interface.d.cts +12 -0
  98. package/dist/components/Pagination/Pagination.js +156 -0
  99. package/dist/components/Pagination/Pagination.variant.cjs +1 -0
  100. package/dist/components/Pagination/Pagination.variant.d.cts +13 -0
  101. package/dist/components/Pagination/Pagination.variant.d.ts +3 -1
  102. package/dist/components/Pagination/Pagination.variant.js +26 -0
  103. package/dist/components/RadioGroup/RadioGroup.cjs +1 -0
  104. package/dist/components/RadioGroup/RadioGroup.d.cts +6 -0
  105. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  106. package/dist/components/RadioGroup/RadioGroup.interface.d.cts +34 -0
  107. package/dist/components/RadioGroup/RadioGroup.interface.d.ts +1 -1
  108. package/dist/components/RadioGroup/RadioGroup.js +98 -0
  109. package/dist/components/RadioGroup/RadioGroup.variant.cjs +1 -0
  110. package/dist/components/RadioGroup/RadioGroup.variant.d.cts +20 -0
  111. package/dist/components/RadioGroup/RadioGroup.variant.d.ts +4 -5
  112. package/dist/components/RadioGroup/RadioGroup.variant.js +53 -0
  113. package/dist/components/Select/Select.cjs +1 -0
  114. package/dist/components/Select/Select.d.cts +12 -0
  115. package/dist/components/Select/Select.d.ts +8 -16
  116. package/dist/components/Select/Select.interface.d.cts +110 -0
  117. package/dist/components/Select/Select.interface.d.ts +93 -35
  118. package/dist/components/Select/Select.js +936 -0
  119. package/dist/components/Select/Select.variant.cjs +1 -0
  120. package/dist/components/Select/Select.variant.d.cts +14 -0
  121. package/dist/components/Select/Select.variant.d.ts +8 -7
  122. package/dist/components/Select/Select.variant.js +19 -0
  123. package/dist/components/Sheet/Sheet.cjs +1 -0
  124. package/dist/components/Sheet/Sheet.d.cts +4 -0
  125. package/dist/components/Sheet/Sheet.d.ts +3 -2
  126. package/dist/components/Sheet/Sheet.interface.d.cts +32 -0
  127. package/dist/components/Sheet/Sheet.interface.d.ts +9 -0
  128. package/dist/components/Sheet/Sheet.js +82 -0
  129. package/dist/components/Sheet/Sheet.variant.cjs +1 -0
  130. package/dist/components/Sheet/Sheet.variant.d.cts +10 -0
  131. package/dist/components/Sheet/Sheet.variant.js +14 -0
  132. package/dist/components/Skeleton/Skeleton.cjs +1 -0
  133. package/dist/components/Skeleton/Skeleton.d.cts +4 -0
  134. package/dist/components/Skeleton/Skeleton.d.ts +3 -2
  135. package/dist/components/Skeleton/Skeleton.interface.d.cts +5 -0
  136. package/dist/components/Skeleton/Skeleton.interface.d.ts +2 -2
  137. package/dist/components/Skeleton/Skeleton.js +16 -0
  138. package/dist/components/Skeleton/Skeleton.variant.cjs +1 -0
  139. package/dist/components/Skeleton/Skeleton.variant.d.cts +2 -0
  140. package/dist/components/Skeleton/Skeleton.variant.js +5 -0
  141. package/dist/components/Spinner/Spinner.cjs +1 -0
  142. package/dist/components/Spinner/Spinner.d.cts +4 -0
  143. package/dist/components/Spinner/Spinner.d.ts +3 -2
  144. package/dist/components/Spinner/Spinner.interface.d.cts +13 -0
  145. package/dist/components/Spinner/Spinner.interface.d.ts +8 -1
  146. package/dist/components/Spinner/Spinner.js +28 -0
  147. package/dist/components/Spinner/Spinner.variant.cjs +1 -0
  148. package/dist/components/Spinner/Spinner.variant.d.cts +5 -0
  149. package/dist/components/Spinner/Spinner.variant.d.ts +4 -9
  150. package/dist/components/Spinner/Spinner.variant.js +29 -0
  151. package/dist/components/Switch/Switch.cjs +1 -0
  152. package/dist/components/Switch/Switch.d.cts +4 -0
  153. package/dist/components/Switch/Switch.d.ts +1 -1
  154. package/dist/components/Switch/Switch.interface.d.cts +32 -0
  155. package/dist/components/Switch/Switch.interface.d.ts +18 -4
  156. package/dist/components/Switch/Switch.js +67 -0
  157. package/dist/components/Switch/Switch.variant.cjs +1 -0
  158. package/dist/components/Switch/Switch.variant.d.cts +11 -0
  159. package/dist/components/Switch/Switch.variant.d.ts +9 -5
  160. package/dist/components/Switch/Switch.variant.js +26 -0
  161. package/dist/components/Table/Table.cjs +1 -0
  162. package/dist/components/Table/Table.constants.cjs +1 -0
  163. package/dist/components/Table/Table.constants.d.cts +18 -0
  164. package/dist/components/Table/Table.constants.d.ts +2 -29
  165. package/dist/components/Table/Table.constants.js +4 -0
  166. package/dist/components/Table/Table.d.cts +6 -0
  167. package/dist/components/Table/Table.d.ts +4 -34
  168. package/dist/components/Table/Table.interface.d.cts +278 -0
  169. package/dist/components/Table/Table.interface.d.ts +34 -26
  170. package/dist/components/Table/Table.js +578 -0
  171. package/dist/components/Table/Table.utils.cjs +1 -0
  172. package/dist/components/Table/Table.utils.d.cts +39 -0
  173. package/dist/components/Table/Table.utils.d.ts +12 -6
  174. package/dist/components/Table/Table.utils.js +186 -0
  175. package/dist/components/Table/Table.variant.cjs +1 -0
  176. package/dist/components/Table/Table.variant.d.cts +19 -0
  177. package/dist/components/Table/Table.variant.d.ts +0 -3
  178. package/dist/components/Table/Table.variant.js +38 -0
  179. package/dist/components/Table/TableEmptyState.cjs +1 -0
  180. package/dist/components/Table/TableEmptyState.d.cts +2 -0
  181. package/dist/components/Table/TableEmptyState.d.ts +1 -1
  182. package/dist/components/Table/TableEmptyState.js +19 -0
  183. package/dist/components/Table/TablePaginationControls.cjs +1 -0
  184. package/dist/components/Table/TablePaginationControls.d.cts +2 -0
  185. package/dist/components/Table/TablePaginationControls.d.ts +1 -1
  186. package/dist/components/Table/TablePaginationControls.js +38 -0
  187. package/dist/components/Table/TableParts.cjs +1 -0
  188. package/dist/components/Table/TableParts.d.cts +16 -0
  189. package/dist/components/Table/TableParts.d.ts +16 -0
  190. package/dist/components/Table/TableParts.js +54 -0
  191. package/dist/components/Table/TableSkeletonRows.cjs +1 -0
  192. package/dist/components/Table/TableSkeletonRows.d.cts +13 -0
  193. package/dist/components/Table/TableSkeletonRows.d.ts +13 -0
  194. package/dist/components/Table/TableSkeletonRows.js +40 -0
  195. package/dist/components/Table/TableSortToggle.cjs +1 -0
  196. package/dist/components/Table/TableSortToggle.d.cts +2 -0
  197. package/dist/components/Table/TableSortToggle.d.ts +2 -2
  198. package/dist/components/Table/TableSortToggle.js +45 -0
  199. package/dist/components/Table/hooks/useTableCardLabels.cjs +1 -0
  200. package/dist/components/Table/hooks/useTableCardLabels.d.cts +9 -0
  201. package/dist/components/Table/hooks/useTableCardLabels.d.ts +9 -0
  202. package/dist/components/Table/hooks/useTableCardLabels.js +34 -0
  203. package/dist/components/Table/hooks/useTablePagination.cjs +1 -0
  204. package/dist/components/Table/hooks/useTablePagination.d.cts +34 -0
  205. package/dist/components/Table/hooks/useTablePagination.d.ts +2 -6
  206. package/dist/components/Table/hooks/useTablePagination.js +204 -0
  207. package/dist/components/Table/hooks/useTableSearch.cjs +1 -0
  208. package/dist/components/Table/hooks/useTableSearch.d.cts +20 -0
  209. package/dist/components/Table/hooks/useTableSearch.d.ts +5 -3
  210. package/dist/components/Table/hooks/useTableSearch.js +53 -0
  211. package/dist/components/Table/hooks/useTableSort.cjs +1 -0
  212. package/dist/components/Table/hooks/useTableSort.d.cts +16 -0
  213. package/dist/components/Table/hooks/useTableSort.d.ts +3 -1
  214. package/dist/components/Table/hooks/useTableSort.js +50 -0
  215. package/dist/components/Tabs/Tabs.cjs +1 -0
  216. package/dist/components/Tabs/Tabs.d.cts +8 -0
  217. package/dist/components/Tabs/Tabs.d.ts +1 -1
  218. package/dist/components/Tabs/Tabs.interface.d.cts +32 -0
  219. package/dist/components/Tabs/Tabs.interface.d.ts +1 -1
  220. package/dist/components/Tabs/Tabs.js +193 -0
  221. package/dist/components/Tabs/Tabs.variant.cjs +1 -0
  222. package/dist/components/Tabs/Tabs.variant.d.cts +18 -0
  223. package/dist/components/Tabs/Tabs.variant.d.ts +2 -2
  224. package/dist/components/Tabs/Tabs.variant.js +107 -0
  225. package/dist/components/Textarea/Textarea.cjs +1 -0
  226. package/dist/components/Textarea/Textarea.d.cts +4 -0
  227. package/dist/components/Textarea/Textarea.d.ts +3 -2
  228. package/dist/components/Textarea/Textarea.interface.d.cts +34 -0
  229. package/dist/components/Textarea/Textarea.interface.d.ts +8 -2
  230. package/dist/components/Textarea/Textarea.js +115 -0
  231. package/dist/components/Textarea/Textarea.variant.cjs +1 -0
  232. package/dist/components/Textarea/Textarea.variant.d.cts +4 -0
  233. package/dist/components/Textarea/Textarea.variant.js +14 -0
  234. package/dist/components/TimePicker/TimePicker.cjs +1 -0
  235. package/dist/components/TimePicker/TimePicker.d.cts +6 -0
  236. package/dist/components/TimePicker/TimePicker.d.ts +6 -0
  237. package/dist/components/TimePicker/TimePicker.interface.d.cts +105 -0
  238. package/dist/components/TimePicker/TimePicker.interface.d.ts +105 -0
  239. package/dist/components/TimePicker/TimePicker.js +208 -0
  240. package/dist/components/TimePicker/TimePicker.utils.cjs +1 -0
  241. package/dist/components/TimePicker/TimePicker.utils.d.cts +57 -0
  242. package/dist/components/TimePicker/TimePicker.utils.d.ts +57 -0
  243. package/dist/components/TimePicker/TimePicker.utils.js +171 -0
  244. package/dist/components/TimePicker/TimePicker.variant.cjs +1 -0
  245. package/dist/components/TimePicker/TimePicker.variant.d.cts +46 -0
  246. package/dist/components/TimePicker/TimePicker.variant.d.ts +46 -0
  247. package/dist/components/TimePicker/TimePicker.variant.js +93 -0
  248. package/dist/components/TimePicker/TimePickerPanel.cjs +1 -0
  249. package/dist/components/TimePicker/TimePickerPanel.d.cts +25 -0
  250. package/dist/components/TimePicker/TimePickerPanel.d.ts +25 -0
  251. package/dist/components/TimePicker/TimePickerPanel.js +464 -0
  252. package/dist/components/TimePicker/TimePickerWheel.cjs +1 -0
  253. package/dist/components/TimePicker/TimePickerWheel.d.cts +27 -0
  254. package/dist/components/TimePicker/TimePickerWheel.d.ts +27 -0
  255. package/dist/components/TimePicker/TimePickerWheel.js +205 -0
  256. package/dist/components/Toast/Toast.cjs +1 -0
  257. package/dist/components/Toast/Toast.d.cts +13 -0
  258. package/dist/components/Toast/Toast.d.ts +3 -3
  259. package/dist/components/Toast/Toast.interface.d.cts +6 -0
  260. package/dist/components/Toast/Toast.interface.d.ts +1 -1
  261. package/dist/components/Toast/Toast.js +98 -0
  262. package/dist/components/Toast/Toast.variant.cjs +1 -0
  263. package/dist/components/Toast/Toast.variant.d.cts +9 -0
  264. package/dist/components/Toast/Toast.variant.d.ts +1 -1
  265. package/dist/components/Toast/Toast.variant.js +16 -0
  266. package/dist/components/Toast/ToastHost.cjs +1 -0
  267. package/dist/components/Toast/ToastHost.d.cts +2 -0
  268. package/dist/components/Toast/ToastHost.js +96 -0
  269. package/dist/components/Toast/function/showToast.cjs +1 -0
  270. package/dist/components/Toast/function/showToast.d.cts +33 -0
  271. package/dist/components/Toast/function/showToast.d.ts +19 -3
  272. package/dist/components/Toast/function/showToast.js +42 -0
  273. package/dist/components/Toast/function/toastHaptics.cjs +1 -0
  274. package/dist/components/Toast/function/toastHaptics.d.cts +11 -0
  275. package/dist/components/Toast/function/toastHaptics.d.ts +11 -0
  276. package/dist/components/Toast/function/toastHaptics.js +6 -0
  277. package/dist/components/Toast/function/toastVisual.cjs +1 -0
  278. package/dist/components/Toast/function/toastVisual.d.cts +10 -0
  279. package/dist/components/Toast/function/toastVisual.d.ts +1 -1
  280. package/dist/components/Toast/function/toastVisual.js +29 -0
  281. package/dist/components/Toggle/Toggle.cjs +1 -0
  282. package/dist/components/Toggle/Toggle.d.cts +4 -0
  283. package/dist/components/Toggle/Toggle.d.ts +1 -1
  284. package/dist/components/Toggle/Toggle.interface.d.cts +13 -0
  285. package/dist/components/Toggle/Toggle.interface.d.ts +1 -1
  286. package/dist/components/Toggle/Toggle.js +31 -0
  287. package/dist/components/Toggle/Toggle.variant.cjs +1 -0
  288. package/dist/components/Toggle/Toggle.variant.d.cts +5 -0
  289. package/dist/components/Toggle/Toggle.variant.js +22 -0
  290. package/dist/components/Tooltip/Tooltip.cjs +1 -0
  291. package/dist/components/Tooltip/Tooltip.d.cts +10 -0
  292. package/dist/components/Tooltip/Tooltip.d.ts +9 -2
  293. package/dist/components/Tooltip/Tooltip.interface.d.cts +16 -0
  294. package/dist/components/Tooltip/Tooltip.interface.d.ts +3 -0
  295. package/dist/components/Tooltip/Tooltip.js +48 -0
  296. package/dist/components/Tooltip/Tooltip.variant.cjs +1 -0
  297. package/dist/components/Tooltip/Tooltip.variant.d.cts +2 -0
  298. package/dist/components/Tooltip/Tooltip.variant.js +5 -0
  299. package/dist/components/Uploader/Uploader.cjs +2 -0
  300. package/dist/components/Uploader/Uploader.d.cts +4 -0
  301. package/dist/components/Uploader/Uploader.d.ts +3 -2
  302. package/dist/components/Uploader/Uploader.interface.d.cts +78 -0
  303. package/dist/components/Uploader/Uploader.interface.d.ts +2 -2
  304. package/dist/components/Uploader/Uploader.js +488 -0
  305. package/dist/components/Uploader/Uploader.utils.cjs +1 -0
  306. package/dist/components/Uploader/Uploader.utils.d.cts +21 -0
  307. package/dist/components/Uploader/Uploader.utils.d.ts +9 -5
  308. package/dist/components/Uploader/Uploader.utils.js +75 -0
  309. package/dist/components/Uploader/Uploader.variant.cjs +1 -0
  310. package/dist/components/Uploader/Uploader.variant.d.cts +6 -0
  311. package/dist/components/Uploader/Uploader.variant.d.ts +1 -3
  312. package/dist/components/Uploader/Uploader.variant.js +6 -0
  313. package/dist/components/shared/ActionSheet.cjs +1 -0
  314. package/dist/components/shared/ActionSheet.d.cts +26 -0
  315. package/dist/components/shared/ActionSheet.d.ts +26 -0
  316. package/dist/components/shared/ActionSheet.js +51 -0
  317. package/dist/components/shared/FieldClearButton.cjs +1 -0
  318. package/dist/components/shared/FieldClearButton.d.cts +17 -0
  319. package/dist/components/shared/FieldClearButton.d.ts +17 -0
  320. package/dist/components/shared/FieldClearButton.js +34 -0
  321. package/dist/components/shared/FieldLabel.cjs +1 -0
  322. package/dist/components/shared/FieldLabel.d.cts +23 -0
  323. package/dist/components/shared/FieldLabel.d.ts +23 -0
  324. package/dist/components/shared/FieldLabel.js +48 -0
  325. package/dist/components/shared/IconActionButton.cjs +1 -0
  326. package/dist/components/shared/IconActionButton.d.cts +44 -0
  327. package/dist/components/shared/IconActionButton.d.ts +44 -0
  328. package/dist/components/shared/IconActionButton.js +70 -0
  329. package/dist/components/shared/RequiredValidationInput.cjs +1 -0
  330. package/dist/components/shared/RequiredValidationInput.d.cts +15 -0
  331. package/dist/components/shared/RequiredValidationInput.d.ts +15 -0
  332. package/dist/components/shared/RequiredValidationInput.js +22 -0
  333. package/dist/components/shared/WheelColumn.cjs +1 -0
  334. package/dist/components/shared/WheelColumn.d.cts +29 -0
  335. package/dist/components/shared/WheelColumn.d.ts +29 -0
  336. package/dist/components/shared/WheelColumn.js +116 -0
  337. package/dist/components/shared/fieldStyles.cjs +1 -0
  338. package/dist/components/shared/fieldStyles.d.cts +4 -0
  339. package/dist/components/shared/fieldStyles.js +14 -0
  340. package/dist/components/shared/haptics.cjs +1 -0
  341. package/dist/components/shared/haptics.d.cts +6 -0
  342. package/dist/components/shared/haptics.d.ts +6 -0
  343. package/dist/components/shared/haptics.js +8 -0
  344. package/dist/components/shared/overlay.cjs +1 -0
  345. package/dist/components/shared/overlay.d.cts +25 -0
  346. package/dist/components/shared/overlay.d.ts +25 -0
  347. package/dist/components/shared/overlay.js +45 -0
  348. package/dist/components/shared/overlay.utils.cjs +1 -0
  349. package/dist/components/shared/overlay.utils.d.cts +6 -0
  350. package/dist/components/shared/overlay.utils.d.ts +6 -0
  351. package/dist/components/shared/overlay.utils.js +7 -0
  352. package/dist/components/shared/responsiveScale.cjs +1 -0
  353. package/dist/components/shared/responsiveScale.d.cts +29 -0
  354. package/dist/components/shared/responsiveScale.d.ts +18 -26
  355. package/dist/components/shared/responsiveScale.js +4 -0
  356. package/dist/components/shared/useBubbleInputInvalid.cjs +1 -0
  357. package/dist/components/shared/useBubbleInputInvalid.d.cts +8 -0
  358. package/dist/components/shared/useBubbleInputInvalid.d.ts +8 -0
  359. package/dist/components/shared/useBubbleInputInvalid.js +40 -0
  360. package/dist/components/shared/useControllableState.cjs +1 -0
  361. package/dist/components/shared/useControllableState.d.cts +16 -0
  362. package/dist/components/shared/useControllableState.d.ts +16 -0
  363. package/dist/components/shared/useControllableState.js +14 -0
  364. package/dist/components/shared/useExclusiveAction.cjs +1 -0
  365. package/dist/components/shared/useExclusiveAction.d.cts +9 -0
  366. package/dist/components/shared/useExclusiveAction.d.ts +9 -0
  367. package/dist/components/shared/useExclusiveAction.js +17 -0
  368. package/dist/components/shared/useInvalidState.cjs +1 -0
  369. package/dist/components/shared/useInvalidState.d.cts +11 -0
  370. package/dist/components/shared/useInvalidState.d.ts +11 -0
  371. package/dist/components/shared/useInvalidState.js +14 -0
  372. package/dist/components/shared/useIsomorphicLayoutEffect.cjs +1 -0
  373. package/dist/components/shared/useIsomorphicLayoutEffect.d.cts +6 -0
  374. package/dist/components/shared/useIsomorphicLayoutEffect.d.ts +6 -0
  375. package/dist/components/shared/useIsomorphicLayoutEffect.js +5 -0
  376. package/dist/components/shared/useStickyToolbar.cjs +1 -0
  377. package/dist/components/shared/useStickyToolbar.d.cts +17 -0
  378. package/dist/components/shared/useStickyToolbar.d.ts +17 -0
  379. package/dist/components/shared/useStickyToolbar.js +39 -0
  380. package/dist/components/shared/useWheelSize.cjs +1 -0
  381. package/dist/components/shared/useWheelSize.d.cts +10 -0
  382. package/dist/components/shared/useWheelSize.d.ts +10 -0
  383. package/dist/components/shared/useWheelSize.js +14 -0
  384. package/dist/components/shared/viewport.cjs +1 -0
  385. package/dist/components/shared/viewport.d.cts +17 -0
  386. package/dist/components/shared/viewport.d.ts +17 -0
  387. package/dist/components/shared/viewport.js +32 -0
  388. package/dist/config/ZuiConfigContext.cjs +1 -0
  389. package/dist/config/ZuiConfigContext.d.cts +13 -0
  390. package/dist/config/ZuiConfigContext.d.ts +13 -0
  391. package/dist/config/ZuiConfigContext.js +11 -0
  392. package/dist/config/ZuiConfigProvider.cjs +1 -0
  393. package/dist/config/ZuiConfigProvider.d.cts +19 -0
  394. package/dist/config/ZuiConfigProvider.d.ts +19 -0
  395. package/dist/config/ZuiConfigProvider.js +24 -0
  396. package/dist/config/messages.cjs +1 -0
  397. package/dist/config/messages.d.cts +167 -0
  398. package/dist/config/messages.d.ts +167 -0
  399. package/dist/config/messages.js +309 -0
  400. package/dist/config/useZuiConfig.cjs +1 -0
  401. package/dist/config/useZuiConfig.d.cts +3 -0
  402. package/dist/config/useZuiConfig.d.ts +3 -0
  403. package/dist/config/useZuiConfig.js +9 -0
  404. package/dist/index.cjs +1 -51
  405. package/dist/index.css +1 -1
  406. package/dist/index.d.cts +65 -0
  407. package/dist/index.d.ts +65 -55
  408. package/dist/index.js +34 -20983
  409. package/dist/lib/utils.cjs +1 -0
  410. package/dist/lib/utils.d.cts +4 -0
  411. package/dist/lib/utils.d.ts +2 -0
  412. package/dist/lib/utils.js +16 -0
  413. package/dist/services/convertToEnglishDigits/convertToEnglishDigits.cjs +1 -0
  414. package/dist/services/convertToEnglishDigits/convertToEnglishDigits.d.cts +5 -0
  415. package/dist/services/convertToEnglishDigits/convertToEnglishDigits.d.ts +1 -1
  416. package/dist/services/convertToEnglishDigits/convertToEnglishDigits.js +10 -0
  417. package/dist/services/convertToPersianDigits/convertToPersianDigits.cjs +1 -0
  418. package/dist/services/convertToPersianDigits/convertToPersianDigits.d.cts +5 -0
  419. package/dist/services/convertToPersianDigits/convertToPersianDigits.d.ts +1 -1
  420. package/dist/services/convertToPersianDigits/convertToPersianDigits.js +18 -0
  421. package/dist/services/localizeDigits/localizeDigits.cjs +1 -0
  422. package/dist/services/localizeDigits/localizeDigits.d.cts +3 -0
  423. package/dist/services/localizeDigits/localizeDigits.d.ts +3 -0
  424. package/dist/services/localizeDigits/localizeDigits.js +8 -0
  425. package/dist/shared/scale.cjs +1 -0
  426. package/dist/shared/scale.d.cts +12 -0
  427. package/dist/shared/scale.d.ts +3 -23
  428. package/dist/shared/scale.js +8 -0
  429. package/dist/shared/theme.cjs +1 -0
  430. package/dist/shared/theme.d.cts +26 -0
  431. package/dist/shared/theme.d.ts +10 -11
  432. package/dist/shared/theme.js +37 -0
  433. package/dist/shared/theme.json.cjs +1 -0
  434. package/dist/shared/theme.json.js +14 -0
  435. package/package.json +38 -13
  436. package/dist/components/Accordion/Accordion.constants.d.ts +0 -4
  437. package/dist/styles.cjs +0 -0
  438. package/dist/styles.js +0 -0
@@ -0,0 +1,65 @@
1
+ import type * as React from "react";
2
+ import type { UploaderRejection } from "../Uploader/Uploader.interface.cjs";
3
+ export type AvatarSize = "xs" | "sm" | "default" | "lg" | "xl";
4
+ export type AvatarShape = "circle" | "square";
5
+ export type AvatarStatus = "online" | "offline" | "busy" | "away";
6
+ export interface AvatarProps {
7
+ /** Image URL. When missing or failing to load, the fallback is shown. */
8
+ src?: string;
9
+ /** Image alt text. Defaults to `name`. */
10
+ alt?: string;
11
+ /** Person/entity name — used for the initials fallback, accessible label and tooltip. */
12
+ name?: string;
13
+ /** Custom fallback content. Replaces the initials/icon fallback. */
14
+ fallback?: React.ReactNode;
15
+ /** @default "default" (or the surrounding `AvatarGroup`'s size) */
16
+ size?: AvatarSize;
17
+ /** @default "circle" (or the surrounding `AvatarGroup`'s shape) */
18
+ shape?: AvatarShape;
19
+ /** Presence dot at the bottom corner. */
20
+ status?: AvatarStatus;
21
+ /** Shows `name` in a tooltip on hover/focus. */
22
+ showTooltip?: boolean;
23
+ /**
24
+ * When the image has loaded: shows a magnifier on hover and opens the image in a full-screen preview on click.
25
+ * @default true when `onClick` is not set
26
+ */
27
+ previewable?: boolean;
28
+ /** Larger image used in the preview. Defaults to `src`. */
29
+ previewSrc?: string;
30
+ /** Makes the avatar a button. Takes precedence over the preview click unless `previewable` is set explicitly. */
31
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
32
+ /** Enables editing: shows a camera button that picks a new image. The consumer updates `src`. */
33
+ onImageSelect?: (file: File) => void;
34
+ /** Shows a "remove image" action in the preview. */
35
+ onImageRemove?: () => void;
36
+ /** @default "image/*" */
37
+ accept?: string;
38
+ /** Max size of the picked image in kilobytes. */
39
+ maxSizeKb?: number;
40
+ /** Called with a rejected image. When omitted, an error toast is shown (requires a mounted `<ToastHost />`; otherwise a console warning). */
41
+ onReject?: (rejection: UploaderRejection) => void;
42
+ className?: string;
43
+ }
44
+ export type AvatarGroupItem = Omit<AvatarProps, "size" | "shape"> & {
45
+ /** React key. Defaults to `name`/index. */
46
+ key?: string;
47
+ };
48
+ export interface AvatarGroupProps {
49
+ /** Data-driven usage. When provided, `children` is ignored. */
50
+ items?: AvatarGroupItem[];
51
+ /** Manual composition with `<Avatar>` children. */
52
+ children?: React.ReactNode;
53
+ /** Maximum avatars shown before collapsing the rest into a "+N" chip. */
54
+ max?: number;
55
+ /** @default "default" */
56
+ size?: AvatarSize;
57
+ /** @default "circle" */
58
+ shape?: AvatarShape;
59
+ /**
60
+ * Tooltip with the name on each avatar (items mode) and the hidden names on the "+N" chip.
61
+ * @default true
62
+ */
63
+ showTooltip?: boolean;
64
+ className?: string;
65
+ }
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import type { UploaderRejection } from "../Uploader/Uploader.interface";
2
+ import type { UploaderRejection } from "../Uploader/Uploader.interface.js";
3
3
  export type AvatarSize = "xs" | "sm" | "default" | "lg" | "xl";
4
4
  export type AvatarShape = "circle" | "square";
5
5
  export type AvatarStatus = "online" | "offline" | "busy" | "away";
@@ -37,7 +37,7 @@ export interface AvatarProps {
37
37
  accept?: string;
38
38
  /** Max size of the picked image in kilobytes. */
39
39
  maxSizeKb?: number;
40
- /** Called with a rejected image. When omitted, an error toast is shown. */
40
+ /** Called with a rejected image. When omitted, an error toast is shown (requires a mounted `<ToastHost />`; otherwise a console warning). */
41
41
  onReject?: (rejection: UploaderRejection) => void;
42
42
  className?: string;
43
43
  }
@@ -0,0 +1,244 @@
1
+ "use client";
2
+ import { useZuiConfig as e } from "../../config/useZuiConfig.js";
3
+ import { localizeDigits as t } from "../../services/localizeDigits/localizeDigits.js";
4
+ import { cn as n } from "../../lib/utils.js";
5
+ import r from "../Button/Button.js";
6
+ import { dialogOverlayVariants as i } from "../Dialog/Dialog.variant.js";
7
+ import a from "../Tooltip/Tooltip.js";
8
+ import { showFallbackToast as o } from "../Toast/function/showToast.js";
9
+ import { describeRejection as s, splitAcceptedFiles as c } from "../Uploader/Uploader.utils.js";
10
+ import { avatarEditButtonVariants as l, avatarGroupOverlapBySize as u, avatarPreviewContentClassName as d, avatarStatusVariants as f, avatarVariants as ee } from "./Avatar.variant.js";
11
+ import { getInitials as p } from "./Avatar.utils.js";
12
+ import * as m from "react";
13
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
14
+ import { Camera as v, ImageOff as y, Trash2 as b, User as x, X as S, ZoomIn as C } from "lucide-react";
15
+ import * as w from "@radix-ui/react-dialog";
16
+ //#region src/components/Avatar/Avatar.tsx
17
+ var T = m.createContext(null);
18
+ function E({ src: t, alt: u, name: y, fallback: E, size: D, shape: O, status: k, showTooltip: ne = !1, previewable: re, previewSrc: ie, onClick: A, onImageSelect: j, onImageRemove: M, accept: N = "image/*", maxSizeKb: P, onReject: F, className: ae }, oe) {
19
+ let { messages: I, digits: se, dir: L } = e(), R = I.avatar, z = m.useContext(T), B = D ?? z?.size ?? "default", ce = O ?? z?.shape ?? "circle", le = z !== null, V = m.useRef(null), [H, U] = m.useState(null), [ue, W] = m.useState(!1), G = t ? H?.src === t ? H.state : "loading" : "none", K = G === "loaded", q = (re ?? !A) && K, J = !!A || q, Y = !!j, X = p(y), Z = y ?? u, de = E ?? (X ? /* @__PURE__ */ g("span", {
20
+ "aria-hidden": "true",
21
+ dir: "auto",
22
+ children: X
23
+ }) : /* @__PURE__ */ g(x, {
24
+ className: "zui:size-[55%]",
25
+ "aria-hidden": "true"
26
+ })), fe = (e) => {
27
+ A?.(e), q && !e.defaultPrevented && W(!0);
28
+ }, Q = () => V.current?.click(), pe = (e) => {
29
+ let t = e.target.files?.[0];
30
+ if (e.target.value = "", !t) return;
31
+ let { accepted: n, rejected: r } = c([t], N, P);
32
+ if (r.length > 0) {
33
+ F ? F(r[0]) : o({
34
+ title: R.invalidImage,
35
+ message: s(r[0], P, se, I.uploader),
36
+ type: "error",
37
+ duration: 5e3
38
+ }, "`onReject`");
39
+ return;
40
+ }
41
+ j?.(n[0]);
42
+ }, $ = n(ee({
43
+ size: B,
44
+ shape: ce,
45
+ interactive: J
46
+ }), le && "zui:ring-2 zui:ring-[var(--zui-color-surface)]", ae), me = /* @__PURE__ */ _(h, { children: [
47
+ de,
48
+ t && G !== "error" ? /* @__PURE__ */ g("img", {
49
+ src: t,
50
+ alt: u ?? y ?? "",
51
+ loading: "lazy",
52
+ draggable: !1,
53
+ onLoad: () => U({
54
+ src: t,
55
+ state: "loaded"
56
+ }),
57
+ onError: () => U({
58
+ src: t,
59
+ state: "error"
60
+ }),
61
+ className: n("zui:absolute zui:inset-0 zui:size-full zui:object-cover zui:transition-opacity zui:duration-300", K ? "zui:opacity-100" : "zui:opacity-0")
62
+ }, t) : null,
63
+ q ? /* @__PURE__ */ g("span", {
64
+ "aria-hidden": "true",
65
+ className: "zui:absolute zui:inset-0 zui:flex zui:items-center zui:justify-center zui:bg-[var(--zui-theme-overlay-scrim)] zui:text-[var(--zui-color-on-solid)] zui:opacity-0 zui:transition-opacity zui:duration-200 zui:group-hover/avatar:opacity-100 zui:group-focus-visible/avatar:opacity-100",
66
+ children: /* @__PURE__ */ g(C, { className: "zui:size-[45%] zui:scale-75 zui:transition-transform zui:duration-200 zui:group-hover/avatar:scale-100" })
67
+ }) : null
68
+ ] }), he = J ? /* @__PURE__ */ g("button", {
69
+ type: "button",
70
+ "data-slot": "avatar-root",
71
+ "aria-label": q ? R.showImage(Z ?? "") : Z,
72
+ onClick: fe,
73
+ className: $,
74
+ children: me
75
+ }) : /* @__PURE__ */ g("span", {
76
+ "data-slot": "avatar-root",
77
+ role: "img",
78
+ "aria-label": Z,
79
+ className: $,
80
+ children: me
81
+ });
82
+ return /* @__PURE__ */ _("span", {
83
+ ref: oe,
84
+ "data-slot": "avatar",
85
+ dir: L,
86
+ "data-state": G,
87
+ className: "zui:relative zui:inline-flex zui:shrink-0 zui:align-middle",
88
+ children: [
89
+ ne && y ? /* @__PURE__ */ g(a, {
90
+ text: y,
91
+ position: "top",
92
+ trigger: he
93
+ }) : he,
94
+ k ? /* @__PURE__ */ g("span", {
95
+ className: f({
96
+ status: k,
97
+ size: B
98
+ }),
99
+ children: /* @__PURE__ */ g("span", {
100
+ className: "zui:sr-only",
101
+ children: R[k]
102
+ })
103
+ }) : null,
104
+ Y ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(a, {
105
+ text: R.changeImage,
106
+ position: "bottom",
107
+ trigger: /* @__PURE__ */ g("button", {
108
+ type: "button",
109
+ "aria-label": R.changeImage,
110
+ onClick: Q,
111
+ className: l({ size: B }),
112
+ children: /* @__PURE__ */ g(v, { "aria-hidden": "true" })
113
+ })
114
+ }), /* @__PURE__ */ g("input", {
115
+ ref: V,
116
+ type: "file",
117
+ tabIndex: -1,
118
+ "aria-hidden": "true",
119
+ accept: N,
120
+ onChange: pe,
121
+ className: "zui:hidden"
122
+ })] }) : null,
123
+ /* @__PURE__ */ g(w.Root, {
124
+ open: ue && !!t,
125
+ onOpenChange: W,
126
+ children: /* @__PURE__ */ g(w.Portal, { children: /* @__PURE__ */ g(w.Overlay, {
127
+ "data-slot": "avatar-preview-overlay",
128
+ className: n(i(), "zui:mobile:items-center zui:mobile:p-4"),
129
+ children: /* @__PURE__ */ _(w.Content, {
130
+ "data-slot": "avatar-preview",
131
+ dir: L,
132
+ "aria-describedby": void 0,
133
+ className: d,
134
+ children: [
135
+ /* @__PURE__ */ g(w.Close, {
136
+ asChild: !0,
137
+ children: /* @__PURE__ */ g("button", {
138
+ type: "button",
139
+ "aria-label": I.common.close,
140
+ className: "zui:absolute zui:-top-3 zui:-end-3 zui:mobile:top-2 zui:mobile:end-2 zui:z-10 zui:inline-flex zui:size-9 zui:mobile:size-11 zui:cursor-pointer zui:items-center zui:justify-center zui:rounded-full zui:border zui:border-[var(--zui-color-border)] zui:bg-[var(--zui-color-surface)] zui:p-0 zui:text-[var(--zui-color-text)] zui:shadow-md zui:outline-none zui:transition-transform zui:duration-200 zui:hover:scale-110 zui:focus-visible:shadow-[0_0_0_2px_var(--zui-theme-action-primary)]",
141
+ children: /* @__PURE__ */ g(S, {
142
+ className: "zui:size-4",
143
+ "aria-hidden": "true"
144
+ })
145
+ })
146
+ }),
147
+ /* @__PURE__ */ g(te, {
148
+ src: ie ?? t,
149
+ fallbackSrc: t,
150
+ alt: u ?? y ?? ""
151
+ }),
152
+ /* @__PURE__ */ _("div", {
153
+ className: "zui:flex zui:max-w-full zui:flex-wrap zui:items-center zui:justify-center zui:gap-3 zui:mobile:w-full zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:px-4 zui:py-2 zui:text-[var(--zui-color-text)] zui:shadow-md",
154
+ children: [
155
+ /* @__PURE__ */ g(w.Title, {
156
+ className: "zui:m-0 zui:text-sm zui:mobile:w-full zui:mobile:text-center zui:mobile:text-base zui:font-semibold",
157
+ children: y ?? u ?? R.imageFallbackTitle
158
+ }),
159
+ Y ? /* @__PURE__ */ g(r, {
160
+ variant: "secondary",
161
+ kind: "cancel",
162
+ label: R.changeImage,
163
+ className: "zui:mobile:flex-1",
164
+ icon: /* @__PURE__ */ g(v, { className: "zui:size-4" }),
165
+ onClick: Q
166
+ }) : null,
167
+ M ? /* @__PURE__ */ g(r, {
168
+ variant: "danger",
169
+ kind: "cancel",
170
+ label: R.removeImage,
171
+ className: "zui:mobile:flex-1",
172
+ icon: /* @__PURE__ */ g(b, { className: "zui:size-4" }),
173
+ onClick: () => {
174
+ W(!1), M();
175
+ }
176
+ }) : null
177
+ ]
178
+ })
179
+ ]
180
+ })
181
+ }) })
182
+ })
183
+ ]
184
+ });
185
+ }
186
+ function te({ src: t, fallbackSrc: n, alt: r }) {
187
+ let { messages: i } = e(), [a, o] = m.useState(() => /* @__PURE__ */ new Set()), s = [t, n].find((e) => !!e && !a.has(e));
188
+ return s ? /* @__PURE__ */ g("img", {
189
+ src: s,
190
+ alt: r,
191
+ draggable: !1,
192
+ onError: () => o((e) => new Set(e).add(s)),
193
+ className: "zui:block zui:max-h-[78vh] zui:max-w-[92vw] zui:min-w-40 zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:object-contain zui:shadow-[0_24px_48px_-24px_var(--zui-effect-shadow-ink-55)]"
194
+ }) : /* @__PURE__ */ _("div", {
195
+ className: "zui:flex zui:size-64 zui:flex-col zui:items-center zui:justify-center zui:gap-2 zui-radius-xs zui:bg-[var(--zui-color-surface)] zui:text-[var(--zui-theme-text-muted)]",
196
+ children: [/* @__PURE__ */ g(y, {
197
+ className: "zui:size-10",
198
+ "aria-hidden": "true"
199
+ }), /* @__PURE__ */ g("span", {
200
+ className: "zui:text-sm",
201
+ children: i.avatar.imageLoadFailed
202
+ })]
203
+ });
204
+ }
205
+ function D({ items: r, children: i, max: o, size: s = "default", shape: c = "circle", showTooltip: l = !0, className: d }, f) {
206
+ let { messages: p, digits: h, dir: v } = e(), y = m.useMemo(() => ({
207
+ size: s,
208
+ shape: c
209
+ }), [s, c]), b = r ? r.map(({ key: e, ...t }, n) => /* @__PURE__ */ g(O, {
210
+ showTooltip: l,
211
+ ...t
212
+ }, e ?? `${t.name ?? "avatar"}-${n}`)) : m.Children.toArray(i).filter(m.isValidElement), x = o !== void 0 && o > 0 && b.length > o ? o : b.length, S = b.length - x, C = r ? r.slice(x).map((e) => e.name).filter((e) => !!e) : [], w = /* @__PURE__ */ g("span", {
213
+ role: "img",
214
+ "aria-label": p.avatar.othersCount(t(String(S), h)),
215
+ className: n(ee({
216
+ size: s,
217
+ shape: c
218
+ }), "zui:ring-2 zui:ring-[var(--zui-color-surface)]"),
219
+ children: /* @__PURE__ */ g("span", {
220
+ "aria-hidden": "true",
221
+ children: t(`+${S}`, h)
222
+ })
223
+ });
224
+ return /* @__PURE__ */ g(T.Provider, {
225
+ value: y,
226
+ children: /* @__PURE__ */ _("div", {
227
+ ref: f,
228
+ "data-slot": "avatar-group",
229
+ dir: v,
230
+ className: n("zui:inline-flex zui:items-center zui:[&>*]:relative zui:[&>*:hover]:z-10 zui:[&>*:focus-within]:z-10", u[s], d),
231
+ children: [b.slice(0, x), S > 0 ? l && C.length > 0 ? /* @__PURE__ */ g(a, {
232
+ text: C.join(p.avatar.listSeparator),
233
+ position: "top",
234
+ trigger: w
235
+ }) : w : null]
236
+ })
237
+ });
238
+ }
239
+ var O = m.forwardRef(E);
240
+ O.displayName = "Avatar";
241
+ var k = m.forwardRef(D);
242
+ k.displayName = "AvatarGroup";
243
+ //#endregion
244
+ export { k as AvatarGroup, O as default };
@@ -0,0 +1 @@
1
+ var e=`‌`;function t(t){let n=(t??``).replace(new RegExp(e,`g`),` `).trim().split(/\s+/).filter(Boolean);return n.length===0?``:[n[0],n.length>1?n[n.length-1]:void 0].filter(e=>!!e).map(e=>Array.from(e)[0].toLocaleUpperCase()).join(e)}exports.getInitials=t;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * First letter of the first and last word. Persian/Arabic letters are joined with a ZWNJ so
3
+ * they render as two separate letters ("م‌ط") instead of connecting into one word ("مط").
4
+ */
5
+ declare function getInitials(name: string | undefined): string;
6
+ export { getInitials };
@@ -0,0 +1,8 @@
1
+ //#region src/components/Avatar/Avatar.utils.ts
2
+ var e = "‌";
3
+ function t(t) {
4
+ let n = (t ?? "").replace(new RegExp(e, "g"), " ").trim().split(/\s+/).filter(Boolean);
5
+ return n.length === 0 ? "" : [n[0], n.length > 1 ? n[n.length - 1] : void 0].filter((e) => !!e).map((e) => Array.from(e)[0].toLocaleUpperCase()).join(e);
6
+ }
7
+ //#endregion
8
+ export { t as getInitials };
@@ -0,0 +1 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`class-variance-authority`);var t=(0,e.cva)(`zui:group/avatar zui:relative zui:inline-flex zui:shrink-0 zui:select-none zui:items-center zui:justify-center zui:overflow-hidden zui:border-solid zui:border-transparent zui:[border-width:calc(var(--zui-scale,10px)*0.15)] zui:[background:linear-gradient(var(--zui-color-surface),var(--zui-color-surface))_padding-box,linear-gradient(135deg,var(--zui-color-primary),var(--zui-color-secondary))_border-box] zui:p-0 zui:text-[var(--zui-color-text)] zui:align-middle zui:font-semibold zui:leading-none zui:outline-none zui:transition-[box-shadow,transform] zui:duration-200 zui:focus-visible:shadow-[0_0_0_2px_var(--zui-color-surface),0_0_0_4px_var(--zui-theme-action-primary)]`,{variants:{size:{xs:`zui:size-6 zui:text-[calc(var(--zui-scale,10px)*1)]`,sm:`zui:size-8 zui:text-[calc(var(--zui-scale,10px)*1.2)]`,default:`zui:size-10 zui:text-[calc(var(--zui-scale,10px)*1.4)]`,lg:`zui:size-12 zui:text-[calc(var(--zui-scale,10px)*1.7)]`,xl:`zui:size-16 zui:text-[calc(var(--zui-scale,10px)*2.2)]`},shape:{circle:`zui:rounded-full`,square:`zui-radius-xs`},interactive:{true:`zui:cursor-pointer`,false:``}},defaultVariants:{size:`default`,shape:`circle`,interactive:!1}}),n=(0,e.cva)(`zui:pointer-events-none zui:absolute zui:bottom-0 zui:end-0 zui:rounded-full zui:ring-2 zui:ring-[var(--zui-color-surface)]`,{variants:{status:{online:`zui:bg-[var(--zui-theme-status-success)]`,offline:`zui:bg-[var(--zui-color-border)]`,busy:`zui:bg-[var(--zui-theme-status-danger)]`,away:`zui:bg-[var(--zui-theme-status-warning)]`},size:{xs:`zui:size-1.5`,sm:`zui:size-2`,default:`zui:size-2.5`,lg:`zui:size-3`,xl:`zui:size-3.5`}}}),r=(0,e.cva)(`zui:absolute zui:bottom-0 zui:start-0 zui:inline-flex zui:dir-rtl:translate-x-1/4 zui:dir-ltr:-translate-x-1/4 zui:translate-y-1/4 zui:cursor-pointer zui:items-center zui:justify-center zui:rounded-full zui:border-0 zui:bg-[var(--zui-theme-action-primary)] zui:p-0 zui:text-[var(--zui-color-on-solid)] zui:shadow-sm zui:outline-none zui:ring-2 zui:ring-[var(--zui-color-surface)] zui:transition-transform zui:duration-200 zui:hover:scale-110 zui:focus-visible:scale-110`,{variants:{size:{xs:`zui:size-3 zui:[&>svg]:size-2`,sm:`zui:size-4 zui:[&>svg]:size-2.5`,default:`zui:size-5 zui:[&>svg]:size-3`,lg:`zui:size-6 zui:[&>svg]:size-3.5`,xl:`zui:size-7 zui:[&>svg]:size-4`}}}),i={xs:`zui:[&>*:not(:first-child)]:-ms-1.5`,sm:`zui:[&>*:not(:first-child)]:-ms-2`,default:`zui:[&>*:not(:first-child)]:-ms-2.5`,lg:`zui:[&>*:not(:first-child)]:-ms-3`,xl:`zui:[&>*:not(:first-child)]:-ms-4`},a=`zui:relative zui:z-(--zui-z-dialog) zui:flex zui:max-w-[92vw] zui:flex-col zui:items-center zui:gap-3 zui:outline-none zui:duration-300 zui:ease-out zui:data-[state=open]:animate-in zui:data-[state=open]:fade-in-0 zui:data-[state=open]:zoom-in-75 zui:data-[state=closed]:animate-out zui:data-[state=closed]:fade-out-0 zui:data-[state=closed]:zoom-out-90`;exports.avatarEditButtonVariants=r,exports.avatarGroupOverlapBySize=i,exports.avatarPreviewContentClassName=a,exports.avatarStatusVariants=n,exports.avatarVariants=t;
@@ -0,0 +1,22 @@
1
+ declare const avatarVariants: (props?: ({
2
+ size?: "xs" | "sm" | "default" | "lg" | "xl" | null | undefined;
3
+ shape?: "square" | "circle" | null | undefined;
4
+ interactive?: boolean | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare const avatarStatusVariants: (props?: ({
7
+ status?: "online" | "offline" | "busy" | "away" | null | undefined;
8
+ size?: "xs" | "sm" | "default" | "lg" | "xl" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ declare const avatarEditButtonVariants: (props?: ({
11
+ size?: "xs" | "sm" | "default" | "lg" | "xl" | null | undefined;
12
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
+ /** Overlap for `AvatarGroup` children (RTL-aware via margin-inline-start on every item but the first). */
14
+ declare const avatarGroupOverlapBySize: {
15
+ readonly xs: "zui:[&>*:not(:first-child)]:-ms-1.5";
16
+ readonly sm: "zui:[&>*:not(:first-child)]:-ms-2";
17
+ readonly default: "zui:[&>*:not(:first-child)]:-ms-2.5";
18
+ readonly lg: "zui:[&>*:not(:first-child)]:-ms-3";
19
+ readonly xl: "zui:[&>*:not(:first-child)]:-ms-4";
20
+ };
21
+ declare const avatarPreviewContentClassName = "zui:relative zui:z-(--zui-z-dialog) zui:flex zui:max-w-[92vw] zui:flex-col zui:items-center zui:gap-3 zui:outline-none zui:duration-300 zui:ease-out zui:data-[state=open]:animate-in zui:data-[state=open]:fade-in-0 zui:data-[state=open]:zoom-in-75 zui:data-[state=closed]:animate-out zui:data-[state=closed]:fade-out-0 zui:data-[state=closed]:zoom-out-90";
22
+ export { avatarEditButtonVariants, avatarGroupOverlapBySize, avatarPreviewContentClassName, avatarStatusVariants, avatarVariants, };
@@ -1,6 +1,6 @@
1
1
  declare const avatarVariants: (props?: ({
2
2
  size?: "xs" | "sm" | "default" | "lg" | "xl" | null | undefined;
3
- shape?: "circle" | "square" | null | undefined;
3
+ shape?: "square" | "circle" | null | undefined;
4
4
  interactive?: boolean | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  declare const avatarStatusVariants: (props?: ({
@@ -18,5 +18,5 @@ declare const avatarGroupOverlapBySize: {
18
18
  readonly lg: "zui:[&>*:not(:first-child)]:-ms-3";
19
19
  readonly xl: "zui:[&>*:not(:first-child)]:-ms-4";
20
20
  };
21
- declare const avatarPreviewContentClassName = "zui:relative zui:z-[110] zui:flex zui:max-w-[92vw] zui:flex-col zui:items-center zui:gap-3 zui:outline-none zui:duration-300 zui:ease-out zui:data-[state=open]:animate-in zui:data-[state=open]:fade-in-0 zui:data-[state=open]:zoom-in-75 zui:data-[state=closed]:animate-out zui:data-[state=closed]:fade-out-0 zui:data-[state=closed]:zoom-out-90";
21
+ declare const avatarPreviewContentClassName = "zui:relative zui:z-(--zui-z-dialog) zui:flex zui:max-w-[92vw] zui:flex-col zui:items-center zui:gap-3 zui:outline-none zui:duration-300 zui:ease-out zui:data-[state=open]:animate-in zui:data-[state=open]:fade-in-0 zui:data-[state=open]:zoom-in-75 zui:data-[state=closed]:animate-out zui:data-[state=closed]:fade-out-0 zui:data-[state=closed]:zoom-out-90";
22
22
  export { avatarEditButtonVariants, avatarGroupOverlapBySize, avatarPreviewContentClassName, avatarStatusVariants, avatarVariants, };
@@ -0,0 +1,54 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/Avatar/Avatar.variant.ts
3
+ var t = e("zui:group/avatar zui:relative zui:inline-flex zui:shrink-0 zui:select-none zui:items-center zui:justify-center zui:overflow-hidden zui:border-solid zui:border-transparent zui:[border-width:calc(var(--zui-scale,10px)*0.15)] zui:[background:linear-gradient(var(--zui-color-surface),var(--zui-color-surface))_padding-box,linear-gradient(135deg,var(--zui-color-primary),var(--zui-color-secondary))_border-box] zui:p-0 zui:text-[var(--zui-color-text)] zui:align-middle zui:font-semibold zui:leading-none zui:outline-none zui:transition-[box-shadow,transform] zui:duration-200 zui:focus-visible:shadow-[0_0_0_2px_var(--zui-color-surface),0_0_0_4px_var(--zui-theme-action-primary)]", {
4
+ variants: {
5
+ size: {
6
+ xs: "zui:size-6 zui:text-[calc(var(--zui-scale,10px)*1)]",
7
+ sm: "zui:size-8 zui:text-[calc(var(--zui-scale,10px)*1.2)]",
8
+ default: "zui:size-10 zui:text-[calc(var(--zui-scale,10px)*1.4)]",
9
+ lg: "zui:size-12 zui:text-[calc(var(--zui-scale,10px)*1.7)]",
10
+ xl: "zui:size-16 zui:text-[calc(var(--zui-scale,10px)*2.2)]"
11
+ },
12
+ shape: {
13
+ circle: "zui:rounded-full",
14
+ square: "zui-radius-xs"
15
+ },
16
+ interactive: {
17
+ true: "zui:cursor-pointer",
18
+ false: ""
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ size: "default",
23
+ shape: "circle",
24
+ interactive: !1
25
+ }
26
+ }), n = e("zui:pointer-events-none zui:absolute zui:bottom-0 zui:end-0 zui:rounded-full zui:ring-2 zui:ring-[var(--zui-color-surface)]", { variants: {
27
+ status: {
28
+ online: "zui:bg-[var(--zui-theme-status-success)]",
29
+ offline: "zui:bg-[var(--zui-color-border)]",
30
+ busy: "zui:bg-[var(--zui-theme-status-danger)]",
31
+ away: "zui:bg-[var(--zui-theme-status-warning)]"
32
+ },
33
+ size: {
34
+ xs: "zui:size-1.5",
35
+ sm: "zui:size-2",
36
+ default: "zui:size-2.5",
37
+ lg: "zui:size-3",
38
+ xl: "zui:size-3.5"
39
+ }
40
+ } }), r = e("zui:absolute zui:bottom-0 zui:start-0 zui:inline-flex zui:dir-rtl:translate-x-1/4 zui:dir-ltr:-translate-x-1/4 zui:translate-y-1/4 zui:cursor-pointer zui:items-center zui:justify-center zui:rounded-full zui:border-0 zui:bg-[var(--zui-theme-action-primary)] zui:p-0 zui:text-[var(--zui-color-on-solid)] zui:shadow-sm zui:outline-none zui:ring-2 zui:ring-[var(--zui-color-surface)] zui:transition-transform zui:duration-200 zui:hover:scale-110 zui:focus-visible:scale-110", { variants: { size: {
41
+ xs: "zui:size-3 zui:[&>svg]:size-2",
42
+ sm: "zui:size-4 zui:[&>svg]:size-2.5",
43
+ default: "zui:size-5 zui:[&>svg]:size-3",
44
+ lg: "zui:size-6 zui:[&>svg]:size-3.5",
45
+ xl: "zui:size-7 zui:[&>svg]:size-4"
46
+ } } }), i = {
47
+ xs: "zui:[&>*:not(:first-child)]:-ms-1.5",
48
+ sm: "zui:[&>*:not(:first-child)]:-ms-2",
49
+ default: "zui:[&>*:not(:first-child)]:-ms-2.5",
50
+ lg: "zui:[&>*:not(:first-child)]:-ms-3",
51
+ xl: "zui:[&>*:not(:first-child)]:-ms-4"
52
+ }, a = "zui:relative zui:z-(--zui-z-dialog) zui:flex zui:max-w-[92vw] zui:flex-col zui:items-center zui:gap-3 zui:outline-none zui:duration-300 zui:ease-out zui:data-[state=open]:animate-in zui:data-[state=open]:fade-in-0 zui:data-[state=open]:zoom-in-75 zui:data-[state=closed]:animate-out zui:data-[state=closed]:fade-out-0 zui:data-[state=closed]:zoom-out-90";
53
+ //#endregion
54
+ export { r as avatarEditButtonVariants, i as avatarGroupOverlapBySize, a as avatarPreviewContentClassName, n as avatarStatusVariants, t as avatarVariants };
@@ -0,0 +1 @@
1
+ "use client";require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../lib/utils.cjs`),t=require(`../Spinner/Spinner.cjs`);;/* empty css */const n=require(`./Button.variant.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=140,o=(0,r.forwardRef)(function({variant:o=`primary`,kind:s=`confirm`,disabled:c=!1,isLoading:l=!1,label:u,children:d,icon:f,ariaLabel:p,fullWidth:m=!1,type:h=`button`,onClick:g,className:_,onPointerDown:v,onPointerUp:y,onPointerCancel:b,onPointerLeave:x,onKeyDown:S,onKeyUp:C,...w},T){let E=c||l,D=d??u,O=!l&&!!f,k=!l&&!!D,A=O&&!k,[j,M]=(0,r.useState)(!1),N=(0,r.useRef)(0),P=(0,r.useRef)(null),F=e.cn(n.buttonVariants({variant:o,kind:s,disabled:E,fullWidth:m}),A&&`zui-button--icon-only`,_),I=(0,r.useCallback)(()=>{P.current!==null&&(window.clearTimeout(P.current),P.current=null)},[]),L=(0,r.useCallback)(()=>{E||(I(),N.current=window.performance.now(),M(!0))},[I,E]),R=(0,r.useCallback)(()=>{I();let e=window.performance.now()-N.current,t=Math.max(a-e,0);P.current=window.setTimeout(()=>{M(!1),P.current=null},t)},[I]),z=(0,r.useCallback)(e=>{S?.(e),!e.defaultPrevented&&(e.repeat||e.key!==` `&&e.key!==`Enter`||L())},[S,L]),B=(0,r.useCallback)(e=>{C?.(e),!e.defaultPrevented&&(e.key!==` `&&e.key!==`Enter`||R())},[C,R]);return(0,r.useEffect)(()=>{E&&(I(),M(!1))},[I,E]),(0,r.useEffect)(()=>I,[I]),(0,i.jsxs)(`button`,{ref:T,"data-slot":`button`,type:h,disabled:E,"aria-label":p,"aria-busy":l||void 0,"data-pressed":j?`true`:void 0,onPointerDown:e=>{v?.(e),!e.defaultPrevented&&L()},onPointerUp:e=>{y?.(e),R()},onPointerCancel:e=>{b?.(e),R()},onPointerLeave:e=>{x?.(e),R()},onKeyDown:z,onKeyUp:B,onClick:E?void 0:g,className:F,...w,children:[l?(0,i.jsx)(t.default,{}):null,O?(0,i.jsx)(`span`,{"aria-hidden":`true`,className:`zui-button__icon zui:inline-flex zui:items-center zui:justify-center zui:[&>*]:origin-center zui:[&>*]:scale-[0.7]`,children:f}):null,k?(0,i.jsx)(`span`,{children:D}):null]})});exports.default=o;
@@ -0,0 +1,3 @@
1
+ import type { ButtonProps } from "./Button.interface.cjs";
2
+ declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
3
+ export default Button;
@@ -1,4 +1,3 @@
1
- import "./Button.css";
2
- import type { ButtonProps } from "./Button.interface";
1
+ import type { ButtonProps } from "./Button.interface.js";
3
2
  declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
4
3
  export default Button;
@@ -0,0 +1,21 @@
1
+ import type * as React from "react";
2
+ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "disabled" | "onClick"> {
3
+ variant?: "primary" | "secondary" | "danger";
4
+ kind?: "confirm" | "cancel";
5
+ disabled?: boolean;
6
+ isLoading?: boolean;
7
+ /** The button's text; `children` does the same and wins when both are set. */
8
+ label?: React.ReactNode;
9
+ children?: React.ReactNode;
10
+ icon?: React.ReactNode;
11
+ /** @deprecated Use the standard `aria-label`. */
12
+ ariaLabel?: string;
13
+ /**
14
+ * Stretches the button to its container's width.
15
+ * @default false
16
+ */
17
+ fullWidth?: boolean;
18
+ type?: "button" | "submit" | "reset";
19
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
20
+ className?: string;
21
+ }
@@ -1,13 +1,20 @@
1
1
  import type * as React from "react";
2
- export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "type" | "disabled" | "onClick"> {
3
- size?: "sm" | "default" | "lg";
2
+ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "disabled" | "onClick"> {
4
3
  variant?: "primary" | "secondary" | "danger";
5
4
  kind?: "confirm" | "cancel";
6
5
  disabled?: boolean;
7
6
  isLoading?: boolean;
7
+ /** The button's text; `children` does the same and wins when both are set. */
8
8
  label?: React.ReactNode;
9
+ children?: React.ReactNode;
9
10
  icon?: React.ReactNode;
11
+ /** @deprecated Use the standard `aria-label`. */
10
12
  ariaLabel?: string;
13
+ /**
14
+ * Stretches the button to its container's width.
15
+ * @default false
16
+ */
17
+ fullWidth?: boolean;
11
18
  type?: "button" | "submit" | "reset";
12
19
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
13
20
  className?: string;
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ import { cn as e } from "../../lib/utils.js";
3
+ import t from "../Spinner/Spinner.js";
4
+ /* empty css */
5
+ import { buttonVariants as n } from "./Button.variant.js";
6
+ import { forwardRef as r, useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
7
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
+ //#region src/components/Button/Button.tsx
9
+ var u = 140, d = r(function({ variant: r = "primary", kind: d = "confirm", disabled: f = !1, isLoading: p = !1, label: m, children: h, icon: g, ariaLabel: _, fullWidth: v = !1, type: y = "button", onClick: b, className: x, onPointerDown: S, onPointerUp: C, onPointerCancel: w, onPointerLeave: T, onKeyDown: E, onKeyUp: D, ...O }, k) {
10
+ let A = f || p, j = h ?? m, M = !p && !!g, N = !p && !!j, P = M && !N, [F, I] = s(!1), L = o(0), R = o(null), z = e(n({
11
+ variant: r,
12
+ kind: d,
13
+ disabled: A,
14
+ fullWidth: v
15
+ }), P && "zui-button--icon-only", x), B = i(() => {
16
+ R.current !== null && (window.clearTimeout(R.current), R.current = null);
17
+ }, []), V = i(() => {
18
+ A || (B(), L.current = window.performance.now(), I(!0));
19
+ }, [B, A]), H = i(() => {
20
+ B();
21
+ let e = window.performance.now() - L.current, t = Math.max(u - e, 0);
22
+ R.current = window.setTimeout(() => {
23
+ I(!1), R.current = null;
24
+ }, t);
25
+ }, [B]), U = i((e) => {
26
+ E?.(e), !e.defaultPrevented && (e.repeat || e.key !== " " && e.key !== "Enter" || V());
27
+ }, [E, V]), W = i((e) => {
28
+ D?.(e), !e.defaultPrevented && (e.key !== " " && e.key !== "Enter" || H());
29
+ }, [D, H]);
30
+ return a(() => {
31
+ A && (B(), I(!1));
32
+ }, [B, A]), a(() => B, [B]), /* @__PURE__ */ l("button", {
33
+ ref: k,
34
+ "data-slot": "button",
35
+ type: y,
36
+ disabled: A,
37
+ "aria-label": _,
38
+ "aria-busy": p || void 0,
39
+ "data-pressed": F ? "true" : void 0,
40
+ onPointerDown: (e) => {
41
+ S?.(e), !e.defaultPrevented && V();
42
+ },
43
+ onPointerUp: (e) => {
44
+ C?.(e), H();
45
+ },
46
+ onPointerCancel: (e) => {
47
+ w?.(e), H();
48
+ },
49
+ onPointerLeave: (e) => {
50
+ T?.(e), H();
51
+ },
52
+ onKeyDown: U,
53
+ onKeyUp: W,
54
+ onClick: A ? void 0 : b,
55
+ className: z,
56
+ ...O,
57
+ children: [
58
+ p ? /* @__PURE__ */ c(t, {}) : null,
59
+ M ? /* @__PURE__ */ c("span", {
60
+ "aria-hidden": "true",
61
+ className: "zui-button__icon zui:inline-flex zui:items-center zui:justify-center zui:[&>*]:origin-center zui:[&>*]:scale-[0.7]",
62
+ children: g
63
+ }) : null,
64
+ N ? /* @__PURE__ */ c("span", { children: j }) : null
65
+ ]
66
+ });
67
+ });
68
+ //#endregion
69
+ export { d as default };
@@ -0,0 +1 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../shared/responsiveScale.cjs`);var t=(0,require(`class-variance-authority`).cva)(`zui-button ${e.CONTROL_HEIGHT_DEFAULT} zui:inline-flex zui:items-center zui:justify-center zui:gap-2 zui:rounded-md ${e.BUTTON_PADDING_X} zui:text-sm zui:font-medium zui:leading-none zui:whitespace-nowrap zui:focus-visible:outline-none zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-color-primary)] zui:focus-visible:ring-offset-2 zui:focus-visible:ring-offset-[var(--zui-color-surface)] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-65`,{variants:{variant:{primary:``,secondary:``,danger:``},kind:{confirm:`zui:text-[var(--zui-color-on-solid)] zui:hover:brightness-105 zui:hover:shadow-sm zui:active:shadow-sm`,cancel:`zui:border-2 zui:bg-transparent zui:text-[var(--zui-color-text)] zui:hover:bg-transparent zui:hover:shadow-sm zui:active:bg-transparent zui:active:shadow-sm`},disabled:{true:``,false:`zui:cursor-pointer`},fullWidth:{true:`zui:w-full`,false:`zui:w-auto`}},compoundVariants:[{kind:`confirm`,variant:`primary`,className:`zui:bg-[var(--zui-color-primary)]`},{kind:`confirm`,variant:`secondary`,className:`zui:bg-[var(--zui-color-secondary)]`},{kind:`confirm`,variant:`danger`,className:`zui:bg-[var(--zui-color-danger)]`},{kind:`cancel`,variant:`primary`,className:`zui:border-[var(--zui-color-primary)]`},{kind:`cancel`,variant:`secondary`,className:`zui:border-[var(--zui-color-secondary)]`},{kind:`cancel`,variant:`danger`,className:`zui:border-[var(--zui-color-danger)]`}],defaultVariants:{variant:`primary`,kind:`confirm`,disabled:!1,fullWidth:!1}});exports.buttonVariants=t;
@@ -0,0 +1,7 @@
1
+ declare const buttonVariants: (props?: ({
2
+ variant?: "primary" | "secondary" | "danger" | null | undefined;
3
+ kind?: "confirm" | "cancel" | null | undefined;
4
+ disabled?: boolean | null | undefined;
5
+ fullWidth?: boolean | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export { buttonVariants };
@@ -1,12 +1,7 @@
1
- import type { ButtonProps } from "./Button.interface";
2
- type ButtonVariant = NonNullable<ButtonProps["variant"]>;
3
- type ButtonKind = NonNullable<ButtonProps["kind"]>;
4
- type ButtonSize = NonNullable<ButtonProps["size"]>;
5
- type ButtonVariantOptions = {
6
- size?: ButtonSize;
7
- variant?: ButtonVariant;
8
- kind?: ButtonKind;
9
- disabled?: boolean;
10
- };
11
- declare function buttonVariants(options?: ButtonVariantOptions): string;
1
+ declare const buttonVariants: (props?: ({
2
+ variant?: "primary" | "secondary" | "danger" | null | undefined;
3
+ kind?: "confirm" | "cancel" | null | undefined;
4
+ disabled?: boolean | null | undefined;
5
+ fullWidth?: boolean | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
7
  export { buttonVariants };