@makroz/mobile 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/MkTable.d.ts +14 -1
- package/dist/components/MkTable.d.ts.map +1 -1
- package/dist/components/MkTable.js +14 -1
- package/dist/components/MkTable.js.map +1 -1
- package/dist/context/MkAuthContext.d.ts +15 -0
- package/dist/hooks/useMkInfiniteList.d.ts.map +1 -1
- package/dist/hooks/useMkInfiniteList.js +5 -1
- package/dist/hooks/useMkInfiniteList.js.map +1 -1
- package/dist/hooks/useMkInfiniteList.test.js +3 -1
- package/dist/hooks/useMkInfiniteList.test.js.map +1 -1
- package/dist/hooks/useMkList.d.ts +36 -11
- package/dist/hooks/useMkList.d.ts.map +1 -1
- package/dist/hooks/useMkList.js +16 -12
- package/dist/hooks/useMkList.js.map +1 -1
- package/dist/hooks/useMkList.test.js +67 -37
- package/dist/hooks/useMkList.test.js.map +1 -1
- package/package.json +17 -19
- package/LICENSE +0 -33
|
@@ -34,6 +34,19 @@ interface MkTableProps<T> {
|
|
|
34
34
|
refreshing?: boolean;
|
|
35
35
|
style?: ViewStyle;
|
|
36
36
|
}
|
|
37
|
-
export declare function MkTable<T>({ data, columns, loading, onSort, sortField, sortOrder,
|
|
37
|
+
export declare function MkTable<T>({ data, columns, loading, onSort, sortField, sortOrder,
|
|
38
|
+
/**
|
|
39
|
+
* Pagination metadata, GROUPED under `__extraData.pagination`
|
|
40
|
+
* (R-PKG-032). Shape: { current_page, last_page, per_page,
|
|
41
|
+
* total, has_more_pages } for LengthAwarePaginator;
|
|
42
|
+
* { per_page, next_cursor, prev_cursor } for CursorPaginator.
|
|
43
|
+
*
|
|
44
|
+
* The `pagination` prop is the value exposed by `useMkList` —
|
|
45
|
+
* already grouped (not flat). Callers that wire MkTable directly
|
|
46
|
+
* must supply the grouped object, not flat `last_page` etc.
|
|
47
|
+
*
|
|
48
|
+
* @see R-PKG-032 (binding rule, rules_orchestration.md).
|
|
49
|
+
*/
|
|
50
|
+
pagination, onPageChange, actions, onAction, emptyMessage, keyExtractor, onRefresh, refreshing, style, }: MkTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
38
51
|
export {};
|
|
39
52
|
//# sourceMappingURL=MkTable.d.ts.map
|
|
@@ -1 +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,
|
|
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;AACT;;;;;;;;;;;GAWG;AACH,UAAU,EACV,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAyC,EACzC,YAAY,EACZ,SAAS,EACT,UAAkB,EAClB,KAAK,GACR,EAAE,YAAY,CAAC,CAAC,CAAC,2CAkGjB"}
|
|
@@ -3,7 +3,20 @@ import React, { useCallback } from 'react';
|
|
|
3
3
|
import { View, Text, FlatList, TouchableOpacity, StyleSheet, ActivityIndicator } from 'react-native';
|
|
4
4
|
import { useMkTheme } from '../theme/MkThemeProvider';
|
|
5
5
|
import { tokens } from '@makroz/core';
|
|
6
|
-
export function MkTable({ data, columns, loading = false, onSort, sortField, sortOrder,
|
|
6
|
+
export function MkTable({ data, columns, loading = false, onSort, sortField, sortOrder,
|
|
7
|
+
/**
|
|
8
|
+
* Pagination metadata, GROUPED under `__extraData.pagination`
|
|
9
|
+
* (R-PKG-032). Shape: { current_page, last_page, per_page,
|
|
10
|
+
* total, has_more_pages } for LengthAwarePaginator;
|
|
11
|
+
* { per_page, next_cursor, prev_cursor } for CursorPaginator.
|
|
12
|
+
*
|
|
13
|
+
* The `pagination` prop is the value exposed by `useMkList` —
|
|
14
|
+
* already grouped (not flat). Callers that wire MkTable directly
|
|
15
|
+
* must supply the grouped object, not flat `last_page` etc.
|
|
16
|
+
*
|
|
17
|
+
* @see R-PKG-032 (binding rule, rules_orchestration.md).
|
|
18
|
+
*/
|
|
19
|
+
pagination, onPageChange, actions, onAction, emptyMessage = 'No se encontraron datos.', keyExtractor, onRefresh, refreshing = false, style, }) {
|
|
7
20
|
const { theme } = useMkTheme();
|
|
8
21
|
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
22
|
const renderRow = useCallback(({ item, index }) => (_jsxs(View, { style: [styles.row, { borderBottomColor: theme.border }, index % 2 === 0 && { backgroundColor: theme.muted + '33' }], children: [columns.map((col) => {
|
|
@@ -1 +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,cAAc,CAAC;AAuCtC,MAAM,UAAU,OAAO,CAAI,EACvB,IAAI,EACJ,OAAO,EACP,OAAO,GAAG,KAAK,EACf,MAAM,EACN,SAAS,EACT,SAAS,
|
|
1
|
+
{"version":3,"file":"MkTable.js","sourceRoot":"","sources":["../../src/components/MkTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { MkAuthContextType } from '@makroz/core';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use the new Auth module located in `src/auth/` instead.
|
|
6
|
+
* This legacy context is kept for backward compatibility only and will be removed in future releases.
|
|
7
|
+
* Migrate to `MkAuthProvider` from `src/auth/MkAuthProvider.tsx`.
|
|
8
|
+
*/
|
|
4
9
|
export interface MkAuthProviderProps {
|
|
5
10
|
children: ReactNode;
|
|
6
11
|
endpoints?: {
|
|
@@ -14,6 +19,16 @@ export interface MkAuthProviderProps {
|
|
|
14
19
|
removeItem: (key: string) => Promise<void> | void;
|
|
15
20
|
};
|
|
16
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use `MkAuthProvider` from `@makroz/mobile` (backed by `src/auth/MkAuthProvider.tsx`) instead.
|
|
24
|
+
* The new provider uses SecureStore for token persistence and scope-aware authentication.
|
|
25
|
+
* This legacy provider is kept for backward compatibility only and will be removed in future releases.
|
|
26
|
+
*/
|
|
17
27
|
export declare const MkAuthProvider: React.FC<MkAuthProviderProps>;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use `useMkAuth` from `@makroz/mobile` (backed by `src/auth/useMkAuth.ts`) instead.
|
|
30
|
+
* The new hook uses SecureStore and throws `'useMkAuth must be used within an <MkAuthProvider>'`.
|
|
31
|
+
* This legacy hook is kept for backward compatibility only and will be removed in future releases.
|
|
32
|
+
*/
|
|
18
33
|
export declare const useMkAuth: () => MkAuthContextType;
|
|
19
34
|
//# sourceMappingURL=MkAuthContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkInfiniteList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useMkInfiniteList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB;;;;;;;;EAoFpF"}
|
|
@@ -35,8 +35,12 @@ export function useMkInfiniteList(endpoint, options = {}) {
|
|
|
35
35
|
else {
|
|
36
36
|
setItems((prev) => [...prev, ...newData]);
|
|
37
37
|
setPage(prev => prev + 1);
|
|
38
|
+
// R-PKG-032 (v1.8.0): pagination metadata is GROUPED
|
|
39
|
+
// under `__extraData.pagination`. Read `last_page` from
|
|
40
|
+
// the grouped sub-object, NOT from top-level __extraData.
|
|
38
41
|
const extra = response.__extraData;
|
|
39
|
-
|
|
42
|
+
const pagination = extra === null || extra === void 0 ? void 0 : extra.pagination;
|
|
43
|
+
if (pagination && typeof pagination.last_page === 'number' && currentPage >= pagination.last_page) {
|
|
40
44
|
setHasMore(false);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkInfiniteList.js","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,UAA+B,EAAE;IACjF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,qEAAqE;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO;QACnC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO;QAEtC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,kCAC3C,IAAI,KACP,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,IAC/B,CAAC;YAEH,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,IAAI,SAAS,EAAE,CAAC;oBACZ,QAAQ,CAAC,OAAgB,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;oBACX,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAI,OAAiB,CAAC,CAAC,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"useMkInfiniteList.js","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,UAA+B,EAAE;IACjF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,qEAAqE;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO;QACnC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS;YAAE,OAAO;QAEtC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,kCAC3C,IAAI,KACP,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,IAC/B,CAAC;YAEH,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,IAAI,SAAS,EAAE,CAAC;oBACZ,QAAQ,CAAC,OAAgB,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;oBACX,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAI,OAAiB,CAAC,CAAC,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBAE1B,qDAAqD;wBACrD,wDAAwD;wBACxD,0DAA0D;wBAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAkE,CAAC;wBAC1F,MAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAC;wBACrC,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ,IAAI,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;4BAChG,UAAU,CAAC,KAAK,CAAC,CAAC;wBACtB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjC,sFAAsF;IACtF,SAAS,CAAC,GAAG,EAAE;QACX,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,OAAO,CAAC,CAAC,CAAC,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO;QACH,KAAK;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,YAAY;QACZ,OAAO;QACP,QAAQ,EAAE,GAAG,EAAE;YACX,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,SAAS;KACZ,CAAC;AACN,CAAC"}
|
|
@@ -19,11 +19,13 @@ describe('useMkInfiniteList (T7 auto-fetch)', () => {
|
|
|
19
19
|
mockFetch.mockReset();
|
|
20
20
|
});
|
|
21
21
|
it('should trigger a page 1 fetch automatically on mount', async () => {
|
|
22
|
+
// R-PKG-032 (v1.8.0): pagination metadata grouped under
|
|
23
|
+
// __extraData.pagination (R-PKG-024 single-level envelope unchanged).
|
|
22
24
|
const mockResponse = {
|
|
23
25
|
success: true,
|
|
24
26
|
data: [{ id: 1, name: 'Item 1' }],
|
|
25
27
|
message: 'OK',
|
|
26
|
-
__extraData: { last_page: 3 },
|
|
28
|
+
__extraData: { pagination: { last_page: 3 } },
|
|
27
29
|
};
|
|
28
30
|
mockFetch.mockResolvedValueOnce({
|
|
29
31
|
ok: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkInfiniteList.test.js","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAwB;AACxB,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;CACtB,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,eAAe,EAAE,GAAG,EAAE,CAAC,WAAW;CACrC,CAAC,CAAC,CAAC;AAEJ,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"useMkInfiniteList.test.js","sourceRoot":"","sources":["../../src/hooks/useMkInfiniteList.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,30 @@ export interface MkListParams {
|
|
|
25
25
|
per_page?: number;
|
|
26
26
|
q?: string;
|
|
27
27
|
sort?: string;
|
|
28
|
-
filter?: Record<string,
|
|
28
|
+
filter?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
/** Shape of the server response for paginated lists. */
|
|
31
|
+
export interface MkListResponse<T = unknown> {
|
|
32
|
+
data: T[];
|
|
33
|
+
/**
|
|
34
|
+
* R-PKG-032 (v1.8.0) — PAGINATION ENVELOPE grouping.
|
|
35
|
+
* Pagination metadata is GROUPED under `pagination` (5 LengthAwarePaginator
|
|
36
|
+
* keys or 3 CursorPaginator keys — see `@makroz/core` `MkResponse.__extraData`).
|
|
37
|
+
* Custom metadata (audit_checked, request_id, etc.) lives FLAT here.
|
|
38
|
+
*/
|
|
39
|
+
__extraData?: {
|
|
40
|
+
pagination?: {
|
|
41
|
+
current_page?: number;
|
|
42
|
+
last_page?: number;
|
|
43
|
+
per_page?: number;
|
|
44
|
+
total?: number;
|
|
45
|
+
has_more_pages?: boolean;
|
|
46
|
+
next_cursor?: string | null;
|
|
47
|
+
prev_cursor?: string | null;
|
|
48
|
+
};
|
|
49
|
+
[key: string]: unknown;
|
|
50
|
+
};
|
|
51
|
+
[key: string]: unknown;
|
|
29
52
|
}
|
|
30
53
|
export interface MkListOptions {
|
|
31
54
|
/** Initial params. */
|
|
@@ -44,18 +67,20 @@ export declare function useMkList(endpoint: string, options?: MkListOptions): {
|
|
|
44
67
|
setSort: (sort: string) => void;
|
|
45
68
|
setPerPage: (per_page: number) => void;
|
|
46
69
|
resetFilters: () => void;
|
|
47
|
-
refresh: (extraParams?: MkListParams) => Promise<import("@makroz/core").MkResponse<unknown
|
|
48
|
-
/** Pagination meta from __extraData */
|
|
49
|
-
pagination:
|
|
70
|
+
refresh: (extraParams?: MkListParams) => Promise<import("@makroz/core").MkResponse<MkListResponse<unknown>>>;
|
|
71
|
+
/** Pagination meta from __extraData (R-PKG-023: top-level, fallback to legacy nested) */
|
|
72
|
+
pagination: Record<string, unknown>;
|
|
50
73
|
status: import("@makroz/core").ApiStatus;
|
|
51
|
-
data:
|
|
52
|
-
error:
|
|
74
|
+
data: MkListResponse<unknown> | null;
|
|
75
|
+
error: string | null;
|
|
53
76
|
waiting: number;
|
|
54
77
|
loading: boolean;
|
|
55
|
-
get: (endpoint: string, params?:
|
|
56
|
-
post: (endpoint: string, body:
|
|
57
|
-
put: (endpoint: string, body:
|
|
58
|
-
delete: (endpoint: string) => Promise<import("@makroz/core").MkResponse<
|
|
59
|
-
remove: (endpoint: string) => Promise<import("@makroz/core").MkResponse<
|
|
78
|
+
get: <R = MkListResponse<unknown>>(endpoint: string, params?: import("@makroz/core").MkQueryParams) => Promise<import("@makroz/core").MkResponse<R>>;
|
|
79
|
+
post: <R = MkListResponse<unknown>>(endpoint: string, body: unknown) => Promise<import("@makroz/core").MkResponse<R>>;
|
|
80
|
+
put: <R = MkListResponse<unknown>>(endpoint: string, body: unknown) => Promise<import("@makroz/core").MkResponse<R>>;
|
|
81
|
+
delete: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
|
|
82
|
+
remove: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
|
|
83
|
+
abort: () => void;
|
|
84
|
+
refetch: () => void;
|
|
60
85
|
};
|
|
61
86
|
//# sourceMappingURL=useMkList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE;YACT,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC/B,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,sBAAsB;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;uBAoC7B,MAAM,SAAS,GAAG;oBAQrB,MAAM;mBAIP,MAAM;oBAIL,MAAM;2BAIC,MAAM;;4BAtCxB,YAAY;IAsEhC,yFAAyF;;;;;;;;;;;;;;EAGhG"}
|
package/dist/hooks/useMkList.js
CHANGED
|
@@ -4,23 +4,27 @@ export function useMkList(endpoint, options = {}) {
|
|
|
4
4
|
const { initialParams = {}, autoFetch = true } = options;
|
|
5
5
|
const api = useApi();
|
|
6
6
|
const [params, setParams] = useState(Object.assign({ page: 1, per_page: 15 }, initialParams));
|
|
7
|
-
// R-PKG-
|
|
8
|
-
//
|
|
9
|
-
// contract
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
7
|
+
// R-PKG-024 (v1.7.0 GA) — SINGLE-LEVEL ENVELOPE.
|
|
8
|
+
// `__extraData` is ALWAYS top-level (sibling of `data`) per the @makroz/core
|
|
9
|
+
// `MkResponse<T>` contract. The legacy fallback `response.data?.__extraData`
|
|
10
|
+
// (rc11 and earlier) is REMOVED — the envelope shape is single-level, no
|
|
11
|
+
// nesting. The R-PKG-023 rc12 opt-in flag `top_level_extra_data` is also
|
|
12
|
+
// removed (GA), so the backend always emits the canonical shape.
|
|
13
13
|
const [extraData, setExtraData] = useState({});
|
|
14
14
|
const mountedRef = useRef(false);
|
|
15
15
|
const refresh = useCallback(async (extraParams = {}) => {
|
|
16
|
-
var _a, _b;
|
|
17
16
|
const response = await api.get(endpoint, Object.assign(Object.assign({}, params), extraParams));
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
17
|
+
// R-PKG-024: top-level only. The legacy nested fallback
|
|
18
|
+
// `response.data?.__extraData` is REMOVED — `__extraData` is
|
|
19
|
+
// ALWAYS top-level per the canonical single-level envelope.
|
|
20
|
+
//
|
|
21
|
+
// R-PKG-032 (v1.8.0): pagination metadata is GROUPED under
|
|
22
|
+
// `__extraData.pagination`. The hook's `pagination` return value
|
|
23
|
+
// exposes the grouped object (not the flat `__extraData`), so
|
|
24
|
+
// consumers can use `result.current.pagination.last_page` directly.
|
|
21
25
|
const topLevel = response.__extraData;
|
|
22
|
-
const
|
|
23
|
-
setExtraData(
|
|
26
|
+
const pagination = topLevel === null || topLevel === void 0 ? void 0 : topLevel.pagination;
|
|
27
|
+
setExtraData(pagination !== null && pagination !== void 0 ? pagination : {});
|
|
24
28
|
return response;
|
|
25
29
|
}, [endpoint, params, api]);
|
|
26
30
|
const setFilter = useCallback((field, value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAkElC,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAyB,EAAE;IACnE,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,EAAkB,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,iBAChC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,EAAE,IACT,aAAa,EAClB,CAAC;IACH,iDAAiD;IACrD,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,WAAW,CACvB,KAAK,EAAE,cAA4B,EAAE,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAiB,QAAQ,kCAAO,MAAM,GAAK,WAAW,EAAG,CAAC;QACxF,wDAAwD;QACxD,6DAA6D;QAC7D,4DAA4D;QAC5D,EAAE;QACF,2DAA2D;QAC3D,iEAAiE;QACjE,8DAA8D;QAC9D,oEAAoE;QACpE,MAAM,QAAQ,GAAI,QAAiE,CAAC,WAAW,CAAC;QAChG,MAAM,UAAU,GAAI,QAAiE,aAAjE,QAAQ,uBAAR,QAAQ,CAA2D,UAAU,CAAC;QAClG,YAAY,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACpB,CAAC,EACD,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAC1B,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,KAAU,EAAE,EAAE;QACxD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCACX,IAAI,KACP,IAAI,EAAE,CAAC,EACP,MAAM,kCAAO,IAAI,CAAC,MAAM,KAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAC1C,CAAC,CAAC;IACR,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACzC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,IAAG,CAAC,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE;QACxC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,CAAC,EAAE,CAAC,IAAG,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QACzC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,IAAG,CAAC,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QAChD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,IAAG,CAAC,CAAC;IACxD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,IAAG,CAAC,CAAC;IAChG,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe;IACf,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,mDAAmD;QACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,KAAK,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;QACf,uDAAuD;IAC3D,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtB,uCACO,GAAG,KACN,MAAM;QACN,SAAS;QACT,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;QACP,UAAU;QACV,YAAY;QACZ,OAAO;QACP,yFAAyF;QACzF,UAAU,EAAE,SAAS,IACvB;AACN,CAAC"}
|
|
@@ -15,13 +15,20 @@ vi.mock('../context/MkApiContext', () => ({
|
|
|
15
15
|
// Mock fetch globally
|
|
16
16
|
const mockFetch = vi.fn();
|
|
17
17
|
global.fetch = mockFetch;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* R-PKG-024 (v1.7.0 GA) — SINGLE-LEVEL ENVELOPE pineado en `useMkList` (mobile).
|
|
20
|
+
* R-PKG-032 (v1.8.0) — PAGINATION ENVELOPE pineado en `useMkList` (mobile).
|
|
21
|
+
*
|
|
22
|
+
* The canonical shape is `__extraData` ALWAYS top-level (sibling of `data`).
|
|
23
|
+
* Post-R-PKG-032, pagination metadata is GROUPED under `__extraData.pagination`
|
|
24
|
+
* (5 LengthAwarePaginator keys, or 3 CursorPaginator keys).
|
|
25
|
+
*/
|
|
26
|
+
describe('useMkList (R-PKG-024 + R-PKG-032 single-level + grouped pagination)', () => {
|
|
19
27
|
beforeEach(() => {
|
|
20
28
|
vi.clearAllMocks();
|
|
21
29
|
mockFetch.mockReset();
|
|
22
30
|
});
|
|
23
|
-
it('reads
|
|
24
|
-
// Canonical top-level shape — the @makroz/core MkResponse<T> contract.
|
|
31
|
+
it('reads pagination from __extraData.pagination (R-PKG-032 grouping) — top-level caller shape', async () => {
|
|
25
32
|
const mockResponse = {
|
|
26
33
|
success: true,
|
|
27
34
|
message: 'OK',
|
|
@@ -30,10 +37,14 @@ describe('useMkList (R-PKG-023 response shape auto-detect, mobile)', () => {
|
|
|
30
37
|
{ id: 2, name: 'Item 2' },
|
|
31
38
|
],
|
|
32
39
|
__extraData: {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
pagination: {
|
|
41
|
+
total: 150,
|
|
42
|
+
current_page: 1,
|
|
43
|
+
last_page: 15,
|
|
44
|
+
per_page: 10,
|
|
45
|
+
has_more_pages: true,
|
|
46
|
+
},
|
|
47
|
+
audit_checked: true, // flat custom key (R-PKG-032 D5)
|
|
37
48
|
},
|
|
38
49
|
};
|
|
39
50
|
mockFetch.mockResolvedValueOnce({
|
|
@@ -50,26 +61,42 @@ describe('useMkList (R-PKG-023 response shape auto-detect, mobile)', () => {
|
|
|
50
61
|
current_page: 1,
|
|
51
62
|
last_page: 15,
|
|
52
63
|
per_page: 10,
|
|
64
|
+
has_more_pages: true,
|
|
53
65
|
});
|
|
54
66
|
});
|
|
55
67
|
expect(result.current.data).toEqual(mockResponse.data);
|
|
56
68
|
});
|
|
57
|
-
it('
|
|
58
|
-
// Legacy nested shape — Laravel pre-rc12 wrapped `data` in a
|
|
59
|
-
// `{ data: [...], __extraData: {...} }` envelope.
|
|
69
|
+
it('returns empty pagination when no __extraData is emitted (non-paginated list)', async () => {
|
|
60
70
|
const mockResponse = {
|
|
61
71
|
success: true,
|
|
62
72
|
message: 'OK',
|
|
63
|
-
data: {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
data: [{ id: 1, name: 'Item 1' }],
|
|
74
|
+
};
|
|
75
|
+
mockFetch.mockResolvedValueOnce({
|
|
76
|
+
ok: true,
|
|
77
|
+
json: () => Promise.resolve(mockResponse),
|
|
78
|
+
});
|
|
79
|
+
const { result } = renderHook(() => useMkList('/items', { autoFetch: false }));
|
|
80
|
+
await act(async () => {
|
|
81
|
+
await result.current.refresh();
|
|
82
|
+
});
|
|
83
|
+
await waitFor(() => {
|
|
84
|
+
expect(result.current.data).toEqual([{ id: 1, name: 'Item 1' }]);
|
|
85
|
+
});
|
|
86
|
+
expect(result.current.pagination).toEqual({});
|
|
87
|
+
});
|
|
88
|
+
it('reads 5 snake_case pagination keys (current_page, last_page, per_page, total, has_more_pages) grouped under pagination', async () => {
|
|
89
|
+
const mockResponse = {
|
|
90
|
+
success: true,
|
|
91
|
+
message: 'OK',
|
|
92
|
+
data: [{ id: 1 }],
|
|
93
|
+
__extraData: {
|
|
94
|
+
pagination: {
|
|
95
|
+
current_page: 2,
|
|
96
|
+
last_page: 10,
|
|
97
|
+
per_page: 20,
|
|
98
|
+
total: 200,
|
|
99
|
+
has_more_pages: true,
|
|
73
100
|
},
|
|
74
101
|
},
|
|
75
102
|
};
|
|
@@ -83,19 +110,22 @@ describe('useMkList (R-PKG-023 response shape auto-detect, mobile)', () => {
|
|
|
83
110
|
});
|
|
84
111
|
await waitFor(() => {
|
|
85
112
|
expect(result.current.pagination).toEqual({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
113
|
+
current_page: 2,
|
|
114
|
+
last_page: 10,
|
|
115
|
+
per_page: 20,
|
|
116
|
+
total: 200,
|
|
117
|
+
has_more_pages: true,
|
|
90
118
|
});
|
|
91
119
|
});
|
|
92
120
|
});
|
|
93
|
-
it('
|
|
94
|
-
// Minimal response with no __extraData at all.
|
|
121
|
+
it('ignores legacy nested __extraData (R-PKG-024 single-level envelope does NOT support nested fallback)', async () => {
|
|
95
122
|
const mockResponse = {
|
|
96
123
|
success: true,
|
|
97
124
|
message: 'OK',
|
|
98
|
-
data:
|
|
125
|
+
data: {
|
|
126
|
+
data: [{ id: 1 }],
|
|
127
|
+
__extraData: { total: 999 }, // legacy nested — IGNORED
|
|
128
|
+
},
|
|
99
129
|
};
|
|
100
130
|
mockFetch.mockResolvedValueOnce({
|
|
101
131
|
ok: true,
|
|
@@ -106,21 +136,21 @@ describe('useMkList (R-PKG-023 response shape auto-detect, mobile)', () => {
|
|
|
106
136
|
await result.current.refresh();
|
|
107
137
|
});
|
|
108
138
|
await waitFor(() => {
|
|
109
|
-
expect(result.current.
|
|
139
|
+
expect(result.current.pagination).toEqual({});
|
|
110
140
|
});
|
|
111
|
-
expect(result.current.pagination).toEqual({});
|
|
112
141
|
});
|
|
113
|
-
it('
|
|
114
|
-
// Edge case: backend accidentally emits BOTH top-level AND nested.
|
|
115
|
-
// Top-level wins because that's the canonical contract.
|
|
142
|
+
it('regression guard: returns empty pagination if backend emits flat pagination (v1.7.x contract)', async () => {
|
|
116
143
|
const mockResponse = {
|
|
117
144
|
success: true,
|
|
118
145
|
message: 'OK',
|
|
119
|
-
data: {
|
|
120
|
-
|
|
121
|
-
|
|
146
|
+
data: [{ id: 1 }],
|
|
147
|
+
// ⚠️ Legacy v1.7.x flat shape — IGNORED post-v1.8.0.
|
|
148
|
+
__extraData: {
|
|
149
|
+
current_page: 1,
|
|
150
|
+
last_page: 5,
|
|
151
|
+
per_page: 20,
|
|
152
|
+
total: 100,
|
|
122
153
|
},
|
|
123
|
-
__extraData: { total: 100, source: 'top-level' },
|
|
124
154
|
};
|
|
125
155
|
mockFetch.mockResolvedValueOnce({
|
|
126
156
|
ok: true,
|
|
@@ -131,7 +161,7 @@ describe('useMkList (R-PKG-023 response shape auto-detect, mobile)', () => {
|
|
|
131
161
|
await result.current.refresh();
|
|
132
162
|
});
|
|
133
163
|
await waitFor(() => {
|
|
134
|
-
expect(result.current.pagination).toEqual({
|
|
164
|
+
expect(result.current.pagination).toEqual({});
|
|
135
165
|
});
|
|
136
166
|
});
|
|
137
167
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMkList.test.js","sourceRoot":"","sources":["../../src/hooks/useMkList.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,wBAAwB;AACxB,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/B,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,cAAc;CAC7B,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,eAAe,EAAE,GAAG,EAAE,CAAC,WAAW;CACrC,CAAC,CAAC,CAAC;AAEJ,sBAAsB;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"useMkList.test.js","sourceRoot":"","sources":["../../src/hooks/useMkList.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@makroz/mobile",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "React Native UI components and hooks for MK-Director mobile applications",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -29,11 +29,23 @@
|
|
|
29
29
|
"url": "https://github.com/condaty/mk-director.git",
|
|
30
30
|
"directory": "packages/mk-mobile"
|
|
31
31
|
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "tsc",
|
|
34
|
+
"lint": "eslint src/",
|
|
35
|
+
"lint:fix": "eslint src/ --fix",
|
|
36
|
+
"lint:render-tests": "node scripts/lint-render-tests.mjs",
|
|
37
|
+
"lint:render-tests:json": "node scripts/lint-render-tests.mjs --json",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest",
|
|
40
|
+
"test:coverage": "vitest run --coverage",
|
|
41
|
+
"type-check": "tsc --noEmit",
|
|
42
|
+
"clean": "rm -rf dist"
|
|
43
|
+
},
|
|
32
44
|
"dependencies": {
|
|
45
|
+
"@makroz/core": "^1.3.0",
|
|
33
46
|
"@react-native-async-storage/async-storage": "^3.0.2",
|
|
34
47
|
"@shopify/flash-list": "^2.0.0",
|
|
35
|
-
"react-native-svg": "^15.15.4"
|
|
36
|
-
"@makroz/core": "1.2.0"
|
|
48
|
+
"react-native-svg": "^15.15.4"
|
|
37
49
|
},
|
|
38
50
|
"peerDependencies": {
|
|
39
51
|
"@shopify/flash-list": ">=2.0.0",
|
|
@@ -49,9 +61,7 @@
|
|
|
49
61
|
"react-native-buffer": "^6.0.1"
|
|
50
62
|
},
|
|
51
63
|
"peerDependenciesMeta": {
|
|
52
|
-
"react-native-buffer": {
|
|
53
|
-
"optional": true
|
|
54
|
-
}
|
|
64
|
+
"react-native-buffer": { "optional": true }
|
|
55
65
|
},
|
|
56
66
|
"devDependencies": {
|
|
57
67
|
"@testing-library/react": "^16.3.2",
|
|
@@ -67,17 +77,5 @@
|
|
|
67
77
|
"typescript": "^5.7.0",
|
|
68
78
|
"vite": "^5.4.21",
|
|
69
79
|
"vitest": "^3.0.0"
|
|
70
|
-
},
|
|
71
|
-
"scripts": {
|
|
72
|
-
"build": "tsc",
|
|
73
|
-
"lint": "eslint src/",
|
|
74
|
-
"lint:fix": "eslint src/ --fix",
|
|
75
|
-
"lint:render-tests": "node scripts/lint-render-tests.mjs",
|
|
76
|
-
"lint:render-tests:json": "node scripts/lint-render-tests.mjs --json",
|
|
77
|
-
"test": "vitest run",
|
|
78
|
-
"test:watch": "vitest",
|
|
79
|
-
"test:coverage": "vitest run --coverage",
|
|
80
|
-
"type-check": "tsc --noEmit",
|
|
81
|
-
"clean": "rm -rf dist"
|
|
82
80
|
}
|
|
83
|
-
}
|
|
81
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# LICENSE
|
|
2
|
-
|
|
3
|
-
**Proprietary License - MK-Director**
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2026 Condaty. All rights reserved.
|
|
6
|
-
|
|
7
|
-
This software and associated documentation files (the "Software") are the proprietary property of Condaty ("Owner"). The Software may not be copied, modified, merged, published, distributed, sublicensed, and/or sold without the express written permission of the Owner.
|
|
8
|
-
|
|
9
|
-
## Terms of Use
|
|
10
|
-
|
|
11
|
-
1. **Authorization**: Access to this software is granted only to authorized users who have purchased a valid license from Condaty.
|
|
12
|
-
|
|
13
|
-
2. **Restrictions**: Without prior written permission from the Owner, you may not:
|
|
14
|
-
- Copy, modify, or create derivative works
|
|
15
|
-
- Distribute, sublicense, or sell copies of the Software
|
|
16
|
-
- Reverse engineer, decompile, or disassemble the Software
|
|
17
|
-
- Use the Software for commercial purposes without a valid license
|
|
18
|
-
|
|
19
|
-
3. **No Warranty**: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
20
|
-
|
|
21
|
-
4. **Liability**: IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
-
|
|
23
|
-
5. **Termination**: This license is effective until terminated. Your rights under this license will terminate automatically without notice if you fail to comply with any of its terms and conditions.
|
|
24
|
-
|
|
25
|
-
## Contact
|
|
26
|
-
|
|
27
|
-
For licensing inquiries, please contact:
|
|
28
|
-
- **Email**: licensing@condaty.com
|
|
29
|
-
- **Website**: https://www.conday.com
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
*Last updated: April 2026*
|