@makroz/mobile 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +33 -0
- package/README.md +19 -0
- package/dist/auth/MkAuthContext.d.ts +72 -0
- package/dist/auth/MkAuthContext.d.ts.map +1 -0
- package/dist/auth/MkAuthContext.js +19 -0
- package/dist/auth/MkAuthContext.js.map +1 -0
- package/dist/auth/MkAuthForm.d.ts +31 -0
- package/dist/auth/MkAuthForm.d.ts.map +1 -0
- package/dist/auth/MkAuthForm.js +180 -0
- package/dist/auth/MkAuthForm.js.map +1 -0
- package/dist/auth/MkAuthProvider.d.ts +57 -0
- package/dist/auth/MkAuthProvider.d.ts.map +1 -0
- package/dist/auth/MkAuthProvider.js +282 -0
- package/dist/auth/MkAuthProvider.js.map +1 -0
- package/dist/auth/secureStorage.d.ts +63 -0
- package/dist/auth/secureStorage.d.ts.map +1 -0
- package/dist/auth/secureStorage.js +104 -0
- package/dist/auth/secureStorage.js.map +1 -0
- package/dist/auth/types.d.ts +65 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +10 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/useMkAuth.d.ts +17 -0
- package/dist/auth/useMkAuth.d.ts.map +1 -0
- package/dist/auth/useMkAuth.js +24 -0
- package/dist/auth/useMkAuth.js.map +1 -0
- package/dist/components/MkAccordion.d.ts +19 -0
- package/dist/components/MkAccordion.d.ts.map +1 -0
- package/dist/components/MkAccordion.js +49 -0
- package/dist/components/MkAccordion.js.map +1 -0
- package/dist/components/MkAlert.d.ts +18 -0
- package/dist/components/MkAlert.d.ts.map +1 -0
- package/dist/components/MkAlert.js +35 -0
- package/dist/components/MkAlert.js.map +1 -0
- package/dist/components/MkAvatar.d.ts +12 -0
- package/dist/components/MkAvatar.d.ts.map +1 -0
- package/dist/components/MkAvatar.js +33 -0
- package/dist/components/MkAvatar.js.map +1 -0
- package/dist/components/MkBadge.d.ts +11 -0
- package/dist/components/MkBadge.d.ts.map +1 -0
- package/dist/components/MkBadge.js +22 -0
- package/dist/components/MkBadge.js.map +1 -0
- package/dist/components/MkButton.d.ts +13 -0
- package/dist/components/MkButton.d.ts.map +1 -0
- package/dist/components/MkButton.js +53 -0
- package/dist/components/MkButton.js.map +1 -0
- package/dist/components/MkCard.d.ts +15 -0
- package/dist/components/MkCard.d.ts.map +1 -0
- package/dist/components/MkCard.js +25 -0
- package/dist/components/MkCard.js.map +1 -0
- package/dist/components/MkCheck.d.ts +18 -0
- package/dist/components/MkCheck.d.ts.map +1 -0
- package/dist/components/MkCheck.js +33 -0
- package/dist/components/MkCheck.js.map +1 -0
- package/dist/components/MkDatePicker.d.ts +30 -0
- package/dist/components/MkDatePicker.d.ts.map +1 -0
- package/dist/components/MkDatePicker.js +87 -0
- package/dist/components/MkDatePicker.js.map +1 -0
- package/dist/components/MkDivider.d.ts +11 -0
- package/dist/components/MkDivider.d.ts.map +1 -0
- package/dist/components/MkDivider.js +28 -0
- package/dist/components/MkDivider.js.map +1 -0
- package/dist/components/MkDropDown.d.ts +37 -0
- package/dist/components/MkDropDown.d.ts.map +1 -0
- package/dist/components/MkDropDown.js +82 -0
- package/dist/components/MkDropDown.js.map +1 -0
- package/dist/components/MkEmptyState.d.ts +11 -0
- package/dist/components/MkEmptyState.d.ts.map +1 -0
- package/dist/components/MkEmptyState.js +16 -0
- package/dist/components/MkEmptyState.js.map +1 -0
- package/dist/components/MkFileUpload.d.ts +63 -0
- package/dist/components/MkFileUpload.d.ts.map +1 -0
- package/dist/components/MkFileUpload.js +80 -0
- package/dist/components/MkFileUpload.js.map +1 -0
- package/dist/components/MkIcons.d.ts +15 -0
- package/dist/components/MkIcons.d.ts.map +1 -0
- package/dist/components/MkIcons.js +35 -0
- package/dist/components/MkIcons.js.map +1 -0
- package/dist/components/MkInfiniteList.d.ts +22 -0
- package/dist/components/MkInfiniteList.d.ts.map +1 -0
- package/dist/components/MkInfiniteList.js +62 -0
- package/dist/components/MkInfiniteList.js.map +1 -0
- package/dist/components/MkInput.d.ts +16 -0
- package/dist/components/MkInput.d.ts.map +1 -0
- package/dist/components/MkInput.js +66 -0
- package/dist/components/MkInput.js.map +1 -0
- package/dist/components/MkLoading.d.ts +12 -0
- package/dist/components/MkLoading.d.ts.map +1 -0
- package/dist/components/MkLoading.js +20 -0
- package/dist/components/MkLoading.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 +71 -0
- package/dist/components/MkModal.js.map +1 -0
- package/dist/components/MkProgressBar.d.ts +13 -0
- package/dist/components/MkProgressBar.d.ts.map +1 -0
- package/dist/components/MkProgressBar.js +27 -0
- package/dist/components/MkProgressBar.js.map +1 -0
- package/dist/components/MkRadio.d.ts +20 -0
- package/dist/components/MkRadio.d.ts.map +1 -0
- package/dist/components/MkRadio.js +35 -0
- package/dist/components/MkRadio.js.map +1 -0
- package/dist/components/MkSearchInput.d.ts +21 -0
- package/dist/components/MkSearchInput.d.ts.map +1 -0
- package/dist/components/MkSearchInput.js +44 -0
- package/dist/components/MkSearchInput.js.map +1 -0
- package/dist/components/MkSelect.d.ts +16 -0
- package/dist/components/MkSelect.d.ts.map +1 -0
- package/dist/components/MkSelect.js +75 -0
- package/dist/components/MkSelect.js.map +1 -0
- package/dist/components/MkSkeleton.d.ts +13 -0
- package/dist/components/MkSkeleton.d.ts.map +1 -0
- package/dist/components/MkSkeleton.js +32 -0
- package/dist/components/MkSkeleton.js.map +1 -0
- package/dist/components/MkSwitch.d.ts +13 -0
- package/dist/components/MkSwitch.d.ts.map +1 -0
- package/dist/components/MkSwitch.js +68 -0
- package/dist/components/MkSwitch.js.map +1 -0
- package/dist/components/MkTable.d.ts +39 -0
- package/dist/components/MkTable.d.ts.map +1 -0
- package/dist/components/MkTable.js +47 -0
- package/dist/components/MkTable.js.map +1 -0
- package/dist/components/MkTabs.d.ts +19 -0
- package/dist/components/MkTabs.d.ts.map +1 -0
- package/dist/components/MkTabs.js +38 -0
- package/dist/components/MkTabs.js.map +1 -0
- package/dist/components/MkTextArea.d.ts +17 -0
- package/dist/components/MkTextArea.d.ts.map +1 -0
- package/dist/components/MkTextArea.js +18 -0
- package/dist/components/MkTextArea.js.map +1 -0
- package/dist/components/MkToastRenderer.d.ts +3 -0
- package/dist/components/MkToastRenderer.d.ts.map +1 -0
- package/dist/components/MkToastRenderer.js +133 -0
- package/dist/components/MkToastRenderer.js.map +1 -0
- package/dist/components/MkTooltip.d.ts +15 -0
- package/dist/components/MkTooltip.d.ts.map +1 -0
- package/dist/components/MkTooltip.js +36 -0
- package/dist/components/MkTooltip.js.map +1 -0
- package/dist/components/MkWindowList.d.ts +47 -0
- package/dist/components/MkWindowList.d.ts.map +1 -0
- package/dist/components/MkWindowList.js +50 -0
- package/dist/components/MkWindowList.js.map +1 -0
- package/dist/components/index.d.ts +30 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +33 -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 +27 -0
- package/dist/context/MkApiContext.js.map +1 -0
- package/dist/context/MkAuthContext.d.ts +19 -0
- package/dist/context/MkAuthContext.d.ts.map +1 -0
- package/dist/context/MkAuthContext.js +86 -0
- package/dist/context/MkAuthContext.js.map +1 -0
- package/dist/context/MkConfirmContext.d.ts +8 -0
- package/dist/context/MkConfirmContext.d.ts.map +1 -0
- package/dist/context/MkConfirmContext.js +36 -0
- package/dist/context/MkConfirmContext.js.map +1 -0
- package/dist/context/MkToastContext.d.ts +19 -0
- package/dist/context/MkToastContext.d.ts.map +1 -0
- package/dist/context/MkToastContext.js +86 -0
- package/dist/context/MkToastContext.js.map +1 -0
- package/dist/hooks/filePicker.types.d.ts +13 -0
- package/dist/hooks/filePicker.types.d.ts.map +1 -0
- package/dist/hooks/filePicker.types.js +7 -0
- package/dist/hooks/filePicker.types.js.map +1 -0
- package/dist/hooks/useApi.d.ts +19 -0
- package/dist/hooks/useApi.d.ts.map +1 -0
- package/dist/hooks/useApi.js +78 -0
- package/dist/hooks/useApi.js.map +1 -0
- package/dist/hooks/useApi.test.d.ts +2 -0
- package/dist/hooks/useApi.test.d.ts.map +1 -0
- package/dist/hooks/useApi.test.js +10 -0
- package/dist/hooks/useApi.test.js.map +1 -0
- package/dist/hooks/useMkCrud.d.ts +39 -0
- package/dist/hooks/useMkCrud.d.ts.map +1 -0
- package/dist/hooks/useMkCrud.js +118 -0
- package/dist/hooks/useMkCrud.js.map +1 -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 +6 -0
- package/dist/hooks/useMkEffectDebug.d.ts.map +1 -0
- package/dist/hooks/useMkEffectDebug.js +23 -0
- package/dist/hooks/useMkEffectDebug.js.map +1 -0
- package/dist/hooks/useMkEvent.d.ts +42 -0
- package/dist/hooks/useMkEvent.d.ts.map +1 -0
- package/dist/hooks/useMkEvent.js +49 -0
- package/dist/hooks/useMkEvent.js.map +1 -0
- package/dist/hooks/useMkFilePickerCli.d.ts +59 -0
- package/dist/hooks/useMkFilePickerCli.d.ts.map +1 -0
- package/dist/hooks/useMkFilePickerCli.js +68 -0
- package/dist/hooks/useMkFilePickerCli.js.map +1 -0
- package/dist/hooks/useMkFilePickerExpo.d.ts +38 -0
- package/dist/hooks/useMkFilePickerExpo.d.ts.map +1 -0
- package/dist/hooks/useMkFilePickerExpo.js +68 -0
- package/dist/hooks/useMkFilePickerExpo.js.map +1 -0
- package/dist/hooks/useMkForm.d.ts +43 -0
- package/dist/hooks/useMkForm.d.ts.map +1 -0
- package/dist/hooks/useMkForm.js +115 -0
- package/dist/hooks/useMkForm.js.map +1 -0
- package/dist/hooks/useMkInfiniteList.d.ts +16 -0
- package/dist/hooks/useMkInfiniteList.d.ts.map +1 -0
- package/dist/hooks/useMkInfiniteList.js +58 -0
- package/dist/hooks/useMkInfiniteList.js.map +1 -0
- package/dist/hooks/useMkList.d.ts +61 -0
- package/dist/hooks/useMkList.d.ts.map +1 -0
- package/dist/hooks/useMkList.js +55 -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 +28 -0
- package/dist/hooks/useMkLocalStorage.js.map +1 -0
- package/dist/hooks/useMkPrevious.d.ts +6 -0
- package/dist/hooks/useMkPrevious.d.ts.map +1 -0
- package/dist/hooks/useMkPrevious.js +13 -0
- package/dist/hooks/useMkPrevious.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 +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/theme/MkThemeProvider.d.ts +14 -0
- package/dist/theme/MkThemeProvider.d.ts.map +1 -0
- package/dist/theme/MkThemeProvider.js +22 -0
- package/dist/theme/MkThemeProvider.js.map +1 -0
- package/eslint-plugin-mk/index.js +20 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkSwitch.js","sourceRoot":"","sources":["../../src/components/MkSwitch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewStyle } from 'react-native';
|
|
3
|
+
import type { MkDropdownOptionType } from './MkDropDown';
|
|
4
|
+
/**
|
|
5
|
+
* @module MkTable (Mobile)
|
|
6
|
+
* @description Data table as a FlatList with column headers, sort indicators, row actions, and pagination.
|
|
7
|
+
* Equivalent to mk-web's MkTable — adapted for React Native's layout system.
|
|
8
|
+
*/
|
|
9
|
+
interface Column<T> {
|
|
10
|
+
key: keyof T | string;
|
|
11
|
+
label: string;
|
|
12
|
+
render?: (item: T) => React.ReactNode;
|
|
13
|
+
sortable?: boolean;
|
|
14
|
+
flex?: number;
|
|
15
|
+
}
|
|
16
|
+
interface MkTableProps<T> {
|
|
17
|
+
data: T[];
|
|
18
|
+
columns: Column<T>[];
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
onSort?: (field: string) => void;
|
|
21
|
+
sortField?: string;
|
|
22
|
+
sortOrder?: 'asc' | 'desc';
|
|
23
|
+
pagination?: {
|
|
24
|
+
current_page?: number;
|
|
25
|
+
last_page?: number;
|
|
26
|
+
total?: number;
|
|
27
|
+
};
|
|
28
|
+
onPageChange?: (page: number) => void;
|
|
29
|
+
actions?: (item: T) => MkDropdownOptionType[];
|
|
30
|
+
onAction?: (action: string | number, item: T) => void;
|
|
31
|
+
emptyMessage?: string;
|
|
32
|
+
keyExtractor?: (item: T, index: number) => string;
|
|
33
|
+
onRefresh?: () => void;
|
|
34
|
+
refreshing?: boolean;
|
|
35
|
+
style?: ViewStyle;
|
|
36
|
+
}
|
|
37
|
+
export declare function MkTable<T>({ data, columns, loading, onSort, sortField, sortOrder, pagination, onPageChange, actions, onAction, emptyMessage, keyExtractor, onRefresh, refreshing, style, }: MkTableProps<T>): React.JSX.Element;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=MkTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTable.d.ts","sourceRoot":"","sources":["../../src/components/MkTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAI7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;GAIG;AAEH,UAAU,MAAM,CAAC,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY,CAAC,CAAC;IACpB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,oBAAoB,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACvB,IAAI,EACJ,OAAO,EACP,OAAe,EACf,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAyC,EACzC,YAAY,EACZ,SAAS,EACT,UAAkB,EAClB,KAAK,GACR,EAAE,YAAY,CAAC,CAAC,CAAC,qBAkGjB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
|
+
import { View, Text, FlatList, TouchableOpacity, StyleSheet, ActivityIndicator } from 'react-native';
|
|
4
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
5
|
+
import { tokens } from '@mk/core';
|
|
6
|
+
export function MkTable({ data, columns, loading = false, onSort, sortField, sortOrder, pagination, onPageChange, actions, onAction, emptyMessage = 'No se encontraron datos.', keyExtractor, onRefresh, refreshing = false, style, }) {
|
|
7
|
+
const { theme } = useMkTheme();
|
|
8
|
+
const renderHeader = useCallback(() => (_jsxs(View, { style: [styles.headerRow, { borderBottomColor: theme.border }], children: [columns.map((col) => (_jsx(TouchableOpacity, { disabled: !col.sortable, onPress: () => col.sortable && (onSort === null || onSort === void 0 ? void 0 : onSort(String(col.key))), style: [styles.headerCell, { flex: col.flex || 1 }], activeOpacity: col.sortable ? 0.6 : 1, children: _jsxs(Text, { style: [styles.headerText, { color: theme.mutedForeground }], children: [col.label, col.sortable && sortField === col.key ? (sortOrder === 'asc' ? ' ↑' : ' ↓') : ''] }) }, String(col.key)))), actions && (_jsx(View, { style: [styles.headerCell, { flex: 0.5 }], children: _jsx(Text, { style: [styles.headerText, { color: theme.mutedForeground }], children: "\u22EF" }) }))] })), [columns, sortField, sortOrder, theme, actions, onSort]);
|
|
9
|
+
const renderRow = useCallback(({ item, index }) => (_jsxs(View, { style: [styles.row, { borderBottomColor: theme.border }, index % 2 === 0 && { backgroundColor: theme.muted + '33' }], children: [columns.map((col) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (_jsx(View, { style: [styles.cell, { flex: col.flex || 1 }], children: col.render ? (col.render(item)) : (_jsx(Text, { style: [styles.cellText, { color: theme.foreground }], numberOfLines: 2, children: String((_a = item[col.key]) !== null && _a !== void 0 ? _a : '') })) }, String(col.key)));
|
|
12
|
+
}), actions && onAction && (_jsx(View, { style: [styles.cell, { flex: 0.5, alignItems: 'center' }], children: _jsx(MkRowActions, { options: actions(item), onSelect: (val) => onAction(val, item), theme: theme }) }))] })), [columns, actions, onAction, theme]);
|
|
13
|
+
const renderEmpty = useCallback(() => {
|
|
14
|
+
if (loading)
|
|
15
|
+
return null;
|
|
16
|
+
return (_jsx(View, { style: styles.empty, children: _jsx(Text, { style: [styles.emptyText, { color: theme.mutedForeground }], children: emptyMessage }) }));
|
|
17
|
+
}, [loading, emptyMessage, theme]);
|
|
18
|
+
const renderFooter = useCallback(() => {
|
|
19
|
+
if (loading)
|
|
20
|
+
return _jsx(ActivityIndicator, { style: styles.loader, color: theme.primary });
|
|
21
|
+
if (!pagination || !pagination.last_page || pagination.last_page <= 1)
|
|
22
|
+
return null;
|
|
23
|
+
return (_jsxs(View, { style: [styles.pagination, { borderTopColor: theme.border }], children: [_jsx(TouchableOpacity, { disabled: pagination.current_page === 1, onPress: () => onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange((pagination.current_page || 1) - 1), style: [styles.pageBtn, { borderColor: theme.border }, pagination.current_page === 1 && { opacity: 0.4 }], children: _jsx(Text, { style: { color: theme.foreground, fontSize: 13 }, children: "\u2190 Anterior" }) }), _jsxs(Text, { style: { color: theme.mutedForeground, fontSize: 13 }, children: [pagination.current_page, " / ", pagination.last_page] }), _jsx(TouchableOpacity, { disabled: pagination.current_page === pagination.last_page, onPress: () => onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange((pagination.current_page || 1) + 1), style: [styles.pageBtn, { borderColor: theme.border }, pagination.current_page === pagination.last_page && { opacity: 0.4 }], children: _jsx(Text, { style: { color: theme.foreground, fontSize: 13 }, children: "Siguiente \u2192" }) })] }));
|
|
24
|
+
}, [loading, pagination, onPageChange, theme]);
|
|
25
|
+
return (_jsxs(View, { style: [styles.container, { borderColor: theme.border, borderRadius: tokens.shared.radius }, style], children: [renderHeader(), _jsx(FlatList, { data: data, renderItem: renderRow, keyExtractor: keyExtractor || ((_, i) => String(i)), ListEmptyComponent: renderEmpty, ListFooterComponent: renderFooter, onRefresh: onRefresh, refreshing: refreshing, showsVerticalScrollIndicator: false })] }));
|
|
26
|
+
}
|
|
27
|
+
const MkRowActions = ({ options, onSelect, theme }) => {
|
|
28
|
+
const [open, setOpen] = React.useState(false);
|
|
29
|
+
return (_jsxs(View, { children: [_jsx(TouchableOpacity, { onPress: () => setOpen(!open), activeOpacity: 0.6, children: _jsx(Text, { style: { fontSize: 18, color: theme.mutedForeground }, children: "\u22EE" }) }), open && (_jsx(View, { style: [styles.actionsPopup, { backgroundColor: theme.background, borderColor: theme.border }], children: options.map((opt) => (_jsxs(TouchableOpacity, { onPress: () => { onSelect(opt.value); setOpen(false); }, style: styles.actionItem, children: [opt.icon ? _jsx(View, { style: { marginRight: 8 }, children: opt.icon }) : null, _jsx(Text, { style: { color: theme.foreground, fontSize: 13 }, children: opt.label })] }, String(opt.value)))) }))] }));
|
|
30
|
+
};
|
|
31
|
+
const styles = StyleSheet.create({
|
|
32
|
+
container: { borderWidth: 1, overflow: 'hidden' },
|
|
33
|
+
headerRow: { flexDirection: 'row', borderBottomWidth: 1, paddingVertical: 10, paddingHorizontal: 12 },
|
|
34
|
+
headerCell: { justifyContent: 'center' },
|
|
35
|
+
headerText: { fontSize: 12, fontWeight: '600', textTransform: 'uppercase', letterSpacing: 0.5 },
|
|
36
|
+
row: { flexDirection: 'row', borderBottomWidth: 0.5, paddingVertical: 12, paddingHorizontal: 12, alignItems: 'center' },
|
|
37
|
+
cell: { justifyContent: 'center', paddingRight: 8 },
|
|
38
|
+
cellText: { fontSize: 14 },
|
|
39
|
+
empty: { padding: 32, alignItems: 'center' },
|
|
40
|
+
emptyText: { fontSize: 14 },
|
|
41
|
+
loader: { padding: 16 },
|
|
42
|
+
pagination: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: 12, borderTopWidth: 1 },
|
|
43
|
+
pageBtn: { borderWidth: 1, borderRadius: 6, paddingHorizontal: 12, paddingVertical: 6 },
|
|
44
|
+
actionsPopup: { position: 'absolute', right: 0, top: 24, minWidth: 140, borderWidth: 1, borderRadius: 8, padding: 4, elevation: 8, shadowColor: '#000', shadowOpacity: 0.1, shadowRadius: 8, shadowOffset: { width: 0, height: 4 }, zIndex: 50 },
|
|
45
|
+
actionItem: { flexDirection: 'row', alignItems: 'center', paddingVertical: 8, paddingHorizontal: 12, borderRadius: 4 },
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=MkTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTable.js","sourceRoot":"","sources":["../../src/components/MkTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAuClC,MAAM,UAAU,OAAO,CAAI,EACvB,IAAI,EACJ,OAAO,EACP,OAAO,GAAG,KAAK,EACf,MAAM,EACN,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAY,GAAG,0BAA0B,EACzC,YAAY,EACZ,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,GACS;IACd,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CACnC,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,aAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,KAAC,gBAAgB,IAEb,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA,EACxD,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EACnD,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAErC,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,aAC7D,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,QAAQ,IAAI,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAC9E,IATF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAUL,CACtB,CAAC,EACD,OAAO,IAAI,CACR,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,uBAAU,GACzE,CACV,IACE,CACV,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAA8B,EAAE,EAAE,CAAC,CAC3E,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,aACrH,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;gBAAC,OAAA,CAClB,KAAC,IAAI,IAAuB,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,YACpE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CACV,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CACnB,CAAC,CAAC,CAAC,CACA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,YACxE,MAAM,CAAC,MAAC,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,GAClC,CACV,IAPM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAQnB,CACV,CAAA;aAAA,CAAC,EACD,OAAO,IAAI,QAAQ,IAAI,CACpB,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,YAC3D,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAI,GAC3F,CACV,IACE,CACV,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,CACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YACrB,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,YAAG,YAAY,GAAQ,GACrF,CACV,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;QACtF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnF,OAAO,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,aAC9D,KAAC,gBAAgB,IACb,QAAQ,EAAE,UAAU,CAAC,YAAY,KAAK,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EACjE,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAEzG,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,gCAAmB,GAC1D,EACnB,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,aACtD,UAAU,CAAC,YAAY,SAAK,UAAU,CAAC,SAAS,IAC9C,EACP,KAAC,gBAAgB,IACb,QAAQ,EAAE,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,SAAS,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EACjE,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAE5H,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,iCAAoB,GAC3D,IAChB,CACV,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/C,OAAO,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,aACpG,YAAY,EAAE,EACf,KAAC,QAAQ,IACL,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnD,kBAAkB,EAAE,WAAW,EAC/B,mBAAmB,EAAE,YAAY,EACjC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,4BAA4B,EAAE,KAAK,GACrC,IACC,CACV,CAAC;AACN,CAAC;AAED,MAAM,YAAY,GAIb,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAClC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CACH,MAAC,IAAI,eACD,KAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,YAC/D,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,uBAAU,GACtD,EAClB,IAAI,IAAI,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,YAC/F,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,MAAC,gBAAgB,IAEb,OAAO,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvD,KAAK,EAAE,MAAM,CAAC,UAAU,aAEvB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAG,GAAG,CAAC,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EACrE,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAG,GAAG,CAAC,KAAK,GAAQ,KALrE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAMP,CACtB,CAAC,GACC,CACV,IACE,CACV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACjD,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;IACrG,UAAU,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;IACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE;IAC/F,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IACvH,IAAI,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE;IACnD,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC5C,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACvB,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE;IAC3H,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE;IACvF,YAAY,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAChP,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;CACzH,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewStyle } from 'react-native';
|
|
3
|
+
export interface MkTabItem {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
badge?: number | string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface MkTabsProps {
|
|
11
|
+
tabs: MkTabItem[];
|
|
12
|
+
activeKey?: string;
|
|
13
|
+
onChange?: (key: string) => void;
|
|
14
|
+
variant?: 'underline' | 'pills' | 'segmented';
|
|
15
|
+
size?: 'sm' | 'md';
|
|
16
|
+
style?: ViewStyle;
|
|
17
|
+
}
|
|
18
|
+
export declare const MkTabs: React.FC<MkTabsProps>;
|
|
19
|
+
//# sourceMappingURL=MkTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTabs.d.ts","sourceRoot":"","sources":["../../src/components/MkTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAgExC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { View, Text, TouchableOpacity, ScrollView, StyleSheet } from 'react-native';
|
|
4
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
5
|
+
import { tokens } from '@mk/core';
|
|
6
|
+
export const MkTabs = ({ tabs, activeKey, onChange, variant = 'underline', size = 'md', style, }) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const { theme } = useMkTheme();
|
|
9
|
+
const [internalKey, setInternalKey] = useState((_b = (_a = tabs[0]) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '');
|
|
10
|
+
const currentKey = activeKey !== null && activeKey !== void 0 ? activeKey : internalKey;
|
|
11
|
+
const fontSize = size === 'sm' ? 13 : 14;
|
|
12
|
+
const handleSelect = useCallback((key) => {
|
|
13
|
+
setInternalKey(key);
|
|
14
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(key);
|
|
15
|
+
}, [onChange]);
|
|
16
|
+
const containerStyle = variant === 'segmented'
|
|
17
|
+
? { backgroundColor: theme.muted, borderRadius: tokens.shared.radius, padding: 3, gap: 2 }
|
|
18
|
+
: variant === 'pills'
|
|
19
|
+
? { gap: 6 }
|
|
20
|
+
: { borderBottomWidth: 1, borderBottomColor: theme.border };
|
|
21
|
+
return (_jsx(ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, style: style, children: _jsx(View, { style: [styles.container, containerStyle], children: tabs.map((tab) => {
|
|
22
|
+
const isActive = currentKey === tab.key;
|
|
23
|
+
const tabStyle = variant === 'segmented'
|
|
24
|
+
? Object.assign({ borderRadius: tokens.shared.radius - 2 }, (isActive ? { backgroundColor: theme.background, elevation: 1, shadowColor: '#000', shadowOpacity: 0.08, shadowRadius: 2, shadowOffset: { width: 0, height: 1 } } : {})) : variant === 'pills'
|
|
25
|
+
? Object.assign({ borderRadius: 999 }, (isActive ? { backgroundColor: theme.primary } : {})) : { borderBottomWidth: 2, borderBottomColor: isActive ? theme.primary : 'transparent' };
|
|
26
|
+
const textColor = variant === 'pills' && isActive ? theme.primaryForeground
|
|
27
|
+
: isActive ? (variant === 'underline' ? theme.primary : theme.foreground)
|
|
28
|
+
: theme.mutedForeground;
|
|
29
|
+
return (_jsxs(TouchableOpacity, { onPress: () => handleSelect(tab.key), disabled: tab.disabled, activeOpacity: 0.7, style: [styles.tab, tabStyle, tab.disabled && { opacity: 0.4 }], children: [tab.icon ? _jsx(View, { style: { marginRight: 4 }, children: tab.icon }) : null, _jsx(Text, { style: [{ color: textColor, fontSize, fontWeight: isActive ? '600' : '400' }], children: tab.label }), tab.badge != null ? (_jsx(View, { style: [styles.badge, { backgroundColor: theme.primary }], children: _jsx(Text, { style: [styles.badgeText, { color: theme.primaryForeground }], children: tab.badge }) })) : null] }, tab.key));
|
|
30
|
+
}) }) }));
|
|
31
|
+
};
|
|
32
|
+
const styles = StyleSheet.create({
|
|
33
|
+
container: { flexDirection: 'row', alignItems: 'center' },
|
|
34
|
+
tab: { flexDirection: 'row', alignItems: 'center', paddingVertical: 10, paddingHorizontal: 14, gap: 4 },
|
|
35
|
+
badge: { paddingHorizontal: 6, paddingVertical: 1, borderRadius: 999, minWidth: 18, alignItems: 'center' },
|
|
36
|
+
badgeText: { fontSize: 10, fontWeight: '600' },
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=MkTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTabs.js","sourceRoot":"","sources":["../../src/components/MkTabs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewStyle } from 'react-native';
|
|
3
|
+
export interface MkTextAreaProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
error?: string;
|
|
6
|
+
helperText?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
onChangeText?: (text: string) => void;
|
|
10
|
+
rows?: number;
|
|
11
|
+
maxLength?: number;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
showCount?: boolean;
|
|
14
|
+
style?: ViewStyle;
|
|
15
|
+
}
|
|
16
|
+
export declare const MkTextArea: React.FC<MkTextAreaProps>;
|
|
17
|
+
//# sourceMappingURL=MkTextArea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTextArea.d.ts","sourceRoot":"","sources":["../../src/components/MkTextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4ChD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { View, TextInput, Text, StyleSheet } from 'react-native';
|
|
3
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
4
|
+
import { tokens } from '@mk/core';
|
|
5
|
+
export const MkTextArea = ({ label, error, helperText, placeholder, value = '', onChangeText, rows = 4, maxLength, disabled = false, showCount = false, style, }) => {
|
|
6
|
+
const { theme } = useMkTheme();
|
|
7
|
+
return (_jsxs(View, { style: [styles.container, style], children: [label ? _jsx(Text, { style: [styles.label, { color: theme.foreground }], children: label }) : null, _jsx(View, { style: [styles.wrapper, { borderColor: error ? theme.error : theme.border, backgroundColor: theme.background }], children: _jsx(TextInput, { style: [styles.input, { color: theme.foreground, minHeight: rows * 24 }], placeholder: placeholder, placeholderTextColor: theme.mutedForeground, value: value, onChangeText: onChangeText, multiline: true, numberOfLines: rows, maxLength: maxLength, editable: !disabled, textAlignVertical: "top" }) }), _jsxs(View, { style: styles.footer, children: [error ? (_jsx(Text, { style: [styles.errorText, { color: theme.error }], children: error })) : helperText ? (_jsx(Text, { style: [styles.helperText, { color: theme.mutedForeground }], children: helperText })) : _jsx(View, {}), showCount && maxLength ? (_jsxs(Text, { style: [styles.helperText, { color: theme.mutedForeground }], children: [value.length, "/", maxLength] })) : null] })] }));
|
|
8
|
+
};
|
|
9
|
+
const styles = StyleSheet.create({
|
|
10
|
+
container: { gap: 6, marginBottom: 12 },
|
|
11
|
+
label: { fontSize: 14, fontWeight: '500', opacity: 0.9 },
|
|
12
|
+
wrapper: { borderWidth: 1, borderRadius: tokens.shared.radius },
|
|
13
|
+
input: { paddingHorizontal: 12, paddingVertical: 10, fontSize: 16 },
|
|
14
|
+
footer: { flexDirection: 'row', justifyContent: 'space-between' },
|
|
15
|
+
errorText: { fontSize: 12, fontWeight: '500' },
|
|
16
|
+
helperText: { fontSize: 12, opacity: 0.8 },
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=MkTextArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTextArea.js","sourceRoot":"","sources":["../../src/components/MkTextArea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkToastRenderer.d.ts","sourceRoot":"","sources":["../../src/components/MkToastRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAyC9D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAkBnC,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useRef, useCallback } from 'react';
|
|
3
|
+
import { View, Text, TouchableOpacity, Animated, StyleSheet, Dimensions } from 'react-native';
|
|
4
|
+
import { useMkToast } from '../context/MkToastContext';
|
|
5
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
6
|
+
/**
|
|
7
|
+
* @module MkToastRenderer (Mobile)
|
|
8
|
+
* @description Animated toast renderer for React Native.
|
|
9
|
+
* Equivalent to mk-web's MkToastContainer — renders toasts from MkToastContext
|
|
10
|
+
* with slide-in animations and progress tracking.
|
|
11
|
+
*
|
|
12
|
+
* Place this component inside <MkToastProvider> at the app root.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <MkToastProvider>
|
|
17
|
+
* <App />
|
|
18
|
+
* <MkToastRenderer />
|
|
19
|
+
* </MkToastProvider>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
const { width: SCREEN_WIDTH } = Dimensions.get('window');
|
|
23
|
+
const TYPE_COLORS = {
|
|
24
|
+
default: '#6366f1',
|
|
25
|
+
success: '#22c55e',
|
|
26
|
+
error: '#ef4444',
|
|
27
|
+
warning: '#f59e0b',
|
|
28
|
+
info: '#3b82f6',
|
|
29
|
+
};
|
|
30
|
+
const TYPE_ICONS = {
|
|
31
|
+
default: '🔔',
|
|
32
|
+
success: '✅',
|
|
33
|
+
error: '❌',
|
|
34
|
+
warning: '⚠️',
|
|
35
|
+
info: 'ℹ️',
|
|
36
|
+
};
|
|
37
|
+
export const MkToastRenderer = () => {
|
|
38
|
+
const { toasts, dismissToast } = useMkToast();
|
|
39
|
+
const { theme } = useMkTheme();
|
|
40
|
+
if (toasts.length === 0)
|
|
41
|
+
return null;
|
|
42
|
+
return (_jsx(View, { style: styles.container, pointerEvents: "box-none", children: toasts.map((toast) => (_jsx(ToastItem, { toast: toast, onDismiss: dismissToast, theme: theme }, toast.id))) }));
|
|
43
|
+
};
|
|
44
|
+
const ToastItem = React.memo(({ toast, onDismiss, theme }) => {
|
|
45
|
+
const translateY = useRef(new Animated.Value(-80)).current;
|
|
46
|
+
const opacity = useRef(new Animated.Value(0)).current;
|
|
47
|
+
const progress = useRef(new Animated.Value(1)).current;
|
|
48
|
+
const typeColor = TYPE_COLORS[toast.options.type || 'default'] || TYPE_COLORS.default;
|
|
49
|
+
const typeIcon = TYPE_ICONS[toast.options.type || 'default'] || TYPE_ICONS.default;
|
|
50
|
+
const timeout = toast.options.timeout || 4000;
|
|
51
|
+
const handleDismiss = useCallback(() => {
|
|
52
|
+
Animated.parallel([
|
|
53
|
+
Animated.timing(translateY, { toValue: -80, duration: 250, useNativeDriver: true }),
|
|
54
|
+
Animated.timing(opacity, { toValue: 0, duration: 250, useNativeDriver: true }),
|
|
55
|
+
]).start(() => onDismiss(toast.id));
|
|
56
|
+
}, [toast.id, onDismiss, translateY, opacity]);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
// Slide in
|
|
59
|
+
Animated.parallel([
|
|
60
|
+
Animated.spring(translateY, { toValue: 0, useNativeDriver: true, tension: 60, friction: 10 }),
|
|
61
|
+
Animated.timing(opacity, { toValue: 1, duration: 200, useNativeDriver: true }),
|
|
62
|
+
]).start();
|
|
63
|
+
// Progress bar (native driver using translateX)
|
|
64
|
+
if (timeout > 0) {
|
|
65
|
+
Animated.timing(progress, {
|
|
66
|
+
toValue: 0,
|
|
67
|
+
duration: timeout,
|
|
68
|
+
useNativeDriver: true,
|
|
69
|
+
}).start(({ finished }) => {
|
|
70
|
+
if (finished)
|
|
71
|
+
handleDismiss();
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}, []);
|
|
75
|
+
const translateX = progress.interpolate({
|
|
76
|
+
inputRange: [0, 1],
|
|
77
|
+
outputRange: [-(SCREEN_WIDTH - 32), 0],
|
|
78
|
+
});
|
|
79
|
+
return (_jsxs(Animated.View, { style: [
|
|
80
|
+
styles.toast,
|
|
81
|
+
{
|
|
82
|
+
backgroundColor: theme.background,
|
|
83
|
+
borderLeftColor: typeColor,
|
|
84
|
+
transform: [{ translateY }],
|
|
85
|
+
opacity,
|
|
86
|
+
},
|
|
87
|
+
], children: [_jsxs(View, { style: styles.content, children: [_jsx(Text, { style: styles.icon, children: typeIcon }), _jsx(Text, { style: [styles.text, { color: theme.foreground }], numberOfLines: 3, children: typeof toast.content === 'string' ? toast.content : 'Notification' }), _jsx(TouchableOpacity, { onPress: handleDismiss, hitSlop: { top: 10, bottom: 10, left: 10, right: 10 }, children: _jsx(Text, { style: [styles.close, { color: theme.mutedForeground }], children: "\u2715" }) })] }), timeout > 0 && (_jsx(Animated.View, { style: [
|
|
88
|
+
styles.progressBar,
|
|
89
|
+
{
|
|
90
|
+
width: '100%',
|
|
91
|
+
transform: [{ translateX }],
|
|
92
|
+
backgroundColor: typeColor,
|
|
93
|
+
},
|
|
94
|
+
] }))] }));
|
|
95
|
+
});
|
|
96
|
+
const styles = StyleSheet.create({
|
|
97
|
+
container: {
|
|
98
|
+
position: 'absolute',
|
|
99
|
+
top: 50,
|
|
100
|
+
left: 16,
|
|
101
|
+
right: 16,
|
|
102
|
+
zIndex: 9999,
|
|
103
|
+
gap: 8,
|
|
104
|
+
},
|
|
105
|
+
toast: {
|
|
106
|
+
borderRadius: 8,
|
|
107
|
+
borderLeftWidth: 4,
|
|
108
|
+
overflow: 'hidden',
|
|
109
|
+
elevation: 8,
|
|
110
|
+
shadowColor: '#000',
|
|
111
|
+
shadowOpacity: 0.12,
|
|
112
|
+
shadowRadius: 12,
|
|
113
|
+
shadowOffset: { width: 0, height: 4 },
|
|
114
|
+
},
|
|
115
|
+
content: {
|
|
116
|
+
flexDirection: 'row',
|
|
117
|
+
alignItems: 'center',
|
|
118
|
+
gap: 10,
|
|
119
|
+
paddingVertical: 12,
|
|
120
|
+
paddingHorizontal: 14,
|
|
121
|
+
},
|
|
122
|
+
icon: { fontSize: 18, flexShrink: 0 },
|
|
123
|
+
text: { flex: 1, fontSize: 14, fontWeight: '500' },
|
|
124
|
+
close: { fontSize: 16, fontWeight: '600', paddingLeft: 8 },
|
|
125
|
+
progressBar: {
|
|
126
|
+
height: 3,
|
|
127
|
+
position: 'absolute',
|
|
128
|
+
bottom: 0,
|
|
129
|
+
left: 0,
|
|
130
|
+
opacity: 0.5,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=MkToastRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkToastRenderer.js","sourceRoot":"","sources":["../../src/components/MkToastRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewStyle } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* @module MkTooltip (Mobile)
|
|
5
|
+
* @description Long-press tooltip/popover for mobile. Shows info on press since hover doesn't exist in RN.
|
|
6
|
+
* Same conceptual API as web MkTooltip — adapted for touch interaction.
|
|
7
|
+
*/
|
|
8
|
+
export interface MkTooltipProps {
|
|
9
|
+
content: string;
|
|
10
|
+
position?: 'top' | 'bottom';
|
|
11
|
+
children: React.ReactElement;
|
|
12
|
+
style?: ViewStyle;
|
|
13
|
+
}
|
|
14
|
+
export declare const MkTooltip: React.FC<MkTooltipProps>;
|
|
15
|
+
//# sourceMappingURL=MkTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTooltip.d.ts","sourceRoot":"","sources":["../../src/components/MkTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C;;;;GAIG;AAEH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8B9C,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
|
|
4
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
5
|
+
export const MkTooltip = ({ content, position = 'top', children, style, }) => {
|
|
6
|
+
const { theme } = useMkTheme();
|
|
7
|
+
const [visible, setVisible] = useState(false);
|
|
8
|
+
const handlePress = useCallback(() => {
|
|
9
|
+
setVisible(true);
|
|
10
|
+
setTimeout(() => setVisible(false), 2500);
|
|
11
|
+
}, []);
|
|
12
|
+
return (_jsxs(View, { style: style, children: [_jsx(TouchableOpacity, { onLongPress: handlePress, activeOpacity: 0.8, delayLongPress: 300, children: children }), visible && (_jsx(View, { style: [
|
|
13
|
+
styles.tooltip,
|
|
14
|
+
{ backgroundColor: theme.foreground },
|
|
15
|
+
position === 'top' ? styles.top : styles.bottom,
|
|
16
|
+
], children: _jsx(Text, { style: [styles.text, { color: theme.background }], children: content }) }))] }));
|
|
17
|
+
};
|
|
18
|
+
const styles = StyleSheet.create({
|
|
19
|
+
tooltip: {
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
zIndex: 100,
|
|
22
|
+
paddingVertical: 8,
|
|
23
|
+
paddingHorizontal: 12,
|
|
24
|
+
borderRadius: 6,
|
|
25
|
+
elevation: 8,
|
|
26
|
+
shadowColor: '#000',
|
|
27
|
+
shadowOpacity: 0.12,
|
|
28
|
+
shadowRadius: 8,
|
|
29
|
+
shadowOffset: { width: 0, height: 4 },
|
|
30
|
+
alignSelf: 'center',
|
|
31
|
+
},
|
|
32
|
+
top: { bottom: '110%', left: 0, right: 0 },
|
|
33
|
+
bottom: { top: '110%', left: 0, right: 0 },
|
|
34
|
+
text: { fontSize: 13, lineHeight: 18, textAlign: 'center' },
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=MkTooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkTooltip.js","sourceRoot":"","sources":["../../src/components/MkTooltip.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAetD,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAChD,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,KAAK,GACR,EAAE,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aACd,KAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,YAC9E,QAAQ,GACM,EAClB,OAAO,IAAI,CACR,KAAC,IAAI,IAAC,KAAK,EAAE;oBACT,MAAM,CAAC,OAAO;oBACd,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,EAAE;oBACrC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;iBAClD,YACG,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,YAAG,OAAO,GAAQ,GACtE,CACV,IACE,CACV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,GAAG;QACX,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,SAAS,EAAE,QAAQ;KACtB;IACD,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1C,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1C,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;CAC9D,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ViewStyle } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* @module MkWindowList (Mobile)
|
|
5
|
+
* @description High-performance virtualized list backed by FlashList.
|
|
6
|
+
* Equivalent API to mk-web's MkWindowList — same props for items, renderItem, loading, hasMore, etc.
|
|
7
|
+
*
|
|
8
|
+
* RN's FlatList natively virtualizes, so this is a thin wrapper that:
|
|
9
|
+
* 1. Standardizes the API to match web's MkWindowList
|
|
10
|
+
* 2. Adds infinite scroll (onEndReached → onLoadMore)
|
|
11
|
+
* 3. Handles empty states and loading indicators
|
|
12
|
+
* 4. Provides pull-to-refresh
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <MkWindowList
|
|
17
|
+
* items={products}
|
|
18
|
+
* renderItem={(item, index) => <ProductCard product={item} />}
|
|
19
|
+
* itemHeight={80}
|
|
20
|
+
* loading={loading}
|
|
21
|
+
* hasMore={hasMore}
|
|
22
|
+
* onLoadMore={loadMore}
|
|
23
|
+
* onRefresh={refresh}
|
|
24
|
+
* />
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export interface MkWindowListProps<T> {
|
|
28
|
+
items: T[];
|
|
29
|
+
renderItem: (item: T, index: number) => React.ReactElement;
|
|
30
|
+
/** Estimated item height for FlashList optimization. */
|
|
31
|
+
itemHeight: number;
|
|
32
|
+
/** Container height — in mobile this is typically flex-auto. Can pass explicit value. */
|
|
33
|
+
containerHeight?: number;
|
|
34
|
+
/** Extra items to render outside viewport. Default 5. */
|
|
35
|
+
overscan?: number;
|
|
36
|
+
loading?: boolean;
|
|
37
|
+
hasMore?: boolean;
|
|
38
|
+
onLoadMore?: () => void;
|
|
39
|
+
emptyMessage?: string;
|
|
40
|
+
/** Pull-to-refresh handler. */
|
|
41
|
+
onRefresh?: () => void;
|
|
42
|
+
refreshing?: boolean;
|
|
43
|
+
keyExtractor?: (item: T, index: number) => string;
|
|
44
|
+
style?: ViewStyle;
|
|
45
|
+
}
|
|
46
|
+
export declare function MkWindowList<T>({ items, renderItem, itemHeight, containerHeight, overscan, loading, hasMore, onLoadMore, emptyMessage, onRefresh, refreshing, keyExtractor, style, }: MkWindowListProps<T>): React.JSX.Element;
|
|
47
|
+
//# sourceMappingURL=MkWindowList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkWindowList.d.ts","sourceRoot":"","sources":["../../src/components/MkWindowList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAC3D,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC5B,KAAK,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAY,EACZ,OAAe,EACf,OAAe,EACf,UAAU,EACV,YAAyC,EACzC,SAAS,EACT,UAAkB,EAClB,YAAY,EACZ,KAAK,GACR,EAAE,iBAAiB,CAAC,CAAC,CAAC,qBAiEtB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useRef, useEffect } from 'react';
|
|
3
|
+
import { View, Text, ActivityIndicator, StyleSheet } from 'react-native';
|
|
4
|
+
import { FlashList } from '@shopify/flash-list';
|
|
5
|
+
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
6
|
+
export function MkWindowList({ items, renderItem, itemHeight, containerHeight, overscan = 5, loading = false, hasMore = false, onLoadMore, emptyMessage = 'No se encontraron datos.', onRefresh, refreshing = false, keyExtractor, style, }) {
|
|
7
|
+
const { theme } = useMkTheme();
|
|
8
|
+
// Use a ref for renderItem to avoid invalidating the FlashList recycling.
|
|
9
|
+
const renderItemRef = useRef(renderItem);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
renderItemRef.current = renderItem;
|
|
12
|
+
}, [renderItem]);
|
|
13
|
+
const handleRenderItem = useCallback(({ item, index }) => renderItemRef.current(item, index), []);
|
|
14
|
+
const handleKeyExtractor = useCallback((item, index) => {
|
|
15
|
+
if (keyExtractor)
|
|
16
|
+
return keyExtractor(item, index);
|
|
17
|
+
if (item && typeof item === 'object') {
|
|
18
|
+
if (item.id !== undefined && item.id !== null)
|
|
19
|
+
return String(item.id);
|
|
20
|
+
if (item.uuid !== undefined && item.uuid !== null)
|
|
21
|
+
return String(item.uuid);
|
|
22
|
+
if (item.key !== undefined && item.key !== null)
|
|
23
|
+
return String(item.key);
|
|
24
|
+
}
|
|
25
|
+
return String(index);
|
|
26
|
+
}, [keyExtractor]);
|
|
27
|
+
const handleEndReached = useCallback(() => {
|
|
28
|
+
if (hasMore && !loading && onLoadMore) {
|
|
29
|
+
onLoadMore();
|
|
30
|
+
}
|
|
31
|
+
}, [hasMore, loading, onLoadMore]);
|
|
32
|
+
const renderFooter = useCallback(() => {
|
|
33
|
+
if (!loading)
|
|
34
|
+
return null;
|
|
35
|
+
return (_jsxs(View, { style: styles.footer, children: [_jsx(ActivityIndicator, { color: theme.primary }), _jsx(Text, { style: [styles.footerText, { color: theme.mutedForeground }], children: "Cargando m\u00E1s..." })] }));
|
|
36
|
+
}, [loading, theme]);
|
|
37
|
+
const renderEmpty = useCallback(() => {
|
|
38
|
+
if (loading)
|
|
39
|
+
return null;
|
|
40
|
+
return (_jsx(View, { style: styles.empty, children: _jsx(Text, { style: [styles.emptyText, { color: theme.mutedForeground }], children: emptyMessage }) }));
|
|
41
|
+
}, [loading, emptyMessage, theme]);
|
|
42
|
+
return (_jsx(FlashList, { data: items, renderItem: handleRenderItem, keyExtractor: handleKeyExtractor, estimatedItemSize: itemHeight, onEndReached: handleEndReached, onEndReachedThreshold: 0.5, onRefresh: onRefresh, refreshing: refreshing, ListFooterComponent: renderFooter, ListEmptyComponent: renderEmpty, showsVerticalScrollIndicator: false, style: [containerHeight ? { height: containerHeight } : { flex: 1 }, style] }));
|
|
43
|
+
}
|
|
44
|
+
const styles = StyleSheet.create({
|
|
45
|
+
footer: { flexDirection: 'row', alignItems: 'center', justifyContent: 'center', gap: 8, padding: 16 },
|
|
46
|
+
footerText: { fontSize: 13 },
|
|
47
|
+
empty: { padding: 32, alignItems: 'center' },
|
|
48
|
+
emptyText: { fontSize: 14 },
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=MkWindowList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MkWindowList.js","sourceRoot":"","sources":["../../src/components/MkWindowList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export * from './MkButton';
|
|
2
|
+
export * from './MkInput';
|
|
3
|
+
export * from './MkTextArea';
|
|
4
|
+
export * from './MkCheck';
|
|
5
|
+
export * from './MkSwitch';
|
|
6
|
+
export * from './MkRadio';
|
|
7
|
+
export * from './MkSelect';
|
|
8
|
+
export * from './MkFileUpload';
|
|
9
|
+
export * from './MkSearchInput';
|
|
10
|
+
export * from './MkDatePicker';
|
|
11
|
+
export * from './MkAccordion';
|
|
12
|
+
export * from './MkAlert';
|
|
13
|
+
export * from './MkAvatar';
|
|
14
|
+
export * from './MkBadge';
|
|
15
|
+
export * from './MkCard';
|
|
16
|
+
export * from './MkDivider';
|
|
17
|
+
export * from './MkEmptyState';
|
|
18
|
+
export * from './MkLoading';
|
|
19
|
+
export * from './MkProgressBar';
|
|
20
|
+
export * from './MkSkeleton';
|
|
21
|
+
export * from './MkTabs';
|
|
22
|
+
export * from './MkTooltip';
|
|
23
|
+
export * from './MkModal';
|
|
24
|
+
export * from './MkDropDown';
|
|
25
|
+
export * from './MkToastRenderer';
|
|
26
|
+
export * from './MkTable';
|
|
27
|
+
export * from './MkInfiniteList';
|
|
28
|
+
export * from './MkWindowList';
|
|
29
|
+
export * from './MkIcons';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|