@volkansuner/aichat-react-native 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/LICENSE +22 -0
- package/README.md +528 -0
- package/dist/AIChatSDK.d.ts +75 -0
- package/dist/AIChatSDK.d.ts.map +1 -0
- package/dist/AIChatSDK.js +357 -0
- package/dist/AIChatSDK.js.map +1 -0
- package/dist/components/AIChatProvider.d.ts +25 -0
- package/dist/components/AIChatProvider.d.ts.map +1 -0
- package/dist/components/AIChatProvider.js +93 -0
- package/dist/components/AIChatProvider.js.map +1 -0
- package/dist/components/AIChatWidget.d.ts +62 -0
- package/dist/components/AIChatWidget.d.ts.map +1 -0
- package/dist/components/AIChatWidget.handlers.d.ts +15 -0
- package/dist/components/AIChatWidget.handlers.d.ts.map +1 -0
- package/dist/components/AIChatWidget.handlers.js +180 -0
- package/dist/components/AIChatWidget.handlers.js.map +1 -0
- package/dist/components/AIChatWidget.js +403 -0
- package/dist/components/AIChatWidget.js.map +1 -0
- package/dist/components/AIChatWidget.styles.d.ts +17 -0
- package/dist/components/AIChatWidget.styles.d.ts.map +1 -0
- package/dist/components/AIChatWidget.styles.js +68 -0
- package/dist/components/AIChatWidget.styles.js.map +1 -0
- package/dist/components/AIChatWidget.types.d.ts +250 -0
- package/dist/components/AIChatWidget.types.d.ts.map +1 -0
- package/dist/components/AIChatWidget.types.js +3 -0
- package/dist/components/AIChatWidget.types.js.map +1 -0
- package/dist/components/AIChatWidget.utils.d.ts +12 -0
- package/dist/components/AIChatWidget.utils.d.ts.map +1 -0
- package/dist/components/AIChatWidget.utils.js +109 -0
- package/dist/components/AIChatWidget.utils.js.map +1 -0
- package/dist/components/ConfigError.d.ts +33 -0
- package/dist/components/ConfigError.d.ts.map +1 -0
- package/dist/components/ConfigError.js +195 -0
- package/dist/components/ConfigError.js.map +1 -0
- package/dist/components/FloatingButton.d.ts +12 -0
- package/dist/components/FloatingButton.d.ts.map +1 -0
- package/dist/components/FloatingButton.js +163 -0
- package/dist/components/FloatingButton.js.map +1 -0
- package/dist/components/InputArea.d.ts +58 -0
- package/dist/components/InputArea.d.ts.map +1 -0
- package/dist/components/InputArea.js +135 -0
- package/dist/components/InputArea.js.map +1 -0
- package/dist/components/MarkdownText.d.ts +16 -0
- package/dist/components/MarkdownText.d.ts.map +1 -0
- package/dist/components/MarkdownText.js +263 -0
- package/dist/components/MarkdownText.js.map +1 -0
- package/dist/components/MessageBubble.d.ts +101 -0
- package/dist/components/MessageBubble.d.ts.map +1 -0
- package/dist/components/MessageBubble.js +377 -0
- package/dist/components/MessageBubble.js.map +1 -0
- package/dist/components/NavigationSuggestion.d.ts +13 -0
- package/dist/components/NavigationSuggestion.d.ts.map +1 -0
- package/dist/components/NavigationSuggestion.js +117 -0
- package/dist/components/NavigationSuggestion.js.map +1 -0
- package/dist/components/QuickReplies.d.ts +15 -0
- package/dist/components/QuickReplies.d.ts.map +1 -0
- package/dist/components/QuickReplies.js +49 -0
- package/dist/components/QuickReplies.js.map +1 -0
- package/dist/components/TemplateRenderer.d.ts +17 -0
- package/dist/components/TemplateRenderer.d.ts.map +1 -0
- package/dist/components/TemplateRenderer.js +397 -0
- package/dist/components/TemplateRenderer.js.map +1 -0
- package/dist/components/TypingIndicator.d.ts +29 -0
- package/dist/components/TypingIndicator.d.ts.map +1 -0
- package/dist/components/TypingIndicator.js +110 -0
- package/dist/components/TypingIndicator.js.map +1 -0
- package/dist/components/defaults/DefaultCard.d.ts +15 -0
- package/dist/components/defaults/DefaultCard.d.ts.map +1 -0
- package/dist/components/defaults/DefaultCard.js +157 -0
- package/dist/components/defaults/DefaultCard.js.map +1 -0
- package/dist/components/defaults/DefaultDetail.d.ts +15 -0
- package/dist/components/defaults/DefaultDetail.d.ts.map +1 -0
- package/dist/components/defaults/DefaultDetail.js +139 -0
- package/dist/components/defaults/DefaultDetail.js.map +1 -0
- package/dist/components/defaults/DefaultList.d.ts +13 -0
- package/dist/components/defaults/DefaultList.d.ts.map +1 -0
- package/dist/components/defaults/DefaultList.js +99 -0
- package/dist/components/defaults/DefaultList.js.map +1 -0
- package/dist/components/defaults/DefaultTable.d.ts +15 -0
- package/dist/components/defaults/DefaultTable.d.ts.map +1 -0
- package/dist/components/defaults/DefaultTable.js +205 -0
- package/dist/components/defaults/DefaultTable.js.map +1 -0
- package/dist/components/defaults/index.d.ts +15 -0
- package/dist/components/defaults/index.d.ts.map +1 -0
- package/dist/components/defaults/index.js +26 -0
- package/dist/components/defaults/index.js.map +1 -0
- package/dist/components/index.d.ts +17 -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/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +52 -0
- package/dist/constants.js.map +1 -0
- package/dist/hooks/useAIChatConfig.d.ts +61 -0
- package/dist/hooks/useAIChatConfig.d.ts.map +1 -0
- package/dist/hooks/useAIChatConfig.js +95 -0
- package/dist/hooks/useAIChatConfig.js.map +1 -0
- package/dist/hooks/useChatMessages.d.ts +27 -0
- package/dist/hooks/useChatMessages.d.ts.map +1 -0
- package/dist/hooks/useChatMessages.js +255 -0
- package/dist/hooks/useChatMessages.js.map +1 -0
- package/dist/hooks/useContextManager.d.ts +13 -0
- package/dist/hooks/useContextManager.d.ts.map +1 -0
- package/dist/hooks/useContextManager.js +42 -0
- package/dist/hooks/useContextManager.js.map +1 -0
- package/dist/hooks/useSDK.d.ts +18 -0
- package/dist/hooks/useSDK.d.ts.map +1 -0
- package/dist/hooks/useSDK.js +64 -0
- package/dist/hooks/useSDK.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/TemplateRegistry.d.ts +48 -0
- package/dist/registry/TemplateRegistry.d.ts.map +1 -0
- package/dist/registry/TemplateRegistry.js +77 -0
- package/dist/registry/TemplateRegistry.js.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +9 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/services/BackendService.d.ts +47 -0
- package/dist/services/BackendService.d.ts.map +1 -0
- package/dist/services/BackendService.js +362 -0
- package/dist/services/BackendService.js.map +1 -0
- package/dist/services/ConversationManager.d.ts +40 -0
- package/dist/services/ConversationManager.d.ts.map +1 -0
- package/dist/services/ConversationManager.js +95 -0
- package/dist/services/ConversationManager.js.map +1 -0
- package/dist/services/LocalAIClassifier.d.ts +32 -0
- package/dist/services/LocalAIClassifier.d.ts.map +1 -0
- package/dist/services/LocalAIClassifier.js +149 -0
- package/dist/services/LocalAIClassifier.js.map +1 -0
- package/dist/services/NavigationHandler.d.ts +30 -0
- package/dist/services/NavigationHandler.d.ts.map +1 -0
- package/dist/services/NavigationHandler.js +74 -0
- package/dist/services/NavigationHandler.js.map +1 -0
- package/dist/themes/dark.d.ts +6 -0
- package/dist/themes/dark.d.ts.map +1 -0
- package/dist/themes/dark.js +130 -0
- package/dist/themes/dark.js.map +1 -0
- package/dist/themes/index.d.ts +13 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +34 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/light.d.ts +6 -0
- package/dist/themes/light.d.ts.map +1 -0
- package/dist/themes/light.js +130 -0
- package/dist/themes/light.js.map +1 -0
- package/dist/themes/types.d.ts +143 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +6 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/types/api.d.ts +118 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/chat.d.ts +154 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +6 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/components.d.ts +69 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/components.js +17 -0
- package/dist/types/components.js.map +1 -0
- package/dist/types/config.d.ts +122 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +18 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/document.d.ts +108 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +7 -0
- package/dist/types/document.js.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +31 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/local-ai.d.ts +48 -0
- package/dist/types/local-ai.d.ts.map +1 -0
- package/dist/types/local-ai.js +17 -0
- package/dist/types/local-ai.js.map +1 -0
- package/dist/types/navigation.d.ts +89 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +6 -0
- package/dist/types/navigation.js.map +1 -0
- package/dist/types/sdk.d.ts +47 -0
- package/dist/types/sdk.d.ts.map +1 -0
- package/dist/types/sdk.js +6 -0
- package/dist/types/sdk.js.map +1 -0
- package/dist/types/template.d.ts +220 -0
- package/dist/types/template.d.ts.map +1 -0
- package/dist/types/template.js +8 -0
- package/dist/types/template.js.map +1 -0
- package/dist/utils/configLoader.d.ts +69 -0
- package/dist/utils/configLoader.d.ts.map +1 -0
- package/dist/utils/configLoader.js +278 -0
- package/dist/utils/configLoader.js.map +1 -0
- package/dist/utils/deepMerge.d.ts +47 -0
- package/dist/utils/deepMerge.d.ts.map +1 -0
- package/dist/utils/deepMerge.js +71 -0
- package/dist/utils/deepMerge.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalAIClassifier = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
/**
|
|
6
|
+
* Local AI Classifier using ONNX Runtime
|
|
7
|
+
* Phase 1: Simple rule-based classifier
|
|
8
|
+
* Phase 2: Will use DistilBERT ONNX model
|
|
9
|
+
*/
|
|
10
|
+
class LocalAIClassifier {
|
|
11
|
+
isInitialized = false;
|
|
12
|
+
constructor(_config) {
|
|
13
|
+
// Config will be used in Phase 2 for ONNX model configuration
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Initialize the classifier
|
|
17
|
+
*/
|
|
18
|
+
async initialize() {
|
|
19
|
+
try {
|
|
20
|
+
// Phase 1: Rule-based initialization
|
|
21
|
+
// Phase 2: Load ONNX model here
|
|
22
|
+
this.isInitialized = true;
|
|
23
|
+
console.log('✅ Local AI Classifier initialized (rule-based)');
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error('Failed to initialize Local AI:', error);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Classify user message intent
|
|
32
|
+
*/
|
|
33
|
+
async classify(message) {
|
|
34
|
+
if (!this.isInitialized) {
|
|
35
|
+
throw new Error('Classifier not initialized');
|
|
36
|
+
}
|
|
37
|
+
const startTime = Date.now();
|
|
38
|
+
// Phase 1: Simple rule-based classification
|
|
39
|
+
const result = this.ruleBasedClassify(message);
|
|
40
|
+
const processingTime = Date.now() - startTime;
|
|
41
|
+
return {
|
|
42
|
+
intent: result.intent,
|
|
43
|
+
confidence: result.confidence,
|
|
44
|
+
entities: result.entities,
|
|
45
|
+
processingTime,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Rule-based classifier (Phase 1)
|
|
50
|
+
* Phase 2: This will be replaced with ONNX model inference
|
|
51
|
+
*/
|
|
52
|
+
ruleBasedClassify(message) {
|
|
53
|
+
const lowerMessage = message.toLowerCase();
|
|
54
|
+
// Navigation intent detection
|
|
55
|
+
const navigationKeywords = [
|
|
56
|
+
'go to',
|
|
57
|
+
'take me to',
|
|
58
|
+
'navigate to',
|
|
59
|
+
'show me',
|
|
60
|
+
'open',
|
|
61
|
+
'view',
|
|
62
|
+
'see',
|
|
63
|
+
'check',
|
|
64
|
+
'look at',
|
|
65
|
+
];
|
|
66
|
+
for (const keyword of navigationKeywords) {
|
|
67
|
+
if (lowerMessage.includes(keyword)) {
|
|
68
|
+
// Extract potential screen name
|
|
69
|
+
const screenName = this.extractScreenName(lowerMessage);
|
|
70
|
+
return {
|
|
71
|
+
intent: types_1.IntentClass.NAVIGATE,
|
|
72
|
+
confidence: 0.9,
|
|
73
|
+
entities: screenName ? { screen: screenName } : undefined,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Search intent detection
|
|
78
|
+
const searchKeywords = ['search', 'find', 'look for', 'looking for'];
|
|
79
|
+
for (const keyword of searchKeywords) {
|
|
80
|
+
if (lowerMessage.includes(keyword)) {
|
|
81
|
+
return {
|
|
82
|
+
intent: types_1.IntentClass.SEARCH,
|
|
83
|
+
confidence: 0.85,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Action intent detection
|
|
88
|
+
const actionKeywords = [
|
|
89
|
+
'buy',
|
|
90
|
+
'purchase',
|
|
91
|
+
'order',
|
|
92
|
+
'add to cart',
|
|
93
|
+
'checkout',
|
|
94
|
+
'pay',
|
|
95
|
+
'confirm',
|
|
96
|
+
];
|
|
97
|
+
for (const keyword of actionKeywords) {
|
|
98
|
+
if (lowerMessage.includes(keyword)) {
|
|
99
|
+
return {
|
|
100
|
+
intent: types_1.IntentClass.ACTION,
|
|
101
|
+
confidence: 0.8,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Default to general
|
|
106
|
+
return {
|
|
107
|
+
intent: types_1.IntentClass.GENERAL,
|
|
108
|
+
confidence: 0.5,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Extract potential screen name from message
|
|
113
|
+
*/
|
|
114
|
+
extractScreenName(message) {
|
|
115
|
+
const commonScreens = [
|
|
116
|
+
'home',
|
|
117
|
+
'profile',
|
|
118
|
+
'settings',
|
|
119
|
+
'catalog',
|
|
120
|
+
'products',
|
|
121
|
+
'cart',
|
|
122
|
+
'checkout',
|
|
123
|
+
'orders',
|
|
124
|
+
'favorites',
|
|
125
|
+
'search',
|
|
126
|
+
'notifications',
|
|
127
|
+
'help',
|
|
128
|
+
'about',
|
|
129
|
+
'contact',
|
|
130
|
+
];
|
|
131
|
+
const lowerMessage = message.toLowerCase();
|
|
132
|
+
for (const screen of commonScreens) {
|
|
133
|
+
if (lowerMessage.includes(screen)) {
|
|
134
|
+
// Capitalize first letter
|
|
135
|
+
return screen.charAt(0).toUpperCase() + screen.slice(1);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Destroy classifier
|
|
142
|
+
*/
|
|
143
|
+
async destroy() {
|
|
144
|
+
// Phase 2: Cleanup ONNX session here
|
|
145
|
+
this.isInitialized = false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.LocalAIClassifier = LocalAIClassifier;
|
|
149
|
+
//# sourceMappingURL=LocalAIClassifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalAIClassifier.js","sourceRoot":"","sources":["../../src/services/LocalAIClassifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NavigationContainerRef } from '@react-navigation/native';
|
|
2
|
+
/**
|
|
3
|
+
* Navigation Handler
|
|
4
|
+
* Handles navigation based on AI suggestions
|
|
5
|
+
*/
|
|
6
|
+
export declare class NavigationHandler {
|
|
7
|
+
private navigationRef;
|
|
8
|
+
constructor(navigationRef?: NavigationContainerRef<any>);
|
|
9
|
+
/**
|
|
10
|
+
* Set navigation reference
|
|
11
|
+
*/
|
|
12
|
+
setNavigationRef(ref: NavigationContainerRef<any>): void;
|
|
13
|
+
/**
|
|
14
|
+
* Navigate to screen
|
|
15
|
+
*/
|
|
16
|
+
navigate(screenName: string, params?: any): void;
|
|
17
|
+
/**
|
|
18
|
+
* Go back
|
|
19
|
+
*/
|
|
20
|
+
goBack(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get current route name
|
|
23
|
+
*/
|
|
24
|
+
getCurrentRoute(): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Reset navigation
|
|
27
|
+
*/
|
|
28
|
+
reset(routeName: string, params?: any): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=NavigationHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationHandler.d.ts","sourceRoot":"","sources":["../../src/services/NavigationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAqC;gBAE9C,aAAa,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC;IAIvD;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI;IAIxD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAmBhD;;OAEG;IACH,MAAM,IAAI,IAAI;IAWd;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,SAAS;IAQrC;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;CAU7C"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavigationHandler = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Navigation Handler
|
|
6
|
+
* Handles navigation based on AI suggestions
|
|
7
|
+
*/
|
|
8
|
+
class NavigationHandler {
|
|
9
|
+
navigationRef;
|
|
10
|
+
constructor(navigationRef) {
|
|
11
|
+
this.navigationRef = navigationRef || null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Set navigation reference
|
|
15
|
+
*/
|
|
16
|
+
setNavigationRef(ref) {
|
|
17
|
+
this.navigationRef = ref;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Navigate to screen
|
|
21
|
+
*/
|
|
22
|
+
navigate(screenName, params) {
|
|
23
|
+
if (!this.navigationRef) {
|
|
24
|
+
console.warn('Navigation reference not set');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (!this.navigationRef.isReady()) {
|
|
28
|
+
console.warn('Navigation not ready');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// @ts-ignore - navigate accepts screen name
|
|
33
|
+
this.navigationRef.navigate(screenName, params);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error('Navigation error:', error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Go back
|
|
41
|
+
*/
|
|
42
|
+
goBack() {
|
|
43
|
+
if (!this.navigationRef) {
|
|
44
|
+
console.warn('Navigation reference not set');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (this.navigationRef.canGoBack()) {
|
|
48
|
+
this.navigationRef.goBack();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get current route name
|
|
53
|
+
*/
|
|
54
|
+
getCurrentRoute() {
|
|
55
|
+
if (!this.navigationRef || !this.navigationRef.isReady()) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
return this.navigationRef.getCurrentRoute()?.name;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Reset navigation
|
|
62
|
+
*/
|
|
63
|
+
reset(routeName, params) {
|
|
64
|
+
if (!this.navigationRef || !this.navigationRef.isReady()) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.navigationRef.reset({
|
|
68
|
+
index: 0,
|
|
69
|
+
routes: [{ name: routeName, params }],
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.NavigationHandler = NavigationHandler;
|
|
74
|
+
//# sourceMappingURL=NavigationHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationHandler.js","sourceRoot":"","sources":["../../src/services/NavigationHandler.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,iBAAiB;IACpB,aAAa,CAAqC;IAE1D,YAAY,aAA2C;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAgC;QAC/C,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,UAAkB,EAAE,MAAY;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,4CAA4C;YAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,MAAY;QACnC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;CACF;AA1ED,8CA0EC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAwIvB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.darkTheme = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Dark theme configuration
|
|
6
|
+
*/
|
|
7
|
+
exports.darkTheme = {
|
|
8
|
+
name: 'dark',
|
|
9
|
+
colors: {
|
|
10
|
+
// Primary colors - iOS blue (adjusted for dark mode)
|
|
11
|
+
primary: '#0A84FF',
|
|
12
|
+
primaryLight: '#64D2FF',
|
|
13
|
+
primaryDark: '#0051D5',
|
|
14
|
+
// Background colors
|
|
15
|
+
background: '#000000',
|
|
16
|
+
surface: '#1C1C1E',
|
|
17
|
+
overlay: 'rgba(0, 0, 0, 0.7)',
|
|
18
|
+
// Text colors
|
|
19
|
+
text: '#FFFFFF',
|
|
20
|
+
textSecondary: '#8E8E93',
|
|
21
|
+
textLight: '#48484A',
|
|
22
|
+
textInverse: '#000000',
|
|
23
|
+
// Message bubble colors
|
|
24
|
+
userBubble: '#0A84FF',
|
|
25
|
+
userBubbleText: '#FFFFFF',
|
|
26
|
+
aiBubble: '#2C2C2E',
|
|
27
|
+
aiBubbleText: '#FFFFFF',
|
|
28
|
+
// UI element colors
|
|
29
|
+
border: '#38383A',
|
|
30
|
+
divider: '#2C2C2E',
|
|
31
|
+
error: '#FF453A',
|
|
32
|
+
success: '#32D74B',
|
|
33
|
+
warning: '#FF9F0A',
|
|
34
|
+
info: '#64D2FF',
|
|
35
|
+
// Input colors
|
|
36
|
+
inputBackground: '#1C1C1E',
|
|
37
|
+
inputBorder: '#38383A',
|
|
38
|
+
inputPlaceholder: '#8E8E93',
|
|
39
|
+
// Button colors
|
|
40
|
+
buttonBackground: '#0A84FF',
|
|
41
|
+
buttonText: '#FFFFFF',
|
|
42
|
+
buttonDisabled: '#48484A',
|
|
43
|
+
// Badge/notification
|
|
44
|
+
badge: '#FF453A',
|
|
45
|
+
badgeText: '#FFFFFF',
|
|
46
|
+
},
|
|
47
|
+
spacing: {
|
|
48
|
+
xs: 4,
|
|
49
|
+
sm: 8,
|
|
50
|
+
md: 16,
|
|
51
|
+
lg: 24,
|
|
52
|
+
xl: 32,
|
|
53
|
+
xxl: 48,
|
|
54
|
+
},
|
|
55
|
+
borderRadius: {
|
|
56
|
+
sm: 8,
|
|
57
|
+
md: 12,
|
|
58
|
+
lg: 16,
|
|
59
|
+
xl: 24,
|
|
60
|
+
full: 9999,
|
|
61
|
+
},
|
|
62
|
+
typography: {
|
|
63
|
+
fontFamily: 'System',
|
|
64
|
+
fontSize: {
|
|
65
|
+
xs: 12,
|
|
66
|
+
sm: 14,
|
|
67
|
+
md: 16,
|
|
68
|
+
lg: 18,
|
|
69
|
+
xl: 20,
|
|
70
|
+
xxl: 24,
|
|
71
|
+
},
|
|
72
|
+
fontWeight: {
|
|
73
|
+
regular: '400',
|
|
74
|
+
medium: '500',
|
|
75
|
+
semibold: '600',
|
|
76
|
+
bold: '700',
|
|
77
|
+
},
|
|
78
|
+
lineHeight: {
|
|
79
|
+
tight: 1.2,
|
|
80
|
+
normal: 1.5,
|
|
81
|
+
relaxed: 1.8,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
shadows: {
|
|
85
|
+
small: {
|
|
86
|
+
shadowColor: '#000',
|
|
87
|
+
shadowOffset: { width: 0, height: 1 },
|
|
88
|
+
shadowOpacity: 0.3,
|
|
89
|
+
shadowRadius: 2,
|
|
90
|
+
elevation: 2,
|
|
91
|
+
},
|
|
92
|
+
medium: {
|
|
93
|
+
shadowColor: '#000',
|
|
94
|
+
shadowOffset: { width: 0, height: 2 },
|
|
95
|
+
shadowOpacity: 0.4,
|
|
96
|
+
shadowRadius: 4,
|
|
97
|
+
elevation: 4,
|
|
98
|
+
},
|
|
99
|
+
large: {
|
|
100
|
+
shadowColor: '#000',
|
|
101
|
+
shadowOffset: { width: 0, height: 4 },
|
|
102
|
+
shadowOpacity: 0.5,
|
|
103
|
+
shadowRadius: 8,
|
|
104
|
+
elevation: 8,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
animation: {
|
|
108
|
+
duration: {
|
|
109
|
+
fast: 150,
|
|
110
|
+
normal: 300,
|
|
111
|
+
slow: 500,
|
|
112
|
+
},
|
|
113
|
+
easing: {
|
|
114
|
+
easeIn: 'ease-in',
|
|
115
|
+
easeOut: 'ease-out',
|
|
116
|
+
easeInOut: 'ease-in-out',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
messages: {
|
|
120
|
+
user: {
|
|
121
|
+
padding: 12,
|
|
122
|
+
maxWidth: 70, // 70% of container width
|
|
123
|
+
},
|
|
124
|
+
ai: {
|
|
125
|
+
padding: 12,
|
|
126
|
+
maxWidth: 70, // 70% of container width
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=dark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './light';
|
|
3
|
+
export * from './dark';
|
|
4
|
+
import { Theme } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Get theme by name
|
|
7
|
+
*/
|
|
8
|
+
export declare function getTheme(themeName: 'light' | 'dark'): Theme;
|
|
9
|
+
/**
|
|
10
|
+
* Default theme
|
|
11
|
+
*/
|
|
12
|
+
export declare const defaultTheme: Theme;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAIvB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAE3D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,OAAa,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.defaultTheme = void 0;
|
|
18
|
+
exports.getTheme = getTheme;
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
__exportStar(require("./light"), exports);
|
|
21
|
+
__exportStar(require("./dark"), exports);
|
|
22
|
+
const light_1 = require("./light");
|
|
23
|
+
const dark_1 = require("./dark");
|
|
24
|
+
/**
|
|
25
|
+
* Get theme by name
|
|
26
|
+
*/
|
|
27
|
+
function getTheme(themeName) {
|
|
28
|
+
return themeName === 'dark' ? dark_1.darkTheme : light_1.lightTheme;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Default theme
|
|
32
|
+
*/
|
|
33
|
+
exports.defaultTheme = light_1.lightTheme;
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAWA,4BAEC;AAbD,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AAEvB,mCAAqC;AACrC,iCAAmC;AAGnC;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAA2B;IAClD,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAS,CAAC,CAAC,CAAC,kBAAU,CAAC;AACvD,CAAC;AAED;;GAEG;AACU,QAAA,YAAY,GAAG,kBAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAwIxB,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lightTheme = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Light theme configuration
|
|
6
|
+
*/
|
|
7
|
+
exports.lightTheme = {
|
|
8
|
+
name: 'light',
|
|
9
|
+
colors: {
|
|
10
|
+
// Primary colors - iOS blue
|
|
11
|
+
primary: '#007AFF',
|
|
12
|
+
primaryLight: '#5AC8FA',
|
|
13
|
+
primaryDark: '#0051D5',
|
|
14
|
+
// Background colors
|
|
15
|
+
background: '#FFFFFF',
|
|
16
|
+
surface: '#F2F2F7',
|
|
17
|
+
overlay: 'rgba(0, 0, 0, 0.5)',
|
|
18
|
+
// Text colors
|
|
19
|
+
text: '#000000',
|
|
20
|
+
textSecondary: '#8E8E93',
|
|
21
|
+
textLight: '#C7C7CC',
|
|
22
|
+
textInverse: '#FFFFFF',
|
|
23
|
+
// Message bubble colors
|
|
24
|
+
userBubble: '#007AFF',
|
|
25
|
+
userBubbleText: '#FFFFFF',
|
|
26
|
+
aiBubble: '#E9E9EB',
|
|
27
|
+
aiBubbleText: '#000000',
|
|
28
|
+
// UI element colors
|
|
29
|
+
border: '#C6C6C8',
|
|
30
|
+
divider: '#E5E5EA',
|
|
31
|
+
error: '#FF3B30',
|
|
32
|
+
success: '#34C759',
|
|
33
|
+
warning: '#FF9500',
|
|
34
|
+
info: '#5AC8FA',
|
|
35
|
+
// Input colors
|
|
36
|
+
inputBackground: '#F2F2F7',
|
|
37
|
+
inputBorder: '#C6C6C8',
|
|
38
|
+
inputPlaceholder: '#8E8E93',
|
|
39
|
+
// Button colors
|
|
40
|
+
buttonBackground: '#007AFF',
|
|
41
|
+
buttonText: '#FFFFFF',
|
|
42
|
+
buttonDisabled: '#C7C7CC',
|
|
43
|
+
// Badge/notification
|
|
44
|
+
badge: '#FF3B30',
|
|
45
|
+
badgeText: '#FFFFFF',
|
|
46
|
+
},
|
|
47
|
+
spacing: {
|
|
48
|
+
xs: 4,
|
|
49
|
+
sm: 8,
|
|
50
|
+
md: 16,
|
|
51
|
+
lg: 24,
|
|
52
|
+
xl: 32,
|
|
53
|
+
xxl: 48,
|
|
54
|
+
},
|
|
55
|
+
borderRadius: {
|
|
56
|
+
sm: 8,
|
|
57
|
+
md: 12,
|
|
58
|
+
lg: 16,
|
|
59
|
+
xl: 24,
|
|
60
|
+
full: 9999,
|
|
61
|
+
},
|
|
62
|
+
typography: {
|
|
63
|
+
fontFamily: 'System',
|
|
64
|
+
fontSize: {
|
|
65
|
+
xs: 12,
|
|
66
|
+
sm: 14,
|
|
67
|
+
md: 16,
|
|
68
|
+
lg: 18,
|
|
69
|
+
xl: 20,
|
|
70
|
+
xxl: 24,
|
|
71
|
+
},
|
|
72
|
+
fontWeight: {
|
|
73
|
+
regular: '400',
|
|
74
|
+
medium: '500',
|
|
75
|
+
semibold: '600',
|
|
76
|
+
bold: '700',
|
|
77
|
+
},
|
|
78
|
+
lineHeight: {
|
|
79
|
+
tight: 1.2,
|
|
80
|
+
normal: 1.5,
|
|
81
|
+
relaxed: 1.8,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
shadows: {
|
|
85
|
+
small: {
|
|
86
|
+
shadowColor: '#000',
|
|
87
|
+
shadowOffset: { width: 0, height: 1 },
|
|
88
|
+
shadowOpacity: 0.1,
|
|
89
|
+
shadowRadius: 2,
|
|
90
|
+
elevation: 2,
|
|
91
|
+
},
|
|
92
|
+
medium: {
|
|
93
|
+
shadowColor: '#000',
|
|
94
|
+
shadowOffset: { width: 0, height: 2 },
|
|
95
|
+
shadowOpacity: 0.15,
|
|
96
|
+
shadowRadius: 4,
|
|
97
|
+
elevation: 4,
|
|
98
|
+
},
|
|
99
|
+
large: {
|
|
100
|
+
shadowColor: '#000',
|
|
101
|
+
shadowOffset: { width: 0, height: 4 },
|
|
102
|
+
shadowOpacity: 0.2,
|
|
103
|
+
shadowRadius: 8,
|
|
104
|
+
elevation: 8,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
animation: {
|
|
108
|
+
duration: {
|
|
109
|
+
fast: 150,
|
|
110
|
+
normal: 300,
|
|
111
|
+
slow: 500,
|
|
112
|
+
},
|
|
113
|
+
easing: {
|
|
114
|
+
easeIn: 'ease-in',
|
|
115
|
+
easeOut: 'ease-out',
|
|
116
|
+
easeInOut: 'ease-in-out',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
messages: {
|
|
120
|
+
user: {
|
|
121
|
+
padding: 12,
|
|
122
|
+
maxWidth: 70, // 70% of container width
|
|
123
|
+
},
|
|
124
|
+
ai: {
|
|
125
|
+
padding: 12,
|
|
126
|
+
maxWidth: 70, // 70% of container width
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=light.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"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"}
|