convex-feedback-ui 0.2.0-beta.2 → 0.2.0-beta.3
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 +38 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/native/expo/RoadmapRoutes.d.ts +3 -0
- package/dist/native/expo/RoadmapRoutes.d.ts.map +1 -0
- package/dist/native/expo/RoadmapRoutes.js +44 -0
- package/dist/native/expo/RoadmapRoutes.js.map +1 -0
- package/dist/native/expo/RoadmapScreen.d.ts +24 -0
- package/dist/native/expo/RoadmapScreen.d.ts.map +1 -0
- package/dist/native/expo/RoadmapScreen.js +36 -0
- package/dist/native/expo/RoadmapScreen.js.map +1 -0
- package/dist/native/expo/RoadmapStackLayout.d.ts +8 -0
- package/dist/native/expo/RoadmapStackLayout.d.ts.map +1 -0
- package/dist/native/expo/RoadmapStackLayout.js +56 -0
- package/dist/native/expo/RoadmapStackLayout.js.map +1 -0
- package/dist/native/expo/RoutedRoadmapContext.d.ts +4 -0
- package/dist/native/expo/RoutedRoadmapContext.d.ts.map +1 -0
- package/dist/native/expo/RoutedRoadmapContext.js +11 -0
- package/dist/native/expo/RoutedRoadmapContext.js.map +1 -0
- package/dist/native/expo/index.d.ts +4 -1
- package/dist/native/expo/index.d.ts.map +1 -1
- package/dist/native/expo/index.js +4 -1
- package/dist/native/expo/index.js.map +1 -1
- package/dist/native/expo/routes.d.ts +17 -1
- package/dist/native/expo/routes.d.ts.map +1 -1
- package/dist/native/expo/routes.js +46 -0
- package/dist/native/expo/routes.js.map +1 -1
- package/dist/native/expo/types.d.ts +35 -1
- package/dist/native/expo/types.d.ts.map +1 -1
- package/dist/native/shared/ui/RoadmapScreen.d.ts +21 -1
- package/dist/native/shared/ui/RoadmapScreen.d.ts.map +1 -1
- package/dist/native/shared/ui/RoadmapScreen.js +228 -50
- package/dist/native/shared/ui/RoadmapScreen.js.map +1 -1
- package/dist/native/shared/ui/primitives.d.ts +1 -1
- package/dist/native/shared/ui/primitives.d.ts.map +1 -1
- package/dist/native/shared/ui/primitives.js +3 -1
- package/dist/native/shared/ui/primitives.js.map +1 -1
- package/dist/react/roadmap.d.ts.map +1 -1
- package/dist/react/roadmap.js +24 -12
- package/dist/react/roadmap.js.map +1 -1
- package/dist/react/styles.css +123 -0
- package/dist/shared/messages.d.ts.map +1 -1
- package/dist/shared/messages.js +23 -0
- package/dist/shared/messages.js.map +1 -1
- package/dist/shared/types/messages.d.ts +26 -1
- package/dist/shared/types/messages.d.ts.map +1 -1
- package/dist/shared/types/roadmap.d.ts +10 -1
- package/dist/shared/types/roadmap.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/native/expo/README.md +6 -2
- package/src/native/expo/RoadmapRoutes.tsx +133 -0
- package/src/native/expo/RoadmapScreen.tsx +101 -0
- package/src/native/expo/RoadmapStackLayout.tsx +111 -0
- package/src/native/expo/RoutedRoadmapContext.tsx +21 -0
- package/src/native/expo/index.ts +8 -1
- package/src/native/expo/routes.ts +69 -1
- package/src/native/expo/types.ts +43 -0
- package/src/native/native/README.md +4 -3
- package/src/native/shared/ui/RoadmapScreen.tsx +550 -228
- package/src/native/shared/ui/primitives.tsx +3 -0
- package/src/react/roadmap.tsx +145 -85
- package/src/react/styles.css +123 -0
- package/src/shared/messages.ts +24 -0
- package/src/shared/types/messages.ts +38 -1
- package/src/shared/types/roadmap.ts +18 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapRoutes.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoadmapRoutes.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,kBAAkB,gCAoCjC;AAED,wBAAgB,iBAAiB,gCA4EhC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Stack, useLocalSearchParams, useRouter } from "expo-router";
|
|
3
|
+
import { ActivityIndicator } from "react-native";
|
|
4
|
+
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
5
|
+
import { useFeedbackBody } from "../../shared/context/FeedbackBodyProvider.js";
|
|
6
|
+
import { useFeedbackUi } from "../../shared/context/FeedbackProvider.js";
|
|
7
|
+
import { FeedbackBoard } from "../shared/ui/primitives.js";
|
|
8
|
+
import { RoadmapBoardContent, RoadmapItemContent, } from "../shared/ui/RoadmapScreen.js";
|
|
9
|
+
import { roadmapRouteHref, roadmapRouteParams, parseRoadmapRouteItem, } from "./routes.js";
|
|
10
|
+
import { useRoutedRoadmap } from "./RoutedRoadmapContext.js";
|
|
11
|
+
export function RoadmapBoardScreen() {
|
|
12
|
+
const { messages, theme } = useFeedbackUi();
|
|
13
|
+
const { routes, colors, androidToolbarIcons, pageSize } = useRoutedRoadmap();
|
|
14
|
+
const router = useRouter();
|
|
15
|
+
return (_jsxs(_Fragment, { children: [_jsx(FeedbackBoard.Root, { ...colors, children: _jsx(RoadmapBoardContent, { pageSize: pageSize, onItemOpen: (item) => router.push(roadmapRouteHref(routes.item, roadmapRouteParams(item)), { relativeToDirectory: true }) }) }), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !router.canGoBack(), icon: process.env.EXPO_OS === "ios"
|
|
16
|
+
? "chevron.backward"
|
|
17
|
+
: androidToolbarIcons.back, accessibilityLabel: messages.entry.back, onPress: () => router.back(), tintColor: theme.colors.text, children: messages.entry.back }) })] }));
|
|
18
|
+
}
|
|
19
|
+
export function RoadmapItemScreen() {
|
|
20
|
+
const params = useLocalSearchParams();
|
|
21
|
+
const { hooks } = useFeedbackBody();
|
|
22
|
+
const { messages, theme } = useFeedbackUi();
|
|
23
|
+
const { colors, androidToolbarIcons, entryPageSize, onEntryOpen } = useRoutedRoadmap();
|
|
24
|
+
const router = useRouter();
|
|
25
|
+
const insets = useSafeAreaInsets();
|
|
26
|
+
const roadmapId = Array.isArray(params.roadmapId)
|
|
27
|
+
? params.roadmapId[0]
|
|
28
|
+
: params.roadmapId;
|
|
29
|
+
const routeItem = parseRoadmapRouteItem(params.item);
|
|
30
|
+
const roadmap = hooks.useRoadmap();
|
|
31
|
+
const item = roadmap.results.find((candidate) => candidate.id === roadmapId) ??
|
|
32
|
+
routeItem;
|
|
33
|
+
if (!roadmapId) {
|
|
34
|
+
throw new Error('RoadmapItemScreen requires a "roadmapId" dynamic route parameter.');
|
|
35
|
+
}
|
|
36
|
+
return (_jsxs(_Fragment, { children: [item ? (_jsxs(_Fragment, { children: [_jsx(Stack.Screen, { options: { headerTitle: item.title } }), _jsx(FeedbackBoard.Root, { ...colors, children: _jsx(FeedbackBoard.List, { style: {
|
|
37
|
+
padding: theme.spacing,
|
|
38
|
+
paddingBottom: insets.bottom + theme.spacing * 2,
|
|
39
|
+
backgroundColor: theme.colors.background,
|
|
40
|
+
}, children: _jsx(RoadmapItemContent, { item: item, entryPageSize: entryPageSize, onEntryOpen: onEntryOpen }) }) })] })) : (_jsx(FeedbackBoard.Root, { ...colors, children: _jsx(FeedbackBoard.State, { children: roadmap.status === "LoadingFirstPage" ? (_jsx(ActivityIndicator, { color: theme.colors.primary })) : (messages.roadmap.noItems) }) })), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !router.canGoBack(), icon: process.env.EXPO_OS === "ios"
|
|
41
|
+
? "chevron.backward"
|
|
42
|
+
: androidToolbarIcons.back, accessibilityLabel: messages.entry.back, onPress: () => router.back(), tintColor: theme.colors.text, children: messages.entry.back }) })] }));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=RoadmapRoutes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapRoutes.js","sourceRoot":"","sources":["../../../src/native/expo/RoadmapRoutes.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,CACL,8BACE,KAAC,aAAa,CAAC,IAAI,OAAK,MAAM,YAC5B,KAAC,mBAAmB,IAClB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,EACvD,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAC9B,GAEH,GACiB,EAErB,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,MAAM,YAC7B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAC3B,IAAI,EACF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK;wBAC3B,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAE9B,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAE3B,QAAQ,CAAC,KAAK,CAAC,IAAI,GACC,GACT,IACf,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,oBAAoB,EAG/B,CAAC;IACL,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,GAC/D,gBAAgB,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAC/C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IACnC,MAAM,IAAI,GACR,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC;QAC/D,SAAS,CAAC;IAEZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACG,IAAI,CAAC,CAAC,CAAC,CACN,8BACE,KAAC,KAAK,CAAC,MAAM,IAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,GAAI,EACtD,KAAC,aAAa,CAAC,IAAI,OAAK,MAAM,YAC5B,KAAC,aAAa,CAAC,IAAI,IACjB,KAAK,EAAE;gCACL,OAAO,EAAE,KAAK,CAAC,OAAO;gCACtB,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC;gCAChD,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;6BACzC,YAED,KAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,GACxB,GACiB,GACF,IACpB,CACJ,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,CAAC,IAAI,OAAK,MAAM,YAC5B,KAAC,aAAa,CAAC,KAAK,cACjB,OAAO,CAAC,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,CACvC,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,GAAI,CACnD,CAAC,CAAC,CAAC,CACF,QAAQ,CAAC,OAAO,CAAC,OAAO,CACzB,GACmB,GACH,CACtB,EAED,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,MAAM,YAC7B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAC3B,IAAI,EACF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK;wBAC3B,CAAC,CAAC,kBAAkB;wBACpB,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAE9B,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAE3B,QAAQ,CAAC,KAAK,CAAC,IAAI,GACC,GACT,IACf,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { RoadmapScreenProps } from "../../shared/types/index.js";
|
|
2
|
+
import type { RoadmapAndroidToolbarIcons, RoadmapStackScreenOptions } from "./types.js";
|
|
3
|
+
interface RoadmapScreenWithStack {
|
|
4
|
+
/** Enables the current Expo Router stack integration. @default true */
|
|
5
|
+
useStack?: true;
|
|
6
|
+
/** Options applied to the current Expo Router screen. */
|
|
7
|
+
StackOptions?: RoadmapStackScreenOptions;
|
|
8
|
+
/** Android image source for the toolbar back action. */
|
|
9
|
+
androidToolbarIcons?: RoadmapAndroidToolbarIcons;
|
|
10
|
+
}
|
|
11
|
+
interface RoadmapScreenWithoutStack {
|
|
12
|
+
useStack: false;
|
|
13
|
+
StackOptions?: never;
|
|
14
|
+
androidToolbarIcons?: never;
|
|
15
|
+
}
|
|
16
|
+
export type ExpoRoadmapScreenProps = RoadmapScreenProps & (RoadmapScreenWithStack | RoadmapScreenWithoutStack);
|
|
17
|
+
/**
|
|
18
|
+
* Convenience roadmap screen for a single Expo route. Use
|
|
19
|
+
* `RoadmapStackLayout` when the board and item detail should be separate
|
|
20
|
+
* discovered Expo Router pages.
|
|
21
|
+
*/
|
|
22
|
+
export declare function RoadmapScreen({ useStack, StackOptions, androidToolbarIcons, ...props }: ExpoRoadmapScreenProps): import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=RoadmapScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapScreen.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoadmapScreen.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU,sBAAsB;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;CAClD;AAED,UAAU,yBAAyB;IACjC,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GACrD,CAAC,sBAAsB,GAAG,yBAAyB,CAAC,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAe,EACf,YAAY,EACZ,mBAAwB,EACxB,GAAG,KAAK,EACT,EAAE,sBAAsB,+BA+BxB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Stack, useRouter } from "expo-router";
|
|
3
|
+
import { mergeFeedbackMessages } from "../../shared/messages.js";
|
|
4
|
+
import { mergeFeedbackTheme } from "../../shared/theme.js";
|
|
5
|
+
import { RoadmapScreen as NativeRoadmapScreen } from "../shared/ui/RoadmapScreen.js";
|
|
6
|
+
/**
|
|
7
|
+
* Convenience roadmap screen for a single Expo route. Use
|
|
8
|
+
* `RoadmapStackLayout` when the board and item detail should be separate
|
|
9
|
+
* discovered Expo Router pages.
|
|
10
|
+
*/
|
|
11
|
+
export function RoadmapScreen({ useStack = true, StackOptions, androidToolbarIcons = {}, ...props }) {
|
|
12
|
+
if (!useStack)
|
|
13
|
+
return _jsx(NativeRoadmapScreen, { ...props });
|
|
14
|
+
const messages = mergeFeedbackMessages(props.messages);
|
|
15
|
+
const theme = mergeFeedbackTheme(props.theme);
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsx(Stack.Screen, { options: {
|
|
17
|
+
headerTitle: messages.roadmap.title,
|
|
18
|
+
headerShown: true,
|
|
19
|
+
headerTransparent: true,
|
|
20
|
+
headerShadowVisible: true,
|
|
21
|
+
headerBackButtonDisplayMode: "minimal",
|
|
22
|
+
headerBackVisible: false,
|
|
23
|
+
headerTintColor: props.textColor ?? theme.colors.text,
|
|
24
|
+
contentStyle: {
|
|
25
|
+
backgroundColor: props.backgroundColor ?? theme.colors.background,
|
|
26
|
+
},
|
|
27
|
+
...StackOptions,
|
|
28
|
+
} }), _jsx(RoadmapToolbar, { androidToolbarIcons: androidToolbarIcons, messages: messages, theme: theme }), _jsx(NativeRoadmapScreen, { ...props })] }));
|
|
29
|
+
}
|
|
30
|
+
function RoadmapToolbar({ androidToolbarIcons, messages, theme, }) {
|
|
31
|
+
const router = useRouter();
|
|
32
|
+
return (_jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !router.canGoBack(), icon: process.env.EXPO_OS === "ios"
|
|
33
|
+
? "chevron.backward"
|
|
34
|
+
: androidToolbarIcons.back, accessibilityLabel: messages.entry.back, onPress: () => router.back(), tintColor: theme.colors.text, children: messages.entry.back }) }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=RoadmapScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapScreen.js","sourceRoot":"","sources":["../../../src/native/expo/RoadmapScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAyBrF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,GAAG,IAAI,EACf,YAAY,EACZ,mBAAmB,GAAG,EAAE,EACxB,GAAG,KAAK,EACe;IACvB,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAC,mBAAmB,OAAK,KAAK,GAAI,CAAC;IAEzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,8BACE,KAAC,KAAK,CAAC,MAAM,IACX,OAAO,EAAE;oBACP,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;oBACnC,WAAW,EAAE,IAAI;oBACjB,iBAAiB,EAAE,IAAI;oBACvB,mBAAmB,EAAE,IAAI;oBACzB,2BAA2B,EAAE,SAAS;oBACtC,iBAAiB,EAAE,KAAK;oBACxB,eAAe,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI;oBACrD,YAAY,EAAE;wBACZ,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU;qBAClE;oBACD,GAAG,YAAY;iBAChB,GACD,EACF,KAAC,cAAc,IACb,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,GACZ,EACF,KAAC,mBAAmB,OAAK,KAAK,GAAI,IACjC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GAKN;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO,CACL,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,MAAM,YAC7B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAC3B,IAAI,EACF,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK;gBAC3B,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAE9B,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,YAE3B,QAAQ,CAAC,KAAK,CAAC,IAAI,GACC,GACT,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RoadmapStackLayoutProps } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Provider and native-stack layout for real Expo Router roadmap pages.
|
|
4
|
+
* Consumers supply the small route files; this component keeps the roadmap
|
|
5
|
+
* query and entry-detail context mounted while a detail page is pushed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function RoadmapStackLayout({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, commentSort, maxCommentDepth, transformComments, renderActor, pageSize, entryPageSize, routes: routeOverrides, screenOptions, boardOptions, itemOptions, androidToolbarIcons, primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, }: RoadmapStackLayoutProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=RoadmapStackLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapStackLayout.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoadmapStackLayout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,QAAkC,EAClC,aAAuC,EACvC,MAAM,EAAE,cAAc,EACtB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,GACZ,EAAE,uBAAuB,+BAsEzB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Stack } from "expo-router";
|
|
3
|
+
import { mergeFeedbackMessages } from "../../shared/messages.js";
|
|
4
|
+
import { mergeFeedbackTheme } from "../../shared/theme.js";
|
|
5
|
+
import { RoadmapProvider } from "../shared/ui/RoadmapScreen.js";
|
|
6
|
+
import { RoutedRoadmapProvider } from "./RoutedRoadmapContext.js";
|
|
7
|
+
import { resolveRoadmapRoutes } from "./routes.js";
|
|
8
|
+
/**
|
|
9
|
+
* Provider and native-stack layout for real Expo Router roadmap pages.
|
|
10
|
+
* Consumers supply the small route files; this component keeps the roadmap
|
|
11
|
+
* query and entry-detail context mounted while a detail page is pushed.
|
|
12
|
+
*/
|
|
13
|
+
export function RoadmapStackLayout({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, commentSort, maxCommentDepth, transformComments, renderActor, pageSize = hooks.pageSizes.roadmap, entryPageSize = hooks.pageSizes.entries, routes: routeOverrides, screenOptions, boardOptions, itemOptions, androidToolbarIcons = {}, primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, }) {
|
|
14
|
+
const routes = resolveRoadmapRoutes(routeOverrides);
|
|
15
|
+
const resolvedMessages = mergeFeedbackMessages(messages);
|
|
16
|
+
const resolvedTheme = mergeFeedbackTheme(theme);
|
|
17
|
+
const colors = {
|
|
18
|
+
primaryColor,
|
|
19
|
+
primaryForeground,
|
|
20
|
+
backgroundColor,
|
|
21
|
+
surfaceColor,
|
|
22
|
+
textColor,
|
|
23
|
+
mutedColor,
|
|
24
|
+
borderColor,
|
|
25
|
+
dangerColor,
|
|
26
|
+
};
|
|
27
|
+
const defaults = {
|
|
28
|
+
headerShown: true,
|
|
29
|
+
headerTransparent: true,
|
|
30
|
+
headerShadowVisible: true,
|
|
31
|
+
headerBackButtonDisplayMode: "minimal",
|
|
32
|
+
headerTintColor: textColor ?? resolvedTheme.colors.text,
|
|
33
|
+
contentStyle: {
|
|
34
|
+
backgroundColor: backgroundColor ?? resolvedTheme.colors.background,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
return (_jsx(RoadmapProvider, { hooks: hooks, messages: messages, theme: theme, unstyled: unstyled, commentSort: commentSort, maxCommentDepth: maxCommentDepth, transformComments: transformComments, renderActor: renderActor, onUnauthenticated: onUnauthenticated, children: _jsx(RoutedRoadmapProvider, { value: {
|
|
38
|
+
routes,
|
|
39
|
+
colors,
|
|
40
|
+
androidToolbarIcons,
|
|
41
|
+
pageSize,
|
|
42
|
+
entryPageSize,
|
|
43
|
+
onEntryOpen,
|
|
44
|
+
}, children: _jsxs(Stack, { children: [_jsx(Stack.Screen, { name: routes.board, options: {
|
|
45
|
+
...defaults,
|
|
46
|
+
headerTitle: resolvedMessages.roadmap.title,
|
|
47
|
+
...screenOptions,
|
|
48
|
+
...boardOptions,
|
|
49
|
+
} }), _jsx(Stack.Screen, { name: routes.item, options: {
|
|
50
|
+
...defaults,
|
|
51
|
+
headerTitle: resolvedMessages.roadmap.title,
|
|
52
|
+
...screenOptions,
|
|
53
|
+
...itemOptions,
|
|
54
|
+
} })] }) }) }));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=RoadmapStackLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoadmapStackLayout.js","sourceRoot":"","sources":["../../../src/native/expo/RoadmapStackLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAqC,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGnD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAClC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EACvC,MAAM,EAAE,cAAc,EACtB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,GAAG,EAAE,EACxB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,GACa;IACxB,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG;QACb,YAAY;QACZ,iBAAiB;QACjB,eAAe;QACf,YAAY;QACZ,SAAS;QACT,UAAU;QACV,WAAW;QACX,WAAW;KACZ,CAAC;IACF,MAAM,QAAQ,GAAiC;QAC7C,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,IAAI;QACzB,2BAA2B,EAAE,SAAS;QACtC,eAAe,EAAE,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI;QACvD,YAAY,EAAE;YACZ,eAAe,EAAE,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU;SACpE;KACF,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,YAEpC,KAAC,qBAAqB,IACpB,KAAK,EAAE;gBACL,MAAM;gBACN,MAAM;gBACN,mBAAmB;gBACnB,QAAQ;gBACR,aAAa;gBACb,WAAW;aACZ,YAED,MAAC,KAAK,eACJ,KAAC,KAAK,CAAC,MAAM,IACX,IAAI,EAAE,MAAM,CAAC,KAAK,EAClB,OAAO,EAAE;4BACP,GAAG,QAAQ;4BACX,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK;4BAC3C,GAAG,aAAa;4BAChB,GAAG,YAAY;yBAChB,GACD,EACF,KAAC,KAAK,CAAC,MAAM,IACX,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,EAAE;4BACP,GAAG,QAAQ;4BACX,WAAW,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK;4BAC3C,GAAG,aAAa;4BAChB,GAAG,WAAW;yBACf,GACD,IACI,GACc,GACR,CACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RoutedRoadmapContextValue } from "./types.js";
|
|
2
|
+
export declare const RoutedRoadmapProvider: import("react").Provider<RoutedRoadmapContextValue | null>;
|
|
3
|
+
export declare function useRoutedRoadmap(): RoutedRoadmapContextValue;
|
|
4
|
+
//# sourceMappingURL=RoutedRoadmapContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoutedRoadmapContext.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoutedRoadmapContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAM5D,eAAO,MAAM,qBAAqB,4DAAgC,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,yBAAyB,CAU5D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const RoutedRoadmapContext = createContext(null);
|
|
3
|
+
export const RoutedRoadmapProvider = RoutedRoadmapContext.Provider;
|
|
4
|
+
export function useRoutedRoadmap() {
|
|
5
|
+
const value = useContext(RoutedRoadmapContext);
|
|
6
|
+
if (value === null) {
|
|
7
|
+
throw new Error("Routed roadmap screens must be rendered inside RoadmapStackLayout.");
|
|
8
|
+
}
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=RoutedRoadmapContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoutedRoadmapContext.js","sourceRoot":"","sources":["../../../src/native/expo/RoutedRoadmapContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,oBAAoB,GAAG,aAAa,CACxC,IAAI,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AAEnE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAE/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -5,12 +5,15 @@ export * from "../../shared/metadata.js";
|
|
|
5
5
|
export * from "../../shared/theme.js";
|
|
6
6
|
export type * from "../../shared/types/index.js";
|
|
7
7
|
export * from "../shared/ui/primitives.js";
|
|
8
|
-
export
|
|
8
|
+
export { RoadmapBoardContent, RoadmapItemContent, RoadmapProvider, } from "../shared/ui/RoadmapScreen.js";
|
|
9
9
|
export * from "./metadata.js";
|
|
10
10
|
export * from "./FeedbackScreen.js";
|
|
11
11
|
export * from "./FeedbackCreateStackLayout.js";
|
|
12
12
|
export * from "./FeedbackStackLayout.js";
|
|
13
13
|
export * from "./FeedbackRoutes.js";
|
|
14
|
+
export * from "./RoadmapScreen.js";
|
|
15
|
+
export * from "./RoadmapStackLayout.js";
|
|
16
|
+
export * from "./RoadmapRoutes.js";
|
|
14
17
|
export * from "./routes.js";
|
|
15
18
|
export type * from "./types.js";
|
|
16
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/expo/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/expo/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,mBAAmB,YAAY,CAAC"}
|
|
@@ -4,11 +4,14 @@ export * from "../../shared/messages.js";
|
|
|
4
4
|
export * from "../../shared/metadata.js";
|
|
5
5
|
export * from "../../shared/theme.js";
|
|
6
6
|
export * from "../shared/ui/primitives.js";
|
|
7
|
-
export
|
|
7
|
+
export { RoadmapBoardContent, RoadmapItemContent, RoadmapProvider, } from "../shared/ui/RoadmapScreen.js";
|
|
8
8
|
export * from "./metadata.js";
|
|
9
9
|
export * from "./FeedbackScreen.js";
|
|
10
10
|
export * from "./FeedbackCreateStackLayout.js";
|
|
11
11
|
export * from "./FeedbackStackLayout.js";
|
|
12
12
|
export * from "./FeedbackRoutes.js";
|
|
13
|
+
export * from "./RoadmapScreen.js";
|
|
14
|
+
export * from "./RoadmapStackLayout.js";
|
|
15
|
+
export * from "./RoadmapRoutes.js";
|
|
13
16
|
export * from "./routes.js";
|
|
14
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/expo/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/native/expo/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Href } from "expo-router";
|
|
2
|
-
import type {
|
|
2
|
+
import type { RoadmapItem } from "convex-feedback";
|
|
3
|
+
import type { FeedbackRouteNames, RoadmapRouteNames } from "./types.js";
|
|
3
4
|
export declare const defaultFeedbackRoutes: FeedbackRouteNames;
|
|
4
5
|
export declare function resolveFeedbackRoutes(routes?: Partial<FeedbackRouteNames>): FeedbackRouteNames;
|
|
5
6
|
export declare function createFeedbackStackSettings(routes?: Partial<FeedbackRouteNames>): {
|
|
@@ -13,4 +14,19 @@ export declare const feedbackCreateStackSettings: {
|
|
|
13
14
|
anchor: string;
|
|
14
15
|
};
|
|
15
16
|
export declare function feedbackRouteHref(route: string, params?: Record<string, string>): Href;
|
|
17
|
+
export declare const defaultRoadmapRoutes: RoadmapRouteNames;
|
|
18
|
+
export declare function resolveRoadmapRoutes(routes?: Partial<RoadmapRouteNames>): RoadmapRouteNames;
|
|
19
|
+
export declare function createRoadmapStackSettings(routes?: Partial<RoadmapRouteNames>): {
|
|
20
|
+
anchor: string;
|
|
21
|
+
};
|
|
22
|
+
export declare const roadmapStackSettings: {
|
|
23
|
+
anchor: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function roadmapRouteHref(route: string, params?: Record<string, string>): Href;
|
|
26
|
+
/** Pass the already loaded item through a push so a detail route renders immediately. */
|
|
27
|
+
export declare function roadmapRouteParams(item: RoadmapItem): {
|
|
28
|
+
roadmapId: string;
|
|
29
|
+
item: string;
|
|
30
|
+
};
|
|
31
|
+
export declare function parseRoadmapRouteItem(value: string | string[] | undefined): RoadmapItem | undefined;
|
|
16
32
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/native/expo/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/native/expo/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,kBAAkB,CAUpB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;;EAGrC;AAED,eAAO,MAAM,qBAAqB;;CAAgC,CAAC;AAEnE,qEAAqE;AACrE,eAAO,MAAM,2BAA2B;;CAAsB,CAAC;AAE/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,IAAI,CAGN;AAED,eAAO,MAAM,oBAAoB,EAAE,iBAGlC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACtC,iBAAiB,CAUnB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;;EAGpC;AAED,eAAO,MAAM,oBAAoB;;CAA+B,CAAC;AAEjE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,IAAI,CAGN;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW;;;EAEnD;AAMD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACnC,WAAW,GAAG,SAAS,CAmBzB"}
|
|
@@ -20,4 +20,50 @@ export function feedbackRouteHref(route, params) {
|
|
|
20
20
|
const pathname = route.startsWith(".") ? route : `./${route}`;
|
|
21
21
|
return params === undefined ? pathname : { pathname, params };
|
|
22
22
|
}
|
|
23
|
+
export const defaultRoadmapRoutes = {
|
|
24
|
+
board: "index",
|
|
25
|
+
item: "[roadmapId]",
|
|
26
|
+
};
|
|
27
|
+
export function resolveRoadmapRoutes(routes = {}) {
|
|
28
|
+
const resolved = { ...defaultRoadmapRoutes, ...routes };
|
|
29
|
+
if (!resolved.item.includes("[roadmapId]")) {
|
|
30
|
+
throw new Error('The routed roadmap item route must contain the "[roadmapId]" dynamic segment.');
|
|
31
|
+
}
|
|
32
|
+
return resolved;
|
|
33
|
+
}
|
|
34
|
+
export function createRoadmapStackSettings(routes) {
|
|
35
|
+
return { anchor: resolveRoadmapRoutes(routes).board };
|
|
36
|
+
}
|
|
37
|
+
export const roadmapStackSettings = createRoadmapStackSettings();
|
|
38
|
+
export function roadmapRouteHref(route, params) {
|
|
39
|
+
const pathname = route.startsWith(".") ? route : `./${route}`;
|
|
40
|
+
return params === undefined ? pathname : { pathname, params };
|
|
41
|
+
}
|
|
42
|
+
/** Pass the already loaded item through a push so a detail route renders immediately. */
|
|
43
|
+
export function roadmapRouteParams(item) {
|
|
44
|
+
return { roadmapId: item.id, item: JSON.stringify(item) };
|
|
45
|
+
}
|
|
46
|
+
function firstParam(value) {
|
|
47
|
+
return Array.isArray(value) ? value[0] : value;
|
|
48
|
+
}
|
|
49
|
+
export function parseRoadmapRouteItem(value) {
|
|
50
|
+
const serialized = firstParam(value);
|
|
51
|
+
if (!serialized)
|
|
52
|
+
return undefined;
|
|
53
|
+
try {
|
|
54
|
+
const parsed = JSON.parse(serialized);
|
|
55
|
+
if (!parsed || typeof parsed !== "object")
|
|
56
|
+
return undefined;
|
|
57
|
+
const item = parsed;
|
|
58
|
+
if (typeof item.id !== "string" ||
|
|
59
|
+
typeof item.title !== "string" ||
|
|
60
|
+
typeof item.status !== "string") {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return item;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
23
69
|
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/native/expo/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/native/expo/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { StackScreenProps } from "expo-router";
|
|
|
2
2
|
import type { ComponentType, ReactNode } from "react";
|
|
3
3
|
import type { ImageSourcePropType } from "react-native";
|
|
4
4
|
import type { SearchBarCommands } from "react-native-screens";
|
|
5
|
-
import type { FeedbackColorProps, FeedbackScreenRootProps } from "../../shared/types";
|
|
5
|
+
import type { FeedbackColorProps, FeedbackScreenRootProps, RoadmapScreenProps } from "../../shared/types";
|
|
6
6
|
/** Optional wrapper used around Expo Router bottom toolbars. */
|
|
7
7
|
export type BottomToolbarWrapper = ComponentType<{
|
|
8
8
|
children: ReactNode;
|
|
@@ -51,6 +51,12 @@ export interface FeedbackAndroidToolbarIcons {
|
|
|
51
51
|
/** Android image source for the open/closed status filter. */
|
|
52
52
|
filter?: ImageSourcePropType;
|
|
53
53
|
}
|
|
54
|
+
export interface RoadmapAndroidToolbarIcons {
|
|
55
|
+
/** Android image source for back actions. */
|
|
56
|
+
back?: ImageSourcePropType;
|
|
57
|
+
/** Android image source for modal close actions. */
|
|
58
|
+
close?: ImageSourcePropType;
|
|
59
|
+
}
|
|
54
60
|
export interface FeedbackStackLayoutProps extends FeedbackScreenRootProps {
|
|
55
61
|
/** Partial overrides for the prescribed route file names. */
|
|
56
62
|
routes?: Partial<FeedbackRouteNames>;
|
|
@@ -75,11 +81,39 @@ export interface FeedbackCreateStackLayoutProps {
|
|
|
75
81
|
/** Suggested-entry screen option overrides. */
|
|
76
82
|
entryOptions?: FeedbackStackScreenOptions;
|
|
77
83
|
}
|
|
84
|
+
/** File names used by the routed public roadmap stack. */
|
|
85
|
+
export interface RoadmapRouteNames {
|
|
86
|
+
/** Board route. @default "index" */
|
|
87
|
+
board: string;
|
|
88
|
+
/** Roadmap item route. Must contain `[roadmapId]`. @default "[roadmapId]" */
|
|
89
|
+
item: string;
|
|
90
|
+
}
|
|
91
|
+
export type RoadmapStackScreenOptions = Exclude<NonNullable<StackScreenProps["options"]>, (...args: never[]) => unknown>;
|
|
92
|
+
export interface RoadmapStackLayoutProps extends RoadmapScreenProps {
|
|
93
|
+
/** Partial overrides for the prescribed route file names. */
|
|
94
|
+
routes?: Partial<RoadmapRouteNames>;
|
|
95
|
+
/** Options shared by every roadmap screen. */
|
|
96
|
+
screenOptions?: RoadmapStackScreenOptions;
|
|
97
|
+
/** Roadmap board screen option overrides. */
|
|
98
|
+
boardOptions?: RoadmapStackScreenOptions;
|
|
99
|
+
/** Roadmap item screen option overrides. */
|
|
100
|
+
itemOptions?: RoadmapStackScreenOptions;
|
|
101
|
+
/** Android image sources for toolbar actions. iOS continues to use SF Symbols. */
|
|
102
|
+
androidToolbarIcons?: RoadmapAndroidToolbarIcons;
|
|
103
|
+
}
|
|
78
104
|
export interface RoutedFeedbackContextValue {
|
|
79
105
|
routes: FeedbackRouteNames;
|
|
80
106
|
colors: FeedbackColorProps;
|
|
81
107
|
androidToolbarIcons: FeedbackAndroidToolbarIcons;
|
|
82
108
|
bottomToolbarWrapper?: BottomToolbarWrapper;
|
|
83
109
|
}
|
|
110
|
+
export interface RoutedRoadmapContextValue {
|
|
111
|
+
routes: RoadmapRouteNames;
|
|
112
|
+
colors: FeedbackColorProps;
|
|
113
|
+
androidToolbarIcons: RoadmapAndroidToolbarIcons;
|
|
114
|
+
pageSize: number;
|
|
115
|
+
entryPageSize: number;
|
|
116
|
+
onEntryOpen?: RoadmapScreenProps["onEntryOpen"];
|
|
117
|
+
}
|
|
84
118
|
export {};
|
|
85
119
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native/expo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native/expo/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
import type { RoadmapItem } from "convex-feedback";
|
|
2
|
+
import { type PropsWithChildren } from "react";
|
|
1
3
|
import type { RoadmapScreenProps } from "../../../shared/types/index.js";
|
|
2
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Keeps the roadmap and its attached entry details on the same UI context.
|
|
6
|
+
* Routed Expo layouts reuse this provider so every route sees the same hooks,
|
|
7
|
+
* theme, messages, and comment configuration.
|
|
8
|
+
*/
|
|
9
|
+
export declare function RoadmapProvider({ hooks, messages, theme, unstyled, commentSort, maxCommentDepth, transformComments, renderActor, onUnauthenticated, children, }: PropsWithChildren<Pick<RoadmapScreenProps, "hooks" | "messages" | "theme" | "unstyled" | "commentSort" | "maxCommentDepth" | "transformComments" | "renderActor" | "onUnauthenticated">>): import("react").JSX.Element;
|
|
10
|
+
/** Self-contained public roadmap screen for native and non-routed Expo apps. */
|
|
11
|
+
export declare function RoadmapScreen({ hooks, messages, theme, unstyled, onEntryOpen, onUnauthenticated, commentSort, maxCommentDepth, transformComments, renderActor, pageSize, entryPageSize, ...colors }: RoadmapScreenProps): import("react").JSX.Element;
|
|
12
|
+
/** Board content used by both the self-contained and routed Expo screens. */
|
|
13
|
+
export declare function RoadmapBoardContent({ pageSize, onItemOpen, }: {
|
|
14
|
+
pageSize: number;
|
|
15
|
+
onItemOpen: (item: RoadmapItem) => void;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
17
|
+
/** Detail content used by routed roadmap item pages and in-screen navigation. */
|
|
18
|
+
export declare function RoadmapItemContent({ item, entryPageSize, onEntryOpen, }: {
|
|
19
|
+
item: RoadmapItem;
|
|
20
|
+
entryPageSize: number;
|
|
21
|
+
onEntryOpen?: (entryId: string) => void;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
3
23
|
//# sourceMappingURL=RoadmapScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoadmapScreen.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RoadmapScreen.d.ts","sourceRoot":"","sources":["../../../../src/native/shared/ui/RoadmapScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAoBzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAazE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAmB,EACnB,eAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,QAAQ,GACT,EAAE,iBAAiB,CAClB,IAAI,CACF,kBAAkB,EAChB,OAAO,GACP,UAAU,GACV,OAAO,GACP,UAAU,GACV,aAAa,GACb,iBAAiB,GACjB,mBAAmB,GACnB,aAAa,GACb,mBAAmB,CACtB,CACF,+BAmBA;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,QAAkC,EAClC,aAAuC,EACvC,GAAG,MAAM,EACV,EAAE,kBAAkB,+BAqBpB;AA6BD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC,+BAmEA;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,aAAa,EACb,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,+BAyFA"}
|