@makroz/web 1.2.0 → 1.2.1

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 (438) hide show
  1. package/dist/auth/MkAuthContext.d.ts +43 -0
  2. package/dist/auth/MkAuthContext.d.ts.map +1 -0
  3. package/dist/auth/MkAuthContext.js +3 -0
  4. package/dist/auth/MkAuthContext.js.map +1 -0
  5. package/dist/auth/MkAuthForm.d.ts +42 -0
  6. package/dist/auth/MkAuthForm.d.ts.map +1 -0
  7. package/dist/auth/MkAuthForm.js +53 -0
  8. package/dist/auth/MkAuthForm.js.map +1 -0
  9. package/dist/auth/MkAuthProvider.d.ts +30 -0
  10. package/dist/auth/MkAuthProvider.d.ts.map +1 -0
  11. package/dist/auth/MkAuthProvider.js +317 -0
  12. package/dist/auth/MkAuthProvider.js.map +1 -0
  13. package/dist/auth/types.d.ts +63 -0
  14. package/dist/auth/types.d.ts.map +1 -0
  15. package/dist/auth/types.js +20 -0
  16. package/dist/auth/types.js.map +1 -0
  17. package/dist/auth/useMkAuth.d.ts +19 -0
  18. package/dist/auth/useMkAuth.d.ts.map +1 -0
  19. package/dist/auth/useMkAuth.js +26 -0
  20. package/dist/auth/useMkAuth.js.map +1 -0
  21. package/dist/components/FormField.d.ts +27 -0
  22. package/dist/components/FormField.d.ts.map +1 -0
  23. package/dist/components/FormField.js +18 -0
  24. package/dist/components/FormField.js.map +1 -0
  25. package/dist/components/FormField.stories.d.ts +11 -0
  26. package/dist/components/FormField.stories.d.ts.map +1 -0
  27. package/dist/components/FormField.stories.js +61 -0
  28. package/dist/components/FormField.stories.js.map +1 -0
  29. package/dist/components/MkAccordion.d.ts +36 -0
  30. package/dist/components/MkAccordion.d.ts.map +1 -0
  31. package/dist/components/MkAccordion.js +23 -0
  32. package/dist/components/MkAccordion.js.map +1 -0
  33. package/dist/components/MkAccordion.stories.d.ts +13 -0
  34. package/dist/components/MkAccordion.stories.d.ts.map +1 -0
  35. package/dist/components/MkAccordion.stories.js +76 -0
  36. package/dist/components/MkAccordion.stories.js.map +1 -0
  37. package/dist/components/MkAccordion.stories.test.d.ts +2 -0
  38. package/dist/components/MkAccordion.stories.test.d.ts.map +1 -0
  39. package/dist/components/MkAccordion.stories.test.js +18 -0
  40. package/dist/components/MkAccordion.stories.test.js.map +1 -0
  41. package/dist/components/MkAlert.d.ts +25 -0
  42. package/dist/components/MkAlert.d.ts.map +1 -0
  43. package/dist/components/MkAlert.js +21 -0
  44. package/dist/components/MkAlert.js.map +1 -0
  45. package/dist/components/MkAlert.stories.d.ts +13 -0
  46. package/dist/components/MkAlert.stories.d.ts.map +1 -0
  47. package/dist/components/MkAlert.stories.js +75 -0
  48. package/dist/components/MkAlert.stories.js.map +1 -0
  49. package/dist/components/MkAlert.stories.test.d.ts +2 -0
  50. package/dist/components/MkAlert.stories.test.d.ts.map +1 -0
  51. package/dist/components/MkAlert.stories.test.js +16 -0
  52. package/dist/components/MkAlert.stories.test.js.map +1 -0
  53. package/dist/components/MkAvatar.d.ts +16 -0
  54. package/dist/components/MkAvatar.d.ts.map +1 -0
  55. package/dist/components/MkAvatar.js +23 -0
  56. package/dist/components/MkAvatar.js.map +1 -0
  57. package/dist/components/MkAvatar.stories.d.ts +14 -0
  58. package/dist/components/MkAvatar.stories.d.ts.map +1 -0
  59. package/dist/components/MkAvatar.stories.js +67 -0
  60. package/dist/components/MkAvatar.stories.js.map +1 -0
  61. package/dist/components/MkAvatar.stories.test.d.ts +2 -0
  62. package/dist/components/MkAvatar.stories.test.d.ts.map +1 -0
  63. package/dist/components/MkAvatar.stories.test.js +16 -0
  64. package/dist/components/MkAvatar.stories.test.js.map +1 -0
  65. package/dist/components/MkBadge.d.ts +15 -0
  66. package/dist/components/MkBadge.d.ts.map +1 -0
  67. package/dist/components/MkBadge.js +7 -0
  68. package/dist/components/MkBadge.js.map +1 -0
  69. package/dist/components/MkBadge.stories.d.ts +15 -0
  70. package/dist/components/MkBadge.stories.d.ts.map +1 -0
  71. package/dist/components/MkBadge.stories.js +78 -0
  72. package/dist/components/MkBadge.stories.js.map +1 -0
  73. package/dist/components/MkBadge.stories.test.d.ts +2 -0
  74. package/dist/components/MkBadge.stories.test.d.ts.map +1 -0
  75. package/dist/components/MkBadge.stories.test.js +16 -0
  76. package/dist/components/MkBadge.stories.test.js.map +1 -0
  77. package/dist/components/MkButton.d.ts +11 -0
  78. package/dist/components/MkButton.stories.d.ts +12 -0
  79. package/dist/components/MkButton.stories.d.ts.map +1 -0
  80. package/dist/components/MkButton.stories.js +57 -0
  81. package/dist/components/MkButton.stories.js.map +1 -0
  82. package/dist/components/MkButton.test.d.ts +2 -0
  83. package/dist/components/MkButton.test.d.ts.map +1 -0
  84. package/dist/components/MkButton.test.js +56 -0
  85. package/dist/components/MkButton.test.js.map +1 -0
  86. package/dist/components/MkCard.d.ts +18 -0
  87. package/dist/components/MkCard.d.ts.map +1 -0
  88. package/dist/components/MkCard.js +6 -0
  89. package/dist/components/MkCard.js.map +1 -0
  90. package/dist/components/MkCard.stories.d.ts +11 -0
  91. package/dist/components/MkCard.stories.d.ts.map +1 -0
  92. package/dist/components/MkCard.stories.js +57 -0
  93. package/dist/components/MkCard.stories.js.map +1 -0
  94. package/dist/components/MkCheck.d.ts +32 -0
  95. package/dist/components/MkCheck.d.ts.map +1 -0
  96. package/dist/components/MkCheck.js +12 -0
  97. package/dist/components/MkCheck.js.map +1 -0
  98. package/dist/components/MkCheck.stories.d.ts +13 -0
  99. package/dist/components/MkCheck.stories.d.ts.map +1 -0
  100. package/dist/components/MkCheck.stories.js +63 -0
  101. package/dist/components/MkCheck.stories.js.map +1 -0
  102. package/dist/components/MkCheck.stories.test.d.ts +2 -0
  103. package/dist/components/MkCheck.stories.test.d.ts.map +1 -0
  104. package/dist/components/MkCheck.stories.test.js +16 -0
  105. package/dist/components/MkCheck.stories.test.js.map +1 -0
  106. package/dist/components/MkDatePicker.d.ts +29 -0
  107. package/dist/components/MkDatePicker.d.ts.map +1 -0
  108. package/dist/components/MkDatePicker.js +10 -0
  109. package/dist/components/MkDatePicker.js.map +1 -0
  110. package/dist/components/MkDatePicker.stories.d.ts +11 -0
  111. package/dist/components/MkDatePicker.stories.d.ts.map +1 -0
  112. package/dist/components/MkDatePicker.stories.js +47 -0
  113. package/dist/components/MkDatePicker.stories.js.map +1 -0
  114. package/dist/components/MkDatePicker.stories.test.d.ts +2 -0
  115. package/dist/components/MkDatePicker.stories.test.d.ts.map +1 -0
  116. package/dist/components/MkDatePicker.stories.test.js +16 -0
  117. package/dist/components/MkDatePicker.stories.test.js.map +1 -0
  118. package/dist/components/MkDivider.d.ts +14 -0
  119. package/dist/components/MkDivider.d.ts.map +1 -0
  120. package/dist/components/MkDivider.js +12 -0
  121. package/dist/components/MkDivider.js.map +1 -0
  122. package/dist/components/MkDivider.stories.d.ts +12 -0
  123. package/dist/components/MkDivider.stories.d.ts.map +1 -0
  124. package/dist/components/MkDivider.stories.js +33 -0
  125. package/dist/components/MkDivider.stories.js.map +1 -0
  126. package/dist/components/MkDivider.stories.test.d.ts +2 -0
  127. package/dist/components/MkDivider.stories.test.d.ts.map +1 -0
  128. package/dist/components/MkDivider.stories.test.js +15 -0
  129. package/dist/components/MkDivider.stories.test.js.map +1 -0
  130. package/dist/components/MkDropDown.d.ts +22 -0
  131. package/dist/components/MkDropDown.d.ts.map +1 -0
  132. package/dist/components/MkDropDown.js +24 -0
  133. package/dist/components/MkDropDown.js.map +1 -0
  134. package/dist/components/MkDropDown.stories.d.ts +12 -0
  135. package/dist/components/MkDropDown.stories.d.ts.map +1 -0
  136. package/dist/components/MkDropDown.stories.js +76 -0
  137. package/dist/components/MkDropDown.stories.js.map +1 -0
  138. package/dist/components/MkDropDown.stories.test.d.ts +2 -0
  139. package/dist/components/MkDropDown.stories.test.d.ts.map +1 -0
  140. package/dist/components/MkDropDown.stories.test.js +18 -0
  141. package/dist/components/MkDropDown.stories.test.js.map +1 -0
  142. package/dist/components/MkEmptyState.d.ts +14 -0
  143. package/dist/components/MkEmptyState.d.ts.map +1 -0
  144. package/dist/components/MkEmptyState.js +6 -0
  145. package/dist/components/MkEmptyState.js.map +1 -0
  146. package/dist/components/MkEmptyState.stories.d.ts +12 -0
  147. package/dist/components/MkEmptyState.stories.d.ts.map +1 -0
  148. package/dist/components/MkEmptyState.stories.js +44 -0
  149. package/dist/components/MkEmptyState.stories.js.map +1 -0
  150. package/dist/components/MkEmptyState.stories.test.d.ts +2 -0
  151. package/dist/components/MkEmptyState.stories.test.d.ts.map +1 -0
  152. package/dist/components/MkEmptyState.stories.test.js +15 -0
  153. package/dist/components/MkEmptyState.stories.test.js.map +1 -0
  154. package/dist/components/MkFileUpload.d.ts +36 -0
  155. package/dist/components/MkFileUpload.d.ts.map +1 -0
  156. package/dist/components/MkFileUpload.js +50 -0
  157. package/dist/components/MkFileUpload.js.map +1 -0
  158. package/dist/components/MkFileUpload.stories.d.ts +12 -0
  159. package/dist/components/MkFileUpload.stories.d.ts.map +1 -0
  160. package/dist/components/MkFileUpload.stories.js +53 -0
  161. package/dist/components/MkFileUpload.stories.js.map +1 -0
  162. package/dist/components/MkFileUpload.stories.test.d.ts +2 -0
  163. package/dist/components/MkFileUpload.stories.test.d.ts.map +1 -0
  164. package/dist/components/MkFileUpload.stories.test.js +15 -0
  165. package/dist/components/MkFileUpload.stories.test.js.map +1 -0
  166. package/dist/components/MkIcons.d.ts +14 -0
  167. package/dist/components/MkIcons.d.ts.map +1 -0
  168. package/dist/components/MkIcons.js +36 -0
  169. package/dist/components/MkIcons.js.map +1 -0
  170. package/dist/components/MkInfiniteList.d.ts +15 -0
  171. package/dist/components/MkInfiniteList.d.ts.map +1 -0
  172. package/dist/components/MkInfiniteList.js +29 -0
  173. package/dist/components/MkInfiniteList.js.map +1 -0
  174. package/dist/components/MkInfiniteList.stories.d.ts +17 -0
  175. package/dist/components/MkInfiniteList.stories.d.ts.map +1 -0
  176. package/dist/components/MkInfiniteList.stories.js +90 -0
  177. package/dist/components/MkInfiniteList.stories.js.map +1 -0
  178. package/dist/components/MkInfiniteList.stories.test.d.ts +2 -0
  179. package/dist/components/MkInfiniteList.stories.test.d.ts.map +1 -0
  180. package/dist/components/MkInfiniteList.stories.test.js +24 -0
  181. package/dist/components/MkInfiniteList.stories.test.js.map +1 -0
  182. package/dist/components/MkInput.d.ts +13 -0
  183. package/dist/components/MkInput.d.ts.map +1 -0
  184. package/dist/components/MkInput.js +21 -0
  185. package/dist/components/MkInput.js.map +1 -0
  186. package/dist/components/MkInput.stories.d.ts +13 -0
  187. package/dist/components/MkInput.stories.d.ts.map +1 -0
  188. package/dist/components/MkInput.stories.js +75 -0
  189. package/dist/components/MkInput.stories.js.map +1 -0
  190. package/dist/components/MkInput.stories.test.d.ts +2 -0
  191. package/dist/components/MkInput.stories.test.d.ts.map +1 -0
  192. package/dist/components/MkInput.stories.test.js +16 -0
  193. package/dist/components/MkInput.stories.test.js.map +1 -0
  194. package/dist/components/MkLoading.d.ts +20 -0
  195. package/dist/components/MkLoading.d.ts.map +1 -0
  196. package/dist/components/MkLoading.js +14 -0
  197. package/dist/components/MkLoading.js.map +1 -0
  198. package/dist/components/MkLoading.stories.d.ts +13 -0
  199. package/dist/components/MkLoading.stories.d.ts.map +1 -0
  200. package/dist/components/MkLoading.stories.js +35 -0
  201. package/dist/components/MkLoading.stories.js.map +1 -0
  202. package/dist/components/MkLoading.stories.test.d.ts +2 -0
  203. package/dist/components/MkLoading.stories.test.d.ts.map +1 -0
  204. package/dist/components/MkLoading.stories.test.js +15 -0
  205. package/dist/components/MkLoading.stories.test.js.map +1 -0
  206. package/dist/components/MkModal.d.ts +20 -0
  207. package/dist/components/MkModal.d.ts.map +1 -0
  208. package/dist/components/MkModal.js +31 -0
  209. package/dist/components/MkModal.js.map +1 -0
  210. package/dist/components/MkModal.stories.d.ts +13 -0
  211. package/dist/components/MkModal.stories.d.ts.map +1 -0
  212. package/dist/components/MkModal.stories.js +73 -0
  213. package/dist/components/MkModal.stories.js.map +1 -0
  214. package/dist/components/MkProgressBar.d.ts +17 -0
  215. package/dist/components/MkProgressBar.d.ts.map +1 -0
  216. package/dist/components/MkProgressBar.js +7 -0
  217. package/dist/components/MkProgressBar.js.map +1 -0
  218. package/dist/components/MkProgressBar.stories.d.ts +13 -0
  219. package/dist/components/MkProgressBar.stories.d.ts.map +1 -0
  220. package/dist/components/MkProgressBar.stories.js +39 -0
  221. package/dist/components/MkProgressBar.stories.js.map +1 -0
  222. package/dist/components/MkProgressBar.stories.test.d.ts +2 -0
  223. package/dist/components/MkProgressBar.stories.test.d.ts.map +1 -0
  224. package/dist/components/MkProgressBar.stories.test.js +15 -0
  225. package/dist/components/MkProgressBar.stories.test.js.map +1 -0
  226. package/dist/components/MkRadio.d.ts +34 -0
  227. package/dist/components/MkRadio.d.ts.map +1 -0
  228. package/dist/components/MkRadio.js +19 -0
  229. package/dist/components/MkRadio.js.map +1 -0
  230. package/dist/components/MkRadio.stories.d.ts +13 -0
  231. package/dist/components/MkRadio.stories.d.ts.map +1 -0
  232. package/dist/components/MkRadio.stories.js +55 -0
  233. package/dist/components/MkRadio.stories.js.map +1 -0
  234. package/dist/components/MkRadio.stories.test.d.ts +2 -0
  235. package/dist/components/MkRadio.stories.test.d.ts.map +1 -0
  236. package/dist/components/MkRadio.stories.test.js +18 -0
  237. package/dist/components/MkRadio.stories.test.js.map +1 -0
  238. package/dist/components/MkSearchInput.d.ts +30 -0
  239. package/dist/components/MkSearchInput.d.ts.map +1 -0
  240. package/dist/components/MkSearchInput.js +27 -0
  241. package/dist/components/MkSearchInput.js.map +1 -0
  242. package/dist/components/MkSearchInput.stories.d.ts +13 -0
  243. package/dist/components/MkSearchInput.stories.d.ts.map +1 -0
  244. package/dist/components/MkSearchInput.stories.js +47 -0
  245. package/dist/components/MkSearchInput.stories.js.map +1 -0
  246. package/dist/components/MkSearchInput.stories.test.d.ts +2 -0
  247. package/dist/components/MkSearchInput.stories.test.d.ts.map +1 -0
  248. package/dist/components/MkSearchInput.stories.test.js +15 -0
  249. package/dist/components/MkSearchInput.stories.test.js.map +1 -0
  250. package/dist/components/MkSelect.d.ts +23 -0
  251. package/dist/components/MkSelect.d.ts.map +1 -0
  252. package/dist/components/MkSelect.js +59 -0
  253. package/dist/components/MkSelect.js.map +1 -0
  254. package/dist/components/MkSelect.stories.d.ts +12 -0
  255. package/dist/components/MkSelect.stories.d.ts.map +1 -0
  256. package/dist/components/MkSelect.stories.js +84 -0
  257. package/dist/components/MkSelect.stories.js.map +1 -0
  258. package/dist/components/MkSelect.stories.test.d.ts +2 -0
  259. package/dist/components/MkSelect.stories.test.d.ts.map +1 -0
  260. package/dist/components/MkSelect.stories.test.js +21 -0
  261. package/dist/components/MkSelect.stories.test.js.map +1 -0
  262. package/dist/components/MkSkeleton.d.ts +22 -0
  263. package/dist/components/MkSkeleton.d.ts.map +1 -0
  264. package/dist/components/MkSkeleton.js +21 -0
  265. package/dist/components/MkSkeleton.js.map +1 -0
  266. package/dist/components/MkSkeleton.stories.d.ts +12 -0
  267. package/dist/components/MkSkeleton.stories.d.ts.map +1 -0
  268. package/dist/components/MkSkeleton.stories.js +32 -0
  269. package/dist/components/MkSkeleton.stories.js.map +1 -0
  270. package/dist/components/MkSkeleton.stories.test.d.ts +2 -0
  271. package/dist/components/MkSkeleton.stories.test.d.ts.map +1 -0
  272. package/dist/components/MkSkeleton.stories.test.js +15 -0
  273. package/dist/components/MkSkeleton.stories.test.js.map +1 -0
  274. package/dist/components/MkSwitch.d.ts +22 -0
  275. package/dist/components/MkSwitch.d.ts.map +1 -0
  276. package/dist/components/MkSwitch.js +14 -0
  277. package/dist/components/MkSwitch.js.map +1 -0
  278. package/dist/components/MkSwitch.stories.d.ts +13 -0
  279. package/dist/components/MkSwitch.stories.d.ts.map +1 -0
  280. package/dist/components/MkSwitch.stories.js +37 -0
  281. package/dist/components/MkSwitch.stories.js.map +1 -0
  282. package/dist/components/MkSwitch.stories.test.d.ts +2 -0
  283. package/dist/components/MkSwitch.stories.test.d.ts.map +1 -0
  284. package/dist/components/MkSwitch.stories.test.js +15 -0
  285. package/dist/components/MkSwitch.stories.test.js.map +1 -0
  286. package/dist/components/MkTable.d.ts +27 -0
  287. package/dist/components/MkTable.d.ts.map +1 -0
  288. package/dist/components/MkTable.js +11 -0
  289. package/dist/components/MkTable.js.map +1 -0
  290. package/dist/components/MkTable.stories.d.ts +16 -0
  291. package/dist/components/MkTable.stories.d.ts.map +1 -0
  292. package/dist/components/MkTable.stories.js +65 -0
  293. package/dist/components/MkTable.stories.js.map +1 -0
  294. package/dist/components/MkTable.stories.test.d.ts +2 -0
  295. package/dist/components/MkTable.stories.test.d.ts.map +1 -0
  296. package/dist/components/MkTable.stories.test.js +25 -0
  297. package/dist/components/MkTable.stories.test.js.map +1 -0
  298. package/dist/components/MkTabs.d.ts +22 -0
  299. package/dist/components/MkTabs.d.ts.map +1 -0
  300. package/dist/components/MkTabs.js +17 -0
  301. package/dist/components/MkTabs.js.map +1 -0
  302. package/dist/components/MkTabs.stories.d.ts +11 -0
  303. package/dist/components/MkTabs.stories.d.ts.map +1 -0
  304. package/dist/components/MkTabs.stories.js +73 -0
  305. package/dist/components/MkTabs.stories.js.map +1 -0
  306. package/dist/components/MkTextArea.d.ts +21 -0
  307. package/dist/components/MkTextArea.d.ts.map +1 -0
  308. package/dist/components/MkTextArea.js +8 -0
  309. package/dist/components/MkTextArea.js.map +1 -0
  310. package/dist/components/MkTextArea.stories.d.ts +13 -0
  311. package/dist/components/MkTextArea.stories.d.ts.map +1 -0
  312. package/dist/components/MkTextArea.stories.js +56 -0
  313. package/dist/components/MkTextArea.stories.js.map +1 -0
  314. package/dist/components/MkTextArea.stories.test.d.ts +2 -0
  315. package/dist/components/MkTextArea.stories.test.d.ts.map +1 -0
  316. package/dist/components/MkTextArea.stories.test.js +15 -0
  317. package/dist/components/MkTextArea.stories.test.js.map +1 -0
  318. package/dist/components/MkThemeEditor.d.ts +8 -0
  319. package/dist/components/MkToastContainer.d.ts +3 -0
  320. package/dist/components/MkToastContainer.stories.d.ts +9 -0
  321. package/dist/components/MkToastContainer.stories.js +43 -0
  322. package/dist/components/MkToastContainer.stories.js.map +1 -0
  323. package/dist/components/MkToastContainer.stories.test.d.ts +2 -0
  324. package/dist/components/MkToastContainer.stories.test.js +29 -0
  325. package/dist/components/MkToastContainer.stories.test.js.map +1 -0
  326. package/dist/components/MkTooltip.d.ts +14 -0
  327. package/dist/components/MkTooltip.d.ts.map +1 -0
  328. package/dist/components/MkTooltip.js +17 -0
  329. package/dist/components/MkTooltip.js.map +1 -0
  330. package/dist/components/MkTooltip.stories.d.ts +13 -0
  331. package/dist/components/MkTooltip.stories.d.ts.map +1 -0
  332. package/dist/components/MkTooltip.stories.js +59 -0
  333. package/dist/components/MkTooltip.stories.js.map +1 -0
  334. package/dist/components/MkTooltip.stories.test.d.ts +2 -0
  335. package/dist/components/MkTooltip.stories.test.d.ts.map +1 -0
  336. package/dist/components/MkTooltip.stories.test.js +15 -0
  337. package/dist/components/MkTooltip.stories.test.js.map +1 -0
  338. package/dist/components/MkWindowList.d.ts +20 -0
  339. package/dist/components/MkWindowList.d.ts.map +1 -0
  340. package/dist/components/MkWindowList.js +59 -0
  341. package/dist/components/MkWindowList.js.map +1 -0
  342. package/dist/components/MkWindowList.stories.d.ts +16 -0
  343. package/dist/components/MkWindowList.stories.d.ts.map +1 -0
  344. package/dist/components/MkWindowList.stories.js +76 -0
  345. package/dist/components/MkWindowList.stories.js.map +1 -0
  346. package/dist/components/MkWindowList.stories.test.d.ts +2 -0
  347. package/dist/components/MkWindowList.stories.test.d.ts.map +1 -0
  348. package/dist/components/MkWindowList.stories.test.js +19 -0
  349. package/dist/components/MkWindowList.stories.test.js.map +1 -0
  350. package/dist/components/index.d.ts +31 -0
  351. package/dist/components/index.js +34 -0
  352. package/dist/components/index.js.map +1 -0
  353. package/dist/context/MkApiContext.d.ts +15 -0
  354. package/dist/context/MkApiContext.d.ts.map +1 -0
  355. package/dist/context/MkApiContext.js +28 -0
  356. package/dist/context/MkApiContext.js.map +1 -0
  357. package/dist/context/MkAuthContext.d.ts +2 -1
  358. package/dist/context/MkAuthContext.d.ts.map +1 -1
  359. package/dist/context/MkConfirmContext.d.ts +2 -1
  360. package/dist/context/MkConfirmContext.d.ts.map +1 -1
  361. package/dist/context/MkToastContext.d.ts +2 -1
  362. package/dist/context/MkToastContext.d.ts.map +1 -1
  363. package/dist/hooks/useApi.d.ts +6 -5
  364. package/dist/hooks/useApi.d.ts.map +1 -1
  365. package/dist/hooks/useApi.test.d.ts +2 -0
  366. package/dist/hooks/useApi.test.js +184 -0
  367. package/dist/hooks/useApi.test.js.map +1 -0
  368. package/dist/hooks/useMkClickOutside.d.ts +8 -0
  369. package/dist/hooks/useMkClickOutside.d.ts.map +1 -0
  370. package/dist/hooks/useMkClickOutside.js +24 -0
  371. package/dist/hooks/useMkClickOutside.js.map +1 -0
  372. package/dist/hooks/useMkCrud.d.ts +39 -0
  373. package/dist/hooks/useMkCrud.test.d.ts +2 -0
  374. package/dist/hooks/useMkDebounce.d.ts +24 -0
  375. package/dist/hooks/useMkDebounce.d.ts.map +1 -0
  376. package/dist/hooks/useMkDebounce.js +36 -0
  377. package/dist/hooks/useMkDebounce.js.map +1 -0
  378. package/dist/hooks/useMkEffectDebug.d.ts +7 -0
  379. package/dist/hooks/useMkEffectDebug.d.ts.map +1 -0
  380. package/dist/hooks/useMkEffectDebug.js +26 -0
  381. package/dist/hooks/useMkEffectDebug.js.map +1 -0
  382. package/dist/hooks/useMkEvent.d.ts +31 -0
  383. package/dist/hooks/useMkEvent.d.ts.map +1 -0
  384. package/dist/hooks/useMkEvent.js +56 -0
  385. package/dist/hooks/useMkEvent.js.map +1 -0
  386. package/dist/hooks/useMkForm.d.ts +43 -0
  387. package/dist/hooks/useMkForm.test.d.ts +2 -0
  388. package/dist/hooks/useMkInViewPort.d.ts +14 -0
  389. package/dist/hooks/useMkInViewPort.d.ts.map +1 -0
  390. package/dist/hooks/useMkInViewPort.js +31 -0
  391. package/dist/hooks/useMkInViewPort.js.map +1 -0
  392. package/dist/hooks/useMkInfiniteList.d.ts +15 -0
  393. package/dist/hooks/useMkInfiniteList.js +47 -0
  394. package/dist/hooks/useMkInfiniteList.js.map +1 -0
  395. package/dist/hooks/useMkList.d.ts +7 -7
  396. package/dist/hooks/useMkList.js +53 -0
  397. package/dist/hooks/useMkList.js.map +1 -0
  398. package/dist/hooks/useMkLocalStorage.d.ts +6 -0
  399. package/dist/hooks/useMkLocalStorage.d.ts.map +1 -0
  400. package/dist/hooks/useMkLocalStorage.js +33 -0
  401. package/dist/hooks/useMkLocalStorage.js.map +1 -0
  402. package/dist/hooks/useMkLongPress.d.ts +37 -0
  403. package/dist/hooks/useMkLongPress.d.ts.map +1 -0
  404. package/dist/hooks/useMkLongPress.js +59 -0
  405. package/dist/hooks/useMkLongPress.js.map +1 -0
  406. package/dist/hooks/useMkMediaQuery.d.ts +14 -0
  407. package/dist/hooks/useMkMediaQuery.d.ts.map +1 -0
  408. package/dist/hooks/useMkMediaQuery.js +31 -0
  409. package/dist/hooks/useMkMediaQuery.js.map +1 -0
  410. package/dist/hooks/useMkPrevious.d.ts +7 -0
  411. package/dist/hooks/useMkPrevious.d.ts.map +1 -0
  412. package/dist/hooks/useMkPrevious.js +14 -0
  413. package/dist/hooks/useMkPrevious.js.map +1 -0
  414. package/dist/hooks/useMkScreenSize.d.ts +25 -0
  415. package/dist/hooks/useMkScreenSize.d.ts.map +1 -0
  416. package/dist/hooks/useMkScreenSize.js +42 -0
  417. package/dist/hooks/useMkScreenSize.js.map +1 -0
  418. package/dist/hooks/useMkStore.d.ts +22 -0
  419. package/dist/hooks/useMkStore.d.ts.map +1 -0
  420. package/dist/hooks/useMkStore.js +58 -0
  421. package/dist/hooks/useMkStore.js.map +1 -0
  422. package/dist/hooks/useMkToggle.d.ts +6 -0
  423. package/dist/hooks/useMkToggle.d.ts.map +1 -0
  424. package/dist/hooks/useMkToggle.js +13 -0
  425. package/dist/hooks/useMkToggle.js.map +1 -0
  426. package/dist/index.d.ts +33 -0
  427. package/dist/index.js +37 -0
  428. package/dist/index.js.map +1 -0
  429. package/dist/test-setup.d.ts +2 -0
  430. package/dist/test-setup.d.ts.map +1 -0
  431. package/dist/test-setup.js +31 -0
  432. package/dist/test-setup.js.map +1 -0
  433. package/dist/theme/MkThemeProvider.d.ts +20 -0
  434. package/dist/utils/images.d.ts +9 -0
  435. package/dist/utils/images.d.ts.map +1 -0
  436. package/dist/utils/images.js +50 -0
  437. package/dist/utils/images.js.map +1 -0
  438. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMkAuth.d.ts","sourceRoot":"","sources":["../../src/auth/useMkAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
@@ -0,0 +1,26 @@
1
+ import { useContext } from 'react';
2
+ import { MkAuthContext } from './MkAuthContext';
3
+ /**
4
+ * Hook to consume the value exposed by `<MkAuthProvider>`.
5
+ *
6
+ * Throws if used outside of a provider — this is intentional. We don't
7
+ * want auth code to silently no-op when the provider is missing, which
8
+ * is a real source of bugs (e.g. a deeply nested page that forgets to
9
+ * mount the auth context).
10
+ *
11
+ * The error message is deliberately short and includes the provider name
12
+ * so the dev can grep for it.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * const { user, isAuthenticated, hasAbility, login, logout } = useMkAuth();
17
+ * ```
18
+ */
19
+ export function useMkAuth() {
20
+ const ctx = useContext(MkAuthContext);
21
+ if (!ctx) {
22
+ throw new Error('MkAuthProvider missing');
23
+ }
24
+ return ctx;
25
+ }
26
+ //# sourceMappingURL=useMkAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMkAuth.js","sourceRoot":"","sources":["../../src/auth/useMkAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS;IACrB,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ /**
3
+ * @module FormField
4
+ * @description Form-level wrapper around MkInput that adds label, error state,
5
+ * helper text, and standard validation messages. Maps to a single input field
6
+ * used in forms (text, email, password, etc.).
7
+ */
8
+ export type FormFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
9
+ export interface FormFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> {
10
+ /** Form field semantic type — maps to the underlying <input type="..."> */
11
+ type?: FormFieldType;
12
+ /** Field label displayed above the input */
13
+ label?: string;
14
+ /** Error message (renders error state and replaces helper text) */
15
+ error?: string;
16
+ /** Helper text shown below the input when no error is present */
17
+ helperText?: string;
18
+ /** Mark the field as required (adds visual indicator to label) */
19
+ required?: boolean;
20
+ /** Placeholder text */
21
+ placeholder?: string;
22
+ /** Disable interaction */
23
+ disabled?: boolean;
24
+ onChange?: (value: string) => void;
25
+ }
26
+ export declare const FormField: React.FC<FormFieldProps>;
27
+ //# sourceMappingURL=FormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../src/components/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;GAKG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF,MAAM,WAAW,cACb,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9E,2EAA2E;IAC3E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyB9C,CAAC"}
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { MkInput } from './MkInput';
14
+ export const FormField = (_a) => {
15
+ var { type = 'text', label, error, helperText, required, placeholder, disabled, onChange } = _a, props = __rest(_a, ["type", "label", "error", "helperText", "required", "placeholder", "disabled", "onChange"]);
16
+ return (_jsx("div", { style: { display: 'flex', flexDirection: 'column', minWidth: 280 }, children: _jsx(MkInput, Object.assign({ type: type, label: label ? `${label}${required ? ' *' : ''}` : undefined, error: error, helperText: helperText, placeholder: placeholder, disabled: disabled, onChange: onChange }, props)) }));
17
+ };
18
+ //# sourceMappingURL=FormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../src/components/FormField.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAUnD,EAAE,EAAE;QAV+C,EAChD,IAAI,GAAG,MAAM,EACb,KAAK,EACL,KAAK,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,OAEX,EADM,KAAK,cATwC,2FAUnD,CADW;IAER,OAAO,CACH,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,YACnE,KAAC,OAAO,kBACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAC5D,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,IACd,KAAK,EACX,GACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { FormField } from './FormField';
3
+ declare const meta: Meta<typeof FormField>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof FormField>;
6
+ export declare const Text: Story;
7
+ export declare const Email: Story;
8
+ export declare const Password: Story;
9
+ export declare const WithError: Story;
10
+ export declare const Disabled: Story;
11
+ //# sourceMappingURL=FormField.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.stories.d.ts","sourceRoot":"","sources":["../../src/components/FormField.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAehC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,KAOlB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAOvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { FormField } from './FormField';
2
+ const meta = {
3
+ title: 'Forms/FormField',
4
+ component: FormField,
5
+ parameters: {
6
+ layout: 'centered',
7
+ },
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ type: {
11
+ control: { type: 'select' },
12
+ options: ['text', 'email', 'password', 'number', 'tel', 'url'],
13
+ },
14
+ disabled: { control: 'boolean' },
15
+ required: { control: 'boolean' },
16
+ },
17
+ };
18
+ export default meta;
19
+ export const Text = {
20
+ args: {
21
+ type: 'text',
22
+ label: 'Full Name',
23
+ placeholder: 'Enter your full name',
24
+ helperText: 'As it appears on your ID',
25
+ },
26
+ };
27
+ export const Email = {
28
+ args: {
29
+ type: 'email',
30
+ label: 'Email Address',
31
+ placeholder: 'you@example.com',
32
+ helperText: 'We will never share your email',
33
+ required: true,
34
+ },
35
+ };
36
+ export const Password = {
37
+ args: {
38
+ type: 'password',
39
+ label: 'Password',
40
+ placeholder: '••••••••',
41
+ helperText: 'Minimum 8 characters',
42
+ },
43
+ };
44
+ export const WithError = {
45
+ args: {
46
+ type: 'email',
47
+ label: 'Email Address',
48
+ value: 'not-an-email',
49
+ error: 'Please enter a valid email address',
50
+ },
51
+ };
52
+ export const Disabled = {
53
+ args: {
54
+ type: 'text',
55
+ label: 'Username',
56
+ value: 'locked-user',
57
+ disabled: true,
58
+ helperText: 'Contact admin to change',
59
+ },
60
+ };
61
+ //# sourceMappingURL=FormField.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.stories.js","sourceRoot":"","sources":["../../src/components/FormField.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAA2B;IACjC,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE;QACR,MAAM,EAAE,UAAU;KACrB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,IAAI,EAAE;YACF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;SACjE;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QAChC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KACnC;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,IAAI,GAAU;IACvB,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,sBAAsB;QACnC,UAAU,EAAE,0BAA0B;KACzC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IACxB,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,gCAAgC;QAC5C,QAAQ,EAAE,IAAI;KACjB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE;QACF,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,sBAAsB;KACrC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC5B,IAAI,EAAE;QACF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,oCAAoC;KAC9C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,yBAAyB;KACxC;CACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ /**
3
+ * @module MkAccordion
4
+ * @description Collapsible accordion sections. Supports single or multiple open items.
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * <MkAccordion
9
+ * items={[
10
+ * { key: 'faq1', title: '¿Cómo funciona?', content: <p>Explicación aquí...</p> },
11
+ * { key: 'faq2', title: 'Precios', content: <p>Gratis para siempre</p> },
12
+ * ]}
13
+ * multiple
14
+ * />
15
+ * ```
16
+ */
17
+ export interface MkAccordionItem {
18
+ key: string;
19
+ title: string | React.ReactNode;
20
+ content: React.ReactNode;
21
+ disabled?: boolean;
22
+ }
23
+ export interface MkAccordionProps {
24
+ items: MkAccordionItem[];
25
+ /** Allow multiple items open at once. Default false. */
26
+ multiple?: boolean;
27
+ /** Initially expanded keys. */
28
+ defaultExpanded?: string[];
29
+ /** Controlled expanded keys. */
30
+ expanded?: string[];
31
+ onChange?: (expandedKeys: string[]) => void;
32
+ variant?: 'default' | 'bordered' | 'separated';
33
+ className?: string;
34
+ }
35
+ export declare const MkAccordion: React.FC<MkAccordionProps>;
36
+ //# sourceMappingURL=MkAccordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.d.ts","sourceRoot":"","sources":["../../src/components/MkAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqDlD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback } from 'react';
3
+ import styles from './MkAccordion.module.css';
4
+ export const MkAccordion = ({ items = [], multiple = false, defaultExpanded = [], expanded: controlledExpanded, onChange, variant = 'default', className, }) => {
5
+ const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
6
+ const expandedKeys = controlledExpanded !== null && controlledExpanded !== void 0 ? controlledExpanded : internalExpanded;
7
+ const toggleItem = useCallback((key) => {
8
+ let next;
9
+ if (expandedKeys.includes(key)) {
10
+ next = expandedKeys.filter((k) => k !== key);
11
+ }
12
+ else {
13
+ next = multiple ? [...expandedKeys, key] : [key];
14
+ }
15
+ setInternalExpanded(next);
16
+ onChange === null || onChange === void 0 ? void 0 : onChange(next);
17
+ }, [expandedKeys, multiple, onChange]);
18
+ return (_jsx("div", { className: `${styles.accordion} ${styles[variant]} ${className || ''}`, children: items.map((item) => {
19
+ const isOpen = expandedKeys.includes(item.key);
20
+ return (_jsxs("div", { className: `${styles.item} ${isOpen ? styles.open : ''}`, children: [_jsxs("button", { className: styles.header, onClick: () => !item.disabled && toggleItem(item.key), disabled: item.disabled, "aria-expanded": isOpen, children: [_jsx("span", { className: styles.title, children: item.title }), _jsx("span", { className: `${styles.chevron} ${isOpen ? styles.chevronOpen : ''}`, children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: _jsx("polyline", { points: "4 6 8 10 12 6" }) }) })] }), _jsx("div", { className: `${styles.body} ${isOpen ? styles.bodyOpen : ''}`, children: _jsx("div", { className: styles.content, children: item.content }) })] }, item.key));
21
+ }) }));
22
+ };
23
+ //# sourceMappingURL=MkAccordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.js","sourceRoot":"","sources":["../../src/components/MkAccordion.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAsC9C,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACpD,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,KAAK,EAChB,eAAe,GAAG,EAAE,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,SAAS,GACZ,EAAE,EAAE;IACD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAW,eAAe,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,gBAAgB,CAAC;IAE5D,MAAM,UAAU,GAAG,WAAW,CAC1B,CAAC,GAAW,EAAE,EAAE;QACZ,IAAI,IAAc,CAAC;QACnB,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACrC,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,EAAE,EAAE,YACtE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,CACH,eAAoB,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,aACxE,kBACI,SAAS,EAAE,MAAM,CAAC,MAAM,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,mBACR,MAAM,aAErB,eAAM,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,IAAI,CAAC,KAAK,GAAQ,EAClD,eAAM,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,YACpE,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,YACnH,mBAAU,MAAM,EAAC,eAAe,GAAG,GACjC,GACH,IACF,EACT,cAAK,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,YAC7D,cAAK,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,IAAI,CAAC,OAAO,GAAO,GAClD,KAhBA,IAAI,CAAC,GAAG,CAiBZ,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { MkAccordion } from './MkAccordion';
3
+ declare const meta: Meta<typeof MkAccordion>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof MkAccordion>;
6
+ export declare const Default: Story;
7
+ export declare const Multiple: Story;
8
+ export declare const WithDefaultExpanded: Story;
9
+ export declare const Bordered: Story;
10
+ export declare const Separated: Story;
11
+ export declare const WithDisabledItem: Story;
12
+ export declare const RichContent: Story;
13
+ //# sourceMappingURL=MkAccordion.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.stories.d.ts","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CASlC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAyB1C,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAEjC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAyBzB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MkAccordion } from './MkAccordion';
3
+ const meta = {
4
+ title: 'Components/MkAccordion',
5
+ component: MkAccordion,
6
+ parameters: { layout: 'padded' },
7
+ tags: ['autodocs'],
8
+ argTypes: {
9
+ multiple: { control: 'boolean' },
10
+ variant: { control: { type: 'select' }, options: ['default', 'bordered', 'separated'] },
11
+ },
12
+ };
13
+ export default meta;
14
+ const FAQ_ITEMS = [
15
+ {
16
+ key: 'what',
17
+ title: '¿Qué es mk-director?',
18
+ content: _jsx("p", { children: "Es un framework full-stack para construir aplicaciones modulares con React y Laravel." }),
19
+ },
20
+ {
21
+ key: 'how',
22
+ title: '¿Cómo funciona?',
23
+ content: _jsx("p", { children: "Cada m\u00F3dulo expone una API p\u00FAblica (Api/*). La comunicaci\u00F3n inter-m\u00F3dulo pasa solo por ah\u00ED." }),
24
+ },
25
+ {
26
+ key: 'price',
27
+ title: '¿Cuánto cuesta?',
28
+ content: _jsx("p", { children: "Es open source bajo licencia MIT. Gratis para siempre." }),
29
+ },
30
+ {
31
+ key: 'support',
32
+ title: '¿Tienen soporte?',
33
+ content: _jsx("p", { children: "Soporte comunitario en GitHub Discussions. Para soporte empresarial, contactanos." }),
34
+ },
35
+ ];
36
+ export const Default = {
37
+ args: { items: FAQ_ITEMS },
38
+ };
39
+ export const Multiple = {
40
+ args: { items: FAQ_ITEMS, multiple: true },
41
+ };
42
+ export const WithDefaultExpanded = {
43
+ args: { items: FAQ_ITEMS, defaultExpanded: ['how', 'price'] },
44
+ };
45
+ export const Bordered = {
46
+ args: { items: FAQ_ITEMS, variant: 'bordered' },
47
+ };
48
+ export const Separated = {
49
+ args: { items: FAQ_ITEMS, variant: 'separated', multiple: true },
50
+ };
51
+ export const WithDisabledItem = {
52
+ args: {
53
+ items: [
54
+ { key: 'a', title: 'Active item', content: _jsx("p", { children: "This one is clickable." }) },
55
+ { key: 'b', title: 'Disabled item', content: _jsx("p", { children: "This one is locked." }), disabled: true },
56
+ { key: 'c', title: 'Another active item', content: _jsx("p", { children: "Clickable too." }) },
57
+ ],
58
+ },
59
+ };
60
+ export const RichContent = {
61
+ args: {
62
+ items: [
63
+ {
64
+ key: 'features',
65
+ title: 'Features',
66
+ content: (_jsxs("ul", { children: [_jsx("li", { children: "Multi-tenant opt-in" }), _jsx("li", { children: "Storybook stories" }), _jsx("li", { children: "Module boundaries" })] })),
67
+ },
68
+ {
69
+ key: 'code',
70
+ title: 'Example code',
71
+ content: (_jsx("pre", { style: { background: '#f3f4f6', padding: 12, borderRadius: 4 }, children: _jsx("code", { children: `const greeting = 'Hello, mk-director!';` }) })),
72
+ },
73
+ ],
74
+ },
75
+ };
76
+ //# sourceMappingURL=MkAccordion.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.stories.js","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,IAAI,GAA6B;IACnC,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QAChC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE;KAC1F;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,SAAS,GAAG;IACd;QACI,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,gHAA4F;KACxG;IACD;QACI,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,+IAAkG;KAC9G;IACD;QACI,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,iFAA6D;KACzE;IACD;QACI,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,4GAAwF;KACpG;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAU;IACtC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAU;IACnC,IAAI,EAAE;QACF,KAAK,EAAE;YACH,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iDAA6B,EAAE;YAC1E,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,8CAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzF,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,yCAAqB,EAAE;SAC7E;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,IAAI,EAAE;QACF,KAAK,EAAE;YACH;gBACI,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,CACL,yBACI,+CAA4B,EAC5B,6CAA0B,EAC1B,6CAA0B,IACzB,CACR;aACJ;YACD;gBACI,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,CACL,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAC/D,yBAAO,yCAAyC,GAAQ,GACtD,CACT;aACJ;SACJ;KACJ;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MkAccordion.stories.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Smoke snapshot for MkAccordion — required by R-MK-002.
4
+ */
5
+ import { describe, it, expect, afterEach } from 'vitest';
6
+ import { render, cleanup } from '@testing-library/react';
7
+ import { MkAccordion } from './MkAccordion';
8
+ describe('MkAccordion story smoke', () => {
9
+ afterEach(cleanup);
10
+ it('renders with items', () => {
11
+ const { container } = render(_jsx(MkAccordion, { items: [
12
+ { key: 'a', title: 'First', content: _jsx("p", { children: "First content" }) },
13
+ { key: 'b', title: 'Second', content: _jsx("p", { children: "Second content" }) },
14
+ ] }));
15
+ expect(container.firstChild).toMatchSnapshot();
16
+ });
17
+ });
18
+ //# sourceMappingURL=MkAccordion.stories.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAccordion.stories.test.js","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.test.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,KAAC,WAAW,IACR,KAAK,EAAE;gBACH,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAoB,EAAE;gBAC3D,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,yCAAqB,EAAE;aAChE,GACH,CACL,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ /**
3
+ * @module MkAlert
4
+ * @description Inline alert banner for validation messages, warnings, and info.
5
+ * Not a toast — renders inline in the document flow.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <MkAlert variant="warning" title="Atención">
10
+ * Esta acción no se puede deshacer.
11
+ * </MkAlert>
12
+ * ```
13
+ */
14
+ export interface MkAlertProps {
15
+ variant?: 'info' | 'success' | 'warning' | 'error' | 'default';
16
+ title?: string;
17
+ children?: React.ReactNode;
18
+ icon?: React.ReactNode;
19
+ dismissible?: boolean;
20
+ onDismiss?: () => void;
21
+ action?: React.ReactNode;
22
+ className?: string;
23
+ }
24
+ export declare const MkAlert: React.FC<MkAlertProps>;
25
+ //# sourceMappingURL=MkAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.d.ts","sourceRoot":"","sources":["../../src/components/MkAlert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAgC1C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import styles from './MkAlert.module.css';
4
+ const DEFAULT_ICONS = {
5
+ info: 'ℹ️',
6
+ success: '✅',
7
+ warning: '⚠️',
8
+ error: '❌',
9
+ default: '🔔',
10
+ };
11
+ export const MkAlert = ({ variant = 'default', title, children, icon, dismissible = false, onDismiss, action, className, }) => {
12
+ const [dismissed, setDismissed] = React.useState(false);
13
+ const handleDismiss = () => {
14
+ setDismissed(true);
15
+ onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
16
+ };
17
+ if (dismissed)
18
+ return null;
19
+ return (_jsxs("div", { className: `${styles.alert} ${styles[variant]} ${className || ''}`, role: "alert", children: [_jsx("span", { className: styles.icon, children: icon || DEFAULT_ICONS[variant] }), _jsxs("div", { className: styles.body, children: [title && _jsx("strong", { className: styles.title, children: title }), children && _jsx("p", { className: styles.content, children: children }), action && _jsx("div", { className: styles.action, children: action })] }), dismissible && (_jsx("button", { className: styles.dismiss, onClick: handleDismiss, "aria-label": "Cerrar", children: "\u2715" }))] }));
20
+ };
21
+ //# sourceMappingURL=MkAlert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.js","sourceRoot":"","sources":["../../src/components/MkAlert.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,sBAAsB,CAAC;AA0B1C,MAAM,aAAa,GAA2B;IAC1C,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC5C,OAAO,GAAG,SAAS,EACnB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,KAAK,EACnB,SAAS,EACT,MAAM,EACN,SAAS,GACZ,EAAE,EAAE;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,CAAC;IAClB,CAAC,CAAC;IAEF,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,OAAO,aACjF,eAAM,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,GAAQ,EACrE,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACtB,KAAK,IAAI,iBAAQ,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAU,EAC1D,QAAQ,IAAI,YAAG,SAAS,EAAE,MAAM,CAAC,OAAO,YAAG,QAAQ,GAAK,EACxD,MAAM,IAAI,cAAK,SAAS,EAAE,MAAM,CAAC,MAAM,YAAG,MAAM,GAAO,IACtD,EACL,WAAW,IAAI,CACZ,iBAAQ,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,gBAAa,QAAQ,uBAAW,CAC5F,IACC,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { MkAlert } from './MkAlert';
3
+ declare const meta: Meta<typeof MkAlert>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof MkAlert>;
6
+ export declare const Info: Story;
7
+ export declare const Success: Story;
8
+ export declare const Warning: Story;
9
+ export declare const Error: Story;
10
+ export declare const DefaultVariant: Story;
11
+ export declare const Dismissible: Story;
12
+ export declare const WithAction: Story;
13
+ //# sourceMappingURL=MkAlert.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.stories.d.ts","sourceRoot":"","sources":["../../src/components/MkAlert.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAe9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAI5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAmBxB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { MkAlert } from './MkAlert';
3
+ const meta = {
4
+ title: 'Components/MkAlert',
5
+ component: MkAlert,
6
+ parameters: {
7
+ layout: 'padded',
8
+ },
9
+ tags: ['autodocs'],
10
+ argTypes: {
11
+ variant: {
12
+ control: { type: 'select' },
13
+ options: ['default', 'info', 'success', 'warning', 'error'],
14
+ },
15
+ title: { control: 'text' },
16
+ dismissible: { control: 'boolean' },
17
+ },
18
+ };
19
+ export default meta;
20
+ export const Info = {
21
+ args: {
22
+ variant: 'info',
23
+ title: 'Heads up',
24
+ children: 'There is a new version of the app available.',
25
+ },
26
+ };
27
+ export const Success = {
28
+ args: {
29
+ variant: 'success',
30
+ title: 'Saved',
31
+ children: 'Your changes have been saved successfully.',
32
+ },
33
+ };
34
+ export const Warning = {
35
+ args: {
36
+ variant: 'warning',
37
+ title: 'Atención',
38
+ children: 'Esta acción no se puede deshacer.',
39
+ },
40
+ };
41
+ export const Error = {
42
+ args: {
43
+ variant: 'error',
44
+ title: 'Error',
45
+ children: 'No se pudo conectar al servidor. Intenta de nuevo.',
46
+ },
47
+ };
48
+ export const DefaultVariant = {
49
+ args: {
50
+ children: 'A simple inline message with no title or icon.',
51
+ },
52
+ };
53
+ export const Dismissible = {
54
+ args: {
55
+ variant: 'info',
56
+ title: 'Dismissible',
57
+ children: 'Click the X to close this alert.',
58
+ dismissible: true,
59
+ },
60
+ };
61
+ export const WithAction = {
62
+ args: {
63
+ variant: 'warning',
64
+ title: 'Update required',
65
+ children: 'Your trial ends in 3 days.',
66
+ action: (_jsx("button", { style: {
67
+ background: 'transparent',
68
+ border: '1px solid currentColor',
69
+ padding: '4px 12px',
70
+ borderRadius: 4,
71
+ cursor: 'pointer',
72
+ }, children: "Upgrade now" })),
73
+ },
74
+ };
75
+ //# sourceMappingURL=MkAlert.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.stories.js","sourceRoot":"","sources":["../../src/components/MkAlert.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAyB;IAC/B,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACR,MAAM,EAAE,QAAQ;KACnB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,OAAO,EAAE;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;SAC9D;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC1B,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KACtC;CACJ,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,IAAI,GAAU;IACvB,IAAI,EAAE;QACF,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,8CAA8C;KAC3D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,IAAI,EAAE;QACF,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,4CAA4C;KACzD;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,IAAI,EAAE;QACF,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,mCAAmC;KAChD;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAU;IACxB,IAAI,EAAE;QACF,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,oDAAoD;KACjE;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAU;IACjC,IAAI,EAAE;QACF,QAAQ,EAAE,gDAAgD;KAC7D;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IAC9B,IAAI,EAAE;QACF,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,kCAAkC;QAC5C,WAAW,EAAE,IAAI;KACpB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAU;IAC7B,IAAI,EAAE;QACF,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,iBAAiB;QACxB,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,CACJ,iBACI,KAAK,EAAE;gBACH,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,wBAAwB;gBAChC,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,SAAS;aACpB,4BAGI,CACZ;KACJ;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MkAlert.stories.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkAlert.stories.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Smoke snapshot for MkAlert — generates `__snapshots__/MkAlert.stories.snap`.
4
+ * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
+ */
6
+ import { describe, it, expect, afterEach } from 'vitest';
7
+ import { render, cleanup } from '@testing-library/react';
8
+ import { MkAlert } from './MkAlert';
9
+ describe('MkAlert story smoke', () => {
10
+ afterEach(cleanup);
11
+ it('renders warning variant', () => {
12
+ const { container } = render(_jsx(MkAlert, { variant: "warning", title: "Atenci\u00F3n", children: "Esta acci\u00F3n no se puede deshacer." }));
13
+ expect(container.firstChild).toMatchSnapshot();
14
+ });
15
+ });
16
+ //# sourceMappingURL=MkAlert.stories.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAlert.stories.test.js","sourceRoot":"","sources":["../../src/components/MkAlert.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,KAAC,OAAO,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,eAAU,uDAEjC,CACb,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ /**
3
+ * @module MkAvatar
4
+ * @description Avatar with image, initials fallback, and status indicator.
5
+ * Same prop API as mk-mobile MkAvatar.
6
+ */
7
+ export interface MkAvatarProps {
8
+ src?: string | null;
9
+ name?: string;
10
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
11
+ status?: 'online' | 'offline' | 'away' | 'busy' | null;
12
+ className?: string;
13
+ onClick?: () => void;
14
+ }
15
+ export declare const MkAvatar: React.FC<MkAvatarProps>;
16
+ //# sourceMappingURL=MkAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAvatar.d.ts","sourceRoot":"","sources":["../../src/components/MkAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAOD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiC5C,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import styles from './MkAvatar.module.css';
4
+ const SIZES = { xs: 24, sm: 32, md: 40, lg: 56, xl: 80 };
5
+ // Darker colors for better contrast with --mk-foreground text
6
+ const COLORS = ['#4f46e5', '#be185d', '#c2410c', '#0d9488', '#7c3aed', '#0891b2', '#dc2626', '#65a30d'];
7
+ export const MkAvatar = ({ src, name = '', size = 'md', status, className, onClick }) => {
8
+ const initials = useMemo(() => {
9
+ var _a, _b, _c, _d;
10
+ const parts = name.trim().split(/\s+/);
11
+ return (((_b = (_a = parts[0]) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : '') + ((_d = (_c = parts[1]) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : '')).toUpperCase();
12
+ }, [name]);
13
+ const bgColor = useMemo(() => {
14
+ let hash = 0;
15
+ for (let i = 0; i < name.length; i++)
16
+ hash = name.charCodeAt(i) + ((hash << 5) - hash);
17
+ return COLORS[Math.abs(hash) % COLORS.length];
18
+ }, [name]);
19
+ const px = SIZES[size];
20
+ const fontSize = px * 0.4;
21
+ return (_jsxs("div", { className: `${styles.avatar} ${className || ''}`, style: { width: px, height: px, fontSize, cursor: onClick ? 'pointer' : undefined }, onClick: onClick, role: onClick ? 'button' : undefined, tabIndex: onClick ? 0 : undefined, children: [src ? (_jsx("img", { src: src, alt: name, className: styles.image, loading: "lazy" })) : (_jsx("div", { className: styles.initials, style: { backgroundColor: bgColor }, children: initials })), status && _jsx("span", { className: `${styles.status} ${styles[status]}` })] }));
22
+ };
23
+ //# sourceMappingURL=MkAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MkAvatar.js","sourceRoot":"","sources":["../../src/components/MkAvatar.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAiB3C,MAAM,KAAK,GAA2B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAEjF,8DAA8D;AAC9D,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAExG,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7G,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAC;IAE1B,OAAO,CACH,eACI,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,IAAI,EAAE,EAAE,EAChD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EACnF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACpC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,aAEhC,GAAG,CAAC,CAAC,CAAC,CACH,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAC,MAAM,GAAG,CACvE,CAAC,CAAC,CAAC,CACA,cAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,YAC/D,QAAQ,GACP,CACT,EACA,MAAM,IAAI,eAAM,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,GAAI,IAClE,CACT,CAAC;AACN,CAAC,CAAC"}