@soyfri/shared-library 2.0.0-beta.1 → 2.0.0-beta.3

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 (486) hide show
  1. package/package.json +164 -43
  2. package/.dockerignore +0 -8
  3. package/.github/workflows/publish.yml +0 -107
  4. package/.prettierrc +0 -3
  5. package/.storybook/main.ts +0 -19
  6. package/.storybook/preview.ts +0 -14
  7. package/.storybook/vitest.setup.ts +0 -9
  8. package/Dockerfile +0 -37
  9. package/build.js +0 -139
  10. package/chromatic.config.json +0 -5
  11. package/cleanDirectories.js +0 -40
  12. package/rollup.config.cjs +0 -87
  13. package/src/components/ActionMenu/ActionMenu.stories.tsx +0 -230
  14. package/src/components/ActionMenu/ActionMenu.tsx +0 -174
  15. package/src/components/ActionMenu/index.ts +0 -2
  16. package/src/components/AppBar/AppBar.stories.tsx +0 -272
  17. package/src/components/AppBar/AppBar.sx.ts +0 -32
  18. package/src/components/AppBar/AppBar.tsx +0 -123
  19. package/src/components/AppBar/AppBarBrand.tsx +0 -120
  20. package/src/components/AppBar/AppBarContext.ts +0 -25
  21. package/src/components/AppBar/AppBarMenuToggle.tsx +0 -90
  22. package/src/components/AppBar/AppBarUserMenu.tsx +0 -217
  23. package/src/components/AppBar/index.ts +0 -25
  24. package/src/components/Autocomplete/Autocomplete.definitions.ts +0 -477
  25. package/src/components/Autocomplete/Autocomplete.helpers.ts +0 -60
  26. package/src/components/Autocomplete/Autocomplete.stories.tsx +0 -748
  27. package/src/components/Autocomplete/Autocomplete.sx.ts +0 -30
  28. package/src/components/Autocomplete/Autocomplete.tsx +0 -361
  29. package/src/components/Autocomplete/Autocomplete.types.ts +0 -13
  30. package/src/components/Autocomplete/_parts/AutocompleteChips.tsx +0 -55
  31. package/src/components/Autocomplete/_parts/AutocompleteLoader.tsx +0 -17
  32. package/src/components/Autocomplete/_parts/AutocompleteOption.tsx +0 -31
  33. package/src/components/Autocomplete/index.ts +0 -12
  34. package/src/components/Avatar/Avatar.definitions.ts +0 -162
  35. package/src/components/Avatar/Avatar.stories.tsx +0 -258
  36. package/src/components/Avatar/Avatar.tsx +0 -206
  37. package/src/components/Avatar/index.ts +0 -1
  38. package/src/components/Button/Button.definition.ts +0 -97
  39. package/src/components/Button/Button.stories.tsx +0 -285
  40. package/src/components/Button/Button.tsx +0 -67
  41. package/src/components/Button/index.ts +0 -1
  42. package/src/components/Card/Card.definition.ts +0 -5
  43. package/src/components/Card/Card.stories.tsx +0 -221
  44. package/src/components/Card/Card.sx.ts +0 -104
  45. package/src/components/Card/Card.tsx +0 -200
  46. package/src/components/Card/index.ts +0 -9
  47. package/src/components/Chip/Chip.definitions.ts +0 -167
  48. package/src/components/Chip/Chip.stories.tsx +0 -265
  49. package/src/components/Chip/Chip.tsx +0 -61
  50. package/src/components/Chip/index.ts +0 -1
  51. package/src/components/Column/Column.tsx +0 -29
  52. package/src/components/Column/index.ts +0 -1
  53. package/src/components/DatePicker/DatePicker.definitions.ts +0 -228
  54. package/src/components/DatePicker/DatePicker.helpers.ts +0 -24
  55. package/src/components/DatePicker/DatePicker.stories.tsx +0 -309
  56. package/src/components/DatePicker/DatePicker.sx.ts +0 -33
  57. package/src/components/DatePicker/DatePicker.tsx +0 -189
  58. package/src/components/DatePicker/DatePicker.types.ts +0 -10
  59. package/src/components/DatePicker/index.ts +0 -9
  60. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +0 -191
  61. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +0 -252
  62. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -56
  63. package/src/components/DateRangePicker/index.ts +0 -1
  64. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +0 -256
  65. package/src/components/DateTimePicker/DateTimePicker.helpers.ts +0 -38
  66. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +0 -418
  67. package/src/components/DateTimePicker/DateTimePicker.sx.ts +0 -30
  68. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -225
  69. package/src/components/DateTimePicker/DateTimePicker.types.ts +0 -10
  70. package/src/components/DateTimePicker/index.ts +0 -9
  71. package/src/components/Drawer/Drawer.stories.tsx +0 -270
  72. package/src/components/Drawer/Drawer.sx.ts +0 -106
  73. package/src/components/Drawer/Drawer.tsx +0 -214
  74. package/src/components/Drawer/DrawerContext.ts +0 -26
  75. package/src/components/Drawer/DrawerItem.tsx +0 -110
  76. package/src/components/Drawer/index.ts +0 -10
  77. package/src/components/Flyout/Flyout.stories.tsx +0 -282
  78. package/src/components/Flyout/Flyout.tsx +0 -122
  79. package/src/components/Flyout/index.ts +0 -1
  80. package/src/components/Gallery/Gallery.definition.tsx +0 -37
  81. package/src/components/Gallery/Gallery.stories.tsx +0 -82
  82. package/src/components/Gallery/Gallery.tsx +0 -118
  83. package/src/components/Gallery/GalleryLightbox.tsx +0 -170
  84. package/src/components/Gallery/GalleryMain.tsx +0 -84
  85. package/src/components/Gallery/GalleryThumbnails.tsx +0 -106
  86. package/src/components/Gallery/index.ts +0 -1
  87. package/src/components/Icon/Icon.stories.tsx +0 -121
  88. package/src/components/Icon/Icon.tsx +0 -175
  89. package/src/components/Icon/index.ts +0 -2
  90. package/src/components/Input/Input.definitions.ts +0 -324
  91. package/src/components/Input/Input.helpers.ts +0 -49
  92. package/src/components/Input/Input.stories.tsx +0 -499
  93. package/src/components/Input/Input.sx.ts +0 -42
  94. package/src/components/Input/Input.tsx +0 -141
  95. package/src/components/Input/Input.types.ts +0 -10
  96. package/src/components/Input/index.ts +0 -9
  97. package/src/components/InputGroup/InputGroup.definitions.ts +0 -158
  98. package/src/components/InputGroup/InputGroup.stories.tsx +0 -267
  99. package/src/components/InputGroup/InputGroup.tsx +0 -179
  100. package/src/components/InputGroup/index.ts +0 -1
  101. package/src/components/MenuButton/MenuButton.stories.tsx +0 -197
  102. package/src/components/MenuButton/MenuButton.tsx +0 -100
  103. package/src/components/MenuButton/index.ts +0 -1
  104. package/src/components/Modal/Modal.stories.tsx +0 -721
  105. package/src/components/Modal/Modal.tsx +0 -355
  106. package/src/components/Modal/ModalBody.tsx +0 -16
  107. package/src/components/Modal/ModalFooter.tsx +0 -71
  108. package/src/components/Modal/ModalHeader.tsx +0 -18
  109. package/src/components/Modal/index.ts +0 -6
  110. package/src/components/PageLoader/PageLoader.stories.tsx +0 -217
  111. package/src/components/PageLoader/PageLoader.tsx +0 -96
  112. package/src/components/PageLoader/index.ts +0 -2
  113. package/src/components/ScrollTopButton/ScrollTopButton.stories.tsx +0 -158
  114. package/src/components/ScrollTopButton/ScrollTopButton.tsx +0 -135
  115. package/src/components/ScrollTopButton/index.ts +0 -8
  116. package/src/components/ScrollTopButton/scrollToTop.ts +0 -37
  117. package/src/components/Select/Select.definitions.ts +0 -602
  118. package/src/components/Select/Select.helpers.ts +0 -71
  119. package/src/components/Select/Select.stories.tsx +0 -687
  120. package/src/components/Select/Select.sx.ts +0 -14
  121. package/src/components/Select/Select.tsx +0 -429
  122. package/src/components/Select/Select.types.ts +0 -15
  123. package/src/components/Select/_parts/SelectMenuItem.tsx +0 -40
  124. package/src/components/Select/_parts/SelectSearchHeader.tsx +0 -51
  125. package/src/components/Select/_parts/SelectValue.tsx +0 -96
  126. package/src/components/Select/index.ts +0 -14
  127. package/src/components/Stat/Stat.stories.tsx +0 -85
  128. package/src/components/Stat/Stat.tsx +0 -117
  129. package/src/components/Stat/index.ts +0 -2
  130. package/src/components/StatusMessage/StatusMessage.stories.tsx +0 -130
  131. package/src/components/StatusMessage/StatusMessage.tsx +0 -162
  132. package/src/components/StatusMessage/index.ts +0 -2
  133. package/src/components/Stepper/Step.tsx +0 -21
  134. package/src/components/Stepper/Stepper.definition.ts +0 -75
  135. package/src/components/Stepper/Stepper.stories.tsx +0 -122
  136. package/src/components/Stepper/Stepper.tsx +0 -75
  137. package/src/components/Stepper/index.ts +0 -2
  138. package/src/components/Table/EmptyTable.png +0 -0
  139. package/src/components/Table/Table.definition.ts +0 -580
  140. package/src/components/Table/Table.stories.tsx +0 -853
  141. package/src/components/Table/Table.tsx +0 -495
  142. package/src/components/Table/data.ts +0 -134
  143. package/src/components/Table/exportsUtils.ts +0 -195
  144. package/src/components/Table/index.ts +0 -3
  145. package/src/components/Table/types.ts +0 -34
  146. package/src/components/Tabs/Tab.definition.ts +0 -53
  147. package/src/components/Tabs/Tab.tsx +0 -19
  148. package/src/components/Tabs/Tabs.stories.tsx +0 -118
  149. package/src/components/Tabs/Tabs.tsx +0 -99
  150. package/src/components/Tabs/_tabUtils.tsx +0 -4
  151. package/src/components/Tabs/index.ts +0 -2
  152. package/src/components/Timeline/Timeline.definition.ts +0 -43
  153. package/src/components/Timeline/Timeline.stories.tsx +0 -108
  154. package/src/components/Timeline/Timeline.tsx +0 -49
  155. package/src/components/Timeline/TimelineItem.tsx +0 -31
  156. package/src/components/Timeline/index.ts +0 -2
  157. package/src/components/Tooltip/Tooltip.stories.tsx +0 -129
  158. package/src/components/Tooltip/Tooltip.tsx +0 -58
  159. package/src/components/Tooltip/index.ts +0 -1
  160. package/src/components/_shared/formField.sx.ts +0 -118
  161. package/src/components/_shared/resolvePreset.ts +0 -35
  162. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +0 -168
  163. package/src/hooks/ClipBoard/ClipBoard.tsx +0 -131
  164. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +0 -111
  165. package/src/hooks/ClipBoard/index.ts +0 -1
  166. package/src/hooks/Wizard/Wizard.stories.tsx +0 -301
  167. package/src/hooks/Wizard/WizardContext.tsx +0 -166
  168. package/src/hooks/Wizard/index.ts +0 -6
  169. package/src/hooks/Wizard/useWizard.ts +0 -13
  170. package/src/index.ts +0 -17
  171. package/src/mui.ts +0 -44
  172. package/src/styles.css +0 -3
  173. package/src/theme/componentStyles.ts +0 -47
  174. package/src/theme/tokens.ts +0 -43
  175. package/tailwind.config.js +0 -10
  176. package/tsconfig.json +0 -48
  177. package/tsup.config.js +0 -41
  178. package/vite.config.js +0 -132
  179. package/vitest.config.ts +0 -35
  180. /package/{dist/Button-C17mExpd.cjs → Button-C17mExpd.cjs} +0 -0
  181. /package/{dist/Button-C17mExpd.cjs.map → Button-C17mExpd.cjs.map} +0 -0
  182. /package/{dist/Button-UkkP-bNw.js → Button-UkkP-bNw.js} +0 -0
  183. /package/{dist/Button-UkkP-bNw.js.map → Button-UkkP-bNw.js.map} +0 -0
  184. /package/{Readme.md → README.md} +0 -0
  185. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs +0 -0
  186. /package/{dist/components → components}/ActionMenu/ActionMenu.cjs.map +0 -0
  187. /package/{dist/components → components}/ActionMenu/ActionMenu.d.ts +0 -0
  188. /package/{dist/components → components}/ActionMenu/ActionMenu.js +0 -0
  189. /package/{dist/components → components}/ActionMenu/ActionMenu.js.map +0 -0
  190. /package/{dist/components → components}/ActionMenu/index.d.ts +0 -0
  191. /package/{dist/components → components}/ActionMenu.d.ts +0 -0
  192. /package/{dist/components → components}/AppBar/AppBar.cjs +0 -0
  193. /package/{dist/components → components}/AppBar/AppBar.cjs.map +0 -0
  194. /package/{dist/components → components}/AppBar/AppBar.d.ts +0 -0
  195. /package/{dist/components → components}/AppBar/AppBar.js +0 -0
  196. /package/{dist/components → components}/AppBar/AppBar.js.map +0 -0
  197. /package/{dist/components → components}/AppBar/AppBar.sx.d.ts +0 -0
  198. /package/{dist/components → components}/AppBar/AppBarBrand.d.ts +0 -0
  199. /package/{dist/components → components}/AppBar/AppBarContext.d.ts +0 -0
  200. /package/{dist/components → components}/AppBar/AppBarMenuToggle.d.ts +0 -0
  201. /package/{dist/components → components}/AppBar/AppBarUserMenu.d.ts +0 -0
  202. /package/{dist/components → components}/AppBar/index.d.ts +0 -0
  203. /package/{dist/components → components}/AppBar.d.ts +0 -0
  204. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs +0 -0
  205. /package/{dist/components → components}/Autocomplete/Autocomplete.cjs.map +0 -0
  206. /package/{dist/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
  207. /package/{dist/components → components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
  208. /package/{dist/components → components}/Autocomplete/Autocomplete.helpers.d.ts +0 -0
  209. /package/{dist/components → components}/Autocomplete/Autocomplete.js +0 -0
  210. /package/{dist/components → components}/Autocomplete/Autocomplete.js.map +0 -0
  211. /package/{dist/components → components}/Autocomplete/Autocomplete.sx.d.ts +0 -0
  212. /package/{dist/components → components}/Autocomplete/Autocomplete.types.d.ts +0 -0
  213. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteChips.d.ts +0 -0
  214. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteLoader.d.ts +0 -0
  215. /package/{dist/components → components}/Autocomplete/_parts/AutocompleteOption.d.ts +0 -0
  216. /package/{dist/components → components}/Autocomplete/index.d.ts +0 -0
  217. /package/{dist/components → components}/Autocomplete.d.ts +0 -0
  218. /package/{dist/components → components}/Avatar/Avatar.cjs +0 -0
  219. /package/{dist/components → components}/Avatar/Avatar.cjs.map +0 -0
  220. /package/{dist/components → components}/Avatar/Avatar.d.ts +0 -0
  221. /package/{dist/components → components}/Avatar/Avatar.definitions.d.ts +0 -0
  222. /package/{dist/components → components}/Avatar/Avatar.js +0 -0
  223. /package/{dist/components → components}/Avatar/Avatar.js.map +0 -0
  224. /package/{dist/components → components}/Avatar/index.d.ts +0 -0
  225. /package/{dist/components → components}/Avatar.d.ts +0 -0
  226. /package/{dist/components → components}/Button/Button.cjs +0 -0
  227. /package/{dist/components → components}/Button/Button.cjs.map +0 -0
  228. /package/{dist/components → components}/Button/Button.d.ts +0 -0
  229. /package/{dist/components → components}/Button/Button.definition.d.ts +0 -0
  230. /package/{dist/components → components}/Button/Button.js +0 -0
  231. /package/{dist/components → components}/Button/Button.js.map +0 -0
  232. /package/{dist/components → components}/Button/index.d.ts +0 -0
  233. /package/{dist/components → components}/Button.d.ts +0 -0
  234. /package/{dist/components → components}/Card/Card.cjs +0 -0
  235. /package/{dist/components → components}/Card/Card.cjs.map +0 -0
  236. /package/{dist/components → components}/Card/Card.d.ts +0 -0
  237. /package/{dist/components → components}/Card/Card.definition.d.ts +0 -0
  238. /package/{dist/components → components}/Card/Card.js +0 -0
  239. /package/{dist/components → components}/Card/Card.js.map +0 -0
  240. /package/{dist/components → components}/Card/Card.sx.d.ts +0 -0
  241. /package/{dist/components → components}/Card/index.d.ts +0 -0
  242. /package/{dist/components → components}/Card.d.ts +0 -0
  243. /package/{dist/components → components}/Chip/Chip.cjs +0 -0
  244. /package/{dist/components → components}/Chip/Chip.cjs.map +0 -0
  245. /package/{dist/components → components}/Chip/Chip.d.ts +0 -0
  246. /package/{dist/components → components}/Chip/Chip.definitions.d.ts +0 -0
  247. /package/{dist/components → components}/Chip/Chip.js +0 -0
  248. /package/{dist/components → components}/Chip/Chip.js.map +0 -0
  249. /package/{dist/components → components}/Chip/index.d.ts +0 -0
  250. /package/{dist/components → components}/Chip.d.ts +0 -0
  251. /package/{dist/components → components}/Column/Column.cjs +0 -0
  252. /package/{dist/components → components}/Column/Column.cjs.map +0 -0
  253. /package/{dist/components → components}/Column/Column.d.ts +0 -0
  254. /package/{dist/components → components}/Column/Column.js +0 -0
  255. /package/{dist/components → components}/Column/Column.js.map +0 -0
  256. /package/{dist/components → components}/Column/index.d.ts +0 -0
  257. /package/{dist/components → components}/Column.d.ts +0 -0
  258. /package/{dist/components → components}/DatePicker/DatePicker.cjs +0 -0
  259. /package/{dist/components → components}/DatePicker/DatePicker.cjs.map +0 -0
  260. /package/{dist/components → components}/DatePicker/DatePicker.d.ts +0 -0
  261. /package/{dist/components → components}/DatePicker/DatePicker.definitions.d.ts +0 -0
  262. /package/{dist/components → components}/DatePicker/DatePicker.helpers.d.ts +0 -0
  263. /package/{dist/components → components}/DatePicker/DatePicker.js +0 -0
  264. /package/{dist/components → components}/DatePicker/DatePicker.js.map +0 -0
  265. /package/{dist/components → components}/DatePicker/DatePicker.sx.d.ts +0 -0
  266. /package/{dist/components → components}/DatePicker/DatePicker.types.d.ts +0 -0
  267. /package/{dist/components → components}/DatePicker/index.d.ts +0 -0
  268. /package/{dist/components → components}/DatePicker.d.ts +0 -0
  269. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs +0 -0
  270. /package/{dist/components → components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  271. /package/{dist/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  272. /package/{dist/components → components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  273. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js +0 -0
  274. /package/{dist/components → components}/DateRangePicker/DateRangePicker.js.map +0 -0
  275. /package/{dist/components → components}/DateRangePicker/index.d.ts +0 -0
  276. /package/{dist/components → components}/DateRangePicker.d.ts +0 -0
  277. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs +0 -0
  278. /package/{dist/components → components}/DateTimePicker/DateTimePicker.cjs.map +0 -0
  279. /package/{dist/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  280. /package/{dist/components → components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
  281. /package/{dist/components → components}/DateTimePicker/DateTimePicker.helpers.d.ts +0 -0
  282. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js +0 -0
  283. /package/{dist/components → components}/DateTimePicker/DateTimePicker.js.map +0 -0
  284. /package/{dist/components → components}/DateTimePicker/DateTimePicker.sx.d.ts +0 -0
  285. /package/{dist/components → components}/DateTimePicker/DateTimePicker.types.d.ts +0 -0
  286. /package/{dist/components → components}/DateTimePicker/index.d.ts +0 -0
  287. /package/{dist/components → components}/DateTimePicker.d.ts +0 -0
  288. /package/{dist/components → components}/Drawer/Drawer.cjs +0 -0
  289. /package/{dist/components → components}/Drawer/Drawer.cjs.map +0 -0
  290. /package/{dist/components → components}/Drawer/Drawer.d.ts +0 -0
  291. /package/{dist/components → components}/Drawer/Drawer.js +0 -0
  292. /package/{dist/components → components}/Drawer/Drawer.js.map +0 -0
  293. /package/{dist/components → components}/Drawer/Drawer.sx.d.ts +0 -0
  294. /package/{dist/components → components}/Drawer/DrawerContext.d.ts +0 -0
  295. /package/{dist/components → components}/Drawer/DrawerItem.d.ts +0 -0
  296. /package/{dist/components → components}/Drawer/index.d.ts +0 -0
  297. /package/{dist/components → components}/Drawer.d.ts +0 -0
  298. /package/{dist/components → components}/Flyout/Flyout.cjs +0 -0
  299. /package/{dist/components → components}/Flyout/Flyout.cjs.map +0 -0
  300. /package/{dist/components → components}/Flyout/Flyout.d.ts +0 -0
  301. /package/{dist/components → components}/Flyout/Flyout.js +0 -0
  302. /package/{dist/components → components}/Flyout/Flyout.js.map +0 -0
  303. /package/{dist/components → components}/Flyout/index.d.ts +0 -0
  304. /package/{dist/components → components}/Flyout.d.ts +0 -0
  305. /package/{dist/components → components}/Gallery/Gallery.cjs +0 -0
  306. /package/{dist/components → components}/Gallery/Gallery.cjs.map +0 -0
  307. /package/{dist/components → components}/Gallery/Gallery.d.ts +0 -0
  308. /package/{dist/components → components}/Gallery/Gallery.definition.d.ts +0 -0
  309. /package/{dist/components → components}/Gallery/Gallery.js +0 -0
  310. /package/{dist/components → components}/Gallery/Gallery.js.map +0 -0
  311. /package/{dist/components → components}/Gallery/GalleryLightbox.d.ts +0 -0
  312. /package/{dist/components → components}/Gallery/GalleryMain.d.ts +0 -0
  313. /package/{dist/components → components}/Gallery/GalleryThumbnails.d.ts +0 -0
  314. /package/{dist/components → components}/Gallery/index.d.ts +0 -0
  315. /package/{dist/components → components}/Gallery.d.ts +0 -0
  316. /package/{dist/components → components}/Icon/Icon.cjs +0 -0
  317. /package/{dist/components → components}/Icon/Icon.cjs.map +0 -0
  318. /package/{dist/components → components}/Icon/Icon.d.ts +0 -0
  319. /package/{dist/components → components}/Icon/Icon.js +0 -0
  320. /package/{dist/components → components}/Icon/Icon.js.map +0 -0
  321. /package/{dist/components → components}/Icon/index.d.ts +0 -0
  322. /package/{dist/components → components}/Icon.d.ts +0 -0
  323. /package/{dist/components → components}/Input/Input.cjs +0 -0
  324. /package/{dist/components → components}/Input/Input.cjs.map +0 -0
  325. /package/{dist/components → components}/Input/Input.d.ts +0 -0
  326. /package/{dist/components → components}/Input/Input.definitions.d.ts +0 -0
  327. /package/{dist/components → components}/Input/Input.helpers.d.ts +0 -0
  328. /package/{dist/components → components}/Input/Input.js +0 -0
  329. /package/{dist/components → components}/Input/Input.js.map +0 -0
  330. /package/{dist/components → components}/Input/Input.sx.d.ts +0 -0
  331. /package/{dist/components → components}/Input/Input.types.d.ts +0 -0
  332. /package/{dist/components → components}/Input/index.d.ts +0 -0
  333. /package/{dist/components → components}/Input.d.ts +0 -0
  334. /package/{dist/components → components}/InputGroup/InputGroup.cjs +0 -0
  335. /package/{dist/components → components}/InputGroup/InputGroup.cjs.map +0 -0
  336. /package/{dist/components → components}/InputGroup/InputGroup.d.ts +0 -0
  337. /package/{dist/components → components}/InputGroup/InputGroup.definitions.d.ts +0 -0
  338. /package/{dist/components → components}/InputGroup/InputGroup.js +0 -0
  339. /package/{dist/components → components}/InputGroup/InputGroup.js.map +0 -0
  340. /package/{dist/components → components}/InputGroup/index.d.ts +0 -0
  341. /package/{dist/components → components}/InputGroup.d.ts +0 -0
  342. /package/{dist/components → components}/MenuButton/MenuButton.cjs +0 -0
  343. /package/{dist/components → components}/MenuButton/MenuButton.cjs.map +0 -0
  344. /package/{dist/components → components}/MenuButton/MenuButton.d.ts +0 -0
  345. /package/{dist/components → components}/MenuButton/MenuButton.js +0 -0
  346. /package/{dist/components → components}/MenuButton/MenuButton.js.map +0 -0
  347. /package/{dist/components → components}/MenuButton/index.d.ts +0 -0
  348. /package/{dist/components → components}/MenuButton.d.ts +0 -0
  349. /package/{dist/components → components}/Modal/Modal.cjs +0 -0
  350. /package/{dist/components → components}/Modal/Modal.cjs.map +0 -0
  351. /package/{dist/components → components}/Modal/Modal.d.ts +0 -0
  352. /package/{dist/components → components}/Modal/Modal.js +0 -0
  353. /package/{dist/components → components}/Modal/Modal.js.map +0 -0
  354. /package/{dist/components → components}/Modal/ModalBody.d.ts +0 -0
  355. /package/{dist/components → components}/Modal/ModalFooter.d.ts +0 -0
  356. /package/{dist/components → components}/Modal/ModalHeader.d.ts +0 -0
  357. /package/{dist/components → components}/Modal/index.d.ts +0 -0
  358. /package/{dist/components → components}/Modal.d.ts +0 -0
  359. /package/{dist/components → components}/PageLoader/PageLoader.cjs +0 -0
  360. /package/{dist/components → components}/PageLoader/PageLoader.cjs.map +0 -0
  361. /package/{dist/components → components}/PageLoader/PageLoader.d.ts +0 -0
  362. /package/{dist/components → components}/PageLoader/PageLoader.js +0 -0
  363. /package/{dist/components → components}/PageLoader/PageLoader.js.map +0 -0
  364. /package/{dist/components → components}/PageLoader/index.d.ts +0 -0
  365. /package/{dist/components → components}/PageLoader.d.ts +0 -0
  366. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs +0 -0
  367. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.cjs.map +0 -0
  368. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.d.ts +0 -0
  369. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js +0 -0
  370. /package/{dist/components → components}/ScrollTopButton/ScrollTopButton.js.map +0 -0
  371. /package/{dist/components → components}/ScrollTopButton/index.d.ts +0 -0
  372. /package/{dist/components → components}/ScrollTopButton/scrollToTop.d.ts +0 -0
  373. /package/{dist/components → components}/ScrollTopButton.d.ts +0 -0
  374. /package/{dist/components → components}/Select/Select.cjs +0 -0
  375. /package/{dist/components → components}/Select/Select.cjs.map +0 -0
  376. /package/{dist/components → components}/Select/Select.d.ts +0 -0
  377. /package/{dist/components → components}/Select/Select.definitions.d.ts +0 -0
  378. /package/{dist/components → components}/Select/Select.helpers.d.ts +0 -0
  379. /package/{dist/components → components}/Select/Select.js +0 -0
  380. /package/{dist/components → components}/Select/Select.js.map +0 -0
  381. /package/{dist/components → components}/Select/Select.sx.d.ts +0 -0
  382. /package/{dist/components → components}/Select/Select.types.d.ts +0 -0
  383. /package/{dist/components → components}/Select/_parts/SelectMenuItem.d.ts +0 -0
  384. /package/{dist/components → components}/Select/_parts/SelectSearchHeader.d.ts +0 -0
  385. /package/{dist/components → components}/Select/_parts/SelectValue.d.ts +0 -0
  386. /package/{dist/components → components}/Select/index.d.ts +0 -0
  387. /package/{dist/components → components}/Select.d.ts +0 -0
  388. /package/{dist/components → components}/Stat/Stat.cjs +0 -0
  389. /package/{dist/components → components}/Stat/Stat.cjs.map +0 -0
  390. /package/{dist/components → components}/Stat/Stat.d.ts +0 -0
  391. /package/{dist/components → components}/Stat/Stat.js +0 -0
  392. /package/{dist/components → components}/Stat/Stat.js.map +0 -0
  393. /package/{dist/components → components}/Stat/index.d.ts +0 -0
  394. /package/{dist/components → components}/Stat.d.ts +0 -0
  395. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs +0 -0
  396. /package/{dist/components → components}/StatusMessage/StatusMessage.cjs.map +0 -0
  397. /package/{dist/components → components}/StatusMessage/StatusMessage.d.ts +0 -0
  398. /package/{dist/components → components}/StatusMessage/StatusMessage.js +0 -0
  399. /package/{dist/components → components}/StatusMessage/StatusMessage.js.map +0 -0
  400. /package/{dist/components → components}/StatusMessage/index.d.ts +0 -0
  401. /package/{dist/components → components}/StatusMessage.d.ts +0 -0
  402. /package/{dist/components → components}/Stepper/Step.d.ts +0 -0
  403. /package/{dist/components → components}/Stepper/Stepper.cjs +0 -0
  404. /package/{dist/components → components}/Stepper/Stepper.cjs.map +0 -0
  405. /package/{dist/components → components}/Stepper/Stepper.d.ts +0 -0
  406. /package/{dist/components → components}/Stepper/Stepper.definition.d.ts +0 -0
  407. /package/{dist/components → components}/Stepper/Stepper.js +0 -0
  408. /package/{dist/components → components}/Stepper/Stepper.js.map +0 -0
  409. /package/{dist/components → components}/Stepper/index.d.ts +0 -0
  410. /package/{dist/components → components}/Stepper.d.ts +0 -0
  411. /package/{dist/components → components}/Table/Table.cjs +0 -0
  412. /package/{dist/components → components}/Table/Table.cjs.map +0 -0
  413. /package/{dist/components → components}/Table/Table.d.ts +0 -0
  414. /package/{dist/components → components}/Table/Table.definition.d.ts +0 -0
  415. /package/{dist/components → components}/Table/Table.js +0 -0
  416. /package/{dist/components → components}/Table/Table.js.map +0 -0
  417. /package/{dist/components → components}/Table/data.d.ts +0 -0
  418. /package/{dist/components → components}/Table/exportsUtils.d.ts +0 -0
  419. /package/{dist/components → components}/Table/index.d.ts +0 -0
  420. /package/{dist/components → components}/Table/types.d.ts +0 -0
  421. /package/{dist/components → components}/Table.d.ts +0 -0
  422. /package/{dist/components → components}/Tabs/Tab.d.ts +0 -0
  423. /package/{dist/components → components}/Tabs/Tab.definition.d.ts +0 -0
  424. /package/{dist/components → components}/Tabs/Tabs.cjs +0 -0
  425. /package/{dist/components → components}/Tabs/Tabs.cjs.map +0 -0
  426. /package/{dist/components → components}/Tabs/Tabs.d.ts +0 -0
  427. /package/{dist/components → components}/Tabs/Tabs.js +0 -0
  428. /package/{dist/components → components}/Tabs/Tabs.js.map +0 -0
  429. /package/{dist/components → components}/Tabs/_tabUtils.d.ts +0 -0
  430. /package/{dist/components → components}/Tabs/index.d.ts +0 -0
  431. /package/{dist/components → components}/Tabs.d.ts +0 -0
  432. /package/{dist/components → components}/Timeline/Timeline.cjs +0 -0
  433. /package/{dist/components → components}/Timeline/Timeline.cjs.map +0 -0
  434. /package/{dist/components → components}/Timeline/Timeline.d.ts +0 -0
  435. /package/{dist/components → components}/Timeline/Timeline.definition.d.ts +0 -0
  436. /package/{dist/components → components}/Timeline/Timeline.js +0 -0
  437. /package/{dist/components → components}/Timeline/Timeline.js.map +0 -0
  438. /package/{dist/components → components}/Timeline/TimelineItem.d.ts +0 -0
  439. /package/{dist/components → components}/Timeline/index.d.ts +0 -0
  440. /package/{dist/components → components}/Timeline.d.ts +0 -0
  441. /package/{dist/components → components}/Tooltip/Tooltip.cjs +0 -0
  442. /package/{dist/components → components}/Tooltip/Tooltip.cjs.map +0 -0
  443. /package/{dist/components → components}/Tooltip/Tooltip.d.ts +0 -0
  444. /package/{dist/components → components}/Tooltip/Tooltip.js +0 -0
  445. /package/{dist/components → components}/Tooltip/Tooltip.js.map +0 -0
  446. /package/{dist/components → components}/Tooltip/index.d.ts +0 -0
  447. /package/{dist/components → components}/Tooltip.d.ts +0 -0
  448. /package/{dist/components → components}/_shared/formField.sx.d.ts +0 -0
  449. /package/{dist/components → components}/_shared/resolvePreset.d.ts +0 -0
  450. /package/{dist/formField.sx-CQ1mbk9M.cjs → formField.sx-CQ1mbk9M.cjs} +0 -0
  451. /package/{dist/formField.sx-CQ1mbk9M.cjs.map → formField.sx-CQ1mbk9M.cjs.map} +0 -0
  452. /package/{dist/formField.sx-DfVbMe0V.js → formField.sx-DfVbMe0V.js} +0 -0
  453. /package/{dist/formField.sx-DfVbMe0V.js.map → formField.sx-DfVbMe0V.js.map} +0 -0
  454. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs +0 -0
  455. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  456. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  457. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js +0 -0
  458. /package/{dist/hooks → hooks}/ClipBoard/ClipBoard.js.map +0 -0
  459. /package/{dist/hooks → hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  460. /package/{dist/hooks → hooks}/ClipBoard/index.d.ts +0 -0
  461. /package/{dist/hooks → hooks}/ClipBoard.d.ts +0 -0
  462. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs +0 -0
  463. /package/{dist/hooks → hooks}/Wizard/Wizard.cjs.map +0 -0
  464. /package/{dist/hooks → hooks}/Wizard/Wizard.js +0 -0
  465. /package/{dist/hooks → hooks}/Wizard/Wizard.js.map +0 -0
  466. /package/{dist/hooks → hooks}/Wizard/WizardContext.d.ts +0 -0
  467. /package/{dist/hooks → hooks}/Wizard/index.d.ts +0 -0
  468. /package/{dist/hooks → hooks}/Wizard/useWizard.d.ts +0 -0
  469. /package/{dist/hooks → hooks}/Wizard.d.ts +0 -0
  470. /package/{dist/index.cjs → index.cjs} +0 -0
  471. /package/{dist/index.cjs.map → index.cjs.map} +0 -0
  472. /package/{dist/index.d.ts → index.d.ts} +0 -0
  473. /package/{dist/index.js → index.js} +0 -0
  474. /package/{dist/index.js.map → index.js.map} +0 -0
  475. /package/{dist/mui.d.ts → mui.d.ts} +0 -0
  476. /package/{dist/resolvePreset-B-IB0ehH.js → resolvePreset-B-IB0ehH.js} +0 -0
  477. /package/{dist/resolvePreset-B-IB0ehH.js.map → resolvePreset-B-IB0ehH.js.map} +0 -0
  478. /package/{dist/resolvePreset-CT3kU-K2.cjs → resolvePreset-CT3kU-K2.cjs} +0 -0
  479. /package/{dist/resolvePreset-CT3kU-K2.cjs.map → resolvePreset-CT3kU-K2.cjs.map} +0 -0
  480. /package/{dist/styles.css → styles.css} +0 -0
  481. /package/{dist/theme → theme}/componentStyles.d.ts +0 -0
  482. /package/{dist/theme → theme}/tokens.d.ts +0 -0
  483. /package/{dist/useWizard-CWdIxZzX.cjs → useWizard-CWdIxZzX.cjs} +0 -0
  484. /package/{dist/useWizard-CWdIxZzX.cjs.map → useWizard-CWdIxZzX.cjs.map} +0 -0
  485. /package/{dist/useWizard-CWq--C3o.js → useWizard-CWq--C3o.js} +0 -0
  486. /package/{dist/useWizard-CWq--C3o.js.map → useWizard-CWq--C3o.js.map} +0 -0
@@ -1,499 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import React, { useState } from 'react';
3
- import {
4
- Box,
5
- Typography,
6
- } from '@mui/material';
7
-
8
- // Importa el componente Input (asumiendo que está en el mismo directorio o ruta definida)
9
- import { Input } from './Input';
10
-
11
- // Importa las definiciones de las historias
12
- import {
13
- BasicTextInputDefinition,
14
- NumberInputDefinition,
15
- EmailInputDefinition,
16
- PasswordInputDefinition,
17
- InputWithPlaceholderDefinition,
18
- InputWithErrorDefinition,
19
- DisabledInputDefinition,
20
- ReadOnlyInputDefinition,
21
- InputVariantsDefinition,
22
- InputSizesDefinition,
23
- FullWidthInputDefinition,
24
- LabelPositionFloatingDefinition,
25
- CustomBorderRadiusDefinition,
26
- CustomStylingDefinition,
27
- } from './Input.definitions';
28
-
29
- // =============================================================================
30
- // Definición de las meta-propiedades para Storybook
31
- // =============================================================================
32
- const meta: Meta<typeof Input> = {
33
- title: 'Components/Input',
34
- component: Input,
35
- tags: ['autodocs'],
36
- parameters: {
37
- layout: 'centered',
38
- docs: {
39
- description: {
40
- component: 'Un componente `Input` personalizado basado en `TextField` de Material UI, que soporta varios tipos de entrada HTML y propiedades de `TextField`.',
41
- },
42
- },
43
- },
44
- argTypes: {
45
- label: { control: 'text', description: 'Etiqueta flotante para el campo de entrada.' },
46
- value: { control: 'text', description: 'El valor actual del campo de entrada.', type: { name: 'string', required: true } },
47
- onChange: { action: 'valueChanged', description: 'Callback que se dispara cuando el valor del campo de entrada cambia.' },
48
- type: {
49
- control: 'select',
50
- options: ['text', 'number', 'email', 'password', 'tel', 'url', 'search', 'date', 'datetime-local', 'month', 'week', 'time', 'color'],
51
- description: 'El tipo HTML del campo de entrada (controla el teclado en móviles, etc.).',
52
- defaultValue: 'text',
53
- },
54
- placeholder: { control: 'text', description: 'Texto de marcador de posición cuando el campo está vacío.' },
55
- disabled: { control: 'boolean', description: 'Si es verdadero, el campo de entrada estará deshabilitado.' },
56
- // readOnly: { control: 'boolean', description: 'Si es verdadero, el campo de entrada estará en modo de solo lectura.' },
57
- error: { control: 'boolean', description: 'Si es verdadero, el campo de entrada estará en estado de error.' },
58
- helperText: { control: 'text', description: 'Texto auxiliar que se muestra debajo del campo de entrada.' },
59
- variant: {
60
- control: 'radio',
61
- options: ['outlined', 'filled', 'standard'],
62
- description: 'La variante de diseño del campo de entrada.',
63
- defaultValue: 'outlined',
64
- },
65
- size: {
66
- control: 'radio',
67
- options: ['small', 'medium'],
68
- description: 'El tamaño del campo de entrada.',
69
- defaultValue: 'small',
70
- },
71
- labelPosition: {
72
- control: 'radio',
73
- options: ['outside', 'floating'],
74
- description: '"outside" (default): label arriba del input. "floating": label clásico de MUI dentro del notched outline.',
75
- defaultValue: 'outside',
76
- },
77
- borderRadius: {
78
- control: { type: 'number' },
79
- description: 'Border radius del input en px (o string CSS). Default: 10.',
80
- defaultValue: 10,
81
- },
82
- fullWidth: { control: 'boolean', description: 'Si es verdadero, el campo de entrada ocupará todo el ancho disponible.', defaultValue: false },
83
- },
84
- };
85
-
86
- export default meta;
87
- type Story = StoryObj<typeof Input>;
88
-
89
- // =============================================================================
90
- // Historias
91
- // =============================================================================
92
-
93
- export const BasicTextInput: Story = {
94
- render: () => {
95
- const [value, setValue] = useState('Texto de ejemplo');
96
- return (
97
- <Box sx={{ width: 300 }}>
98
- <Input
99
- label="Nombre"
100
- value={value}
101
- onChange={(value) => setValue(value.toString())}
102
- />
103
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
104
- </Box>
105
- );
106
- },
107
- parameters: {
108
- docs: {
109
- description: {
110
- story: "Un campo de entrada de texto básico con una etiqueta."
111
- },
112
- source: { code: BasicTextInputDefinition.trim() }
113
- }
114
- }
115
- };
116
-
117
- export const NumberInput: Story = {
118
- render: () => {
119
- const [value, setValue] = useState(123);
120
- return (
121
- <Box sx={{ width: 300 }}>
122
- <Input
123
- label="Cantidad"
124
- type="number"
125
- value={value.toString()}
126
- onChange={(value) => setValue(Number(value))}
127
- />
128
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
129
- </Box>
130
- );
131
- },
132
- parameters: {
133
- docs: {
134
- description: {
135
- story: "Un campo de entrada numérico. Permite solo números y controla el teclado numérico en dispositivos móviles."
136
- },
137
- source: { code: NumberInputDefinition.trim() }
138
- }
139
- }
140
- };
141
-
142
- export const EmailInput: Story = {
143
- render: () => {
144
- const [value, setValue] = useState('ejemplo@dominio.com');
145
- return (
146
- <Box sx={{ width: 300 }}>
147
- <Input
148
- label="Correo Electrónico"
149
- type="email"
150
- value={value.toString()}
151
- onChange={(value) => setValue(value.toString())}
152
- />
153
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
154
- </Box>
155
- );
156
- },
157
- parameters: {
158
- docs: {
159
- description: {
160
- story: "Un campo de entrada para correo electrónico. Proporciona validación básica del navegador y sugiere correos electrónicos."
161
- },
162
- source: { code: EmailInputDefinition.trim() }
163
- }
164
- }
165
- };
166
-
167
- export const PasswordInput: Story = {
168
- render: () => {
169
- const [value, setValue] = useState('micontraseña');
170
- return (
171
- <Box sx={{ width: 300 }}>
172
- <Input
173
- label="Contraseña"
174
- type="password"
175
- value={value.toString()}
176
- onChange={(value) => setValue(value.toString())}
177
- />
178
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
179
- </Box>
180
- );
181
- },
182
- parameters: {
183
- docs: {
184
- description: {
185
- story: "Un campo de entrada de contraseña. Oculta los caracteres a medida que se escriben."
186
- },
187
- source: { code: PasswordInputDefinition.trim() }
188
- }
189
- }
190
- };
191
-
192
- export const InputWithPlaceholder: Story = {
193
- render: () => {
194
- const [value, setValue] = useState('');
195
- return (
196
- <Box sx={{ width: 300 }}>
197
- <Input
198
- label="Búsqueda"
199
- placeholder="Escribe tu término de búsqueda..."
200
- value={value.toString()}
201
- onChange={(value) => setValue(value.toString())}
202
- />
203
- <Typography sx={{ mt: 2 }}>Valor actual: {value || 'Vacío'}</Typography>
204
- </Box>
205
- );
206
- },
207
- parameters: {
208
- docs: {
209
- description: {
210
- story: "Un campo de entrada con un texto de marcador de posición visible cuando el campo está vacío."
211
- },
212
- source: { code: InputWithPlaceholderDefinition.trim() }
213
- }
214
- }
215
- };
216
-
217
- export const InputWithError: Story = {
218
- render: () => {
219
- const [value, setValue] = useState('invalido');
220
- // Lógica simple de error para la demostración
221
- const hasError = value.length < 5 && value.length > 0;
222
- return (
223
- <Box sx={{ width: 300 }}>
224
- <Input
225
- label="Nombre de usuario"
226
- value={value.toString()}
227
- onChange={(value) => setValue(value.toString())}
228
- error={hasError}
229
- helperText={hasError ? 'Mínimo 5 caracteres' : ''}
230
- />
231
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
232
- </Box>
233
- );
234
- },
235
- parameters: {
236
- docs: {
237
- description: {
238
- story: "Un campo de entrada que muestra un estado de error y un texto de ayuda cuando la validación falla."
239
- },
240
- source: { code: InputWithErrorDefinition.trim() }
241
- }
242
- }
243
- };
244
-
245
- export const DisabledInput: Story = {
246
- render: () => {
247
- const [value, setValue] = useState('Campo deshabilitado');
248
- return (
249
- <Box sx={{ width: 300 }}>
250
- <Input
251
- label="Estado"
252
- value={value.toString()}
253
- onChange={(value) => setValue(value.toString())}
254
- disabled
255
- />
256
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
257
- </Box>
258
- );
259
- },
260
- parameters: {
261
- docs: {
262
- story: "Un campo de entrada deshabilitado, lo que impide la interacción del usuario."
263
- },
264
- source: { code: DisabledInputDefinition.trim() }
265
- }
266
- };
267
-
268
- export const ReadOnlyInput: Story = {
269
- render: () => {
270
- const [value, setValue] = useState('Valor de solo lectura');
271
- return (
272
- <Box sx={{ width: 300 }}>
273
- <Input
274
- label="Información"
275
- value={value.toString()}
276
- onChange={(value) => setValue(value.toString())}
277
- readOnly
278
- />
279
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
280
- </Box>
281
- );
282
- },
283
- parameters: {
284
- docs: {
285
- story: "Un campo de entrada de solo lectura, el usuario puede ver el valor pero no modificarlo."
286
- },
287
- source: { code: ReadOnlyInputDefinition.trim() }
288
- }
289
- };
290
-
291
- export const InputVariants: Story = {
292
- render: () => {
293
- const [valueOutlined, setValueOutlined] = useState('Outlined');
294
- const [valueFilled, setValueFilled] = useState('Filled');
295
- const [valueStandard, setValueStandard] = useState('Standard');
296
- return (
297
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, width: 300 }}>
298
- <Input
299
- label="Esquema Outlined"
300
- value={valueOutlined.toString()}
301
- onChange={(value) => setValueOutlined(value.toString())}
302
- variant="outlined"
303
- />
304
- <Input
305
- label="Esquema Filled"
306
- value={valueFilled.toString()}
307
- onChange={(value) => setValueFilled(value.toString())}
308
- variant="filled"
309
- />
310
- <Input
311
- label="Esquema Standard"
312
- value={valueStandard.toString()}
313
- onChange={(value) => setValueStandard(value.toString())}
314
- variant="standard"
315
- />
316
- </Box>
317
- );
318
- },
319
- parameters: {
320
- docs: {
321
- story: "Demuestra las diferentes variantes de diseño: `outlined`, `filled` y `standard`."
322
- },
323
- source: { code: InputVariantsDefinition.trim() }
324
- }
325
- };
326
-
327
- export const InputSizes: Story = {
328
- render: () => {
329
- const [valueMedium, setValueMedium] = useState('Tamaño Mediano');
330
- const [valueSmall, setValueSmall] = useState('Tamaño Pequeño');
331
- return (
332
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, width: 300 }}>
333
- <Input
334
- label="Input Mediano"
335
- value={valueMedium.toString()}
336
- onChange={(value) => setValueMedium(value.toString())}
337
- size="medium"
338
- />
339
- <Input
340
- label="Input Pequeño"
341
- value={valueSmall.toString()}
342
- onChange={(value) => setValueSmall(value.toString())}
343
- size="small"
344
- />
345
- </Box>
346
- );
347
- },
348
- parameters: {
349
- docs: {
350
- story: "Demuestra los diferentes tamaños del campo de entrada: `medium` (por defecto) y `small`."
351
- },
352
- source: { code: InputSizesDefinition.trim() }
353
- }
354
- };
355
-
356
- export const FullWidthInput: Story = {
357
- render: () => {
358
- const [value, setValue] = useState('Ocupa todo el ancho');
359
- return (
360
- <Box sx={{ width: '100%' }}>
361
- <Input
362
- label="Input de Ancho Completo"
363
- value={value.toString()}
364
- onChange={(value) => setValue(value.toString())}
365
- fullWidth
366
- />
367
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
368
- </Box>
369
- );
370
- },
371
- parameters: {
372
- docs: {
373
- story: "Un campo de entrada que ocupa todo el ancho disponible de su contenedor."
374
- },
375
- source: { code: FullWidthInputDefinition.trim() }
376
- }
377
- };
378
-
379
- export const StandardVariant: Story = {
380
- render: () => {
381
- const [value, setValue] = useState('Ocupa todo el ancho');
382
- return (
383
- <Box sx={{ width: '100%' }}>
384
- <Input
385
-
386
- value={value.toString()}
387
- variant='standard'
388
- onChange={(value) => setValue(value.toString())}
389
- fullWidth
390
- />
391
- <Typography sx={{ mt: 2 }}>Valor actual: {value}</Typography>
392
- </Box>
393
- );
394
- },
395
- parameters: {
396
- docs: {
397
- story: "Un campo de entrada que ocupa todo el ancho disponible de su contenedor."
398
- },
399
-
400
- }
401
- };
402
-
403
- export const LabelPositionFloating: Story = {
404
- render: () => {
405
- const [valueOutside, setValueOutside] = useState('Outside (default)');
406
- const [valueFloating, setValueFloating] = useState('Floating');
407
- return (
408
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, width: 300 }}>
409
- <Input
410
- label="Label outside"
411
- value={valueOutside.toString()}
412
- onChange={(value) => setValueOutside(value.toString())}
413
- labelPosition="outside"
414
- />
415
- <Input
416
- label="Label floating (MUI clásico)"
417
- value={valueFloating.toString()}
418
- onChange={(value) => setValueFloating(value.toString())}
419
- labelPosition="floating"
420
- />
421
- </Box>
422
- );
423
- },
424
- parameters: {
425
- docs: {
426
- description: {
427
- story: "Compara `labelPosition='outside'` (default, label arriba del input) vs `labelPosition='floating'` (label flotante clásico de MUI dentro del notched outline)."
428
- },
429
- source: { code: LabelPositionFloatingDefinition.trim() }
430
- }
431
- }
432
- };
433
-
434
- export const CustomBorderRadius: Story = {
435
- render: () => {
436
- const [v0, setV0] = useState('Sin radius');
437
- const [v4, setV4] = useState('Radius 4px');
438
- const [v10, setV10] = useState('Radius 10px (default)');
439
- const [v24, setV24] = useState('Radius 24px (pill)');
440
- return (
441
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, width: 300 }}>
442
- <Input label="borderRadius={0}" value={v0} onChange={(v) => setV0(v.toString())} borderRadius={0} />
443
- <Input label="borderRadius={4}" value={v4} onChange={(v) => setV4(v.toString())} borderRadius={4} />
444
- <Input label="borderRadius={10} (default)" value={v10} onChange={(v) => setV10(v.toString())} />
445
- <Input label="borderRadius={24}" value={v24} onChange={(v) => setV24(v.toString())} borderRadius={24} />
446
- </Box>
447
- );
448
- },
449
- parameters: {
450
- docs: {
451
- description: {
452
- story: "El prop `borderRadius` acepta un número (px) o un string CSS. Override directo del default `10`."
453
- },
454
- source: { code: CustomBorderRadiusDefinition.trim() }
455
- }
456
- }
457
- };
458
-
459
- export const CustomStyling: Story = {
460
- render: () => {
461
- const [bg, setBg] = useState('Fondo gris claro');
462
- const [color, setColor] = useState('Borde rojo');
463
- const [combined, setCombined] = useState('Custom completo');
464
- return (
465
- <Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, width: 300 }}>
466
- <Input
467
- label="Override de background"
468
- value={bg}
469
- onChange={(v) => setBg(v.toString())}
470
- sx={{ '& .MuiOutlinedInput-root': { bgcolor: '#f5f5f5' } }}
471
- />
472
- <Input
473
- label="Override de borderColor"
474
- value={color}
475
- onChange={(v) => setColor(v.toString())}
476
- sx={{ '& .MuiOutlinedInput-notchedOutline': { borderColor: 'red' } }}
477
- />
478
- <Input
479
- label="Combinado: bg + borderColor + label color"
480
- value={combined}
481
- onChange={(v) => setCombined(v.toString())}
482
- sx={{
483
- '& .MuiInputLabel-root': { color: 'primary.main' },
484
- '& .MuiOutlinedInput-root': { bgcolor: '#fff7e6' },
485
- '& .MuiOutlinedInput-notchedOutline': { borderColor: 'warning.main', borderWidth: 2 },
486
- }}
487
- />
488
- </Box>
489
- );
490
- },
491
- parameters: {
492
- docs: {
493
- description: {
494
- story: "Demuestra que el prop `sx` se mergea al final y siempre gana sobre los defaults internos. Antes esto no funcionaba por culpa del `styled()` interno."
495
- },
496
- source: { code: CustomStylingDefinition.trim() }
497
- }
498
- }
499
- };
@@ -1,42 +0,0 @@
1
- import type { TextFieldProps } from '@mui/material';
2
-
3
- import { buildFormFieldSx } from '../_shared/formField.sx';
4
- import { FIELD_INPUT_PADDING_Y } from '../../theme/tokens';
5
- import type { LabelPosition } from './Input';
6
-
7
- /**
8
- * Builder de sx para el Input. Usa el builder compartido
9
- * `buildFormFieldSx` y añade overrides específicos de TextField
10
- * (padding del input base, filled, standard).
11
- */
12
- export const buildInputSx = (
13
- borderRadius: number | string,
14
- labelPosition: LabelPosition,
15
- ): TextFieldProps['sx'] => {
16
- const radius = typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;
17
-
18
- return buildFormFieldSx({
19
- borderRadius,
20
- labelPosition,
21
- extraOutsideSx: {
22
- '& .MuiInputBase-input': {
23
- paddingTop: FIELD_INPUT_PADDING_Y,
24
- paddingBottom: FIELD_INPUT_PADDING_Y,
25
- },
26
-
27
- // Filled: quitar el padding-top reservado para el label flotante dentro.
28
- '& .MuiFilledInput-root': {
29
- paddingTop: 0,
30
- borderRadius: `${radius} ${radius} 0 0`,
31
- },
32
- '& .MuiFilledInput-input': {
33
- paddingTop: FIELD_INPUT_PADDING_Y,
34
- },
35
-
36
- // Standard: quitar el margin-top reservado para el label flotante.
37
- '& .MuiInput-root': {
38
- marginTop: 0,
39
- },
40
- },
41
- });
42
- };
@@ -1,141 +0,0 @@
1
- import { TextField, type TextFieldProps } from '@mui/material';
2
- import { useTheme } from '@mui/material/styles';
3
- import { Controller, type Control, type RegisterOptions } from 'react-hook-form';
4
-
5
- import { parseValue, buildSlotProps } from './Input.helpers';
6
- import { buildInputSx } from './Input.sx';
7
- import { resolvePreset } from '../_shared/resolvePreset';
8
-
9
- // ── Tipos de dominio ─────────────────────────────────────────────────────
10
- export type InputType =
11
- | 'text' | 'number' | 'email' | 'password' | 'tel'
12
- | 'url' | 'search' | 'date' | 'datetime-local'
13
- | 'month' | 'week' | 'time' | 'color';
14
-
15
- export type LabelPosition = 'outside' | 'floating';
16
-
17
- // ── Props base (todo lo común entre RHF y controlado) ────────────────────
18
- export interface BaseInputProps
19
- extends Omit<TextFieldProps, 'value' | 'onChange' | 'type'> {
20
- type?: InputType;
21
- min?: number;
22
- max?: number;
23
- /** Border radius del input. Default: 10 */
24
- borderRadius?: number | string;
25
- /** "outside" = label arriba del campo (default). "floating" = label clásico MUI dentro del borde */
26
- labelPosition?: LabelPosition;
27
- readOnly?: boolean;
28
- /**
29
- * Nombre del preset de estilo registrado en `theme.styles.Input`.
30
- * - `"default"` (o ausente) = estilo built-in del paquete.
31
- * - Cualquier otro string = mergea el preset encima del estilo built-in.
32
- */
33
- preset?: string;
34
- }
35
-
36
- // ── Variantes discriminadas (RHF vs controlado) ──────────────────────────
37
- export interface RHFInputProps extends BaseInputProps {
38
- name: string;
39
- control: Control<any>;
40
- validation?: RegisterOptions;
41
- value?: never;
42
- onChange?: never;
43
- }
44
-
45
- export interface ControlledInputProps extends BaseInputProps {
46
- name?: string;
47
- control?: never;
48
- validation?: never;
49
- value: string | number;
50
- onChange: (value: string | number) => void;
51
- }
52
-
53
- // ── API pública final ────────────────────────────────────────────────────
54
- export type InputProps = RHFInputProps | ControlledInputProps;
55
-
56
- export const Input: React.FC<InputProps> = (props) => {
57
- const {
58
- type = 'text',
59
- variant = 'outlined',
60
- size = 'small',
61
- borderRadius = 10,
62
- labelPosition = 'outside',
63
- preset,
64
- min,
65
- max,
66
- readOnly,
67
- inputProps,
68
- slotProps,
69
- sx,
70
- ...rest
71
- } = props as ControlledInputProps & {
72
- control?: Control<any>;
73
- validation?: RegisterOptions;
74
- readOnly?: boolean;
75
- preset?: string;
76
- };
77
-
78
- const theme = useTheme();
79
- const presetSx = resolvePreset('Input', preset, theme);
80
-
81
- const finalSlotProps = buildSlotProps(
82
- type,
83
- min,
84
- max,
85
- slotProps,
86
- inputProps,
87
- labelPosition,
88
- readOnly,
89
- );
90
- const mergedSx = [
91
- buildInputSx(borderRadius, labelPosition),
92
- ...(presetSx ? [presetSx] : []),
93
- ...(Array.isArray(sx) ? sx : [sx]),
94
- ];
95
-
96
- if ('control' in props && props.control) {
97
- const { name, control, validation } = props as RHFInputProps;
98
- return (
99
- <Controller
100
- name={name}
101
- control={control}
102
- rules={validation}
103
- render={({ field, fieldState: { error } }) => (
104
- <TextField
105
- fullWidth
106
- {...rest}
107
- name={field.name}
108
- value={field.value ?? ''}
109
- onChange={(e) => field.onChange(parseValue(e.target.value, type))}
110
- onBlur={field.onBlur}
111
- inputRef={field.ref}
112
- type={type}
113
- variant={variant}
114
- size={size}
115
- slotProps={finalSlotProps}
116
- sx={mergedSx}
117
- error={!!error || rest.error}
118
- helperText={error?.message ?? rest.helperText}
119
- />
120
- )}
121
- />
122
- );
123
- }
124
-
125
- const { value, onChange } = props as ControlledInputProps;
126
- return (
127
- <TextField
128
- fullWidth
129
- {...rest}
130
- value={value ?? ''}
131
- onChange={(e) => onChange(parseValue(e.target.value, type))}
132
- type={type}
133
- variant={variant}
134
- size={size}
135
- slotProps={finalSlotProps}
136
- sx={mergedSx}
137
- />
138
- );
139
- };
140
-
141
- export default Input;
@@ -1,10 +0,0 @@
1
- // Re-export barrel para compatibilidad con imports antiguos.
2
- // Los tipos ahora viven dentro de Input.tsx.
3
- export type {
4
- InputType,
5
- LabelPosition,
6
- BaseInputProps,
7
- RHFInputProps,
8
- ControlledInputProps,
9
- InputProps,
10
- } from './Input';
@@ -1,9 +0,0 @@
1
- export { Input, default } from './Input';
2
- export type {
3
- InputProps,
4
- BaseInputProps,
5
- RHFInputProps,
6
- ControlledInputProps,
7
- InputType,
8
- LabelPosition,
9
- } from './Input.types';