@adminide-stack/yantra-mobile 12.0.39-alpha.9 → 12.0.39
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/lib/components/AppsMenu/AppsMenu.js +285 -0
- package/lib/components/AppsMenu/AppsMenu.js.map +1 -0
- package/lib/components/GatewayConnector/GatewayConnector.js +5 -2
- package/lib/components/GatewayConnector/GatewayConnector.js.map +1 -1
- package/lib/components/GatewayToolbarButtonMobile.js +25 -53
- package/lib/components/GatewayToolbarButtonMobile.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +19 -11
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/compute.js +2 -0
- package/lib/compute.js.map +1 -1
- package/lib/config/constants.js +2 -2
- package/lib/config/constants.js.map +1 -1
- package/lib/contexts/GatewayContext.js +1 -1
- package/lib/features/apps/mobileAppCatalog.js +153 -0
- package/lib/features/apps/mobileAppCatalog.js.map +1 -0
- package/lib/features/templates/__tests__/buildTemplateCards.test.ts +57 -0
- package/lib/features/templates/buildTemplateCards.js +28 -2
- package/lib/features/templates/buildTemplateCards.js.map +1 -1
- package/lib/features/templates/buildTemplateCards.ts +44 -1
- package/lib/hooks/useMarketplaceTemplateCards.js +5 -2
- package/lib/hooks/useMarketplaceTemplateCards.js.map +1 -1
- package/lib/hooks/useMarketplaceTemplateGroups.js +9 -2
- package/lib/hooks/useMarketplaceTemplateGroups.js.map +1 -1
- package/lib/routes.json +2 -0
- package/lib/screens/Home/HomeScreen.js +44 -150
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/components/BuildTemplatesSection.js +142 -87
- package/lib/screens/Home/components/BuildTemplatesSection.js.map +1 -1
- package/lib/screens/Home/components/ChooseTemplateModal.js +261 -0
- package/lib/screens/Home/components/ChooseTemplateModal.js.map +1 -0
- package/lib/screens/Home/components/HomeSuggestions.js +109 -0
- package/lib/screens/Home/components/HomeSuggestions.js.map +1 -0
- package/lib/screens/Home/components/TemplateBrowserModal.js +237 -0
- package/lib/screens/Home/components/TemplateBrowserModal.js.map +1 -0
- package/lib/theme/mobileTokens.js +0 -5
- package/lib/theme/mobileTokens.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useEffect,useMemo,useCallback}from'react';import {useWindowDimensions,Pressable,StyleSheet,View,Image,Modal,TextInput,FlatList}from'react-native';import {MaterialCommunityIcons}from'@expo/vector-icons';import {Text}from'@admin-layout/gluestack-ui-mobile';import {useSafeAreaInsets}from'react-native-safe-area-context';import {mobileTokens}from'../../../theme/mobileTokens.js';const GRID_GAP = 10;
|
|
2
|
+
const H_PAD = 16;
|
|
3
|
+
function TemplateBrowserModal({
|
|
4
|
+
isOpen,
|
|
5
|
+
onClose,
|
|
6
|
+
cards,
|
|
7
|
+
selectedId = null,
|
|
8
|
+
onSelect,
|
|
9
|
+
title = "Yantra templates",
|
|
10
|
+
isDark = false
|
|
11
|
+
}) {
|
|
12
|
+
const insets = useSafeAreaInsets();
|
|
13
|
+
const {
|
|
14
|
+
width: windowWidth,
|
|
15
|
+
height: windowHeight
|
|
16
|
+
} = useWindowDimensions();
|
|
17
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (!isOpen) setSearchQuery("");
|
|
20
|
+
}, [isOpen]);
|
|
21
|
+
const filtered = useMemo(() => {
|
|
22
|
+
const needle = searchQuery.trim().toLowerCase();
|
|
23
|
+
if (!needle) return cards;
|
|
24
|
+
return cards.filter((card) => {
|
|
25
|
+
const haystack = `${card.title} ${card.description} ${card.templateName || ""}`.toLowerCase();
|
|
26
|
+
return haystack.includes(needle);
|
|
27
|
+
});
|
|
28
|
+
}, [cards, searchQuery]);
|
|
29
|
+
const sheetBg = isDark ? "#0f172a" : "#f8fafc";
|
|
30
|
+
const mutedBg = isDark ? "#1e293b" : mobileTokens.color.surfaceMuted;
|
|
31
|
+
const borderColor = isDark ? "rgba(148,163,184,0.28)" : mobileTokens.color.border;
|
|
32
|
+
const primaryText = isDark ? "#e5e7eb" : mobileTokens.color.text;
|
|
33
|
+
const secondaryText = isDark ? "#94a3b8" : mobileTokens.color.textMuted;
|
|
34
|
+
const accent = isDark ? "#a5b4fc" : mobileTokens.color.primary;
|
|
35
|
+
const surface = isDark ? "#1e293b" : "#f8fafc";
|
|
36
|
+
const placeholderBg = isDark ? "#0f172a" : mobileTokens.color.primarySoft;
|
|
37
|
+
const colWidth = Math.floor((windowWidth - H_PAD * 2 - GRID_GAP) / 2);
|
|
38
|
+
const coverHeight = Math.round(colWidth * 0.72);
|
|
39
|
+
const renderItem = useCallback(({
|
|
40
|
+
item
|
|
41
|
+
}) => {
|
|
42
|
+
var _a;
|
|
43
|
+
const cover = (_a = item.coverImageUrl) == null ? void 0 : _a.trim();
|
|
44
|
+
const selected = selectedId === item.id;
|
|
45
|
+
return /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
|
|
46
|
+
onSelect(item);
|
|
47
|
+
onClose();
|
|
48
|
+
}, style: [styles.card, {
|
|
49
|
+
width: colWidth,
|
|
50
|
+
backgroundColor: surface,
|
|
51
|
+
borderColor: selected ? accent : borderColor,
|
|
52
|
+
borderWidth: selected ? 2 : 1
|
|
53
|
+
}], accessibilityRole: "button", accessibilityState: {
|
|
54
|
+
selected
|
|
55
|
+
}, accessibilityLabel: `${selected ? "Selected" : "Use"} template ${item.title}`, children: [
|
|
56
|
+
/* @__PURE__ */ jsxs(View, { style: [styles.cover, {
|
|
57
|
+
height: coverHeight,
|
|
58
|
+
backgroundColor: placeholderBg
|
|
59
|
+
}], children: [
|
|
60
|
+
cover ? /* @__PURE__ */ jsx(Image, { source: {
|
|
61
|
+
uri: cover
|
|
62
|
+
}, style: styles.coverImage, resizeMode: "cover" }) : /* @__PURE__ */ jsx(Text, { style: [styles.coverFallback, {
|
|
63
|
+
color: secondaryText
|
|
64
|
+
}], children: "Yantra" }),
|
|
65
|
+
selected ? /* @__PURE__ */ jsx(View, { style: [styles.selectedMark, {
|
|
66
|
+
backgroundColor: accent
|
|
67
|
+
}], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "check", size: 12, color: "#f8fafc" }) }) : null
|
|
68
|
+
] }),
|
|
69
|
+
/* @__PURE__ */ jsx(View, { style: styles.cardBody, children: /* @__PURE__ */ jsx(Text, { style: [styles.cardTitle, {
|
|
70
|
+
color: primaryText
|
|
71
|
+
}], numberOfLines: 2, children: item.title }) })
|
|
72
|
+
] });
|
|
73
|
+
}, [accent, borderColor, colWidth, coverHeight, onClose, onSelect, placeholderBg, primaryText, secondaryText, selectedId, surface]);
|
|
74
|
+
return /* @__PURE__ */ jsx(Modal, { visible: isOpen, transparent: true, animationType: "slide", onRequestClose: onClose, children: /* @__PURE__ */ jsxs(View, { style: [styles.sheet, {
|
|
75
|
+
backgroundColor: sheetBg,
|
|
76
|
+
height: windowHeight * 0.94
|
|
77
|
+
}], children: [
|
|
78
|
+
/* @__PURE__ */ jsx(View, { style: [styles.handleWrap, {
|
|
79
|
+
paddingTop: Math.max(insets.top, 10)
|
|
80
|
+
}], children: /* @__PURE__ */ jsx(View, { style: [styles.handle, {
|
|
81
|
+
backgroundColor: isDark ? "#475569" : "#cbd5e1"
|
|
82
|
+
}] }) }),
|
|
83
|
+
/* @__PURE__ */ jsxs(View, { style: styles.header, children: [
|
|
84
|
+
/* @__PURE__ */ jsxs(View, { style: styles.headerCopy, children: [
|
|
85
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.title, {
|
|
86
|
+
color: primaryText
|
|
87
|
+
}], children: title }),
|
|
88
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.count, {
|
|
89
|
+
color: secondaryText
|
|
90
|
+
}], children: searchQuery.trim() ? `${filtered.length} of ${cards.length}` : `${cards.length} template${cards.length === 1 ? "" : "s"}` })
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ jsx(Pressable, { onPress: onClose, style: [styles.closeBtn, {
|
|
93
|
+
backgroundColor: mutedBg
|
|
94
|
+
}], accessibilityRole: "button", accessibilityLabel: "Close", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "close", size: 18, color: secondaryText }) })
|
|
95
|
+
] }),
|
|
96
|
+
/* @__PURE__ */ jsxs(View, { style: [styles.searchWrap, {
|
|
97
|
+
backgroundColor: mutedBg,
|
|
98
|
+
borderColor
|
|
99
|
+
}], children: [
|
|
100
|
+
/* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "magnify", size: 16, color: secondaryText }),
|
|
101
|
+
/* @__PURE__ */ jsx(TextInput, { value: searchQuery, onChangeText: setSearchQuery, placeholder: "Search templates", placeholderTextColor: secondaryText, style: [styles.searchInput, {
|
|
102
|
+
color: primaryText
|
|
103
|
+
}], autoCorrect: false, autoCapitalize: "none", returnKeyType: "search" }),
|
|
104
|
+
searchQuery.length > 0 ? /* @__PURE__ */ jsx(Pressable, { onPress: () => setSearchQuery(""), accessibilityLabel: "Clear search", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "close-circle", size: 16, color: secondaryText }) }) : null
|
|
105
|
+
] }),
|
|
106
|
+
/* @__PURE__ */ jsx(FlatList, { data: filtered, keyExtractor: (item) => item.id, numColumns: 2, renderItem, columnWrapperStyle: styles.column, contentContainerStyle: [styles.listContent, {
|
|
107
|
+
paddingBottom: Math.max(insets.bottom, 16)
|
|
108
|
+
}], keyboardShouldPersistTaps: "handled", keyboardDismissMode: "on-drag", initialNumToRender: 8, maxToRenderPerBatch: 8, windowSize: 7, removeClippedSubviews: true, ListEmptyComponent: /* @__PURE__ */ jsxs(View, { style: styles.empty, children: [
|
|
109
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyTitle, {
|
|
110
|
+
color: primaryText
|
|
111
|
+
}], children: "No templates found" }),
|
|
112
|
+
/* @__PURE__ */ jsx(Text, { style: [styles.emptyHint, {
|
|
113
|
+
color: secondaryText
|
|
114
|
+
}], children: "Try a different search" })
|
|
115
|
+
] }) })
|
|
116
|
+
] }) });
|
|
117
|
+
}
|
|
118
|
+
const styles = StyleSheet.create({
|
|
119
|
+
sheet: {
|
|
120
|
+
marginTop: "auto",
|
|
121
|
+
borderTopLeftRadius: 18,
|
|
122
|
+
borderTopRightRadius: 18,
|
|
123
|
+
width: "100%",
|
|
124
|
+
overflow: "hidden"
|
|
125
|
+
},
|
|
126
|
+
handleWrap: {
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
paddingBottom: 4
|
|
129
|
+
},
|
|
130
|
+
handle: {
|
|
131
|
+
width: 36,
|
|
132
|
+
height: 4,
|
|
133
|
+
borderRadius: 999
|
|
134
|
+
},
|
|
135
|
+
header: {
|
|
136
|
+
flexDirection: "row",
|
|
137
|
+
alignItems: "center",
|
|
138
|
+
justifyContent: "space-between",
|
|
139
|
+
paddingHorizontal: H_PAD,
|
|
140
|
+
paddingBottom: 10,
|
|
141
|
+
gap: 12
|
|
142
|
+
},
|
|
143
|
+
headerCopy: {
|
|
144
|
+
flex: 1,
|
|
145
|
+
minWidth: 0
|
|
146
|
+
},
|
|
147
|
+
title: {
|
|
148
|
+
fontSize: 18,
|
|
149
|
+
fontWeight: "700",
|
|
150
|
+
letterSpacing: -0.3
|
|
151
|
+
},
|
|
152
|
+
count: {
|
|
153
|
+
marginTop: 2,
|
|
154
|
+
fontSize: 12,
|
|
155
|
+
fontWeight: "500"
|
|
156
|
+
},
|
|
157
|
+
closeBtn: {
|
|
158
|
+
width: 32,
|
|
159
|
+
height: 32,
|
|
160
|
+
borderRadius: 16,
|
|
161
|
+
alignItems: "center",
|
|
162
|
+
justifyContent: "center"
|
|
163
|
+
},
|
|
164
|
+
searchWrap: {
|
|
165
|
+
flexDirection: "row",
|
|
166
|
+
alignItems: "center",
|
|
167
|
+
gap: 8,
|
|
168
|
+
marginHorizontal: H_PAD,
|
|
169
|
+
marginBottom: 12,
|
|
170
|
+
borderWidth: 1,
|
|
171
|
+
borderRadius: 12,
|
|
172
|
+
paddingHorizontal: 10,
|
|
173
|
+
minHeight: 42
|
|
174
|
+
},
|
|
175
|
+
searchInput: {
|
|
176
|
+
flex: 1,
|
|
177
|
+
fontSize: 15,
|
|
178
|
+
paddingVertical: 8
|
|
179
|
+
},
|
|
180
|
+
column: {
|
|
181
|
+
gap: GRID_GAP,
|
|
182
|
+
paddingHorizontal: H_PAD,
|
|
183
|
+
marginBottom: GRID_GAP
|
|
184
|
+
},
|
|
185
|
+
listContent: {
|
|
186
|
+
flexGrow: 1
|
|
187
|
+
},
|
|
188
|
+
card: {
|
|
189
|
+
borderRadius: 12,
|
|
190
|
+
overflow: "hidden"
|
|
191
|
+
},
|
|
192
|
+
cover: {
|
|
193
|
+
alignItems: "center",
|
|
194
|
+
justifyContent: "center"
|
|
195
|
+
},
|
|
196
|
+
coverImage: {
|
|
197
|
+
width: "100%",
|
|
198
|
+
height: "100%"
|
|
199
|
+
},
|
|
200
|
+
coverFallback: {
|
|
201
|
+
fontSize: 12,
|
|
202
|
+
fontWeight: "600",
|
|
203
|
+
letterSpacing: 0.3
|
|
204
|
+
},
|
|
205
|
+
selectedMark: {
|
|
206
|
+
position: "absolute",
|
|
207
|
+
top: 8,
|
|
208
|
+
right: 8,
|
|
209
|
+
width: 20,
|
|
210
|
+
height: 20,
|
|
211
|
+
borderRadius: 10,
|
|
212
|
+
alignItems: "center",
|
|
213
|
+
justifyContent: "center"
|
|
214
|
+
},
|
|
215
|
+
cardBody: {
|
|
216
|
+
paddingHorizontal: 9,
|
|
217
|
+
paddingVertical: 8,
|
|
218
|
+
minHeight: 40
|
|
219
|
+
},
|
|
220
|
+
cardTitle: {
|
|
221
|
+
fontSize: 12,
|
|
222
|
+
fontWeight: "600",
|
|
223
|
+
lineHeight: 16
|
|
224
|
+
},
|
|
225
|
+
empty: {
|
|
226
|
+
alignItems: "center",
|
|
227
|
+
paddingTop: 48,
|
|
228
|
+
gap: 6
|
|
229
|
+
},
|
|
230
|
+
emptyTitle: {
|
|
231
|
+
fontSize: 15,
|
|
232
|
+
fontWeight: "600"
|
|
233
|
+
},
|
|
234
|
+
emptyHint: {
|
|
235
|
+
fontSize: 13
|
|
236
|
+
}
|
|
237
|
+
});export{TemplateBrowserModal,TemplateBrowserModal as default};//# sourceMappingURL=TemplateBrowserModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateBrowserModal.js","sources":["../../../../src/screens/Home/components/TemplateBrowserModal.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { FlatList, Image, Modal, Pressable, StyleSheet, TextInput, useWindowDimensions, View } from 'react-native';\nimport { MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Text } from '@admin-layout/gluestack-ui-mobile';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { BuildTemplateCard } from '../../../features/templates/buildTemplateCards';\nimport { mobileTokens } from '../../../theme/mobileTokens';\n\nexport type TemplateBrowserModalProps = {\n isOpen: boolean;\n onClose: () => void;\n cards: BuildTemplateCard[];\n selectedId?: string | null;\n onSelect: (card: BuildTemplateCard) => void;\n title?: string;\n isDark?: boolean;\n};\n\nconst GRID_GAP = 10;\nconst H_PAD = 16;\n\n/**\n * Full-height virtualized browse sheet for large template catalogs.\n */\nexport function TemplateBrowserModal({\n isOpen,\n onClose,\n cards,\n selectedId = null,\n onSelect,\n title = 'Yantra templates',\n isDark = false,\n}: TemplateBrowserModalProps) {\n const insets = useSafeAreaInsets();\n const { width: windowWidth, height: windowHeight } = useWindowDimensions();\n const [searchQuery, setSearchQuery] = useState('');\n\n useEffect(() => {\n if (!isOpen) setSearchQuery('');\n }, [isOpen]);\n\n const filtered = useMemo(() => {\n const needle = searchQuery.trim().toLowerCase();\n if (!needle) return cards;\n return cards.filter((card) => {\n const haystack = `${card.title} ${card.description} ${card.templateName || ''}`.toLowerCase();\n return haystack.includes(needle);\n });\n }, [cards, searchQuery]);\n\n const sheetBg = isDark ? '#0f172a' : '#f8fafc';\n const mutedBg = isDark ? '#1e293b' : mobileTokens.color.surfaceMuted;\n const borderColor = isDark ? 'rgba(148,163,184,0.28)' : mobileTokens.color.border;\n const primaryText = isDark ? '#e5e7eb' : mobileTokens.color.text;\n const secondaryText = isDark ? '#94a3b8' : mobileTokens.color.textMuted;\n const accent = isDark ? '#a5b4fc' : mobileTokens.color.primary;\n const surface = isDark ? '#1e293b' : '#f8fafc';\n const placeholderBg = isDark ? '#0f172a' : mobileTokens.color.primarySoft;\n\n const colWidth = Math.floor((windowWidth - H_PAD * 2 - GRID_GAP) / 2);\n const coverHeight = Math.round(colWidth * 0.72);\n\n const renderItem = useCallback(\n ({ item }: { item: BuildTemplateCard }) => {\n const cover = item.coverImageUrl?.trim();\n const selected = selectedId === item.id;\n return (\n <Pressable\n onPress={() => {\n onSelect(item);\n onClose();\n }}\n style={[\n styles.card,\n {\n width: colWidth,\n backgroundColor: surface,\n borderColor: selected ? accent : borderColor,\n borderWidth: selected ? 2 : 1,\n },\n ]}\n accessibilityRole=\"button\"\n accessibilityState={{ selected }}\n accessibilityLabel={`${selected ? 'Selected' : 'Use'} template ${item.title}`}\n >\n <View style={[styles.cover, { height: coverHeight, backgroundColor: placeholderBg }]}>\n {cover ? (\n <Image source={{ uri: cover }} style={styles.coverImage} resizeMode=\"cover\" />\n ) : (\n <Text style={[styles.coverFallback, { color: secondaryText }]}>Yantra</Text>\n )}\n {selected ? (\n <View style={[styles.selectedMark, { backgroundColor: accent }]}>\n <MaterialCommunityIcons name=\"check\" size={12} color=\"#f8fafc\" />\n </View>\n ) : null}\n </View>\n <View style={styles.cardBody}>\n <Text style={[styles.cardTitle, { color: primaryText }]} numberOfLines={2}>\n {item.title}\n </Text>\n </View>\n </Pressable>\n );\n },\n [\n accent,\n borderColor,\n colWidth,\n coverHeight,\n onClose,\n onSelect,\n placeholderBg,\n primaryText,\n secondaryText,\n selectedId,\n surface,\n ],\n );\n\n return (\n <Modal visible={isOpen} transparent animationType=\"slide\" onRequestClose={onClose}>\n <View style={[styles.sheet, { backgroundColor: sheetBg, height: windowHeight * 0.94 }]}>\n <View style={[styles.handleWrap, { paddingTop: Math.max(insets.top, 10) }]}>\n <View style={[styles.handle, { backgroundColor: isDark ? '#475569' : '#cbd5e1' }]} />\n </View>\n\n <View style={styles.header}>\n <View style={styles.headerCopy}>\n <Text style={[styles.title, { color: primaryText }]}>{title}</Text>\n <Text style={[styles.count, { color: secondaryText }]}>\n {searchQuery.trim()\n ? `${filtered.length} of ${cards.length}`\n : `${cards.length} template${cards.length === 1 ? '' : 's'}`}\n </Text>\n </View>\n <Pressable\n onPress={onClose}\n style={[styles.closeBtn, { backgroundColor: mutedBg }]}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Close\"\n >\n <MaterialCommunityIcons name=\"close\" size={18} color={secondaryText} />\n </Pressable>\n </View>\n\n <View style={[styles.searchWrap, { backgroundColor: mutedBg, borderColor }]}>\n <MaterialCommunityIcons name=\"magnify\" size={16} color={secondaryText} />\n <TextInput\n value={searchQuery}\n onChangeText={setSearchQuery}\n placeholder=\"Search templates\"\n placeholderTextColor={secondaryText}\n style={[styles.searchInput, { color: primaryText }]}\n autoCorrect={false}\n autoCapitalize=\"none\"\n returnKeyType=\"search\"\n />\n {searchQuery.length > 0 ? (\n <Pressable onPress={() => setSearchQuery('')} accessibilityLabel=\"Clear search\">\n <MaterialCommunityIcons name=\"close-circle\" size={16} color={secondaryText} />\n </Pressable>\n ) : null}\n </View>\n\n <FlatList\n data={filtered}\n keyExtractor={(item) => item.id}\n numColumns={2}\n renderItem={renderItem}\n columnWrapperStyle={styles.column}\n contentContainerStyle={[styles.listContent, { paddingBottom: Math.max(insets.bottom, 16) }]}\n keyboardShouldPersistTaps=\"handled\"\n keyboardDismissMode=\"on-drag\"\n initialNumToRender={8}\n maxToRenderPerBatch={8}\n windowSize={7}\n removeClippedSubviews\n ListEmptyComponent={\n <View style={styles.empty}>\n <Text style={[styles.emptyTitle, { color: primaryText }]}>No templates found</Text>\n <Text style={[styles.emptyHint, { color: secondaryText }]}>Try a different search</Text>\n </View>\n }\n />\n </View>\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n sheet: {\n marginTop: 'auto',\n borderTopLeftRadius: 18,\n borderTopRightRadius: 18,\n width: '100%',\n overflow: 'hidden',\n },\n handleWrap: {\n alignItems: 'center',\n paddingBottom: 4,\n },\n handle: {\n width: 36,\n height: 4,\n borderRadius: 999,\n },\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: H_PAD,\n paddingBottom: 10,\n gap: 12,\n },\n headerCopy: {\n flex: 1,\n minWidth: 0,\n },\n title: {\n fontSize: 18,\n fontWeight: '700',\n letterSpacing: -0.3,\n },\n count: {\n marginTop: 2,\n fontSize: 12,\n fontWeight: '500',\n },\n closeBtn: {\n width: 32,\n height: 32,\n borderRadius: 16,\n alignItems: 'center',\n justifyContent: 'center',\n },\n searchWrap: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n marginHorizontal: H_PAD,\n marginBottom: 12,\n borderWidth: 1,\n borderRadius: 12,\n paddingHorizontal: 10,\n minHeight: 42,\n },\n searchInput: {\n flex: 1,\n fontSize: 15,\n paddingVertical: 8,\n },\n column: {\n gap: GRID_GAP,\n paddingHorizontal: H_PAD,\n marginBottom: GRID_GAP,\n },\n listContent: {\n flexGrow: 1,\n },\n card: {\n borderRadius: 12,\n overflow: 'hidden',\n },\n cover: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n coverImage: {\n width: '100%',\n height: '100%',\n },\n coverFallback: {\n fontSize: 12,\n fontWeight: '600',\n letterSpacing: 0.3,\n },\n selectedMark: {\n position: 'absolute',\n top: 8,\n right: 8,\n width: 20,\n height: 20,\n borderRadius: 10,\n alignItems: 'center',\n justifyContent: 'center',\n },\n cardBody: {\n paddingHorizontal: 9,\n paddingVertical: 8,\n minHeight: 40,\n },\n cardTitle: {\n fontSize: 12,\n fontWeight: '600',\n lineHeight: 16,\n },\n empty: {\n alignItems: 'center',\n paddingTop: 48,\n gap: 6,\n },\n emptyTitle: {\n fontSize: 15,\n fontWeight: '600',\n },\n emptyHint: {\n fontSize: 13,\n },\n});\n\nexport default TemplateBrowserModal;\n"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,6 @@ const mobileTokens = {
|
|
|
9
9
|
primary: "#4f46e5",
|
|
10
10
|
primarySoft: "#eef2ff",
|
|
11
11
|
primaryBorder: "#c7d2fe",
|
|
12
|
-
successSoft: "#ecfdf5",
|
|
13
|
-
successText: "#047857",
|
|
14
|
-
warningSoft: "#fffbeb",
|
|
15
|
-
warningText: "#b45309",
|
|
16
|
-
dangerSoft: "#fef2f2",
|
|
17
12
|
dangerText: "#b91c1c"
|
|
18
13
|
},
|
|
19
14
|
radius: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobileTokens.js","sources":["../../src/theme/mobileTokens.ts"],"sourcesContent":["export const mobileTokens = {\n color: {\n bg: '#f8fafc',\n surface: '#ffffff',\n surfaceMuted: '#f1f5f9',\n border: '#e2e8f0',\n text: '#0f172a',\n textMuted: '#475569',\n primary: '#4f46e5',\n primarySoft: '#eef2ff',\n primaryBorder: '#c7d2fe',\n successSoft: '#ecfdf5',\n successText: '#047857',\n warningSoft: '#fffbeb',\n warningText: '#b45309',\n dangerSoft: '#fef2f2',\n dangerText: '#b91c1c',\n },\n radius: {\n sm: 10,\n md: 14,\n lg: 18,\n pill: 999,\n },\n shadow: {\n card: {\n shadowColor: '#0f172a',\n shadowOpacity: 0.06,\n shadowRadius: 10,\n shadowOffset: { width: 0, height: 4 },\n elevation: 2,\n },\n },\n} as const;\n"],"names":[],"mappings":"AAAO,MAAM,YAAe,GAAA;AAAA,EAC1B,KAAO,EAAA;AAAA,IACL,EAAI,EAAA,SAAA;AAAA,IACJ,OAAS,EAAA,SAAA;AAAA,IACT,YAAc,EAAA,SAAA;AAAA,IACd,MAAQ,EAAA,SAAA;AAAA,IACR,IAAM,EAAA,SAAA;AAAA,IACN,SAAW,EAAA,SAAA;AAAA,IACX,OAAS,EAAA,SAAA;AAAA,IACT,WAAa,EAAA,SAAA;AAAA,IACb,aAAe,EAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"mobileTokens.js","sources":["../../src/theme/mobileTokens.ts"],"sourcesContent":["export const mobileTokens = {\n color: {\n bg: '#f8fafc',\n surface: '#ffffff',\n surfaceMuted: '#f1f5f9',\n border: '#e2e8f0',\n text: '#0f172a',\n textMuted: '#475569',\n primary: '#4f46e5',\n primarySoft: '#eef2ff',\n primaryBorder: '#c7d2fe',\n successSoft: '#ecfdf5',\n successText: '#047857',\n warningSoft: '#fffbeb',\n warningText: '#b45309',\n dangerSoft: '#fef2f2',\n dangerText: '#b91c1c',\n },\n radius: {\n sm: 10,\n md: 14,\n lg: 18,\n pill: 999,\n },\n shadow: {\n card: {\n shadowColor: '#0f172a',\n shadowOpacity: 0.06,\n shadowRadius: 10,\n shadowOffset: { width: 0, height: 4 },\n elevation: 2,\n },\n },\n} as const;\n"],"names":[],"mappings":"AAAO,MAAM,YAAe,GAAA;AAAA,EAC1B,KAAO,EAAA;AAAA,IACL,EAAI,EAAA,SAAA;AAAA,IACJ,OAAS,EAAA,SAAA;AAAA,IACT,YAAc,EAAA,SAAA;AAAA,IACd,MAAQ,EAAA,SAAA;AAAA,IACR,IAAM,EAAA,SAAA;AAAA,IACN,SAAW,EAAA,SAAA;AAAA,IACX,OAAS,EAAA,SAAA;AAAA,IACT,WAAa,EAAA,SAAA;AAAA,IACb,aAAe,EAAA,SAAA;AAAA,IAMf,UAAY,EAAA;AAAA,GACd;AAAA,EACA,MAAQ,EAAA;AAAA,IAEN,EAAI,EAAA,EAGN,CAaF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adminide-stack/yantra-mobile",
|
|
3
|
-
"version": "12.0.39
|
|
3
|
+
"version": "12.0.39",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"uuid": "^9.0.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"common": "12.0.39
|
|
28
|
+
"common": "^12.0.39"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@admin-layout/gluestack-ui-mobile": "*",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@messenger-box/platform-mobile": "*",
|
|
42
42
|
"@react-native-async-storage/async-storage": "*",
|
|
43
43
|
"@react-navigation/native": "*",
|
|
44
|
-
"common": "12.0.
|
|
44
|
+
"common": "12.0.38",
|
|
45
45
|
"expo-constants": "*",
|
|
46
46
|
"expo-secure-store": "*",
|
|
47
47
|
"lodash": "*",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"typescript": {
|
|
56
56
|
"definition": "lib/index.d.ts"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "ed57eaba65a60939af506f046d76dccf4020d014"
|
|
59
59
|
}
|