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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/Button-C17mExpd.cjs.map +1 -1
  2. package/Button-UkkP-bNw.js.map +1 -1
  3. package/components/ActionMenu/ActionMenu.cjs +107 -0
  4. package/components/ActionMenu/ActionMenu.cjs.map +1 -0
  5. package/components/ActionMenu/ActionMenu.d.ts +44 -0
  6. package/components/ActionMenu/ActionMenu.js +107 -0
  7. package/components/ActionMenu/ActionMenu.js.map +1 -0
  8. package/components/ActionMenu/index.d.ts +2 -0
  9. package/components/ActionMenu.d.ts +6 -0
  10. package/components/AppBar/AppBar.cjs +129 -0
  11. package/components/AppBar/AppBar.cjs.map +1 -0
  12. package/components/AppBar/AppBar.d.ts +55 -0
  13. package/components/AppBar/AppBar.js +129 -0
  14. package/components/AppBar/AppBar.js.map +1 -0
  15. package/components/AppBar/AppBar.sx.d.ts +12 -0
  16. package/components/AppBar/AppBarContext.d.ts +18 -0
  17. package/components/AppBar/AppBarMenuToggle.d.ts +39 -0
  18. package/components/AppBar/index.d.ts +6 -0
  19. package/components/AppBar.d.ts +6 -0
  20. package/components/Autocomplete/Autocomplete.cjs +263 -82
  21. package/components/Autocomplete/Autocomplete.cjs.map +1 -1
  22. package/components/Autocomplete/Autocomplete.d.ts +71 -13
  23. package/components/Autocomplete/Autocomplete.definitions.d.ts +7 -0
  24. package/components/Autocomplete/Autocomplete.helpers.d.ts +22 -0
  25. package/components/Autocomplete/Autocomplete.js +264 -83
  26. package/components/Autocomplete/Autocomplete.js.map +1 -1
  27. package/components/Autocomplete/Autocomplete.sx.d.ts +7 -0
  28. package/components/Autocomplete/_parts/AutocompleteChips.d.ts +20 -0
  29. package/components/Autocomplete/_parts/AutocompleteLoader.d.ts +9 -0
  30. package/components/Autocomplete/_parts/AutocompleteOption.d.ts +16 -0
  31. package/components/Autocomplete/index.d.ts +2 -1
  32. package/components/Autocomplete.d.ts +4 -0
  33. package/components/Avatar/Avatar.cjs +117 -81
  34. package/components/Avatar/Avatar.cjs.map +1 -1
  35. package/components/Avatar/Avatar.d.ts +16 -2
  36. package/components/Avatar/Avatar.definitions.d.ts +11 -0
  37. package/components/Avatar/Avatar.js +118 -82
  38. package/components/Avatar/Avatar.js.map +1 -1
  39. package/components/Avatar/index.d.ts +1 -0
  40. package/components/Button/Button.d.ts +5 -5
  41. package/components/Button/index.d.ts +1 -0
  42. package/components/Card/Card.cjs +78 -7
  43. package/components/Card/Card.cjs.map +1 -1
  44. package/components/Card/Card.d.ts +31 -8
  45. package/components/Card/Card.js +79 -8
  46. package/components/Card/Card.js.map +1 -1
  47. package/components/Card/Card.sx.d.ts +14 -0
  48. package/components/Card/index.d.ts +4 -1
  49. package/components/Card.d.ts +4 -0
  50. package/components/Checkbox/Checkbox.cjs +189 -0
  51. package/components/Checkbox/Checkbox.cjs.map +1 -0
  52. package/components/Checkbox/Checkbox.d.ts +55 -0
  53. package/components/Checkbox/Checkbox.js +189 -0
  54. package/components/Checkbox/Checkbox.js.map +1 -0
  55. package/components/Checkbox/Checkbox.sx.d.ts +13 -0
  56. package/components/Checkbox/index.d.ts +2 -0
  57. package/components/Checkbox.d.ts +6 -0
  58. package/components/Chip/Chip.cjs +2 -1
  59. package/components/Chip/Chip.cjs.map +1 -1
  60. package/components/Chip/Chip.js +2 -1
  61. package/components/Chip/Chip.js.map +1 -1
  62. package/components/Chip/index.d.ts +2 -1
  63. package/components/Chip.d.ts +4 -0
  64. package/components/DatePicker/DatePicker.cjs +178 -3
  65. package/components/DatePicker/DatePicker.cjs.map +1 -1
  66. package/components/DatePicker/DatePicker.d.ts +35 -9
  67. package/components/DatePicker/DatePicker.definitions.d.ts +1 -0
  68. package/components/DatePicker/DatePicker.helpers.d.ts +7 -0
  69. package/components/DatePicker/DatePicker.js +177 -2
  70. package/components/DatePicker/DatePicker.js.map +1 -1
  71. package/components/DatePicker/DatePicker.sx.d.ts +9 -0
  72. package/components/DatePicker/index.d.ts +2 -1
  73. package/components/DatePicker.d.ts +4 -0
  74. package/components/DateTimePicker/DateTimePicker.cjs +121 -131
  75. package/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  76. package/components/DateTimePicker/DateTimePicker.d.ts +41 -12
  77. package/components/DateTimePicker/DateTimePicker.definitions.d.ts +3 -0
  78. package/components/DateTimePicker/DateTimePicker.helpers.d.ts +13 -0
  79. package/components/DateTimePicker/DateTimePicker.js +121 -131
  80. package/components/DateTimePicker/DateTimePicker.js.map +1 -1
  81. package/components/DateTimePicker/DateTimePicker.sx.d.ts +7 -0
  82. package/components/DateTimePicker/index.d.ts +2 -1
  83. package/components/DateTimePicker.d.ts +4 -0
  84. package/components/Drawer/Drawer.cjs +272 -0
  85. package/components/Drawer/Drawer.cjs.map +1 -0
  86. package/components/Drawer/Drawer.d.ts +58 -0
  87. package/components/Drawer/Drawer.js +272 -0
  88. package/components/Drawer/Drawer.js.map +1 -0
  89. package/components/Drawer/Drawer.sx.d.ts +23 -0
  90. package/components/Drawer/DrawerContext.d.ts +18 -0
  91. package/components/Drawer/DrawerItem.d.ts +40 -0
  92. package/components/Drawer/index.d.ts +6 -0
  93. package/components/Drawer.d.ts +6 -0
  94. package/components/Gallery/Gallery.cjs +154 -79
  95. package/components/Gallery/Gallery.cjs.map +1 -1
  96. package/components/Gallery/Gallery.d.ts +25 -9
  97. package/components/Gallery/Gallery.js +154 -79
  98. package/components/Gallery/Gallery.js.map +1 -1
  99. package/components/Gallery/GalleryLightbox.d.ts +6 -10
  100. package/components/Gallery/GalleryMain.d.ts +3 -7
  101. package/components/Gallery/GalleryThumbnails.d.ts +7 -11
  102. package/components/Gallery/index.d.ts +2 -1
  103. package/components/Gallery.d.ts +4 -0
  104. package/components/Icon/Icon.cjs +49 -10
  105. package/components/Icon/Icon.cjs.map +1 -1
  106. package/components/Icon/Icon.d.ts +29 -2
  107. package/components/Icon/Icon.js +49 -10
  108. package/components/Icon/Icon.js.map +1 -1
  109. package/components/Icon/index.d.ts +2 -1
  110. package/components/Icon.d.ts +4 -0
  111. package/components/Input/Input.cjs +186 -3
  112. package/components/Input/Input.cjs.map +1 -1
  113. package/components/Input/Input.d.ts +29 -17
  114. package/components/Input/Input.definitions.d.ts +6 -2
  115. package/components/Input/Input.helpers.d.ts +14 -0
  116. package/components/Input/Input.js +185 -2
  117. package/components/Input/Input.js.map +1 -1
  118. package/components/Input/Input.sx.d.ts +8 -0
  119. package/components/Input/index.d.ts +2 -1
  120. package/components/Input.d.ts +4 -0
  121. package/components/InputGroup/InputGroup.cjs +107 -93
  122. package/components/InputGroup/InputGroup.cjs.map +1 -1
  123. package/components/InputGroup/InputGroup.d.ts +38 -2
  124. package/components/InputGroup/InputGroup.definitions.d.ts +6 -0
  125. package/components/InputGroup/InputGroup.js +109 -95
  126. package/components/InputGroup/InputGroup.js.map +1 -1
  127. package/components/InputGroup/index.d.ts +2 -1
  128. package/components/InputGroup.d.ts +4 -0
  129. package/components/Modal/Modal.cjs +287 -148
  130. package/components/Modal/Modal.cjs.map +1 -1
  131. package/components/Modal/Modal.d.ts +57 -6
  132. package/components/Modal/Modal.js +289 -150
  133. package/components/Modal/Modal.js.map +1 -1
  134. package/components/Modal/ModalBody.d.ts +6 -1
  135. package/components/Modal/ModalFooter.d.ts +12 -4
  136. package/components/Modal/ModalHeader.d.ts +6 -1
  137. package/components/Modal/index.d.ts +8 -1
  138. package/components/Modal.d.ts +4 -0
  139. package/components/RadioGroup/RadioGroup.cjs +204 -0
  140. package/components/RadioGroup/RadioGroup.cjs.map +1 -0
  141. package/components/RadioGroup/RadioGroup.d.ts +59 -0
  142. package/components/RadioGroup/RadioGroup.definitions.d.ts +6 -0
  143. package/components/RadioGroup/RadioGroup.js +204 -0
  144. package/components/RadioGroup/RadioGroup.js.map +1 -0
  145. package/components/RadioGroup/RadioGroup.sx.d.ts +20 -0
  146. package/components/RadioGroup/index.d.ts +2 -0
  147. package/components/RadioGroup.d.ts +6 -0
  148. package/components/Select/Select.cjs +311 -4
  149. package/components/Select/Select.cjs.map +1 -1
  150. package/components/Select/Select.d.ts +62 -27
  151. package/components/Select/Select.helpers.d.ts +15 -0
  152. package/components/Select/Select.js +310 -3
  153. package/components/Select/Select.js.map +1 -1
  154. package/components/Select/Select.sx.d.ts +7 -0
  155. package/components/Select/_parts/SelectMenuItem.d.ts +20 -0
  156. package/components/Select/index.d.ts +2 -1
  157. package/components/Select.d.ts +4 -0
  158. package/components/Stat/Stat.cjs +2 -2
  159. package/components/Stat/Stat.cjs.map +1 -1
  160. package/components/Stat/Stat.js +2 -2
  161. package/components/Stat/Stat.js.map +1 -1
  162. package/components/Stat/index.d.ts +2 -1
  163. package/components/Stat.d.ts +4 -0
  164. package/components/StatusMessage/StatusMessage.cjs +66 -55
  165. package/components/StatusMessage/StatusMessage.cjs.map +1 -1
  166. package/components/StatusMessage/StatusMessage.d.ts +20 -36
  167. package/components/StatusMessage/StatusMessage.js +68 -57
  168. package/components/StatusMessage/StatusMessage.js.map +1 -1
  169. package/components/StatusMessage/index.d.ts +2 -1
  170. package/components/StatusMessage.d.ts +4 -0
  171. package/components/Stepper/Stepper.cjs +285 -29
  172. package/components/Stepper/Stepper.cjs.map +1 -1
  173. package/components/Stepper/Stepper.d.ts +13 -7
  174. package/components/Stepper/Stepper.js +287 -31
  175. package/components/Stepper/Stepper.js.map +1 -1
  176. package/components/Stepper/StepperContext.d.ts +73 -0
  177. package/components/Stepper/_hooks/useHorizontalScroll.d.ts +19 -0
  178. package/components/Stepper/_parts/StepperScrollArrow.d.ts +19 -0
  179. package/components/Stepper/index.d.ts +6 -2
  180. package/components/Stepper.d.ts +4 -0
  181. package/components/Switch/Switch.cjs +184 -0
  182. package/components/Switch/Switch.cjs.map +1 -0
  183. package/components/Switch/Switch.d.ts +48 -0
  184. package/components/Switch/Switch.definitions.d.ts +7 -0
  185. package/components/Switch/Switch.js +184 -0
  186. package/components/Switch/Switch.js.map +1 -0
  187. package/components/Switch/Switch.sx.d.ts +22 -0
  188. package/components/Switch/Switch.types.d.ts +1 -0
  189. package/components/Switch/index.d.ts +2 -0
  190. package/components/Switch.d.ts +6 -0
  191. package/components/Tabs/Tabs.cjs +45 -29
  192. package/components/Tabs/Tabs.cjs.map +1 -1
  193. package/components/Tabs/Tabs.d.ts +21 -16
  194. package/components/Tabs/Tabs.js +46 -30
  195. package/components/Tabs/Tabs.js.map +1 -1
  196. package/components/Tabs/index.d.ts +4 -2
  197. package/components/Tabs.d.ts +4 -0
  198. package/components/Timeline/Timeline.cjs +3 -2
  199. package/components/Timeline/Timeline.cjs.map +1 -1
  200. package/components/Timeline/Timeline.d.ts +4 -8
  201. package/components/Timeline/Timeline.js +3 -2
  202. package/components/Timeline/Timeline.js.map +1 -1
  203. package/components/Timeline/index.d.ts +4 -2
  204. package/components/Timeline.d.ts +4 -0
  205. package/components/_shared/formField.sx.d.ts +33 -0
  206. package/components/_shared/mergeSx.d.ts +7 -0
  207. package/components/_shared/resolvePreset.d.ts +18 -0
  208. package/formField.sx-8_QRnKxv.js +68 -0
  209. package/formField.sx-8_QRnKxv.js.map +1 -0
  210. package/formField.sx-BAX7KwMR.cjs +67 -0
  211. package/formField.sx-BAX7KwMR.cjs.map +1 -0
  212. package/index.cjs +144 -1
  213. package/index.cjs.map +1 -1
  214. package/index.d.ts +4 -0
  215. package/index.js +49 -2
  216. package/index.js.map +1 -1
  217. package/mergeSx-BXoNZjB_.js +10 -0
  218. package/mergeSx-BXoNZjB_.js.map +1 -0
  219. package/mergeSx-Dbccoo_H.cjs +9 -0
  220. package/mergeSx-Dbccoo_H.cjs.map +1 -0
  221. package/mui.d.ts +7 -0
  222. package/package.json +31 -1
  223. package/resolvePreset-B-IB0ehH.js +15 -0
  224. package/resolvePreset-B-IB0ehH.js.map +1 -0
  225. package/resolvePreset-CT3kU-K2.cjs +14 -0
  226. package/resolvePreset-CT3kU-K2.cjs.map +1 -0
  227. package/theme/componentStyles.d.ts +32 -0
  228. package/theme/tokens.d.ts +28 -0
  229. package/tokens-BRrcP_p_.js +21 -0
  230. package/tokens-BRrcP_p_.js.map +1 -0
  231. package/tokens-jaWWNk39.cjs +20 -0
  232. package/tokens-jaWWNk39.cjs.map +1 -0
  233. package/utils/index.d.ts +2 -0
  234. package/utils/scrollToTop.d.ts +28 -0
  235. package/DatePicker-BSNboVhN.js +0 -201
  236. package/DatePicker-BSNboVhN.js.map +0 -1
  237. package/DatePicker-BoqxWAhj.cjs +0 -200
  238. package/DatePicker-BoqxWAhj.cjs.map +0 -1
  239. package/Input-DFHs7cJ_.js +0 -171
  240. package/Input-DFHs7cJ_.js.map +0 -1
  241. package/Input-c8MwNNPg.cjs +0 -170
  242. package/Input-c8MwNNPg.cjs.map +0 -1
  243. package/Select-BO2N56sm.cjs +0 -411
  244. package/Select-BO2N56sm.cjs.map +0 -1
  245. package/Select-BcLkyHSE.js +0 -412
  246. package/Select-BcLkyHSE.js.map +0 -1
  247. package/components/Select/Select.definitions.d.ts +0 -14
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formField.sx-BAX7KwMR.cjs","sources":["../src/components/_shared/formField.sx.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\nimport {\n LABEL_COLOR_FILLED,\n LABEL_COLOR_FOCUSED,\n LABEL_COLOR_REST,\n LABEL_FONT_WEIGHT_FILLED,\n LABEL_MARGIN_TOP,\n LABEL_SHRINK_TRANSFORM,\n LABEL_TRANSFORM_ORIGIN,\n LABEL_TRANSITION,\n} from '../../theme/tokens';\n\nexport type LabelPosition = 'outside' | 'floating';\n\nexport interface BuildFormFieldSxOptions {\n borderRadius: number | string;\n labelPosition: LabelPosition;\n /**\n * Si es `true`, los selectores incluyen también la API nueva de MUI X\n * Pickers (v8): `MuiPickersInputBase-root`, `MuiPickersOutlinedInput-*`.\n */\n includePickersApi?: boolean;\n /**\n * Selectores/valores extra que se mergean SOLO cuando labelPosition === 'outside'.\n * Usar para paddings específicos del componente (p.ej. MuiAutocomplete-input).\n */\n extraOutsideSx?: Record<string, any>;\n /**\n * Selectores/valores extra que se mergean SOLO cuando labelPosition === 'floating'.\n */\n extraFloatingSx?: Record<string, any>;\n}\n\nconst toRadius = (borderRadius: number | string) =>\n typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;\n\n/**\n * Builder del sx compartido por todos los campos de formulario\n * (Input/Select/Autocomplete/DatePicker/DateTimePicker).\n *\n * Produce:\n * - en modo \"floating\": sólo el border-radius del outlined input;\n * - en modo \"outside\": todo el pack (margen superior, label flotante afuera,\n * input base, notched outline oculto, helper text sin margen izquierdo).\n *\n * Componentes con paddings o selectores propios pueden inyectarlos vía\n * `extraOutsideSx` / `extraFloatingSx`.\n */\nexport const buildFormFieldSx = ({\n borderRadius,\n labelPosition,\n includePickersApi = false,\n extraOutsideSx,\n extraFloatingSx,\n}: BuildFormFieldSxOptions): SxProps<Theme> => {\n const radius = toRadius(borderRadius);\n\n // ── Selectores (alternan según la API de pickers) ────────────────────\n const outlinedRootSelector = includePickersApi\n ? '& .MuiOutlinedInput-root, & .MuiPickersOutlinedInput-root'\n : '& .MuiOutlinedInput-root';\n\n const inputBaseSelector = includePickersApi\n ? '& .MuiInputBase-root, & .MuiPickersInputBase-root'\n : '& .MuiInputBase-root';\n\n const notchedOutlineSelector = includePickersApi\n ? '& .MuiOutlinedInput-notchedOutline, & .MuiPickersOutlinedInput-notchedOutline'\n : '& .MuiOutlinedInput-notchedOutline';\n\n // ── Floating ─────────────────────────────────────────────────────────\n if (labelPosition === 'floating') {\n return {\n [outlinedRootSelector]: { borderRadius: radius },\n ...(extraFloatingSx ?? {}),\n };\n }\n\n // ── Outside ──────────────────────────────────────────────────────────\n return {\n marginTop: LABEL_MARGIN_TOP,\n\n '& .MuiInputLabel-root': {\n color: LABEL_COLOR_REST,\n transition: LABEL_TRANSITION,\n\n // Estado shrunk (focused o con valor): flota ARRIBA del input.\n '&.MuiInputLabel-shrink': {\n transform: LABEL_SHRINK_TRANSFORM,\n transformOrigin: LABEL_TRANSFORM_ORIGIN,\n color: LABEL_COLOR_FILLED,\n fontWeight: LABEL_FONT_WEIGHT_FILLED,\n },\n\n '&.Mui-focused': { color: LABEL_COLOR_FOCUSED },\n },\n\n // Input base — centra verticalmente (clásico y, si aplica, pickers).\n [inputBaseSelector]: {\n borderRadius: radius,\n display: 'flex',\n alignItems: 'center',\n },\n\n // El label flota afuera: ocultar legend del notch.\n [notchedOutlineSelector]: {\n top: 0,\n '& legend': { display: 'none' },\n },\n\n '& .MuiFormHelperText-root': {\n marginLeft: 0,\n },\n\n ...(extraOutsideSx ?? {}),\n };\n};\n"],"names":["LABEL_MARGIN_TOP","LABEL_COLOR_REST","LABEL_TRANSITION","LABEL_SHRINK_TRANSFORM","LABEL_TRANSFORM_ORIGIN","LABEL_COLOR_FILLED","LABEL_FONT_WEIGHT_FILLED","LABEL_COLOR_FOCUSED"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,MAAM,WAAW,CAAC,iBAChB,OAAO,iBAAiB,WAAW,GAAG,YAAY,OAAO;AAcpD,MAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AACF,MAA+C;AAC7C,QAAM,SAAS,SAAS,YAAY;AAGpC,QAAM,uBAAuB,oBACzB,8DACA;AAEJ,QAAM,oBAAoB,oBACtB,sDACA;AAEJ,QAAM,yBAAyB,oBAC3B,kFACA;AAGJ,MAAI,kBAAkB,YAAY;AAChC,WAAO;AAAA,MACL,CAAC,oBAAoB,GAAG,EAAE,cAAc,OAAA;AAAA,OACpC,4CAAmB,CAAA;AAAA,EAE3B;AAGA,SAAO;AAAA,IACL,WAAWA,OAAAA;AAAAA,IAEX,yBAAyB;AAAA,MACvB,OAAOC,OAAAA;AAAAA,MACP,YAAYC,OAAAA;AAAAA;AAAAA,MAGZ,0BAA0B;AAAA,QACxB,WAAWC,OAAAA;AAAAA,QACX,iBAAiBC,OAAAA;AAAAA,QACjB,OAAOC,OAAAA;AAAAA,QACP,YAAYC,OAAAA;AAAAA,MAAA;AAAA,MAGd,iBAAiB,EAAE,OAAOC,OAAAA,oBAAA;AAAA,IAAoB;AAAA;AAAA,IAIhD,CAAC,iBAAiB,GAAG;AAAA,MACnB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,YAAY;AAAA,IAAA;AAAA;AAAA,IAId,CAAC,sBAAsB,GAAG;AAAA,MACxB,KAAK;AAAA,MACL,YAAY,EAAE,SAAS,OAAA;AAAA,IAAO;AAAA,IAGhC,6BAA6B;AAAA,MAC3B,YAAY;AAAA,IAAA;AAAA,KAGV,0CAAkB,CAAA;AAE1B;;"}
package/index.cjs CHANGED
@@ -1,2 +1,145 @@
1
1
  "use strict";
2
- require('./index.css');//# sourceMappingURL=index.cjs.map
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require('./index.css');const resolvePreset = require("./resolvePreset-CT3kU-K2.cjs");
4
+ const material = require("@mui/material");
5
+ const timeViewRenderers = require("@mui/x-date-pickers/timeViewRenderers");
6
+ function scrollToTop({
7
+ behavior = "smooth",
8
+ target = typeof window !== "undefined" ? window : void 0,
9
+ top = 0
10
+ } = {}) {
11
+ if (!target) return;
12
+ target.scrollTo({ top, left: 0, behavior });
13
+ }
14
+ exports.DEFAULT_PRESET_NAME = resolvePreset.DEFAULT_PRESET_NAME;
15
+ exports.resolvePreset = resolvePreset.resolvePreset;
16
+ Object.defineProperty(exports, "Alert", {
17
+ enumerable: true,
18
+ get: () => material.Alert
19
+ });
20
+ Object.defineProperty(exports, "AlertTitle", {
21
+ enumerable: true,
22
+ get: () => material.AlertTitle
23
+ });
24
+ Object.defineProperty(exports, "Backdrop", {
25
+ enumerable: true,
26
+ get: () => material.Backdrop
27
+ });
28
+ Object.defineProperty(exports, "Box", {
29
+ enumerable: true,
30
+ get: () => material.Box
31
+ });
32
+ Object.defineProperty(exports, "CircularProgress", {
33
+ enumerable: true,
34
+ get: () => material.CircularProgress
35
+ });
36
+ Object.defineProperty(exports, "Collapse", {
37
+ enumerable: true,
38
+ get: () => material.Collapse
39
+ });
40
+ Object.defineProperty(exports, "Container", {
41
+ enumerable: true,
42
+ get: () => material.Container
43
+ });
44
+ Object.defineProperty(exports, "Divider", {
45
+ enumerable: true,
46
+ get: () => material.Divider
47
+ });
48
+ Object.defineProperty(exports, "Fade", {
49
+ enumerable: true,
50
+ get: () => material.Fade
51
+ });
52
+ Object.defineProperty(exports, "Grid", {
53
+ enumerable: true,
54
+ get: () => material.Grid
55
+ });
56
+ Object.defineProperty(exports, "Grow", {
57
+ enumerable: true,
58
+ get: () => material.Grow
59
+ });
60
+ Object.defineProperty(exports, "LinearProgress", {
61
+ enumerable: true,
62
+ get: () => material.LinearProgress
63
+ });
64
+ Object.defineProperty(exports, "Link", {
65
+ enumerable: true,
66
+ get: () => material.Link
67
+ });
68
+ Object.defineProperty(exports, "List", {
69
+ enumerable: true,
70
+ get: () => material.List
71
+ });
72
+ Object.defineProperty(exports, "ListItem", {
73
+ enumerable: true,
74
+ get: () => material.ListItem
75
+ });
76
+ Object.defineProperty(exports, "ListItemButton", {
77
+ enumerable: true,
78
+ get: () => material.ListItemButton
79
+ });
80
+ Object.defineProperty(exports, "ListItemIcon", {
81
+ enumerable: true,
82
+ get: () => material.ListItemIcon
83
+ });
84
+ Object.defineProperty(exports, "ListItemText", {
85
+ enumerable: true,
86
+ get: () => material.ListItemText
87
+ });
88
+ Object.defineProperty(exports, "ListSubheader", {
89
+ enumerable: true,
90
+ get: () => material.ListSubheader
91
+ });
92
+ Object.defineProperty(exports, "Paper", {
93
+ enumerable: true,
94
+ get: () => material.Paper
95
+ });
96
+ Object.defineProperty(exports, "Skeleton", {
97
+ enumerable: true,
98
+ get: () => material.Skeleton
99
+ });
100
+ Object.defineProperty(exports, "Snackbar", {
101
+ enumerable: true,
102
+ get: () => material.Snackbar
103
+ });
104
+ Object.defineProperty(exports, "Stack", {
105
+ enumerable: true,
106
+ get: () => material.Stack
107
+ });
108
+ Object.defineProperty(exports, "ThemeProvider", {
109
+ enumerable: true,
110
+ get: () => material.ThemeProvider
111
+ });
112
+ Object.defineProperty(exports, "Typography", {
113
+ enumerable: true,
114
+ get: () => material.Typography
115
+ });
116
+ Object.defineProperty(exports, "Zoom", {
117
+ enumerable: true,
118
+ get: () => material.Zoom
119
+ });
120
+ Object.defineProperty(exports, "alpha", {
121
+ enumerable: true,
122
+ get: () => material.alpha
123
+ });
124
+ Object.defineProperty(exports, "createTheme", {
125
+ enumerable: true,
126
+ get: () => material.createTheme
127
+ });
128
+ Object.defineProperty(exports, "styled", {
129
+ enumerable: true,
130
+ get: () => material.styled
131
+ });
132
+ Object.defineProperty(exports, "useMediaQuery", {
133
+ enumerable: true,
134
+ get: () => material.useMediaQuery
135
+ });
136
+ Object.defineProperty(exports, "useTheme", {
137
+ enumerable: true,
138
+ get: () => material.useTheme
139
+ });
140
+ Object.defineProperty(exports, "renderMultiSectionDigitalClockTimeView", {
141
+ enumerable: true,
142
+ get: () => timeViewRenderers.renderMultiSectionDigitalClockTimeView
143
+ });
144
+ exports.scrollToTop = scrollToTop;
145
+ //# sourceMappingURL=index.cjs.map
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.cjs","sources":["../src/utils/scrollToTop.ts"],"sourcesContent":["export interface ScrollToTopOptions {\n /** Comportamiento del scroll. Default: `'smooth'`. */\n behavior?: ScrollBehavior;\n /**\n * Elemento target del scroll. Default: `window`. Útil cuando el contenedor\n * scrolleable NO es `window` (p.ej. un `<Box>` con `overflow: auto`).\n */\n target?: Window | HTMLElement;\n /** Offset desde el top. Default: `0`. */\n top?: number;\n}\n\n/**\n * Hace scroll al tope (por default con animación suave). Safe en SSR — si\n * `window` no existe, es un no-op.\n *\n * Llamar tras mutaciones / cambios de filtros / apertura de modales para\n * asegurar que el usuario vea el mensaje de confirmación en la parte\n * superior de la página.\n *\n * ```ts\n * import { scrollToTop } from '@soyfri/shared-library';\n *\n * scrollToTop(); // window, smooth\n * scrollToTop({ behavior: 'auto' }); // window, instantáneo\n * scrollToTop({ target: myScrollableRef.current }); // container custom\n * ```\n */\nexport function scrollToTop({\n behavior = 'smooth',\n target = typeof window !== 'undefined' ? window : undefined,\n top = 0,\n}: ScrollToTopOptions = {}): void {\n if (!target) return;\n target.scrollTo({ top, left: 0, behavior });\n}\n"],"names":[],"mappings":";;;;;AA4BO,SAAS,YAAY;AAAA,EAC1B,WAAW;AAAA,EACX,SAAS,OAAO,WAAW,cAAc,SAAS;AAAA,EAClD,MAAM;AACR,IAAwB,IAAU;AAChC,MAAI,CAAC,OAAQ;AACb,SAAO,SAAS,EAAE,KAAK,MAAM,GAAG,UAAU;AAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.d.ts CHANGED
@@ -0,0 +1,4 @@
1
+ export type { LibraryComponentName, PresetStyle, ComponentPresets, LibraryStyles, } from './theme/componentStyles';
2
+ export { DEFAULT_PRESET_NAME, resolvePreset } from './components/_shared/resolvePreset';
3
+ export * from './utils';
4
+ export * from './mui';
package/index.js CHANGED
@@ -1,2 +1,49 @@
1
-
2
- import './index.css';//# sourceMappingURL=index.js.map
1
+ import { D, r } from "./resolvePreset-B-IB0ehH.js";
2
+ import { Alert, AlertTitle, Backdrop, Box, CircularProgress, Collapse, Container, Divider, Fade, Grid, Grow, LinearProgress, Link, List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, Paper, Skeleton, Snackbar, Stack, ThemeProvider, Typography, Zoom, alpha, createTheme, styled, useMediaQuery, useTheme } from "@mui/material";
3
+ import { renderMultiSectionDigitalClockTimeView } from "@mui/x-date-pickers/timeViewRenderers";
4
+ import './index.css';function scrollToTop({
5
+ behavior = "smooth",
6
+ target = typeof window !== "undefined" ? window : void 0,
7
+ top = 0
8
+ } = {}) {
9
+ if (!target) return;
10
+ target.scrollTo({ top, left: 0, behavior });
11
+ }
12
+ export {
13
+ Alert,
14
+ AlertTitle,
15
+ Backdrop,
16
+ Box,
17
+ CircularProgress,
18
+ Collapse,
19
+ Container,
20
+ D as DEFAULT_PRESET_NAME,
21
+ Divider,
22
+ Fade,
23
+ Grid,
24
+ Grow,
25
+ LinearProgress,
26
+ Link,
27
+ List,
28
+ ListItem,
29
+ ListItemButton,
30
+ ListItemIcon,
31
+ ListItemText,
32
+ ListSubheader,
33
+ Paper,
34
+ Skeleton,
35
+ Snackbar,
36
+ Stack,
37
+ ThemeProvider,
38
+ Typography,
39
+ Zoom,
40
+ alpha,
41
+ createTheme,
42
+ renderMultiSectionDigitalClockTimeView,
43
+ r as resolvePreset,
44
+ scrollToTop,
45
+ styled,
46
+ useMediaQuery,
47
+ useTheme
48
+ };
49
+ //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/scrollToTop.ts"],"sourcesContent":["export interface ScrollToTopOptions {\n /** Comportamiento del scroll. Default: `'smooth'`. */\n behavior?: ScrollBehavior;\n /**\n * Elemento target del scroll. Default: `window`. Útil cuando el contenedor\n * scrolleable NO es `window` (p.ej. un `<Box>` con `overflow: auto`).\n */\n target?: Window | HTMLElement;\n /** Offset desde el top. Default: `0`. */\n top?: number;\n}\n\n/**\n * Hace scroll al tope (por default con animación suave). Safe en SSR — si\n * `window` no existe, es un no-op.\n *\n * Llamar tras mutaciones / cambios de filtros / apertura de modales para\n * asegurar que el usuario vea el mensaje de confirmación en la parte\n * superior de la página.\n *\n * ```ts\n * import { scrollToTop } from '@soyfri/shared-library';\n *\n * scrollToTop(); // window, smooth\n * scrollToTop({ behavior: 'auto' }); // window, instantáneo\n * scrollToTop({ target: myScrollableRef.current }); // container custom\n * ```\n */\nexport function scrollToTop({\n behavior = 'smooth',\n target = typeof window !== 'undefined' ? window : undefined,\n top = 0,\n}: ScrollToTopOptions = {}): void {\n if (!target) return;\n target.scrollTo({ top, left: 0, behavior });\n}\n"],"names":[],"mappings":";;;AA4BO,SAAS,YAAY;AAAA,EAC1B,WAAW;AAAA,EACX,SAAS,OAAO,WAAW,cAAc,SAAS;AAAA,EAClD,MAAM;AACR,IAAwB,IAAU;AAChC,MAAI,CAAC,OAAQ;AACb,SAAO,SAAS,EAAE,KAAK,MAAM,GAAG,UAAU;AAC5C;"}
@@ -0,0 +1,10 @@
1
+ const mergeSx = (base, extra) => {
2
+ if (!extra) return base;
3
+ const baseArr = Array.isArray(base) ? base : [base];
4
+ const extraArr = Array.isArray(extra) ? extra : [extra];
5
+ return [...baseArr, ...extraArr];
6
+ };
7
+ export {
8
+ mergeSx as m
9
+ };
10
+ //# sourceMappingURL=mergeSx-BXoNZjB_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeSx-BXoNZjB_.js","sources":["../src/components/_shared/mergeSx.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\n/**\n * Merge helper para props `sx` de MUI. Acepta formatos objeto o array y\n * devuelve un array combinado. El `extra` se aplica después del `base` —\n * el consumer puede pisar los defaults del componente.\n */\nexport const mergeSx = (\n base: SxProps<Theme>,\n extra?: SxProps<Theme>,\n): SxProps<Theme> => {\n if (!extra) return base;\n const baseArr = Array.isArray(base) ? base : [base];\n const extraArr = Array.isArray(extra) ? extra : [extra];\n return [...baseArr, ...extraArr] as SxProps<Theme>;\n};\n"],"names":[],"mappings":"AAOO,MAAM,UAAU,CACrB,MACA,UACmB;AACnB,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAClD,QAAM,WAAW,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AACtD,SAAO,CAAC,GAAG,SAAS,GAAG,QAAQ;AACjC;"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ const mergeSx = (base, extra) => {
3
+ if (!extra) return base;
4
+ const baseArr = Array.isArray(base) ? base : [base];
5
+ const extraArr = Array.isArray(extra) ? extra : [extra];
6
+ return [...baseArr, ...extraArr];
7
+ };
8
+ exports.mergeSx = mergeSx;
9
+ //# sourceMappingURL=mergeSx-Dbccoo_H.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeSx-Dbccoo_H.cjs","sources":["../src/components/_shared/mergeSx.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\n/**\n * Merge helper para props `sx` de MUI. Acepta formatos objeto o array y\n * devuelve un array combinado. El `extra` se aplica después del `base` —\n * el consumer puede pisar los defaults del componente.\n */\nexport const mergeSx = (\n base: SxProps<Theme>,\n extra?: SxProps<Theme>,\n): SxProps<Theme> => {\n if (!extra) return base;\n const baseArr = Array.isArray(base) ? base : [base];\n const extraArr = Array.isArray(extra) ? extra : [extra];\n return [...baseArr, ...extraArr] as SxProps<Theme>;\n};\n"],"names":[],"mappings":";AAOO,MAAM,UAAU,CACrB,MACA,UACmB;AACnB,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAClD,QAAM,WAAW,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AACtD,SAAO,CAAC,GAAG,SAAS,GAAG,QAAQ;AACjC;;"}
package/mui.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export { Box, Stack, Grid, Container, Paper, Divider, } from '@mui/material';
2
+ export { Typography, Link } from '@mui/material';
3
+ export { List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, } from '@mui/material';
4
+ export { CircularProgress, LinearProgress, Skeleton, Alert, AlertTitle, Snackbar, Backdrop, Fade, Grow, Zoom, Collapse, } from '@mui/material';
5
+ export { useTheme, useMediaQuery, alpha, styled, createTheme, ThemeProvider } from '@mui/material';
6
+ export type { SxProps, Theme } from '@mui/material/styles';
7
+ export { renderMultiSectionDigitalClockTimeView } from '@mui/x-date-pickers/timeViewRenderers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soyfri/shared-library",
3
- "version": "1.5.0-beta.4",
3
+ "version": "1.6.0-beta.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -58,6 +58,11 @@
58
58
  "require": "./components/Table/Table.cjs",
59
59
  "types": "./components/Table/Table.d.ts"
60
60
  },
61
+ "./components/Switch": {
62
+ "import": "./components/Switch/Switch.js",
63
+ "require": "./components/Switch/Switch.cjs",
64
+ "types": "./components/Switch/Switch.d.ts"
65
+ },
61
66
  "./components/Stepper": {
62
67
  "import": "./components/Stepper/Stepper.js",
63
68
  "require": "./components/Stepper/Stepper.cjs",
@@ -78,6 +83,11 @@
78
83
  "require": "./components/Select/Select.cjs",
79
84
  "types": "./components/Select/Select.d.ts"
80
85
  },
86
+ "./components/RadioGroup": {
87
+ "import": "./components/RadioGroup/RadioGroup.js",
88
+ "require": "./components/RadioGroup/RadioGroup.cjs",
89
+ "types": "./components/RadioGroup/RadioGroup.d.ts"
90
+ },
81
91
  "./components/Modal": {
82
92
  "import": "./components/Modal/Modal.js",
83
93
  "require": "./components/Modal/Modal.cjs",
@@ -113,6 +123,11 @@
113
123
  "require": "./components/Flyout/Flyout.cjs",
114
124
  "types": "./components/Flyout/Flyout.d.ts"
115
125
  },
126
+ "./components/Drawer": {
127
+ "import": "./components/Drawer/Drawer.js",
128
+ "require": "./components/Drawer/Drawer.cjs",
129
+ "types": "./components/Drawer/Drawer.d.ts"
130
+ },
116
131
  "./components/DateTimePicker": {
117
132
  "import": "./components/DateTimePicker/DateTimePicker.js",
118
133
  "require": "./components/DateTimePicker/DateTimePicker.cjs",
@@ -138,6 +153,11 @@
138
153
  "require": "./components/Chip/Chip.cjs",
139
154
  "types": "./components/Chip/Chip.d.ts"
140
155
  },
156
+ "./components/Checkbox": {
157
+ "import": "./components/Checkbox/Checkbox.js",
158
+ "require": "./components/Checkbox/Checkbox.cjs",
159
+ "types": "./components/Checkbox/Checkbox.d.ts"
160
+ },
141
161
  "./components/Card": {
142
162
  "import": "./components/Card/Card.js",
143
163
  "require": "./components/Card/Card.cjs",
@@ -158,6 +178,16 @@
158
178
  "require": "./components/Autocomplete/Autocomplete.cjs",
159
179
  "types": "./components/Autocomplete/Autocomplete.d.ts"
160
180
  },
181
+ "./components/AppBar": {
182
+ "import": "./components/AppBar/AppBar.js",
183
+ "require": "./components/AppBar/AppBar.cjs",
184
+ "types": "./components/AppBar/AppBar.d.ts"
185
+ },
186
+ "./components/ActionMenu": {
187
+ "import": "./components/ActionMenu/ActionMenu.js",
188
+ "require": "./components/ActionMenu/ActionMenu.cjs",
189
+ "types": "./components/ActionMenu/ActionMenu.d.ts"
190
+ },
161
191
  "./hooks/ClipBoard": {
162
192
  "import": "./hooks/ClipBoard/ClipBoard.js",
163
193
  "require": "./hooks/ClipBoard/ClipBoard.cjs",
@@ -0,0 +1,15 @@
1
+ const DEFAULT_PRESET_NAME = "default";
2
+ function resolvePreset(componentName, presetName, theme) {
3
+ var _a;
4
+ if (!presetName || presetName === DEFAULT_PRESET_NAME) return void 0;
5
+ const componentPresets = (_a = theme.styles) == null ? void 0 : _a[componentName];
6
+ if (!componentPresets) return void 0;
7
+ const entry = componentPresets[presetName];
8
+ if (!entry) return void 0;
9
+ return typeof entry === "function" ? entry(theme) : entry;
10
+ }
11
+ export {
12
+ DEFAULT_PRESET_NAME as D,
13
+ resolvePreset as r
14
+ };
15
+ //# sourceMappingURL=resolvePreset-B-IB0ehH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePreset-B-IB0ehH.js","sources":["../src/components/_shared/resolvePreset.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\nimport type { LibraryComponentName, PresetStyle } from '../../theme/componentStyles';\n\n/**\n * Nombre del preset built-in del paquete. No se registra en el theme: si un\n * componente recibe `preset=\"default\"` (o no recibe preset), sólo aplica el\n * estilo base de fábrica.\n */\nexport const DEFAULT_PRESET_NAME = 'default';\n\n/**\n * Resuelve el sx de un preset registrado en `theme.styles[componentName]`.\n *\n * - Si `presetName` es `\"default\"` o `undefined`, devuelve `undefined`\n * (caller sólo aplicará el estilo base del paquete).\n * - Si la entrada en el theme es una función `(theme) => sx`, se ejecuta.\n * - Si la entrada no existe, devuelve `undefined` silenciosamente (no se\n * rompe el componente — la responsabilidad de registrarlo es del consumer).\n */\nexport function resolvePreset(\n componentName: LibraryComponentName,\n presetName: string | undefined,\n theme: Theme,\n): SxProps<Theme> | undefined {\n if (!presetName || presetName === DEFAULT_PRESET_NAME) return undefined;\n\n const componentPresets = theme.styles?.[componentName];\n if (!componentPresets) return undefined;\n\n const entry: PresetStyle | undefined = componentPresets[presetName];\n if (!entry) return undefined;\n\n return typeof entry === 'function' ? entry(theme) : entry;\n}\n"],"names":[],"mappings":"AASO,MAAM,sBAAsB;AAW5B,SAAS,cACd,eACA,YACA,OAC4B;AAfvB;AAgBL,MAAI,CAAC,cAAc,eAAe,oBAAqB,QAAO;AAE9D,QAAM,oBAAmB,WAAM,WAAN,mBAAe;AACxC,MAAI,CAAC,iBAAkB,QAAO;AAE9B,QAAM,QAAiC,iBAAiB,UAAU;AAClE,MAAI,CAAC,MAAO,QAAO;AAEnB,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ const DEFAULT_PRESET_NAME = "default";
3
+ function resolvePreset(componentName, presetName, theme) {
4
+ var _a;
5
+ if (!presetName || presetName === DEFAULT_PRESET_NAME) return void 0;
6
+ const componentPresets = (_a = theme.styles) == null ? void 0 : _a[componentName];
7
+ if (!componentPresets) return void 0;
8
+ const entry = componentPresets[presetName];
9
+ if (!entry) return void 0;
10
+ return typeof entry === "function" ? entry(theme) : entry;
11
+ }
12
+ exports.DEFAULT_PRESET_NAME = DEFAULT_PRESET_NAME;
13
+ exports.resolvePreset = resolvePreset;
14
+ //# sourceMappingURL=resolvePreset-CT3kU-K2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePreset-CT3kU-K2.cjs","sources":["../src/components/_shared/resolvePreset.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles';\n\nimport type { LibraryComponentName, PresetStyle } from '../../theme/componentStyles';\n\n/**\n * Nombre del preset built-in del paquete. No se registra en el theme: si un\n * componente recibe `preset=\"default\"` (o no recibe preset), sólo aplica el\n * estilo base de fábrica.\n */\nexport const DEFAULT_PRESET_NAME = 'default';\n\n/**\n * Resuelve el sx de un preset registrado en `theme.styles[componentName]`.\n *\n * - Si `presetName` es `\"default\"` o `undefined`, devuelve `undefined`\n * (caller sólo aplicará el estilo base del paquete).\n * - Si la entrada en el theme es una función `(theme) => sx`, se ejecuta.\n * - Si la entrada no existe, devuelve `undefined` silenciosamente (no se\n * rompe el componente — la responsabilidad de registrarlo es del consumer).\n */\nexport function resolvePreset(\n componentName: LibraryComponentName,\n presetName: string | undefined,\n theme: Theme,\n): SxProps<Theme> | undefined {\n if (!presetName || presetName === DEFAULT_PRESET_NAME) return undefined;\n\n const componentPresets = theme.styles?.[componentName];\n if (!componentPresets) return undefined;\n\n const entry: PresetStyle | undefined = componentPresets[presetName];\n if (!entry) return undefined;\n\n return typeof entry === 'function' ? entry(theme) : entry;\n}\n"],"names":[],"mappings":";AASO,MAAM,sBAAsB;AAW5B,SAAS,cACd,eACA,YACA,OAC4B;;AAC5B,MAAI,CAAC,cAAc,eAAe,oBAAqB,QAAO;AAE9D,QAAM,oBAAmB,WAAM,WAAN,mBAAe;AACxC,MAAI,CAAC,iBAAkB,QAAO;AAE9B,QAAM,QAAiC,iBAAiB,UAAU;AAClE,MAAI,CAAC,MAAO,QAAO;AAEnB,SAAO,OAAO,UAAU,aAAa,MAAM,KAAK,IAAI;AACtD;;;"}
@@ -0,0 +1,32 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
2
+ /**
3
+ * Lista de componentes del paquete que soportan presets registrables en el
4
+ * theme. Si en el futuro se agrega otro componente al sistema, se extiende
5
+ * esta union.
6
+ */
7
+ export type LibraryComponentName = 'Input' | 'Select' | 'Autocomplete' | 'DatePicker' | 'DateTimePicker' | 'Drawer' | 'AppBar' | 'Card' | 'RadioGroup' | 'Switch' | 'Checkbox' | 'Gallery';
8
+ /**
9
+ * Un estilo de preset. Puede ser un objeto sx directo o una función del theme
10
+ * para acceder a palette/typography/etc.
11
+ */
12
+ export type PresetStyle = SxProps<Theme> | ((theme: Theme) => SxProps<Theme>);
13
+ /**
14
+ * Map de presets disponibles para un componente. Las keys son nombres libres
15
+ * elegidos por el consumidor (p.ej. `reddit`, `compact-filled`). El paquete
16
+ * no registra ninguna entrada: `preset="default"` significa "usar el estilo
17
+ * built-in de fábrica" y no requiere registro.
18
+ */
19
+ export type ComponentPresets = Record<string, PresetStyle>;
20
+ /**
21
+ * Shape del namespace `theme.styles` — un map de componentes del paquete a
22
+ * sus presets registrados.
23
+ */
24
+ export type LibraryStyles = Partial<Record<LibraryComponentName, ComponentPresets>>;
25
+ declare module '@mui/material/styles' {
26
+ interface Theme {
27
+ styles: LibraryStyles;
28
+ }
29
+ interface ThemeOptions {
30
+ styles?: LibraryStyles;
31
+ }
32
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Design tokens compartidos por los componentes de formulario
3
+ * (Input, Select, Autocomplete, DatePicker, DateTimePicker).
4
+ *
5
+ * Centralizar estos valores garantiza que:
6
+ * - el espaciado, la tipografía y las animaciones del label sean idénticos
7
+ * en todos los campos;
8
+ * - un cambio visual global (p.ej. cambiar el transform del shrink) se haga
9
+ * en un único archivo.
10
+ */
11
+ /** Margen superior que deja el aire para el label flotante "outside". */
12
+ export declare const LABEL_MARGIN_TOP = "14px";
13
+ /** Padding vertical interno del input (TextField/Select/Picker sections). */
14
+ export declare const FIELD_INPUT_PADDING_Y = "8.5px";
15
+ /** Transform que aplica el label cuando sube arriba del input (shrink). */
16
+ export declare const LABEL_SHRINK_TRANSFORM = "translate(4px, -22px) scale(0.85)";
17
+ /** Origen del transform para el shrink. */
18
+ export declare const LABEL_TRANSFORM_ORIGIN = "top left";
19
+ /** Transición del label (color + transform + max-width). */
20
+ export declare const LABEL_TRANSITION: string;
21
+ /** Color del label en reposo. */
22
+ export declare const LABEL_COLOR_REST = "text.secondary";
23
+ /** Color del label cuando el campo tiene valor (shrink). */
24
+ export declare const LABEL_COLOR_FILLED = "text.primary";
25
+ /** Color del label cuando el campo está focused. */
26
+ export declare const LABEL_COLOR_FOCUSED = "primary.main";
27
+ /** Peso del label cuando sube (filled/focused). */
28
+ export declare const LABEL_FONT_WEIGHT_FILLED = 500;
@@ -0,0 +1,21 @@
1
+ const LABEL_MARGIN_TOP = "14px";
2
+ const FIELD_INPUT_PADDING_Y = "8.5px";
3
+ const LABEL_SHRINK_TRANSFORM = "translate(4px, -22px) scale(0.85)";
4
+ const LABEL_TRANSFORM_ORIGIN = "top left";
5
+ const LABEL_TRANSITION = "color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, max-width 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms";
6
+ const LABEL_COLOR_REST = "text.secondary";
7
+ const LABEL_COLOR_FILLED = "text.primary";
8
+ const LABEL_COLOR_FOCUSED = "primary.main";
9
+ const LABEL_FONT_WEIGHT_FILLED = 500;
10
+ export {
11
+ FIELD_INPUT_PADDING_Y as F,
12
+ LABEL_MARGIN_TOP as L,
13
+ LABEL_COLOR_FOCUSED as a,
14
+ LABEL_FONT_WEIGHT_FILLED as b,
15
+ LABEL_COLOR_FILLED as c,
16
+ LABEL_TRANSFORM_ORIGIN as d,
17
+ LABEL_SHRINK_TRANSFORM as e,
18
+ LABEL_TRANSITION as f,
19
+ LABEL_COLOR_REST as g
20
+ };
21
+ //# sourceMappingURL=tokens-BRrcP_p_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-BRrcP_p_.js","sources":["../src/theme/tokens.ts"],"sourcesContent":["/**\n * Design tokens compartidos por los componentes de formulario\n * (Input, Select, Autocomplete, DatePicker, DateTimePicker).\n *\n * Centralizar estos valores garantiza que:\n * - el espaciado, la tipografía y las animaciones del label sean idénticos\n * en todos los campos;\n * - un cambio visual global (p.ej. cambiar el transform del shrink) se haga\n * en un único archivo.\n */\n\n// ── Spacing ──────────────────────────────────────────────────────────────\n/** Margen superior que deja el aire para el label flotante \"outside\". */\nexport const LABEL_MARGIN_TOP = '14px';\n\n/** Padding vertical interno del input (TextField/Select/Picker sections). */\nexport const FIELD_INPUT_PADDING_Y = '8.5px';\n\n// ── Label animation ──────────────────────────────────────────────────────\n/** Transform que aplica el label cuando sube arriba del input (shrink). */\nexport const LABEL_SHRINK_TRANSFORM = 'translate(4px, -22px) scale(0.85)';\n\n/** Origen del transform para el shrink. */\nexport const LABEL_TRANSFORM_ORIGIN = 'top left';\n\n/** Transición del label (color + transform + max-width). */\nexport const LABEL_TRANSITION =\n 'color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'max-width 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms';\n\n// ── Label colors (theme-aware) ───────────────────────────────────────────\n/** Color del label en reposo. */\nexport const LABEL_COLOR_REST = 'text.secondary';\n\n/** Color del label cuando el campo tiene valor (shrink). */\nexport const LABEL_COLOR_FILLED = 'text.primary';\n\n/** Color del label cuando el campo está focused. */\nexport const LABEL_COLOR_FOCUSED = 'primary.main';\n\n/** Peso del label cuando sube (filled/focused). */\nexport const LABEL_FONT_WEIGHT_FILLED = 500;\n"],"names":[],"mappings":"AAaO,MAAM,mBAAmB;AAGzB,MAAM,wBAAwB;AAI9B,MAAM,yBAAyB;AAG/B,MAAM,yBAAyB;AAG/B,MAAM,mBACX;AAMK,MAAM,mBAAmB;AAGzB,MAAM,qBAAqB;AAG3B,MAAM,sBAAsB;AAG5B,MAAM,2BAA2B;"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ const LABEL_MARGIN_TOP = "14px";
3
+ const FIELD_INPUT_PADDING_Y = "8.5px";
4
+ const LABEL_SHRINK_TRANSFORM = "translate(4px, -22px) scale(0.85)";
5
+ const LABEL_TRANSFORM_ORIGIN = "top left";
6
+ const LABEL_TRANSITION = "color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, max-width 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms";
7
+ const LABEL_COLOR_REST = "text.secondary";
8
+ const LABEL_COLOR_FILLED = "text.primary";
9
+ const LABEL_COLOR_FOCUSED = "primary.main";
10
+ const LABEL_FONT_WEIGHT_FILLED = 500;
11
+ exports.FIELD_INPUT_PADDING_Y = FIELD_INPUT_PADDING_Y;
12
+ exports.LABEL_COLOR_FILLED = LABEL_COLOR_FILLED;
13
+ exports.LABEL_COLOR_FOCUSED = LABEL_COLOR_FOCUSED;
14
+ exports.LABEL_COLOR_REST = LABEL_COLOR_REST;
15
+ exports.LABEL_FONT_WEIGHT_FILLED = LABEL_FONT_WEIGHT_FILLED;
16
+ exports.LABEL_MARGIN_TOP = LABEL_MARGIN_TOP;
17
+ exports.LABEL_SHRINK_TRANSFORM = LABEL_SHRINK_TRANSFORM;
18
+ exports.LABEL_TRANSFORM_ORIGIN = LABEL_TRANSFORM_ORIGIN;
19
+ exports.LABEL_TRANSITION = LABEL_TRANSITION;
20
+ //# sourceMappingURL=tokens-jaWWNk39.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens-jaWWNk39.cjs","sources":["../src/theme/tokens.ts"],"sourcesContent":["/**\n * Design tokens compartidos por los componentes de formulario\n * (Input, Select, Autocomplete, DatePicker, DateTimePicker).\n *\n * Centralizar estos valores garantiza que:\n * - el espaciado, la tipografía y las animaciones del label sean idénticos\n * en todos los campos;\n * - un cambio visual global (p.ej. cambiar el transform del shrink) se haga\n * en un único archivo.\n */\n\n// ── Spacing ──────────────────────────────────────────────────────────────\n/** Margen superior que deja el aire para el label flotante \"outside\". */\nexport const LABEL_MARGIN_TOP = '14px';\n\n/** Padding vertical interno del input (TextField/Select/Picker sections). */\nexport const FIELD_INPUT_PADDING_Y = '8.5px';\n\n// ── Label animation ──────────────────────────────────────────────────────\n/** Transform que aplica el label cuando sube arriba del input (shrink). */\nexport const LABEL_SHRINK_TRANSFORM = 'translate(4px, -22px) scale(0.85)';\n\n/** Origen del transform para el shrink. */\nexport const LABEL_TRANSFORM_ORIGIN = 'top left';\n\n/** Transición del label (color + transform + max-width). */\nexport const LABEL_TRANSITION =\n 'color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, ' +\n 'max-width 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms';\n\n// ── Label colors (theme-aware) ───────────────────────────────────────────\n/** Color del label en reposo. */\nexport const LABEL_COLOR_REST = 'text.secondary';\n\n/** Color del label cuando el campo tiene valor (shrink). */\nexport const LABEL_COLOR_FILLED = 'text.primary';\n\n/** Color del label cuando el campo está focused. */\nexport const LABEL_COLOR_FOCUSED = 'primary.main';\n\n/** Peso del label cuando sube (filled/focused). */\nexport const LABEL_FONT_WEIGHT_FILLED = 500;\n"],"names":[],"mappings":";AAaO,MAAM,mBAAmB;AAGzB,MAAM,wBAAwB;AAI9B,MAAM,yBAAyB;AAG/B,MAAM,yBAAyB;AAG/B,MAAM,mBACX;AAMK,MAAM,mBAAmB;AAGzB,MAAM,qBAAqB;AAG3B,MAAM,sBAAsB;AAG5B,MAAM,2BAA2B;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { scrollToTop } from './scrollToTop';
2
+ export type { ScrollToTopOptions } from './scrollToTop';
@@ -0,0 +1,28 @@
1
+ export interface ScrollToTopOptions {
2
+ /** Comportamiento del scroll. Default: `'smooth'`. */
3
+ behavior?: ScrollBehavior;
4
+ /**
5
+ * Elemento target del scroll. Default: `window`. Útil cuando el contenedor
6
+ * scrolleable NO es `window` (p.ej. un `<Box>` con `overflow: auto`).
7
+ */
8
+ target?: Window | HTMLElement;
9
+ /** Offset desde el top. Default: `0`. */
10
+ top?: number;
11
+ }
12
+ /**
13
+ * Hace scroll al tope (por default con animación suave). Safe en SSR — si
14
+ * `window` no existe, es un no-op.
15
+ *
16
+ * Llamar tras mutaciones / cambios de filtros / apertura de modales para
17
+ * asegurar que el usuario vea el mensaje de confirmación en la parte
18
+ * superior de la página.
19
+ *
20
+ * ```ts
21
+ * import { scrollToTop } from '@soyfri/shared-library';
22
+ *
23
+ * scrollToTop(); // window, smooth
24
+ * scrollToTop({ behavior: 'auto' }); // window, instantáneo
25
+ * scrollToTop({ target: myScrollableRef.current }); // container custom
26
+ * ```
27
+ */
28
+ export declare function scrollToTop({ behavior, target, top, }?: ScrollToTopOptions): void;