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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) 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 +99 -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 +99 -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 +272 -0
  85. package/components/Drawer/Drawer.cjs.map +1 -0
  86. package/components/Drawer/Drawer.d.ts +58 -0
  87. package/components/Drawer/Drawer.js +272 -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 +90 -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 +90 -0
  168. package/components/StatusMessage/StatusMessage.js.map +1 -0
  169. package/components/StatusMessage/index.d.ts +2 -0
  170. package/components/StatusMessage.d.ts +6 -0
  171. package/components/Stepper/Stepper.cjs +302 -0
  172. package/components/Stepper/Stepper.cjs.map +1 -0
  173. package/components/Stepper/Stepper.d.ts +17 -0
  174. package/components/Stepper/Stepper.js +302 -0
  175. package/components/Stepper/Stepper.js.map +1 -0
  176. package/components/Stepper/StepperContext.d.ts +73 -0
  177. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  178. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  179. package/components/Stepper/index.d.ts +6 -0
  180. package/components/Stepper.d.ts +6 -0
  181. package/components/Switch/Switch.cjs +184 -0
  182. package/components/Switch/Switch.cjs.map +1 -0
  183. package/components/Switch/Switch.d.ts +48 -0
  184. package/components/Switch/Switch.definitions.d.ts +7 -0
  185. package/components/Switch/Switch.js +184 -0
  186. package/components/Switch/Switch.js.map +1 -0
  187. package/components/Switch/Switch.sx.d.ts +22 -0
  188. package/components/Switch/Switch.types.d.ts +1 -0
  189. package/components/Switch/index.d.ts +2 -0
  190. package/components/Switch.d.ts +6 -0
  191. package/components/Tabs/Tabs.cjs +112 -0
  192. package/components/Tabs/Tabs.cjs.map +1 -0
  193. package/components/Tabs/Tabs.d.ts +24 -0
  194. package/components/Tabs/Tabs.js +112 -0
  195. package/components/Tabs/Tabs.js.map +1 -0
  196. package/components/Tabs/index.d.ts +4 -0
  197. package/components/Tabs.d.ts +6 -0
  198. package/{dist/components → components}/Timeline/Timeline.cjs +3 -2
  199. package/components/Timeline/Timeline.cjs.map +1 -0
  200. package/components/Timeline/Timeline.d.ts +9 -0
  201. package/{dist/components → components}/Timeline/Timeline.js +3 -2
  202. package/components/Timeline/Timeline.js.map +1 -0
  203. package/components/Timeline/index.d.ts +4 -0
  204. package/components/Timeline.d.ts +6 -0
  205. package/components/_shared/formField.sx.d.ts +33 -0
  206. package/components/_shared/mergeSx.d.ts +7 -0
  207. package/components/_shared/resolvePreset.d.ts +18 -0
  208. package/formField.sx-8_QRnKxv.js +68 -0
  209. package/formField.sx-8_QRnKxv.js.map +1 -0
  210. package/formField.sx-BAX7KwMR.cjs +67 -0
  211. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  212. package/index.cjs +145 -0
  213. package/index.cjs.map +1 -0
  214. package/index.d.ts +4 -0
  215. package/index.js +49 -0
  216. package/index.js.map +1 -0
  217. package/mergeSx-BXoNZjB_.js +10 -0
  218. package/mergeSx-BXoNZjB_.js.map +1 -0
  219. package/mergeSx-Dbccoo_H.cjs +9 -0
  220. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  221. package/mui.d.ts +7 -0
  222. package/package.json +164 -43
  223. package/resolvePreset-B-IB0ehH.js +15 -0
  224. package/resolvePreset-B-IB0ehH.js.map +1 -0
  225. package/resolvePreset-CT3kU-K2.cjs +14 -0
  226. package/resolvePreset-CT3kU-K2.cjs.map +1 -0
  227. package/theme/componentStyles.d.ts +32 -0
  228. package/theme/tokens.d.ts +28 -0
  229. package/tokens-BRrcP_p_.js +21 -0
  230. package/tokens-BRrcP_p_.js.map +1 -0
  231. package/tokens-jaWWNk39.cjs +20 -0
  232. package/tokens-jaWWNk39.cjs.map +1 -0
  233. package/utils/index.d.ts +2 -0
  234. package/utils/scrollToTop.d.ts +28 -0
  235. package/.dockerignore +0 -8
  236. package/.github/workflows/publish.yml +0 -107
  237. package/.prettierrc +0 -3
  238. package/.storybook/main.ts +0 -19
  239. package/.storybook/preview.ts +0 -14
  240. package/.storybook/vitest.setup.ts +0 -9
  241. package/Dockerfile +0 -37
  242. package/build.js +0 -102
  243. package/chromatic.config.json +0 -5
  244. package/cleanDirectories.js +0 -40
  245. package/dist/Button-C17mExpd.cjs.map +0 -1
  246. package/dist/Button-UkkP-bNw.js.map +0 -1
  247. package/dist/DatePicker-BSNboVhN.js +0 -201
  248. package/dist/DatePicker-BSNboVhN.js.map +0 -1
  249. package/dist/DatePicker-BoqxWAhj.cjs +0 -200
  250. package/dist/DatePicker-BoqxWAhj.cjs.map +0 -1
  251. package/dist/Input-DFHs7cJ_.js +0 -171
  252. package/dist/Input-DFHs7cJ_.js.map +0 -1
  253. package/dist/Input-c8MwNNPg.cjs +0 -170
  254. package/dist/Input-c8MwNNPg.cjs.map +0 -1
  255. package/dist/Select-BO2N56sm.cjs +0 -411
  256. package/dist/Select-BO2N56sm.cjs.map +0 -1
  257. package/dist/Select-BcLkyHSE.js +0 -412
  258. package/dist/Select-BcLkyHSE.js.map +0 -1
  259. package/dist/components/Autocomplete/Autocomplete.cjs +0 -109
  260. package/dist/components/Autocomplete/Autocomplete.cjs.map +0 -1
  261. package/dist/components/Autocomplete/Autocomplete.d.ts +0 -28
  262. package/dist/components/Autocomplete/Autocomplete.definitions.d.ts +0 -9
  263. package/dist/components/Autocomplete/Autocomplete.js +0 -109
  264. package/dist/components/Autocomplete/Autocomplete.js.map +0 -1
  265. package/dist/components/Autocomplete/index.d.ts +0 -1
  266. package/dist/components/Autocomplete.d.ts +0 -2
  267. package/dist/components/Avatar/Avatar.cjs +0 -126
  268. package/dist/components/Avatar/Avatar.cjs.map +0 -1
  269. package/dist/components/Avatar/Avatar.d.ts +0 -19
  270. package/dist/components/Avatar/Avatar.js +0 -126
  271. package/dist/components/Avatar/Avatar.js.map +0 -1
  272. package/dist/components/Avatar/index.d.ts +0 -1
  273. package/dist/components/Card/Card.cjs +0 -28
  274. package/dist/components/Card/Card.cjs.map +0 -1
  275. package/dist/components/Card/Card.d.ts +0 -13
  276. package/dist/components/Card/Card.js +0 -28
  277. package/dist/components/Card/Card.js.map +0 -1
  278. package/dist/components/Card/index.d.ts +0 -1
  279. package/dist/components/Card.d.ts +0 -2
  280. package/dist/components/Chip/Chip.cjs.map +0 -1
  281. package/dist/components/Chip/Chip.js.map +0 -1
  282. package/dist/components/Chip/index.d.ts +0 -1
  283. package/dist/components/Chip.d.ts +0 -2
  284. package/dist/components/DatePicker/DatePicker.cjs +0 -5
  285. package/dist/components/DatePicker/DatePicker.cjs.map +0 -1
  286. package/dist/components/DatePicker/DatePicker.d.ts +0 -18
  287. package/dist/components/DatePicker/DatePicker.js +0 -5
  288. package/dist/components/DatePicker/DatePicker.js.map +0 -1
  289. package/dist/components/DatePicker/index.d.ts +0 -1
  290. package/dist/components/DatePicker.d.ts +0 -2
  291. package/dist/components/DateTimePicker/DateTimePicker.cjs +0 -208
  292. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +0 -1
  293. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -28
  294. package/dist/components/DateTimePicker/DateTimePicker.js +0 -208
  295. package/dist/components/DateTimePicker/DateTimePicker.js.map +0 -1
  296. package/dist/components/DateTimePicker/index.d.ts +0 -1
  297. package/dist/components/DateTimePicker.d.ts +0 -2
  298. package/dist/components/Gallery/Gallery.cjs.map +0 -1
  299. package/dist/components/Gallery/Gallery.d.ts +0 -12
  300. package/dist/components/Gallery/Gallery.js.map +0 -1
  301. package/dist/components/Gallery/GalleryLightbox.d.ts +0 -20
  302. package/dist/components/Gallery/GalleryThumbnails.d.ts +0 -17
  303. package/dist/components/Gallery/index.d.ts +0 -1
  304. package/dist/components/Gallery.d.ts +0 -2
  305. package/dist/components/Icon/Icon.cjs.map +0 -1
  306. package/dist/components/Icon/Icon.d.ts +0 -21
  307. package/dist/components/Icon/Icon.js.map +0 -1
  308. package/dist/components/Icon/index.d.ts +0 -1
  309. package/dist/components/Icon.d.ts +0 -2
  310. package/dist/components/Input/Input.cjs +0 -5
  311. package/dist/components/Input/Input.cjs.map +0 -1
  312. package/dist/components/Input/Input.d.ts +0 -32
  313. package/dist/components/Input/Input.js +0 -5
  314. package/dist/components/Input/Input.js.map +0 -1
  315. package/dist/components/Input/index.d.ts +0 -1
  316. package/dist/components/Input.d.ts +0 -2
  317. package/dist/components/InputGroup/InputGroup.cjs +0 -126
  318. package/dist/components/InputGroup/InputGroup.cjs.map +0 -1
  319. package/dist/components/InputGroup/InputGroup.d.ts +0 -6
  320. package/dist/components/InputGroup/InputGroup.js +0 -126
  321. package/dist/components/InputGroup/InputGroup.js.map +0 -1
  322. package/dist/components/InputGroup/index.d.ts +0 -1
  323. package/dist/components/InputGroup.d.ts +0 -2
  324. package/dist/components/Modal/Modal.cjs +0 -209
  325. package/dist/components/Modal/Modal.cjs.map +0 -1
  326. package/dist/components/Modal/Modal.d.ts +0 -29
  327. package/dist/components/Modal/Modal.js +0 -209
  328. package/dist/components/Modal/Modal.js.map +0 -1
  329. package/dist/components/Modal/ModalBody.d.ts +0 -6
  330. package/dist/components/Modal/ModalFooter.d.ts +0 -19
  331. package/dist/components/Modal/ModalHeader.d.ts +0 -6
  332. package/dist/components/Modal/index.d.ts +0 -1
  333. package/dist/components/Modal.d.ts +0 -2
  334. package/dist/components/Select/Select.cjs +0 -6
  335. package/dist/components/Select/Select.cjs.map +0 -1
  336. package/dist/components/Select/Select.d.ts +0 -60
  337. package/dist/components/Select/Select.definitions.d.ts +0 -14
  338. package/dist/components/Select/Select.js +0 -6
  339. package/dist/components/Select/Select.js.map +0 -1
  340. package/dist/components/Select/index.d.ts +0 -1
  341. package/dist/components/Select.d.ts +0 -2
  342. package/dist/components/Stat/index.d.ts +0 -1
  343. package/dist/components/Stat.d.ts +0 -2
  344. package/dist/components/StatusMessage/StatusMessage.cjs +0 -79
  345. package/dist/components/StatusMessage/StatusMessage.cjs.map +0 -1
  346. package/dist/components/StatusMessage/StatusMessage.d.ts +0 -44
  347. package/dist/components/StatusMessage/StatusMessage.js +0 -79
  348. package/dist/components/StatusMessage/StatusMessage.js.map +0 -1
  349. package/dist/components/StatusMessage/index.d.ts +0 -1
  350. package/dist/components/StatusMessage.d.ts +0 -2
  351. package/dist/components/Stepper/Stepper.cjs +0 -46
  352. package/dist/components/Stepper/Stepper.cjs.map +0 -1
  353. package/dist/components/Stepper/Stepper.d.ts +0 -11
  354. package/dist/components/Stepper/Stepper.js +0 -46
  355. package/dist/components/Stepper/Stepper.js.map +0 -1
  356. package/dist/components/Stepper/index.d.ts +0 -2
  357. package/dist/components/Stepper.d.ts +0 -2
  358. package/dist/components/Tabs/Tabs.cjs +0 -96
  359. package/dist/components/Tabs/Tabs.cjs.map +0 -1
  360. package/dist/components/Tabs/Tabs.d.ts +0 -19
  361. package/dist/components/Tabs/Tabs.js +0 -96
  362. package/dist/components/Tabs/Tabs.js.map +0 -1
  363. package/dist/components/Tabs/index.d.ts +0 -2
  364. package/dist/components/Tabs.d.ts +0 -2
  365. package/dist/components/Timeline/Timeline.cjs.map +0 -1
  366. package/dist/components/Timeline/Timeline.d.ts +0 -13
  367. package/dist/components/Timeline/Timeline.js.map +0 -1
  368. package/dist/components/Timeline/index.d.ts +0 -2
  369. package/dist/components/Timeline.d.ts +0 -2
  370. package/dist/index.cjs +0 -2
  371. package/dist/index.cjs.map +0 -1
  372. package/dist/index.d.ts +0 -0
  373. package/dist/index.js +0 -2
  374. package/dist/index.js.map +0 -1
  375. package/dist/styles.css +0 -112
  376. package/rollup.config.cjs +0 -87
  377. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -254
  378. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -387
  379. package/src/components/Autocomplete/Autocomplete.tsx +0 -139
  380. package/src/components/Autocomplete/index.ts +0 -1
  381. package/src/components/Avatar/Avatar.stories.tsx +0 -54
  382. package/src/components/Avatar/Avatar.tsx +0 -143
  383. package/src/components/Avatar/index.ts +0 -1
  384. package/src/components/Button/Button.definition.ts +0 -97
  385. package/src/components/Button/Button.stories.tsx +0 -285
  386. package/src/components/Button/Button.tsx +0 -67
  387. package/src/components/Button/index.ts +0 -1
  388. package/src/components/Card/Card.definition.ts +0 -5
  389. package/src/components/Card/Card.stories.tsx +0 -32
  390. package/src/components/Card/Card.tsx +0 -44
  391. package/src/components/Card/index.ts +0 -1
  392. package/src/components/Chip/Chip.definitions.ts +0 -167
  393. package/src/components/Chip/Chip.stories.tsx +0 -265
  394. package/src/components/Chip/Chip.tsx +0 -61
  395. package/src/components/Chip/index.ts +0 -1
  396. package/src/components/Column/Column.tsx +0 -29
  397. package/src/components/Column/index.ts +0 -1
  398. package/src/components/DatePicker/DatePicker.definitions.ts +0 -205
  399. package/src/components/DatePicker/DatePicker.stories.tsx +0 -282
  400. package/src/components/DatePicker/DatePicker.tsx +0 -165
  401. package/src/components/DatePicker/index.ts +0 -1
  402. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  403. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  404. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  405. package/src/components/DateRangePicker/index.ts +0 -1
  406. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -232
  407. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -390
  408. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -191
  409. package/src/components/DateTimePicker/index.ts +0 -1
  410. package/src/components/Flyout/Flyout.stories.tsx +0 -274
  411. package/src/components/Flyout/Flyout.tsx +0 -122
  412. package/src/components/Flyout/index.ts +0 -1
  413. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  414. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  415. package/src/components/Gallery/Gallery.tsx +0 -118
  416. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  417. package/src/components/Gallery/GalleryMain.tsx +0 -84
  418. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  419. package/src/components/Gallery/index.ts +0 -1
  420. package/src/components/Icon/Icon.stories.tsx +0 -54
  421. package/src/components/Icon/Icon.tsx +0 -94
  422. package/src/components/Icon/index.ts +0 -2
  423. package/src/components/Input/Input.definitions.ts +0 -252
  424. package/src/components/Input/Input.stories.tsx +0 -387
  425. package/src/components/Input/Input.tsx +0 -186
  426. package/src/components/Input/index.ts +0 -1
  427. package/src/components/InputGroup/InputGroup.stories.tsx +0 -136
  428. package/src/components/InputGroup/InputGroup.tsx +0 -136
  429. package/src/components/InputGroup/index.ts +0 -1
  430. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  431. package/src/components/MenuButton/MenuButton.tsx +0 -100
  432. package/src/components/MenuButton/index.ts +0 -1
  433. package/src/components/Modal/Modal.stories.tsx +0 -293
  434. package/src/components/Modal/Modal.tsx +0 -173
  435. package/src/components/Modal/ModalBody.tsx +0 -16
  436. package/src/components/Modal/ModalFooter.tsx +0 -61
  437. package/src/components/Modal/ModalHeader.tsx +0 -18
  438. package/src/components/Modal/index.ts +0 -1
  439. package/src/components/Select/Select.definitions.ts +0 -488
  440. package/src/components/Select/Select.stories.tsx +0 -569
  441. package/src/components/Select/Select.tsx +0 -468
  442. package/src/components/Select/index.ts +0 -1
  443. package/src/components/Stat/Stat.stories.tsx +0 -85
  444. package/src/components/Stat/Stat.tsx +0 -117
  445. package/src/components/Stat/index.ts +0 -2
  446. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  447. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  448. package/src/components/StatusMessage/index.ts +0 -2
  449. package/src/components/Stepper/Step.tsx +0 -21
  450. package/src/components/Stepper/Stepper.definition.ts +0 -75
  451. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  452. package/src/components/Stepper/Stepper.tsx +0 -59
  453. package/src/components/Stepper/index.ts +0 -2
  454. package/src/components/Table/EmptyTable.png +0 -0
  455. package/src/components/Table/Table.definition.ts +0 -580
  456. package/src/components/Table/Table.stories.tsx +0 -853
  457. package/src/components/Table/Table.tsx +0 -495
  458. package/src/components/Table/data.ts +0 -134
  459. package/src/components/Table/exportsUtils.ts +0 -195
  460. package/src/components/Table/index.ts +0 -3
  461. package/src/components/Table/types.ts +0 -34
  462. package/src/components/Tabs/Tab.definition.ts +0 -53
  463. package/src/components/Tabs/Tab.tsx +0 -19
  464. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  465. package/src/components/Tabs/Tabs.tsx +0 -99
  466. package/src/components/Tabs/_tabUtils.tsx +0 -4
  467. package/src/components/Tabs/index.ts +0 -2
  468. package/src/components/Timeline/Timeline.definition.ts +0 -43
  469. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  470. package/src/components/Timeline/Timeline.tsx +0 -49
  471. package/src/components/Timeline/TimelineItem.tsx +0 -31
  472. package/src/components/Timeline/index.ts +0 -2
  473. package/src/components/Tooltip/Tooltip.stories.tsx +0 -117
  474. package/src/components/Tooltip/Tooltip.tsx +0 -58
  475. package/src/components/Tooltip/index.ts +0 -1
  476. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  477. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  478. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  479. package/src/hooks/ClipBoard/index.ts +0 -1
  480. package/src/index.ts +0 -1
  481. package/src/styles.css +0 -3
  482. package/tailwind.config.js +0 -10
  483. package/tsconfig.json +0 -48
  484. package/tsup.config.js +0 -41
  485. package/vite.config.js +0 -132
  486. package/vitest.config.ts +0 -35
  487. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  488. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  489. /package/{Readme.md → README.md} +0 -0
  490. /package/{dist/components → components}/Avatar.d.ts +0 -0
  491. /package/{dist/components → components}/Button/Button.cjs +0 -0
  492. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  493. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  494. /package/{dist/components → components}/Button/Button.js +0 -0
  495. /package/{dist/components → components}/Button/Button.js.map +0 -0
  496. /package/{dist/components → components}/Button.d.ts +0 -0
  497. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  498. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  499. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  500. /package/{dist/components → components}/Column/Column.cjs +0 -0
  501. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  502. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  503. /package/{dist/components → components}/Column/Column.js +0 -0
  504. /package/{dist/components → components}/Column/Column.js.map +0 -0
  505. /package/{dist/components → components}/Column/index.d.ts +0 -0
  506. /package/{dist/components → components}/Column.d.ts +0 -0
  507. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  508. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  509. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  510. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  511. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  512. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  513. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  514. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  515. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  516. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  517. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  518. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  519. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  520. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  521. /package/{dist/components → components}/Flyout.d.ts +0 -0
  522. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  523. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  524. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  525. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  526. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  527. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  528. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  529. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  530. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  531. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  532. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  533. /package/{dist/components → components}/Table/Table.cjs +0 -0
  534. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  535. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  536. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  537. /package/{dist/components → components}/Table/Table.js +0 -0
  538. /package/{dist/components → components}/Table/Table.js.map +0 -0
  539. /package/{dist/components → components}/Table/data.d.ts +0 -0
  540. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  541. /package/{dist/components → components}/Table/index.d.ts +0 -0
  542. /package/{dist/components → components}/Table/types.d.ts +0 -0
  543. /package/{dist/components → components}/Table.d.ts +0 -0
  544. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  545. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  546. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  547. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  548. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  549. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  550. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  551. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  552. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  553. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  554. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  555. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  556. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  557. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  558. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  559. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  560. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  561. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  562. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  563. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  564. /package/{dist/index.css → index.css} +0 -0
@@ -1,569 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import React, { ReactElement, useMemo, useState, Children, isValidElement } from 'react';
3
- import {
4
- FormControl,
5
- InputLabel,
6
- MenuItem,
7
-
8
- Chip,
9
- Avatar,
10
- Box,
11
- Typography,
12
- OutlinedInput,
13
- TextField,
14
- ListSubheader,
15
- } from '@mui/material';
16
- import ClearIcon from '@mui/icons-material/Clear'; // Icono de cerrar
17
-
18
- // Importar las definiciones de las historias
19
- import {
20
- SimpleSelectDefinition,
21
- MultiSelectDefinition,
22
- WithPlaceholderDefinition,
23
- WithFilterDefinition,
24
- WithGroupDefinition,
25
- CustomRenderWithAvatarDefinition,
26
- MultiSelectCustomChipRenderDefinition,
27
- MultiSelectCustomChipRenderFullLabelDefinition,
28
- ConstrainedHeightDefinition,
29
- ConstrainedWidthDefinition,
30
- AllFeaturesCombinedDefinition,
31
- EmptyOptionsDefinition,
32
- SelectWithManyOptionsDefinition,
33
- AsyncSelectDefinition,
34
- } from "./Select.definitions";
35
- import Select, { SelectOption, Option } from './Select';
36
-
37
- // =============================================================================
38
- // Datos de ejemplo para las historias
39
- // =============================================================================
40
- const basicOptions: SelectOption[] = [
41
- { value: '10', label: '10' },
42
- { value: '25', label: '25' },
43
- { value: '50', label: '50' },
44
- { value: '100', label: '100' },
45
- ];
46
-
47
- const groupedOptions: SelectOption[] = [
48
- { value: 'gt', label: 'Guatemala', group: 'Centroamérica' },
49
- { value: 'sv', label: 'El Salvador', group: 'Centroamérica' },
50
- { value: 'mx', label: 'México', group: 'Norteamérica' },
51
- { value: 'us', label: 'EE.UU.', group: 'Norteamérica' },
52
- { value: 'ca', label: 'Canadá', group: 'Norteamérica' },
53
- { value: 'br', label: 'Brasil', group: 'Sudamérica' },
54
- { value: 'ar', label: 'Argentina', group: 'Sudamérica' },
55
- ];
56
-
57
- const userOptions: SelectOption[] = [
58
- { value: 'admin', label: 'Administrador', img: 'https://placehold.co/40x40?text=A' },
59
- { value: 'user', label: 'Usuario', img: 'https://placehold.co/40x40?text=U' },
60
- { value: 'moderator', label: 'Moderador', img: 'https://placehold.co/40x40?text=M' },
61
- { value: 'guest', label: 'Invitado', img: 'https://placehold.co/40x40?text=G', disabled: true },
62
- ];
63
-
64
- const transactionStatuses: SelectOption[] = [
65
- { value: 'PENDING', label: 'Pendiente' },
66
- { value: 'REJECTED', label: 'Rechazado' },
67
- { value: 'CANCELED', label: 'Cancelado' },
68
- { value: 'REFUNDED', label: 'Reembolsado' },
69
- { value: 'COMPLETED', label: 'Completado' },
70
- { value: 'EXPIRED', label: 'Expirado' },
71
- ];
72
-
73
- // =============================================================================
74
- // Definición de las meta-propiedades para Storybook
75
- // =============================================================================
76
- const meta: Meta<typeof Select> = {
77
- title: 'Components/Select',
78
- component: Select,
79
- tags: ['autodocs'],
80
- parameters: {
81
- layout: 'padded',
82
- docs: {
83
- description: {
84
- component: 'Componente select personalizado con soporte para múltiples variantes como agrupación, chips, filtros, y renderizado personalizado.',
85
- },
86
- },
87
- },
88
- argTypes: {
89
- label: { control: 'text', description: 'Etiqueta para el campo de selección.' },
90
- options: { control: 'object', description: 'Array de objetos `SelectOption` para las opciones del menú.' },
91
- value: { control: 'object', description: 'Valor(es) seleccionado(s) del select.' },
92
- defaultValue: { control: 'object', description: 'Valor(es) por defecto del select.' },
93
- onChange: { action: 'changed', description: 'Función de callback que se llama cuando el valor del select cambia.' },
94
- size: { control: 'radio', options: ['small', 'medium'], description: 'Define el tamaño del componente Select.' },
95
- multiple: { control: 'boolean', description: 'Si es verdadero, permite la selección de múltiples opciones.' },
96
- filterable: { control: 'boolean', description: 'Si es verdadero, añade un campo de búsqueda para filtrar las opciones.' },
97
- placeholder: { control: 'text', description: 'Texto que se muestra cuando no hay nada seleccionado.' },
98
- children: { control: false, description: 'Componente `Option` para un renderizado personalizado de las opciones del menú.' },
99
- maxHeight: { control: 'number', description: 'Altura máxima del menú desplegable.' },
100
- maxWidth: { control: 'text', description: 'Ancho máximo del menú desplegable.' },
101
- maxChipsToShow: { control: 'number', description: 'Número máximo de chips a mostrar en selección múltiple antes de agrupar.', if: { arg: 'multiple', eq: true } },
102
- renderChipLabel: { control: false, description: 'Función para personalizar el contenido del label de cada chip seleccionado (para múltiple) o del valor mostrado (para individual).', },
103
- }
104
- };
105
-
106
- export default meta;
107
- type Story = StoryObj<typeof Select>;
108
-
109
- // =============================================================================
110
- // Historias existentes (proporcionadas por el usuario)
111
- // =============================================================================
112
- export const SimpleSelect: Story = {
113
- render: () => {
114
- const [value, setValue] = useState<string>('25');
115
- return (
116
- <Box sx={{ width: 200 }}>
117
- <Select
118
- label="Registros por página"
119
- options={basicOptions}
120
- value={value}
121
- onChange={(val) => setValue(val as string)}
122
- maxWidth={150}
123
- />
124
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
125
- </Box>
126
- );
127
- },
128
- parameters: {
129
- docs: {
130
- description: {
131
- story: "Select simple con opciones básicas y valor por defecto."
132
- },
133
- source: { code: SimpleSelectDefinition.trim() } // Referencia a la definición
134
- }
135
- }
136
- };
137
-
138
- export const MultiSelect: Story = {
139
- render: () => {
140
- const [value, setValue] = useState<string[]>([]);
141
- return (
142
- <Box sx={{ width: 400 }}>
143
- <Select
144
- label="Seleccionar estados"
145
- multiple
146
- maxChipsToShow={2}
147
- options={[
148
- { value: 'pending', label: 'Pendiente' },
149
- { value: 'approved', label: 'Aprobado' },
150
- { value: 'rejected', label: 'Rechazado' },
151
- { value: 'canceled', label: 'Cancelado' },
152
- { value: 'completed', label: 'Completado' },
153
- { value: 'invoiced', label: 'Facturado' },
154
- ]}
155
- value={value}
156
- onChange={(val) => setValue(val as string[])}
157
- />
158
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {JSON.stringify(value)}</Typography>
159
- </Box>
160
- );
161
- },
162
- parameters: {
163
- docs: {
164
- description: {
165
- story: "Select múltiple que permite seleccionar varias opciones, limitando a 2 chips."
166
- },
167
- source: { code: MultiSelectDefinition.trim() } // Referencia a la definición
168
- }
169
- }
170
- };
171
-
172
- export const WithPlaceholder: Story = {
173
- render: () => {
174
- const [value, setValue] = useState('');
175
- return (
176
- <Box sx={{ width: 300 }}>
177
- <Select
178
- label="Seleccione una opción"
179
- options={basicOptions}
180
- value={value}
181
- onChange={(val) => setValue(val as string)}
182
- placeholder="Ninguna opción seleccionada"
183
- />
184
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value || 'Ninguno'}</Typography>
185
- </Box>
186
- );
187
- },
188
- parameters: {
189
- docs: {
190
- description: {
191
- story: "Select con placeholder sin valor inicial seleccionado."
192
- },
193
- source: { code: WithPlaceholderDefinition.trim() } // Referencia a la definición
194
- }
195
- }
196
- };
197
-
198
- export const WithFilter: Story = {
199
- render: () => {
200
- const [value, setValue] = useState('');
201
- return (
202
- <Box sx={{ width: 300 }}>
203
- <Select
204
- label="Buscar país"
205
- filterable
206
- options={groupedOptions}
207
- value={value}
208
- onChange={(val) => setValue(val as string)}
209
- />
210
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
211
- </Box>
212
- );
213
- },
214
- parameters: {
215
- docs: {
216
- description: {
217
- story: "Select con capacidad de filtrado de opciones."
218
- },
219
- source: { code: WithFilterDefinition.trim() } // Referencia a la definición
220
- }
221
- }
222
- };
223
-
224
- export const WithGroup: Story = {
225
- render: () => {
226
- const [value, setValue] = useState('');
227
- return (
228
- <Box sx={{ width: 300 }}>
229
- <Select
230
- label="País por región"
231
- options={groupedOptions}
232
- value={value}
233
- onChange={(val) => setValue(val as string)}
234
- />
235
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
236
- </Box>
237
- );
238
- },
239
- parameters: {
240
- docs: {
241
- description: {
242
- story: "Select con opciones agrupadas por categorías."
243
- },
244
- source: { code: WithGroupDefinition.trim() } // Referencia a la definición
245
- }
246
- }
247
- };
248
-
249
- export const CustomRenderWithAvatar: Story = {
250
- render: () => {
251
- const [value, setValue] = useState<string[]>([]);
252
- return (
253
- <Box sx={{ width: 300 }}>
254
- <Select
255
- options={userOptions}
256
- multiple
257
- value={value}
258
- onChange={(val) => setValue(val as string[])}
259
- label="Usuarios"
260
- placeholder="Selecciona usuarios"
261
- >
262
- <Option>
263
- {({ img, label }) => (
264
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
265
- <Avatar src={img} sx={{ width: 24, height: 24 }} />
266
- <Typography variant="body2">{label}</Typography>
267
- </Box>
268
- )}
269
- </Option>
270
- </Select>
271
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {JSON.stringify(value)}</Typography>
272
- </Box>
273
- );
274
- },
275
- parameters: {
276
- docs: {
277
- description: {
278
- story: "Select con renderizado personalizado de opciones usando avatares."
279
- },
280
- source: { code: CustomRenderWithAvatarDefinition.trim() } // Referencia a la definición
281
- }
282
- }
283
- };
284
-
285
-
286
- // =============================================================================
287
- // Nuevas historias (para cubrir más posibilidades)
288
- // =============================================================================
289
-
290
- export const MultiSelectCustomChipRender: Story = {
291
- render: () => {
292
- const [value, setValue] = useState<string[]>(['pending', 'approved', 'rejected', 'canceled']);
293
- return (
294
- <Box sx={{ width: 400 }}>
295
- <Select
296
- label="Estados de Transacción"
297
- multiple
298
- maxChipsToShow={3} // Muestra 3 chips, luego (+X más)
299
- options={transactionStatuses}
300
- value={value}
301
- onChange={(val) => setValue(val as string[])}
302
- placeholder="Selecciona estados"
303
- renderChipLabel={(item) => ( // Renderizado personalizado para el chip
304
- <Typography variant="caption" sx={{ fontWeight: 'bold' }}>
305
- {item.label.charAt(0).toUpperCase()} {/* Solo la inicial */}
306
- </Typography>
307
- )}
308
- />
309
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {JSON.stringify(value)}</Typography>
310
- </Box>
311
- );
312
- },
313
- parameters: {
314
- docs: {
315
- description: {
316
- story: "Select múltiple con un número limitado de chips visibles y un renderizado personalizado para el label de cada chip (solo la inicial)."
317
- },
318
- source: { code: MultiSelectCustomChipRenderDefinition.trim() } // Referencia a la definición
319
- }
320
- }
321
- };
322
-
323
- export const MultiSelectCustomChipRenderFullLabel: Story = {
324
- render: () => {
325
- const [value, setValue] = useState<string[]>(['gt', 'mx', 'us', 'ca', 'br']);
326
- return (
327
- <Box sx={{ width: 400 }}>
328
- <Select
329
- label="Países seleccionados"
330
- multiple
331
- maxChipsToShow={3} // Muestra 3 chips, luego (+X más)
332
- options={groupedOptions}
333
- value={value}
334
- onChange={(val) => setValue(val as string[])}
335
- placeholder="Selecciona países"
336
- renderChipLabel={(item) => ( // Renderizado personalizado para el chip
337
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>
338
- {item.img && <Avatar src={item.img} sx={{ width: 18, height: 18 }} />} {/* Opcional: avatar en el chip */}
339
- <Typography variant="caption" sx={{ fontWeight: 'medium' }}>
340
- {item.label}
341
- </Typography>
342
- </Box>
343
- )}
344
- />
345
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {JSON.stringify(value)}</Typography>
346
- </Box>
347
- );
348
- },
349
- parameters: {
350
- docs: {
351
- story: "Select múltiple con renderizado personalizado completo de los chips, incluyendo avatar y texto completo, y limitando el número de chips visibles."
352
- },
353
- source: { code: MultiSelectCustomChipRenderFullLabelDefinition.trim() } // Referencia a la definición
354
- }
355
- };
356
-
357
-
358
- export const ConstrainedHeight: Story = {
359
- render: () => {
360
- const [value, setValue] = useState('');
361
- return (
362
- <Box sx={{ width: 300 }}>
363
- <Select
364
- label="Opciones (Altura Limitada)"
365
- options={groupedOptions.concat(userOptions).concat(transactionStatuses)} // Muchas opciones
366
- value={value}
367
- onChange={(val) => setValue(val as string)}
368
- maxHeight={150} // Altura máxima del menú
369
- />
370
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
371
- </Box>
372
- );
373
- },
374
- parameters: {
375
- docs: {
376
- story: "Select con altura máxima limitada para el menú desplegable, mostrando scroll si es necesario."
377
- },
378
- source: { code: ConstrainedHeightDefinition.trim() } // Referencia a la definición
379
- }
380
- };
381
-
382
- export const ConstrainedWidth: Story = {
383
- render: () => {
384
- const [value, setValue] = useState('');
385
- return (
386
- <Box sx={{ width: 200 }}> {/* El Select en sí es más angosto */}
387
- <Select
388
- label="Opciones (Ancho Limitado)"
389
- options={basicOptions.concat(groupedOptions)}
390
- value={value}
391
- onChange={(val) => setValue(val as string)}
392
- maxWidth={100} // Ancho máximo del menú
393
- />
394
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
395
- </Box>
396
- );
397
- },
398
- parameters: {
399
- docs: {
400
- story: "Select con ancho máximo limitado para el menú desplegable."
401
- },
402
- source: { code: ConstrainedWidthDefinition.trim() } // Referencia a la definición
403
- }
404
- };
405
-
406
- export const AllFeaturesCombined: Story = {
407
- render: () => {
408
- const [value, setValue] = useState<string[]>(['gt', 'admin', 'PENDING', 'ca', 'user', 'COMPLETED']);
409
- return (
410
- <Box sx={{ width: 500 }}>
411
- <Select
412
- label="Selección Completa"
413
- multiple
414
- filterable
415
- maxChipsToShow={3}
416
- maxHeight={250}
417
- maxWidth="400px"
418
- options={groupedOptions.concat(userOptions).concat(transactionStatuses)}
419
- value={value}
420
- onChange={(val) => setValue(val as string[])}
421
- placeholder="Busca y selecciona todo tipo de elementos"
422
- renderChipLabel={(item) => (
423
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>
424
- {item.img && <Avatar src={item.img} sx={{ width: 16, height: 16 }} />}
425
- <Typography variant="caption" sx={{ fontWeight: 'bold' }}>
426
- {item.label.length > 10 ? item.label.substring(0, 7) + '...' : item.label}
427
- </Typography>
428
- </Box>
429
- )}
430
- >
431
- <Option>
432
- {(item) => (
433
- <Box sx={{ display: 'flex', alignItems: 'center', gap: 1, my: 0.5 }}>
434
- {item.img && <Avatar src={item.img} sx={{ width: 28, height: 28 }} />}
435
- <Box>
436
- <Typography variant="body2" fontWeight="medium">{item.label}</Typography>
437
- {item.group && (
438
- <Typography variant="caption" color="text.secondary">
439
- Grupo: {item.group}
440
- </Typography>
441
- )}
442
- {item.disabled && <Chip label="No disponible" size="small" color="warning" sx={{ ml: 1 }} />}
443
- </Box>
444
- </Box>
445
- )}
446
- </Option>
447
- </Select>
448
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {JSON.stringify(value)}</Typography>
449
- </Box>
450
- );
451
- },
452
- parameters: {
453
- docs: {
454
- description: {
455
- story: "Un `Select` que demuestra una combinación de todas las características: selección múltiple, filtrado, opciones agrupadas, renderizado personalizado de opciones y chips, y límites de altura/ancho."
456
- },
457
- source: { code: AllFeaturesCombinedDefinition.trim() } // Referencia a la definición
458
- }
459
- }
460
- };
461
-
462
- export const EmptyOptions: Story = {
463
- args: {
464
- label: 'Seleccionar (Vacío)',
465
- options: [],
466
- value: undefined,
467
- placeholder: 'No hay opciones disponibles',
468
- },
469
- render: (args) => {
470
- const [value, setValue] = useState(args.value);
471
- return (
472
- <Box sx={{ width: 300 }}>
473
- <Select {...args} value={value ?? ''} onChange={setValue} />
474
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value || 'Ninguno'}</Typography>
475
- </Box>
476
- );
477
- },
478
- parameters: {
479
- docs: {
480
- story: "Select que se muestra cuando no hay opciones disponibles."
481
- },
482
- source: { code: EmptyOptionsDefinition.trim() } // Referencia a la definición
483
- }
484
- };
485
-
486
- export const SelectWithManyOptions: Story = {
487
- render: () => {
488
- const manyOptions = Array.from({ length: 50 }, (_, i) => ({
489
- value: `option-${i}`,
490
- label: `Opción ${i + 1}`,
491
- group: i < 25 ? 'Grupo A' : 'Grupo B',
492
- }));
493
- const [value, setValue] = useState('');
494
- return (
495
- <Box sx={{ width: 300 }}>
496
- <Select
497
- label="Muchas Opciones"
498
- options={manyOptions}
499
- value={value}
500
- onChange={(val) => setValue(val as string)}
501
- filterable
502
- maxHeight={200}
503
- />
504
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
505
- </Box>
506
- );
507
- },
508
- parameters: {
509
- docs: {
510
- story: "Select con un gran número de opciones para demostrar el scroll y el filtrado eficiente."
511
- },
512
- source: { code: SelectWithManyOptionsDefinition.trim() } // Referencia a la definición
513
- }
514
- };
515
-
516
- export const AsyncSelect: Story = {
517
- render: () => {
518
- const [value, setValue] = useState('');
519
-
520
- const mockAsyncOptions = [
521
- { value: 'apple', label: 'Apple' },
522
- { value: 'banana', label: 'Banana' },
523
- { value: 'orange', label: 'Orange' },
524
- { value: 'grape', label: 'Grape' },
525
- { value: 'strawberry', label: 'Strawberry' },
526
- { value: 'blueberry', label: 'Blueberry' },
527
- { value: 'pineapple', label: 'Pineapple' },
528
- { value: 'watermelon', label: 'Watermelon' },
529
- { value: 'kiwi', label: 'Kiwi' },
530
- { value: 'lemon', label: 'Lemon' },
531
- ];
532
-
533
- // Simulate an API call
534
- const simulatedLoadOptions = (inputValue: string): Promise<SelectOption[]> => {
535
- return new Promise((resolve) => {
536
- setTimeout(() => {
537
- const filtered = mockAsyncOptions.filter(option =>
538
- option.label.toLowerCase().includes(inputValue.toLowerCase())
539
- );
540
- resolve(filtered);
541
- }, 800); // Simulate network delay
542
- });
543
- };
544
-
545
- return (
546
- <Box sx={{ width: 300 }}>
547
- <Select
548
-
549
- loadOptions={simulatedLoadOptions}
550
- value={value}
551
- onChange={(val) => setValue(val as string)}
552
- placeholder="Escribe para buscar..."
553
- loadingMessage="Buscando frutas..."
554
- noOptionsMessage="No se encontraron frutas."
555
- debounceTimeout={500} // tiempo que tardara el input en buscar despues de haber escrito la ultima letra
556
- />
557
- <Typography sx={{ mt: 2 }}>Valor seleccionado: {value}</Typography>
558
- </Box>
559
- );
560
- },
561
- parameters: {
562
- docs: {
563
- description: {
564
- story: "Un `Select` que carga opciones de forma asíncrona a medida que el usuario escribe, con un retraso simulado."
565
- },
566
- source: { code: AsyncSelectDefinition.trim() }
567
- }
568
- }
569
- };