@vinaverse/react-native 0.1.0-alpha.6 → 0.1.0-alpha.7
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/README.md +19 -11
- package/dist/ask.cjs +9 -5
- package/dist/ask.d.cts +14 -3
- package/dist/ask.d.ts +14 -3
- package/dist/ask.js +3 -3
- package/dist/chat.cjs +76 -73
- package/dist/chat.d.cts +16 -4
- package/dist/chat.d.ts +16 -4
- package/dist/chat.js +2 -3
- package/dist/{chunk-OWUKWVEZ.cjs → chunk-6QYDPGRS.cjs} +46 -2
- package/dist/chunk-6QYDPGRS.cjs.map +1 -0
- package/dist/{chunk-H2Y2YW2Q.cjs → chunk-AGZ7IH7E.cjs} +71 -72
- package/dist/chunk-AGZ7IH7E.cjs.map +1 -0
- package/dist/chunk-EFEXTVIT.js +88 -0
- package/dist/chunk-EFEXTVIT.js.map +1 -0
- package/dist/{chunk-SF6LJTVJ.js → chunk-HTUXHZ7X.js} +25 -30
- package/dist/chunk-HTUXHZ7X.js.map +1 -0
- package/dist/{chunk-OGPMGGYS.cjs → chunk-MG32E4JI.cjs} +20 -13
- package/dist/chunk-MG32E4JI.cjs.map +1 -0
- package/dist/{chunk-Y7P7DDHD.js → chunk-NJ6ARGZS.js} +12 -11
- package/dist/chunk-NJ6ARGZS.js.map +1 -0
- package/dist/{chunk-NJWRZ55G.js → chunk-POJP52GE.js} +16 -9
- package/dist/chunk-POJP52GE.js.map +1 -0
- package/dist/{chunk-643GOUTG.cjs → chunk-V6HHPE5K.cjs} +13 -12
- package/dist/chunk-V6HHPE5K.cjs.map +1 -0
- package/dist/index.cjs +86 -83
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -5
- package/dist/launcher.cjs +14 -11
- package/dist/launcher.d.cts +4 -3
- package/dist/launcher.d.ts +4 -3
- package/dist/launcher.js +3 -4
- package/package.json +4 -4
- package/dist/chunk-643GOUTG.cjs.map +0 -1
- package/dist/chunk-H2Y2YW2Q.cjs.map +0 -1
- package/dist/chunk-NJWRZ55G.js.map +0 -1
- package/dist/chunk-OGPMGGYS.cjs.map +0 -1
- package/dist/chunk-OWUKWVEZ.cjs.map +0 -1
- package/dist/chunk-PRXHS57U.js +0 -40
- package/dist/chunk-PRXHS57U.js.map +0 -1
- package/dist/chunk-PYPO6F7L.cjs +0 -44
- package/dist/chunk-PYPO6F7L.cjs.map +0 -1
- package/dist/chunk-SF6LJTVJ.js.map +0 -1
- package/dist/chunk-WKRCCPSN.js +0 -48
- package/dist/chunk-WKRCCPSN.js.map +0 -1
- package/dist/chunk-Y7P7DDHD.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { size, motion, radius, space, font, colors, contrastProblems } from '@vinaverse/tokens';
|
|
2
|
+
import { useMemo, useContext, useEffect, useState, createContext } from 'react';
|
|
3
|
+
import { useColorScheme, AppState, AccessibilityInfo } from 'react-native';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
// src/theme.tsx
|
|
7
|
+
function createTheme(scheme, overrides = {}) {
|
|
8
|
+
return {
|
|
9
|
+
scheme,
|
|
10
|
+
colors: { ...colors(scheme), ...overrides[scheme] },
|
|
11
|
+
font: {
|
|
12
|
+
...font,
|
|
13
|
+
...overrides.fontFamily ? { family: overrides.fontFamily } : {}
|
|
14
|
+
},
|
|
15
|
+
space: { ...space, ...overrides.space },
|
|
16
|
+
radius: { ...radius, ...overrides.radius },
|
|
17
|
+
motion,
|
|
18
|
+
size
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function themeProblems(overrides = {}) {
|
|
22
|
+
return ["light", "dark"].flatMap(
|
|
23
|
+
(scheme) => contrastProblems(createTheme(scheme, overrides).colors).map(
|
|
24
|
+
(p) => `${scheme}: ${p.foreground} on ${p.background} is ${p.ratio.toFixed(2)}:1, below ${p.minimum}:1`
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
var ThemeContext = /* @__PURE__ */ createContext(
|
|
29
|
+
/* @__PURE__ */ createTheme("light")
|
|
30
|
+
);
|
|
31
|
+
function ThemeProvider(props) {
|
|
32
|
+
const system = useColorScheme();
|
|
33
|
+
const setting = props.colorScheme ?? "system";
|
|
34
|
+
const scheme = setting === "system" ? system === "dark" ? "dark" : "light" : setting;
|
|
35
|
+
const overrides = props.theme;
|
|
36
|
+
const value = useMemo(
|
|
37
|
+
() => createTheme(scheme, overrides),
|
|
38
|
+
[scheme, overrides]
|
|
39
|
+
);
|
|
40
|
+
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value, children: props.children });
|
|
41
|
+
}
|
|
42
|
+
function useTheme() {
|
|
43
|
+
return useContext(ThemeContext);
|
|
44
|
+
}
|
|
45
|
+
function useAgentSweep(runtime) {
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
const subscription = AppState.addEventListener("change", (state) => {
|
|
48
|
+
if (state === "active") runtime.sweep();
|
|
49
|
+
});
|
|
50
|
+
return () => subscription.remove();
|
|
51
|
+
}, [runtime]);
|
|
52
|
+
}
|
|
53
|
+
function useNativeLifecycle(store) {
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
const apply = (state) => store.setForeground(state === "active");
|
|
56
|
+
apply(AppState.currentState);
|
|
57
|
+
const subscription = AppState.addEventListener("change", apply);
|
|
58
|
+
return () => subscription.remove();
|
|
59
|
+
}, [store]);
|
|
60
|
+
}
|
|
61
|
+
function useReducedMotion() {
|
|
62
|
+
const [reduced, setReduced] = useState(false);
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
let live = true;
|
|
65
|
+
AccessibilityInfo.isReduceMotionEnabled().then(
|
|
66
|
+
(value) => {
|
|
67
|
+
if (live) setReduced(value);
|
|
68
|
+
},
|
|
69
|
+
() => void 0
|
|
70
|
+
);
|
|
71
|
+
const subscription = AccessibilityInfo.addEventListener(
|
|
72
|
+
"reduceMotionChanged",
|
|
73
|
+
setReduced
|
|
74
|
+
);
|
|
75
|
+
return () => {
|
|
76
|
+
live = false;
|
|
77
|
+
subscription.remove();
|
|
78
|
+
};
|
|
79
|
+
}, []);
|
|
80
|
+
return reduced;
|
|
81
|
+
}
|
|
82
|
+
function announce(text) {
|
|
83
|
+
if (text) AccessibilityInfo.announceForAccessibility(text);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { ThemeProvider, announce, createTheme, themeProblems, useAgentSweep, useNativeLifecycle, useReducedMotion, useTheme };
|
|
87
|
+
//# sourceMappingURL=chunk-EFEXTVIT.js.map
|
|
88
|
+
//# sourceMappingURL=chunk-EFEXTVIT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/theme.tsx","../src/platform.ts"],"names":[],"mappings":"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","file":"chunk-EFEXTVIT.js","sourcesContent":["// The theme: the shared design tokens, a tenant's brand on top, light and dark. A tenant changes colors, fonts, radii\n// and spacing; the disclosure bar keeps a legible pair whatever the tenant's colors (see DisclosureBar).\nimport {\n type ColorScheme,\n type Colors,\n colors,\n contrastProblems,\n font,\n motion,\n radius,\n size,\n space,\n} from '@vinaverse/tokens';\nimport { createContext, type ReactNode, useContext, useMemo } from 'react';\nimport { useColorScheme } from 'react-native';\n\nexport interface Theme {\n readonly scheme: ColorScheme;\n readonly colors: Colors;\n readonly font: typeof font & { readonly family?: string };\n readonly space: typeof space;\n readonly radius: typeof radius;\n readonly motion: typeof motion;\n readonly size: typeof size;\n}\n\n/** A tenant's brand: colors per scheme, a font family, radii. Anything left out keeps the Vinaverse default. */\nexport interface ThemeOverrides {\n readonly light?: Partial<Colors>;\n readonly dark?: Partial<Colors>;\n readonly fontFamily?: string;\n readonly radius?: Partial<typeof radius>;\n readonly space?: Partial<typeof space>;\n}\n\nexport type ColorSchemeSetting = 'system' | 'light' | 'dark';\n\n/** The theme for a scheme, with the tenant's overrides on top. */\nexport function createTheme(\n scheme: ColorScheme,\n overrides: ThemeOverrides = {},\n): Theme {\n return {\n scheme,\n colors: { ...colors(scheme), ...overrides[scheme] },\n font: {\n ...font,\n ...(overrides.fontFamily ? { family: overrides.fontFamily } : {}),\n },\n space: { ...space, ...overrides.space },\n radius: { ...radius, ...overrides.radius },\n motion,\n size,\n };\n}\n\n/** The pairs a tenant's colors made hard to read, in either scheme, as messages for a development warning. */\nexport function themeProblems(overrides: ThemeOverrides = {}): string[] {\n return (['light', 'dark'] as const).flatMap((scheme) =>\n contrastProblems(createTheme(scheme, overrides).colors).map(\n (p) =>\n `${scheme}: ${p.foreground} on ${p.background} is ${p.ratio.toFixed(2)}:1, below ${p.minimum}:1`,\n ),\n );\n}\n\nconst ThemeContext = /* @__PURE__ */ createContext<Theme>(\n /* @__PURE__ */ createTheme('light'),\n);\n\nexport function ThemeProvider(props: {\n readonly theme?: ThemeOverrides | undefined;\n readonly colorScheme?: ColorSchemeSetting | undefined;\n readonly children?: ReactNode;\n}): ReactNode {\n const system = useColorScheme();\n const setting = props.colorScheme ?? 'system';\n const scheme: ColorScheme =\n setting === 'system' ? (system === 'dark' ? 'dark' : 'light') : setting;\n const overrides = props.theme;\n const value = useMemo(\n () => createTheme(scheme, overrides),\n [scheme, overrides],\n );\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n\nexport function useTheme(): Theme {\n return useContext(ThemeContext);\n}\n","// The React Native platform adapter: what the conversation store learns from the app (foreground, background) and\n// what the kit asks of the platform (reduced motion, screen reader announcements).\nimport { useEffect, useState } from 'react';\nimport { AccessibilityInfo, AppState, type AppStateStatus } from 'react-native';\n\n/** The part of the conversation store the adapter drives. */\nexport interface LifecycleTarget {\n setForeground(foreground: boolean): void;\n}\n\n/**\n * When the app comes back to the foreground, the agent runtime ends the conversations no view shows that are past\n * their session's end (timers do not run in the background). Every agent part calls it; once is enough.\n */\nexport function useAgentSweep(runtime: { sweep(): void }): void {\n useEffect(() => {\n const subscription = AppState.addEventListener('change', (state) => {\n if (state === 'active') runtime.sweep();\n });\n return () => subscription.remove();\n }, [runtime]);\n}\n\n/** Tells the store when the app comes to the foreground or goes to the background (it pings only in the foreground). */\nexport function useNativeLifecycle(store: LifecycleTarget): void {\n useEffect(() => {\n const apply = (state: AppStateStatus) =>\n store.setForeground(state === 'active');\n apply(AppState.currentState);\n const subscription = AppState.addEventListener('change', apply);\n return () => subscription.remove();\n }, [store]);\n}\n\n/** Whether the person asked for reduced motion: animations and animated scrolling stay off. */\nexport function useReducedMotion(): boolean {\n const [reduced, setReduced] = useState(false);\n useEffect(() => {\n let live = true;\n AccessibilityInfo.isReduceMotionEnabled().then(\n (value) => {\n if (live) setReduced(value);\n },\n () => undefined,\n );\n const subscription = AccessibilityInfo.addEventListener(\n 'reduceMotionChanged',\n setReduced,\n );\n return () => {\n live = false;\n subscription.remove();\n };\n }, []);\n return reduced;\n}\n\n/** Reads a line to a screen reader, without moving focus. */\nexport function announce(text: string): void {\n if (text) AccessibilityInfo.announceForAccessibility(text);\n}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { useReducedMotion, announce, useNativeLifecycle } from './chunk-
|
|
2
|
-
import { useTheme, themeProblems, ThemeProvider } from './chunk-WKRCCPSN.js';
|
|
1
|
+
import { useTheme, useReducedMotion, announce, useNativeLifecycle, themeProblems, ThemeProvider, useAgentSweep } from './chunk-EFEXTVIT.js';
|
|
3
2
|
import { useAgentRuntime, useAgentConversation, useAgentName } from '@vinaverse/react/agent';
|
|
4
|
-
export { AgentRuntimeProvider, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
|
|
3
|
+
export { AgentRuntimeProvider, forgetGreeting, greetedKey, useAgentConversation, useAgentFeatures, useAgentLauncher, useAgentName, useAgentProfile, useAgentRuntime, useAgentStatus } from '@vinaverse/react/agent';
|
|
5
4
|
import { FlashList } from '@shopify/flash-list';
|
|
6
5
|
import { useCopy, formatMoney, formatTimeRange, useConversationSelector, formatDate, useStreamingText, bannedWordsIn, CopyProvider } from '@vinaverse/react';
|
|
7
6
|
import { Pressable, ActivityIndicator, Text, View, Image, Linking, TextInput, useWindowDimensions, Platform, KeyboardAvoidingView } from 'react-native';
|
|
@@ -2296,6 +2295,7 @@ function AgentChat(props) {
|
|
|
2296
2295
|
...chat
|
|
2297
2296
|
} = props;
|
|
2298
2297
|
const runtime = useAgentRuntime();
|
|
2298
|
+
useAgentSweep(runtime);
|
|
2299
2299
|
const { conversation, state, startNew } = useAgentConversation(agentKey, {
|
|
2300
2300
|
place: place ?? null,
|
|
2301
2301
|
entryPoint: entryPoint ?? null
|
|
@@ -2344,30 +2344,23 @@ function AgentChat(props) {
|
|
|
2344
2344
|
conversation: store,
|
|
2345
2345
|
components: slots
|
|
2346
2346
|
};
|
|
2347
|
-
if (state.failure === "ended")
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
if (state.failure === "unreachable")
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
) : /* @__PURE__ */ jsx(
|
|
2365
|
-
DefaultUnreachable,
|
|
2366
|
-
{
|
|
2367
|
-
onRetry: conversation.retry,
|
|
2368
|
-
reason: state.reason
|
|
2369
|
-
}
|
|
2370
|
-
) }) });
|
|
2347
|
+
if (state.failure === "ended") {
|
|
2348
|
+
const own = {
|
|
2349
|
+
onStartNew: startNew,
|
|
2350
|
+
reason: state.reason,
|
|
2351
|
+
code: state.code,
|
|
2352
|
+
onContact
|
|
2353
|
+
};
|
|
2354
|
+
return /* @__PURE__ */ jsx(VinaverseChatProvider, { ...shared, children: /* @__PURE__ */ jsx(Centered, { children: Ended ? /* @__PURE__ */ jsx(Ended, { ...own, Default: DefaultEnded }) : /* @__PURE__ */ jsx(DefaultEnded, { ...own }) }) });
|
|
2355
|
+
}
|
|
2356
|
+
if (state.failure === "unreachable") {
|
|
2357
|
+
const own = {
|
|
2358
|
+
onRetry: conversation.retry,
|
|
2359
|
+
reason: state.reason,
|
|
2360
|
+
onContact
|
|
2361
|
+
};
|
|
2362
|
+
return /* @__PURE__ */ jsx(VinaverseChatProvider, { ...shared, children: /* @__PURE__ */ jsx(Centered, { children: Unreachable ? /* @__PURE__ */ jsx(Unreachable, { ...own, Default: DefaultUnreachable }) : /* @__PURE__ */ jsx(DefaultUnreachable, { ...own }) }) });
|
|
2363
|
+
}
|
|
2371
2364
|
if (state.failure === "unavailable") {
|
|
2372
2365
|
const own = {
|
|
2373
2366
|
reason: state.reason,
|
|
@@ -2388,6 +2381,7 @@ function AgentChat(props) {
|
|
|
2388
2381
|
store,
|
|
2389
2382
|
state,
|
|
2390
2383
|
rate: conversation.rate,
|
|
2384
|
+
canRate: conversation.canRate,
|
|
2391
2385
|
Footer,
|
|
2392
2386
|
onOpenPrivacy
|
|
2393
2387
|
}
|
|
@@ -2396,7 +2390,8 @@ function AgentChat(props) {
|
|
|
2396
2390
|
);
|
|
2397
2391
|
}
|
|
2398
2392
|
function FooterFor(props) {
|
|
2399
|
-
const
|
|
2393
|
+
const newest = useConversationSelector(props.store, newestWholeReply);
|
|
2394
|
+
const turnId = newest && props.canRate(newest) ? newest : null;
|
|
2400
2395
|
const own = {
|
|
2401
2396
|
turnId,
|
|
2402
2397
|
rating: turnId ? props.state.ratings.get(turnId) : void 0,
|
|
@@ -2563,5 +2558,5 @@ function AgentFooter(props) {
|
|
|
2563
2558
|
}
|
|
2564
2559
|
|
|
2565
2560
|
export { ActivityLine, AgentChat, AgentFooter, Avatar, Button, CardActions, CardCarousel, CardFrame, CardView, ChatHeader, ChatSkeleton, Composer, DefaultBubble, DefaultComposer, DefaultEnded, DefaultHeader, DefaultTurnFailed, DefaultUnavailable, DefaultUnavailableScreen, DefaultUnreachable, DisclosureBar, FailureActionButton, InfoCard, LinksCard, ListingCard, MessageBubble, MessageList, NextStepCard, ProposalCard, QuestionCard, Row, StatusBanner, StreamingBubble, SystemRow, TimeSlotsCard, VinaverseChat, VinaverseChatProvider, Welcome, allowedImage, answerText, carousels, defaultCard, fieldText, itemType, monogram, newestWholeReply, ratingText, useChat };
|
|
2566
|
-
//# sourceMappingURL=chunk-
|
|
2567
|
-
//# sourceMappingURL=chunk-
|
|
2561
|
+
//# sourceMappingURL=chunk-HTUXHZ7X.js.map
|
|
2562
|
+
//# sourceMappingURL=chunk-HTUXHZ7X.js.map
|