@soyfri/shared-library 1.5.0 → 1.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/Button-C17mExpd.cjs.map +1 -0
  2. package/Button-UkkP-bNw.js.map +1 -0
  3. package/components/ActionMenu/ActionMenu.cjs +107 -0
  4. package/components/ActionMenu/ActionMenu.cjs.map +1 -0
  5. package/components/ActionMenu/ActionMenu.d.ts +44 -0
  6. package/components/ActionMenu/ActionMenu.js +107 -0
  7. package/components/ActionMenu/ActionMenu.js.map +1 -0
  8. package/components/ActionMenu/index.d.ts +2 -0
  9. package/components/ActionMenu.d.ts +6 -0
  10. package/components/AppBar/AppBar.cjs +129 -0
  11. package/components/AppBar/AppBar.cjs.map +1 -0
  12. package/components/AppBar/AppBar.d.ts +55 -0
  13. package/components/AppBar/AppBar.js +129 -0
  14. package/components/AppBar/AppBar.js.map +1 -0
  15. package/components/AppBar/AppBar.sx.d.ts +12 -0
  16. package/components/AppBar/AppBarContext.d.ts +18 -0
  17. package/components/AppBar/AppBarMenuToggle.d.ts +39 -0
  18. package/components/AppBar/index.d.ts +6 -0
  19. package/components/AppBar.d.ts +6 -0
  20. package/components/Autocomplete/Autocomplete.cjs +313 -0
  21. package/components/Autocomplete/Autocomplete.cjs.map +1 -0
  22. package/components/Autocomplete/Autocomplete.d.ts +86 -0
  23. package/components/Autocomplete/Autocomplete.definitions.d.ts +16 -0
  24. package/components/Autocomplete/Autocomplete.helpers.d.ts +22 -0
  25. package/components/Autocomplete/Autocomplete.js +313 -0
  26. package/components/Autocomplete/Autocomplete.js.map +1 -0
  27. package/components/Autocomplete/Autocomplete.sx.d.ts +7 -0
  28. package/components/Autocomplete/_parts/AutocompleteChips.d.ts +20 -0
  29. package/components/Autocomplete/_parts/AutocompleteLoader.d.ts +9 -0
  30. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +16 -0
  31. package/components/Autocomplete/index.d.ts +2 -0
  32. package/components/Autocomplete.d.ts +6 -0
  33. package/components/Avatar/Avatar.cjs +162 -0
  34. package/components/Avatar/Avatar.cjs.map +1 -0
  35. package/components/Avatar/Avatar.d.ts +33 -0
  36. package/components/Avatar/Avatar.definitions.d.ts +11 -0
  37. package/components/Avatar/Avatar.js +162 -0
  38. package/components/Avatar/Avatar.js.map +1 -0
  39. package/components/Avatar/index.d.ts +2 -0
  40. package/{dist/components → components}/Button/Button.d.ts +5 -5
  41. package/{dist/components → components}/Button/index.d.ts +1 -0
  42. package/components/Card/Card.cjs +98 -0
  43. package/components/Card/Card.cjs.map +1 -0
  44. package/components/Card/Card.d.ts +36 -0
  45. package/components/Card/Card.js +98 -0
  46. package/components/Card/Card.js.map +1 -0
  47. package/components/Card/Card.sx.d.ts +14 -0
  48. package/components/Card/index.d.ts +4 -0
  49. package/components/Card.d.ts +6 -0
  50. package/components/Checkbox/Checkbox.cjs +189 -0
  51. package/components/Checkbox/Checkbox.cjs.map +1 -0
  52. package/components/Checkbox/Checkbox.d.ts +55 -0
  53. package/components/Checkbox/Checkbox.js +189 -0
  54. package/components/Checkbox/Checkbox.js.map +1 -0
  55. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  56. package/components/Checkbox/index.d.ts +2 -0
  57. package/components/Checkbox.d.ts +6 -0
  58. package/{dist/components → components}/Chip/Chip.cjs +2 -1
  59. package/components/Chip/Chip.cjs.map +1 -0
  60. package/{dist/components → components}/Chip/Chip.js +2 -1
  61. package/components/Chip/Chip.js.map +1 -0
  62. package/components/Chip/index.d.ts +2 -0
  63. package/components/Chip.d.ts +6 -0
  64. package/components/DatePicker/DatePicker.cjs +180 -0
  65. package/components/DatePicker/DatePicker.cjs.map +1 -0
  66. package/components/DatePicker/DatePicker.d.ts +44 -0
  67. package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +1 -0
  68. package/components/DatePicker/DatePicker.helpers.d.ts +7 -0
  69. package/components/DatePicker/DatePicker.js +180 -0
  70. package/components/DatePicker/DatePicker.js.map +1 -0
  71. package/components/DatePicker/DatePicker.sx.d.ts +9 -0
  72. package/components/DatePicker/index.d.ts +2 -0
  73. package/components/DatePicker.d.ts +6 -0
  74. package/components/DateTimePicker/DateTimePicker.cjs +198 -0
  75. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
  76. package/components/DateTimePicker/DateTimePicker.d.ts +57 -0
  77. package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +3 -0
  78. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +13 -0
  79. package/components/DateTimePicker/DateTimePicker.js +198 -0
  80. package/components/DateTimePicker/DateTimePicker.js.map +1 -0
  81. package/components/DateTimePicker/DateTimePicker.sx.d.ts +7 -0
  82. package/components/DateTimePicker/index.d.ts +2 -0
  83. package/components/DateTimePicker.d.ts +6 -0
  84. package/components/Drawer/Drawer.cjs +274 -0
  85. package/components/Drawer/Drawer.cjs.map +1 -0
  86. package/components/Drawer/Drawer.d.ts +60 -0
  87. package/components/Drawer/Drawer.js +274 -0
  88. package/components/Drawer/Drawer.js.map +1 -0
  89. package/components/Drawer/Drawer.sx.d.ts +23 -0
  90. package/components/Drawer/DrawerContext.d.ts +18 -0
  91. package/components/Drawer/DrawerItem.d.ts +40 -0
  92. package/components/Drawer/index.d.ts +6 -0
  93. package/components/Drawer.d.ts +6 -0
  94. package/{dist/components → components}/Gallery/Gallery.cjs +154 -79
  95. package/components/Gallery/Gallery.cjs.map +1 -0
  96. package/components/Gallery/Gallery.d.ts +28 -0
  97. package/{dist/components → components}/Gallery/Gallery.js +154 -79
  98. package/components/Gallery/Gallery.js.map +1 -0
  99. package/components/Gallery/GalleryLightbox.d.ts +16 -0
  100. package/{dist/components → components}/Gallery/GalleryMain.d.ts +3 -7
  101. package/components/Gallery/GalleryThumbnails.d.ts +13 -0
  102. package/components/Gallery/index.d.ts +2 -0
  103. package/components/Gallery.d.ts +6 -0
  104. package/{dist/components → components}/Icon/Icon.cjs +49 -10
  105. package/components/Icon/Icon.cjs.map +1 -0
  106. package/components/Icon/Icon.d.ts +48 -0
  107. package/{dist/components → components}/Icon/Icon.js +49 -10
  108. package/components/Icon/Icon.js.map +1 -0
  109. package/components/Icon/index.d.ts +2 -0
  110. package/components/Icon.d.ts +6 -0
  111. package/components/Input/Input.cjs +188 -0
  112. package/components/Input/Input.cjs.map +1 -0
  113. package/components/Input/Input.d.ts +44 -0
  114. package/{dist/components → components}/Input/Input.definitions.d.ts +6 -2
  115. package/components/Input/Input.helpers.d.ts +14 -0
  116. package/components/Input/Input.js +188 -0
  117. package/components/Input/Input.js.map +1 -0
  118. package/components/Input/Input.sx.d.ts +8 -0
  119. package/components/Input/index.d.ts +2 -0
  120. package/components/Input.d.ts +6 -0
  121. package/components/InputGroup/InputGroup.cjs +140 -0
  122. package/components/InputGroup/InputGroup.cjs.map +1 -0
  123. package/components/InputGroup/InputGroup.d.ts +42 -0
  124. package/components/InputGroup/InputGroup.definitions.d.ts +6 -0
  125. package/components/InputGroup/InputGroup.js +140 -0
  126. package/components/InputGroup/InputGroup.js.map +1 -0
  127. package/components/InputGroup/index.d.ts +2 -0
  128. package/components/InputGroup.d.ts +6 -0
  129. package/components/Modal/Modal.cjs +348 -0
  130. package/components/Modal/Modal.cjs.map +1 -0
  131. package/components/Modal/Modal.d.ts +80 -0
  132. package/components/Modal/Modal.js +348 -0
  133. package/components/Modal/Modal.js.map +1 -0
  134. package/components/Modal/ModalBody.d.ts +11 -0
  135. package/components/Modal/ModalFooter.d.ts +27 -0
  136. package/components/Modal/ModalHeader.d.ts +11 -0
  137. package/components/Modal/index.d.ts +8 -0
  138. package/components/Modal.d.ts +6 -0
  139. package/components/RadioGroup/RadioGroup.cjs +204 -0
  140. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  141. package/components/RadioGroup/RadioGroup.d.ts +59 -0
  142. package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
  143. package/components/RadioGroup/RadioGroup.js +204 -0
  144. package/components/RadioGroup/RadioGroup.js.map +1 -0
  145. package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
  146. package/components/RadioGroup/index.d.ts +2 -0
  147. package/components/RadioGroup.d.ts +6 -0
  148. package/components/Select/Select.cjs +313 -0
  149. package/components/Select/Select.cjs.map +1 -0
  150. package/components/Select/Select.d.ts +95 -0
  151. package/components/Select/Select.helpers.d.ts +15 -0
  152. package/components/Select/Select.js +313 -0
  153. package/components/Select/Select.js.map +1 -0
  154. package/components/Select/Select.sx.d.ts +7 -0
  155. package/components/Select/_parts/SelectMenuItem.d.ts +20 -0
  156. package/components/Select/index.d.ts +2 -0
  157. package/components/Select.d.ts +6 -0
  158. package/{dist/components → components}/Stat/Stat.cjs +2 -2
  159. package/{dist/components → components}/Stat/Stat.cjs.map +1 -1
  160. package/{dist/components → components}/Stat/Stat.js +2 -2
  161. package/{dist/components → components}/Stat/Stat.js.map +1 -1
  162. package/components/Stat/index.d.ts +2 -0
  163. package/components/Stat.d.ts +6 -0
  164. package/components/StatusMessage/StatusMessage.cjs +108 -0
  165. package/components/StatusMessage/StatusMessage.cjs.map +1 -0
  166. package/components/StatusMessage/StatusMessage.d.ts +28 -0
  167. package/components/StatusMessage/StatusMessage.js +108 -0
  168. package/components/StatusMessage/StatusMessage.js.map +1 -0
  169. package/components/StatusMessage/StatusMessageContext.d.ts +16 -0
  170. package/components/StatusMessage/index.d.ts +4 -0
  171. package/components/StatusMessage.d.ts +6 -0
  172. package/components/Stepper/Stepper.cjs +326 -0
  173. package/components/Stepper/Stepper.cjs.map +1 -0
  174. package/components/Stepper/Stepper.d.ts +17 -0
  175. package/components/Stepper/Stepper.js +326 -0
  176. package/components/Stepper/Stepper.js.map +1 -0
  177. package/components/Stepper/StepperContext.d.ts +73 -0
  178. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  179. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  180. package/components/Stepper/index.d.ts +6 -0
  181. package/components/Stepper.d.ts +6 -0
  182. package/components/Switch/Switch.cjs +184 -0
  183. package/components/Switch/Switch.cjs.map +1 -0
  184. package/components/Switch/Switch.d.ts +48 -0
  185. package/components/Switch/Switch.definitions.d.ts +7 -0
  186. package/components/Switch/Switch.js +184 -0
  187. package/components/Switch/Switch.js.map +1 -0
  188. package/components/Switch/Switch.sx.d.ts +22 -0
  189. package/components/Switch/Switch.types.d.ts +1 -0
  190. package/components/Switch/index.d.ts +2 -0
  191. package/components/Switch.d.ts +6 -0
  192. package/components/Tabs/Tabs.cjs +112 -0
  193. package/components/Tabs/Tabs.cjs.map +1 -0
  194. package/components/Tabs/Tabs.d.ts +24 -0
  195. package/components/Tabs/Tabs.js +112 -0
  196. package/components/Tabs/Tabs.js.map +1 -0
  197. package/components/Tabs/index.d.ts +4 -0
  198. package/components/Tabs.d.ts +6 -0
  199. package/{dist/components → components}/Timeline/Timeline.cjs +3 -2
  200. package/components/Timeline/Timeline.cjs.map +1 -0
  201. package/components/Timeline/Timeline.d.ts +9 -0
  202. package/{dist/components → components}/Timeline/Timeline.js +3 -2
  203. package/components/Timeline/Timeline.js.map +1 -0
  204. package/components/Timeline/index.d.ts +4 -0
  205. package/components/Timeline.d.ts +6 -0
  206. package/components/_shared/formField.sx.d.ts +33 -0
  207. package/components/_shared/mergeSx.d.ts +7 -0
  208. package/components/_shared/resolvePreset.d.ts +18 -0
  209. package/formField.sx-8_QRnKxv.js +68 -0
  210. package/formField.sx-8_QRnKxv.js.map +1 -0
  211. package/formField.sx-BAX7KwMR.cjs +67 -0
  212. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  213. package/index.cjs +153 -0
  214. package/index.cjs.map +1 -0
  215. package/index.d.ts +4 -0
  216. package/index.js +51 -0
  217. package/index.js.map +1 -0
  218. package/mergeSx-BXoNZjB_.js +10 -0
  219. package/mergeSx-BXoNZjB_.js.map +1 -0
  220. package/mergeSx-Dbccoo_H.cjs +9 -0
  221. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  222. package/mui.d.ts +7 -0
  223. package/package.json +164 -43
  224. package/resolvePreset-B-IB0ehH.js +15 -0
  225. package/resolvePreset-B-IB0ehH.js.map +1 -0
  226. package/resolvePreset-CT3kU-K2.cjs +14 -0
  227. package/resolvePreset-CT3kU-K2.cjs.map +1 -0
  228. package/theme/componentStyles.d.ts +32 -0
  229. package/theme/tokens.d.ts +28 -0
  230. package/tokens-BRrcP_p_.js +21 -0
  231. package/tokens-BRrcP_p_.js.map +1 -0
  232. package/tokens-jaWWNk39.cjs +20 -0
  233. package/tokens-jaWWNk39.cjs.map +1 -0
  234. package/utils/index.d.ts +2 -0
  235. package/utils/scrollToTop.d.ts +28 -0
  236. package/.dockerignore +0 -8
  237. package/.github/workflows/publish.yml +0 -107
  238. package/.prettierrc +0 -3
  239. package/.storybook/main.ts +0 -19
  240. package/.storybook/preview.ts +0 -14
  241. package/.storybook/vitest.setup.ts +0 -9
  242. package/Dockerfile +0 -37
  243. package/build.js +0 -102
  244. package/chromatic.config.json +0 -5
  245. package/cleanDirectories.js +0 -40
  246. package/dist/Button-C17mExpd.cjs.map +0 -1
  247. package/dist/Button-UkkP-bNw.js.map +0 -1
  248. package/dist/DatePicker-BSNboVhN.js +0 -201
  249. package/dist/DatePicker-BSNboVhN.js.map +0 -1
  250. package/dist/DatePicker-BoqxWAhj.cjs +0 -200
  251. package/dist/DatePicker-BoqxWAhj.cjs.map +0 -1
  252. package/dist/Input-DFHs7cJ_.js +0 -171
  253. package/dist/Input-DFHs7cJ_.js.map +0 -1
  254. package/dist/Input-c8MwNNPg.cjs +0 -170
  255. package/dist/Input-c8MwNNPg.cjs.map +0 -1
  256. package/dist/Select-BO2N56sm.cjs +0 -411
  257. package/dist/Select-BO2N56sm.cjs.map +0 -1
  258. package/dist/Select-BcLkyHSE.js +0 -412
  259. package/dist/Select-BcLkyHSE.js.map +0 -1
  260. package/dist/components/Autocomplete/Autocomplete.cjs +0 -109
  261. package/dist/components/Autocomplete/Autocomplete.cjs.map +0 -1
  262. package/dist/components/Autocomplete/Autocomplete.d.ts +0 -28
  263. package/dist/components/Autocomplete/Autocomplete.definitions.d.ts +0 -9
  264. package/dist/components/Autocomplete/Autocomplete.js +0 -109
  265. package/dist/components/Autocomplete/Autocomplete.js.map +0 -1
  266. package/dist/components/Autocomplete/index.d.ts +0 -1
  267. package/dist/components/Autocomplete.d.ts +0 -2
  268. package/dist/components/Avatar/Avatar.cjs +0 -126
  269. package/dist/components/Avatar/Avatar.cjs.map +0 -1
  270. package/dist/components/Avatar/Avatar.d.ts +0 -19
  271. package/dist/components/Avatar/Avatar.js +0 -126
  272. package/dist/components/Avatar/Avatar.js.map +0 -1
  273. package/dist/components/Avatar/index.d.ts +0 -1
  274. package/dist/components/Card/Card.cjs +0 -28
  275. package/dist/components/Card/Card.cjs.map +0 -1
  276. package/dist/components/Card/Card.d.ts +0 -13
  277. package/dist/components/Card/Card.js +0 -28
  278. package/dist/components/Card/Card.js.map +0 -1
  279. package/dist/components/Card/index.d.ts +0 -1
  280. package/dist/components/Card.d.ts +0 -2
  281. package/dist/components/Chip/Chip.cjs.map +0 -1
  282. package/dist/components/Chip/Chip.js.map +0 -1
  283. package/dist/components/Chip/index.d.ts +0 -1
  284. package/dist/components/Chip.d.ts +0 -2
  285. package/dist/components/DatePicker/DatePicker.cjs +0 -5
  286. package/dist/components/DatePicker/DatePicker.cjs.map +0 -1
  287. package/dist/components/DatePicker/DatePicker.d.ts +0 -18
  288. package/dist/components/DatePicker/DatePicker.js +0 -5
  289. package/dist/components/DatePicker/DatePicker.js.map +0 -1
  290. package/dist/components/DatePicker/index.d.ts +0 -1
  291. package/dist/components/DatePicker.d.ts +0 -2
  292. package/dist/components/DateTimePicker/DateTimePicker.cjs +0 -208
  293. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
  294. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -28
  295. package/dist/components/DateTimePicker/DateTimePicker.js +0 -208
  296. package/dist/components/DateTimePicker/DateTimePicker.js.map +0 -1
  297. package/dist/components/DateTimePicker/index.d.ts +0 -1
  298. package/dist/components/DateTimePicker.d.ts +0 -2
  299. package/dist/components/Gallery/Gallery.cjs.map +0 -1
  300. package/dist/components/Gallery/Gallery.d.ts +0 -12
  301. package/dist/components/Gallery/Gallery.js.map +0 -1
  302. package/dist/components/Gallery/GalleryLightbox.d.ts +0 -20
  303. package/dist/components/Gallery/GalleryThumbnails.d.ts +0 -17
  304. package/dist/components/Gallery/index.d.ts +0 -1
  305. package/dist/components/Gallery.d.ts +0 -2
  306. package/dist/components/Icon/Icon.cjs.map +0 -1
  307. package/dist/components/Icon/Icon.d.ts +0 -21
  308. package/dist/components/Icon/Icon.js.map +0 -1
  309. package/dist/components/Icon/index.d.ts +0 -1
  310. package/dist/components/Icon.d.ts +0 -2
  311. package/dist/components/Input/Input.cjs +0 -5
  312. package/dist/components/Input/Input.cjs.map +0 -1
  313. package/dist/components/Input/Input.d.ts +0 -32
  314. package/dist/components/Input/Input.js +0 -5
  315. package/dist/components/Input/Input.js.map +0 -1
  316. package/dist/components/Input/index.d.ts +0 -1
  317. package/dist/components/Input.d.ts +0 -2
  318. package/dist/components/InputGroup/InputGroup.cjs +0 -126
  319. package/dist/components/InputGroup/InputGroup.cjs.map +0 -1
  320. package/dist/components/InputGroup/InputGroup.d.ts +0 -6
  321. package/dist/components/InputGroup/InputGroup.js +0 -126
  322. package/dist/components/InputGroup/InputGroup.js.map +0 -1
  323. package/dist/components/InputGroup/index.d.ts +0 -1
  324. package/dist/components/InputGroup.d.ts +0 -2
  325. package/dist/components/Modal/Modal.cjs +0 -209
  326. package/dist/components/Modal/Modal.cjs.map +0 -1
  327. package/dist/components/Modal/Modal.d.ts +0 -29
  328. package/dist/components/Modal/Modal.js +0 -209
  329. package/dist/components/Modal/Modal.js.map +0 -1
  330. package/dist/components/Modal/ModalBody.d.ts +0 -6
  331. package/dist/components/Modal/ModalFooter.d.ts +0 -19
  332. package/dist/components/Modal/ModalHeader.d.ts +0 -6
  333. package/dist/components/Modal/index.d.ts +0 -1
  334. package/dist/components/Modal.d.ts +0 -2
  335. package/dist/components/Select/Select.cjs +0 -6
  336. package/dist/components/Select/Select.cjs.map +0 -1
  337. package/dist/components/Select/Select.d.ts +0 -60
  338. package/dist/components/Select/Select.definitions.d.ts +0 -14
  339. package/dist/components/Select/Select.js +0 -6
  340. package/dist/components/Select/Select.js.map +0 -1
  341. package/dist/components/Select/index.d.ts +0 -1
  342. package/dist/components/Select.d.ts +0 -2
  343. package/dist/components/Stat/index.d.ts +0 -1
  344. package/dist/components/Stat.d.ts +0 -2
  345. package/dist/components/StatusMessage/StatusMessage.cjs +0 -79
  346. package/dist/components/StatusMessage/StatusMessage.cjs.map +0 -1
  347. package/dist/components/StatusMessage/StatusMessage.d.ts +0 -44
  348. package/dist/components/StatusMessage/StatusMessage.js +0 -79
  349. package/dist/components/StatusMessage/StatusMessage.js.map +0 -1
  350. package/dist/components/StatusMessage/index.d.ts +0 -1
  351. package/dist/components/StatusMessage.d.ts +0 -2
  352. package/dist/components/Stepper/Stepper.cjs +0 -46
  353. package/dist/components/Stepper/Stepper.cjs.map +0 -1
  354. package/dist/components/Stepper/Stepper.d.ts +0 -11
  355. package/dist/components/Stepper/Stepper.js +0 -46
  356. package/dist/components/Stepper/Stepper.js.map +0 -1
  357. package/dist/components/Stepper/index.d.ts +0 -2
  358. package/dist/components/Stepper.d.ts +0 -2
  359. package/dist/components/Tabs/Tabs.cjs +0 -96
  360. package/dist/components/Tabs/Tabs.cjs.map +0 -1
  361. package/dist/components/Tabs/Tabs.d.ts +0 -19
  362. package/dist/components/Tabs/Tabs.js +0 -96
  363. package/dist/components/Tabs/Tabs.js.map +0 -1
  364. package/dist/components/Tabs/index.d.ts +0 -2
  365. package/dist/components/Tabs.d.ts +0 -2
  366. package/dist/components/Timeline/Timeline.cjs.map +0 -1
  367. package/dist/components/Timeline/Timeline.d.ts +0 -13
  368. package/dist/components/Timeline/Timeline.js.map +0 -1
  369. package/dist/components/Timeline/index.d.ts +0 -2
  370. package/dist/components/Timeline.d.ts +0 -2
  371. package/dist/index.cjs +0 -2
  372. package/dist/index.cjs.map +0 -1
  373. package/dist/index.d.ts +0 -0
  374. package/dist/index.js +0 -2
  375. package/dist/index.js.map +0 -1
  376. package/dist/styles.css +0 -112
  377. package/rollup.config.cjs +0 -87
  378. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -254
  379. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -387
  380. package/src/components/Autocomplete/Autocomplete.tsx +0 -139
  381. package/src/components/Autocomplete/index.ts +0 -1
  382. package/src/components/Avatar/Avatar.stories.tsx +0 -54
  383. package/src/components/Avatar/Avatar.tsx +0 -143
  384. package/src/components/Avatar/index.ts +0 -1
  385. package/src/components/Button/Button.definition.ts +0 -97
  386. package/src/components/Button/Button.stories.tsx +0 -285
  387. package/src/components/Button/Button.tsx +0 -67
  388. package/src/components/Button/index.ts +0 -1
  389. package/src/components/Card/Card.definition.ts +0 -5
  390. package/src/components/Card/Card.stories.tsx +0 -32
  391. package/src/components/Card/Card.tsx +0 -44
  392. package/src/components/Card/index.ts +0 -1
  393. package/src/components/Chip/Chip.definitions.ts +0 -167
  394. package/src/components/Chip/Chip.stories.tsx +0 -265
  395. package/src/components/Chip/Chip.tsx +0 -61
  396. package/src/components/Chip/index.ts +0 -1
  397. package/src/components/Column/Column.tsx +0 -29
  398. package/src/components/Column/index.ts +0 -1
  399. package/src/components/DatePicker/DatePicker.definitions.ts +0 -205
  400. package/src/components/DatePicker/DatePicker.stories.tsx +0 -282
  401. package/src/components/DatePicker/DatePicker.tsx +0 -165
  402. package/src/components/DatePicker/index.ts +0 -1
  403. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  404. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  405. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  406. package/src/components/DateRangePicker/index.ts +0 -1
  407. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -232
  408. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -390
  409. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -191
  410. package/src/components/DateTimePicker/index.ts +0 -1
  411. package/src/components/Flyout/Flyout.stories.tsx +0 -274
  412. package/src/components/Flyout/Flyout.tsx +0 -122
  413. package/src/components/Flyout/index.ts +0 -1
  414. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  415. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  416. package/src/components/Gallery/Gallery.tsx +0 -118
  417. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  418. package/src/components/Gallery/GalleryMain.tsx +0 -84
  419. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  420. package/src/components/Gallery/index.ts +0 -1
  421. package/src/components/Icon/Icon.stories.tsx +0 -54
  422. package/src/components/Icon/Icon.tsx +0 -94
  423. package/src/components/Icon/index.ts +0 -2
  424. package/src/components/Input/Input.definitions.ts +0 -252
  425. package/src/components/Input/Input.stories.tsx +0 -387
  426. package/src/components/Input/Input.tsx +0 -186
  427. package/src/components/Input/index.ts +0 -1
  428. package/src/components/InputGroup/InputGroup.stories.tsx +0 -136
  429. package/src/components/InputGroup/InputGroup.tsx +0 -136
  430. package/src/components/InputGroup/index.ts +0 -1
  431. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  432. package/src/components/MenuButton/MenuButton.tsx +0 -100
  433. package/src/components/MenuButton/index.ts +0 -1
  434. package/src/components/Modal/Modal.stories.tsx +0 -293
  435. package/src/components/Modal/Modal.tsx +0 -173
  436. package/src/components/Modal/ModalBody.tsx +0 -16
  437. package/src/components/Modal/ModalFooter.tsx +0 -61
  438. package/src/components/Modal/ModalHeader.tsx +0 -18
  439. package/src/components/Modal/index.ts +0 -1
  440. package/src/components/Select/Select.definitions.ts +0 -488
  441. package/src/components/Select/Select.stories.tsx +0 -569
  442. package/src/components/Select/Select.tsx +0 -468
  443. package/src/components/Select/index.ts +0 -1
  444. package/src/components/Stat/Stat.stories.tsx +0 -85
  445. package/src/components/Stat/Stat.tsx +0 -117
  446. package/src/components/Stat/index.ts +0 -2
  447. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  448. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  449. package/src/components/StatusMessage/index.ts +0 -2
  450. package/src/components/Stepper/Step.tsx +0 -21
  451. package/src/components/Stepper/Stepper.definition.ts +0 -75
  452. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  453. package/src/components/Stepper/Stepper.tsx +0 -59
  454. package/src/components/Stepper/index.ts +0 -2
  455. package/src/components/Table/EmptyTable.png +0 -0
  456. package/src/components/Table/Table.definition.ts +0 -580
  457. package/src/components/Table/Table.stories.tsx +0 -853
  458. package/src/components/Table/Table.tsx +0 -495
  459. package/src/components/Table/data.ts +0 -134
  460. package/src/components/Table/exportsUtils.ts +0 -195
  461. package/src/components/Table/index.ts +0 -3
  462. package/src/components/Table/types.ts +0 -34
  463. package/src/components/Tabs/Tab.definition.ts +0 -53
  464. package/src/components/Tabs/Tab.tsx +0 -19
  465. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  466. package/src/components/Tabs/Tabs.tsx +0 -99
  467. package/src/components/Tabs/_tabUtils.tsx +0 -4
  468. package/src/components/Tabs/index.ts +0 -2
  469. package/src/components/Timeline/Timeline.definition.ts +0 -43
  470. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  471. package/src/components/Timeline/Timeline.tsx +0 -49
  472. package/src/components/Timeline/TimelineItem.tsx +0 -31
  473. package/src/components/Timeline/index.ts +0 -2
  474. package/src/components/Tooltip/Tooltip.stories.tsx +0 -117
  475. package/src/components/Tooltip/Tooltip.tsx +0 -58
  476. package/src/components/Tooltip/index.ts +0 -1
  477. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  478. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  479. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  480. package/src/hooks/ClipBoard/index.ts +0 -1
  481. package/src/index.ts +0 -1
  482. package/src/styles.css +0 -3
  483. package/tailwind.config.js +0 -10
  484. package/tsconfig.json +0 -48
  485. package/tsup.config.js +0 -41
  486. package/vite.config.js +0 -132
  487. package/vitest.config.ts +0 -35
  488. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  489. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  490. /package/{Readme.md → README.md} +0 -0
  491. /package/{dist/components → components}/Avatar.d.ts +0 -0
  492. /package/{dist/components → components}/Button/Button.cjs +0 -0
  493. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  494. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  495. /package/{dist/components → components}/Button/Button.js +0 -0
  496. /package/{dist/components → components}/Button/Button.js.map +0 -0
  497. /package/{dist/components → components}/Button.d.ts +0 -0
  498. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  499. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  500. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  501. /package/{dist/components → components}/Column/Column.cjs +0 -0
  502. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  503. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  504. /package/{dist/components → components}/Column/Column.js +0 -0
  505. /package/{dist/components → components}/Column/Column.js.map +0 -0
  506. /package/{dist/components → components}/Column/index.d.ts +0 -0
  507. /package/{dist/components → components}/Column.d.ts +0 -0
  508. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  509. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  510. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  511. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  512. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  513. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  514. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  515. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  516. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  517. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  518. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  519. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  520. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  521. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  522. /package/{dist/components → components}/Flyout.d.ts +0 -0
  523. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  524. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  525. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  526. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  527. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  528. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  529. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  530. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  531. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  532. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  533. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  534. /package/{dist/components → components}/Table/Table.cjs +0 -0
  535. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  536. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  537. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  538. /package/{dist/components → components}/Table/Table.js +0 -0
  539. /package/{dist/components → components}/Table/Table.js.map +0 -0
  540. /package/{dist/components → components}/Table/data.d.ts +0 -0
  541. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  542. /package/{dist/components → components}/Table/index.d.ts +0 -0
  543. /package/{dist/components → components}/Table/types.d.ts +0 -0
  544. /package/{dist/components → components}/Table.d.ts +0 -0
  545. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  546. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  547. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  548. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  549. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  550. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  551. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  552. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  553. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  554. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  555. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  556. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  557. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  558. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  559. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  560. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  561. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  562. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  563. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  564. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  565. /package/{dist/index.css → index.css} +0 -0
@@ -1,468 +0,0 @@
1
- import React, { ReactElement, useMemo, useState, Children, isValidElement, useEffect, useRef } from 'react';
2
- import {
3
- FormControl,
4
- InputLabel,
5
- MenuItem,
6
- Select as MuiSelect,
7
- Chip,
8
- Avatar,
9
- Box,
10
- Typography,
11
- OutlinedInput,
12
- TextField,
13
- ListSubheader,
14
- CircularProgress,
15
- ListItemIcon,
16
- SelectChangeEvent,
17
- } from '@mui/material';
18
- import { styled } from '@mui/system';
19
- import ClearIcon from '@mui/icons-material/Clear';
20
- import CheckIcon from '@mui/icons-material/Check';
21
- import { Controller, Control, RegisterOptions } from 'react-hook-form';
22
-
23
- export interface SelectOption {
24
- value: string | number;
25
- label: string;
26
- img?: string;
27
- disabled?: boolean;
28
- group?: string;
29
- [key: string]: any;
30
- }
31
-
32
- type RenderOptionItem = (item: SelectOption) => React.ReactNode;
33
- type RenderChipLabel = (item: SelectOption) => React.ReactNode;
34
-
35
- // --- Definición de Props con Union Type ---
36
-
37
- // Props comunes para ambos modos
38
- interface BaseSelectProps<TValue extends SelectOption['value'] = SelectOption['value']> {
39
- label?: string;
40
- options?: SelectOption[];
41
- defaultValue?: TValue | TValue[];
42
- size?: 'small' | 'medium';
43
- multiple?: boolean;
44
- filterable?: boolean;
45
- placeholder?: string;
46
- children?: ReactElement<{ children: RenderOptionItem }>;
47
- maxHeight?: number | string;
48
- maxWidth?: number | string;
49
- maxChipsToShow?: number;
50
- renderChipLabel?: RenderChipLabel;
51
- chipVariant?: 'outlined' | 'filled';
52
- loadOptions?: (inputValue: string) => Promise<SelectOption[]>;
53
- loadingMessage?: React.ReactNode;
54
- noOptionsMessage?: React.ReactNode;
55
- debounceTimeout?: number;
56
- disabled?: boolean;
57
- error?: boolean;
58
- helperText?: string;
59
- }
60
-
61
- // Props para el modo React Hook Form
62
- interface RHFSelectProps<TValue extends SelectOption['value'] = SelectOption['value']> extends BaseSelectProps<TValue> {
63
- name: string;
64
- control: Control<any>;
65
- validation?: RegisterOptions;
66
- value?: TValue | TValue[];
67
- onChange?: (val: TValue | TValue[]) => void;
68
- }
69
-
70
- // Props para el modo controlado estándar
71
- interface StandardSelectProps<TValue extends SelectOption['value'] = SelectOption['value']> extends BaseSelectProps<TValue> {
72
- name?: string;
73
- control?: never;
74
- validation?: never;
75
- value: TValue | TValue[];
76
- onChange: (val: TValue | TValue[]) => void;
77
- }
78
-
79
- export type SelectProps<TValue extends SelectOption['value'] = SelectOption['value']> = RHFSelectProps<TValue> | StandardSelectProps<TValue>;
80
-
81
- export interface OptionProps {
82
- children: RenderOptionItem;
83
- }
84
-
85
- export function Option(_props: OptionProps) {
86
- return null;
87
- }
88
- Option.displayName = 'Option';
89
-
90
- const StyledSelect = styled(MuiSelect)(({ theme }) => ({
91
- '& .MuiInputBase-root': {
92
- maxHeight: '4px',
93
- padding: '8px 10px',
94
- borderRadius: '10px',
95
- display: 'flex',
96
- alignItems: 'center',
97
- fontSize: '14px',
98
- },
99
- '& .MuiSelect-select': {
100
- padding: '0 !important',
101
- height: '28px !important',
102
- display: 'flex',
103
- alignItems: 'center',
104
- marginLeft: '8px'
105
- },
106
- '& .MuiOutlinedInput-notchedOutline': {
107
- marginBottom: '-4px !important',
108
- borderRadius: '10px',
109
- },
110
- '& .MuiSelect-icon': {
111
- top: '50%',
112
- transform: 'translateY(-50%)',
113
- },
114
- '& .MuiOutlinedInput-notchedOutline > legend':{
115
- display: 'none',
116
- },
117
- }));
118
-
119
- const StyledLabel = styled(InputLabel)(({theme}) =>({
120
- '&.MuiInputLabel-root': {
121
- top: '50%',
122
- transform: 'translate(14px, -50%)',
123
- },
124
- '&.MuiInputLabel-shrink': {
125
- transform: 'translate(1px, -200%) scale(0.75)',
126
- fontSize: '16px',
127
- '> legend': {
128
- display: 'none',
129
- }
130
- },
131
- '&.MuiInputLabel-animated': {
132
- '&.MuiInputLabel-shrink': {
133
- display: 'block'
134
- }
135
- }
136
- }));
137
-
138
- const StyledOutlinedInput = styled(OutlinedInput)(({ theme }) => ({
139
- '& .MuiInputBase-root': {
140
- maxHeight: '34px',
141
- padding: '8px 10px',
142
- borderRadius: '10px',
143
- display: 'flex',
144
- alignItems: 'center',
145
- fontSize: '14px',
146
- ' & > .MuiAvatar-img': {
147
- width: '14px',
148
- height: '14px',
149
- }
150
- },
151
- '& .MuiInputBase-input': {
152
- padding: '0 !important',
153
- height: '18px',
154
- display: 'flex',
155
- alignItems: 'center',
156
- },
157
- '& .MuiOutlinedInput-notchedOutline': {
158
- border: '0.7px solid',
159
- borderColor: '#e0e0e0',
160
- },
161
- }));
162
-
163
- export function Select<TValue extends SelectOption['value'] = SelectOption['value']>(props: SelectProps<TValue>) {
164
- const {
165
- label,
166
- options = [],
167
- value,
168
- onChange,
169
- defaultValue,
170
- size = 'medium',
171
- multiple = false,
172
- filterable = false,
173
- placeholder,
174
- children,
175
- maxHeight = 300,
176
- maxWidth,
177
- maxChipsToShow = 3,
178
- renderChipLabel,
179
- chipVariant = 'outlined',
180
- loadOptions,
181
- loadingMessage = 'Cargando opciones...',
182
- noOptionsMessage = 'No hay opciones',
183
- debounceTimeout = 300,
184
- disabled = false,
185
- error = false,
186
- helperText,
187
- ...rest
188
- } = props;
189
-
190
- const isRHFMode = 'control' in rest && rest.control !== undefined;
191
-
192
- const customRender: RenderOptionItem | null = useMemo(() => {
193
- if (React.Children.count(children) === 1) {
194
- const child = React.Children.only(children);
195
- if (isValidElement(child) && (child.type as any)?.displayName === 'Option') {
196
- return (child.props as OptionProps).children;
197
- }
198
- }
199
- return null;
200
- }, [children]);
201
-
202
- const [search, setSearch] = useState('');
203
- const [asyncOptions, setAsyncOptions] = useState<SelectOption[]>([]);
204
- const [loading, setLoading] = useState(false);
205
- const debounceTimerRef = useRef<number | null>(null);
206
-
207
- const searchInputRef = useRef<HTMLInputElement>(null);
208
-
209
- const isAsync = typeof loadOptions === 'function';
210
- const currentOptions = isAsync ? asyncOptions : options;
211
-
212
- useEffect(() => {
213
- if (isAsync) {
214
- if (debounceTimerRef.current) {
215
- clearTimeout(debounceTimerRef.current);
216
- }
217
-
218
- if (search) {
219
- setLoading(true);
220
- debounceTimerRef.current = window.setTimeout(() => {
221
- loadOptions(search)
222
- .then(loadedOpts => {
223
- setAsyncOptions(loadedOpts);
224
- })
225
- .finally(() => {
226
- setLoading(false);
227
- if (searchInputRef.current) {
228
- searchInputRef.current.focus();
229
- }
230
- });
231
- }, debounceTimeout);
232
- } else {
233
- setAsyncOptions([]);
234
- setLoading(false);
235
- if (searchInputRef.current) {
236
- searchInputRef.current.focus();
237
- }
238
- }
239
- }
240
- }, [search, isAsync, loadOptions, debounceTimeout]);
241
-
242
- const filteredOptions = useMemo(() => {
243
- if (isAsync) {
244
- return currentOptions;
245
- }
246
- if (!filterable || !search) return currentOptions;
247
- return currentOptions.filter(opt =>
248
- opt.label.toLowerCase().includes(search.toLowerCase())
249
- );
250
- }, [search, filterable, currentOptions, isAsync]);
251
-
252
- const groupedOptions = useMemo(() => {
253
- const groups: Record<string, SelectOption[]> = {};
254
- filteredOptions.forEach(opt => {
255
- const group = opt.group || '__default';
256
- if (!groups[group]) groups[group] = [];
257
- groups[group].push(opt);
258
- });
259
- return groups;
260
- }, [filteredOptions]);
261
-
262
- const renderValue = (selected: any) => {
263
- if (!selected || (Array.isArray(selected) && selected.length === 0)) {
264
- return <Typography sx={{ color: 'text.disabled' }}>{placeholder || ''}</Typography>;
265
- }
266
-
267
- if (!multiple) {
268
- const item = currentOptions.find((opt) => opt.value === selected);
269
- return renderChipLabel && item ? renderChipLabel(item) : (item?.label ?? String(selected));
270
- }
271
-
272
- const selectedValuesArray = selected as TValue[];
273
- const displayedChips = selectedValuesArray.slice(0, maxChipsToShow);
274
- const hiddenChipsCount = selectedValuesArray.length - maxChipsToShow;
275
-
276
- return (
277
- <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 0.5 }}>
278
- {displayedChips.map((val) => {
279
- const item = currentOptions.find((o) => o.value === val);
280
- if (!item) return null;
281
-
282
- const handleDelete = (chipValue: TValue) => {
283
- const newSelected = (value as TValue[]).filter(v => v !== chipValue);
284
- (onChange as (val: TValue | TValue[]) => void)?.(newSelected);
285
- };
286
-
287
- return (
288
- <Chip
289
- variant={chipVariant}
290
- color="primary"
291
- key={val}
292
- label={renderChipLabel ? renderChipLabel(item) : item.label}
293
- avatar={item.img ?
294
- <Avatar
295
- sx={
296
- {
297
- '& > .MuiAvatar-root, .MuiChip-avatar': {
298
- backgroundColor: 'red',
299
- }
300
- }
301
- }
302
- src={item.img}
303
- /> : undefined}
304
- onDelete={() => handleDelete(val)}
305
- deleteIcon={<ClearIcon sx={{ fontSize: '12px !important' }} />}
306
- sx={
307
- {
308
- height: '27px',
309
- marginTop: '1px',
310
- }
311
- }
312
- />
313
- );
314
- })}
315
- {hiddenChipsCount > 0 && (
316
- <Chip
317
- sx={{
318
- height: '27px',
319
- marginTop: '0px',
320
- }}
321
- label={`+${hiddenChipsCount} más`} variant={chipVariant} />
322
- )}
323
- </Box>
324
- );
325
- };
326
-
327
- const menuItems = useMemo(() => {
328
- const items: React.ReactNode[] = [];
329
-
330
- if (filterable || isAsync) {
331
- items.push(
332
- <ListSubheader key="search-header" sx={{ px: 2, pt: 1, pb: 1, backgroundColor: 'background.paper', zIndex: 1, position: 'sticky', top: 0 }}>
333
- <TextField
334
- inputRef={searchInputRef}
335
- placeholder="Buscar..."
336
- variant="standard"
337
- size="small"
338
- fullWidth
339
- value={search}
340
- onChange={(e) => setSearch(e.target.value)}
341
- inputProps={{ autoFocus: true }}
342
- onClick={(e) => e.stopPropagation()}
343
- onKeyDown={(e) => e.stopPropagation()}
344
- />
345
- </ListSubheader>
346
- );
347
- }
348
-
349
- if (loading) {
350
- items.push(
351
- <MenuItem key="loading-message" disabled>
352
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
353
- <CircularProgress size={20} />
354
- <Typography>{loadingMessage}</Typography>
355
- </Box>
356
- </MenuItem>
357
- );
358
- } else if (Object.keys(groupedOptions).length === 0 || (Object.keys(groupedOptions).length === 1 && groupedOptions['__default'] && groupedOptions['__default'].length === 0)) {
359
- items.push(
360
- <MenuItem key="no-options-message" disabled>
361
- <Typography>{noOptionsMessage}</Typography>
362
- </MenuItem>
363
- );
364
- } else {
365
- Object.entries(groupedOptions).forEach(([group, opts]) => {
366
- if (group !== '__default') {
367
- items.push(
368
- <ListSubheader key={group} disableSticky>{group}</ListSubheader>
369
- );
370
- }
371
- opts.forEach((opt) => {
372
- const isSelected = multiple
373
- ? (value as TValue[] | undefined)?.includes(opt.value as TValue)
374
- : value === opt.value;
375
-
376
- items.push(
377
- <MenuItem key={opt.value} value={opt.value} disabled={opt.disabled} selected={isSelected}>
378
- <ListItemIcon sx={{ minWidth: 32 }}>
379
- {isSelected && (
380
- <CheckIcon sx={{ color: 'green' }} />
381
- )}
382
- </ListItemIcon>
383
- {customRender ? customRender(opt) : opt.label}
384
- </MenuItem>
385
- );
386
- });
387
- });
388
- }
389
- return items;
390
- }, [groupedOptions, customRender, filterable, isAsync, search, loading, loadingMessage, noOptionsMessage, multiple, value]);
391
-
392
- const showLabel = label && !placeholder;
393
-
394
- // Lógica para manejar el cambio de valor
395
- const handleChangeInternal = (event: SelectChangeEvent<any>, rhfOnChange?: (...event: any[]) => void) => {
396
- const newValue = event.target.value;
397
- if (isRHFMode) {
398
- rhfOnChange?.(newValue);
399
- } else {
400
- (onChange as (val: TValue | TValue[]) => void)?.(newValue);
401
- }
402
- };
403
-
404
- // Renderizado condicional basado en el modo
405
- const isRHFModeRender = 'control' in rest && rest.control !== undefined;
406
-
407
- const renderSelect = (selectValue: any, selectOnChange: any, onBlur?: any, inputRef?: any) => (
408
- <FormControl fullWidth size={size} error={error} disabled={disabled}>
409
- {showLabel && <StyledLabel>{label}</StyledLabel>}
410
- <Box
411
- sx={{
412
- width: '100%',
413
- display: 'grid',
414
- marginBottom: '10px',
415
- marginTop: '10px'
416
- }}>
417
- <StyledSelect
418
- label={label}
419
- value={selectValue ?? (multiple ? [] : '')}
420
- defaultValue={defaultValue}
421
- multiple={multiple}
422
- onChange={selectOnChange}
423
- onBlur={onBlur}
424
- renderValue={renderValue}
425
- displayEmpty
426
- input={<StyledOutlinedInput label={label} />}
427
- disabled={disabled}
428
- MenuProps={{
429
- PaperProps: {
430
- style: {
431
- maxHeight: maxHeight,
432
- maxWidth: maxWidth,
433
- },
434
- },
435
- }}
436
- inputRef={inputRef}
437
- {...rest}
438
- >
439
- {menuItems}
440
- </StyledSelect>
441
- {helperText && <Typography variant="caption" color="error" sx={{ mt: 1 }}>{helperText}</Typography>}
442
- </Box>
443
- </FormControl>
444
- );
445
-
446
- if (isRHFModeRender) {
447
- const rhfProps = rest as RHFSelectProps<TValue>;
448
- return (
449
- <Controller
450
- name={rhfProps.name}
451
- control={rhfProps.control}
452
- rules={rhfProps.validation}
453
- render={({ field, fieldState: { error } }) => (
454
- renderSelect(
455
- field.value,
456
- (e: SelectChangeEvent<any>) => handleChangeInternal(e, field.onChange),
457
- field.onBlur,
458
- field.ref
459
- )
460
- )}
461
- />
462
- );
463
- } else {
464
- return renderSelect(value, (e: SelectChangeEvent<any>) => handleChangeInternal(e));
465
- }
466
- }
467
-
468
- export default Select;
@@ -1 +0,0 @@
1
- export { default as Select, Option } from './Select'
@@ -1,85 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
- import { Stat, StatChip } from './Stat';
3
- import { Typography } from '@mui/material';
4
- import { expect, within } from 'storybook/test';
5
-
6
- const meta: Meta<typeof Stat> = {
7
- title: 'Components/Stat',
8
- component: Stat,
9
- parameters: {
10
- layout: 'centered',
11
- },
12
- tags: ['autodocs'],
13
- };
14
-
15
- export default meta;
16
- type Story = StoryObj<typeof Stat>;
17
-
18
- export const Default: Story = {
19
- args: {
20
- stat: 100,
21
- label: 'Total Sales',
22
- },
23
- };
24
-
25
- export const Simple: Story = {
26
- args: {
27
- stat: 75,
28
- stat2: 'Last Week',
29
- label: 'Completed Orders',
30
- simple: true,
31
- },
32
- };
33
-
34
- export const Chip: Story = {
35
- args: {
36
- stat: 42,
37
- label: 'New Users',
38
- chip: true,
39
- chipColor: '#673AB7',
40
- },
41
- };
42
-
43
- export const ChipList: Story = {
44
- args: {
45
- label: 'Status',
46
- chipList: true,
47
- chips: [
48
- { stat: 'Active', chipColor: '#4CAF50' },
49
- { stat: 'Pending', chipColor: '#FFC107' },
50
- { stat: 'Blocked', chipColor: '#F44336' },
51
- ] as StatChip[],
52
- },
53
- };
54
-
55
- export const WithCustomDisplay: Story = {
56
- args: {
57
- stat: 350,
58
- label: 'Revenue',
59
- chip: true,
60
- chipColor: '#2E7D32',
61
- statDisplay: (stat: any) => (
62
- <Typography variant="h6" fontWeight="bold">
63
- ${stat.toLocaleString()}
64
- </Typography>
65
- ),
66
- },
67
- };
68
-
69
- export const aStat: Story = {
70
- args: {
71
- stat: 42,
72
- label: 'New Users',
73
- chip: true,
74
- chipColor: '#673AB7',
75
- },
76
- play: async ({ canvasElement }) => {
77
- const canvas = within(canvasElement);
78
-
79
- const stat = canvas.getByTestId('chip-template-option-outlet');
80
- expect(stat).toBeInTheDocument();
81
-
82
- expect(canvas.getByText('42')).toBeInTheDocument();
83
-
84
- }
85
- }
@@ -1,117 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import { Chip, Stack, Typography, Box } from '@mui/material';
3
-
4
- export interface StatChip {
5
- stat: any;
6
- chipColor: string;
7
- }
8
-
9
- export interface StatProps {
10
- stat: any; // Replace 'any' with the actual type of 'stat'
11
- stat2?: any; // Replace 'any' with the actual type of'stat2'
12
- label: string; // Replace 'any' with the actual type of'label'
13
- color?: string;
14
- chipColor?: string;
15
- chips?: StatChip[]; // Replace 'any' with the actual type of'chips'
16
- simple?: boolean;
17
- chip?: boolean;
18
- chipList?: boolean;
19
- children?: React.ReactNode;
20
- statDisplay?: (stat: any) => React.ReactNode;
21
- }
22
-
23
- export const Stat: React.FC<StatProps> = ({
24
- stat,
25
- stat2,
26
- label,
27
- color = '#1469B8',
28
- chipColor = '#1469B8',
29
- chips = [],
30
- simple = false,
31
- chip = false,
32
- chipList = false,
33
- children,
34
- statDisplay,
35
- }) => {
36
- const selectedTemplate = useMemo(() => {
37
- if (simple) return 'simple';
38
- if (chip) return 'chip';
39
- if (chipList) return 'chipList';
40
- return 'default';
41
- }, [simple, chip, chipList]);
42
-
43
- const renderStatDisplay = () => {
44
- return statDisplay ? statDisplay(stat) : <Typography variant="h6">{stat}</Typography>;
45
- };
46
-
47
- return (
48
- <>
49
- {selectedTemplate === 'default' && (
50
- <Box className="stat">
51
- <Typography variant="h4" data-testid="selection-template-option-outlet">
52
- {renderStatDisplay()}
53
- </Typography>
54
- <Box className="stat__label" display="flex" alignItems="center" gap={1}>
55
- <Typography variant="body1">{label}</Typography>
56
- <Box
57
- width={40}
58
- height={4}
59
- bgcolor={color}
60
- data-testid="stat-border"
61
- borderRadius={2}
62
- />
63
- </Box>
64
- </Box>
65
- )}
66
-
67
- {selectedTemplate === 'simple' && (
68
- <Stack direction="row" spacing={2} alignItems="center">
69
- <Typography variant="body1">{label}</Typography>
70
- <Typography data-testid="selection-template-option-outlet">
71
- {renderStatDisplay()}
72
- </Typography>
73
- {stat2 && <Typography>{stat2}</Typography>}
74
- </Stack>
75
- )}
76
-
77
- {selectedTemplate === 'chip' && (
78
- <Stack direction="row" spacing={2} alignItems="center">
79
- <Typography variant="body1">{label}</Typography>
80
- <Chip
81
- data-testid="chip-template-option-outlet"
82
- label={renderStatDisplay()}
83
- sx={{
84
- backgroundColor: chipColor,
85
- color: '#fff',
86
- fontWeight: 'bold',
87
- }}
88
- />
89
- </Stack>
90
- )}
91
-
92
- {selectedTemplate === 'chipList' && (
93
- <Stack direction="row" spacing={2} alignItems="center">
94
- <Typography variant="body1">{label}</Typography>
95
- <Stack direction="row" spacing={1}>
96
- {chips.map((chip, i) => (
97
- <Chip
98
- key={i}
99
- label={chip.stat}
100
- sx={{
101
- backgroundColor: chip.chipColor,
102
- color: '#fff',
103
- fontWeight: 'bold',
104
- }}
105
- />
106
- ))}
107
- </Stack>
108
- </Stack>
109
- )}
110
-
111
- {/* Content projection (similar to ng-content) */}
112
- {children}
113
- </>
114
- );
115
- };
116
-
117
- export default Stat;
@@ -1,2 +0,0 @@
1
- import '../../styles.css';
2
- export { default as Stat } from './Stat'