@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.
- package/dist/auth/MkAuthContext.d.ts +43 -0
- package/dist/auth/MkAuthContext.d.ts.map +1 -0
- package/dist/auth/MkAuthContext.js +3 -0
- package/dist/auth/MkAuthContext.js.map +1 -0
- package/dist/auth/MkAuthForm.d.ts +42 -0
- package/dist/auth/MkAuthForm.d.ts.map +1 -0
- package/dist/auth/MkAuthForm.js +53 -0
- package/dist/auth/MkAuthForm.js.map +1 -0
- package/dist/auth/MkAuthProvider.d.ts +30 -0
- package/dist/auth/MkAuthProvider.d.ts.map +1 -0
- package/dist/auth/MkAuthProvider.js +317 -0
- package/dist/auth/MkAuthProvider.js.map +1 -0
- package/dist/auth/types.d.ts +63 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +20 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/useMkAuth.d.ts +19 -0
- package/dist/auth/useMkAuth.d.ts.map +1 -0
- package/dist/auth/useMkAuth.js +26 -0
- package/dist/auth/useMkAuth.js.map +1 -0
- package/dist/components/FormField.d.ts +27 -0
- package/dist/components/FormField.d.ts.map +1 -0
- package/dist/components/FormField.js +18 -0
- package/dist/components/FormField.js.map +1 -0
- package/dist/components/FormField.stories.d.ts +11 -0
- package/dist/components/FormField.stories.d.ts.map +1 -0
- package/dist/components/FormField.stories.js +61 -0
- package/dist/components/FormField.stories.js.map +1 -0
- package/dist/components/MkAccordion.d.ts +36 -0
- package/dist/components/MkAccordion.d.ts.map +1 -0
- package/dist/components/MkAccordion.js +23 -0
- package/dist/components/MkAccordion.js.map +1 -0
- package/dist/components/MkAccordion.module.css +79 -0
- package/dist/components/MkAccordion.stories.d.ts +13 -0
- package/dist/components/MkAccordion.stories.d.ts.map +1 -0
- package/dist/components/MkAccordion.stories.js +76 -0
- package/dist/components/MkAccordion.stories.js.map +1 -0
- package/dist/components/MkAccordion.stories.test.d.ts +2 -0
- package/dist/components/MkAccordion.stories.test.d.ts.map +1 -0
- package/dist/components/MkAccordion.stories.test.js +18 -0
- package/dist/components/MkAccordion.stories.test.js.map +1 -0
- package/dist/components/MkAlert.d.ts +25 -0
- package/dist/components/MkAlert.d.ts.map +1 -0
- package/dist/components/MkAlert.js +21 -0
- package/dist/components/MkAlert.js.map +1 -0
- package/dist/components/MkAlert.module.css +103 -0
- package/dist/components/MkAlert.stories.d.ts +13 -0
- package/dist/components/MkAlert.stories.d.ts.map +1 -0
- package/dist/components/MkAlert.stories.js +75 -0
- package/dist/components/MkAlert.stories.js.map +1 -0
- package/dist/components/MkAlert.stories.test.d.ts +2 -0
- package/dist/components/MkAlert.stories.test.d.ts.map +1 -0
- package/dist/components/MkAlert.stories.test.js +16 -0
- package/dist/components/MkAlert.stories.test.js.map +1 -0
- package/dist/components/MkAvatar.d.ts +16 -0
- package/dist/components/MkAvatar.d.ts.map +1 -0
- package/dist/components/MkAvatar.js +23 -0
- package/dist/components/MkAvatar.js.map +1 -0
- package/dist/components/MkAvatar.module.css +62 -0
- package/dist/components/MkAvatar.stories.d.ts +14 -0
- package/dist/components/MkAvatar.stories.d.ts.map +1 -0
- package/dist/components/MkAvatar.stories.js +67 -0
- package/dist/components/MkAvatar.stories.js.map +1 -0
- package/dist/components/MkAvatar.stories.test.d.ts +2 -0
- package/dist/components/MkAvatar.stories.test.d.ts.map +1 -0
- package/dist/components/MkAvatar.stories.test.js +16 -0
- package/dist/components/MkAvatar.stories.test.js.map +1 -0
- package/dist/components/MkBadge.d.ts +15 -0
- package/dist/components/MkBadge.d.ts.map +1 -0
- package/dist/components/MkBadge.js +7 -0
- package/dist/components/MkBadge.js.map +1 -0
- package/dist/components/MkBadge.module.css +74 -0
- package/dist/components/MkBadge.stories.d.ts +15 -0
- package/dist/components/MkBadge.stories.d.ts.map +1 -0
- package/dist/components/MkBadge.stories.js +78 -0
- package/dist/components/MkBadge.stories.js.map +1 -0
- package/dist/components/MkBadge.stories.test.d.ts +2 -0
- package/dist/components/MkBadge.stories.test.d.ts.map +1 -0
- package/dist/components/MkBadge.stories.test.js +16 -0
- package/dist/components/MkBadge.stories.test.js.map +1 -0
- package/dist/components/MkButton.d.ts +11 -0
- package/dist/components/MkButton.module.css +85 -0
- package/dist/components/MkButton.stories.d.ts +12 -0
- package/dist/components/MkButton.stories.d.ts.map +1 -0
- package/dist/components/MkButton.stories.js +57 -0
- package/dist/components/MkButton.stories.js.map +1 -0
- package/dist/components/MkButton.test.d.ts +2 -0
- package/dist/components/MkButton.test.d.ts.map +1 -0
- package/dist/components/MkButton.test.js +56 -0
- package/dist/components/MkButton.test.js.map +1 -0
- package/dist/components/MkCard.d.ts +18 -0
- package/dist/components/MkCard.d.ts.map +1 -0
- package/dist/components/MkCard.js +6 -0
- package/dist/components/MkCard.js.map +1 -0
- package/dist/components/MkCard.module.css +63 -0
- package/dist/components/MkCard.stories.d.ts +11 -0
- package/dist/components/MkCard.stories.d.ts.map +1 -0
- package/dist/components/MkCard.stories.js +57 -0
- package/dist/components/MkCard.stories.js.map +1 -0
- package/dist/components/MkCheck.d.ts +32 -0
- package/dist/components/MkCheck.d.ts.map +1 -0
- package/dist/components/MkCheck.js +12 -0
- package/dist/components/MkCheck.js.map +1 -0
- package/dist/components/MkCheck.module.css +87 -0
- package/dist/components/MkCheck.stories.d.ts +13 -0
- package/dist/components/MkCheck.stories.d.ts.map +1 -0
- package/dist/components/MkCheck.stories.js +63 -0
- package/dist/components/MkCheck.stories.js.map +1 -0
- package/dist/components/MkCheck.stories.test.d.ts +2 -0
- package/dist/components/MkCheck.stories.test.d.ts.map +1 -0
- package/dist/components/MkCheck.stories.test.js +16 -0
- package/dist/components/MkCheck.stories.test.js.map +1 -0
- package/dist/components/MkDatePicker.d.ts +29 -0
- package/dist/components/MkDatePicker.d.ts.map +1 -0
- package/dist/components/MkDatePicker.js +10 -0
- package/dist/components/MkDatePicker.js.map +1 -0
- package/dist/components/MkDatePicker.module.css +77 -0
- package/dist/components/MkDatePicker.stories.d.ts +11 -0
- package/dist/components/MkDatePicker.stories.d.ts.map +1 -0
- package/dist/components/MkDatePicker.stories.js +47 -0
- package/dist/components/MkDatePicker.stories.js.map +1 -0
- package/dist/components/MkDatePicker.stories.test.d.ts +2 -0
- package/dist/components/MkDatePicker.stories.test.d.ts.map +1 -0
- package/dist/components/MkDatePicker.stories.test.js +16 -0
- package/dist/components/MkDatePicker.stories.test.js.map +1 -0
- package/dist/components/MkDivider.d.ts +14 -0
- package/dist/components/MkDivider.d.ts.map +1 -0
- package/dist/components/MkDivider.js +12 -0
- package/dist/components/MkDivider.js.map +1 -0
- package/dist/components/MkDivider.module.css +39 -0
- package/dist/components/MkDivider.stories.d.ts +12 -0
- package/dist/components/MkDivider.stories.d.ts.map +1 -0
- package/dist/components/MkDivider.stories.js +33 -0
- package/dist/components/MkDivider.stories.js.map +1 -0
- package/dist/components/MkDivider.stories.test.d.ts +2 -0
- package/dist/components/MkDivider.stories.test.d.ts.map +1 -0
- package/dist/components/MkDivider.stories.test.js +15 -0
- package/dist/components/MkDivider.stories.test.js.map +1 -0
- package/dist/components/MkDropDown.d.ts +22 -0
- package/dist/components/MkDropDown.d.ts.map +1 -0
- package/dist/components/MkDropDown.js +24 -0
- package/dist/components/MkDropDown.js.map +1 -0
- package/dist/components/MkDropDown.module.css +108 -0
- package/dist/components/MkDropDown.stories.d.ts +12 -0
- package/dist/components/MkDropDown.stories.d.ts.map +1 -0
- package/dist/components/MkDropDown.stories.js +76 -0
- package/dist/components/MkDropDown.stories.js.map +1 -0
- package/dist/components/MkDropDown.stories.test.d.ts +2 -0
- package/dist/components/MkDropDown.stories.test.d.ts.map +1 -0
- package/dist/components/MkDropDown.stories.test.js +18 -0
- package/dist/components/MkDropDown.stories.test.js.map +1 -0
- package/dist/components/MkEmptyState.d.ts +14 -0
- package/dist/components/MkEmptyState.d.ts.map +1 -0
- package/dist/components/MkEmptyState.js +6 -0
- package/dist/components/MkEmptyState.js.map +1 -0
- package/dist/components/MkEmptyState.module.css +35 -0
- package/dist/components/MkEmptyState.stories.d.ts +12 -0
- package/dist/components/MkEmptyState.stories.d.ts.map +1 -0
- package/dist/components/MkEmptyState.stories.js +44 -0
- package/dist/components/MkEmptyState.stories.js.map +1 -0
- package/dist/components/MkEmptyState.stories.test.d.ts +2 -0
- package/dist/components/MkEmptyState.stories.test.d.ts.map +1 -0
- package/dist/components/MkEmptyState.stories.test.js +15 -0
- package/dist/components/MkEmptyState.stories.test.js.map +1 -0
- package/dist/components/MkFileUpload.d.ts +36 -0
- package/dist/components/MkFileUpload.d.ts.map +1 -0
- package/dist/components/MkFileUpload.js +50 -0
- package/dist/components/MkFileUpload.js.map +1 -0
- package/dist/components/MkFileUpload.module.css +74 -0
- package/dist/components/MkFileUpload.stories.d.ts +12 -0
- package/dist/components/MkFileUpload.stories.d.ts.map +1 -0
- package/dist/components/MkFileUpload.stories.js +53 -0
- package/dist/components/MkFileUpload.stories.js.map +1 -0
- package/dist/components/MkFileUpload.stories.test.d.ts +2 -0
- package/dist/components/MkFileUpload.stories.test.d.ts.map +1 -0
- package/dist/components/MkFileUpload.stories.test.js +15 -0
- package/dist/components/MkFileUpload.stories.test.js.map +1 -0
- package/dist/components/MkIcons.d.ts +14 -0
- package/dist/components/MkIcons.d.ts.map +1 -0
- package/dist/components/MkIcons.js +36 -0
- package/dist/components/MkIcons.js.map +1 -0
- package/dist/components/MkInfiniteList.d.ts +15 -0
- package/dist/components/MkInfiniteList.d.ts.map +1 -0
- package/dist/components/MkInfiniteList.js +29 -0
- package/dist/components/MkInfiniteList.js.map +1 -0
- package/dist/components/MkInfiniteList.module.css +69 -0
- package/dist/components/MkInfiniteList.stories.d.ts +17 -0
- package/dist/components/MkInfiniteList.stories.d.ts.map +1 -0
- package/dist/components/MkInfiniteList.stories.js +90 -0
- package/dist/components/MkInfiniteList.stories.js.map +1 -0
- package/dist/components/MkInfiniteList.stories.test.d.ts +2 -0
- package/dist/components/MkInfiniteList.stories.test.d.ts.map +1 -0
- package/dist/components/MkInfiniteList.stories.test.js +24 -0
- package/dist/components/MkInfiniteList.stories.test.js.map +1 -0
- package/dist/components/MkInput.d.ts +13 -0
- package/dist/components/MkInput.d.ts.map +1 -0
- package/dist/components/MkInput.js +21 -0
- package/dist/components/MkInput.js.map +1 -0
- package/dist/components/MkInput.module.css +94 -0
- package/dist/components/MkInput.stories.d.ts +13 -0
- package/dist/components/MkInput.stories.d.ts.map +1 -0
- package/dist/components/MkInput.stories.js +75 -0
- package/dist/components/MkInput.stories.js.map +1 -0
- package/dist/components/MkInput.stories.test.d.ts +2 -0
- package/dist/components/MkInput.stories.test.d.ts.map +1 -0
- package/dist/components/MkInput.stories.test.js +16 -0
- package/dist/components/MkInput.stories.test.js.map +1 -0
- package/dist/components/MkLoading.d.ts +20 -0
- package/dist/components/MkLoading.d.ts.map +1 -0
- package/dist/components/MkLoading.js +14 -0
- package/dist/components/MkLoading.js.map +1 -0
- package/dist/components/MkLoading.module.css +39 -0
- package/dist/components/MkLoading.stories.d.ts +13 -0
- package/dist/components/MkLoading.stories.d.ts.map +1 -0
- package/dist/components/MkLoading.stories.js +35 -0
- package/dist/components/MkLoading.stories.js.map +1 -0
- package/dist/components/MkLoading.stories.test.d.ts +2 -0
- package/dist/components/MkLoading.stories.test.d.ts.map +1 -0
- package/dist/components/MkLoading.stories.test.js +15 -0
- package/dist/components/MkLoading.stories.test.js.map +1 -0
- package/dist/components/MkModal.d.ts +20 -0
- package/dist/components/MkModal.d.ts.map +1 -0
- package/dist/components/MkModal.js +31 -0
- package/dist/components/MkModal.js.map +1 -0
- package/dist/components/MkModal.module.css +107 -0
- package/dist/components/MkModal.stories.d.ts +13 -0
- package/dist/components/MkModal.stories.d.ts.map +1 -0
- package/dist/components/MkModal.stories.js +73 -0
- package/dist/components/MkModal.stories.js.map +1 -0
- package/dist/components/MkProgressBar.d.ts +17 -0
- package/dist/components/MkProgressBar.d.ts.map +1 -0
- package/dist/components/MkProgressBar.js +7 -0
- package/dist/components/MkProgressBar.js.map +1 -0
- package/dist/components/MkProgressBar.module.css +48 -0
- package/dist/components/MkProgressBar.stories.d.ts +13 -0
- package/dist/components/MkProgressBar.stories.d.ts.map +1 -0
- package/dist/components/MkProgressBar.stories.js +39 -0
- package/dist/components/MkProgressBar.stories.js.map +1 -0
- package/dist/components/MkProgressBar.stories.test.d.ts +2 -0
- package/dist/components/MkProgressBar.stories.test.d.ts.map +1 -0
- package/dist/components/MkProgressBar.stories.test.js +15 -0
- package/dist/components/MkProgressBar.stories.test.js.map +1 -0
- package/dist/components/MkRadio.d.ts +34 -0
- package/dist/components/MkRadio.d.ts.map +1 -0
- package/dist/components/MkRadio.js +19 -0
- package/dist/components/MkRadio.js.map +1 -0
- package/dist/components/MkRadio.module.css +74 -0
- package/dist/components/MkRadio.stories.d.ts +13 -0
- package/dist/components/MkRadio.stories.d.ts.map +1 -0
- package/dist/components/MkRadio.stories.js +55 -0
- package/dist/components/MkRadio.stories.js.map +1 -0
- package/dist/components/MkRadio.stories.test.d.ts +2 -0
- package/dist/components/MkRadio.stories.test.d.ts.map +1 -0
- package/dist/components/MkRadio.stories.test.js +18 -0
- package/dist/components/MkRadio.stories.test.js.map +1 -0
- package/dist/components/MkSearchInput.d.ts +30 -0
- package/dist/components/MkSearchInput.d.ts.map +1 -0
- package/dist/components/MkSearchInput.js +27 -0
- package/dist/components/MkSearchInput.js.map +1 -0
- package/dist/components/MkSearchInput.module.css +80 -0
- package/dist/components/MkSearchInput.stories.d.ts +13 -0
- package/dist/components/MkSearchInput.stories.d.ts.map +1 -0
- package/dist/components/MkSearchInput.stories.js +47 -0
- package/dist/components/MkSearchInput.stories.js.map +1 -0
- package/dist/components/MkSearchInput.stories.test.d.ts +2 -0
- package/dist/components/MkSearchInput.stories.test.d.ts.map +1 -0
- package/dist/components/MkSearchInput.stories.test.js +15 -0
- package/dist/components/MkSearchInput.stories.test.js.map +1 -0
- package/dist/components/MkSelect.d.ts +23 -0
- package/dist/components/MkSelect.d.ts.map +1 -0
- package/dist/components/MkSelect.js +59 -0
- package/dist/components/MkSelect.js.map +1 -0
- package/dist/components/MkSelect.module.css +177 -0
- package/dist/components/MkSelect.stories.d.ts +12 -0
- package/dist/components/MkSelect.stories.d.ts.map +1 -0
- package/dist/components/MkSelect.stories.js +84 -0
- package/dist/components/MkSelect.stories.js.map +1 -0
- package/dist/components/MkSelect.stories.test.d.ts +2 -0
- package/dist/components/MkSelect.stories.test.d.ts.map +1 -0
- package/dist/components/MkSelect.stories.test.js +21 -0
- package/dist/components/MkSelect.stories.test.js.map +1 -0
- package/dist/components/MkSkeleton.d.ts +22 -0
- package/dist/components/MkSkeleton.d.ts.map +1 -0
- package/dist/components/MkSkeleton.js +21 -0
- package/dist/components/MkSkeleton.js.map +1 -0
- package/dist/components/MkSkeleton.module.css +28 -0
- package/dist/components/MkSkeleton.stories.d.ts +12 -0
- package/dist/components/MkSkeleton.stories.d.ts.map +1 -0
- package/dist/components/MkSkeleton.stories.js +32 -0
- package/dist/components/MkSkeleton.stories.js.map +1 -0
- package/dist/components/MkSkeleton.stories.test.d.ts +2 -0
- package/dist/components/MkSkeleton.stories.test.d.ts.map +1 -0
- package/dist/components/MkSkeleton.stories.test.js +15 -0
- package/dist/components/MkSkeleton.stories.test.js.map +1 -0
- package/dist/components/MkSwitch.d.ts +22 -0
- package/dist/components/MkSwitch.d.ts.map +1 -0
- package/dist/components/MkSwitch.js +14 -0
- package/dist/components/MkSwitch.js.map +1 -0
- package/dist/components/MkSwitch.module.css +108 -0
- package/dist/components/MkSwitch.stories.d.ts +13 -0
- package/dist/components/MkSwitch.stories.d.ts.map +1 -0
- package/dist/components/MkSwitch.stories.js +37 -0
- package/dist/components/MkSwitch.stories.js.map +1 -0
- package/dist/components/MkSwitch.stories.test.d.ts +2 -0
- package/dist/components/MkSwitch.stories.test.d.ts.map +1 -0
- package/dist/components/MkSwitch.stories.test.js +15 -0
- package/dist/components/MkSwitch.stories.test.js.map +1 -0
- package/dist/components/MkTable.d.ts +27 -0
- package/dist/components/MkTable.d.ts.map +1 -0
- package/dist/components/MkTable.js +11 -0
- package/dist/components/MkTable.js.map +1 -0
- package/dist/components/MkTable.module.css +163 -0
- package/dist/components/MkTable.stories.d.ts +16 -0
- package/dist/components/MkTable.stories.d.ts.map +1 -0
- package/dist/components/MkTable.stories.js +65 -0
- package/dist/components/MkTable.stories.js.map +1 -0
- package/dist/components/MkTable.stories.test.d.ts +2 -0
- package/dist/components/MkTable.stories.test.d.ts.map +1 -0
- package/dist/components/MkTable.stories.test.js +25 -0
- package/dist/components/MkTable.stories.test.js.map +1 -0
- package/dist/components/MkTabs.d.ts +22 -0
- package/dist/components/MkTabs.d.ts.map +1 -0
- package/dist/components/MkTabs.js +17 -0
- package/dist/components/MkTabs.js.map +1 -0
- package/dist/components/MkTabs.module.css +117 -0
- package/dist/components/MkTabs.stories.d.ts +11 -0
- package/dist/components/MkTabs.stories.d.ts.map +1 -0
- package/dist/components/MkTabs.stories.js +73 -0
- package/dist/components/MkTabs.stories.js.map +1 -0
- package/dist/components/MkTextArea.d.ts +21 -0
- package/dist/components/MkTextArea.d.ts.map +1 -0
- package/dist/components/MkTextArea.js +8 -0
- package/dist/components/MkTextArea.js.map +1 -0
- package/dist/components/MkTextArea.stories.d.ts +13 -0
- package/dist/components/MkTextArea.stories.d.ts.map +1 -0
- package/dist/components/MkTextArea.stories.js +56 -0
- package/dist/components/MkTextArea.stories.js.map +1 -0
- package/dist/components/MkTextArea.stories.test.d.ts +2 -0
- package/dist/components/MkTextArea.stories.test.d.ts.map +1 -0
- package/dist/components/MkTextArea.stories.test.js +15 -0
- package/dist/components/MkTextArea.stories.test.js.map +1 -0
- package/dist/components/MkThemeEditor.d.ts +8 -0
- package/dist/components/MkThemeEditor.module.css +177 -0
- package/dist/components/MkToastContainer.d.ts +3 -0
- package/dist/components/MkToastContainer.module.css +95 -0
- package/dist/components/MkToastContainer.stories.d.ts +9 -0
- package/dist/components/MkToastContainer.stories.js +43 -0
- package/dist/components/MkToastContainer.stories.js.map +1 -0
- package/dist/components/MkToastContainer.stories.test.d.ts +2 -0
- package/dist/components/MkToastContainer.stories.test.js +29 -0
- package/dist/components/MkToastContainer.stories.test.js.map +1 -0
- package/dist/components/MkTooltip.d.ts +14 -0
- package/dist/components/MkTooltip.d.ts.map +1 -0
- package/dist/components/MkTooltip.js +17 -0
- package/dist/components/MkTooltip.js.map +1 -0
- package/dist/components/MkTooltip.module.css +43 -0
- package/dist/components/MkTooltip.stories.d.ts +13 -0
- package/dist/components/MkTooltip.stories.d.ts.map +1 -0
- package/dist/components/MkTooltip.stories.js +59 -0
- package/dist/components/MkTooltip.stories.js.map +1 -0
- package/dist/components/MkTooltip.stories.test.d.ts +2 -0
- package/dist/components/MkTooltip.stories.test.d.ts.map +1 -0
- package/dist/components/MkTooltip.stories.test.js +15 -0
- package/dist/components/MkTooltip.stories.test.js.map +1 -0
- package/dist/components/MkWindowList.d.ts +20 -0
- package/dist/components/MkWindowList.d.ts.map +1 -0
- package/dist/components/MkWindowList.js +59 -0
- package/dist/components/MkWindowList.js.map +1 -0
- package/dist/components/MkWindowList.module.css +59 -0
- package/dist/components/MkWindowList.stories.d.ts +16 -0
- package/dist/components/MkWindowList.stories.d.ts.map +1 -0
- package/dist/components/MkWindowList.stories.js +76 -0
- package/dist/components/MkWindowList.stories.js.map +1 -0
- package/dist/components/MkWindowList.stories.test.d.ts +2 -0
- package/dist/components/MkWindowList.stories.test.d.ts.map +1 -0
- package/dist/components/MkWindowList.stories.test.js +19 -0
- package/dist/components/MkWindowList.stories.test.js.map +1 -0
- package/dist/components/index.d.ts +31 -0
- package/dist/components/index.js +34 -0
- package/dist/components/index.js.map +1 -0
- package/dist/context/MkApiContext.d.ts +15 -0
- package/dist/context/MkApiContext.d.ts.map +1 -0
- package/dist/context/MkApiContext.js +28 -0
- package/dist/context/MkApiContext.js.map +1 -0
- package/dist/context/MkAuthContext.d.ts +2 -1
- package/dist/context/MkAuthContext.d.ts.map +1 -1
- package/dist/context/MkConfirmContext.d.ts +2 -1
- package/dist/context/MkConfirmContext.d.ts.map +1 -1
- package/dist/context/MkToastContext.d.ts +2 -1
- package/dist/context/MkToastContext.d.ts.map +1 -1
- package/dist/hooks/useApi.d.ts +6 -5
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useApi.test.d.ts +2 -0
- package/dist/hooks/useApi.test.js +184 -0
- package/dist/hooks/useApi.test.js.map +1 -0
- package/dist/hooks/useMkClickOutside.d.ts +8 -0
- package/dist/hooks/useMkClickOutside.d.ts.map +1 -0
- package/dist/hooks/useMkClickOutside.js +24 -0
- package/dist/hooks/useMkClickOutside.js.map +1 -0
- package/dist/hooks/useMkCrud.d.ts +39 -0
- package/dist/hooks/useMkCrud.test.d.ts +2 -0
- package/dist/hooks/useMkDebounce.d.ts +24 -0
- package/dist/hooks/useMkDebounce.d.ts.map +1 -0
- package/dist/hooks/useMkDebounce.js +36 -0
- package/dist/hooks/useMkDebounce.js.map +1 -0
- package/dist/hooks/useMkEffectDebug.d.ts +7 -0
- package/dist/hooks/useMkEffectDebug.d.ts.map +1 -0
- package/dist/hooks/useMkEffectDebug.js +26 -0
- package/dist/hooks/useMkEffectDebug.js.map +1 -0
- package/dist/hooks/useMkEvent.d.ts +31 -0
- package/dist/hooks/useMkEvent.d.ts.map +1 -0
- package/dist/hooks/useMkEvent.js +56 -0
- package/dist/hooks/useMkEvent.js.map +1 -0
- package/dist/hooks/useMkForm.d.ts +43 -0
- package/dist/hooks/useMkForm.test.d.ts +2 -0
- package/dist/hooks/useMkInViewPort.d.ts +14 -0
- package/dist/hooks/useMkInViewPort.d.ts.map +1 -0
- package/dist/hooks/useMkInViewPort.js +31 -0
- package/dist/hooks/useMkInViewPort.js.map +1 -0
- package/dist/hooks/useMkInfiniteList.d.ts +15 -0
- package/dist/hooks/useMkInfiniteList.js +47 -0
- package/dist/hooks/useMkInfiniteList.js.map +1 -0
- package/dist/hooks/useMkList.d.ts +7 -7
- package/dist/hooks/useMkList.js +53 -0
- package/dist/hooks/useMkList.js.map +1 -0
- package/dist/hooks/useMkLocalStorage.d.ts +6 -0
- package/dist/hooks/useMkLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useMkLocalStorage.js +33 -0
- package/dist/hooks/useMkLocalStorage.js.map +1 -0
- package/dist/hooks/useMkLongPress.d.ts +37 -0
- package/dist/hooks/useMkLongPress.d.ts.map +1 -0
- package/dist/hooks/useMkLongPress.js +59 -0
- package/dist/hooks/useMkLongPress.js.map +1 -0
- package/dist/hooks/useMkMediaQuery.d.ts +14 -0
- package/dist/hooks/useMkMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMkMediaQuery.js +31 -0
- package/dist/hooks/useMkMediaQuery.js.map +1 -0
- package/dist/hooks/useMkPrevious.d.ts +7 -0
- package/dist/hooks/useMkPrevious.d.ts.map +1 -0
- package/dist/hooks/useMkPrevious.js +14 -0
- package/dist/hooks/useMkPrevious.js.map +1 -0
- package/dist/hooks/useMkScreenSize.d.ts +25 -0
- package/dist/hooks/useMkScreenSize.d.ts.map +1 -0
- package/dist/hooks/useMkScreenSize.js +42 -0
- package/dist/hooks/useMkScreenSize.js.map +1 -0
- package/dist/hooks/useMkStore.d.ts +22 -0
- package/dist/hooks/useMkStore.d.ts.map +1 -0
- package/dist/hooks/useMkStore.js +58 -0
- package/dist/hooks/useMkStore.js.map +1 -0
- package/dist/hooks/useMkToggle.d.ts +6 -0
- package/dist/hooks/useMkToggle.d.ts.map +1 -0
- package/dist/hooks/useMkToggle.js +13 -0
- package/dist/hooks/useMkToggle.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/index.css +124 -0
- package/dist/test-setup.d.ts +2 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +31 -0
- package/dist/test-setup.js.map +1 -0
- package/dist/theme/MkThemeProvider.d.ts +20 -0
- package/dist/utils/images.d.ts +9 -0
- package/dist/utils/images.d.ts.map +1 -0
- package/dist/utils/images.js +50 -0
- package/dist/utils/images.js.map +1 -0
- 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 @@
|
|
|
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"}
|