@makroz/web 1.2.0 → 1.2.2

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 (467) 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.module.css +79 -0
  34. package/dist/components/MkAccordion.stories.d.ts +13 -0
  35. package/dist/components/MkAccordion.stories.d.ts.map +1 -0
  36. package/dist/components/MkAccordion.stories.js +76 -0
  37. package/dist/components/MkAccordion.stories.js.map +1 -0
  38. package/dist/components/MkAccordion.stories.test.d.ts +2 -0
  39. package/dist/components/MkAccordion.stories.test.d.ts.map +1 -0
  40. package/dist/components/MkAccordion.stories.test.js +18 -0
  41. package/dist/components/MkAccordion.stories.test.js.map +1 -0
  42. package/dist/components/MkAlert.d.ts +25 -0
  43. package/dist/components/MkAlert.d.ts.map +1 -0
  44. package/dist/components/MkAlert.js +21 -0
  45. package/dist/components/MkAlert.js.map +1 -0
  46. package/dist/components/MkAlert.module.css +103 -0
  47. package/dist/components/MkAlert.stories.d.ts +13 -0
  48. package/dist/components/MkAlert.stories.d.ts.map +1 -0
  49. package/dist/components/MkAlert.stories.js +75 -0
  50. package/dist/components/MkAlert.stories.js.map +1 -0
  51. package/dist/components/MkAlert.stories.test.d.ts +2 -0
  52. package/dist/components/MkAlert.stories.test.d.ts.map +1 -0
  53. package/dist/components/MkAlert.stories.test.js +16 -0
  54. package/dist/components/MkAlert.stories.test.js.map +1 -0
  55. package/dist/components/MkAvatar.d.ts +16 -0
  56. package/dist/components/MkAvatar.d.ts.map +1 -0
  57. package/dist/components/MkAvatar.js +23 -0
  58. package/dist/components/MkAvatar.js.map +1 -0
  59. package/dist/components/MkAvatar.module.css +62 -0
  60. package/dist/components/MkAvatar.stories.d.ts +14 -0
  61. package/dist/components/MkAvatar.stories.d.ts.map +1 -0
  62. package/dist/components/MkAvatar.stories.js +67 -0
  63. package/dist/components/MkAvatar.stories.js.map +1 -0
  64. package/dist/components/MkAvatar.stories.test.d.ts +2 -0
  65. package/dist/components/MkAvatar.stories.test.d.ts.map +1 -0
  66. package/dist/components/MkAvatar.stories.test.js +16 -0
  67. package/dist/components/MkAvatar.stories.test.js.map +1 -0
  68. package/dist/components/MkBadge.d.ts +15 -0
  69. package/dist/components/MkBadge.d.ts.map +1 -0
  70. package/dist/components/MkBadge.js +7 -0
  71. package/dist/components/MkBadge.js.map +1 -0
  72. package/dist/components/MkBadge.module.css +74 -0
  73. package/dist/components/MkBadge.stories.d.ts +15 -0
  74. package/dist/components/MkBadge.stories.d.ts.map +1 -0
  75. package/dist/components/MkBadge.stories.js +78 -0
  76. package/dist/components/MkBadge.stories.js.map +1 -0
  77. package/dist/components/MkBadge.stories.test.d.ts +2 -0
  78. package/dist/components/MkBadge.stories.test.d.ts.map +1 -0
  79. package/dist/components/MkBadge.stories.test.js +16 -0
  80. package/dist/components/MkBadge.stories.test.js.map +1 -0
  81. package/dist/components/MkButton.d.ts +11 -0
  82. package/dist/components/MkButton.module.css +85 -0
  83. package/dist/components/MkButton.stories.d.ts +12 -0
  84. package/dist/components/MkButton.stories.d.ts.map +1 -0
  85. package/dist/components/MkButton.stories.js +57 -0
  86. package/dist/components/MkButton.stories.js.map +1 -0
  87. package/dist/components/MkButton.test.d.ts +2 -0
  88. package/dist/components/MkButton.test.d.ts.map +1 -0
  89. package/dist/components/MkButton.test.js +56 -0
  90. package/dist/components/MkButton.test.js.map +1 -0
  91. package/dist/components/MkCard.d.ts +18 -0
  92. package/dist/components/MkCard.d.ts.map +1 -0
  93. package/dist/components/MkCard.js +6 -0
  94. package/dist/components/MkCard.js.map +1 -0
  95. package/dist/components/MkCard.module.css +63 -0
  96. package/dist/components/MkCard.stories.d.ts +11 -0
  97. package/dist/components/MkCard.stories.d.ts.map +1 -0
  98. package/dist/components/MkCard.stories.js +57 -0
  99. package/dist/components/MkCard.stories.js.map +1 -0
  100. package/dist/components/MkCheck.d.ts +32 -0
  101. package/dist/components/MkCheck.d.ts.map +1 -0
  102. package/dist/components/MkCheck.js +12 -0
  103. package/dist/components/MkCheck.js.map +1 -0
  104. package/dist/components/MkCheck.module.css +87 -0
  105. package/dist/components/MkCheck.stories.d.ts +13 -0
  106. package/dist/components/MkCheck.stories.d.ts.map +1 -0
  107. package/dist/components/MkCheck.stories.js +63 -0
  108. package/dist/components/MkCheck.stories.js.map +1 -0
  109. package/dist/components/MkCheck.stories.test.d.ts +2 -0
  110. package/dist/components/MkCheck.stories.test.d.ts.map +1 -0
  111. package/dist/components/MkCheck.stories.test.js +16 -0
  112. package/dist/components/MkCheck.stories.test.js.map +1 -0
  113. package/dist/components/MkDatePicker.d.ts +29 -0
  114. package/dist/components/MkDatePicker.d.ts.map +1 -0
  115. package/dist/components/MkDatePicker.js +10 -0
  116. package/dist/components/MkDatePicker.js.map +1 -0
  117. package/dist/components/MkDatePicker.module.css +77 -0
  118. package/dist/components/MkDatePicker.stories.d.ts +11 -0
  119. package/dist/components/MkDatePicker.stories.d.ts.map +1 -0
  120. package/dist/components/MkDatePicker.stories.js +47 -0
  121. package/dist/components/MkDatePicker.stories.js.map +1 -0
  122. package/dist/components/MkDatePicker.stories.test.d.ts +2 -0
  123. package/dist/components/MkDatePicker.stories.test.d.ts.map +1 -0
  124. package/dist/components/MkDatePicker.stories.test.js +16 -0
  125. package/dist/components/MkDatePicker.stories.test.js.map +1 -0
  126. package/dist/components/MkDivider.d.ts +14 -0
  127. package/dist/components/MkDivider.d.ts.map +1 -0
  128. package/dist/components/MkDivider.js +12 -0
  129. package/dist/components/MkDivider.js.map +1 -0
  130. package/dist/components/MkDivider.module.css +39 -0
  131. package/dist/components/MkDivider.stories.d.ts +12 -0
  132. package/dist/components/MkDivider.stories.d.ts.map +1 -0
  133. package/dist/components/MkDivider.stories.js +33 -0
  134. package/dist/components/MkDivider.stories.js.map +1 -0
  135. package/dist/components/MkDivider.stories.test.d.ts +2 -0
  136. package/dist/components/MkDivider.stories.test.d.ts.map +1 -0
  137. package/dist/components/MkDivider.stories.test.js +15 -0
  138. package/dist/components/MkDivider.stories.test.js.map +1 -0
  139. package/dist/components/MkDropDown.d.ts +22 -0
  140. package/dist/components/MkDropDown.d.ts.map +1 -0
  141. package/dist/components/MkDropDown.js +24 -0
  142. package/dist/components/MkDropDown.js.map +1 -0
  143. package/dist/components/MkDropDown.module.css +108 -0
  144. package/dist/components/MkDropDown.stories.d.ts +12 -0
  145. package/dist/components/MkDropDown.stories.d.ts.map +1 -0
  146. package/dist/components/MkDropDown.stories.js +76 -0
  147. package/dist/components/MkDropDown.stories.js.map +1 -0
  148. package/dist/components/MkDropDown.stories.test.d.ts +2 -0
  149. package/dist/components/MkDropDown.stories.test.d.ts.map +1 -0
  150. package/dist/components/MkDropDown.stories.test.js +18 -0
  151. package/dist/components/MkDropDown.stories.test.js.map +1 -0
  152. package/dist/components/MkEmptyState.d.ts +14 -0
  153. package/dist/components/MkEmptyState.d.ts.map +1 -0
  154. package/dist/components/MkEmptyState.js +6 -0
  155. package/dist/components/MkEmptyState.js.map +1 -0
  156. package/dist/components/MkEmptyState.module.css +35 -0
  157. package/dist/components/MkEmptyState.stories.d.ts +12 -0
  158. package/dist/components/MkEmptyState.stories.d.ts.map +1 -0
  159. package/dist/components/MkEmptyState.stories.js +44 -0
  160. package/dist/components/MkEmptyState.stories.js.map +1 -0
  161. package/dist/components/MkEmptyState.stories.test.d.ts +2 -0
  162. package/dist/components/MkEmptyState.stories.test.d.ts.map +1 -0
  163. package/dist/components/MkEmptyState.stories.test.js +15 -0
  164. package/dist/components/MkEmptyState.stories.test.js.map +1 -0
  165. package/dist/components/MkFileUpload.d.ts +36 -0
  166. package/dist/components/MkFileUpload.d.ts.map +1 -0
  167. package/dist/components/MkFileUpload.js +50 -0
  168. package/dist/components/MkFileUpload.js.map +1 -0
  169. package/dist/components/MkFileUpload.module.css +74 -0
  170. package/dist/components/MkFileUpload.stories.d.ts +12 -0
  171. package/dist/components/MkFileUpload.stories.d.ts.map +1 -0
  172. package/dist/components/MkFileUpload.stories.js +53 -0
  173. package/dist/components/MkFileUpload.stories.js.map +1 -0
  174. package/dist/components/MkFileUpload.stories.test.d.ts +2 -0
  175. package/dist/components/MkFileUpload.stories.test.d.ts.map +1 -0
  176. package/dist/components/MkFileUpload.stories.test.js +15 -0
  177. package/dist/components/MkFileUpload.stories.test.js.map +1 -0
  178. package/dist/components/MkIcons.d.ts +14 -0
  179. package/dist/components/MkIcons.d.ts.map +1 -0
  180. package/dist/components/MkIcons.js +36 -0
  181. package/dist/components/MkIcons.js.map +1 -0
  182. package/dist/components/MkInfiniteList.d.ts +15 -0
  183. package/dist/components/MkInfiniteList.d.ts.map +1 -0
  184. package/dist/components/MkInfiniteList.js +29 -0
  185. package/dist/components/MkInfiniteList.js.map +1 -0
  186. package/dist/components/MkInfiniteList.module.css +69 -0
  187. package/dist/components/MkInfiniteList.stories.d.ts +17 -0
  188. package/dist/components/MkInfiniteList.stories.d.ts.map +1 -0
  189. package/dist/components/MkInfiniteList.stories.js +90 -0
  190. package/dist/components/MkInfiniteList.stories.js.map +1 -0
  191. package/dist/components/MkInfiniteList.stories.test.d.ts +2 -0
  192. package/dist/components/MkInfiniteList.stories.test.d.ts.map +1 -0
  193. package/dist/components/MkInfiniteList.stories.test.js +24 -0
  194. package/dist/components/MkInfiniteList.stories.test.js.map +1 -0
  195. package/dist/components/MkInput.d.ts +13 -0
  196. package/dist/components/MkInput.d.ts.map +1 -0
  197. package/dist/components/MkInput.js +21 -0
  198. package/dist/components/MkInput.js.map +1 -0
  199. package/dist/components/MkInput.module.css +94 -0
  200. package/dist/components/MkInput.stories.d.ts +13 -0
  201. package/dist/components/MkInput.stories.d.ts.map +1 -0
  202. package/dist/components/MkInput.stories.js +75 -0
  203. package/dist/components/MkInput.stories.js.map +1 -0
  204. package/dist/components/MkInput.stories.test.d.ts +2 -0
  205. package/dist/components/MkInput.stories.test.d.ts.map +1 -0
  206. package/dist/components/MkInput.stories.test.js +16 -0
  207. package/dist/components/MkInput.stories.test.js.map +1 -0
  208. package/dist/components/MkLoading.d.ts +20 -0
  209. package/dist/components/MkLoading.d.ts.map +1 -0
  210. package/dist/components/MkLoading.js +14 -0
  211. package/dist/components/MkLoading.js.map +1 -0
  212. package/dist/components/MkLoading.module.css +39 -0
  213. package/dist/components/MkLoading.stories.d.ts +13 -0
  214. package/dist/components/MkLoading.stories.d.ts.map +1 -0
  215. package/dist/components/MkLoading.stories.js +35 -0
  216. package/dist/components/MkLoading.stories.js.map +1 -0
  217. package/dist/components/MkLoading.stories.test.d.ts +2 -0
  218. package/dist/components/MkLoading.stories.test.d.ts.map +1 -0
  219. package/dist/components/MkLoading.stories.test.js +15 -0
  220. package/dist/components/MkLoading.stories.test.js.map +1 -0
  221. package/dist/components/MkModal.d.ts +20 -0
  222. package/dist/components/MkModal.d.ts.map +1 -0
  223. package/dist/components/MkModal.js +31 -0
  224. package/dist/components/MkModal.js.map +1 -0
  225. package/dist/components/MkModal.module.css +107 -0
  226. package/dist/components/MkModal.stories.d.ts +13 -0
  227. package/dist/components/MkModal.stories.d.ts.map +1 -0
  228. package/dist/components/MkModal.stories.js +73 -0
  229. package/dist/components/MkModal.stories.js.map +1 -0
  230. package/dist/components/MkProgressBar.d.ts +17 -0
  231. package/dist/components/MkProgressBar.d.ts.map +1 -0
  232. package/dist/components/MkProgressBar.js +7 -0
  233. package/dist/components/MkProgressBar.js.map +1 -0
  234. package/dist/components/MkProgressBar.module.css +48 -0
  235. package/dist/components/MkProgressBar.stories.d.ts +13 -0
  236. package/dist/components/MkProgressBar.stories.d.ts.map +1 -0
  237. package/dist/components/MkProgressBar.stories.js +39 -0
  238. package/dist/components/MkProgressBar.stories.js.map +1 -0
  239. package/dist/components/MkProgressBar.stories.test.d.ts +2 -0
  240. package/dist/components/MkProgressBar.stories.test.d.ts.map +1 -0
  241. package/dist/components/MkProgressBar.stories.test.js +15 -0
  242. package/dist/components/MkProgressBar.stories.test.js.map +1 -0
  243. package/dist/components/MkRadio.d.ts +34 -0
  244. package/dist/components/MkRadio.d.ts.map +1 -0
  245. package/dist/components/MkRadio.js +19 -0
  246. package/dist/components/MkRadio.js.map +1 -0
  247. package/dist/components/MkRadio.module.css +74 -0
  248. package/dist/components/MkRadio.stories.d.ts +13 -0
  249. package/dist/components/MkRadio.stories.d.ts.map +1 -0
  250. package/dist/components/MkRadio.stories.js +55 -0
  251. package/dist/components/MkRadio.stories.js.map +1 -0
  252. package/dist/components/MkRadio.stories.test.d.ts +2 -0
  253. package/dist/components/MkRadio.stories.test.d.ts.map +1 -0
  254. package/dist/components/MkRadio.stories.test.js +18 -0
  255. package/dist/components/MkRadio.stories.test.js.map +1 -0
  256. package/dist/components/MkSearchInput.d.ts +30 -0
  257. package/dist/components/MkSearchInput.d.ts.map +1 -0
  258. package/dist/components/MkSearchInput.js +27 -0
  259. package/dist/components/MkSearchInput.js.map +1 -0
  260. package/dist/components/MkSearchInput.module.css +80 -0
  261. package/dist/components/MkSearchInput.stories.d.ts +13 -0
  262. package/dist/components/MkSearchInput.stories.d.ts.map +1 -0
  263. package/dist/components/MkSearchInput.stories.js +47 -0
  264. package/dist/components/MkSearchInput.stories.js.map +1 -0
  265. package/dist/components/MkSearchInput.stories.test.d.ts +2 -0
  266. package/dist/components/MkSearchInput.stories.test.d.ts.map +1 -0
  267. package/dist/components/MkSearchInput.stories.test.js +15 -0
  268. package/dist/components/MkSearchInput.stories.test.js.map +1 -0
  269. package/dist/components/MkSelect.d.ts +23 -0
  270. package/dist/components/MkSelect.d.ts.map +1 -0
  271. package/dist/components/MkSelect.js +59 -0
  272. package/dist/components/MkSelect.js.map +1 -0
  273. package/dist/components/MkSelect.module.css +177 -0
  274. package/dist/components/MkSelect.stories.d.ts +12 -0
  275. package/dist/components/MkSelect.stories.d.ts.map +1 -0
  276. package/dist/components/MkSelect.stories.js +84 -0
  277. package/dist/components/MkSelect.stories.js.map +1 -0
  278. package/dist/components/MkSelect.stories.test.d.ts +2 -0
  279. package/dist/components/MkSelect.stories.test.d.ts.map +1 -0
  280. package/dist/components/MkSelect.stories.test.js +21 -0
  281. package/dist/components/MkSelect.stories.test.js.map +1 -0
  282. package/dist/components/MkSkeleton.d.ts +22 -0
  283. package/dist/components/MkSkeleton.d.ts.map +1 -0
  284. package/dist/components/MkSkeleton.js +21 -0
  285. package/dist/components/MkSkeleton.js.map +1 -0
  286. package/dist/components/MkSkeleton.module.css +28 -0
  287. package/dist/components/MkSkeleton.stories.d.ts +12 -0
  288. package/dist/components/MkSkeleton.stories.d.ts.map +1 -0
  289. package/dist/components/MkSkeleton.stories.js +32 -0
  290. package/dist/components/MkSkeleton.stories.js.map +1 -0
  291. package/dist/components/MkSkeleton.stories.test.d.ts +2 -0
  292. package/dist/components/MkSkeleton.stories.test.d.ts.map +1 -0
  293. package/dist/components/MkSkeleton.stories.test.js +15 -0
  294. package/dist/components/MkSkeleton.stories.test.js.map +1 -0
  295. package/dist/components/MkSwitch.d.ts +22 -0
  296. package/dist/components/MkSwitch.d.ts.map +1 -0
  297. package/dist/components/MkSwitch.js +14 -0
  298. package/dist/components/MkSwitch.js.map +1 -0
  299. package/dist/components/MkSwitch.module.css +108 -0
  300. package/dist/components/MkSwitch.stories.d.ts +13 -0
  301. package/dist/components/MkSwitch.stories.d.ts.map +1 -0
  302. package/dist/components/MkSwitch.stories.js +37 -0
  303. package/dist/components/MkSwitch.stories.js.map +1 -0
  304. package/dist/components/MkSwitch.stories.test.d.ts +2 -0
  305. package/dist/components/MkSwitch.stories.test.d.ts.map +1 -0
  306. package/dist/components/MkSwitch.stories.test.js +15 -0
  307. package/dist/components/MkSwitch.stories.test.js.map +1 -0
  308. package/dist/components/MkTable.d.ts +27 -0
  309. package/dist/components/MkTable.d.ts.map +1 -0
  310. package/dist/components/MkTable.js +11 -0
  311. package/dist/components/MkTable.js.map +1 -0
  312. package/dist/components/MkTable.module.css +163 -0
  313. package/dist/components/MkTable.stories.d.ts +16 -0
  314. package/dist/components/MkTable.stories.d.ts.map +1 -0
  315. package/dist/components/MkTable.stories.js +65 -0
  316. package/dist/components/MkTable.stories.js.map +1 -0
  317. package/dist/components/MkTable.stories.test.d.ts +2 -0
  318. package/dist/components/MkTable.stories.test.d.ts.map +1 -0
  319. package/dist/components/MkTable.stories.test.js +25 -0
  320. package/dist/components/MkTable.stories.test.js.map +1 -0
  321. package/dist/components/MkTabs.d.ts +22 -0
  322. package/dist/components/MkTabs.d.ts.map +1 -0
  323. package/dist/components/MkTabs.js +17 -0
  324. package/dist/components/MkTabs.js.map +1 -0
  325. package/dist/components/MkTabs.module.css +117 -0
  326. package/dist/components/MkTabs.stories.d.ts +11 -0
  327. package/dist/components/MkTabs.stories.d.ts.map +1 -0
  328. package/dist/components/MkTabs.stories.js +73 -0
  329. package/dist/components/MkTabs.stories.js.map +1 -0
  330. package/dist/components/MkTextArea.d.ts +21 -0
  331. package/dist/components/MkTextArea.d.ts.map +1 -0
  332. package/dist/components/MkTextArea.js +8 -0
  333. package/dist/components/MkTextArea.js.map +1 -0
  334. package/dist/components/MkTextArea.stories.d.ts +13 -0
  335. package/dist/components/MkTextArea.stories.d.ts.map +1 -0
  336. package/dist/components/MkTextArea.stories.js +56 -0
  337. package/dist/components/MkTextArea.stories.js.map +1 -0
  338. package/dist/components/MkTextArea.stories.test.d.ts +2 -0
  339. package/dist/components/MkTextArea.stories.test.d.ts.map +1 -0
  340. package/dist/components/MkTextArea.stories.test.js +15 -0
  341. package/dist/components/MkTextArea.stories.test.js.map +1 -0
  342. package/dist/components/MkThemeEditor.d.ts +8 -0
  343. package/dist/components/MkThemeEditor.module.css +177 -0
  344. package/dist/components/MkToastContainer.d.ts +3 -0
  345. package/dist/components/MkToastContainer.module.css +95 -0
  346. package/dist/components/MkToastContainer.stories.d.ts +9 -0
  347. package/dist/components/MkToastContainer.stories.js +43 -0
  348. package/dist/components/MkToastContainer.stories.js.map +1 -0
  349. package/dist/components/MkToastContainer.stories.test.d.ts +2 -0
  350. package/dist/components/MkToastContainer.stories.test.js +29 -0
  351. package/dist/components/MkToastContainer.stories.test.js.map +1 -0
  352. package/dist/components/MkTooltip.d.ts +14 -0
  353. package/dist/components/MkTooltip.d.ts.map +1 -0
  354. package/dist/components/MkTooltip.js +17 -0
  355. package/dist/components/MkTooltip.js.map +1 -0
  356. package/dist/components/MkTooltip.module.css +43 -0
  357. package/dist/components/MkTooltip.stories.d.ts +13 -0
  358. package/dist/components/MkTooltip.stories.d.ts.map +1 -0
  359. package/dist/components/MkTooltip.stories.js +59 -0
  360. package/dist/components/MkTooltip.stories.js.map +1 -0
  361. package/dist/components/MkTooltip.stories.test.d.ts +2 -0
  362. package/dist/components/MkTooltip.stories.test.d.ts.map +1 -0
  363. package/dist/components/MkTooltip.stories.test.js +15 -0
  364. package/dist/components/MkTooltip.stories.test.js.map +1 -0
  365. package/dist/components/MkWindowList.d.ts +20 -0
  366. package/dist/components/MkWindowList.d.ts.map +1 -0
  367. package/dist/components/MkWindowList.js +59 -0
  368. package/dist/components/MkWindowList.js.map +1 -0
  369. package/dist/components/MkWindowList.module.css +59 -0
  370. package/dist/components/MkWindowList.stories.d.ts +16 -0
  371. package/dist/components/MkWindowList.stories.d.ts.map +1 -0
  372. package/dist/components/MkWindowList.stories.js +76 -0
  373. package/dist/components/MkWindowList.stories.js.map +1 -0
  374. package/dist/components/MkWindowList.stories.test.d.ts +2 -0
  375. package/dist/components/MkWindowList.stories.test.d.ts.map +1 -0
  376. package/dist/components/MkWindowList.stories.test.js +19 -0
  377. package/dist/components/MkWindowList.stories.test.js.map +1 -0
  378. package/dist/components/index.d.ts +31 -0
  379. package/dist/components/index.js +34 -0
  380. package/dist/components/index.js.map +1 -0
  381. package/dist/context/MkApiContext.d.ts +15 -0
  382. package/dist/context/MkApiContext.d.ts.map +1 -0
  383. package/dist/context/MkApiContext.js +28 -0
  384. package/dist/context/MkApiContext.js.map +1 -0
  385. package/dist/context/MkAuthContext.d.ts +2 -1
  386. package/dist/context/MkAuthContext.d.ts.map +1 -1
  387. package/dist/context/MkConfirmContext.d.ts +2 -1
  388. package/dist/context/MkConfirmContext.d.ts.map +1 -1
  389. package/dist/context/MkToastContext.d.ts +2 -1
  390. package/dist/context/MkToastContext.d.ts.map +1 -1
  391. package/dist/hooks/useApi.d.ts +6 -5
  392. package/dist/hooks/useApi.d.ts.map +1 -1
  393. package/dist/hooks/useApi.test.d.ts +2 -0
  394. package/dist/hooks/useApi.test.js +184 -0
  395. package/dist/hooks/useApi.test.js.map +1 -0
  396. package/dist/hooks/useMkClickOutside.d.ts +8 -0
  397. package/dist/hooks/useMkClickOutside.d.ts.map +1 -0
  398. package/dist/hooks/useMkClickOutside.js +24 -0
  399. package/dist/hooks/useMkClickOutside.js.map +1 -0
  400. package/dist/hooks/useMkCrud.d.ts +39 -0
  401. package/dist/hooks/useMkCrud.test.d.ts +2 -0
  402. package/dist/hooks/useMkDebounce.d.ts +24 -0
  403. package/dist/hooks/useMkDebounce.d.ts.map +1 -0
  404. package/dist/hooks/useMkDebounce.js +36 -0
  405. package/dist/hooks/useMkDebounce.js.map +1 -0
  406. package/dist/hooks/useMkEffectDebug.d.ts +7 -0
  407. package/dist/hooks/useMkEffectDebug.d.ts.map +1 -0
  408. package/dist/hooks/useMkEffectDebug.js +26 -0
  409. package/dist/hooks/useMkEffectDebug.js.map +1 -0
  410. package/dist/hooks/useMkEvent.d.ts +31 -0
  411. package/dist/hooks/useMkEvent.d.ts.map +1 -0
  412. package/dist/hooks/useMkEvent.js +56 -0
  413. package/dist/hooks/useMkEvent.js.map +1 -0
  414. package/dist/hooks/useMkForm.d.ts +43 -0
  415. package/dist/hooks/useMkForm.test.d.ts +2 -0
  416. package/dist/hooks/useMkInViewPort.d.ts +14 -0
  417. package/dist/hooks/useMkInViewPort.d.ts.map +1 -0
  418. package/dist/hooks/useMkInViewPort.js +31 -0
  419. package/dist/hooks/useMkInViewPort.js.map +1 -0
  420. package/dist/hooks/useMkInfiniteList.d.ts +15 -0
  421. package/dist/hooks/useMkInfiniteList.js +47 -0
  422. package/dist/hooks/useMkInfiniteList.js.map +1 -0
  423. package/dist/hooks/useMkList.d.ts +7 -7
  424. package/dist/hooks/useMkList.js +53 -0
  425. package/dist/hooks/useMkList.js.map +1 -0
  426. package/dist/hooks/useMkLocalStorage.d.ts +6 -0
  427. package/dist/hooks/useMkLocalStorage.d.ts.map +1 -0
  428. package/dist/hooks/useMkLocalStorage.js +33 -0
  429. package/dist/hooks/useMkLocalStorage.js.map +1 -0
  430. package/dist/hooks/useMkLongPress.d.ts +37 -0
  431. package/dist/hooks/useMkLongPress.d.ts.map +1 -0
  432. package/dist/hooks/useMkLongPress.js +59 -0
  433. package/dist/hooks/useMkLongPress.js.map +1 -0
  434. package/dist/hooks/useMkMediaQuery.d.ts +14 -0
  435. package/dist/hooks/useMkMediaQuery.d.ts.map +1 -0
  436. package/dist/hooks/useMkMediaQuery.js +31 -0
  437. package/dist/hooks/useMkMediaQuery.js.map +1 -0
  438. package/dist/hooks/useMkPrevious.d.ts +7 -0
  439. package/dist/hooks/useMkPrevious.d.ts.map +1 -0
  440. package/dist/hooks/useMkPrevious.js +14 -0
  441. package/dist/hooks/useMkPrevious.js.map +1 -0
  442. package/dist/hooks/useMkScreenSize.d.ts +25 -0
  443. package/dist/hooks/useMkScreenSize.d.ts.map +1 -0
  444. package/dist/hooks/useMkScreenSize.js +42 -0
  445. package/dist/hooks/useMkScreenSize.js.map +1 -0
  446. package/dist/hooks/useMkStore.d.ts +22 -0
  447. package/dist/hooks/useMkStore.d.ts.map +1 -0
  448. package/dist/hooks/useMkStore.js +58 -0
  449. package/dist/hooks/useMkStore.js.map +1 -0
  450. package/dist/hooks/useMkToggle.d.ts +6 -0
  451. package/dist/hooks/useMkToggle.d.ts.map +1 -0
  452. package/dist/hooks/useMkToggle.js +13 -0
  453. package/dist/hooks/useMkToggle.js.map +1 -0
  454. package/dist/index.d.ts +33 -0
  455. package/dist/index.js +37 -0
  456. package/dist/index.js.map +1 -0
  457. package/dist/styles/index.css +124 -0
  458. package/dist/test-setup.d.ts +2 -0
  459. package/dist/test-setup.d.ts.map +1 -0
  460. package/dist/test-setup.js +31 -0
  461. package/dist/test-setup.js.map +1 -0
  462. package/dist/theme/MkThemeProvider.d.ts +20 -0
  463. package/dist/utils/images.d.ts +9 -0
  464. package/dist/utils/images.d.ts.map +1 -0
  465. package/dist/utils/images.js +50 -0
  466. package/dist/utils/images.js.map +1 -0
  467. 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,79 @@
1
+ .accordion {
2
+ --mk-accordion-border: var(--mk-border);
3
+ --mk-accordion-bg: transparent;
4
+ --mk-accordion-header-hover: var(--mk-muted);
5
+ --mk-accordion-radius: var(--mk-radius, 8px);
6
+ --mk-accordion-color: var(--mk-foreground);
7
+ --mk-accordion-muted-color: var(--mk-muted-foreground);
8
+
9
+ width: 100%;
10
+ color: var(--mk-accordion-color);
11
+ }
12
+
13
+ /* ── Default ── */
14
+ .default .item { border-bottom: 1px solid var(--mk-accordion-border); }
15
+ .default .item:last-child { border-bottom: none; }
16
+
17
+ /* ── Bordered ── */
18
+ .bordered {
19
+ border: 1px solid var(--mk-accordion-border);
20
+ border-radius: var(--mk-accordion-radius);
21
+ overflow: hidden;
22
+ }
23
+ .bordered .item + .item { border-top: 1px solid var(--mk-accordion-border); }
24
+
25
+ /* ── Separated ── */
26
+ .separated { display: flex; flex-direction: column; gap: 0.5rem; }
27
+ .separated .item {
28
+ border: 1px solid var(--mk-accordion-border);
29
+ border-radius: var(--mk-accordion-radius);
30
+ overflow: hidden;
31
+ }
32
+
33
+ /* ── Header ── */
34
+ .header {
35
+ display: flex;
36
+ justify-content: space-between;
37
+ align-items: center;
38
+ width: 100%;
39
+ padding: 0.875rem 1rem;
40
+ background-color: var(--mk-accordion-bg);
41
+ border: none;
42
+ cursor: pointer;
43
+ color: inherit;
44
+ font-size: 0.9375rem;
45
+ font-weight: 500;
46
+ outline: none;
47
+ transition: background-color 0.15s ease;
48
+ text-align: left;
49
+ }
50
+
51
+ .header:hover { background-color: var(--mk-accordion-header-hover); }
52
+ .header:focus-visible { box-shadow: inset 0 0 0 2px var(--mk-primary); }
53
+ .header:disabled { opacity: 0.4; cursor: not-allowed; }
54
+
55
+ .title { flex: 1; }
56
+
57
+ .chevron {
58
+ display: flex;
59
+ color: var(--mk-accordion-muted-color);
60
+ transition: transform 0.2s ease;
61
+ flex-shrink: 0;
62
+ }
63
+ .chevronOpen { transform: rotate(180deg); }
64
+
65
+ /* ── Body ── */
66
+ .body {
67
+ max-height: 0;
68
+ overflow: hidden;
69
+ transition: max-height 0.25s ease;
70
+ }
71
+
72
+ .bodyOpen { max-height: 1000px; }
73
+
74
+ .content {
75
+ padding: 0 1rem 1rem;
76
+ font-size: 0.875rem;
77
+ color: var(--mk-accordion-muted-color);
78
+ line-height: 1.6;
79
+ }
@@ -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,103 @@
1
+ .alert {
2
+ --mk-alert-bg: var(--mk-muted);
3
+ --mk-alert-border: var(--mk-primary);
4
+ --mk-alert-color: var(--mk-foreground);
5
+
6
+ display: flex;
7
+ align-items: flex-start;
8
+ gap: 0.75rem;
9
+ padding: 0.875rem 1rem;
10
+ border-radius: var(--mk-radius, 8px);
11
+ border-left: 4px solid var(--mk-alert-border);
12
+ background-color: var(--mk-alert-bg);
13
+ color: var(--mk-alert-color);
14
+ transition: all 0.2s ease;
15
+ }
16
+
17
+ .icon {
18
+ font-size: 1.1rem;
19
+ flex-shrink: 0;
20
+ padding-top: 1px;
21
+ color: var(--mk-alert-border);
22
+ }
23
+
24
+ .body {
25
+ flex: 1;
26
+ min-width: 0;
27
+ }
28
+ .title {
29
+ display: block;
30
+ font-size: 0.9375rem;
31
+ font-weight: 600;
32
+ margin-bottom: 0.25rem;
33
+ }
34
+ .content {
35
+ margin: 0;
36
+ font-size: 0.875rem;
37
+ line-height: 1.5;
38
+ }
39
+ .action {
40
+ margin-top: 0.5rem;
41
+ }
42
+
43
+ .dismiss {
44
+ background: none;
45
+ border: none;
46
+ cursor: pointer;
47
+ font-size: 0.875rem;
48
+ flex-shrink: 0;
49
+ padding: 2px 4px;
50
+ border-radius: 4px;
51
+ line-height: 1;
52
+ color: currentColor;
53
+ opacity: 0.6;
54
+ transition: opacity 0.15s;
55
+ }
56
+ .dismiss:hover {
57
+ opacity: 1;
58
+ background-color: rgba(0, 0, 0, 0.05);
59
+ }
60
+
61
+ /* Variants - solid tinted backgrounds (12% color, not 90% transparent) */
62
+ .info {
63
+ --mk-alert-border: #3b82f6;
64
+ --mk-alert-bg: color-mix(in srgb, #3b82f6 12%, var(--mk-background));
65
+ --mk-alert-color: #1e3a5f;
66
+ }
67
+
68
+ .success {
69
+ --mk-alert-border: #22c55e;
70
+ --mk-alert-bg: color-mix(in srgb, #22c55e 12%, var(--mk-background));
71
+ --mk-alert-color: #14532d;
72
+ }
73
+
74
+ .warning {
75
+ --mk-alert-border: #f59e0b;
76
+ --mk-alert-bg: color-mix(in srgb, #f59e0b 12%, var(--mk-background));
77
+ --mk-alert-color: #78350f;
78
+ }
79
+
80
+ .error {
81
+ --mk-alert-border: #ef4444;
82
+ --mk-alert-bg: color-mix(in srgb, #ef4444 12%, var(--mk-background));
83
+ --mk-alert-color: #7f1d1d;
84
+ }
85
+
86
+ .default {
87
+ --mk-alert-border: var(--mk-primary);
88
+ --mk-alert-bg: var(--mk-muted);
89
+ }
90
+
91
+ /* Dark mode overrides */
92
+ .mk-dark .info {
93
+ --mk-alert-color: #bfdbfe;
94
+ }
95
+ .mk-dark .success {
96
+ --mk-alert-color: #bbf7d0;
97
+ }
98
+ .mk-dark .warning {
99
+ --mk-alert-color: #fde68a;
100
+ }
101
+ .mk-dark .error {
102
+ --mk-alert-color: #fecaca;
103
+ }
@@ -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"}