@soyfri/shared-library 1.5.0-beta.4 → 1.5.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 (353) hide show
  1. package/.dockerignore +8 -0
  2. package/.github/workflows/publish.yml +107 -0
  3. package/.prettierrc +3 -0
  4. package/.storybook/main.ts +19 -0
  5. package/.storybook/preview.ts +14 -0
  6. package/.storybook/vitest.setup.ts +9 -0
  7. package/Dockerfile +37 -0
  8. package/build.js +102 -0
  9. package/chromatic.config.json +5 -0
  10. package/cleanDirectories.js +40 -0
  11. package/dist/components/Autocomplete/Autocomplete.cjs +109 -0
  12. package/dist/components/Autocomplete/Autocomplete.cjs.map +1 -0
  13. package/dist/components/Autocomplete/Autocomplete.js +109 -0
  14. package/dist/components/Autocomplete/Autocomplete.js.map +1 -0
  15. package/dist/styles.css +112 -0
  16. package/package.json +43 -134
  17. package/rollup.config.cjs +87 -0
  18. package/src/components/Autocomplete/Autocomplete.definitions.ts +254 -0
  19. package/src/components/Autocomplete/Autocomplete.stories.tsx +387 -0
  20. package/src/components/Autocomplete/Autocomplete.tsx +139 -0
  21. package/src/components/Autocomplete/index.ts +1 -0
  22. package/src/components/Avatar/Avatar.stories.tsx +54 -0
  23. package/src/components/Avatar/Avatar.tsx +143 -0
  24. package/src/components/Avatar/index.ts +1 -0
  25. package/src/components/Button/Button.definition.ts +97 -0
  26. package/src/components/Button/Button.stories.tsx +285 -0
  27. package/src/components/Button/Button.tsx +67 -0
  28. package/src/components/Button/index.ts +1 -0
  29. package/src/components/Card/Card.definition.ts +5 -0
  30. package/src/components/Card/Card.stories.tsx +32 -0
  31. package/src/components/Card/Card.tsx +44 -0
  32. package/src/components/Card/index.ts +1 -0
  33. package/src/components/Chip/Chip.definitions.ts +167 -0
  34. package/src/components/Chip/Chip.stories.tsx +265 -0
  35. package/src/components/Chip/Chip.tsx +61 -0
  36. package/src/components/Chip/index.ts +1 -0
  37. package/src/components/Column/Column.tsx +29 -0
  38. package/src/components/Column/index.ts +1 -0
  39. package/src/components/DatePicker/DatePicker.definitions.ts +205 -0
  40. package/src/components/DatePicker/DatePicker.stories.tsx +282 -0
  41. package/src/components/DatePicker/DatePicker.tsx +165 -0
  42. package/src/components/DatePicker/index.ts +1 -0
  43. package/src/components/DateRangePicker/DateRangePicker.definitions.ts +191 -0
  44. package/src/components/DateRangePicker/DateRangePicker.stories.tsx +252 -0
  45. package/src/components/DateRangePicker/DateRangePicker.tsx +56 -0
  46. package/src/components/DateRangePicker/index.ts +1 -0
  47. package/src/components/DateTimePicker/DateTimePicker.definitions.ts +232 -0
  48. package/src/components/DateTimePicker/DateTimePicker.stories.tsx +390 -0
  49. package/src/components/DateTimePicker/DateTimePicker.tsx +191 -0
  50. package/src/components/DateTimePicker/index.ts +1 -0
  51. package/src/components/Flyout/Flyout.stories.tsx +274 -0
  52. package/src/components/Flyout/Flyout.tsx +122 -0
  53. package/src/components/Flyout/index.ts +1 -0
  54. package/src/components/Gallery/Gallery.definition.tsx +37 -0
  55. package/src/components/Gallery/Gallery.stories.tsx +82 -0
  56. package/src/components/Gallery/Gallery.tsx +118 -0
  57. package/src/components/Gallery/GalleryLightbox.tsx +170 -0
  58. package/src/components/Gallery/GalleryMain.tsx +84 -0
  59. package/src/components/Gallery/GalleryThumbnails.tsx +106 -0
  60. package/src/components/Gallery/index.ts +1 -0
  61. package/src/components/Icon/Icon.stories.tsx +54 -0
  62. package/src/components/Icon/Icon.tsx +94 -0
  63. package/src/components/Icon/index.ts +2 -0
  64. package/src/components/Input/Input.definitions.ts +252 -0
  65. package/src/components/Input/Input.stories.tsx +387 -0
  66. package/src/components/Input/Input.tsx +186 -0
  67. package/src/components/Input/index.ts +1 -0
  68. package/src/components/InputGroup/InputGroup.stories.tsx +136 -0
  69. package/src/components/InputGroup/InputGroup.tsx +136 -0
  70. package/src/components/InputGroup/index.ts +1 -0
  71. package/src/components/MenuButton/MenuButton.stories.tsx +197 -0
  72. package/src/components/MenuButton/MenuButton.tsx +100 -0
  73. package/src/components/MenuButton/index.ts +1 -0
  74. package/src/components/Modal/Modal.stories.tsx +293 -0
  75. package/src/components/Modal/Modal.tsx +173 -0
  76. package/src/components/Modal/ModalBody.tsx +16 -0
  77. package/src/components/Modal/ModalFooter.tsx +61 -0
  78. package/src/components/Modal/ModalHeader.tsx +18 -0
  79. package/src/components/Modal/index.ts +1 -0
  80. package/src/components/Select/Select.definitions.ts +488 -0
  81. package/src/components/Select/Select.stories.tsx +569 -0
  82. package/src/components/Select/Select.tsx +468 -0
  83. package/src/components/Select/index.ts +1 -0
  84. package/src/components/Stat/Stat.stories.tsx +85 -0
  85. package/src/components/Stat/Stat.tsx +117 -0
  86. package/src/components/Stat/index.ts +2 -0
  87. package/src/components/StatusMessage/StatusMessage.stories.tsx +130 -0
  88. package/src/components/StatusMessage/StatusMessage.tsx +162 -0
  89. package/src/components/StatusMessage/index.ts +2 -0
  90. package/src/components/Stepper/Step.tsx +21 -0
  91. package/src/components/Stepper/Stepper.definition.ts +75 -0
  92. package/src/components/Stepper/Stepper.stories.tsx +122 -0
  93. package/src/components/Stepper/Stepper.tsx +59 -0
  94. package/src/components/Stepper/index.ts +2 -0
  95. package/src/components/Table/EmptyTable.png +0 -0
  96. package/src/components/Table/Table.definition.ts +580 -0
  97. package/src/components/Table/Table.stories.tsx +853 -0
  98. package/src/components/Table/Table.tsx +495 -0
  99. package/src/components/Table/data.ts +134 -0
  100. package/src/components/Table/exportsUtils.ts +195 -0
  101. package/src/components/Table/index.ts +3 -0
  102. package/src/components/Table/types.ts +34 -0
  103. package/src/components/Tabs/Tab.definition.ts +53 -0
  104. package/src/components/Tabs/Tab.tsx +19 -0
  105. package/src/components/Tabs/Tabs.stories.tsx +118 -0
  106. package/src/components/Tabs/Tabs.tsx +99 -0
  107. package/src/components/Tabs/_tabUtils.tsx +4 -0
  108. package/src/components/Tabs/index.ts +2 -0
  109. package/src/components/Timeline/Timeline.definition.ts +43 -0
  110. package/src/components/Timeline/Timeline.stories.tsx +108 -0
  111. package/src/components/Timeline/Timeline.tsx +49 -0
  112. package/src/components/Timeline/TimelineItem.tsx +31 -0
  113. package/src/components/Timeline/index.ts +2 -0
  114. package/src/components/Tooltip/Tooltip.stories.tsx +117 -0
  115. package/src/components/Tooltip/Tooltip.tsx +58 -0
  116. package/src/components/Tooltip/index.ts +1 -0
  117. package/src/hooks/ClipBoard/ClipBoard.stories.tsx +168 -0
  118. package/src/hooks/ClipBoard/ClipBoard.tsx +131 -0
  119. package/src/hooks/ClipBoard/ClipboardUnifiedDemo.tsx +111 -0
  120. package/src/hooks/ClipBoard/index.ts +1 -0
  121. package/src/index.ts +1 -0
  122. package/src/styles.css +3 -0
  123. package/tailwind.config.js +10 -0
  124. package/tsconfig.json +48 -0
  125. package/tsup.config.js +41 -0
  126. package/vite.config.js +132 -0
  127. package/vitest.config.ts +35 -0
  128. package/components/Autocomplete/Autocomplete.cjs +0 -132
  129. package/components/Autocomplete/Autocomplete.cjs.map +0 -1
  130. package/components/Autocomplete/Autocomplete.js +0 -132
  131. package/components/Autocomplete/Autocomplete.js.map +0 -1
  132. /package/{README.md → Readme.md} +0 -0
  133. /package/{Button-C17mExpd.cjs → dist/Button-C17mExpd.cjs} +0 -0
  134. /package/{Button-C17mExpd.cjs.map → dist/Button-C17mExpd.cjs.map} +0 -0
  135. /package/{Button-UkkP-bNw.js → dist/Button-UkkP-bNw.js} +0 -0
  136. /package/{Button-UkkP-bNw.js.map → dist/Button-UkkP-bNw.js.map} +0 -0
  137. /package/{DatePicker-BSNboVhN.js → dist/DatePicker-BSNboVhN.js} +0 -0
  138. /package/{DatePicker-BSNboVhN.js.map → dist/DatePicker-BSNboVhN.js.map} +0 -0
  139. /package/{DatePicker-BoqxWAhj.cjs → dist/DatePicker-BoqxWAhj.cjs} +0 -0
  140. /package/{DatePicker-BoqxWAhj.cjs.map → dist/DatePicker-BoqxWAhj.cjs.map} +0 -0
  141. /package/{Input-DFHs7cJ_.js → dist/Input-DFHs7cJ_.js} +0 -0
  142. /package/{Input-DFHs7cJ_.js.map → dist/Input-DFHs7cJ_.js.map} +0 -0
  143. /package/{Input-c8MwNNPg.cjs → dist/Input-c8MwNNPg.cjs} +0 -0
  144. /package/{Input-c8MwNNPg.cjs.map → dist/Input-c8MwNNPg.cjs.map} +0 -0
  145. /package/{Select-BO2N56sm.cjs → dist/Select-BO2N56sm.cjs} +0 -0
  146. /package/{Select-BO2N56sm.cjs.map → dist/Select-BO2N56sm.cjs.map} +0 -0
  147. /package/{Select-BcLkyHSE.js → dist/Select-BcLkyHSE.js} +0 -0
  148. /package/{Select-BcLkyHSE.js.map → dist/Select-BcLkyHSE.js.map} +0 -0
  149. /package/{components → dist/components}/Autocomplete/Autocomplete.d.ts +0 -0
  150. /package/{components → dist/components}/Autocomplete/Autocomplete.definitions.d.ts +0 -0
  151. /package/{components → dist/components}/Autocomplete/index.d.ts +0 -0
  152. /package/{components → dist/components}/Autocomplete.d.ts +0 -0
  153. /package/{components → dist/components}/Avatar/Avatar.cjs +0 -0
  154. /package/{components → dist/components}/Avatar/Avatar.cjs.map +0 -0
  155. /package/{components → dist/components}/Avatar/Avatar.d.ts +0 -0
  156. /package/{components → dist/components}/Avatar/Avatar.js +0 -0
  157. /package/{components → dist/components}/Avatar/Avatar.js.map +0 -0
  158. /package/{components → dist/components}/Avatar/index.d.ts +0 -0
  159. /package/{components → dist/components}/Avatar.d.ts +0 -0
  160. /package/{components → dist/components}/Button/Button.cjs +0 -0
  161. /package/{components → dist/components}/Button/Button.cjs.map +0 -0
  162. /package/{components → dist/components}/Button/Button.d.ts +0 -0
  163. /package/{components → dist/components}/Button/Button.definition.d.ts +0 -0
  164. /package/{components → dist/components}/Button/Button.js +0 -0
  165. /package/{components → dist/components}/Button/Button.js.map +0 -0
  166. /package/{components → dist/components}/Button/index.d.ts +0 -0
  167. /package/{components → dist/components}/Button.d.ts +0 -0
  168. /package/{components → dist/components}/Card/Card.cjs +0 -0
  169. /package/{components → dist/components}/Card/Card.cjs.map +0 -0
  170. /package/{components → dist/components}/Card/Card.d.ts +0 -0
  171. /package/{components → dist/components}/Card/Card.definition.d.ts +0 -0
  172. /package/{components → dist/components}/Card/Card.js +0 -0
  173. /package/{components → dist/components}/Card/Card.js.map +0 -0
  174. /package/{components → dist/components}/Card/index.d.ts +0 -0
  175. /package/{components → dist/components}/Card.d.ts +0 -0
  176. /package/{components → dist/components}/Chip/Chip.cjs +0 -0
  177. /package/{components → dist/components}/Chip/Chip.cjs.map +0 -0
  178. /package/{components → dist/components}/Chip/Chip.d.ts +0 -0
  179. /package/{components → dist/components}/Chip/Chip.definitions.d.ts +0 -0
  180. /package/{components → dist/components}/Chip/Chip.js +0 -0
  181. /package/{components → dist/components}/Chip/Chip.js.map +0 -0
  182. /package/{components → dist/components}/Chip/index.d.ts +0 -0
  183. /package/{components → dist/components}/Chip.d.ts +0 -0
  184. /package/{components → dist/components}/Column/Column.cjs +0 -0
  185. /package/{components → dist/components}/Column/Column.cjs.map +0 -0
  186. /package/{components → dist/components}/Column/Column.d.ts +0 -0
  187. /package/{components → dist/components}/Column/Column.js +0 -0
  188. /package/{components → dist/components}/Column/Column.js.map +0 -0
  189. /package/{components → dist/components}/Column/index.d.ts +0 -0
  190. /package/{components → dist/components}/Column.d.ts +0 -0
  191. /package/{components → dist/components}/DatePicker/DatePicker.cjs +0 -0
  192. /package/{components → dist/components}/DatePicker/DatePicker.cjs.map +0 -0
  193. /package/{components → dist/components}/DatePicker/DatePicker.d.ts +0 -0
  194. /package/{components → dist/components}/DatePicker/DatePicker.definitions.d.ts +0 -0
  195. /package/{components → dist/components}/DatePicker/DatePicker.js +0 -0
  196. /package/{components → dist/components}/DatePicker/DatePicker.js.map +0 -0
  197. /package/{components → dist/components}/DatePicker/index.d.ts +0 -0
  198. /package/{components → dist/components}/DatePicker.d.ts +0 -0
  199. /package/{components → dist/components}/DateRangePicker/DateRangePicker.cjs +0 -0
  200. /package/{components → dist/components}/DateRangePicker/DateRangePicker.cjs.map +0 -0
  201. /package/{components → dist/components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  202. /package/{components → dist/components}/DateRangePicker/DateRangePicker.definitions.d.ts +0 -0
  203. /package/{components → dist/components}/DateRangePicker/DateRangePicker.js +0 -0
  204. /package/{components → dist/components}/DateRangePicker/DateRangePicker.js.map +0 -0
  205. /package/{components → dist/components}/DateRangePicker/index.d.ts +0 -0
  206. /package/{components → dist/components}/DateRangePicker.d.ts +0 -0
  207. /package/{components → dist/components}/DateTimePicker/DateTimePicker.cjs +0 -0
  208. /package/{components → dist/components}/DateTimePicker/DateTimePicker.cjs.map +0 -0
  209. /package/{components → dist/components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  210. /package/{components → dist/components}/DateTimePicker/DateTimePicker.definitions.d.ts +0 -0
  211. /package/{components → dist/components}/DateTimePicker/DateTimePicker.js +0 -0
  212. /package/{components → dist/components}/DateTimePicker/DateTimePicker.js.map +0 -0
  213. /package/{components → dist/components}/DateTimePicker/index.d.ts +0 -0
  214. /package/{components → dist/components}/DateTimePicker.d.ts +0 -0
  215. /package/{components → dist/components}/Flyout/Flyout.cjs +0 -0
  216. /package/{components → dist/components}/Flyout/Flyout.cjs.map +0 -0
  217. /package/{components → dist/components}/Flyout/Flyout.d.ts +0 -0
  218. /package/{components → dist/components}/Flyout/Flyout.js +0 -0
  219. /package/{components → dist/components}/Flyout/Flyout.js.map +0 -0
  220. /package/{components → dist/components}/Flyout/index.d.ts +0 -0
  221. /package/{components → dist/components}/Flyout.d.ts +0 -0
  222. /package/{components → dist/components}/Gallery/Gallery.cjs +0 -0
  223. /package/{components → dist/components}/Gallery/Gallery.cjs.map +0 -0
  224. /package/{components → dist/components}/Gallery/Gallery.d.ts +0 -0
  225. /package/{components → dist/components}/Gallery/Gallery.definition.d.ts +0 -0
  226. /package/{components → dist/components}/Gallery/Gallery.js +0 -0
  227. /package/{components → dist/components}/Gallery/Gallery.js.map +0 -0
  228. /package/{components → dist/components}/Gallery/GalleryLightbox.d.ts +0 -0
  229. /package/{components → dist/components}/Gallery/GalleryMain.d.ts +0 -0
  230. /package/{components → dist/components}/Gallery/GalleryThumbnails.d.ts +0 -0
  231. /package/{components → dist/components}/Gallery/index.d.ts +0 -0
  232. /package/{components → dist/components}/Gallery.d.ts +0 -0
  233. /package/{components → dist/components}/Icon/Icon.cjs +0 -0
  234. /package/{components → dist/components}/Icon/Icon.cjs.map +0 -0
  235. /package/{components → dist/components}/Icon/Icon.d.ts +0 -0
  236. /package/{components → dist/components}/Icon/Icon.js +0 -0
  237. /package/{components → dist/components}/Icon/Icon.js.map +0 -0
  238. /package/{components → dist/components}/Icon/index.d.ts +0 -0
  239. /package/{components → dist/components}/Icon.d.ts +0 -0
  240. /package/{components → dist/components}/Input/Input.cjs +0 -0
  241. /package/{components → dist/components}/Input/Input.cjs.map +0 -0
  242. /package/{components → dist/components}/Input/Input.d.ts +0 -0
  243. /package/{components → dist/components}/Input/Input.definitions.d.ts +0 -0
  244. /package/{components → dist/components}/Input/Input.js +0 -0
  245. /package/{components → dist/components}/Input/Input.js.map +0 -0
  246. /package/{components → dist/components}/Input/index.d.ts +0 -0
  247. /package/{components → dist/components}/Input.d.ts +0 -0
  248. /package/{components → dist/components}/InputGroup/InputGroup.cjs +0 -0
  249. /package/{components → dist/components}/InputGroup/InputGroup.cjs.map +0 -0
  250. /package/{components → dist/components}/InputGroup/InputGroup.d.ts +0 -0
  251. /package/{components → dist/components}/InputGroup/InputGroup.js +0 -0
  252. /package/{components → dist/components}/InputGroup/InputGroup.js.map +0 -0
  253. /package/{components → dist/components}/InputGroup/index.d.ts +0 -0
  254. /package/{components → dist/components}/InputGroup.d.ts +0 -0
  255. /package/{components → dist/components}/MenuButton/MenuButton.cjs +0 -0
  256. /package/{components → dist/components}/MenuButton/MenuButton.cjs.map +0 -0
  257. /package/{components → dist/components}/MenuButton/MenuButton.d.ts +0 -0
  258. /package/{components → dist/components}/MenuButton/MenuButton.js +0 -0
  259. /package/{components → dist/components}/MenuButton/MenuButton.js.map +0 -0
  260. /package/{components → dist/components}/MenuButton/index.d.ts +0 -0
  261. /package/{components → dist/components}/MenuButton.d.ts +0 -0
  262. /package/{components → dist/components}/Modal/Modal.cjs +0 -0
  263. /package/{components → dist/components}/Modal/Modal.cjs.map +0 -0
  264. /package/{components → dist/components}/Modal/Modal.d.ts +0 -0
  265. /package/{components → dist/components}/Modal/Modal.js +0 -0
  266. /package/{components → dist/components}/Modal/Modal.js.map +0 -0
  267. /package/{components → dist/components}/Modal/ModalBody.d.ts +0 -0
  268. /package/{components → dist/components}/Modal/ModalFooter.d.ts +0 -0
  269. /package/{components → dist/components}/Modal/ModalHeader.d.ts +0 -0
  270. /package/{components → dist/components}/Modal/index.d.ts +0 -0
  271. /package/{components → dist/components}/Modal.d.ts +0 -0
  272. /package/{components → dist/components}/Select/Select.cjs +0 -0
  273. /package/{components → dist/components}/Select/Select.cjs.map +0 -0
  274. /package/{components → dist/components}/Select/Select.d.ts +0 -0
  275. /package/{components → dist/components}/Select/Select.definitions.d.ts +0 -0
  276. /package/{components → dist/components}/Select/Select.js +0 -0
  277. /package/{components → dist/components}/Select/Select.js.map +0 -0
  278. /package/{components → dist/components}/Select/index.d.ts +0 -0
  279. /package/{components → dist/components}/Select.d.ts +0 -0
  280. /package/{components → dist/components}/Stat/Stat.cjs +0 -0
  281. /package/{components → dist/components}/Stat/Stat.cjs.map +0 -0
  282. /package/{components → dist/components}/Stat/Stat.d.ts +0 -0
  283. /package/{components → dist/components}/Stat/Stat.js +0 -0
  284. /package/{components → dist/components}/Stat/Stat.js.map +0 -0
  285. /package/{components → dist/components}/Stat/index.d.ts +0 -0
  286. /package/{components → dist/components}/Stat.d.ts +0 -0
  287. /package/{components → dist/components}/StatusMessage/StatusMessage.cjs +0 -0
  288. /package/{components → dist/components}/StatusMessage/StatusMessage.cjs.map +0 -0
  289. /package/{components → dist/components}/StatusMessage/StatusMessage.d.ts +0 -0
  290. /package/{components → dist/components}/StatusMessage/StatusMessage.js +0 -0
  291. /package/{components → dist/components}/StatusMessage/StatusMessage.js.map +0 -0
  292. /package/{components → dist/components}/StatusMessage/index.d.ts +0 -0
  293. /package/{components → dist/components}/StatusMessage.d.ts +0 -0
  294. /package/{components → dist/components}/Stepper/Step.d.ts +0 -0
  295. /package/{components → dist/components}/Stepper/Stepper.cjs +0 -0
  296. /package/{components → dist/components}/Stepper/Stepper.cjs.map +0 -0
  297. /package/{components → dist/components}/Stepper/Stepper.d.ts +0 -0
  298. /package/{components → dist/components}/Stepper/Stepper.definition.d.ts +0 -0
  299. /package/{components → dist/components}/Stepper/Stepper.js +0 -0
  300. /package/{components → dist/components}/Stepper/Stepper.js.map +0 -0
  301. /package/{components → dist/components}/Stepper/index.d.ts +0 -0
  302. /package/{components → dist/components}/Stepper.d.ts +0 -0
  303. /package/{components → dist/components}/Table/Table.cjs +0 -0
  304. /package/{components → dist/components}/Table/Table.cjs.map +0 -0
  305. /package/{components → dist/components}/Table/Table.d.ts +0 -0
  306. /package/{components → dist/components}/Table/Table.definition.d.ts +0 -0
  307. /package/{components → dist/components}/Table/Table.js +0 -0
  308. /package/{components → dist/components}/Table/Table.js.map +0 -0
  309. /package/{components → dist/components}/Table/data.d.ts +0 -0
  310. /package/{components → dist/components}/Table/exportsUtils.d.ts +0 -0
  311. /package/{components → dist/components}/Table/index.d.ts +0 -0
  312. /package/{components → dist/components}/Table/types.d.ts +0 -0
  313. /package/{components → dist/components}/Table.d.ts +0 -0
  314. /package/{components → dist/components}/Tabs/Tab.d.ts +0 -0
  315. /package/{components → dist/components}/Tabs/Tab.definition.d.ts +0 -0
  316. /package/{components → dist/components}/Tabs/Tabs.cjs +0 -0
  317. /package/{components → dist/components}/Tabs/Tabs.cjs.map +0 -0
  318. /package/{components → dist/components}/Tabs/Tabs.d.ts +0 -0
  319. /package/{components → dist/components}/Tabs/Tabs.js +0 -0
  320. /package/{components → dist/components}/Tabs/Tabs.js.map +0 -0
  321. /package/{components → dist/components}/Tabs/_tabUtils.d.ts +0 -0
  322. /package/{components → dist/components}/Tabs/index.d.ts +0 -0
  323. /package/{components → dist/components}/Tabs.d.ts +0 -0
  324. /package/{components → dist/components}/Timeline/Timeline.cjs +0 -0
  325. /package/{components → dist/components}/Timeline/Timeline.cjs.map +0 -0
  326. /package/{components → dist/components}/Timeline/Timeline.d.ts +0 -0
  327. /package/{components → dist/components}/Timeline/Timeline.definition.d.ts +0 -0
  328. /package/{components → dist/components}/Timeline/Timeline.js +0 -0
  329. /package/{components → dist/components}/Timeline/Timeline.js.map +0 -0
  330. /package/{components → dist/components}/Timeline/TimelineItem.d.ts +0 -0
  331. /package/{components → dist/components}/Timeline/index.d.ts +0 -0
  332. /package/{components → dist/components}/Timeline.d.ts +0 -0
  333. /package/{components → dist/components}/Tooltip/Tooltip.cjs +0 -0
  334. /package/{components → dist/components}/Tooltip/Tooltip.cjs.map +0 -0
  335. /package/{components → dist/components}/Tooltip/Tooltip.d.ts +0 -0
  336. /package/{components → dist/components}/Tooltip/Tooltip.js +0 -0
  337. /package/{components → dist/components}/Tooltip/Tooltip.js.map +0 -0
  338. /package/{components → dist/components}/Tooltip/index.d.ts +0 -0
  339. /package/{components → dist/components}/Tooltip.d.ts +0 -0
  340. /package/{hooks → dist/hooks}/ClipBoard/ClipBoard.cjs +0 -0
  341. /package/{hooks → dist/hooks}/ClipBoard/ClipBoard.cjs.map +0 -0
  342. /package/{hooks → dist/hooks}/ClipBoard/ClipBoard.d.ts +0 -0
  343. /package/{hooks → dist/hooks}/ClipBoard/ClipBoard.js +0 -0
  344. /package/{hooks → dist/hooks}/ClipBoard/ClipBoard.js.map +0 -0
  345. /package/{hooks → dist/hooks}/ClipBoard/ClipboardUnifiedDemo.d.ts +0 -0
  346. /package/{hooks → dist/hooks}/ClipBoard/index.d.ts +0 -0
  347. /package/{hooks → dist/hooks}/ClipBoard.d.ts +0 -0
  348. /package/{index.cjs → dist/index.cjs} +0 -0
  349. /package/{index.cjs.map → dist/index.cjs.map} +0 -0
  350. /package/{index.css → dist/index.css} +0 -0
  351. /package/{index.d.ts → dist/index.d.ts} +0 -0
  352. /package/{index.js → dist/index.js} +0 -0
  353. /package/{index.js.map → dist/index.js.map} +0 -0
@@ -0,0 +1,112 @@
1
+ /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ .invisible {
4
+ visibility: hidden;
5
+ }
6
+ .visible {
7
+ visibility: visible;
8
+ }
9
+ .absolute {
10
+ position: absolute;
11
+ }
12
+ .relative {
13
+ position: relative;
14
+ }
15
+ .sticky {
16
+ position: sticky;
17
+ }
18
+ .container {
19
+ width: 100%;
20
+ }
21
+ .block {
22
+ display: block;
23
+ }
24
+ .flex {
25
+ display: flex;
26
+ }
27
+ .grid {
28
+ display: grid;
29
+ }
30
+ .hidden {
31
+ display: none;
32
+ }
33
+ .inline-block {
34
+ display: inline-block;
35
+ }
36
+ .inline-flex {
37
+ display: inline-flex;
38
+ }
39
+ .table {
40
+ display: table;
41
+ }
42
+ .h-full {
43
+ height: 100%;
44
+ }
45
+ .w-full {
46
+ width: 100%;
47
+ }
48
+ .transform {
49
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
50
+ }
51
+ .items-center {
52
+ align-items: center;
53
+ }
54
+ .border {
55
+ border-style: var(--tw-border-style);
56
+ border-width: 1px;
57
+ }
58
+ .lowercase {
59
+ text-transform: lowercase;
60
+ }
61
+ .outline {
62
+ outline-style: var(--tw-outline-style);
63
+ outline-width: 1px;
64
+ }
65
+ .transition {
66
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
67
+ transition-timing-function: var(--tw-ease, ease);
68
+ transition-duration: var(--tw-duration, 0s);
69
+ }
70
+ @property --tw-rotate-x {
71
+ syntax: "*";
72
+ inherits: false;
73
+ }
74
+ @property --tw-rotate-y {
75
+ syntax: "*";
76
+ inherits: false;
77
+ }
78
+ @property --tw-rotate-z {
79
+ syntax: "*";
80
+ inherits: false;
81
+ }
82
+ @property --tw-skew-x {
83
+ syntax: "*";
84
+ inherits: false;
85
+ }
86
+ @property --tw-skew-y {
87
+ syntax: "*";
88
+ inherits: false;
89
+ }
90
+ @property --tw-border-style {
91
+ syntax: "*";
92
+ inherits: false;
93
+ initial-value: solid;
94
+ }
95
+ @property --tw-outline-style {
96
+ syntax: "*";
97
+ inherits: false;
98
+ initial-value: solid;
99
+ }
100
+ @layer properties {
101
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
102
+ *, ::before, ::after, ::backdrop {
103
+ --tw-rotate-x: initial;
104
+ --tw-rotate-y: initial;
105
+ --tw-rotate-z: initial;
106
+ --tw-skew-x: initial;
107
+ --tw-skew-y: initial;
108
+ --tw-border-style: solid;
109
+ --tw-outline-style: solid;
110
+ }
111
+ }
112
+ }
package/package.json CHANGED
@@ -1,10 +1,22 @@
1
1
  {
2
2
  "name": "@soyfri/shared-library",
3
- "version": "1.5.0-beta.4",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "scripts": {
9
+ "test": "echo \"Error: no test specified\" && exit 1",
10
+ "build:css": "tailwindcss -i ./src/styles.css -o ./dist/styles.css",
11
+ "watch:css": "tailwindcss -i ./src/styles.css -o ./dist/styles.css --watch",
12
+ "build": "vite build --mode lib",
13
+ "dev": "tsup --watch",
14
+ "rm": "node cleanDirectories",
15
+ "clean": "rimraf dist",
16
+ "storybook": "storybook dev -p 6006",
17
+ "build-storybook": "storybook build",
18
+ "dist": "node build"
19
+ },
8
20
  "keywords": [],
9
21
  "author": "",
10
22
  "license": "ISC",
@@ -28,140 +40,37 @@
28
40
  "react-hook-form": "^7.62.0",
29
41
  "tailwindcss": "^4.1.7"
30
42
  },
43
+ "devDependencies": {
44
+ "@chromatic-com/storybook": "^4.0.1",
45
+ "@rollup/plugin-alias": "^5.1.1",
46
+ "@rollup/plugin-commonjs": "^28.0.3",
47
+ "@rollup/plugin-node-resolve": "^16.0.1",
48
+ "@rollup/plugin-terser": "^0.4.4",
49
+ "@storybook/addon-docs": "^9.0.15",
50
+ "@storybook/addon-onboarding": "^9.0.15",
51
+ "@storybook/addon-vitest": "^9.0.15",
52
+ "@storybook/react-vite": "^9.0.15",
53
+ "@types/react": "^19.1.6",
54
+ "@types/react-dom": "^19.1.5",
55
+ "@vitest/browser": "^3.1.4",
56
+ "@vitest/coverage-v8": "^3.1.4",
57
+ "chromatic": "^12.0.0",
58
+ "glob": "^11.0.2",
59
+ "playwright": "^1.52.0",
60
+ "prettier": "3.5.3",
61
+ "rimraf": "^6.0.1",
62
+ "rollup": "^4.41.1",
63
+ "rollup-plugin-peer-deps-external": "^2.2.4",
64
+ "rollup-plugin-postcss": "^4.0.2",
65
+ "rollup-plugin-typescript2": "^0.36.0",
66
+ "storybook": "^9.0.15",
67
+ "tsup": "^8.5.0",
68
+ "typescript": "^5.8.3",
69
+ "vite-plugin-dts": "^4.5.4",
70
+ "vite-plugin-lib-inject-css": "^2.2.2",
71
+ "vitest": "^3.1.4"
72
+ },
31
73
  "overrides": {
32
74
  "storybook": "$storybook"
33
- },
34
- "exports": {
35
- ".": {
36
- "import": "./index.js",
37
- "require": "./index.cjs",
38
- "types": "./index.d.ts"
39
- },
40
- "./package.json": "./package.json",
41
- "./components/Tooltip": {
42
- "import": "./components/Tooltip/Tooltip.js",
43
- "require": "./components/Tooltip/Tooltip.cjs",
44
- "types": "./components/Tooltip/Tooltip.d.ts"
45
- },
46
- "./components/Timeline": {
47
- "import": "./components/Timeline/Timeline.js",
48
- "require": "./components/Timeline/Timeline.cjs",
49
- "types": "./components/Timeline/Timeline.d.ts"
50
- },
51
- "./components/Tabs": {
52
- "import": "./components/Tabs/Tabs.js",
53
- "require": "./components/Tabs/Tabs.cjs",
54
- "types": "./components/Tabs/Tabs.d.ts"
55
- },
56
- "./components/Table": {
57
- "import": "./components/Table/Table.js",
58
- "require": "./components/Table/Table.cjs",
59
- "types": "./components/Table/Table.d.ts"
60
- },
61
- "./components/Stepper": {
62
- "import": "./components/Stepper/Stepper.js",
63
- "require": "./components/Stepper/Stepper.cjs",
64
- "types": "./components/Stepper/Stepper.d.ts"
65
- },
66
- "./components/StatusMessage": {
67
- "import": "./components/StatusMessage/StatusMessage.js",
68
- "require": "./components/StatusMessage/StatusMessage.cjs",
69
- "types": "./components/StatusMessage/StatusMessage.d.ts"
70
- },
71
- "./components/Stat": {
72
- "import": "./components/Stat/Stat.js",
73
- "require": "./components/Stat/Stat.cjs",
74
- "types": "./components/Stat/Stat.d.ts"
75
- },
76
- "./components/Select": {
77
- "import": "./components/Select/Select.js",
78
- "require": "./components/Select/Select.cjs",
79
- "types": "./components/Select/Select.d.ts"
80
- },
81
- "./components/Modal": {
82
- "import": "./components/Modal/Modal.js",
83
- "require": "./components/Modal/Modal.cjs",
84
- "types": "./components/Modal/Modal.d.ts"
85
- },
86
- "./components/MenuButton": {
87
- "import": "./components/MenuButton/MenuButton.js",
88
- "require": "./components/MenuButton/MenuButton.cjs",
89
- "types": "./components/MenuButton/MenuButton.d.ts"
90
- },
91
- "./components/InputGroup": {
92
- "import": "./components/InputGroup/InputGroup.js",
93
- "require": "./components/InputGroup/InputGroup.cjs",
94
- "types": "./components/InputGroup/InputGroup.d.ts"
95
- },
96
- "./components/Input": {
97
- "import": "./components/Input/Input.js",
98
- "require": "./components/Input/Input.cjs",
99
- "types": "./components/Input/Input.d.ts"
100
- },
101
- "./components/Icon": {
102
- "import": "./components/Icon/Icon.js",
103
- "require": "./components/Icon/Icon.cjs",
104
- "types": "./components/Icon/Icon.d.ts"
105
- },
106
- "./components/Gallery": {
107
- "import": "./components/Gallery/Gallery.js",
108
- "require": "./components/Gallery/Gallery.cjs",
109
- "types": "./components/Gallery/Gallery.d.ts"
110
- },
111
- "./components/Flyout": {
112
- "import": "./components/Flyout/Flyout.js",
113
- "require": "./components/Flyout/Flyout.cjs",
114
- "types": "./components/Flyout/Flyout.d.ts"
115
- },
116
- "./components/DateTimePicker": {
117
- "import": "./components/DateTimePicker/DateTimePicker.js",
118
- "require": "./components/DateTimePicker/DateTimePicker.cjs",
119
- "types": "./components/DateTimePicker/DateTimePicker.d.ts"
120
- },
121
- "./components/DateRangePicker": {
122
- "import": "./components/DateRangePicker/DateRangePicker.js",
123
- "require": "./components/DateRangePicker/DateRangePicker.cjs",
124
- "types": "./components/DateRangePicker/DateRangePicker.d.ts"
125
- },
126
- "./components/DatePicker": {
127
- "import": "./components/DatePicker/DatePicker.js",
128
- "require": "./components/DatePicker/DatePicker.cjs",
129
- "types": "./components/DatePicker/DatePicker.d.ts"
130
- },
131
- "./components/Column": {
132
- "import": "./components/Column/Column.js",
133
- "require": "./components/Column/Column.cjs",
134
- "types": "./components/Column/Column.d.ts"
135
- },
136
- "./components/Chip": {
137
- "import": "./components/Chip/Chip.js",
138
- "require": "./components/Chip/Chip.cjs",
139
- "types": "./components/Chip/Chip.d.ts"
140
- },
141
- "./components/Card": {
142
- "import": "./components/Card/Card.js",
143
- "require": "./components/Card/Card.cjs",
144
- "types": "./components/Card/Card.d.ts"
145
- },
146
- "./components/Button": {
147
- "import": "./components/Button/Button.js",
148
- "require": "./components/Button/Button.cjs",
149
- "types": "./components/Button/Button.d.ts"
150
- },
151
- "./components/Avatar": {
152
- "import": "./components/Avatar/Avatar.js",
153
- "require": "./components/Avatar/Avatar.cjs",
154
- "types": "./components/Avatar/Avatar.d.ts"
155
- },
156
- "./components/Autocomplete": {
157
- "import": "./components/Autocomplete/Autocomplete.js",
158
- "require": "./components/Autocomplete/Autocomplete.cjs",
159
- "types": "./components/Autocomplete/Autocomplete.d.ts"
160
- },
161
- "./hooks/ClipBoard": {
162
- "import": "./hooks/ClipBoard/ClipBoard.js",
163
- "require": "./hooks/ClipBoard/ClipBoard.cjs",
164
- "types": "./hooks/ClipBoard/ClipBoard.d.ts"
165
- }
166
75
  }
167
76
  }
@@ -0,0 +1,87 @@
1
+ const resolve = require('@rollup/plugin-node-resolve');
2
+ const commonjs = require('@rollup/plugin-commonjs');
3
+ const typescript = require('rollup-plugin-typescript2');
4
+ const peerDepsExternal = require('rollup-plugin-peer-deps-external');
5
+ const postcss = require('rollup-plugin-postcss');
6
+ const terser = require('@rollup/plugin-terser');
7
+ // const alias = require('@rollup/plugin-alias'); // 👈 Ya no necesitamos este plugin
8
+ const { globSync } = require('glob');
9
+ const path = require('path');
10
+ const pkg = require('./package.json');
11
+ const projectRootDir = path.resolve(__dirname);
12
+
13
+ const componentEntryPoints = globSync('src/components/*/index.ts').reduce((acc, file) => {
14
+ const componentName = path.basename(path.dirname(file));
15
+ acc[`components/${componentName}`] = file;
16
+ return acc;
17
+ }, {});
18
+
19
+ const mainEntry = {
20
+ index: 'src/index.ts',
21
+ };
22
+
23
+ module.exports = {
24
+ input: {
25
+ ...mainEntry,
26
+ ...componentEntryPoints,
27
+ },
28
+ output: [
29
+ {
30
+ dir: 'dist/esm',
31
+ format: 'esm',
32
+ sourcemap: true,
33
+ preserveModules: true,
34
+ preserveModulesRoot: 'src',
35
+ entryFileNames: '[name].js',
36
+ chunkFileNames: '_chunks/chunk-[hash].js',
37
+ exports: 'named',
38
+ },
39
+ {
40
+ dir: 'dist/cjs',
41
+ format: 'cjs',
42
+ sourcemap: true,
43
+ preserveModules: true,
44
+ preserveModulesRoot: 'src',
45
+ entryFileNames: '[name].cjs',
46
+ chunkFileNames: '_chunks/chunk-[hash].cjs',
47
+ exports: 'named',
48
+ },
49
+ ],
50
+ plugins: [
51
+ peerDepsExternal(),
52
+ // 👈 Configura el alias dentro del plugin 'resolve'
53
+ resolve({
54
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
55
+ alias: {
56
+ entries: [
57
+ { find: '@soyfri/shared-library', replacement: path.resolve(projectRootDir, 'src') }
58
+ ]
59
+ }
60
+ }),
61
+ commonjs(),
62
+ typescript({
63
+ tsconfig: './tsconfig.json',
64
+ useTsconfigDeclarationDir: true,
65
+ }),
66
+ postcss({
67
+ config: {
68
+ path: './postcss.config.js',
69
+ },
70
+ extensions: ['.css'],
71
+ minimize: true,
72
+ extract: true,
73
+ }),
74
+ terser(),
75
+ ],
76
+ external: [
77
+ 'react',
78
+ 'react-dom',
79
+ /@mui\/.*/,
80
+ /@emotion\/.*/,
81
+ 'dayjs',
82
+ 'react-hook-form',
83
+ 'tailwindcss',
84
+ 'autoprefixer',
85
+ 'postcss',
86
+ ],
87
+ };
@@ -0,0 +1,254 @@
1
+ // =============================================================================
2
+ // SIMPLE
3
+ // =============================================================================
4
+ export const SimpleAutocompleteDefinition = `
5
+ import React, { useState } from 'react';
6
+ import Autocomplete from './Autocomplete';
7
+ import { Box, Typography } from '@mui/material';
8
+
9
+ const options = [
10
+ { value: '10', label: '10' },
11
+ { value: '25', label: '25' },
12
+ ];
13
+
14
+ export const SimpleExample = () => {
15
+ const [value, setValue] = useState(options[1]);
16
+
17
+ return (
18
+ <Box sx={{ width: 250 }}>
19
+ <Autocomplete
20
+ label="Registros por página"
21
+ options={options}
22
+ value={value}
23
+ onChange={(val) => {
24
+ setValue(val as string);
25
+ }}
26
+ />
27
+ <Typography sx={{ mt: 2 }}>
28
+ Valor: {value}
29
+ </Typography>
30
+ </Box>
31
+ );
32
+ };
33
+ `;
34
+
35
+ // =============================================================================
36
+ // PLACEHOLDER
37
+ // =============================================================================
38
+ export const WithPlaceholderAutocompleteDefinition = `
39
+ import React, { useState } from 'react';
40
+ import Autocomplete from './Autocomplete';
41
+ import { Box, Typography } from '@mui/material';
42
+
43
+ export const WithPlaceholderExample = () => {
44
+ const [value, setValue] = useState(null);
45
+
46
+ return (
47
+ <Box sx={{ width: 300 }}>
48
+ <Autocomplete
49
+ label="Seleccione una opción"
50
+ options={[]}
51
+ value={value}
52
+ onChange={(val) => {
53
+ setValue(val as string);
54
+ }}
55
+ placeholder="Ninguna opción seleccionada"
56
+ />
57
+ <Typography sx={{ mt: 2 }}>
58
+ {value || 'Ninguno'}
59
+ </Typography>
60
+ </Box>
61
+ );
62
+ };
63
+ `;
64
+
65
+ // =============================================================================
66
+ // MULTIPLE
67
+ // =============================================================================
68
+ export const MultipleAutocompleteDefinition = `
69
+ import React, { useState } from 'react';
70
+ import Autocomplete from './Autocomplete';
71
+ import { Box } from '@mui/material';
72
+
73
+ const options = [
74
+ { value: 'pending', label: 'Pendiente' },
75
+ { value: 'approved', label: 'Aprobado' },
76
+ ];
77
+
78
+ export const MultipleExample = () => {
79
+ const [value, setValue] = useState([]);
80
+
81
+ return (
82
+ <Box sx={{ width: 400 }}>
83
+ <Autocomplete
84
+ multiple
85
+ options={options}
86
+ value={value}
87
+ onChange={(val) => {
88
+ setValue(val as string[]);
89
+ }}
90
+ />
91
+ </Box>
92
+ );
93
+ };
94
+ `;
95
+
96
+ // =============================================================================
97
+ // MULTIPLE LIMIT
98
+ // =============================================================================
99
+ export const MultipleWithLimitAutocompleteDefinition = `
100
+ import React, { useState } from 'react';
101
+ import Autocomplete from './Autocomplete';
102
+
103
+ export const MultipleWithLimitExample = () => {
104
+ const [value, setValue] = useState([]);
105
+
106
+ return (
107
+ <Autocomplete
108
+ multiple
109
+ maxChipsToShow={2}
110
+ options={[]}
111
+ value={value}
112
+ onChange={(val) => {
113
+ setValue(val as string[]);
114
+ }}
115
+ />
116
+ );
117
+ };
118
+ `;
119
+
120
+ // =============================================================================
121
+ // CUSTOM OPTION
122
+ // =============================================================================
123
+ export const CustomRenderOptionAutocompleteDefinition = `
124
+ import React, { useState } from 'react';
125
+ import Autocomplete from './Autocomplete';
126
+ import { Avatar, Box } from '@mui/material';
127
+
128
+ const users = [
129
+ { value: 'admin', label: 'Administrador', img: '...' },
130
+ ];
131
+
132
+ export const CustomRenderExample = () => {
133
+ const [value, setValue] = useState([]);
134
+
135
+ return (
136
+ <Autocomplete
137
+ multiple
138
+ options={users}
139
+ value={value}
140
+ onChange={(val) => {
141
+ setValue(val as string[]);
142
+ }}
143
+ renderOptionItem={(item) => (
144
+ <Box sx={{ display: 'flex', gap: 1 }}>
145
+ <Avatar src={item.img} />
146
+ {item.label}
147
+ </Box>
148
+ )}
149
+ />
150
+ );
151
+ };
152
+ `;
153
+
154
+ // =============================================================================
155
+ // CUSTOM CHIP
156
+ // =============================================================================
157
+ export const CustomChipRenderAutocompleteDefinition = `
158
+ import React, { useState } from 'react';
159
+ import Autocomplete from './Autocomplete';
160
+ import { Typography } from '@mui/material';
161
+
162
+ export const CustomChipExample = () => {
163
+ const [value, setValue] = useState([]);
164
+
165
+ return (
166
+ <Autocomplete
167
+ multiple
168
+ options={[]}
169
+ value={value}
170
+ onChange={(val) => {
171
+ setValue(val as string[]);
172
+ }}
173
+ renderChipLabel={(item) => (
174
+ <Typography variant="caption">
175
+ {item.label.charAt(0)}
176
+ </Typography>
177
+ )}
178
+ />
179
+ );
180
+ };
181
+ `;
182
+
183
+ // =============================================================================
184
+ // LOADING
185
+ // =============================================================================
186
+ export const LoadingAutocompleteDefinition = `
187
+ import React, { useState } from 'react';
188
+ import Autocomplete from './Autocomplete';
189
+
190
+ export const LoadingExample = () => {
191
+ const [value, setValue] = useState(null);
192
+
193
+ return (
194
+ <Autocomplete
195
+ loading
196
+ options={[]}
197
+ value={value}
198
+ onChange={(val) => {
199
+ setValue(val as string);
200
+ }}
201
+ />
202
+ );
203
+ };
204
+ `;
205
+
206
+ // =============================================================================
207
+ // EMPTY
208
+ // =============================================================================
209
+ export const EmptyOptionsAutocompleteDefinition = `
210
+ import React, { useState } from 'react';
211
+ import Autocomplete from './Autocomplete';
212
+
213
+ export const EmptyExample = () => {
214
+ const [value, setValue] = useState(null);
215
+
216
+ return (
217
+ <Autocomplete
218
+ options={[]}
219
+ value={value}
220
+ onChange={(val) => {
221
+ setValue(val as string);
222
+ }}
223
+ placeholder="No hay opciones"
224
+ />
225
+ );
226
+ };
227
+ `;
228
+
229
+ // =============================================================================
230
+ // MANY
231
+ // =============================================================================
232
+ export const ManyOptionsAutocompleteDefinition = `
233
+ import React, { useState } from 'react';
234
+ import Autocomplete from './Autocomplete';
235
+
236
+ const options = Array.from({ length: 50 }, (_, i) => ({
237
+ value: i,
238
+ label: 'Opción ' + i,
239
+ }));
240
+
241
+ export const ManyOptionsExample = () => {
242
+ const [value, setValue] = useState(null);
243
+
244
+ return (
245
+ <Autocomplete
246
+ options={options}
247
+ value={value}
248
+ onChange={(val) => {
249
+ setValue(val as string);
250
+ }}
251
+ />
252
+ );
253
+ };
254
+ `;