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 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
@@ -0,0 +1 @@
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/ActionSheet.cjs`),i=require(`../shared/FieldClearButton.cjs`),a=require(`../shared/IconActionButton.cjs`),o=require(`../shared/useControllableState.cjs`),s=require(`../shared/useExclusiveAction.cjs`),c=require(`../shared/useStickyToolbar.cjs`),l=require(`../shared/viewport.cjs`),u=require(`./Accordion.variant.cjs`);let d=require(`react`);d=e.__toESM(d,1);let f=require(`react/jsx-runtime`),p=require(`lucide-react`);var m=`zui:size-4`,h=d.createContext(null);function g(e){let t=d.useContext(h);if(!t)throw Error(`${e} must be used within an <Accordion> component`);return t}var _=d.createContext(null);function v(e){let t=d.useContext(_);if(!t)throw Error(`${e} must be used within an <AccordionItem> component`);return t}function y(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function b(e){return typeof e==`string`||typeof e==`number`?String(e):``}function ee(e){return`${b(e.title)} ${Array.isArray(e.content)?e.content.map(e=>b(e.label)).join(` `):b(e.content)}`.toLocaleLowerCase()}var x=d.forwardRef(function({type:e=`single`,value:g,defaultValue:_,onValueChange:v,collapsible:b=!1,dir:x,items:T,searchable:te=!1,onAdd:E,onEdit:D,onDelete:O,onContentItemEdit:k,onContentItemDelete:A,stickyToolbar:j=!0,className:ne,children:re},ie){let{messages:M,dir:ae}=t.useZuiConfig(),N=x??ae,[P,F]=o.useControllableState({value:d.useMemo(()=>g===void 0?void 0:y(g),[g]),defaultValue:()=>y(_)}),[I,L]=s.useExclusiveAction(),R=l.useIsMobileViewport(),[z,B]=d.useState({open:!1,actions:[]}),V=e=>B({open:!0,actions:e}),[H,oe]=d.useState(``),U=te&&Array.isArray(T),W=typeof E==`function`,G=U||W,K=d.useRef(null),q=d.useRef(null);c.useStickyToolbar(K,q,R&&j&&G);let J=H.trim().toLocaleLowerCase(),Y=d.useMemo(()=>{if(!T)return;let e=T.map((e,t)=>({item:e,originalIndex:t}));return!U||J.length===0?e:e.filter(({item:e})=>ee(e).includes(J))},[T,J,U]),X=d.useCallback(t=>{F(t),e===`multiple`?v?.(t):v?.(t[0]??``)},[v,F,e]),Z=d.useCallback(t=>{let n=P.includes(t);if(e===`multiple`){X(n?P.filter(e=>e!==t):[...P,t]);return}if(n){X(b?[]:P);return}X([t])},[b,X,P,e]),se=d.useCallback(async()=>{E&&await L(E)},[E,L]),Q=d.useCallback(async(e,t)=>{D&&await L(()=>D({item:e,index:t}))},[D,L]),$=d.useCallback(async(e,t)=>{O&&await L(()=>O({item:e,index:t}))},[O,L]),ce=d.useCallback(async(e,t,n,r)=>{k&&await L(()=>k({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[k,L]),le=d.useCallback(async(e,t,n,r)=>{A&&await L(()=>A({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[A,L]),ue=d.useMemo(()=>({openValues:P,toggleValue:Z,dir:N,type:e}),[P,Z,N,e]);return(0,f.jsx)(h.Provider,{value:ue,children:(0,f.jsxs)(`div`,{ref:ie,dir:N,"data-slot":`accordion`,className:n.cn(u.accordionVariants(),ne),children:[G?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:q,"aria-hidden":`true`,"data-slot":`accordion-sticky-sentinel`,className:`zui:-mb-2`}),(0,f.jsx)(`div`,{ref:K,"data-slot":`accordion-sticky-toolbar`,"data-sticky-toolbar":R&&j?`true`:void 0,className:`zui:mb-2`,children:(0,f.jsx)(a.ListToolbar,{"data-slot":`accordion-controls`,searchSlot:`accordion-search-input`,actionsSlot:`accordion-actions`,inlineActionsOnMobile:W,search:U?{value:H,onChange:e=>oe(e.target.value),placeholder:M.common.searchPlaceholder,ariaLabel:M.accordion.searchAriaLabel}:void 0,actions:W?(0,f.jsx)(a.ToolbarIconButton,{"data-slot":`accordion-action-add-button`,label:M.common.add,disabled:I,onClick:()=>void se(),icon:(0,f.jsx)(p.Plus,{})}):void 0})})]}):null,Y&&U&&Y.length===0?(0,f.jsx)(`div`,{"data-slot":`accordion-empty-state`,className:u.accordionEmptyStateVariants(),children:M.accordion.noSearchResults}):null,Y?Y.map(({item:e,originalIndex:t})=>{let n=e.isEdit&&typeof D==`function`,r=e.isDelete&&typeof O==`function`,o=n||r,s=e=>(0,f.jsx)(e,{className:i.CLEAR_ICON_CLASS,"aria-hidden":`true`}),c=[...n?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void Q(e,t)}]:[],...r?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void $(e,t)}]:[]],l=R&&c.length>1?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):o?(0,f.jsxs)(f.Fragment,{children:[n?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>void Q(e,t)}):null,r?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`delete`}),onClick:()=>void $(e,t)}):null]}):void 0,d=Array.isArray(e.content)?(0,f.jsx)(`div`,{"data-slot":`accordion-content-list`,className:u.accordionContentListVariants(),children:e.content.map((n,r)=>{let i=n.isEdit&&typeof k==`function`,o=n.isDelete&&typeof A==`function`,c=[...i?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void ce(e,t,n,r)}]:[],...o?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void le(e,t,n,r)}]:[]],l=R&&c.length>1;return(0,f.jsxs)(`div`,{"data-slot":`accordion-content-list-row`,className:u.accordionContentListRowVariants(),children:[(0,f.jsx)(`span`,{className:`zui:min-w-0 zui:flex-1 zui:text-start`,children:n.label}),l?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):null,!l&&i?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>void ce(e,t,n,r)}):null,!l&&o?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`delete`}),onClick:()=>void le(e,t,n,r)}):null]},n.value)})}):e.content;return(0,f.jsxs)(S,{value:e.value,disabled:e.disabled,children:[(0,f.jsx)(C,{icon:e.icon,actions:l,children:e.title}),(0,f.jsx)(w,{children:d})]},e.value)}):re,R?(0,f.jsx)(r.default,{open:z.open,onOpenChange:e=>B(t=>({...t,open:e})),actions:z.actions,label:M.accordion.actions}):null]})})}),S=d.forwardRef(function({value:e,disabled:t=!1,className:r,children:i},a){let{openValues:o}=g(`AccordionItem`),s=o.includes(e),c=d.useId(),l=`accordion-trigger-${c}`,p=`accordion-content-${c}`,m=d.useMemo(()=>({value:e,isOpen:s,disabled:t,triggerId:l,contentId:p}),[e,s,t,l,p]);return(0,f.jsx)(_.Provider,{value:m,children:(0,f.jsx)(`div`,{ref:a,"data-slot":`accordion-item`,"data-state":s?`open`:`closed`,"data-disabled":t?``:void 0,className:n.cn(u.accordionItemVariants(),r),children:i})})}),C=d.forwardRef(function({icon:e,actions:t,className:r,children:i},a){let{toggleValue:o}=g(`AccordionTrigger`),{value:s,isOpen:c,disabled:l,triggerId:d,contentId:m}=v(`AccordionTrigger`);return(0,f.jsxs)(`div`,{"data-slot":`accordion-trigger-row`,className:u.accordionTriggerRowVariants(),children:[(0,f.jsxs)(`button`,{ref:a,type:`button`,id:d,"aria-expanded":c,"aria-controls":m,disabled:l,"data-slot":`accordion-trigger`,"data-state":c?`open`:`closed`,onClick:()=>{l||o(s)},className:n.cn(u.accordionTriggerVariants(),r),children:[(0,f.jsx)(`span`,{className:`zui:flex-1 zui:text-start`,children:i}),e??(0,f.jsx)(p.ChevronDown,{"aria-hidden":`true`,className:n.cn(`zui:size-4 zui:shrink-0 zui:text-[var(--zui-color-text)] zui:transition-transform zui:duration-200 zui:ease-out`,c?`zui:rotate-180`:`zui:rotate-0`)})]}),t?(0,f.jsx)(`div`,{"data-slot":`accordion-trigger-actions`,className:u.accordionTriggerActionsVariants(),children:t}):null]})}),w=d.forwardRef(function({forceMount:e,className:t,children:r},i){let{isOpen:a,triggerId:o,contentId:s}=v(`AccordionContent`);return!e&&!a?null:(0,f.jsx)(`div`,{ref:i,role:`region`,id:s,"aria-labelledby":o,"data-slot":`accordion-content`,"data-state":a?`open`:`closed`,hidden:e?!a:void 0,className:n.cn(u.accordionContentVariants(),t),children:r})});exports.AccordionContent=w,exports.AccordionItem=S,exports.AccordionTrigger=C,exports.default=x;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface.cjs";
3
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { AccordionItem, AccordionTrigger, AccordionContent };
8
+ export default Accordion;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface";
2
+ import type { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps } from "./Accordion.interface.js";
3
3
  declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
4
4
  declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
5
5
  declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,103 @@
1
+ import type * as React from "react";
2
+ /**
3
+ * One row inside an item's `content` when `content` is an array — a flat,
4
+ * minimally-divided list (not a nested Accordion) rendered inside the open
5
+ * panel, with its own optional per-row edit/delete icons.
6
+ */
7
+ export interface AccordionContentItem {
8
+ value: string;
9
+ label: React.ReactNode;
10
+ /** Shows an edit icon button for this row. Requires `Accordion`'s `onContentItemEdit`. */
11
+ isEdit?: boolean;
12
+ /** Shows a delete icon button for this row. Requires `Accordion`'s `onContentItemDelete`. */
13
+ isDelete?: boolean;
14
+ }
15
+ export interface AccordionItemSchema {
16
+ value: string;
17
+ title: React.ReactNode;
18
+ /**
19
+ * Either arbitrary content (the default), or an array of `AccordionContentItem`
20
+ * rows — rendered as a flat list separated by a minimal divider, not as a
21
+ * nested Accordion.
22
+ */
23
+ content: React.ReactNode | AccordionContentItem[];
24
+ disabled?: boolean;
25
+ icon?: React.ReactNode;
26
+ /** Shows an edit icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onEdit`. */
27
+ isEdit?: boolean;
28
+ /** Shows a delete icon button for this item (only in `items` data-driven mode). Requires `Accordion`'s `onDelete`. */
29
+ isDelete?: boolean;
30
+ }
31
+ export type AccordionItemActionInput = {
32
+ item: AccordionItemSchema;
33
+ index: number;
34
+ };
35
+ export type AccordionEditItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
36
+ export type AccordionDeleteItemHandler = (input: AccordionItemActionInput) => void | Promise<void>;
37
+ export type AccordionContentItemActionInput = {
38
+ item: AccordionItemSchema;
39
+ itemIndex: number;
40
+ contentItem: AccordionContentItem;
41
+ contentIndex: number;
42
+ };
43
+ export type AccordionContentItemEditHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
44
+ export type AccordionContentItemDeleteHandler = (input: AccordionContentItemActionInput) => void | Promise<void>;
45
+ export interface AccordionProps {
46
+ type?: "single" | "multiple";
47
+ value?: string | string[];
48
+ defaultValue?: string | string[];
49
+ onValueChange?: (value: string | string[]) => void;
50
+ collapsible?: boolean;
51
+ dir?: "rtl" | "ltr";
52
+ /**
53
+ * Data-driven usage (recommended) — same convention as Select's `options` or
54
+ * Table's `schema`: pass the items and Accordion renders them, no manual
55
+ * AccordionItem/AccordionTrigger/AccordionContent composition needed.
56
+ * When provided, `children` is ignored.
57
+ */
58
+ items?: AccordionItemSchema[];
59
+ /**
60
+ * Shows a search input above the `items` list that filters items by title
61
+ * and content text, same convention as `Table`'s `searchable`. Only applies
62
+ * in data-driven (`items`) mode.
63
+ */
64
+ searchable?: boolean;
65
+ /** Shows a "+" add button next to the search input, same convention as `Table`'s `onAdd`. */
66
+ onAdd?: () => void | Promise<void>;
67
+ /** Called when an item's edit icon (`item.isEdit`) is clicked. Same convention as `Table`'s `onEdit`. */
68
+ onEdit?: AccordionEditItemHandler;
69
+ /** Called when an item's delete icon (`item.isDelete`) is clicked. Same convention as `Table`'s `onDelete`. */
70
+ onDelete?: AccordionDeleteItemHandler;
71
+ /** Called when a content-list row's edit icon (`AccordionContentItem.isEdit`) is clicked. */
72
+ onContentItemEdit?: AccordionContentItemEditHandler;
73
+ /** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
74
+ onContentItemDelete?: AccordionContentItemDeleteHandler;
75
+ /**
76
+ * On phones the search and "+" button stay pinned to the top while the items scroll: they slide
77
+ * away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
78
+ * them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
79
+ * `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
80
+ * @default true
81
+ */
82
+ stickyToolbar?: boolean;
83
+ className?: string;
84
+ children?: React.ReactNode;
85
+ }
86
+ export interface AccordionItemProps {
87
+ value: string;
88
+ disabled?: boolean;
89
+ className?: string;
90
+ children?: React.ReactNode;
91
+ }
92
+ export interface AccordionTriggerProps {
93
+ icon?: React.ReactNode;
94
+ /** Extra controls (e.g. edit/delete icon buttons) rendered next to the trigger but outside its clickable button, so clicking them doesn't toggle the item. */
95
+ actions?: React.ReactNode;
96
+ className?: string;
97
+ children?: React.ReactNode;
98
+ }
99
+ export interface AccordionContentProps {
100
+ forceMount?: boolean;
101
+ className?: string;
102
+ children?: React.ReactNode;
103
+ }
@@ -72,6 +72,14 @@ export interface AccordionProps {
72
72
  onContentItemEdit?: AccordionContentItemEditHandler;
73
73
  /** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
74
74
  onContentItemDelete?: AccordionContentItemDeleteHandler;
75
+ /**
76
+ * On phones the search and "+" button stay pinned to the top while the items scroll: they slide
77
+ * away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
78
+ * them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
79
+ * `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
80
+ * @default true
81
+ */
82
+ stickyToolbar?: boolean;
75
83
  className?: string;
76
84
  children?: React.ReactNode;
77
85
  }
@@ -0,0 +1,361 @@
1
+ "use client";
2
+ import { useZuiConfig as e } from "../../config/useZuiConfig.js";
3
+ import { cn as t } from "../../lib/utils.js";
4
+ import n from "../shared/ActionSheet.js";
5
+ import { CLEAR_ICON_CLASS as r } from "../shared/FieldClearButton.js";
6
+ import { IconActionButton as i, ListToolbar as a, ToolbarIconButton as o } from "../shared/IconActionButton.js";
7
+ import { useControllableState as s } from "../shared/useControllableState.js";
8
+ import { useExclusiveAction as c } from "../shared/useExclusiveAction.js";
9
+ import { useStickyToolbar as l } from "../shared/useStickyToolbar.js";
10
+ import { useIsMobileViewport as u } from "../shared/viewport.js";
11
+ import { accordionActionButtonVariants as d, accordionContentActionButtonVariants as f, accordionContentListRowVariants as ee, accordionContentListVariants as te, accordionContentVariants as p, accordionEmptyStateVariants as ne, accordionItemVariants as m, accordionTriggerActionsVariants as h, accordionTriggerRowVariants as g, accordionTriggerVariants as _, accordionVariants as re } from "./Accordion.variant.js";
12
+ import * as v from "react";
13
+ import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
14
+ import { ChevronDown as S, EllipsisVertical as C, Pencil as w, Plus as ie, Trash2 as T } from "lucide-react";
15
+ //#region src/components/Accordion/Accordion.tsx
16
+ var E = "zui:size-4", D = v.createContext(null);
17
+ function O(e) {
18
+ let t = v.useContext(D);
19
+ if (!t) throw Error(`${e} must be used within an <Accordion> component`);
20
+ return t;
21
+ }
22
+ var k = v.createContext(null);
23
+ function A(e) {
24
+ let t = v.useContext(k);
25
+ if (!t) throw Error(`${e} must be used within an <AccordionItem> component`);
26
+ return t;
27
+ }
28
+ function j(e) {
29
+ return e === void 0 ? [] : Array.isArray(e) ? e : [e];
30
+ }
31
+ function M(e) {
32
+ return typeof e == "string" || typeof e == "number" ? String(e) : "";
33
+ }
34
+ function ae(e) {
35
+ return `${M(e.title)} ${Array.isArray(e.content) ? e.content.map((e) => M(e.label)).join(" ") : M(e.content)}`.toLocaleLowerCase();
36
+ }
37
+ var N = v.forwardRef(function({ type: p = "single", value: m, defaultValue: h, onValueChange: g, collapsible: _ = !1, dir: S, items: O, searchable: k = !1, onAdd: A, onEdit: M, onDelete: N, onContentItemEdit: P, onContentItemDelete: F, stickyToolbar: I = !0, className: le, children: ue }, de) {
38
+ let { messages: L, dir: fe } = e(), R = S ?? fe, [z, B] = s({
39
+ value: v.useMemo(() => m === void 0 ? void 0 : j(m), [m]),
40
+ defaultValue: () => j(h)
41
+ }), [V, H] = c(), U = u(), [W, pe] = v.useState({
42
+ open: !1,
43
+ actions: []
44
+ }), G = (e) => pe({
45
+ open: !0,
46
+ actions: e
47
+ }), [K, me] = v.useState(""), q = k && Array.isArray(O), J = typeof A == "function", Y = q || J, he = v.useRef(null), ge = v.useRef(null);
48
+ l(he, ge, U && I && Y);
49
+ let X = K.trim().toLocaleLowerCase(), Z = v.useMemo(() => {
50
+ if (!O) return;
51
+ let e = O.map((e, t) => ({
52
+ item: e,
53
+ originalIndex: t
54
+ }));
55
+ return !q || X.length === 0 ? e : e.filter(({ item: e }) => ae(e).includes(X));
56
+ }, [
57
+ O,
58
+ X,
59
+ q
60
+ ]), Q = v.useCallback((e) => {
61
+ B(e), p === "multiple" ? g?.(e) : g?.(e[0] ?? "");
62
+ }, [
63
+ g,
64
+ B,
65
+ p
66
+ ]), _e = v.useCallback((e) => {
67
+ let t = z.includes(e);
68
+ if (p === "multiple") {
69
+ Q(t ? z.filter((t) => t !== e) : [...z, e]);
70
+ return;
71
+ }
72
+ if (t) {
73
+ Q(_ ? [] : z);
74
+ return;
75
+ }
76
+ Q([e]);
77
+ }, [
78
+ _,
79
+ Q,
80
+ z,
81
+ p
82
+ ]), ve = v.useCallback(async () => {
83
+ A && await H(A);
84
+ }, [A, H]), ye = v.useCallback(async (e, t) => {
85
+ M && await H(() => M({
86
+ item: e,
87
+ index: t
88
+ }));
89
+ }, [M, H]), be = v.useCallback(async (e, t) => {
90
+ N && await H(() => N({
91
+ item: e,
92
+ index: t
93
+ }));
94
+ }, [N, H]), xe = v.useCallback(async (e, t, n, r) => {
95
+ P && await H(() => P({
96
+ item: e,
97
+ itemIndex: t,
98
+ contentItem: n,
99
+ contentIndex: r
100
+ }));
101
+ }, [P, H]), $ = v.useCallback(async (e, t, n, r) => {
102
+ F && await H(() => F({
103
+ item: e,
104
+ itemIndex: t,
105
+ contentItem: n,
106
+ contentIndex: r
107
+ }));
108
+ }, [F, H]), Se = v.useMemo(() => ({
109
+ openValues: z,
110
+ toggleValue: _e,
111
+ dir: R,
112
+ type: p
113
+ }), [
114
+ z,
115
+ _e,
116
+ R,
117
+ p
118
+ ]);
119
+ return /* @__PURE__ */ b(D.Provider, {
120
+ value: Se,
121
+ children: /* @__PURE__ */ x("div", {
122
+ ref: de,
123
+ dir: R,
124
+ "data-slot": "accordion",
125
+ className: t(re(), le),
126
+ children: [
127
+ Y ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b("div", {
128
+ ref: ge,
129
+ "aria-hidden": "true",
130
+ "data-slot": "accordion-sticky-sentinel",
131
+ className: "zui:-mb-2"
132
+ }), /* @__PURE__ */ b("div", {
133
+ ref: he,
134
+ "data-slot": "accordion-sticky-toolbar",
135
+ "data-sticky-toolbar": U && I ? "true" : void 0,
136
+ className: "zui:mb-2",
137
+ children: /* @__PURE__ */ b(a, {
138
+ "data-slot": "accordion-controls",
139
+ searchSlot: "accordion-search-input",
140
+ actionsSlot: "accordion-actions",
141
+ inlineActionsOnMobile: J,
142
+ search: q ? {
143
+ value: K,
144
+ onChange: (e) => me(e.target.value),
145
+ placeholder: L.common.searchPlaceholder,
146
+ ariaLabel: L.accordion.searchAriaLabel
147
+ } : void 0,
148
+ actions: J ? /* @__PURE__ */ b(o, {
149
+ "data-slot": "accordion-action-add-button",
150
+ label: L.common.add,
151
+ disabled: V,
152
+ onClick: () => void ve(),
153
+ icon: /* @__PURE__ */ b(ie, {})
154
+ }) : void 0
155
+ })
156
+ })] }) : null,
157
+ Z && q && Z.length === 0 ? /* @__PURE__ */ b("div", {
158
+ "data-slot": "accordion-empty-state",
159
+ className: ne(),
160
+ children: L.accordion.noSearchResults
161
+ }) : null,
162
+ Z ? Z.map(({ item: e, originalIndex: t }) => {
163
+ let n = e.isEdit && typeof M == "function", a = e.isDelete && typeof N == "function", o = n || a, s = (e) => /* @__PURE__ */ b(e, {
164
+ className: r,
165
+ "aria-hidden": "true"
166
+ }), c = [...n ? [{
167
+ key: "edit",
168
+ label: L.common.edit,
169
+ icon: s(w),
170
+ onSelect: () => void ye(e, t)
171
+ }] : [], ...a ? [{
172
+ key: "delete",
173
+ label: L.common.delete,
174
+ icon: s(T),
175
+ danger: !0,
176
+ onSelect: () => void be(e, t)
177
+ }] : []], l = U && c.length > 1 ? /* @__PURE__ */ b(i, {
178
+ "data-slot": "accordion-action-menu-button",
179
+ label: L.accordion.actions,
180
+ icon: /* @__PURE__ */ b(C, {
181
+ className: E,
182
+ "aria-hidden": "true"
183
+ }),
184
+ disabled: V,
185
+ className: d({ tone: "edit" }),
186
+ onClick: () => G(c)
187
+ }) : o ? /* @__PURE__ */ x(y, { children: [n ? /* @__PURE__ */ b(i, {
188
+ "data-slot": "accordion-action-edit-button",
189
+ label: L.common.edit,
190
+ icon: /* @__PURE__ */ b(w, {
191
+ className: E,
192
+ "aria-hidden": "true"
193
+ }),
194
+ disabled: V,
195
+ className: d({ tone: "edit" }),
196
+ onClick: () => void ye(e, t)
197
+ }) : null, a ? /* @__PURE__ */ b(i, {
198
+ "data-slot": "accordion-action-delete-button",
199
+ label: L.common.delete,
200
+ icon: /* @__PURE__ */ b(T, {
201
+ className: E,
202
+ "aria-hidden": "true"
203
+ }),
204
+ disabled: V,
205
+ className: d({ tone: "delete" }),
206
+ onClick: () => void be(e, t)
207
+ }) : null] }) : void 0, u = Array.isArray(e.content) ? /* @__PURE__ */ b("div", {
208
+ "data-slot": "accordion-content-list",
209
+ className: te(),
210
+ children: e.content.map((n, r) => {
211
+ let a = n.isEdit && typeof P == "function", o = n.isDelete && typeof F == "function", c = [...a ? [{
212
+ key: "edit",
213
+ label: L.common.edit,
214
+ icon: s(w),
215
+ onSelect: () => void xe(e, t, n, r)
216
+ }] : [], ...o ? [{
217
+ key: "delete",
218
+ label: L.common.delete,
219
+ icon: s(T),
220
+ danger: !0,
221
+ onSelect: () => void $(e, t, n, r)
222
+ }] : []], l = U && c.length > 1;
223
+ return /* @__PURE__ */ x("div", {
224
+ "data-slot": "accordion-content-list-row",
225
+ className: ee(),
226
+ children: [
227
+ /* @__PURE__ */ b("span", {
228
+ className: "zui:min-w-0 zui:flex-1 zui:text-start",
229
+ children: n.label
230
+ }),
231
+ l ? /* @__PURE__ */ b(i, {
232
+ "data-slot": "accordion-content-item-menu-button",
233
+ label: L.accordion.actions,
234
+ icon: /* @__PURE__ */ b(C, {
235
+ className: E,
236
+ "aria-hidden": "true"
237
+ }),
238
+ disabled: V,
239
+ className: f({ tone: "edit" }),
240
+ onClick: () => G(c)
241
+ }) : null,
242
+ !l && a ? /* @__PURE__ */ b(i, {
243
+ "data-slot": "accordion-content-item-edit-button",
244
+ label: L.common.edit,
245
+ icon: /* @__PURE__ */ b(w, {
246
+ className: E,
247
+ "aria-hidden": "true"
248
+ }),
249
+ disabled: V,
250
+ className: f({ tone: "edit" }),
251
+ onClick: () => void xe(e, t, n, r)
252
+ }) : null,
253
+ !l && o ? /* @__PURE__ */ b(i, {
254
+ "data-slot": "accordion-content-item-delete-button",
255
+ label: L.common.delete,
256
+ icon: /* @__PURE__ */ b(T, {
257
+ className: E,
258
+ "aria-hidden": "true"
259
+ }),
260
+ disabled: V,
261
+ className: f({ tone: "delete" }),
262
+ onClick: () => void $(e, t, n, r)
263
+ }) : null
264
+ ]
265
+ }, n.value);
266
+ })
267
+ }) : e.content;
268
+ return /* @__PURE__ */ x(oe, {
269
+ value: e.value,
270
+ disabled: e.disabled,
271
+ children: [/* @__PURE__ */ b(se, {
272
+ icon: e.icon,
273
+ actions: l,
274
+ children: e.title
275
+ }), /* @__PURE__ */ b(ce, { children: u })]
276
+ }, e.value);
277
+ }) : ue,
278
+ U ? /* @__PURE__ */ b(n, {
279
+ open: W.open,
280
+ onOpenChange: (e) => pe((t) => ({
281
+ ...t,
282
+ open: e
283
+ })),
284
+ actions: W.actions,
285
+ label: L.accordion.actions
286
+ }) : null
287
+ ]
288
+ })
289
+ });
290
+ }), oe = v.forwardRef(function({ value: e, disabled: n = !1, className: r, children: i }, a) {
291
+ let { openValues: o } = O("AccordionItem"), s = o.includes(e), c = v.useId(), l = `accordion-trigger-${c}`, u = `accordion-content-${c}`, d = v.useMemo(() => ({
292
+ value: e,
293
+ isOpen: s,
294
+ disabled: n,
295
+ triggerId: l,
296
+ contentId: u
297
+ }), [
298
+ e,
299
+ s,
300
+ n,
301
+ l,
302
+ u
303
+ ]);
304
+ return /* @__PURE__ */ b(k.Provider, {
305
+ value: d,
306
+ children: /* @__PURE__ */ b("div", {
307
+ ref: a,
308
+ "data-slot": "accordion-item",
309
+ "data-state": s ? "open" : "closed",
310
+ "data-disabled": n ? "" : void 0,
311
+ className: t(m(), r),
312
+ children: i
313
+ })
314
+ });
315
+ }), se = v.forwardRef(function({ icon: e, actions: n, className: r, children: i }, a) {
316
+ let { toggleValue: o } = O("AccordionTrigger"), { value: s, isOpen: c, disabled: l, triggerId: u, contentId: d } = A("AccordionTrigger");
317
+ return /* @__PURE__ */ x("div", {
318
+ "data-slot": "accordion-trigger-row",
319
+ className: g(),
320
+ children: [/* @__PURE__ */ x("button", {
321
+ ref: a,
322
+ type: "button",
323
+ id: u,
324
+ "aria-expanded": c,
325
+ "aria-controls": d,
326
+ disabled: l,
327
+ "data-slot": "accordion-trigger",
328
+ "data-state": c ? "open" : "closed",
329
+ onClick: () => {
330
+ l || o(s);
331
+ },
332
+ className: t(_(), r),
333
+ children: [/* @__PURE__ */ b("span", {
334
+ className: "zui:flex-1 zui:text-start",
335
+ children: i
336
+ }), e ?? /* @__PURE__ */ b(S, {
337
+ "aria-hidden": "true",
338
+ className: t("zui:size-4 zui:shrink-0 zui:text-[var(--zui-color-text)] zui:transition-transform zui:duration-200 zui:ease-out", c ? "zui:rotate-180" : "zui:rotate-0")
339
+ })]
340
+ }), n ? /* @__PURE__ */ b("div", {
341
+ "data-slot": "accordion-trigger-actions",
342
+ className: h(),
343
+ children: n
344
+ }) : null]
345
+ });
346
+ }), ce = v.forwardRef(function({ forceMount: e, className: n, children: r }, i) {
347
+ let { isOpen: a, triggerId: o, contentId: s } = A("AccordionContent");
348
+ return !e && !a ? null : /* @__PURE__ */ b("div", {
349
+ ref: i,
350
+ role: "region",
351
+ id: s,
352
+ "aria-labelledby": o,
353
+ "data-slot": "accordion-content",
354
+ "data-state": a ? "open" : "closed",
355
+ hidden: e ? !a : void 0,
356
+ className: t(p(), n),
357
+ children: r
358
+ });
359
+ });
360
+ //#endregion
361
+ export { ce as AccordionContent, oe as AccordionItem, se as AccordionTrigger, N as default };
@@ -0,0 +1 @@
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);let e=require(`class-variance-authority`);var t=(0,e.cva)(`zui:flex zui:w-full zui:flex-col zui:gap-2`),n=(0,e.cva)(`zui:flex zui:flex-col zui:overflow-hidden zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:transition-colors zui:duration-200 zui:ease-out`),r=(0,e.cva)(`zui:flex zui:w-full zui:items-center zui:gap-1`),i=(0,e.cva)(`zui:group/accordion-trigger zui:flex zui:min-w-0 zui:flex-1 zui:cursor-pointer zui:select-none zui:items-center zui:justify-between zui:gap-2 zui:min-h-[calc(var(--zui-scale,10px)*5.184)] zui:px-4 zui:py-3 zui:text-start zui:text-sm zui:mobile:text-base zui:font-medium zui:leading-none zui:text-[var(--zui-color-text)] zui:outline-none zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[color-mix(in_srgb,var(--zui-color-primary)_12%,transparent)] zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-color-primary)] zui:focus-visible:ring-offset-1 zui:focus-visible:ring-offset-[var(--zui-color-surface)] zui:disabled:pointer-events-none zui:disabled:opacity-50`),a=(0,e.cva)(`zui:flex zui:shrink-0 zui:items-center zui:gap-1 zui:ps-1 zui:pe-4`),o=(0,e.cva)(`zui:inline-flex zui:size-8 zui:mobile:size-10 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-transparent zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[var(--zui-theme-bg-muted)] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45`,{variants:{tone:{edit:`zui:text-[var(--zui-color-text)]`,delete:`zui:text-[var(--zui-color-danger)]`}},defaultVariants:{tone:`edit`}}),s=(0,e.cva)(`zui:inline-flex zui:size-7 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui:bg-transparent zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-[1.2] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45`,{variants:{tone:{edit:`zui:text-[var(--zui-color-text)]`,delete:`zui:text-[var(--zui-color-danger)]`}},defaultVariants:{tone:`edit`}}),c=(0,e.cva)(`zui:mx-4 zui:mb-3 zui:border-s-2 zui:border-[var(--zui-color-border)] zui:ps-4 zui:pt-1 zui:text-sm zui:mobile:text-base zui:leading-relaxed zui:text-[var(--zui-color-text)]`),l=(0,e.cva)(`zui:flex zui:flex-col zui:divide-y zui:divide-[var(--zui-color-border)]`),u=(0,e.cva)(`zui:flex zui:items-center zui:gap-2 zui:py-2`),d=(0,e.cva)(`zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:px-4 zui:py-7 zui:text-center zui:text-sm zui:mobile:text-base zui:text-[var(--zui-color-text)]`);exports.accordionActionButtonVariants=o,exports.accordionContentActionButtonVariants=s,exports.accordionContentListRowVariants=u,exports.accordionContentListVariants=l,exports.accordionContentVariants=c,exports.accordionEmptyStateVariants=d,exports.accordionItemVariants=n,exports.accordionTriggerActionsVariants=a,exports.accordionTriggerRowVariants=r,exports.accordionTriggerVariants=i,exports.accordionVariants=t;
@@ -0,0 +1,16 @@
1
+ declare const accordionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ declare const accordionItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
+ declare const accordionTriggerRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
+ declare const accordionTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
5
+ declare const accordionTriggerActionsVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
+ declare const accordionActionButtonVariants: (props?: ({
7
+ tone?: "edit" | "delete" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ declare const accordionContentActionButtonVariants: (props?: ({
10
+ tone?: "edit" | "delete" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ declare const accordionContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
+ declare const accordionContentListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
14
+ declare const accordionContentListRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
15
+ declare const accordionEmptyStateVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
16
+ export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, accordionEmptyStateVariants, };
@@ -12,8 +12,5 @@ declare const accordionContentActionButtonVariants: (props?: ({
12
12
  declare const accordionContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
13
  declare const accordionContentListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
14
14
  declare const accordionContentListRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
15
- declare const accordionControlsRowVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
16
- declare const accordionSearchInputVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
17
- declare const accordionAddButtonWrapperVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
18
15
  declare const accordionEmptyStateVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
19
- export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, accordionControlsRowVariants, accordionSearchInputVariants, accordionAddButtonWrapperVariants, accordionEmptyStateVariants, };
16
+ export { accordionVariants, accordionItemVariants, accordionTriggerRowVariants, accordionTriggerVariants, accordionTriggerActionsVariants, accordionActionButtonVariants, accordionContentActionButtonVariants, accordionContentVariants, accordionContentListVariants, accordionContentListRowVariants, accordionEmptyStateVariants, };
@@ -0,0 +1,17 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/Accordion/Accordion.variant.ts
3
+ var t = e("zui:flex zui:w-full zui:flex-col zui:gap-2"), n = e("zui:flex zui:flex-col zui:overflow-hidden zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:transition-colors zui:duration-200 zui:ease-out"), r = e("zui:flex zui:w-full zui:items-center zui:gap-1"), i = e("zui:group/accordion-trigger zui:flex zui:min-w-0 zui:flex-1 zui:cursor-pointer zui:select-none zui:items-center zui:justify-between zui:gap-2 zui:min-h-[calc(var(--zui-scale,10px)*5.184)] zui:px-4 zui:py-3 zui:text-start zui:text-sm zui:mobile:text-base zui:font-medium zui:leading-none zui:text-[var(--zui-color-text)] zui:outline-none zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[color-mix(in_srgb,var(--zui-color-primary)_12%,transparent)] zui:focus-visible:ring-2 zui:focus-visible:ring-[var(--zui-color-primary)] zui:focus-visible:ring-offset-1 zui:focus-visible:ring-offset-[var(--zui-color-surface)] zui:disabled:pointer-events-none zui:disabled:opacity-50"), a = e("zui:flex zui:shrink-0 zui:items-center zui:gap-1 zui:ps-1 zui:pe-4"), o = e("zui:inline-flex zui:size-8 zui:mobile:size-10 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:bg-transparent zui:transition-colors zui:duration-200 zui:ease-out zui:hover:bg-[var(--zui-theme-bg-muted)] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45", {
4
+ variants: { tone: {
5
+ edit: "zui:text-[var(--zui-color-text)]",
6
+ delete: "zui:text-[var(--zui-color-danger)]"
7
+ } },
8
+ defaultVariants: { tone: "edit" }
9
+ }), s = e("zui:inline-flex zui:size-7 zui:shrink-0 zui:cursor-pointer zui:items-center zui:justify-center zui:bg-transparent zui:transition-transform zui:duration-200 zui:ease-out zui:hover:scale-[1.2] zui:disabled:pointer-events-none zui:disabled:cursor-not-allowed zui:disabled:opacity-45", {
10
+ variants: { tone: {
11
+ edit: "zui:text-[var(--zui-color-text)]",
12
+ delete: "zui:text-[var(--zui-color-danger)]"
13
+ } },
14
+ defaultVariants: { tone: "edit" }
15
+ }), c = e("zui:mx-4 zui:mb-3 zui:border-s-2 zui:border-[var(--zui-color-border)] zui:ps-4 zui:pt-1 zui:text-sm zui:mobile:text-base zui:leading-relaxed zui:text-[var(--zui-color-text)]"), l = e("zui:flex zui:flex-col zui:divide-y zui:divide-[var(--zui-color-border)]"), u = e("zui:flex zui:items-center zui:gap-2 zui:py-2"), d = e("zui-radius-xs zui:border zui:border-[var(--zui-color-border)] zui:px-4 zui:py-7 zui:text-center zui:text-sm zui:mobile:text-base zui:text-[var(--zui-color-text)]");
16
+ //#endregion
17
+ export { o as accordionActionButtonVariants, s as accordionContentActionButtonVariants, u as accordionContentListRowVariants, l as accordionContentListVariants, c as accordionContentVariants, d as accordionEmptyStateVariants, n as accordionItemVariants, a as accordionTriggerActionsVariants, r as accordionTriggerRowVariants, i as accordionTriggerVariants, t as accordionVariants };
@@ -0,0 +1 @@
1
+ "use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../services/localizeDigits/localizeDigits.cjs`),r=require(`../../lib/utils.cjs`),i=require(`../Button/Button.cjs`),a=require(`../Dialog/Dialog.variant.cjs`),o=require(`../Tooltip/Tooltip.cjs`),s=require(`../Toast/function/showToast.cjs`),c=require(`../Uploader/Uploader.utils.cjs`),l=require(`./Avatar.variant.cjs`),u=require(`./Avatar.utils.cjs`);let d=require(`react`);d=e.__toESM(d,1);let f=require(`react/jsx-runtime`),p=require(`lucide-react`),m=require(`@radix-ui/react-dialog`);m=e.__toESM(m,1);var h=d.createContext(null);function g({src:e,alt:n,name:g,fallback:v,size:y,shape:b,status:x,showTooltip:S=!1,previewable:C,previewSrc:w,onClick:T,onImageSelect:E,onImageRemove:D,accept:O=`image/*`,maxSizeKb:k,onReject:A,className:ee},te){let{messages:j,digits:M,dir:N}=t.useZuiConfig(),P=j.avatar,F=d.useContext(h),I=y??F?.size??`default`,L=b??F?.shape??`circle`,R=F!==null,z=d.useRef(null),[B,V]=d.useState(null),[ne,H]=d.useState(!1),U=e?B?.src===e?B.state:`loading`:`none`,W=U===`loaded`,G=(C??!T)&&W,K=!!T||G,q=!!E,J=u.getInitials(g),Y=g??n,re=v??(J?(0,f.jsx)(`span`,{"aria-hidden":`true`,dir:`auto`,children:J}):(0,f.jsx)(p.User,{className:`zui:size-[55%]`,"aria-hidden":`true`})),ie=e=>{T?.(e),G&&!e.defaultPrevented&&H(!0)},X=()=>z.current?.click(),ae=e=>{let t=e.target.files?.[0];if(e.target.value=``,!t)return;let{accepted:n,rejected:r}=c.splitAcceptedFiles([t],O,k);if(r.length>0){A?A(r[0]):s.showFallbackToast({title:P.invalidImage,message:c.describeRejection(r[0],k,M,j.uploader),type:`error`,duration:5e3},"`onReject`");return}E?.(n[0])},Z=r.cn(l.avatarVariants({size:I,shape:L,interactive:K}),R&&`zui:ring-2 zui:ring-[var(--zui-color-surface)]`,ee),Q=(0,f.jsxs)(f.Fragment,{children:[re,e&&U!==`error`?(0,f.jsx)(`img`,{src:e,alt:n??g??``,loading:`lazy`,draggable:!1,onLoad:()=>V({src:e,state:`loaded`}),onError:()=>V({src:e,state:`error`}),className:r.cn(`zui:absolute zui:inset-0 zui:size-full zui:object-cover zui:transition-opacity zui:duration-300`,W?`zui:opacity-100`:`zui:opacity-0`)},e):null,G?(0,f.jsx)(`span`,{"aria-hidden":`true`,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`,children:(0,f.jsx)(p.ZoomIn,{className:`zui:size-[45%] zui:scale-75 zui:transition-transform zui:duration-200 zui:group-hover/avatar:scale-100`})}):null]}),$=K?(0,f.jsx)(`button`,{type:`button`,"data-slot":`avatar-root`,"aria-label":G?P.showImage(Y??``):Y,onClick:ie,className:Z,children:Q}):(0,f.jsx)(`span`,{"data-slot":`avatar-root`,role:`img`,"aria-label":Y,className:Z,children:Q});return(0,f.jsxs)(`span`,{ref:te,"data-slot":`avatar`,dir:N,"data-state":U,className:`zui:relative zui:inline-flex zui:shrink-0 zui:align-middle`,children:[S&&g?(0,f.jsx)(o.default,{text:g,position:`top`,trigger:$}):$,x?(0,f.jsx)(`span`,{className:l.avatarStatusVariants({status:x,size:I}),children:(0,f.jsx)(`span`,{className:`zui:sr-only`,children:P[x]})}):null,q?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o.default,{text:P.changeImage,position:`bottom`,trigger:(0,f.jsx)(`button`,{type:`button`,"aria-label":P.changeImage,onClick:X,className:l.avatarEditButtonVariants({size:I}),children:(0,f.jsx)(p.Camera,{"aria-hidden":`true`})})}),(0,f.jsx)(`input`,{ref:z,type:`file`,tabIndex:-1,"aria-hidden":`true`,accept:O,onChange:ae,className:`zui:hidden`})]}):null,(0,f.jsx)(m.Root,{open:ne&&!!e,onOpenChange:H,children:(0,f.jsx)(m.Portal,{children:(0,f.jsx)(m.Overlay,{"data-slot":`avatar-preview-overlay`,className:r.cn(a.dialogOverlayVariants(),`zui:mobile:items-center zui:mobile:p-4`),children:(0,f.jsxs)(m.Content,{"data-slot":`avatar-preview`,dir:N,"aria-describedby":void 0,className:l.avatarPreviewContentClassName,children:[(0,f.jsx)(m.Close,{asChild:!0,children:(0,f.jsx)(`button`,{type:`button`,"aria-label":j.common.close,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)]`,children:(0,f.jsx)(p.X,{className:`zui:size-4`,"aria-hidden":`true`})})}),(0,f.jsx)(_,{src:w??e,fallbackSrc:e,alt:n??g??``}),(0,f.jsxs)(`div`,{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`,children:[(0,f.jsx)(m.Title,{className:`zui:m-0 zui:text-sm zui:mobile:w-full zui:mobile:text-center zui:mobile:text-base zui:font-semibold`,children:g??n??P.imageFallbackTitle}),q?(0,f.jsx)(i.default,{variant:`secondary`,kind:`cancel`,label:P.changeImage,className:`zui:mobile:flex-1`,icon:(0,f.jsx)(p.Camera,{className:`zui:size-4`}),onClick:X}):null,D?(0,f.jsx)(i.default,{variant:`danger`,kind:`cancel`,label:P.removeImage,className:`zui:mobile:flex-1`,icon:(0,f.jsx)(p.Trash2,{className:`zui:size-4`}),onClick:()=>{H(!1),D()}}):null]})]})})})})]})}function _({src:e,fallbackSrc:n,alt:r}){let{messages:i}=t.useZuiConfig(),[a,o]=d.useState(()=>new Set),s=[e,n].find(e=>!!e&&!a.has(e));return s?(0,f.jsx)(`img`,{src:s,alt:r,draggable:!1,onError:()=>o(e=>new Set(e).add(s)),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)]`}):(0,f.jsxs)(`div`,{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)]`,children:[(0,f.jsx)(p.ImageOff,{className:`zui:size-10`,"aria-hidden":`true`}),(0,f.jsx)(`span`,{className:`zui:text-sm`,children:i.avatar.imageLoadFailed})]})}function v({items:e,children:i,max:a,size:s=`default`,shape:c=`circle`,showTooltip:u=!0,className:p},m){let{messages:g,digits:_,dir:v}=t.useZuiConfig(),b=d.useMemo(()=>({size:s,shape:c}),[s,c]),x=e?e.map(({key:e,...t},n)=>(0,f.jsx)(y,{showTooltip:u,...t},e??`${t.name??`avatar`}-${n}`)):d.Children.toArray(i).filter(d.isValidElement),S=a!==void 0&&a>0&&x.length>a?a:x.length,C=x.length-S,w=e?e.slice(S).map(e=>e.name).filter(e=>!!e):[],T=(0,f.jsx)(`span`,{role:`img`,"aria-label":g.avatar.othersCount(n.localizeDigits(String(C),_)),className:r.cn(l.avatarVariants({size:s,shape:c}),`zui:ring-2 zui:ring-[var(--zui-color-surface)]`),children:(0,f.jsx)(`span`,{"aria-hidden":`true`,children:n.localizeDigits(`+${C}`,_)})});return(0,f.jsx)(h.Provider,{value:b,children:(0,f.jsxs)(`div`,{ref:m,"data-slot":`avatar-group`,dir:v,className:r.cn(`zui:inline-flex zui:items-center zui:[&>*]:relative zui:[&>*:hover]:z-10 zui:[&>*:focus-within]:z-10`,l.avatarGroupOverlapBySize[s],p),children:[x.slice(0,S),C>0?u&&w.length>0?(0,f.jsx)(o.default,{text:w.join(g.avatar.listSeparator),position:`top`,trigger:T}):T:null]})})}var y=d.forwardRef(g);y.displayName=`Avatar`;var b=d.forwardRef(v);b.displayName=`AvatarGroup`,exports.AvatarGroup=b,exports.default=y;
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ import type { AvatarGroupProps, AvatarProps } from "./Avatar.interface.cjs";
3
+ declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
4
+ declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ export { AvatarGroup };
6
+ export default Avatar;
@@ -1,5 +1,6 @@
1
- import type { AvatarGroupProps, AvatarProps } from "./Avatar.interface";
2
- declare function Avatar({ src, alt, name, fallback, size: sizeProp, shape: shapeProp, status, showTooltip, previewable, previewSrc, onClick, onImageSelect, onImageRemove, accept, maxSizeKb, onReject, className, }: AvatarProps): import("react/jsx-runtime").JSX.Element;
3
- declare function AvatarGroup({ items, children, max, size, shape, showTooltip, className, }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
1
+ import * as React from "react";
2
+ import type { AvatarGroupProps, AvatarProps } from "./Avatar.interface.js";
3
+ declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
4
+ declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & React.RefAttributes<HTMLDivElement>>;
4
5
  export { AvatarGroup };
5
6
  export default Avatar;