@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,49 +0,0 @@
1
- import * as React from "react";
2
- import MuiTimeline from "@mui/lab/Timeline";
3
- import { timelineContentClasses } from "@mui/lab/TimelineContent";
4
- import { timelineItemClasses, TimelineItemProps as MuiTimelineItemProps } from "@mui/lab/TimelineItem";
5
- import { Box } from "@mui/material";
6
-
7
- interface TimelineItemProps extends MuiTimelineItemProps {
8
- connectorColor?: string;
9
- sx?: object;
10
- }
11
-
12
- interface TimelineProps {
13
- children: React.ReactElement<TimelineItemProps>[];
14
- position?: "left" | "right" | 'alternate' | 'alternate-reverse' ;
15
- sx?: object;
16
- }
17
-
18
- export const Timeline: React.FC<TimelineProps> = ({ children, position = "right", sx }) => {
19
- const count = React.Children.count(children);
20
-
21
- const customSx = (position === "left" || position === "right")
22
- ? {
23
- [`& .${timelineItemClasses.root}:before`]: {
24
- flex: 0,
25
- padding: 0,
26
- },
27
- ...sx,
28
- }
29
- : sx;
30
-
31
- return (
32
- <MuiTimeline position={position}
33
- sx={{...customSx}}
34
- >
35
- {React.Children.map(children, (child, idx) =>
36
- React.isValidElement(child)
37
- ? React.cloneElement(child, {
38
- connectorColor: idx < count - 1
39
- ? child.props.connectorColor ?? 'gray.main'
40
- : undefined,
41
- })
42
- : null
43
- )}
44
- </MuiTimeline>
45
-
46
- );
47
- };
48
-
49
- export default Timeline;
@@ -1,31 +0,0 @@
1
-
2
- import MuiTimelineItem from "@mui/lab/TimelineItem";
3
- import MuiTimelineSeparator from "@mui/lab/TimelineSeparator";
4
- import MuiTimelineConnector from "@mui/lab/TimelineConnector";
5
- import MuiTimelineContent from "@mui/lab/TimelineContent";
6
- import MuiTimelineDot from "@mui/lab/TimelineDot";
7
-
8
- export interface TimelineItemProps {
9
- dotColor?: 'primary' | 'secondary' | 'grey' | 'inherit' | 'success' | 'error' | 'info' | 'warning';
10
- connectorColor?: 'success' | 'error' | 'info' | 'warning' | 'primary' | 'secondary' | 'grey';
11
- children: React.ReactNode;
12
- }
13
-
14
- export const TimelineItem: React.FC<TimelineItemProps> = ({
15
- dotColor = 'grey',
16
- connectorColor,
17
- children
18
- }) => {
19
- const color = connectorColor ? `${connectorColor}.main` : 'secondary.main';
20
- return (
21
- <MuiTimelineItem>
22
- <MuiTimelineSeparator>
23
- <MuiTimelineDot color={dotColor} />
24
- {connectorColor !== undefined && <MuiTimelineConnector sx={{ bgcolor: color }} />}
25
- </MuiTimelineSeparator>
26
- <MuiTimelineContent>{children}</MuiTimelineContent>
27
- </MuiTimelineItem>
28
- );
29
- };
30
-
31
- export default TimelineItem
@@ -1,2 +0,0 @@
1
- export { default as Timeline } from './Timeline';
2
- export { default as TimelineItem } from './TimelineItem';
@@ -1,117 +0,0 @@
1
- import React from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import Tooltip from './Tooltip'; // Asegúrate que la ruta sea correcta
4
- import Button from '@mui/material/Button';
5
- import TextField from '@mui/material/TextField';
6
- import Stack from '@mui/material/Stack';
7
-
8
- // --- Metadatos de la Historia ---
9
- // Define la configuración global de tu componente en Storybook
10
- const meta: Meta<typeof Tooltip> = {
11
- // Título que aparecerá en el sidebar de Storybook
12
- title: 'Components/Tooltip',
13
- component: Tooltip,
14
- // Parámetros para configurar el comportamiento en la documentación
15
- parameters: {
16
- layout: 'centered', // Centra el componente en el lienzo
17
- },
18
- // Documentación de los argumentos (props)
19
-
20
- tags: ["autodocs"]
21
- };
22
-
23
- export default meta;
24
-
25
- // Define el tipo de tu historia para inferir los argumentos (props)
26
- type Story = StoryObj<typeof Tooltip>;
27
-
28
- // --- Definición de Historias ---
29
-
30
- const textoLargo = "Este es un texto de Tooltip muy largo para demostrar cómo el 'maxWidth' limita la longitud de la línea y obliga al texto a saltar a la siguiente línea, mejorando la legibilidad en tooltips largos.";
31
-
32
-
33
- /**
34
- * Historia 1: Tooltip Básico
35
- * Muestra el Tooltip sobre un botón sin especificar un ancho máximo.
36
- */
37
- export const TooltipBasico: Story = {
38
- args: {
39
- text: 'Información corta y concisa.',
40
- children: <Button variant="contained">Pasa el ratón aquí</Button>,
41
- },
42
- };
43
-
44
- /**
45
- * Historia 2: Tooltip con Ancho Máximo Específico
46
- * Muestra un texto largo y aplica un ancho máximo para forzar el salto de línea.
47
- */
48
- export const TooltipConAnchoMaximo: Story = {
49
- args: {
50
- text: textoLargo,
51
- maxWidth: 200, // Aplicamos el ancho máximo
52
- children: <Button variant="outlined">Tooltip con Ancho Máximo (200px)</Button>,
53
- },
54
- };
55
-
56
- /**
57
- * Historia 3: Tooltip Aplicado a un Campo de Texto (TextField)
58
- * Demuestra que el componente funciona con cualquier elemento.
59
- */
60
- export const AplicadoAElementoDeFormulario: Story = {
61
- args: {
62
- text: 'Introduce tu nombre completo y validado.',
63
- maxWidth: 300,
64
- children: <TextField label="Nombre" variant="standard" />,
65
- },
66
- };
67
-
68
- /**
69
- * Historia 4: Ejemplo en un Contenedor con Estilos
70
- * Muestra el uso de la propiedad 'sx' opcional en el contenedor.
71
- */
72
- export const ContenedorEstilizado: Story = {
73
- args: {
74
- text: 'Este texto se muestra al pasar el ratón sobre el span estilizado.',
75
- maxWidth: 250,
76
- sx: { // Estilos aplicados al Box que envuelve el children
77
- border: '2px dashed #007bff',
78
- padding: '8px',
79
- borderRadius: '4px',
80
- backgroundColor: '#e6f7ff',
81
- },
82
- children: <span>Contenedor Estilizado (Hover aquí)</span>,
83
- }
84
- }
85
-
86
-
87
- /**
88
- * Historia 5: Variantes Múltiples
89
- * Utiliza el 'render' para mostrar varios ejemplos a la vez.
90
- */
91
- export const VariantesMultiples: Story = {
92
- // Necesitamos un Stack para organizar los elementos
93
- render: (args) => (
94
- <Stack spacing={4} alignItems="flex-start" sx={{ padding: '20px' }}>
95
- <Tooltip {...args} text="Tooltip #1: Básico" maxWidth={150}>
96
- <Button variant="contained" color="primary">Botón A</Button>
97
- </Tooltip>
98
-
99
- <Tooltip {...args} text="Tooltip #2: Un poco más de info" maxWidth={180}>
100
- <Button variant="contained" color="secondary">Botón B</Button>
101
- </Tooltip>
102
-
103
- <Tooltip {...args} text={textoLargo} maxWidth={280}>
104
- <Button variant="text">Texto Largo</Button>
105
- </Tooltip>
106
- </Stack>
107
- ),
108
- // Eliminamos el layout centered para esta historia
109
- parameters: {
110
- layout: 'padded',
111
- },
112
- // Dejamos el 'args' de 'text' vacío ya que se sobrescribe en el render
113
- args: {
114
- text: '',
115
- children: undefined,
116
- }
117
- };
@@ -1,58 +0,0 @@
1
- import React from 'react';
2
- import MuiTooltip from '@mui/material/Tooltip';
3
- import Typography from '@mui/material/Typography';
4
- import Box from '@mui/material/Box';
5
- import { SxProps, Theme } from '@mui/material';
6
-
7
- /**
8
- * Propiedades del componente Tooltip.
9
- * @param {string} text - El texto a mostrar dentro del Tooltip.
10
- * @param {number} [maxWidth] - El ancho máximo opcional del Tooltip en píxeles.
11
- * @param {React.ReactNode} children - El elemento al que se le aplicará el Tooltip.
12
- * @param {SxProps<Theme>} [sx] - Estilos opcionales para el Box contenedor.
13
- */
14
- interface TooltipProps {
15
- text: string;
16
- maxWidth?: number;
17
- children: React.ReactNode;
18
- sx?: SxProps<Theme>;
19
- }
20
-
21
- /**
22
- * Componente Tooltip reutilizable.
23
- * Muestra un texto al pasar el ratón sobre su elemento hijo,
24
- * permitiendo un ancho máximo configurable.
25
- * * @param {TooltipProps} props - Propiedades del Tooltip.
26
- */
27
- const Tooltip: React.FC<TooltipProps> = ({ text, maxWidth, children, sx }) => {
28
-
29
- const tooltipContentStyle: SxProps<Theme> = {
30
-
31
- ...(maxWidth && { maxWidth: maxWidth }),
32
- padding: '4px 8px',
33
- textAlign: 'center',
34
-
35
- };
36
-
37
- return (
38
-
39
- <MuiTooltip
40
- title={
41
-
42
- <Typography variant="caption" component="span" sx={tooltipContentStyle}>
43
- {text}
44
- </Typography>
45
- }
46
-
47
- placement="top"
48
- arrow
49
- >
50
-
51
- <Box component="span" sx={{ display: 'inline-block', ...sx }}>
52
- {children}
53
- </Box>
54
- </MuiTooltip>
55
- );
56
- };
57
-
58
- export default Tooltip;
@@ -1 +0,0 @@
1
- export { default as Tooltip } from './Tooltip';
@@ -1,168 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import React from 'react';
3
- import { Box, Button, Typography } from '@mui/material';
4
-
5
- // Importa el componente de demostración unificado
6
- import ClipboardUnifiedDemo from './ClipboardUnifiedDemo';
7
-
8
- // Importa las definiciones de las historias
9
-
10
- import useClipboard from './ClipBoard';
11
-
12
- // Componente Wrapper (Mantenido para la tipificación)
13
- const ClipboardDemoWrapper: React.FC = () => <ClipboardUnifiedDemo {...(meta.args as any)} />;
14
-
15
- // =============================================================================
16
- // Definición de las meta-propiedades para Storybook
17
- // =============================================================================
18
- const meta: Meta<typeof ClipboardUnifiedDemo> = {
19
- title: 'Hooks/useClipboard (Unificado Ref & Función)',
20
- component: ClipboardUnifiedDemo,
21
- tags: ['autodocs'],
22
- parameters: {
23
- layout: 'padded',
24
- docs: {
25
- description: {
26
- component: 'Hook unificado que soporta la **copia por Referencia (`ref`)** para un solo elemento y la **copia por Función (`copy(text)`)** para iteraciones (tablas, listas), proporcionando feedback visual con un Snackbar de Material UI.',
27
- },
28
- },
29
- },
30
- // Argumentos de control para el MODO FUNCIÓN
31
- argTypes: {
32
- message: { control: 'text', description: 'Mensaje de éxito para el MODO FUNCIÓN.' },
33
- severity: { control: 'select', options: ['success', 'info', 'warning', 'error'], description: 'Gravedad del Alert para el MODO FUNCIÓN.' },
34
- duration: { control: { type: 'number', min: 0, max: 5000, step: 500 }, description: 'Duración del Snackbar.' },
35
- vertical: { control: 'select', options: ['top', 'bottom'], description: 'Posición vertical.' },
36
- horizontal: { control: 'select', options: ['left', 'center', 'right'], description: 'Posición horizontal.' },
37
- },
38
- args: {
39
- message: '¡Dato copiado con la función!',
40
- severity: 'success',
41
- duration: 2000,
42
- vertical: 'bottom',
43
- horizontal: 'center',
44
- },
45
- };
46
-
47
- export default meta;
48
- type Story = StoryObj<typeof ClipboardUnifiedDemo>;
49
-
50
- // =============================================================================
51
- // Historias
52
- // =============================================================================
53
-
54
- export const DemoUnificada: Story = {
55
- name: 'A. Demostración Completa',
56
- args: {
57
- message: 'Dato copiado con éxito (Función)',
58
- severity: 'success',
59
- },
60
- parameters: {
61
- docs: {
62
- description: {
63
- story: "Muestra ambos modos de uso (`ref` y `copy`) simultáneamente. El feedback del modo `ref` tiene color amarillo (warning) por defecto para diferenciarlo del modo `copy`."
64
- },
65
- // source: { code: MultipleFunctionElementsDefinition.trim() }
66
- }
67
- }
68
- };
69
-
70
- // --------------------------------------------------
71
-
72
- export const UsoBasicoPorRef: Story = {
73
- name: 'B. Modo Ref: Uso Básico',
74
- render: () => {
75
- const { ref, CopyMessage } = useClipboard(); // Sin opciones, usa valores por defecto
76
- return (
77
- <Box>
78
- <Typography ref={ref} sx={{ p: 2, border: '1px solid #ccc', cursor: 'pointer' }}>
79
- Texto para copiar por ref (click aquí).
80
- </Typography>
81
- <CopyMessage />
82
- </Box>
83
- );
84
- },
85
- parameters: {
86
- docs: {
87
- description: {
88
- story: "Demuestra el modo **Referencia**, donde el hook adjunta un listener de clic al elemento y copia su `innerText`."
89
- },
90
- // source: { code: BasicRefUsageDefinition.trim() }
91
- }
92
- }
93
- };
94
-
95
- // --------------------------------------------------
96
-
97
- // Datos simulados para la demostración del modo función
98
- const mockData = [
99
- { id: 1, content: 'Dato 1' },
100
- { id: 2, content: 'Dato 2' },
101
- { id: 3, content: 'Dato 3' },
102
- ];
103
-
104
- export const UsoPorFuncionEnIteracion: Story = {
105
- name: 'C. Modo Función: Uso en Iteración',
106
- render: () => {
107
- const { copy, CopyMessage } = useClipboard({
108
- message: 'Contenido de la fila copiado.',
109
- severity: 'info',
110
- position: { vertical: 'top', horizontal: 'right' }
111
- });
112
-
113
- return (
114
- <Box>
115
- <Typography variant="h6">Copiar datos individuales:</Typography>
116
- {mockData.map(item => (
117
- <Button
118
- key={item.id}
119
- variant="outlined"
120
- onClick={() => copy(item.content)}
121
- sx={{ mr: 2 }}
122
- >
123
- Copiar: {item.content}
124
- </Button>
125
- ))}
126
- <CopyMessage />
127
- </Box>
128
- );
129
- },
130
- parameters: {
131
- docs: {
132
- description: {
133
- story: "Demuestra el modo **Función**, donde se llama a `copy(text)` dentro de un bucle, permitiendo controlar exactamente qué texto se copia."
134
- },
135
- // source: { code: FunctionModeUsageDefinition.trim() }
136
- }
137
- }
138
- };
139
-
140
- // --------------------------------------------------
141
-
142
- export const CustomConfiguracionRef: Story = {
143
- name: 'D. Modo Ref: Con Configuración Custom',
144
- render: () => {
145
- const { ref, CopyMessage } = useClipboard({
146
- message: 'Copia OK en la parte superior.',
147
- severity: 'success',
148
- duration: 1800,
149
- position: { vertical: 'top', horizontal: 'left' }
150
- });
151
- return (
152
- <Box>
153
- <Typography ref={ref} sx={{ p: 2, border: '1px solid #0a0', backgroundColor: '#eef', cursor: 'pointer' }}>
154
- Clic. Snackbar aparecerá arriba a la izquierda.
155
- </Typography>
156
- <CopyMessage />
157
- </Box>
158
- );
159
- },
160
- parameters: {
161
- docs: {
162
- description: {
163
- story: "Muestra cómo aplicar opciones personalizadas de Snackbar al modo **Referencia**."
164
- },
165
- // source: { code: CustomRefUsageDefinition.trim() }
166
- }
167
- }
168
- };
@@ -1,131 +0,0 @@
1
- // useClipboard.tsx (Versión Unificada)
2
- import React, { useRef, useEffect, useState, useCallback } from 'react';
3
- import { Snackbar, Alert } from '@mui/material';
4
- import { AlertProps } from '@mui/material/Alert';
5
-
6
- // Tipo para las opciones del Snackbar
7
- interface SnackbarOptions {
8
- message?: string;
9
- duration?: number;
10
- severity?: AlertProps['severity'];
11
- position?: { vertical: 'top' | 'bottom'; horizontal: 'left' | 'center' | 'right' };
12
- }
13
-
14
- /**
15
- * Hook 'useClipboard'.
16
- * Proporciona funcionalidad de copiado de texto y feedback visual (Snackbar).
17
- * Permite dos modos de uso:
18
- * 1. Uso por Referencia (ref): Se adjunta a un elemento, copia su innerText al hacer clic.
19
- * 2. Uso por Función (copy): Recibe el texto a copiar directamente como argumento.
20
- *
21
- * @param options Opciones de configuración para el Snackbar de feedback.
22
- * @returns Un objeto que contiene:
23
- * - 'ref': Una React Ref para adjuntar a un elemento (Modo Ref).
24
- * - 'copy': Una función (text: string) => void para copiar texto (Modo Función).
25
- * - 'CopyMessage': El componente Snackbar para renderizar el feedback.
26
- */
27
- export function useClipboard(options?: SnackbarOptions) {
28
- // --- Elementos de Copiado por Referencia ---
29
- const elementRef = useRef<HTMLElement>(null);
30
-
31
- // --- Estados y Opciones del Snackbar ---
32
- const [snackbarOpen, setSnackbarOpen] = useState(false);
33
- const [snackbarMessage, setSnackbarMessage] = useState(options?.message || '¡Copiado al portapapeles!');
34
- const [snackbarSeverity, setSnackbarSeverity] = useState<AlertProps['severity']>(options?.severity || 'success');
35
- const [snackbarPosition, setSnackbarPosition] = useState<import('@mui/material').SnackbarOrigin>(options?.position || { vertical: 'bottom', horizontal: 'center' });
36
- const [snackbarDuration, setSnackbarDuration] = useState(options?.duration ?? 3000);
37
-
38
- // Función para cerrar el Snackbar
39
- const handleSnackbarClose = useCallback((event?: React.SyntheticEvent | Event, reason?: string) => {
40
- if (reason === 'clickaway') {
41
- return;
42
- }
43
- setSnackbarOpen(false);
44
- }, []);
45
-
46
- /**
47
- * FUNCIÓN PRINCIPAL DE COPIADO.
48
- * Se usa internamente para 'ref' y se expone para 'copy(text)'.
49
- * @param text El texto exacto a copiar.
50
- */
51
- const executeCopy = useCallback((text: string) => {
52
- try {
53
- if (navigator.clipboard && window.isSecureContext) {
54
- // 1. API moderna
55
- navigator.clipboard.writeText(text);
56
- } else {
57
- // 2. Fallback usando textarea
58
- const textarea = document.createElement('textarea');
59
- textarea.value = text;
60
- document.body.appendChild(textarea);
61
- textarea.select();
62
- document.execCommand('copy');
63
- document.body.removeChild(textarea);
64
- }
65
-
66
- // Mostrar éxito
67
- setSnackbarMessage(options?.message || '¡Copiado al portapapeles!');
68
- setSnackbarSeverity(options?.severity || 'success');
69
- setSnackbarPosition(options?.position || { vertical: 'bottom', horizontal: 'center' });
70
- setSnackbarDuration(options?.duration ?? 3000);
71
- setSnackbarOpen(true);
72
-
73
- } catch (err) {
74
- // Mostrar error
75
- console.error('Error al copiar al portapapeles:', err);
76
- setSnackbarMessage('Error al copiar.');
77
- setSnackbarSeverity('error');
78
- setSnackbarPosition(options?.position || { vertical: 'bottom', horizontal: 'center' });
79
- setSnackbarDuration(options?.duration ?? 3000);
80
- setSnackbarOpen(true);
81
- }
82
- }, [options]);
83
-
84
- // --- Lógica del Modo Ref ---
85
- const copyFromRef = useCallback(() => {
86
- if (elementRef.current) {
87
- const textToCopy = elementRef.current.innerText || '';
88
- executeCopy(textToCopy);
89
- }
90
- }, [executeCopy]);
91
-
92
- // Adjunta un event listener de clic al elemento referenciado (Modo Ref)
93
- useEffect(() => {
94
- const currentElement = elementRef.current;
95
- if (currentElement) {
96
- currentElement.style.cursor = 'pointer';
97
- // Adjuntamos la función que copia el texto del ref
98
- currentElement.addEventListener('click', copyFromRef);
99
- }
100
-
101
- return () => {
102
- if (currentElement) {
103
- currentElement.removeEventListener('click', copyFromRef);
104
- }
105
- };
106
- }, [copyFromRef]);
107
-
108
-
109
- // Componente Snackbar encapsulado. Solo se renderiza si duration es > 0.
110
- const CopyMessage = () => {
111
- if (snackbarDuration <= 0) return null; // No renderizar si la duración es 0
112
-
113
- return (
114
- <Snackbar
115
- open={snackbarOpen}
116
- autoHideDuration={snackbarDuration}
117
- onClose={handleSnackbarClose}
118
- anchorOrigin={snackbarPosition}
119
- >
120
- <Alert onClose={handleSnackbarClose} severity={snackbarSeverity} sx={{ width: '100%' }}>
121
- {snackbarMessage}
122
- </Alert>
123
- </Snackbar>
124
- );
125
- };
126
-
127
- // Retorna ambas funcionalidades para que el usuario elija
128
- return { ref: elementRef, copy: executeCopy, CopyMessage };
129
- }
130
-
131
- export default useClipboard;
@@ -1,111 +0,0 @@
1
- // ClipboardUnifiedDemo.tsx
2
- import React from 'react';
3
- import { Button, Table, TableBody, TableCell, TableRow, Paper, Stack, Typography, Box, TableContainer, TableHead } from '@mui/material';
4
- import ContentCopyIcon from '@mui/icons-material/ContentCopy';
5
- import { useClipboard } from './ClipBoard';
6
-
7
- // Datos de ejemplo para la tabla (Modo Función)
8
- const mockData = [
9
- { id: 1, content: 'dato-A-456' },
10
- { id: 2, content: 'dato-B-789' },
11
- ];
12
-
13
- /**
14
- * Componente Wrapper para demostrar ambos modos de uso del hook useClipboard unificado.
15
- * @param {object} args - Propiedades del Snackbar que se pasan al hook.
16
- */
17
- interface ClipboardDemoProps {
18
- message: string;
19
- severity: 'success' | 'info' | 'warning' | 'error';
20
- duration: number;
21
- vertical: 'top' | 'bottom';
22
- horizontal: 'left' | 'center' | 'right';
23
- }
24
-
25
- const ClipboardUnifiedDemo: React.FC<ClipboardDemoProps> = ({ message, severity, duration, vertical, horizontal }) => {
26
- const options = {
27
- message,
28
- severity,
29
- duration,
30
- position: { vertical, horizontal } as const // 'as const' para tipado correcto
31
- };
32
-
33
- // 1. Llamada al hook para el MODO FUNCIÓN (se usará 'copy' y 'CopyMessage')
34
- const { copy, CopyMessage } = useClipboard(options);
35
-
36
- // 2. Llamada al hook para el MODO REF (se usará 'ref' y 'CopyMessageRef')
37
- // Nota: Creamos una segunda instancia con opciones distintas para diferenciar el feedback
38
- const { ref: refModeRef, CopyMessage: CopyMessageRef } = useClipboard({
39
- ...options,
40
- message: options.message + ' (MODO REF)',
41
- severity: 'warning' // Diferenciamos el color
42
- });
43
-
44
- return (
45
- <Stack spacing={4} sx={{ width: '100%', minWidth: 500, p: 3 }}>
46
- <Typography variant="h5">Hook Unificado: Ref vs. Función</Typography>
47
-
48
- {/* ========================================= */}
49
- {/* A. MODO REF (Copia el innerText por clic) */}
50
- {/* ========================================= */}
51
- <Box>
52
- <Typography variant="h6">1. MODO REF (Copia un solo elemento por clic)</Typography>
53
- <Paper
54
- sx={{
55
- p: 2, mt: 1,
56
- border: '1px solid #ccc',
57
- borderRadius: '8px',
58
- backgroundColor: '#eef',
59
- cursor: 'pointer',
60
- '&:hover': { backgroundColor: '#dde' },
61
- }}
62
- >
63
- {/* Adjuntamos la ref. El hook maneja el evento de clic */}
64
- <Typography ref={refModeRef} variant="body1" sx={{ userSelect: 'none' }}>
65
- Texto para copiar con **REF**: Esta línea contiene el texto completo.
66
- </Typography>
67
- <ContentCopyIcon sx={{ fontSize: 16, ml: 1, verticalAlign: 'middle', color: 'text.secondary' }} />
68
- </Paper>
69
- <CopyMessageRef /> {/* Su propio Snackbar */}
70
- </Box>
71
-
72
- {/* ========================================= */}
73
- {/* B. MODO FUNCIÓN (Copia en Iteración) */}
74
- {/* ========================================= */}
75
- <Box>
76
- <Typography variant="h6">2. MODO FUNCIÓN (Copia múltiples elementos en tabla)</Typography>
77
- <TableContainer component={Paper}>
78
- <Table size="small">
79
- <TableHead>
80
- <TableRow><TableCell>ID</TableCell><TableCell>Contenido</TableCell><TableCell>Acción</TableCell></TableRow>
81
- </TableHead>
82
- <TableBody>
83
- {/* Iteración: Se usa la función 'copy' */}
84
- {mockData.map((item) => (
85
- <TableRow key={item.id}>
86
- <TableCell>{item.id}</TableCell>
87
- <TableCell>{item.content}</TableCell>
88
- <TableCell>
89
- <Button
90
- variant="contained"
91
- size="small"
92
- // Llamada a copy() con el texto específico de la fila
93
- onClick={() => copy(item.content)}
94
- >
95
- Copiar {item.id}
96
- </Button>
97
- </TableCell>
98
- </TableRow>
99
- ))}
100
- </TableBody>
101
- </Table>
102
- </TableContainer>
103
- </Box>
104
-
105
- {/* El Snackbar del modo FUNCIÓN se renderiza una sola vez */}
106
- <CopyMessage />
107
- </Stack>
108
- );
109
- };
110
-
111
- export default ClipboardUnifiedDemo;
@@ -1 +0,0 @@
1
- export { default as useClipboard } from './ClipBoard';
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- import './styles.css';
package/src/styles.css DELETED
@@ -1,3 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;