@mdigital_ui/ui 0.3.5 → 0.3.7

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 (332) hide show
  1. package/dist/accordion/index.d.ts +6 -0
  2. package/dist/accordion/index.d.ts.map +1 -0
  3. package/dist/accordion/types.d.ts +125 -0
  4. package/dist/accordion/types.d.ts.map +1 -0
  5. package/dist/avatar/index.d.ts +14 -0
  6. package/dist/avatar/index.d.ts.map +1 -0
  7. package/dist/avatar/types.d.ts +147 -0
  8. package/dist/avatar/types.d.ts.map +1 -0
  9. package/dist/badge/index.d.ts +28 -0
  10. package/dist/badge/index.d.ts.map +1 -0
  11. package/dist/badge/types.d.ts +97 -0
  12. package/dist/badge/types.d.ts.map +1 -0
  13. package/dist/breadcrumbs/index.d.ts +13 -0
  14. package/dist/breadcrumbs/index.d.ts.map +1 -0
  15. package/dist/breadcrumbs/types.d.ts +118 -0
  16. package/dist/breadcrumbs/types.d.ts.map +1 -0
  17. package/dist/button/index.d.ts +6 -0
  18. package/dist/button/index.d.ts.map +1 -0
  19. package/dist/button/index.js +1 -1
  20. package/dist/button/types.d.ts +85 -0
  21. package/dist/button/types.d.ts.map +1 -0
  22. package/dist/button-group/index.d.ts +34 -0
  23. package/dist/button-group/index.d.ts.map +1 -0
  24. package/dist/button-group/types.d.ts +75 -0
  25. package/dist/button-group/types.d.ts.map +1 -0
  26. package/dist/card/index.d.ts +71 -0
  27. package/dist/card/index.d.ts.map +1 -0
  28. package/dist/card/types.d.ts +136 -0
  29. package/dist/card/types.d.ts.map +1 -0
  30. package/dist/carousel/carousel-navigation.d.ts +9 -0
  31. package/dist/carousel/carousel-navigation.d.ts.map +1 -0
  32. package/dist/carousel/index.d.ts +50 -0
  33. package/dist/carousel/index.d.ts.map +1 -0
  34. package/dist/cascader/index.d.ts +27 -0
  35. package/dist/cascader/index.d.ts.map +1 -0
  36. package/dist/cascader/types.d.ts +220 -0
  37. package/dist/cascader/types.d.ts.map +1 -0
  38. package/dist/checkbox/index.d.ts +6 -0
  39. package/dist/checkbox/index.d.ts.map +1 -0
  40. package/dist/checkbox/index.js +1 -1
  41. package/dist/checkbox/types.d.ts +21 -0
  42. package/dist/checkbox/types.d.ts.map +1 -0
  43. package/dist/checkbox-group/index.d.ts +6 -0
  44. package/dist/checkbox-group/index.d.ts.map +1 -0
  45. package/dist/checkbox-group/types.d.ts +43 -0
  46. package/dist/checkbox-group/types.d.ts.map +1 -0
  47. package/dist/{chunk-U5GAFTEM.js → chunk-56BHCAPI.js} +5 -2
  48. package/dist/chunk-56BHCAPI.js.map +1 -0
  49. package/dist/{chunk-XVRNFPBI.js → chunk-FCODTRKL.js} +3 -3
  50. package/dist/{chunk-XVRNFPBI.js.map → chunk-FCODTRKL.js.map} +1 -1
  51. package/dist/{chunk-NQACKYGF.js → chunk-IAQDQN6W.js} +4 -4
  52. package/dist/{chunk-NQACKYGF.js.map → chunk-IAQDQN6W.js.map} +1 -1
  53. package/dist/{chunk-F3OLZMGO.js → chunk-L76WWJGR.js} +6 -3
  54. package/dist/chunk-L76WWJGR.js.map +1 -0
  55. package/dist/{chunk-TBH7QF26.js → chunk-MGKFJWQU.js} +3 -10
  56. package/dist/chunk-MGKFJWQU.js.map +1 -0
  57. package/dist/{chunk-XR4UHTK3.js → chunk-S2DZXTRN.js} +3 -3
  58. package/dist/{chunk-XR4UHTK3.js.map → chunk-S2DZXTRN.js.map} +1 -1
  59. package/dist/{chunk-QNPE63O6.js → chunk-WMTEAMPB.js} +7 -7
  60. package/dist/{chunk-QNPE63O6.js.map → chunk-WMTEAMPB.js.map} +1 -1
  61. package/dist/clipboard/index.d.ts +6 -0
  62. package/dist/clipboard/index.d.ts.map +1 -0
  63. package/dist/clipboard/types.d.ts +65 -0
  64. package/dist/clipboard/types.d.ts.map +1 -0
  65. package/dist/collapse/index.d.ts +6 -0
  66. package/dist/collapse/index.d.ts.map +1 -0
  67. package/dist/collapse/types.d.ts +60 -0
  68. package/dist/collapse/types.d.ts.map +1 -0
  69. package/dist/command/index.d.ts +74 -0
  70. package/dist/command/index.d.ts.map +1 -0
  71. package/dist/command/types.d.ts +24 -0
  72. package/dist/command/types.d.ts.map +1 -0
  73. package/dist/context-menu/index.d.ts +63 -0
  74. package/dist/context-menu/index.d.ts.map +1 -0
  75. package/dist/context-menu/types.d.ts +109 -0
  76. package/dist/context-menu/types.d.ts.map +1 -0
  77. package/dist/date-picker/index.d.ts +12 -0
  78. package/dist/date-picker/index.d.ts.map +1 -0
  79. package/dist/date-picker/types.d.ts +66 -0
  80. package/dist/date-picker/types.d.ts.map +1 -0
  81. package/dist/date-picker/utils.d.ts +10 -0
  82. package/dist/date-picker/utils.d.ts.map +1 -0
  83. package/dist/descriptions/index.d.ts +6 -0
  84. package/dist/descriptions/index.d.ts.map +1 -0
  85. package/dist/descriptions/types.d.ts +34 -0
  86. package/dist/descriptions/types.d.ts.map +1 -0
  87. package/dist/divider/index.d.ts +39 -0
  88. package/dist/divider/index.d.ts.map +1 -0
  89. package/dist/divider/types.d.ts +63 -0
  90. package/dist/divider/types.d.ts.map +1 -0
  91. package/dist/drawer/index.d.ts +23 -0
  92. package/dist/drawer/index.d.ts.map +1 -0
  93. package/dist/drawer/types.d.ts +309 -0
  94. package/dist/drawer/types.d.ts.map +1 -0
  95. package/dist/dropdown/index.d.ts +6 -0
  96. package/dist/dropdown/index.d.ts.map +1 -0
  97. package/dist/dropdown/types.d.ts +116 -0
  98. package/dist/dropdown/types.d.ts.map +1 -0
  99. package/dist/empty/index.d.ts +6 -0
  100. package/dist/empty/index.d.ts.map +1 -0
  101. package/dist/empty/types.d.ts +62 -0
  102. package/dist/empty/types.d.ts.map +1 -0
  103. package/dist/fetching-overlay/index.d.ts +10 -0
  104. package/dist/fetching-overlay/index.d.ts.map +1 -0
  105. package/dist/float-input/index.d.ts +6 -0
  106. package/dist/float-input/index.d.ts.map +1 -0
  107. package/dist/float-input/types.d.ts +23 -0
  108. package/dist/float-input/types.d.ts.map +1 -0
  109. package/dist/form/index.d.ts +31 -0
  110. package/dist/form/index.d.ts.map +1 -0
  111. package/dist/form/types.d.ts +45 -0
  112. package/dist/form/types.d.ts.map +1 -0
  113. package/dist/grid/index.d.ts +6 -0
  114. package/dist/grid/index.d.ts.map +1 -0
  115. package/dist/grid/types.d.ts +21 -0
  116. package/dist/grid/types.d.ts.map +1 -0
  117. package/dist/image/index.d.ts +6 -0
  118. package/dist/image/index.d.ts.map +1 -0
  119. package/dist/image/types.d.ts +53 -0
  120. package/dist/image/types.d.ts.map +1 -0
  121. package/dist/index.d.ts +139 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +11 -11
  124. package/dist/input/index.d.ts +6 -0
  125. package/dist/input/index.d.ts.map +1 -0
  126. package/dist/input/types.d.ts +28 -0
  127. package/dist/input/types.d.ts.map +1 -0
  128. package/dist/input-group/index.d.ts +9 -0
  129. package/dist/input-group/index.d.ts.map +1 -0
  130. package/dist/input-group/types.d.ts +68 -0
  131. package/dist/input-group/types.d.ts.map +1 -0
  132. package/dist/input-otp/index.d.ts +7 -0
  133. package/dist/input-otp/index.d.ts.map +1 -0
  134. package/dist/input-otp/types.d.ts +111 -0
  135. package/dist/input-otp/types.d.ts.map +1 -0
  136. package/dist/input-password/index.d.ts +6 -0
  137. package/dist/input-password/index.d.ts.map +1 -0
  138. package/dist/input-password/index.js +1 -1
  139. package/dist/input-password/types.d.ts +16 -0
  140. package/dist/input-password/types.d.ts.map +1 -0
  141. package/dist/kbd/index.d.ts +6 -0
  142. package/dist/kbd/index.d.ts.map +1 -0
  143. package/dist/kbd/types.d.ts +26 -0
  144. package/dist/kbd/types.d.ts.map +1 -0
  145. package/dist/link/index.d.ts +9 -0
  146. package/dist/link/index.d.ts.map +1 -0
  147. package/dist/link/types.d.ts +30 -0
  148. package/dist/link/types.d.ts.map +1 -0
  149. package/dist/menubar/index.d.ts +6 -0
  150. package/dist/menubar/index.d.ts.map +1 -0
  151. package/dist/menubar/types.d.ts +40 -0
  152. package/dist/menubar/types.d.ts.map +1 -0
  153. package/dist/modal/index.d.ts +39 -0
  154. package/dist/modal/index.d.ts.map +1 -0
  155. package/dist/modal/types.d.ts +77 -0
  156. package/dist/modal/types.d.ts.map +1 -0
  157. package/dist/multi-select/index.d.ts +6 -0
  158. package/dist/multi-select/index.d.ts.map +1 -0
  159. package/dist/multi-select/types.d.ts +81 -0
  160. package/dist/multi-select/types.d.ts.map +1 -0
  161. package/dist/multi-select/utils.d.ts +12 -0
  162. package/dist/multi-select/utils.d.ts.map +1 -0
  163. package/dist/navigation-menu/index.d.ts +5 -0
  164. package/dist/navigation-menu/index.d.ts.map +1 -0
  165. package/dist/navigation-menu/types.d.ts +37 -0
  166. package/dist/navigation-menu/types.d.ts.map +1 -0
  167. package/dist/notification/index.d.ts +6 -0
  168. package/dist/notification/index.d.ts.map +1 -0
  169. package/dist/notification/types.d.ts +90 -0
  170. package/dist/notification/types.d.ts.map +1 -0
  171. package/dist/number-input/index.d.ts +6 -0
  172. package/dist/number-input/index.d.ts.map +1 -0
  173. package/dist/number-input/types.d.ts +28 -0
  174. package/dist/number-input/types.d.ts.map +1 -0
  175. package/dist/pagination/index.d.ts +6 -0
  176. package/dist/pagination/index.d.ts.map +1 -0
  177. package/dist/pagination/types.d.ts +87 -0
  178. package/dist/pagination/types.d.ts.map +1 -0
  179. package/dist/popover/index.d.ts +19 -0
  180. package/dist/popover/index.d.ts.map +1 -0
  181. package/dist/popover/types.d.ts +31 -0
  182. package/dist/popover/types.d.ts.map +1 -0
  183. package/dist/progress/index.d.ts +6 -0
  184. package/dist/progress/index.d.ts.map +1 -0
  185. package/dist/progress/types.d.ts +100 -0
  186. package/dist/progress/types.d.ts.map +1 -0
  187. package/dist/radio/index.d.ts +6 -0
  188. package/dist/radio/index.d.ts.map +1 -0
  189. package/dist/radio/index.js +1 -1
  190. package/dist/radio/types.d.ts +20 -0
  191. package/dist/radio/types.d.ts.map +1 -0
  192. package/dist/radio-group/index.d.ts +6 -0
  193. package/dist/radio-group/index.d.ts.map +1 -0
  194. package/dist/radio-group/types.d.ts +43 -0
  195. package/dist/radio-group/types.d.ts.map +1 -0
  196. package/dist/rating/index.d.ts +6 -0
  197. package/dist/rating/index.d.ts.map +1 -0
  198. package/dist/rating/types.d.ts +64 -0
  199. package/dist/rating/types.d.ts.map +1 -0
  200. package/dist/ribbon/index.d.ts +6 -0
  201. package/dist/ribbon/index.d.ts.map +1 -0
  202. package/dist/ribbon/types.d.ts +26 -0
  203. package/dist/ribbon/types.d.ts.map +1 -0
  204. package/dist/scroll-area/index.d.ts +10 -0
  205. package/dist/scroll-area/index.d.ts.map +1 -0
  206. package/dist/scroll-area/types.d.ts +24 -0
  207. package/dist/scroll-area/types.d.ts.map +1 -0
  208. package/dist/select/index.d.ts +6 -0
  209. package/dist/select/index.d.ts.map +1 -0
  210. package/dist/select/types.d.ts +34 -0
  211. package/dist/select/types.d.ts.map +1 -0
  212. package/dist/skeleton/index.d.ts +6 -0
  213. package/dist/skeleton/index.d.ts.map +1 -0
  214. package/dist/skeleton/types.d.ts +10 -0
  215. package/dist/skeleton/types.d.ts.map +1 -0
  216. package/dist/slider/index.d.ts +6 -0
  217. package/dist/slider/index.d.ts.map +1 -0
  218. package/dist/slider/types.d.ts +70 -0
  219. package/dist/slider/types.d.ts.map +1 -0
  220. package/dist/spinner/index.d.ts +6 -0
  221. package/dist/spinner/index.d.ts.map +1 -0
  222. package/dist/spinner/types.d.ts +10 -0
  223. package/dist/spinner/types.d.ts.map +1 -0
  224. package/dist/stepper/index.d.ts +6 -0
  225. package/dist/stepper/index.d.ts.map +1 -0
  226. package/dist/stepper/types.d.ts +86 -0
  227. package/dist/stepper/types.d.ts.map +1 -0
  228. package/dist/styles/themes/index.d.ts +9 -0
  229. package/dist/styles/themes/index.d.ts.map +1 -0
  230. package/dist/styles/themes/presets/index.d.ts +21 -0
  231. package/dist/styles/themes/presets/index.d.ts.map +1 -0
  232. package/dist/styles/tokens.d.ts +428 -0
  233. package/dist/styles/tokens.d.ts.map +1 -0
  234. package/dist/switch/index.d.ts +6 -0
  235. package/dist/switch/index.d.ts.map +1 -0
  236. package/dist/switch/index.js +1 -1
  237. package/dist/switch/types.d.ts +80 -0
  238. package/dist/switch/types.d.ts.map +1 -0
  239. package/dist/table/EditableCell.d.ts +13 -0
  240. package/dist/table/EditableCell.d.ts.map +1 -0
  241. package/dist/table/TableActions.d.ts +21 -0
  242. package/dist/table/TableActions.d.ts.map +1 -0
  243. package/dist/table/TableCell.d.ts +12 -0
  244. package/dist/table/TableCell.d.ts.map +1 -0
  245. package/dist/table/TableHeaderCell.d.ts +16 -0
  246. package/dist/table/TableHeaderCell.d.ts.map +1 -0
  247. package/dist/table/TableRow.d.ts +16 -0
  248. package/dist/table/TableRow.d.ts.map +1 -0
  249. package/dist/table/TableSkeleton.d.ts +13 -0
  250. package/dist/table/TableSkeleton.d.ts.map +1 -0
  251. package/dist/table/index.d.ts +15 -0
  252. package/dist/table/index.d.ts.map +1 -0
  253. package/dist/table/index.js +3 -3
  254. package/dist/table/types.d.ts +110 -0
  255. package/dist/table/types.d.ts.map +1 -0
  256. package/dist/table/variants.d.ts +8 -0
  257. package/dist/table/variants.d.ts.map +1 -0
  258. package/dist/tabs/index.d.ts +7 -0
  259. package/dist/tabs/index.d.ts.map +1 -0
  260. package/dist/tabs/types.d.ts +86 -0
  261. package/dist/tabs/types.d.ts.map +1 -0
  262. package/dist/tag/index.d.ts +49 -0
  263. package/dist/tag/index.d.ts.map +1 -0
  264. package/dist/tag/types.d.ts +23 -0
  265. package/dist/tag/types.d.ts.map +1 -0
  266. package/dist/textarea/index.d.ts +6 -0
  267. package/dist/textarea/index.d.ts.map +1 -0
  268. package/dist/textarea/types.d.ts +84 -0
  269. package/dist/textarea/types.d.ts.map +1 -0
  270. package/dist/theme/ThemeProvider.d.ts +44 -0
  271. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  272. package/dist/theme/index.d.ts +7 -0
  273. package/dist/theme/index.d.ts.map +1 -0
  274. package/dist/theme/types.d.ts +47 -0
  275. package/dist/theme/types.d.ts.map +1 -0
  276. package/dist/timeline/index.d.ts +13 -0
  277. package/dist/timeline/index.d.ts.map +1 -0
  278. package/dist/timeline/types.d.ts +25 -0
  279. package/dist/timeline/types.d.ts.map +1 -0
  280. package/dist/toast/index.d.ts +12 -0
  281. package/dist/toast/index.d.ts.map +1 -0
  282. package/dist/toast/types.d.ts +49 -0
  283. package/dist/toast/types.d.ts.map +1 -0
  284. package/dist/toggle/index.d.ts +6 -0
  285. package/dist/toggle/index.d.ts.map +1 -0
  286. package/dist/toggle/types.d.ts +57 -0
  287. package/dist/toggle/types.d.ts.map +1 -0
  288. package/dist/toggle-group/index.d.ts +6 -0
  289. package/dist/toggle-group/index.d.ts.map +1 -0
  290. package/dist/toggle-group/types.d.ts +80 -0
  291. package/dist/toggle-group/types.d.ts.map +1 -0
  292. package/dist/tooltip/index.d.ts +9 -0
  293. package/dist/tooltip/index.d.ts.map +1 -0
  294. package/dist/tooltip/types.d.ts +72 -0
  295. package/dist/tooltip/types.d.ts.map +1 -0
  296. package/dist/transfer/index.d.ts +6 -0
  297. package/dist/transfer/index.d.ts.map +1 -0
  298. package/dist/transfer/index.js +2 -2
  299. package/dist/transfer/types.d.ts +83 -0
  300. package/dist/transfer/types.d.ts.map +1 -0
  301. package/dist/transfer/utils.d.ts +13 -0
  302. package/dist/transfer/utils.d.ts.map +1 -0
  303. package/dist/tree/index.d.ts +6 -0
  304. package/dist/tree/index.d.ts.map +1 -0
  305. package/dist/tree/types.d.ts +143 -0
  306. package/dist/tree/types.d.ts.map +1 -0
  307. package/dist/tree-select/index.d.ts +6 -0
  308. package/dist/tree-select/index.d.ts.map +1 -0
  309. package/dist/tree-select/types.d.ts +147 -0
  310. package/dist/tree-select/types.d.ts.map +1 -0
  311. package/dist/types.d.ts +53 -0
  312. package/dist/types.d.ts.map +1 -0
  313. package/dist/upload/index.d.ts +7 -0
  314. package/dist/upload/index.d.ts.map +1 -0
  315. package/dist/upload/types.d.ts +94 -0
  316. package/dist/upload/types.d.ts.map +1 -0
  317. package/dist/upload/utils.d.ts +26 -0
  318. package/dist/upload/utils.d.ts.map +1 -0
  319. package/dist/utils.d.ts +63 -0
  320. package/dist/utils.d.ts.map +1 -0
  321. package/dist/variants.d.ts +434 -0
  322. package/dist/variants.d.ts.map +1 -0
  323. package/package.json +9 -8
  324. package/styles/global.css +7543 -0
  325. package/styles/themes/dark.css +93 -0
  326. package/styles/themes/light.css +89 -0
  327. package/styles/themes/presets/corporate.css +126 -0
  328. package/styles/themes/presets/minimal.css +126 -0
  329. package/styles/themes/presets/vibrant.css +126 -0
  330. package/dist/chunk-F3OLZMGO.js.map +0 -1
  331. package/dist/chunk-TBH7QF26.js.map +0 -1
  332. package/dist/chunk-U5GAFTEM.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/transfer/utils.ts","../src/transfer/index.tsx"],"names":[],"mappings":"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","file":"chunk-XR4UHTK3.js","sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport type { TransferItem } from './types'\n\nexport const transferHeaderVariants = cva(\n 'flex items-center justify-between px-4 py-2 border-b border-border bg-surface',\n)\n\nexport const transferBodyVariants = cva('overflow-y-auto')\n\nexport const transferItemVariants = cva(\n 'flex items-center gap-2 px-4 py-2 cursor-pointer transition-colors hover:bg-surface',\n {\n variants: {\n selected: {\n true: 'bg-primary/10',\n false: '',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed hover:bg-transparent',\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n },\n },\n)\n\nexport const transferButtonVariants = cva('flex flex-col gap-2')\n\nexport const transferActionButtonVariants = cva(\n 'flex items-center justify-center p-2 rounded-md border border-border bg-background text-text-secondary hover:bg-primary hover:text-white hover:border-primary transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-background disabled:hover:text-text-secondary disabled:hover:border-border',\n)\n\nexport const filterItems = (\n items: TransferItem[],\n searchValue: string,\n): TransferItem[] => {\n if (!searchValue) return items\n\n const lowerSearch = searchValue.toLowerCase()\n return items.filter(\n (item) =>\n item.label.toLowerCase().includes(lowerSearch) ||\n item.description?.toLowerCase().includes(lowerSearch),\n )\n}\n\nexport const getItemsByKeys = (\n items: TransferItem[],\n keys: string[],\n): TransferItem[] => {\n return items.filter((item) => keys.includes(item.key))\n}\n\nexport const getEnabledItems = (items: TransferItem[]): TransferItem[] => {\n return items.filter((item) => !item.disabled)\n}\n","'use client'\n\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n Search,\n} from 'lucide-react'\nimport React from 'react'\n\nimport Checkbox from '../checkbox'\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from '../utils'\nimport type { TransferItem, TransferListProps, TransferProps } from './types'\nimport {\n filterItems,\n getEnabledItems,\n getItemsByKeys,\n transferActionButtonVariants,\n transferBodyVariants,\n transferButtonVariants,\n transferHeaderVariants,\n transferItemVariants,\n} from './utils'\n\nconst TransferList = React.memo<TransferListProps>(\n ({\n title,\n dataSource,\n selectedKeys,\n disabled = false,\n showSearch = false,\n searchPlaceholder = 'Search...',\n listHeight = 300,\n showSelectAll = true,\n onItemSelect,\n onItemSelectAll,\n onSearch,\n render,\n footer,\n classNames,\n }) => {\n const [searchValue, setSearchValue] = React.useState('')\n\n const filteredData = React.useMemo(\n () => filterItems(dataSource, searchValue),\n [dataSource, searchValue],\n )\n\n const enabledItems = React.useMemo(\n () => getEnabledItems(filteredData),\n [filteredData],\n )\n\n const selectedCount = React.useMemo(\n () =>\n filteredData.filter((item) => selectedKeys.includes(item.key)).length,\n [filteredData, selectedKeys],\n )\n\n const allChecked =\n enabledItems.length > 0 && selectedCount === enabledItems.length\n const indeterminate =\n selectedCount > 0 && selectedCount < enabledItems.length\n\n const handleSearchChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value\n setSearchValue(value)\n onSearch?.(value)\n },\n [onSearch],\n )\n\n const handleSelectAll = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked\n const keys = enabledItems.map((item) => item.key)\n onItemSelectAll(keys, checked)\n },\n [enabledItems, onItemSelectAll],\n )\n\n const handleItemSelect = React.useCallback(\n (item: TransferItem) => {\n if (item.disabled) return\n const checked = !selectedKeys.includes(item.key)\n onItemSelect(item.key, checked)\n },\n [selectedKeys, onItemSelect],\n )\n\n return (\n <div className={cn(\"flex flex-col border border-border rounded-lg bg-card overflow-hidden min-w-72 transfer_list\", classNames?.list)}>\n {/* Header */}\n <div className={cn(transferHeaderVariants(), \"transfer_header\", classNames?.header)}>\n <div className=\"flex items-center gap-2 flex-1\">\n {showSelectAll && (\n <Checkbox\n checked={allChecked}\n indeterminate={indeterminate}\n onChange={handleSelectAll}\n disabled={disabled || enabledItems.length === 0}\n size=\"sm\"\n />\n )}\n <span className=\"text-sm font-medium text-text-primary\">\n {title}\n <span className=\"text-text-secondary ml-1\">\n ({selectedCount}/{filteredData.length})\n </span>\n </span>\n </div>\n </div>\n\n {/* Search */}\n {showSearch && (\n <div className=\"p-2 border-b border-border\">\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-text-secondary\" />\n <input\n type=\"text\"\n className={cn(\"w-full pl-8 pr-3 py-1.5 text-sm bg-background border border-border rounded-md outline-none focus:border-primary transition-colors transfer_search\", classNames?.search)}\n placeholder={searchPlaceholder}\n value={searchValue}\n onChange={handleSearchChange}\n disabled={disabled}\n />\n </div>\n </div>\n )}\n\n {/* Body */}\n <div\n className={transferBodyVariants()}\n style={{ height: listHeight }}\n >\n {filteredData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-sm text-text-secondary\">\n No data\n </div>\n ) : (\n filteredData.map((item) => (\n <div\n key={item.key}\n className={cn(\n transferItemVariants({\n selected: selectedKeys.includes(item.key),\n disabled: !!item.disabled || disabled,\n }),\n \"transfer_item\",\n classNames?.item\n )}\n onClick={() => handleItemSelect(item)}\n >\n <Checkbox\n checked={selectedKeys.includes(item.key)}\n disabled={!!item.disabled || disabled}\n size=\"sm\"\n onChange={() => {}} // Handled by parent click\n />\n {render ? (\n render(item)\n ) : (\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-sm text-text-primary truncate\">\n {item.label}\n </div>\n {item.description && (\n <div className=\"text-xs text-text-secondary truncate\">\n {item.description}\n </div>\n )}\n </div>\n )}\n </div>\n ))\n )}\n </div>\n\n {/* Footer */}\n {footer && (\n <div className=\"px-4 py-2 border-t border-border bg-surface text-sm text-text-secondary\">\n {footer}\n </div>\n )}\n </div>\n )\n },\n)\n\nTransferList.displayName = 'TransferList'\n\nexport const Transfer = React.memo<TransferProps>(\n ({\n dataSource = [],\n targetKeys,\n defaultTargetKeys = [],\n titles = ['Source', 'Target'],\n size = 'md',\n showSearch = false,\n searchPlaceholder = 'Search...',\n listHeight = 300,\n showSelectAll = true,\n oneWay = false,\n disabled = false,\n render,\n footer,\n onChange,\n onSelectChange,\n onSearch,\n label,\n helperText,\n error,\n warning,\n info,\n success,\n className,\n classNames,\n ref,\n }) => {\n const [internalTargetKeys, setInternalTargetKeys] =\n React.useState<string[]>(defaultTargetKeys)\n const [leftSelectedKeys, setLeftSelectedKeys] = React.useState<string[]>([])\n const [rightSelectedKeys, setRightSelectedKeys] = React.useState<string[]>(\n [],\n )\n\n const currentTargetKeys =\n targetKeys !== undefined ? targetKeys : internalTargetKeys\n\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n })\n\n // Split data into source and target\n const leftDataSource = React.useMemo(\n () => dataSource.filter((item) => !currentTargetKeys.includes(item.key)),\n [dataSource, currentTargetKeys],\n )\n\n const rightDataSource = React.useMemo(\n () => getItemsByKeys(dataSource, currentTargetKeys),\n [dataSource, currentTargetKeys],\n )\n\n const handleLeftItemSelect = React.useCallback(\n (key: string, checked: boolean) => {\n const newKeys = checked\n ? [...leftSelectedKeys, key]\n : leftSelectedKeys.filter((k) => k !== key)\n setLeftSelectedKeys(newKeys)\n onSelectChange?.(newKeys, rightSelectedKeys)\n },\n [leftSelectedKeys, rightSelectedKeys, onSelectChange],\n )\n\n const handleRightItemSelect = React.useCallback(\n (key: string, checked: boolean) => {\n const newKeys = checked\n ? [...rightSelectedKeys, key]\n : rightSelectedKeys.filter((k) => k !== key)\n setRightSelectedKeys(newKeys)\n onSelectChange?.(leftSelectedKeys, newKeys)\n },\n [leftSelectedKeys, rightSelectedKeys, onSelectChange],\n )\n\n const handleLeftSelectAll = React.useCallback(\n (keys: string[], checked: boolean) => {\n const newKeys = checked ? keys : []\n setLeftSelectedKeys(newKeys)\n onSelectChange?.(newKeys, rightSelectedKeys)\n },\n [rightSelectedKeys, onSelectChange],\n )\n\n const handleRightSelectAll = React.useCallback(\n (keys: string[], checked: boolean) => {\n const newKeys = checked ? keys : []\n setRightSelectedKeys(newKeys)\n onSelectChange?.(leftSelectedKeys, newKeys)\n },\n [leftSelectedKeys, onSelectChange],\n )\n\n const moveToRight = React.useCallback(() => {\n const newTargetKeys = [...currentTargetKeys, ...leftSelectedKeys]\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'right', leftSelectedKeys)\n setLeftSelectedKeys([])\n }, [currentTargetKeys, leftSelectedKeys, targetKeys, onChange])\n\n const moveToLeft = React.useCallback(() => {\n const newTargetKeys = currentTargetKeys.filter(\n (key) => !rightSelectedKeys.includes(key),\n )\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'left', rightSelectedKeys)\n setRightSelectedKeys([])\n }, [currentTargetKeys, rightSelectedKeys, targetKeys, onChange])\n\n const moveAllToRight = React.useCallback(() => {\n const enabledLeftItems = getEnabledItems(leftDataSource)\n const keysToMove = enabledLeftItems.map((item) => item.key)\n const newTargetKeys = [...currentTargetKeys, ...keysToMove]\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'right', keysToMove)\n setLeftSelectedKeys([])\n }, [leftDataSource, currentTargetKeys, targetKeys, onChange])\n\n const moveAllToLeft = React.useCallback(() => {\n const enabledRightItems = getEnabledItems(rightDataSource)\n const keysToMove = enabledRightItems.map((item) => item.key)\n const newTargetKeys = currentTargetKeys.filter(\n (key) => !keysToMove.includes(key),\n )\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'left', keysToMove)\n setRightSelectedKeys([])\n }, [rightDataSource, currentTargetKeys, targetKeys, onChange])\n\n const leftFooter = footer?.({ direction: 'left' })\n const rightFooter = footer?.({ direction: 'right' })\n\n return (\n <div ref={ref}>\n {label && (\n <label className=\"block mb-2\">\n <span className=\"text-sm font-medium text-text-secondary\">{label}</span>\n </label>\n )}\n\n <div className={cn('flex items-center gap-4 transfer_root', classNames?.root, className)}>\n {/* Left List */}\n <TransferList\n title={titles[0]}\n dataSource={leftDataSource}\n selectedKeys={leftSelectedKeys}\n disabled={disabled}\n showSearch={showSearch}\n searchPlaceholder={searchPlaceholder}\n listHeight={listHeight}\n showSelectAll={showSelectAll}\n direction=\"left\"\n onItemSelect={handleLeftItemSelect}\n onItemSelectAll={handleLeftSelectAll}\n onSearch={(value) => onSearch?.('left', value)}\n render={render}\n footer={leftFooter}\n size={size}\n classNames={classNames}\n />\n\n {/* Action Buttons */}\n <div className={cn(transferButtonVariants(), \"transfer_actions\", classNames?.actions)}>\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveToRight}\n disabled={disabled || leftSelectedKeys.length === 0}\n title=\"Move selected to right\"\n >\n <ChevronRight className={iconSizes[size]} />\n </button>\n {!oneWay && (\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveToLeft}\n disabled={disabled || rightSelectedKeys.length === 0}\n title=\"Move selected to left\"\n >\n <ChevronLeft className={iconSizes[size]} />\n </button>\n )}\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveAllToRight}\n disabled={disabled || leftDataSource.length === 0}\n title=\"Move all to right\"\n >\n <ChevronsRight className={iconSizes[size]} />\n </button>\n {!oneWay && (\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveAllToLeft}\n disabled={disabled || rightDataSource.length === 0}\n title=\"Move all to left\"\n >\n <ChevronsLeft className={iconSizes[size]} />\n </button>\n )}\n </div>\n\n {/* Right List */}\n <TransferList\n title={titles[1]}\n dataSource={rightDataSource}\n selectedKeys={rightSelectedKeys}\n disabled={disabled}\n showSearch={showSearch}\n searchPlaceholder={searchPlaceholder}\n listHeight={listHeight}\n showSelectAll={showSelectAll}\n direction=\"right\"\n onItemSelect={handleRightItemSelect}\n onItemSelectAll={handleRightSelectAll}\n onSearch={(value) => onSearch?.('right', value)}\n render={render}\n footer={rightFooter}\n size={size}\n classNames={classNames}\n />\n </div>\n\n {helperMessage && (\n <p className={cn(statusMessageVariants({ status }), 'mt-1')}>\n {helperMessage}\n </p>\n )}\n </div>\n )\n },\n)\n\nTransfer.displayName = 'Transfer'\n\nexport type * from './types'\nexport type * from './types'\n"]}
1
+ {"version":3,"sources":["../src/transfer/utils.ts","../src/transfer/index.tsx"],"names":[],"mappings":"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","file":"chunk-S2DZXTRN.js","sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport type { TransferItem } from './types'\n\nexport const transferHeaderVariants = cva(\n 'flex items-center justify-between px-4 py-2 border-b border-border bg-surface',\n)\n\nexport const transferBodyVariants = cva('overflow-y-auto')\n\nexport const transferItemVariants = cva(\n 'flex items-center gap-2 px-4 py-2 cursor-pointer transition-colors hover:bg-surface',\n {\n variants: {\n selected: {\n true: 'bg-primary/10',\n false: '',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed hover:bg-transparent',\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n },\n },\n)\n\nexport const transferButtonVariants = cva('flex flex-col gap-2')\n\nexport const transferActionButtonVariants = cva(\n 'flex items-center justify-center p-2 rounded-md border border-border bg-background text-text-secondary hover:bg-primary hover:text-white hover:border-primary transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-background disabled:hover:text-text-secondary disabled:hover:border-border',\n)\n\nexport const filterItems = (\n items: TransferItem[],\n searchValue: string,\n): TransferItem[] => {\n if (!searchValue) return items\n\n const lowerSearch = searchValue.toLowerCase()\n return items.filter(\n (item) =>\n item.label.toLowerCase().includes(lowerSearch) ||\n item.description?.toLowerCase().includes(lowerSearch),\n )\n}\n\nexport const getItemsByKeys = (\n items: TransferItem[],\n keys: string[],\n): TransferItem[] => {\n return items.filter((item) => keys.includes(item.key))\n}\n\nexport const getEnabledItems = (items: TransferItem[]): TransferItem[] => {\n return items.filter((item) => !item.disabled)\n}\n","'use client'\n\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n Search,\n} from 'lucide-react'\nimport React from 'react'\n\nimport Checkbox from '../checkbox'\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from '../utils'\nimport type { TransferItem, TransferListProps, TransferProps } from './types'\nimport {\n filterItems,\n getEnabledItems,\n getItemsByKeys,\n transferActionButtonVariants,\n transferBodyVariants,\n transferButtonVariants,\n transferHeaderVariants,\n transferItemVariants,\n} from './utils'\n\nconst TransferList = React.memo<TransferListProps>(\n ({\n title,\n dataSource,\n selectedKeys,\n disabled = false,\n showSearch = false,\n searchPlaceholder = 'Search...',\n listHeight = 300,\n showSelectAll = true,\n onItemSelect,\n onItemSelectAll,\n onSearch,\n render,\n footer,\n classNames,\n }) => {\n const [searchValue, setSearchValue] = React.useState('')\n\n const filteredData = React.useMemo(\n () => filterItems(dataSource, searchValue),\n [dataSource, searchValue],\n )\n\n const enabledItems = React.useMemo(\n () => getEnabledItems(filteredData),\n [filteredData],\n )\n\n const selectedCount = React.useMemo(\n () =>\n filteredData.filter((item) => selectedKeys.includes(item.key)).length,\n [filteredData, selectedKeys],\n )\n\n const allChecked =\n enabledItems.length > 0 && selectedCount === enabledItems.length\n const indeterminate =\n selectedCount > 0 && selectedCount < enabledItems.length\n\n const handleSearchChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value\n setSearchValue(value)\n onSearch?.(value)\n },\n [onSearch],\n )\n\n const handleSelectAll = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked\n const keys = enabledItems.map((item) => item.key)\n onItemSelectAll(keys, checked)\n },\n [enabledItems, onItemSelectAll],\n )\n\n const handleItemSelect = React.useCallback(\n (item: TransferItem) => {\n if (item.disabled) return\n const checked = !selectedKeys.includes(item.key)\n onItemSelect(item.key, checked)\n },\n [selectedKeys, onItemSelect],\n )\n\n return (\n <div className={cn(\"flex flex-col border border-border rounded-lg bg-card overflow-hidden min-w-72 transfer_list\", classNames?.list)}>\n {/* Header */}\n <div className={cn(transferHeaderVariants(), \"transfer_header\", classNames?.header)}>\n <div className=\"flex items-center gap-2 flex-1\">\n {showSelectAll && (\n <Checkbox\n checked={allChecked}\n indeterminate={indeterminate}\n onChange={handleSelectAll}\n disabled={disabled || enabledItems.length === 0}\n size=\"sm\"\n />\n )}\n <span className=\"text-sm font-medium text-text-primary\">\n {title}\n <span className=\"text-text-secondary ml-1\">\n ({selectedCount}/{filteredData.length})\n </span>\n </span>\n </div>\n </div>\n\n {/* Search */}\n {showSearch && (\n <div className=\"p-2 border-b border-border\">\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-text-secondary\" />\n <input\n type=\"text\"\n className={cn(\"w-full pl-8 pr-3 py-1.5 text-sm bg-background border border-border rounded-md outline-none focus:border-primary transition-colors transfer_search\", classNames?.search)}\n placeholder={searchPlaceholder}\n value={searchValue}\n onChange={handleSearchChange}\n disabled={disabled}\n />\n </div>\n </div>\n )}\n\n {/* Body */}\n <div\n className={transferBodyVariants()}\n style={{ height: listHeight }}\n >\n {filteredData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-sm text-text-secondary\">\n No data\n </div>\n ) : (\n filteredData.map((item) => (\n <div\n key={item.key}\n className={cn(\n transferItemVariants({\n selected: selectedKeys.includes(item.key),\n disabled: !!item.disabled || disabled,\n }),\n \"transfer_item\",\n classNames?.item\n )}\n onClick={() => handleItemSelect(item)}\n >\n <Checkbox\n checked={selectedKeys.includes(item.key)}\n disabled={!!item.disabled || disabled}\n size=\"sm\"\n onChange={() => {}} // Handled by parent click\n />\n {render ? (\n render(item)\n ) : (\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-sm text-text-primary truncate\">\n {item.label}\n </div>\n {item.description && (\n <div className=\"text-xs text-text-secondary truncate\">\n {item.description}\n </div>\n )}\n </div>\n )}\n </div>\n ))\n )}\n </div>\n\n {/* Footer */}\n {footer && (\n <div className=\"px-4 py-2 border-t border-border bg-surface text-sm text-text-secondary\">\n {footer}\n </div>\n )}\n </div>\n )\n },\n)\n\nTransferList.displayName = 'TransferList'\n\nexport const Transfer = React.memo<TransferProps>(\n ({\n dataSource = [],\n targetKeys,\n defaultTargetKeys = [],\n titles = ['Source', 'Target'],\n size = 'md',\n showSearch = false,\n searchPlaceholder = 'Search...',\n listHeight = 300,\n showSelectAll = true,\n oneWay = false,\n disabled = false,\n render,\n footer,\n onChange,\n onSelectChange,\n onSearch,\n label,\n helperText,\n error,\n warning,\n info,\n success,\n className,\n classNames,\n ref,\n }) => {\n const [internalTargetKeys, setInternalTargetKeys] =\n React.useState<string[]>(defaultTargetKeys)\n const [leftSelectedKeys, setLeftSelectedKeys] = React.useState<string[]>([])\n const [rightSelectedKeys, setRightSelectedKeys] = React.useState<string[]>(\n [],\n )\n\n const currentTargetKeys =\n targetKeys !== undefined ? targetKeys : internalTargetKeys\n\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n })\n\n // Split data into source and target\n const leftDataSource = React.useMemo(\n () => dataSource.filter((item) => !currentTargetKeys.includes(item.key)),\n [dataSource, currentTargetKeys],\n )\n\n const rightDataSource = React.useMemo(\n () => getItemsByKeys(dataSource, currentTargetKeys),\n [dataSource, currentTargetKeys],\n )\n\n const handleLeftItemSelect = React.useCallback(\n (key: string, checked: boolean) => {\n const newKeys = checked\n ? [...leftSelectedKeys, key]\n : leftSelectedKeys.filter((k) => k !== key)\n setLeftSelectedKeys(newKeys)\n onSelectChange?.(newKeys, rightSelectedKeys)\n },\n [leftSelectedKeys, rightSelectedKeys, onSelectChange],\n )\n\n const handleRightItemSelect = React.useCallback(\n (key: string, checked: boolean) => {\n const newKeys = checked\n ? [...rightSelectedKeys, key]\n : rightSelectedKeys.filter((k) => k !== key)\n setRightSelectedKeys(newKeys)\n onSelectChange?.(leftSelectedKeys, newKeys)\n },\n [leftSelectedKeys, rightSelectedKeys, onSelectChange],\n )\n\n const handleLeftSelectAll = React.useCallback(\n (keys: string[], checked: boolean) => {\n const newKeys = checked ? keys : []\n setLeftSelectedKeys(newKeys)\n onSelectChange?.(newKeys, rightSelectedKeys)\n },\n [rightSelectedKeys, onSelectChange],\n )\n\n const handleRightSelectAll = React.useCallback(\n (keys: string[], checked: boolean) => {\n const newKeys = checked ? keys : []\n setRightSelectedKeys(newKeys)\n onSelectChange?.(leftSelectedKeys, newKeys)\n },\n [leftSelectedKeys, onSelectChange],\n )\n\n const moveToRight = React.useCallback(() => {\n const newTargetKeys = [...currentTargetKeys, ...leftSelectedKeys]\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'right', leftSelectedKeys)\n setLeftSelectedKeys([])\n }, [currentTargetKeys, leftSelectedKeys, targetKeys, onChange])\n\n const moveToLeft = React.useCallback(() => {\n const newTargetKeys = currentTargetKeys.filter(\n (key) => !rightSelectedKeys.includes(key),\n )\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'left', rightSelectedKeys)\n setRightSelectedKeys([])\n }, [currentTargetKeys, rightSelectedKeys, targetKeys, onChange])\n\n const moveAllToRight = React.useCallback(() => {\n const enabledLeftItems = getEnabledItems(leftDataSource)\n const keysToMove = enabledLeftItems.map((item) => item.key)\n const newTargetKeys = [...currentTargetKeys, ...keysToMove]\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'right', keysToMove)\n setLeftSelectedKeys([])\n }, [leftDataSource, currentTargetKeys, targetKeys, onChange])\n\n const moveAllToLeft = React.useCallback(() => {\n const enabledRightItems = getEnabledItems(rightDataSource)\n const keysToMove = enabledRightItems.map((item) => item.key)\n const newTargetKeys = currentTargetKeys.filter(\n (key) => !keysToMove.includes(key),\n )\n\n if (targetKeys === undefined) {\n setInternalTargetKeys(newTargetKeys)\n }\n\n onChange?.(newTargetKeys, 'left', keysToMove)\n setRightSelectedKeys([])\n }, [rightDataSource, currentTargetKeys, targetKeys, onChange])\n\n const leftFooter = footer?.({ direction: 'left' })\n const rightFooter = footer?.({ direction: 'right' })\n\n return (\n <div ref={ref}>\n {label && (\n <label className=\"block mb-2\">\n <span className=\"text-sm font-medium text-text-secondary\">{label}</span>\n </label>\n )}\n\n <div className={cn('flex items-center gap-4 transfer_root', classNames?.root, className)}>\n {/* Left List */}\n <TransferList\n title={titles[0]}\n dataSource={leftDataSource}\n selectedKeys={leftSelectedKeys}\n disabled={disabled}\n showSearch={showSearch}\n searchPlaceholder={searchPlaceholder}\n listHeight={listHeight}\n showSelectAll={showSelectAll}\n direction=\"left\"\n onItemSelect={handleLeftItemSelect}\n onItemSelectAll={handleLeftSelectAll}\n onSearch={(value) => onSearch?.('left', value)}\n render={render}\n footer={leftFooter}\n size={size}\n classNames={classNames}\n />\n\n {/* Action Buttons */}\n <div className={cn(transferButtonVariants(), \"transfer_actions\", classNames?.actions)}>\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveToRight}\n disabled={disabled || leftSelectedKeys.length === 0}\n title=\"Move selected to right\"\n >\n <ChevronRight className={iconSizes[size]} />\n </button>\n {!oneWay && (\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveToLeft}\n disabled={disabled || rightSelectedKeys.length === 0}\n title=\"Move selected to left\"\n >\n <ChevronLeft className={iconSizes[size]} />\n </button>\n )}\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveAllToRight}\n disabled={disabled || leftDataSource.length === 0}\n title=\"Move all to right\"\n >\n <ChevronsRight className={iconSizes[size]} />\n </button>\n {!oneWay && (\n <button\n type=\"button\"\n className={transferActionButtonVariants()}\n onClick={moveAllToLeft}\n disabled={disabled || rightDataSource.length === 0}\n title=\"Move all to left\"\n >\n <ChevronsLeft className={iconSizes[size]} />\n </button>\n )}\n </div>\n\n {/* Right List */}\n <TransferList\n title={titles[1]}\n dataSource={rightDataSource}\n selectedKeys={rightSelectedKeys}\n disabled={disabled}\n showSearch={showSearch}\n searchPlaceholder={searchPlaceholder}\n listHeight={listHeight}\n showSelectAll={showSelectAll}\n direction=\"right\"\n onItemSelect={handleRightItemSelect}\n onItemSelectAll={handleRightSelectAll}\n onSearch={(value) => onSearch?.('right', value)}\n render={render}\n footer={rightFooter}\n size={size}\n classNames={classNames}\n />\n </div>\n\n {helperMessage && (\n <p className={cn(statusMessageVariants({ status }), 'mt-1')}>\n {helperMessage}\n </p>\n )}\n </div>\n )\n },\n)\n\nTransfer.displayName = 'Transfer'\n\nexport type * from './types'\nexport type * from './types'\n"]}
@@ -117,18 +117,18 @@ var Switch = React.memo(
117
117
  "input",
118
118
  {
119
119
  ref,
120
- id: inputId,
121
120
  type: "checkbox",
122
121
  className: "peer sr-only",
123
- disabled: isDisabled,
124
122
  role: "switch",
125
123
  "aria-checked": currentChecked,
126
124
  "aria-invalid": !!error || void 0,
127
125
  "aria-describedby": hasHelperText ? helperId : void 0,
128
- checked: currentChecked,
129
- onChange: handleChange,
130
126
  required,
131
- ...props
127
+ ...props,
128
+ id: inputId,
129
+ disabled: isDisabled,
130
+ checked: currentChecked,
131
+ onChange: handleChange
132
132
  }
133
133
  ),
134
134
  /* @__PURE__ */ jsxs(
@@ -250,5 +250,5 @@ Switch.displayName = "Switch";
250
250
  var switch_default = Switch;
251
251
 
252
252
  export { switch_default };
253
- //# sourceMappingURL=chunk-QNPE63O6.js.map
254
- //# sourceMappingURL=chunk-QNPE63O6.js.map
253
+ //# sourceMappingURL=chunk-WMTEAMPB.js.map
254
+ //# sourceMappingURL=chunk-WMTEAMPB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/switch/index.tsx"],"names":[],"mappings":"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","file":"chunk-QNPE63O6.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport React, { useState, useId } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { switchTrackColorClasses } from \"../variants\";\nimport type { SwitchProps, SwitchSize } from \"./types\";\n\nconst switchTrackVariants = cva(\n [\n \"relative rounded-full cursor-pointer transition-colors\",\n \"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background\",\n ],\n {\n variants: {\n color: switchTrackColorClasses,\n size: {\n xs: \"w-(--switch-width-xs) h-(--switch-height-xs)\",\n sm: \"w-(--switch-width-sm) h-(--switch-height-sm)\",\n md: \"w-(--switch-width-md) h-(--switch-height-md)\",\n lg: \"w-(--switch-width-lg) h-(--switch-height-lg)\",\n },\n hasError: {\n true: \"bg-error/30 peer-checked:bg-error peer-focus-visible:ring-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n hasError: false,\n },\n },\n);\n\nconst switchThumbVariants = cva(\n \"absolute top-0.5 left-0.5 bg-background rounded-full shadow-sm transition-transform duration-200 ease-in-out flex items-center justify-center\",\n {\n variants: {\n size: {\n xs: \"w-(--switch-thumb-xs) h-(--switch-thumb-xs) peer-checked:translate-x-(--switch-translate-xs)\",\n sm: \"w-(--switch-thumb-sm) h-(--switch-thumb-sm) peer-checked:translate-x-(--switch-translate-sm)\",\n md: \"w-(--switch-thumb-md) h-(--switch-thumb-md) peer-checked:translate-x-(--switch-translate-md)\",\n lg: \"w-(--switch-thumb-lg) h-(--switch-thumb-lg) peer-checked:translate-x-(--switch-translate-lg)\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\n/**\n * Loader size classes based on switch size\n */\nconst loaderSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Thumb icon size classes based on switch size\n */\nconst thumbIconSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Track content size classes\n */\nconst trackContentSizeClasses: Record<SwitchSize, string> = {\n xs: \"text-[6px] px-0.5\",\n sm: \"text-[7px] px-0.5\",\n md: \"text-[8px] px-1\",\n lg: \"text-[9px] px-1.5\",\n};\n\nconst Switch = React.memo<SwitchProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n labelPosition = \"right\",\n helperText,\n error,\n loading = false,\n thumbIcon,\n startContent,\n endContent,\n required,\n labelClassName,\n className,\n classNames,\n disabled,\n checked,\n defaultChecked,\n ref,\n ...props\n }) => {\n const id = useId();\n const inputId = props.id || id;\n const helperId = `switch-helper-${id}`;\n const hasHelperText = !!(helperText || error);\n\n // Handle uncontrolled mode\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked);\n }\n props.onChange?.(e);\n };\n\n const isDisabled = disabled || loading;\n\n const switchElement = (\n <span\n className={cn(\n \"relative inline-flex items-center\",\n \"switch_root\",\n classNames?.root,\n )}\n >\n <input\n ref={ref}\n id={inputId}\n type=\"checkbox\"\n className=\"peer sr-only\"\n disabled={isDisabled}\n role=\"switch\"\n aria-checked={currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n checked={currentChecked}\n onChange={handleChange}\n required={required}\n {...props}\n />\n <span\n className={cn(\n switchTrackVariants({ color, size, hasError: !!error }),\n \"switch_track\",\n classNames?.track,\n className,\n )}\n >\n {/* Track content - start (visible when unchecked) */}\n {startContent && (\n <span\n className={cn(\n \"absolute right-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-0\" : \"opacity-100\",\n )}\n >\n {startContent}\n </span>\n )}\n {/* Track content - end (visible when checked) */}\n {endContent && (\n <span\n className={cn(\n \"absolute left-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {endContent}\n </span>\n )}\n </span>\n\n {/* Thumb */}\n <span\n className={cn(\n switchThumbVariants({ size }),\n \"switch_thumb\",\n classNames?.thumb,\n )}\n >\n {loading ? (\n <Loader2\n className={cn(\n \"animate-spin text-text-secondary\",\n loaderSizeClasses[size],\n )}\n />\n ) : thumbIcon ? (\n <span\n className={cn(\n \"flex items-center justify-center text-text-secondary\",\n thumbIconSizeClasses[size],\n )}\n >\n {thumbIcon}\n </span>\n ) : null}\n </span>\n </span>\n );\n\n // Switch with label and/or helper/error text\n return (\n <div className=\"w-full\">\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex items-center gap-2\",\n !isDisabled && \"cursor-pointer\",\n labelPosition === \"left\" && \"flex-row-reverse\",\n )}\n >\n {switchElement}\n {label && (\n <span\n className={cn(\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n isDisabled && \"opacity-50\",\n \"switch_label\",\n classNames?.label,\n labelClassName,\n )}\n >\n {label}\n {required && (\n <span className=\"text-error ml-0.5\" aria-hidden=\"true\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"mt-1 text-xs\",\n labelPosition === \"left\" ? \"text-right\" : \"text-left\",\n error ? \"text-error\" : \"text-text-secondary\",\n \"switch_description\",\n classNames?.description,\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n\nexport type * from \"./types\";\nexport default Switch;\n"]}
1
+ {"version":3,"sources":["../src/switch/index.tsx"],"names":[],"mappings":"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","file":"chunk-WMTEAMPB.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport React, { useState, useId } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { switchTrackColorClasses } from \"../variants\";\nimport type { SwitchProps, SwitchSize } from \"./types\";\n\nconst switchTrackVariants = cva(\n [\n \"relative rounded-full cursor-pointer transition-colors\",\n \"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background\",\n ],\n {\n variants: {\n color: switchTrackColorClasses,\n size: {\n xs: \"w-(--switch-width-xs) h-(--switch-height-xs)\",\n sm: \"w-(--switch-width-sm) h-(--switch-height-sm)\",\n md: \"w-(--switch-width-md) h-(--switch-height-md)\",\n lg: \"w-(--switch-width-lg) h-(--switch-height-lg)\",\n },\n hasError: {\n true: \"bg-error/30 peer-checked:bg-error peer-focus-visible:ring-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n hasError: false,\n },\n },\n);\n\nconst switchThumbVariants = cva(\n \"absolute top-0.5 left-0.5 bg-background rounded-full shadow-sm transition-transform duration-200 ease-in-out flex items-center justify-center\",\n {\n variants: {\n size: {\n xs: \"w-(--switch-thumb-xs) h-(--switch-thumb-xs) peer-checked:translate-x-(--switch-translate-xs)\",\n sm: \"w-(--switch-thumb-sm) h-(--switch-thumb-sm) peer-checked:translate-x-(--switch-translate-sm)\",\n md: \"w-(--switch-thumb-md) h-(--switch-thumb-md) peer-checked:translate-x-(--switch-translate-md)\",\n lg: \"w-(--switch-thumb-lg) h-(--switch-thumb-lg) peer-checked:translate-x-(--switch-translate-lg)\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\n/**\n * Loader size classes based on switch size\n */\nconst loaderSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Thumb icon size classes based on switch size\n */\nconst thumbIconSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Track content size classes\n */\nconst trackContentSizeClasses: Record<SwitchSize, string> = {\n xs: \"text-[6px] px-0.5\",\n sm: \"text-[7px] px-0.5\",\n md: \"text-[8px] px-1\",\n lg: \"text-[9px] px-1.5\",\n};\n\nconst Switch = React.memo<SwitchProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n labelPosition = \"right\",\n helperText,\n error,\n loading = false,\n thumbIcon,\n startContent,\n endContent,\n required,\n labelClassName,\n className,\n classNames,\n disabled,\n checked,\n defaultChecked,\n ref,\n ...props\n }) => {\n const id = useId();\n const inputId = props.id || id;\n const helperId = `switch-helper-${id}`;\n const hasHelperText = !!(helperText || error);\n\n // Handle uncontrolled mode\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked);\n }\n props.onChange?.(e);\n };\n\n const isDisabled = disabled || loading;\n\n const switchElement = (\n <span\n className={cn(\n \"relative inline-flex items-center\",\n \"switch_root\",\n classNames?.root,\n )}\n >\n <input\n ref={ref}\n type=\"checkbox\"\n className=\"peer sr-only\"\n role=\"switch\"\n aria-checked={currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n required={required}\n {...props}\n id={inputId}\n disabled={isDisabled}\n checked={currentChecked}\n onChange={handleChange}\n />\n <span\n className={cn(\n switchTrackVariants({ color, size, hasError: !!error }),\n \"switch_track\",\n classNames?.track,\n className,\n )}\n >\n {/* Track content - start (visible when unchecked) */}\n {startContent && (\n <span\n className={cn(\n \"absolute right-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-0\" : \"opacity-100\",\n )}\n >\n {startContent}\n </span>\n )}\n {/* Track content - end (visible when checked) */}\n {endContent && (\n <span\n className={cn(\n \"absolute left-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {endContent}\n </span>\n )}\n </span>\n\n {/* Thumb */}\n <span\n className={cn(\n switchThumbVariants({ size }),\n \"switch_thumb\",\n classNames?.thumb,\n )}\n >\n {loading ? (\n <Loader2\n className={cn(\n \"animate-spin text-text-secondary\",\n loaderSizeClasses[size],\n )}\n />\n ) : thumbIcon ? (\n <span\n className={cn(\n \"flex items-center justify-center text-text-secondary\",\n thumbIconSizeClasses[size],\n )}\n >\n {thumbIcon}\n </span>\n ) : null}\n </span>\n </span>\n );\n\n // Switch with label and/or helper/error text\n return (\n <div className=\"w-full\">\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex items-center gap-2\",\n !isDisabled && \"cursor-pointer\",\n labelPosition === \"left\" && \"flex-row-reverse\",\n )}\n >\n {switchElement}\n {label && (\n <span\n className={cn(\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n isDisabled && \"opacity-50\",\n \"switch_label\",\n classNames?.label,\n labelClassName,\n )}\n >\n {label}\n {required && (\n <span className=\"text-error ml-0.5\" aria-hidden=\"true\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"mt-1 text-xs\",\n labelPosition === \"left\" ? \"text-right\" : \"text-left\",\n error ? \"text-error\" : \"text-text-secondary\",\n \"switch_description\",\n classNames?.description,\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n\nexport type * from \"./types\";\nexport default Switch;\n"]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import type { ClipboardProps } from "./types";
3
+ declare const Clipboard: React.NamedExoticComponent<ClipboardProps>;
4
+ export type * from "./types";
5
+ export default Clipboard;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clipboard/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAgE9C,QAAA,MAAM,SAAS,4CAiHd,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,eAAe,SAAS,CAAC"}
@@ -0,0 +1,65 @@
1
+ import type { ComponentColor } from '../types';
2
+ export type ClipboardVariant = 'default' | 'solid' | 'soft';
3
+ export type ClipboardSize = 'xs' | 'sm' | 'md' | 'lg';
4
+ export interface ClipboardClassNames {
5
+ /**
6
+ * Class for root container
7
+ */
8
+ root?: string;
9
+ /**
10
+ * Class for input display element
11
+ */
12
+ input?: string;
13
+ /**
14
+ * Class for copy button/icon
15
+ */
16
+ button?: string;
17
+ }
18
+ export interface ClipboardProps {
19
+ /**
20
+ * Text value to copy to clipboard
21
+ */
22
+ value: string;
23
+ /**
24
+ * Theme color
25
+ */
26
+ color?: ComponentColor;
27
+ /**
28
+ * Size variant (clipboard only supports xs, sm, md, lg)
29
+ */
30
+ size?: ClipboardSize;
31
+ /**
32
+ * Visual style variant
33
+ */
34
+ variant?: ClipboardVariant;
35
+ /**
36
+ * Whether to show the value text
37
+ */
38
+ showValue?: boolean;
39
+ /**
40
+ * Duration to show success icon (in milliseconds)
41
+ */
42
+ successDuration?: number;
43
+ /**
44
+ * Whether the clipboard is disabled
45
+ * @default false
46
+ */
47
+ disabled?: boolean;
48
+ /**
49
+ * Callback when text is copied
50
+ */
51
+ onCopy?: () => void;
52
+ /**
53
+ * Additional CSS class
54
+ */
55
+ className?: string;
56
+ /**
57
+ * Custom classes for different parts of the clipboard
58
+ */
59
+ classNames?: ClipboardClassNames;
60
+ /**
61
+ * Reference to the element
62
+ */
63
+ ref?: React.Ref<HTMLDivElement>;
64
+ }
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/clipboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAC3D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAA;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAA;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAEhC;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { CollapseProps } from './types';
3
+ declare const Collapse: React.NamedExoticComponent<CollapseProps>;
4
+ export type * from './types';
5
+ export default Collapse;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collapse/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AA6I5C,QAAA,MAAM,QAAQ,2CAiGb,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,60 @@
1
+ import type { ComponentColor } from '../types';
2
+ export type CollapseVariant = 'default' | 'solid' | 'soft';
3
+ export type CollapseSize = 'xs' | 'sm' | 'md' | 'lg';
4
+ export interface CollapseClassNames {
5
+ root?: string;
6
+ header?: string;
7
+ content?: string;
8
+ icon?: string;
9
+ }
10
+ export interface CollapseProps {
11
+ /**
12
+ * Title displayed in the header
13
+ */
14
+ title: React.ReactNode;
15
+ /**
16
+ * Content to display when expanded
17
+ */
18
+ children: React.ReactNode;
19
+ /**
20
+ * Theme color
21
+ */
22
+ color?: ComponentColor;
23
+ /**
24
+ * Size variant (collapse only supports xs, sm, md, lg)
25
+ */
26
+ size?: CollapseSize;
27
+ /**
28
+ * Visual style variant
29
+ */
30
+ variant?: CollapseVariant;
31
+ /**
32
+ * Default open state (uncontrolled)
33
+ */
34
+ defaultOpen?: boolean;
35
+ /**
36
+ * Controlled open state
37
+ */
38
+ open?: boolean;
39
+ /**
40
+ * Callback when open state changes
41
+ */
42
+ onChange?: (open: boolean) => void;
43
+ /**
44
+ * Whether collapse is disabled
45
+ */
46
+ disabled?: boolean;
47
+ /**
48
+ * Additional CSS class
49
+ */
50
+ className?: string;
51
+ /**
52
+ * Custom class names for different parts of the collapse
53
+ */
54
+ classNames?: CollapseClassNames;
55
+ /**
56
+ * Reference to the element
57
+ */
58
+ ref?: React.Ref<HTMLDivElement>;
59
+ }
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/collapse/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AAC1D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IAEtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAA;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAA;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAE/B;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAChC"}
@@ -0,0 +1,74 @@
1
+ import { Command as CommandPrimitive } from 'cmdk';
2
+ import * as React from 'react';
3
+ import { CommandSize, CommandClassNames } from './types';
4
+ import { Modal } from '../modal';
5
+ import { ComponentColor } from '../types';
6
+ declare const Command: {
7
+ ({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive> & {
8
+ size?: CommandSize;
9
+ classNames?: CommandClassNames;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
13
+ declare const CommandModal: {
14
+ ({ title, description, children, className, showCloseButton, size, ...props }: React.ComponentProps<typeof Modal> & {
15
+ title?: string;
16
+ description?: string;
17
+ className?: string;
18
+ showCloseButton?: boolean;
19
+ size?: CommandSize;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ displayName: string;
22
+ };
23
+ declare const CommandInput: {
24
+ ({ className, size, classNames, ...props }: Omit<React.ComponentProps<typeof CommandPrimitive.Input>, "size"> & {
25
+ size?: CommandSize;
26
+ classNames?: CommandClassNames;
27
+ }): import("react/jsx-runtime").JSX.Element;
28
+ displayName: string;
29
+ };
30
+ declare const CommandList: {
31
+ ({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.List> & {
32
+ size?: CommandSize;
33
+ classNames?: CommandClassNames;
34
+ }): import("react/jsx-runtime").JSX.Element;
35
+ displayName: string;
36
+ };
37
+ declare const CommandEmpty: {
38
+ ({ size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Empty> & {
39
+ size?: CommandSize;
40
+ classNames?: CommandClassNames;
41
+ }): import("react/jsx-runtime").JSX.Element;
42
+ displayName: string;
43
+ };
44
+ declare const CommandGroup: {
45
+ ({ className, size, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Group> & {
46
+ size?: CommandSize;
47
+ classNames?: CommandClassNames;
48
+ }): import("react/jsx-runtime").JSX.Element;
49
+ displayName: string;
50
+ };
51
+ declare const CommandSeparator: {
52
+ ({ className, size, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator> & {
53
+ size?: CommandSize;
54
+ }): import("react/jsx-runtime").JSX.Element;
55
+ displayName: string;
56
+ };
57
+ declare const CommandItem: {
58
+ ({ className, size, color, classNames, ...props }: React.ComponentProps<typeof CommandPrimitive.Item> & {
59
+ size?: CommandSize;
60
+ color?: ComponentColor;
61
+ classNames?: CommandClassNames;
62
+ }): import("react/jsx-runtime").JSX.Element;
63
+ displayName: string;
64
+ };
65
+ declare const CommandShortcut: {
66
+ ({ className, size, classNames, ...props }: React.ComponentProps<"span"> & {
67
+ size?: CommandSize;
68
+ classNames?: CommandClassNames;
69
+ }): import("react/jsx-runtime").JSX.Element;
70
+ displayName: string;
71
+ };
72
+ export type * from './types';
73
+ export { Command, CommandModal, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
74
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EACL,KAAK,EAKN,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAoBzC,QAAA,MAAM,OAAO;gDAKV,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG;QACjD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAID,QAAA,MAAM,YAAY;mFAQf,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG;QACtC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,IAAI,CAAC,EAAE,WAAW,CAAA;KACnB;;CAoBA,CAAA;AAsCD,QAAA,MAAM,YAAY;gDAKf,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;QACrE,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAiBA,CAAA;AAqBD,QAAA,MAAM,WAAW;gDAKd,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG;QACtD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAkBD,QAAA,MAAM,YAAY;qCAIf,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAqBD,QAAA,MAAM,YAAY;gDAKf,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAkBD,QAAA,MAAM,gBAAgB;oCAInB,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,GAAG;QAC3D,IAAI,CAAC,EAAE,WAAW,CAAA;KACnB;;CAQA,CAAA;AAgCD,QAAA,MAAM,WAAW;uDAMd,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG;QACtD,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,KAAK,CAAC,EAAE,cAAc,CAAA;QACtB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAqBD,QAAA,MAAM,eAAe;gDAKlB,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;QAChC,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAC/B;;CAQA,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Command component types
3
+ * Note: Most command components use React.ComponentProps with the underlying
4
+ * cmdk primitives and add a size prop
5
+ */
6
+ import { ComponentColor } from '../types';
7
+ export type CommandSize = 'xs' | 'sm' | 'md' | 'lg';
8
+ export type { CommandSize as CommandInputSize };
9
+ export interface CommandClassNames {
10
+ root?: string;
11
+ input?: string;
12
+ inputIcon?: string;
13
+ list?: string;
14
+ empty?: string;
15
+ group?: string;
16
+ groupLabel?: string;
17
+ item?: string;
18
+ itemIcon?: string;
19
+ shortcut?: string;
20
+ }
21
+ export interface CommandItemProps {
22
+ color?: ComponentColor;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/command/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAGnD,YAAY,EAAE,WAAW,IAAI,gBAAgB,EAAE,CAAA;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB"}
@@ -0,0 +1,63 @@
1
+ import type { ContextMenuContentProps, ContextMenuProps } from './types';
2
+ /**
3
+ * Context menu content component
4
+ */
5
+ declare const ContextMenuContent: {
6
+ ({ items, onClose, level, className, classNames, style, setKeyUpHandlers, color, ...props }: ContextMenuContentProps): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ };
9
+ /**
10
+ * ContextMenu component based on Popover
11
+ *
12
+ * A context menu that opens on right-click.
13
+ * Uses @radix-ui/react-popover for positioning and state management.
14
+ * Supports nested submenus, separators, disabled items, and keyboard navigation.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * import ContextMenu from '@mdigital_ui/ui/context-menu'
19
+ * import { Copy, Paste, Trash } from 'lucide-react'
20
+ *
21
+ * function MyComponent() {
22
+ * return (
23
+ * <ContextMenu
24
+ * items={[
25
+ * {
26
+ * key: 'copy',
27
+ * label: 'Copy',
28
+ * icon: <Copy />,
29
+ * shortcut: 'Ctrl+C',
30
+ * onClick: () => console.log('Copy'),
31
+ * },
32
+ * {
33
+ * key: 'paste',
34
+ * label: 'Paste',
35
+ * icon: <Paste />,
36
+ * shortcut: 'Ctrl+V',
37
+ * onClick: () => console.log('Paste'),
38
+ * },
39
+ * { key: 'sep1', separator: true },
40
+ * {
41
+ * key: 'delete',
42
+ * label: 'Delete',
43
+ * icon: <Trash />,
44
+ * onClick: () => console.log('Delete'),
45
+ * },
46
+ * ]}
47
+ * >
48
+ * <div className="p-4 border">
49
+ * Right click me!
50
+ * </div>
51
+ * </ContextMenu>
52
+ * )
53
+ * }
54
+ * ```
55
+ */
56
+ declare const ContextMenu: {
57
+ ({ children, items, className, classNames, disabled, onOpenChange, open: controlledOpen, color, }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
58
+ displayName: string;
59
+ };
60
+ export type * from './types';
61
+ export { ContextMenu, ContextMenuContent };
62
+ export default ContextMenu;
63
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context-menu/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAA2B,MAAM,SAAS,CAAC;AA2JlG;;GAEG;AACH,QAAA,MAAM,kBAAkB;iGAUrB,uBAAuB;;CAyJzB,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,QAAA,MAAM,WAAW;uGASd,gBAAgB;;CAmGlB,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;AAC3C,eAAe,WAAW,CAAC"}