@issonujha/sdui-mobile 0.0.0-stage → 0.1.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/ClaudeRecordCard.d.ts +17 -0
- package/dist/ClaudeRecordCard.d.ts.map +1 -0
- package/dist/ClaudeRecordCard.js +16 -0
- package/dist/ClaudeRecordCard.js.map +1 -0
- package/dist/DynamicRecordsList.d.ts +19 -0
- package/dist/DynamicRecordsList.d.ts.map +1 -0
- package/dist/DynamicRecordsList.js +12 -0
- package/dist/DynamicRecordsList.js.map +1 -0
- package/dist/FilterBottomSheet.d.ts +11 -0
- package/dist/FilterBottomSheet.d.ts.map +1 -0
- package/dist/FilterBottomSheet.js +7 -0
- package/dist/FilterBottomSheet.js.map +1 -0
- package/dist/MobileStageQueue.d.ts +14 -0
- package/dist/MobileStageQueue.d.ts.map +1 -0
- package/dist/MobileStageQueue.js +10 -0
- package/dist/MobileStageQueue.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/package.json +35 -3
- package/README.md +0 -3
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ColumnDef } from '@issonujha/sdui-core';
|
|
3
|
+
export interface ClaudeRecordCardProps<T> {
|
|
4
|
+
item: T;
|
|
5
|
+
columns?: ColumnDef<T>[];
|
|
6
|
+
titleKey?: string;
|
|
7
|
+
subtitleKey?: string;
|
|
8
|
+
onPress?: () => void;
|
|
9
|
+
onPrimaryAction?: () => void;
|
|
10
|
+
primaryActionLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Neutral record card that renders a couple of fields from the item. The host may pass
|
|
14
|
+
* explicit `columns`/`titleKey`/`subtitleKey`, otherwise the first string fields are used.
|
|
15
|
+
*/
|
|
16
|
+
export declare function ClaudeRecordCard<T>({ item, columns, titleKey, subtitleKey, onPress, onPrimaryAction, primaryActionLabel, }: ClaudeRecordCardProps<T>): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=ClaudeRecordCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeRecordCard.d.ts","sourceRoot":"","sources":["../src/ClaudeRecordCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,kBAA2B,GAC5B,EAAE,qBAAqB,CAAC,CAAC,CAAC,qBAqB1B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Text, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Neutral record card that renders a couple of fields from the item. The host may pass
|
|
5
|
+
* explicit `columns`/`titleKey`/`subtitleKey`, otherwise the first string fields are used.
|
|
6
|
+
*/
|
|
7
|
+
export function ClaudeRecordCard({ item, columns, titleKey, subtitleKey, onPress, onPrimaryAction, primaryActionLabel = 'Open', }) {
|
|
8
|
+
const record = item;
|
|
9
|
+
const resolvedColumns = columns ?? [];
|
|
10
|
+
const title = titleKey ? String(record[titleKey] ?? '') : String(resolvedColumns[0] ? record[resolvedColumns[0].key] ?? '' : '');
|
|
11
|
+
const subtitle = subtitleKey
|
|
12
|
+
? String(record[subtitleKey] ?? '')
|
|
13
|
+
: String(resolvedColumns[1] ? record[resolvedColumns[1].key] ?? '' : '');
|
|
14
|
+
return (_jsx(TouchableOpacity, { onPress: onPress, children: _jsxs(View, { style: { padding: 12, borderBottomWidth: 1, borderColor: '#eee' }, children: [_jsx(Text, { style: { fontWeight: '600' }, children: title }), subtitle ? _jsx(Text, { children: subtitle }) : null, onPrimaryAction && (_jsx(TouchableOpacity, { onPress: onPrimaryAction, children: _jsx(Text, { style: { color: '#2563eb', marginTop: 6 }, children: primaryActionLabel }) }))] }) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ClaudeRecordCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeRecordCard.js","sourceRoot":"","sources":["../src/ClaudeRecordCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAa5D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAI,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,WAAW,EACX,OAAO,EACP,eAAe,EACf,kBAAkB,GAAG,MAAM,GACF;IACzB,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,MAAM,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjI,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE3E,OAAO,CACL,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,YAChC,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,aACrE,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAG,KAAK,GAAQ,EACjD,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,cAAE,QAAQ,GAAQ,CAAC,CAAC,CAAC,IAAI,EACzC,eAAe,IAAI,CAClB,KAAC,gBAAgB,IAAC,OAAO,EAAE,eAAe,YACxC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,YAAG,kBAAkB,GAAQ,GAC3D,CACpB,IACI,GACU,CACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DataTableResponse } from '@issonujha/sdui-core';
|
|
3
|
+
export interface DynamicRecordsListProps<T> {
|
|
4
|
+
data: DataTableResponse<T>;
|
|
5
|
+
refreshing?: boolean;
|
|
6
|
+
onRefresh?: () => void;
|
|
7
|
+
onLoadMore?: () => void;
|
|
8
|
+
onCardPress?: (item: T) => void;
|
|
9
|
+
onPrimaryAction?: (item: T) => void;
|
|
10
|
+
emptyLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Renders the content of a DataTableResponse as a FlatList. Pagination state is owned
|
|
14
|
+
* by the host; this component only signals `onLoadMore` when the end is reached.
|
|
15
|
+
*/
|
|
16
|
+
export declare function DynamicRecordsList<T extends {
|
|
17
|
+
id?: string;
|
|
18
|
+
}>({ data, refreshing, onRefresh, onLoadMore, onCardPress, onPrimaryAction, emptyLabel, }: DynamicRecordsListProps<T>): React.JSX.Element;
|
|
19
|
+
//# sourceMappingURL=DynamicRecordsList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicRecordsList.d.ts","sourceRoot":"","sources":["../src/DynamicRecordsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5D,IAAI,EACJ,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAyB,GAC1B,EAAE,uBAAuB,CAAC,CAAC,CAAC,qBA4B5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FlatList, RefreshControl, Text, View } from 'react-native';
|
|
3
|
+
import { ClaudeRecordCard } from './ClaudeRecordCard';
|
|
4
|
+
/**
|
|
5
|
+
* Renders the content of a DataTableResponse as a FlatList. Pagination state is owned
|
|
6
|
+
* by the host; this component only signals `onLoadMore` when the end is reached.
|
|
7
|
+
*/
|
|
8
|
+
export function DynamicRecordsList({ data, refreshing, onRefresh, onLoadMore, onCardPress, onPrimaryAction, emptyLabel = 'No records', }) {
|
|
9
|
+
const items = data.content ?? [];
|
|
10
|
+
return (_jsxs(View, { style: { flex: 1 }, children: [items.length === 0 ? (_jsx(View, { style: { padding: 24, alignItems: 'center' }, children: _jsx(Text, { children: emptyLabel }) })) : null, _jsx(FlatList, { data: items, keyExtractor: (item, index) => String(item?.id ?? index), renderItem: ({ item }) => (_jsx(ClaudeRecordCard, { item: item, onPress: onCardPress ? () => onCardPress(item) : undefined, onPrimaryAction: onPrimaryAction ? () => onPrimaryAction(item) : undefined })), refreshControl: onRefresh ? _jsx(RefreshControl, { refreshing: Boolean(refreshing), onRefresh: onRefresh }) : undefined, onEndReached: onLoadMore, onEndReachedThreshold: 0.4 })] }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=DynamicRecordsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicRecordsList.js","sourceRoot":"","sources":["../src/DynamicRecordsList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAYtD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAA4B,EAC5D,IAAI,EACJ,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,GAAG,YAAY,GACE;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAEjC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aACrB,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAChD,KAAC,IAAI,cAAE,UAAU,GAAQ,GACpB,CACR,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,QAAQ,IACP,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,CAAC,EACrE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAiB,EAAE,EAAE,CAAC,CACvC,KAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1D,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAC1E,CACH,EACD,cAAc,EACZ,SAAS,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC,CAAC,CAAC,SAAS,EAEnG,YAAY,EAAE,UAAU,EACxB,qBAAqB,EAAE,GAAG,GAC1B,IACG,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FilterDef } from '@issonujha/sdui-core';
|
|
3
|
+
export interface FilterBottomSheetProps {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
filters: FilterDef[];
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
onChange?: (key: string, value: unknown) => void;
|
|
8
|
+
}
|
|
9
|
+
/** Simple modal listing each filter dimension as a tappable row. */
|
|
10
|
+
export declare function FilterBottomSheet({ visible, filters, onClose, onChange }: FilterBottomSheetProps): React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=FilterBottomSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterBottomSheet.d.ts","sourceRoot":"","sources":["../src/FilterBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAwBhG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Modal, ScrollView, Text, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
/** Simple modal listing each filter dimension as a tappable row. */
|
|
4
|
+
export function FilterBottomSheet({ visible, filters, onClose, onChange }) {
|
|
5
|
+
return (_jsx(Modal, { visible: visible, animationType: "slide", transparent: true, onRequestClose: onClose, children: _jsx(View, { style: { flex: 1, justifyContent: 'flex-end', backgroundColor: 'rgba(0,0,0,0.3)' }, children: _jsxs(View, { style: { backgroundColor: 'white', maxHeight: '70%', padding: 16 }, children: [_jsx(Text, { style: { fontWeight: '700', marginBottom: 8 }, children: "Filters" }), _jsx(ScrollView, { children: filters.map((filter) => (_jsx(TouchableOpacity, { onPress: () => onChange?.(filter.key, filter.defaultValue), style: { paddingVertical: 12 }, children: _jsx(Text, { children: filter.label }) }, filter.key))) }), _jsx(TouchableOpacity, { onPress: onClose, style: { marginTop: 12 }, children: _jsx(Text, { style: { textAlign: 'center' }, children: "Done" }) })] }) }) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=FilterBottomSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterBottomSheet.js","sourceRoot":"","sources":["../src/FilterBottomSheet.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAU/E,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAA0B;IAC/F,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAC,OAAO,EAAC,WAAW,QAAC,cAAc,EAAE,OAAO,YAChF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,YACtF,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,aACtE,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,wBAAgB,EACnE,KAAC,UAAU,cACR,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,gBAAgB,IAEf,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,EAC1D,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAE9B,KAAC,IAAI,cAAE,MAAM,CAAC,KAAK,GAAQ,IAJtB,MAAM,CAAC,GAAG,CAKE,CACpB,CAAC,GACS,EACb,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAC1D,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAa,GAChC,IACd,GACF,GACD,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface StageQueueItem {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
count?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface MobileStageQueueProps {
|
|
8
|
+
stages: StageQueueItem[];
|
|
9
|
+
activeStageId?: string;
|
|
10
|
+
onSelect?: (stageId: string) => void;
|
|
11
|
+
}
|
|
12
|
+
/** Horizontal stage rail used on order/workflow screens. */
|
|
13
|
+
export declare function MobileStageQueue({ stages, activeStageId, onSelect }: MobileStageQueueProps): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=MobileStageQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileStageQueue.d.ts","sourceRoot":"","sources":["../src/MobileStageQueue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBAoB1F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
/** Horizontal stage rail used on order/workflow screens. */
|
|
4
|
+
export function MobileStageQueue({ stages, activeStageId, onSelect }) {
|
|
5
|
+
return (_jsx(View, { style: { flexDirection: 'row', paddingVertical: 8 }, children: stages.map((stage) => {
|
|
6
|
+
const active = stage.id === activeStageId;
|
|
7
|
+
return (_jsx(TouchableOpacity, { onPress: () => onSelect?.(stage.id), style: { paddingHorizontal: 12, paddingVertical: 6, opacity: active ? 1 : 0.6 }, children: _jsxs(Text, { style: { fontWeight: active ? '700' : '400' }, children: [stage.label, stage.count !== undefined ? ` (${stage.count})` : ''] }) }, stage.id));
|
|
8
|
+
}) }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=MobileStageQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileStageQueue.js","sourceRoot":"","sources":["../src/MobileStageQueue.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAc5D,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAyB;IACzF,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,YACtD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC;YAC1C,OAAO,CACL,KAAC,gBAAgB,IAEf,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EACnC,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,YAE/E,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,aAChD,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,IAChD,IAPF,KAAK,CAAC,EAAE,CAQI,CACpB,CAAC;QACJ,CAAC,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@issonujha/sdui-mobile",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "React Native / Expo SDUI components (data-in/callback-out; no network of its own).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@issonujha/sdui-core": "0.1.0"
|
|
20
|
+
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"react": ">=17",
|
|
23
|
+
"react-native": ">=0.72"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/react": "^18.2.0",
|
|
27
|
+
"@types/react-native": "^0.72.8",
|
|
28
|
+
"typescript": "^5.5.4"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc -p tsconfig.json",
|
|
35
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
36
|
+
"test": "echo \"no tests yet\" && exit 0"
|
|
37
|
+
}
|
|
6
38
|
}
|
package/README.md
DELETED