convex-feedback-ui 0.1.4 → 0.1.6

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.
Files changed (141) hide show
  1. package/README.md +176 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/native/expo/ExpoFeedbackBody.d.ts +1 -1
  4. package/dist/native/expo/ExpoFeedbackBody.d.ts.map +1 -1
  5. package/dist/native/expo/ExpoFeedbackBody.js +2 -2
  6. package/dist/native/expo/ExpoFeedbackBody.js.map +1 -1
  7. package/dist/native/expo/FeedbackCreateStackLayout.d.ts +3 -0
  8. package/dist/native/expo/FeedbackCreateStackLayout.d.ts.map +1 -0
  9. package/dist/native/expo/FeedbackCreateStackLayout.js +35 -0
  10. package/dist/native/expo/FeedbackCreateStackLayout.js.map +1 -0
  11. package/dist/native/expo/FeedbackRoutes.d.ts +4 -0
  12. package/dist/native/expo/FeedbackRoutes.d.ts.map +1 -0
  13. package/dist/native/expo/FeedbackRoutes.js +76 -0
  14. package/dist/native/expo/FeedbackRoutes.js.map +1 -0
  15. package/dist/native/expo/FeedbackScreen.d.ts +1 -1
  16. package/dist/native/expo/FeedbackScreen.d.ts.map +1 -1
  17. package/dist/native/expo/FeedbackScreen.js +3 -2
  18. package/dist/native/expo/FeedbackScreen.js.map +1 -1
  19. package/dist/native/expo/FeedbackStack.d.ts +1 -1
  20. package/dist/native/expo/FeedbackStack.d.ts.map +1 -1
  21. package/dist/native/expo/FeedbackStack.js +4 -2
  22. package/dist/native/expo/FeedbackStack.js.map +1 -1
  23. package/dist/native/expo/FeedbackStackLayout.d.ts +3 -0
  24. package/dist/native/expo/FeedbackStackLayout.d.ts.map +1 -0
  25. package/dist/native/expo/FeedbackStackLayout.js +54 -0
  26. package/dist/native/expo/FeedbackStackLayout.js.map +1 -0
  27. package/dist/native/expo/RoutedFeedbackContext.d.ts +4 -0
  28. package/dist/native/expo/RoutedFeedbackContext.d.ts.map +1 -0
  29. package/dist/native/expo/RoutedFeedbackContext.js +11 -0
  30. package/dist/native/expo/RoutedFeedbackContext.js.map +1 -0
  31. package/dist/native/expo/RoutedFeedbackModalContext.d.ts +7 -0
  32. package/dist/native/expo/RoutedFeedbackModalContext.d.ts.map +1 -0
  33. package/dist/native/expo/RoutedFeedbackModalContext.js +7 -0
  34. package/dist/native/expo/RoutedFeedbackModalContext.js.map +1 -0
  35. package/dist/native/expo/index.d.ts +6 -0
  36. package/dist/native/expo/index.d.ts.map +1 -1
  37. package/dist/native/expo/index.js +6 -0
  38. package/dist/native/expo/index.js.map +1 -1
  39. package/dist/native/expo/metadata.d.ts +4 -0
  40. package/dist/native/expo/metadata.d.ts.map +1 -0
  41. package/dist/native/expo/metadata.js +44 -0
  42. package/dist/native/expo/metadata.js.map +1 -0
  43. package/dist/native/expo/routes.d.ts +16 -0
  44. package/dist/native/expo/routes.d.ts.map +1 -0
  45. package/dist/native/expo/routes.js +23 -0
  46. package/dist/native/expo/routes.js.map +1 -0
  47. package/dist/native/expo/types.d.ts +51 -1
  48. package/dist/native/expo/types.d.ts.map +1 -1
  49. package/dist/native/native/FeedbackScreen.d.ts +1 -1
  50. package/dist/native/native/FeedbackScreen.d.ts.map +1 -1
  51. package/dist/native/native/FeedbackScreen.js +3 -2
  52. package/dist/native/native/FeedbackScreen.js.map +1 -1
  53. package/dist/native/native/index.d.ts +2 -0
  54. package/dist/native/native/index.d.ts.map +1 -1
  55. package/dist/native/native/index.js +2 -0
  56. package/dist/native/native/index.js.map +1 -1
  57. package/dist/native/shared/metadata.d.ts +5 -0
  58. package/dist/native/shared/metadata.d.ts.map +1 -0
  59. package/dist/native/shared/metadata.js +31 -0
  60. package/dist/native/shared/metadata.js.map +1 -0
  61. package/dist/native/shared/ui/EntryDetail.d.ts.map +1 -1
  62. package/dist/native/shared/ui/EntryDetail.js +3 -1
  63. package/dist/native/shared/ui/EntryDetail.js.map +1 -1
  64. package/dist/native/shared/ui/FeedbackScreenList.d.ts +1 -1
  65. package/dist/native/shared/ui/FeedbackScreenList.d.ts.map +1 -1
  66. package/dist/native/shared/ui/FeedbackScreenList.js +2 -2
  67. package/dist/native/shared/ui/FeedbackScreenList.js.map +1 -1
  68. package/dist/native/shared/ui/MetadataModal.d.ts +6 -0
  69. package/dist/native/shared/ui/MetadataModal.d.ts.map +1 -0
  70. package/dist/native/shared/ui/MetadataModal.js +39 -0
  71. package/dist/native/shared/ui/MetadataModal.js.map +1 -0
  72. package/dist/native/shared/ui/NewEntry.d.ts +10 -0
  73. package/dist/native/shared/ui/NewEntry.d.ts.map +1 -1
  74. package/dist/native/shared/ui/NewEntry.js +11 -4
  75. package/dist/native/shared/ui/NewEntry.js.map +1 -1
  76. package/dist/react/index.d.ts +2 -0
  77. package/dist/react/index.d.ts.map +1 -1
  78. package/dist/react/index.js +2 -0
  79. package/dist/react/index.js.map +1 -1
  80. package/dist/react/metadata.d.ts +4 -0
  81. package/dist/react/metadata.d.ts.map +1 -0
  82. package/dist/react/metadata.js +40 -0
  83. package/dist/react/metadata.js.map +1 -0
  84. package/dist/react/screen.d.ts +1 -1
  85. package/dist/react/screen.d.ts.map +1 -1
  86. package/dist/react/screen.js +18 -4
  87. package/dist/react/screen.js.map +1 -1
  88. package/dist/react/styles.css +35 -0
  89. package/dist/shared/context/FeedbackBodyProvider.d.ts +1 -1
  90. package/dist/shared/context/FeedbackBodyProvider.d.ts.map +1 -1
  91. package/dist/shared/context/FeedbackBodyProvider.js +5 -1
  92. package/dist/shared/context/FeedbackBodyProvider.js.map +1 -1
  93. package/dist/shared/messages.d.ts.map +1 -1
  94. package/dist/shared/messages.js +9 -0
  95. package/dist/shared/messages.js.map +1 -1
  96. package/dist/shared/metadata.d.ts +6 -0
  97. package/dist/shared/metadata.d.ts.map +1 -0
  98. package/dist/shared/metadata.js +54 -0
  99. package/dist/shared/metadata.js.map +1 -0
  100. package/dist/shared/types/index.d.ts +1 -0
  101. package/dist/shared/types/index.d.ts.map +1 -1
  102. package/dist/shared/types/messages.d.ts +17 -0
  103. package/dist/shared/types/messages.d.ts.map +1 -1
  104. package/dist/shared/types/metadata.d.ts +22 -0
  105. package/dist/shared/types/metadata.d.ts.map +1 -0
  106. package/dist/shared/types/metadata.js +2 -0
  107. package/dist/shared/types/metadata.js.map +1 -0
  108. package/dist/shared/types/screen.d.ts +14 -1
  109. package/dist/shared/types/screen.d.ts.map +1 -1
  110. package/package.json +12 -8
  111. package/src/native/expo/ExpoFeedbackBody.tsx +6 -1
  112. package/src/native/expo/FeedbackCreateStackLayout.tsx +62 -0
  113. package/src/native/expo/FeedbackRoutes.tsx +204 -0
  114. package/src/native/expo/FeedbackScreen.tsx +4 -0
  115. package/src/native/expo/FeedbackStack.tsx +16 -4
  116. package/src/native/expo/FeedbackStackLayout.tsx +116 -0
  117. package/src/native/expo/README.md +24 -0
  118. package/src/native/expo/RoutedFeedbackContext.tsx +20 -0
  119. package/src/native/expo/RoutedFeedbackModalContext.tsx +14 -0
  120. package/src/native/expo/index.ts +6 -0
  121. package/src/native/expo/metadata.ts +62 -0
  122. package/src/native/expo/routes.ts +41 -0
  123. package/src/native/expo/types.ts +63 -1
  124. package/src/native/native/FeedbackScreen.tsx +4 -0
  125. package/src/native/native/index.ts +2 -0
  126. package/src/native/shared/metadata.ts +39 -0
  127. package/src/native/shared/ui/EntryDetail.tsx +14 -0
  128. package/src/native/shared/ui/FeedbackScreenList.tsx +2 -1
  129. package/src/native/shared/ui/MetadataModal.tsx +112 -0
  130. package/src/native/shared/ui/NewEntry.tsx +18 -4
  131. package/src/react/index.ts +2 -0
  132. package/src/react/metadata.ts +51 -0
  133. package/src/react/screen.tsx +89 -2
  134. package/src/react/styles.css +35 -0
  135. package/src/shared/context/FeedbackBodyProvider.tsx +8 -0
  136. package/src/shared/messages.ts +9 -0
  137. package/src/shared/metadata.ts +84 -0
  138. package/src/shared/types/index.ts +1 -0
  139. package/src/shared/types/messages.ts +24 -0
  140. package/src/shared/types/metadata.ts +55 -0
  141. package/src/shared/types/screen.ts +17 -2
@@ -1,4 +1,4 @@
1
1
  import { type FeedbackScreenBodyProps } from "../../shared/types/index.js";
2
2
  import type { FeedbackScreenStackProps } from "./types.js";
3
- export declare function ExpoFeedbackBody({ useStack, StackOptions, ...props }: FeedbackScreenBodyProps & FeedbackScreenStackProps): import("react").JSX.Element;
3
+ export declare function ExpoFeedbackBody({ useStack, StackOptions, androidToolbarIcons, ...props }: FeedbackScreenBodyProps & FeedbackScreenStackProps): import("react").JSX.Element;
4
4
  //# sourceMappingURL=ExpoFeedbackBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoFeedbackBody.d.ts","sourceRoot":"","sources":["../../../src/native/expo/ExpoFeedbackBody.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAI3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,EAC/B,QAAe,EACf,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,wBAAwB,+BAiCpD"}
1
+ {"version":3,"file":"ExpoFeedbackBody.d.ts","sourceRoot":"","sources":["../../../src/native/expo/ExpoFeedbackBody.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAI3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,EAC/B,QAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,GAAG,KAAK,EACT,EAAE,uBAAuB,GAAG,wBAAwB,+BAqCpD"}
@@ -4,7 +4,7 @@ import { useFeedbackBody } from "../../shared/context/FeedbackBodyProvider.js";
4
4
  import {} from "../../shared/types/index.js";
5
5
  import { FeedbackScreenContent } from "../shared/ui/BodyContent.js";
6
6
  import { FeedbackStack } from "./FeedbackStack.js";
7
- export function ExpoFeedbackBody({ useStack = true, StackOptions, ...props }) {
7
+ export function ExpoFeedbackBody({ useStack = true, StackOptions, androidToolbarIcons, ...props }) {
8
8
  const { query, isSearching, setIsSearching, setSelectedEntryId } = useFeedbackBody();
9
9
  const searchRef = useRef(null);
10
10
  const onEntryOpen = (entryId) => {
@@ -21,6 +21,6 @@ export function ExpoFeedbackBody({ useStack = true, StackOptions, ...props }) {
21
21
  }, [query, isSearching, setIsSearching]);
22
22
  if (!useStack)
23
23
  return _jsx(FeedbackScreenContent, { onEntryOpen: onEntryOpen, ...props });
24
- return (_jsx(FeedbackStack, { stackOptions: StackOptions, searchRef: searchRef, children: _jsx(FeedbackScreenContent, { hideBackButton: true, showHeader: false, onEntryOpen: onEntryOpen, ...props }) }));
24
+ return (_jsx(FeedbackStack, { stackOptions: StackOptions, searchRef: searchRef, androidToolbarIcons: androidToolbarIcons, children: _jsx(FeedbackScreenContent, { hideBackButton: true, showHeader: false, onEntryOpen: onEntryOpen, ...props }) }));
25
25
  }
26
26
  //# sourceMappingURL=ExpoFeedbackBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoFeedbackBody.js","sourceRoot":"","sources":["../../../src/native/expo/ExpoFeedbackBody.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAgC,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,GAAG,IAAI,EACf,YAAY,EACZ,GAAG,KAAK,EAC2C;IACnD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAC9D,eAAe,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;QACtC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAChD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ;QACX,OAAO,KAAC,qBAAqB,IAAC,WAAW,EAAE,WAAW,KAAM,KAAK,GAAI,CAAC;IAExE,OAAO,CACL,KAAC,aAAa,IAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,YAC7D,KAAC,qBAAqB,IACpB,cAAc,QACd,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,WAAW,KACpB,KAAK,GACT,GACY,CACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpoFeedbackBody.js","sourceRoot":"","sources":["../../../src/native/expo/ExpoFeedbackBody.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAgC,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,GAAG,IAAI,EACf,YAAY,EACZ,mBAAmB,EACnB,GAAG,KAAK,EAC2C;IACnD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAC9D,eAAe,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;QACtC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAChD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC,QAAQ;QACX,OAAO,KAAC,qBAAqB,IAAC,WAAW,EAAE,WAAW,KAAM,KAAK,GAAI,CAAC;IAExE,OAAO,CACL,KAAC,aAAa,IACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,YAExC,KAAC,qBAAqB,IACpB,cAAc,QACd,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,WAAW,KACpB,KAAK,GACT,GACY,CACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FeedbackCreateStackLayoutProps } from "./types.js";
2
+ export declare function FeedbackCreateStackLayout({ screenOptions, createOptions, entryOptions, }: FeedbackCreateStackLayoutProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=FeedbackCreateStackLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackCreateStackLayout.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackCreateStackLayout.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,yBAAyB,CAAC,EACxC,aAAa,EACb,aAAa,EACb,YAAY,GACb,EAAE,8BAA8B,+BA4ChC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Stack, useNavigation, } from "expo-router";
3
+ import { useCallback, useMemo } from "react";
4
+ import { useFeedbackBody } from "../../shared/context/FeedbackBodyProvider.js";
5
+ import { useFeedbackUi } from "../../shared/context/FeedbackProvider.js";
6
+ import { RoutedFeedbackModalProvider } from "./RoutedFeedbackModalContext.js";
7
+ import { useRoutedFeedback } from "./RoutedFeedbackContext.js";
8
+ export function FeedbackCreateStackLayout({ screenOptions, createOptions, entryOptions, }) {
9
+ const parentNavigation = useNavigation();
10
+ const { enabledKinds } = useFeedbackBody();
11
+ const { messages, theme } = useFeedbackUi();
12
+ const { routes } = useRoutedFeedback();
13
+ const dismiss = useCallback(() => parentNavigation.goBack(), [parentNavigation]);
14
+ const modal = useMemo(() => ({ dismiss }), [dismiss]);
15
+ const createTitle = enabledKinds.length === 1
16
+ ? messages.newFeedback[enabledKinds.at(0)]
17
+ : messages.board.createEntry;
18
+ const defaults = {
19
+ headerShown: true,
20
+ headerBackButtonDisplayMode: "minimal",
21
+ contentStyle: { backgroundColor: theme.colors.background },
22
+ };
23
+ return (_jsx(RoutedFeedbackModalProvider, { value: modal, children: _jsxs(Stack, { children: [_jsx(Stack.Screen, { name: "index", options: {
24
+ ...defaults,
25
+ headerTitle: createTitle,
26
+ ...screenOptions,
27
+ ...createOptions,
28
+ } }), _jsx(Stack.Screen, { name: routes.entry, options: {
29
+ ...defaults,
30
+ headerTitle: messages.board.title,
31
+ ...screenOptions,
32
+ ...entryOptions,
33
+ } })] }) }));
34
+ }
35
+ //# sourceMappingURL=FeedbackCreateStackLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackCreateStackLayout.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackCreateStackLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,EACL,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,UAAU,yBAAyB,CAAC,EACxC,aAAa,EACb,aAAa,EACb,YAAY,GACmB;IAC/B,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC;IACzC,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CACzB,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAC/B,CAAC,gBAAgB,CAAC,CACnB,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GACf,YAAY,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;IACjC,MAAM,QAAQ,GAAiC;QAC7C,WAAW,EAAE,IAAI;QACjB,2BAA2B,EAAE,SAAS;QACtC,YAAY,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;KAC3D,CAAC;IAEF,OAAO,CACL,KAAC,2BAA2B,IAAC,KAAK,EAAE,KAAK,YACvC,MAAC,KAAK,eACJ,KAAC,KAAK,CAAC,MAAM,IACX,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE;wBACP,GAAG,QAAQ;wBACX,WAAW,EAAE,WAAW;wBACxB,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,GACD,EACF,KAAC,KAAK,CAAC,MAAM,IACX,IAAI,EAAE,MAAM,CAAC,KAAK,EAClB,OAAO,EAAE;wBACP,GAAG,QAAQ;wBACX,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;wBACjC,GAAG,aAAa;wBAChB,GAAG,YAAY;qBAChB,GACD,IACI,GACoB,CAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function FeedbackBoardScreen(): import("react").JSX.Element;
2
+ export declare function FeedbackEntryScreen(): import("react").JSX.Element;
3
+ export declare function CreateFeedbackScreen(): import("react").JSX.Element;
4
+ //# sourceMappingURL=FeedbackRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackRoutes.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackRoutes.tsx"],"names":[],"mappings":"AAeA,wBAAgB,mBAAmB,gCA8ElC;AAED,wBAAgB,mBAAmB,gCAelC;AAyCD,wBAAgB,oBAAoB,gCAoDnC"}
@@ -0,0 +1,76 @@
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 { useEffect, useRef, useState } from "react";
4
+ import { useFeedbackBody } from "../../shared/context/FeedbackBodyProvider.js";
5
+ import { useFeedbackUi } from "../../shared/context/FeedbackProvider.js";
6
+ import { EntryDetail } from "../shared/ui/EntryDetail.js";
7
+ import { FeedbackScreenList } from "../shared/ui/FeedbackScreenList.js";
8
+ import { CreateEntryForm } from "../shared/ui/NewEntry.js";
9
+ import { FeedbackBoard } from "../shared/ui/primitives.js";
10
+ import { feedbackRouteHref } from "./routes.js";
11
+ import { useRoutedFeedbackModal } from "./RoutedFeedbackModalContext.js";
12
+ import { useRoutedFeedback } from "./RoutedFeedbackContext.js";
13
+ export function FeedbackBoardScreen() {
14
+ const { query, isSearching, setQuery, setIsSearching } = useFeedbackBody();
15
+ const { messages, theme } = useFeedbackUi();
16
+ const { routes, colors, androidToolbarIcons } = useRoutedFeedback();
17
+ const router = useRouter();
18
+ const searchRef = useRef(null);
19
+ useEffect(() => {
20
+ const searching = query.trim().length > 0;
21
+ if (searching !== isSearching)
22
+ setIsSearching(searching);
23
+ }, [query, isSearching, setIsSearching]);
24
+ const openEntry = (entryId) => {
25
+ if ((query || isSearching) && searchRef.current) {
26
+ searchRef.current.blur();
27
+ }
28
+ router.push(feedbackRouteHref(routes.entry, { entryId }), {
29
+ relativeToDirectory: true,
30
+ });
31
+ };
32
+ return (_jsxs(_Fragment, { children: [_jsx(FeedbackBoard.Root, { ...colors, children: _jsx(FeedbackScreenList, { showSelectedEntry: false, hideBackButton: true, onEntryOpen: openEntry }) }), _jsx(Stack.Toolbar, { placement: "right", children: _jsx(Stack.Toolbar.Button, { icon: process.env.EXPO_OS === "ios" ? "plus" : androidToolbarIcons.create, variant: "prominent", accessibilityLabel: messages.board.createEntry, onPress: () => router.push(feedbackRouteHref(routes.create), {
33
+ relativeToDirectory: true,
34
+ }), tintColor: theme.colors.primary, children: messages.board.createEntry }) }), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !router.canGoBack(), icon: process.env.EXPO_OS === "ios"
35
+ ? "chevron.backward"
36
+ : androidToolbarIcons.back, accessibilityLabel: messages.entry.back, onPress: () => router.back(), children: messages.entry.back }) }), _jsx(Stack.SearchBar, { ref: searchRef, placeholder: messages.board.searchPlaceholder, onChangeText: (event) => setQuery(event.nativeEvent.text), onFocus: () => setIsSearching(true), onBlur: () => setIsSearching(query.trim().length > 0), obscureBackground: false, allowToolbarIntegration: true, hideNavigationBar: false, textColor: theme.colors.text }), _jsx(Stack.Toolbar, { placement: "bottom", children: _jsx(Stack.Toolbar.SearchBarSlot, {}) })] }));
37
+ }
38
+ export function FeedbackEntryScreen() {
39
+ const params = useLocalSearchParams();
40
+ const entryId = Array.isArray(params.entryId)
41
+ ? params.entryId[0]
42
+ : params.entryId;
43
+ if (!entryId) {
44
+ throw new Error('FeedbackEntryScreen requires an "entryId" dynamic route parameter.');
45
+ }
46
+ return _jsx(FeedbackEntryRouteContent, { entryId: entryId });
47
+ }
48
+ function FeedbackEntryRouteContent({ entryId }) {
49
+ const { hooks } = useFeedbackBody();
50
+ const { messages, theme } = useFeedbackUi();
51
+ const { colors, androidToolbarIcons } = useRoutedFeedback();
52
+ const modal = useRoutedFeedbackModal();
53
+ const router = useRouter();
54
+ const entry = hooks.useEntry(entryId);
55
+ return (_jsxs(_Fragment, { children: [entry && _jsx(Stack.Screen, { options: { headerTitle: entry.title } }), _jsx(FeedbackBoard.Root, { ...colors, children: _jsx(FeedbackBoard.List, { style: { padding: theme.spacing }, children: _jsx(EntryDetail, { entryId: entryId, hideBackButton: true, onBack: () => router.back() }) }) }), modal && (_jsx(Stack.Toolbar, { placement: "right", children: _jsx(Stack.Toolbar.Button, { icon: process.env.EXPO_OS === "ios"
56
+ ? "xmark"
57
+ : androidToolbarIcons.close, accessibilityLabel: messages.form.cancel, onPress: modal.dismiss, children: messages.form.cancel }) }))] }));
58
+ }
59
+ export function CreateFeedbackScreen() {
60
+ const { enabledKinds } = useFeedbackBody();
61
+ const { messages, theme } = useFeedbackUi();
62
+ const { routes, colors, androidToolbarIcons } = useRoutedFeedback();
63
+ const modal = useRoutedFeedbackModal();
64
+ const router = useRouter();
65
+ const [kind, setKind] = useState(enabledKinds[0] ?? "feedback");
66
+ const [title, setTitle] = useState("");
67
+ const [body, setBody] = useState("");
68
+ const entryHref = (entryId) => feedbackRouteHref(routes.entry, { entryId });
69
+ return (_jsxs(_Fragment, { children: [_jsx(FeedbackBoard.Root, { ...colors, children: _jsx(FeedbackBoard.List, { style: {
70
+ padding: theme.spacing,
71
+ paddingBottom: theme.spacing * 2,
72
+ }, children: _jsx(CreateEntryForm, { kind: kind, onKindChange: setKind, title: title, onTitleChange: setTitle, body: body, onBodyChange: setBody, onOpenSuggestion: (entryId) => router.push(entryHref(entryId), { relativeToDirectory: true }), onCreated: (entryId) => {
73
+ router.dismissTo(entryHref(entryId));
74
+ } }) }) }), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { icon: process.env.EXPO_OS === "ios" ? "xmark" : androidToolbarIcons.close, accessibilityLabel: messages.form.cancel, onPress: () => (modal ? modal.dismiss() : router.dismiss()), children: messages.form.cancel }) })] }));
75
+ }
76
+ //# sourceMappingURL=FeedbackRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackRoutes.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackRoutes.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { ExpoFeedbackScreenProps } from "./types";
2
- export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, debounceDuration, transformComments, renderActor, ...props }: ExpoFeedbackScreenProps): import("react").JSX.Element;
2
+ export declare function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, debounceDuration, collectMetadata, transformComments, renderActor, ...props }: ExpoFeedbackScreenProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=FeedbackScreen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackScreen.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,eAAmB,EACnB,gBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAiBzB"}
1
+ {"version":3,"file":"FeedbackScreen.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackScreen.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,eAAmB,EACnB,gBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAmBzB"}
@@ -3,7 +3,8 @@ import { FeedbackBodyProvider } from "../../shared/context/FeedbackBodyProvider"
3
3
  import { FeedbackProvider } from "../../shared/context/FeedbackProvider";
4
4
  import { kinds } from "../../shared/helpers";
5
5
  import { ExpoFeedbackBody } from "./ExpoFeedbackBody";
6
- export function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort = "top", commentSort = "top", enabledKinds = kinds, maxCommentDepth = 5, debounceDuration = 300, transformComments, renderActor, ...props }) {
7
- return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(FeedbackBodyProvider, { hooks: hooks, entrySort: entrySort, commentSort: commentSort, enabledKinds: enabledKinds, maxCommentDepth: maxCommentDepth, debounceDuration: debounceDuration, transformComments: transformComments, renderActor: renderActor, children: _jsx(ExpoFeedbackBody, { ...props }) }) }));
6
+ import { collectExpoMetadata } from "./metadata";
7
+ export function FeedbackScreen({ hooks, messages, theme, unstyled, entrySort = "top", commentSort = "top", enabledKinds = kinds, maxCommentDepth = 5, debounceDuration = 300, collectMetadata, transformComments, renderActor, ...props }) {
8
+ return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(FeedbackBodyProvider, { hooks: hooks, entrySort: entrySort, commentSort: commentSort, enabledKinds: enabledKinds, maxCommentDepth: maxCommentDepth, debounceDuration: debounceDuration, collectMetadata: collectMetadata, collectStandardMetadata: collectExpoMetadata, transformComments: transformComments, renderActor: renderActor, children: _jsx(ExpoFeedbackBody, { ...props }) }) }));
8
9
  }
9
10
  //# sourceMappingURL=FeedbackScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackScreen.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,CAAC,EACnB,gBAAgB,GAAG,GAAG,EACtB,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACgB;IACxB,OAAO,CACL,KAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YACpE,KAAC,oBAAoB,IACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,YAExB,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACV,GACN,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"FeedbackScreen.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackScreen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,CAAC,EACnB,gBAAgB,GAAG,GAAG,EACtB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,GAAG,KAAK,EACgB;IACxB,OAAO,CACL,KAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,YACpE,KAAC,oBAAoB,IACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,eAAe,EAChC,uBAAuB,EAAE,mBAAmB,EAC5C,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,YAExB,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACV,GACN,CACpB,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { FeedbackStackProps } from "./types";
2
- export declare function FeedbackStack({ searchRef, stackOptions, children, }: FeedbackStackProps): import("react").JSX.Element;
2
+ export declare function FeedbackStack({ searchRef, stackOptions, androidToolbarIcons, children, }: FeedbackStackProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=FeedbackStack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackStack.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStack.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,EAAE,kBAAkB,+BAyFpB"}
1
+ {"version":3,"file":"FeedbackStack.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStack.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,mBAAwB,EACxB,QAAQ,GACT,EAAE,kBAAkB,+BAoGpB"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { Stack, useRouter } from "expo-router";
3
3
  import { useFeedbackBody } from "../../shared/context/FeedbackBodyProvider";
4
4
  import { useFeedbackUi } from "../../shared/context/FeedbackProvider";
5
- export function FeedbackStack({ searchRef, stackOptions, children, }) {
5
+ export function FeedbackStack({ searchRef, stackOptions, androidToolbarIcons = {}, children, }) {
6
6
  const { query, enabledKinds, selectedEntryId, setQuery, setShowForm, setIsSearching, setSelectedEntryId, } = useFeedbackBody();
7
7
  const { messages, theme } = useFeedbackUi();
8
8
  const router = useRouter();
@@ -28,7 +28,9 @@ export function FeedbackStack({ searchRef, stackOptions, children, }) {
28
28
  headerBackVisible: false,
29
29
  contentStyle: { backgroundColor: theme.colors.background },
30
30
  ...stackOptions,
31
- } }), _jsx(Stack.Toolbar, { placement: "right", children: _jsx(Stack.Toolbar.Button, { icon: "plus", variant: "prominent", accessibilityLabel: messages.board.createEntry, onPress: () => setShowForm(true), tintColor: theme.colors.primary }) }), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !canGoBack, icon: "chevron.backward", onPress: handleBackPress }) }), children, _jsx(Stack.SearchBar, { onChangeText: (q) => {
31
+ } }), _jsx(Stack.Toolbar, { placement: "right", children: _jsx(Stack.Toolbar.Button, { icon: process.env.EXPO_OS === "ios" ? "plus" : androidToolbarIcons.create, variant: "prominent", accessibilityLabel: messages.board.createEntry, onPress: () => setShowForm(true), tintColor: theme.colors.primary, children: messages.board.createEntry }) }), _jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { hidden: !canGoBack, icon: process.env.EXPO_OS === "ios"
32
+ ? "chevron.backward"
33
+ : androidToolbarIcons.back, accessibilityLabel: messages.entry.back, onPress: handleBackPress, children: messages.entry.back }) }), children, _jsx(Stack.SearchBar, { onChangeText: (q) => {
32
34
  if (selectedEntryId)
33
35
  setSelectedEntryId(null);
34
36
  setQuery(q.nativeEvent.text);
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackStack.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStack.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,YAAY,EACZ,QAAQ,GACW;IACnB,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,GAAG,eAAe,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;IAE1D,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,IAAI,KAAK;YAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAE1D,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IAE3B,OAAO,CACL,8BACE,KAAC,KAAK,CAAC,MAAM,IACX,OAAO,EAAE;oBACP,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,IAAI;oBACjB,iBAAiB,EAAE,IAAI;oBACvB,mBAAmB,EAAE,IAAI;oBACzB,iBAAiB,EAAE,KAAK;oBACxB,YAAY,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC1D,GAAG,YAAY;iBAChB,GACD,EACF,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,OAAO,YAC9B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAChC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,GAC/B,GACY,EAChB,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,MAAM,YAC7B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,MAAM,EAAE,CAAC,SAAS,EAClB,IAAI,EAAC,kBAAkB,EACvB,OAAO,EAAE,eAAe,GACxB,GACY,EAEf,QAAQ,EAET,KAAC,KAAK,CAAC,SAAS,IACd,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;oBAClB,IAAI,eAAe;wBAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC9C,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC,EACD,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpC,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC/D,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC/D,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,eAAe;wBAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC9C,cAAc,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,EACD,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACnC,iBAAiB,EAAE,KAAK,EACxB,uBAAuB,QACvB,iBAAiB,EAAE,KAAK,EACxB,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,GAC5B,EACF,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,YAC/B,KAAC,KAAK,CAAC,OAAO,CAAC,aAAa,KAAG,GACjB,IACf,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"FeedbackStack.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStack.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FeedbackStackLayoutProps } from "./types.js";
2
+ export declare function FeedbackStackLayout({ hooks, messages, theme, unstyled, entrySort, commentSort, enabledKinds, maxCommentDepth, debounceDuration, collectMetadata, transformComments, renderActor, routes: routeOverrides, screenOptions, boardOptions, entryOptions, createOptions, androidToolbarIcons, primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, }: FeedbackStackLayoutProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=FeedbackStackLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackStackLayout.d.ts","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStackLayout.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAiB,EACjB,WAAmB,EACnB,YAAoB,EACpB,eAAmB,EACnB,gBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,MAAM,EAAE,cAAc,EACtB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,mBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACX,WAAW,GACZ,EAAE,wBAAwB,+BA4E1B"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Stack } from "expo-router";
3
+ import { FeedbackBodyProvider } from "../../shared/context/FeedbackBodyProvider.js";
4
+ import { FeedbackProvider } from "../../shared/context/FeedbackProvider.js";
5
+ import { kinds } from "../../shared/helpers.js";
6
+ import { mergeFeedbackMessages } from "../../shared/messages.js";
7
+ import { mergeFeedbackTheme } from "../../shared/theme.js";
8
+ import { collectExpoMetadata } from "./metadata.js";
9
+ import { RoutedFeedbackProvider } from "./RoutedFeedbackContext.js";
10
+ import { resolveFeedbackRoutes } from "./routes.js";
11
+ export function FeedbackStackLayout({ hooks, messages, theme, unstyled, entrySort = "top", commentSort = "top", enabledKinds = kinds, maxCommentDepth = 5, debounceDuration = 300, collectMetadata, transformComments, renderActor, routes: routeOverrides, screenOptions, boardOptions, entryOptions, createOptions, androidToolbarIcons = {}, primaryColor, primaryForeground, backgroundColor, surfaceColor, textColor, mutedColor, borderColor, dangerColor, }) {
12
+ const routes = resolveFeedbackRoutes(routeOverrides);
13
+ const resolvedMessages = mergeFeedbackMessages(messages);
14
+ const resolvedTheme = mergeFeedbackTheme(theme);
15
+ const colors = {
16
+ primaryColor,
17
+ primaryForeground,
18
+ backgroundColor,
19
+ surfaceColor,
20
+ textColor,
21
+ mutedColor,
22
+ borderColor,
23
+ dangerColor,
24
+ };
25
+ const background = backgroundColor ?? resolvedTheme.colors.background;
26
+ const boardTitle = enabledKinds.length === 1
27
+ ? resolvedMessages.kindsPlural[enabledKinds.at(0)]
28
+ : resolvedMessages.board.title;
29
+ const defaults = {
30
+ headerShown: true,
31
+ headerBackButtonDisplayMode: "minimal",
32
+ contentStyle: { backgroundColor: background },
33
+ };
34
+ return (_jsx(FeedbackProvider, { messages: messages, theme: theme, unstyled: unstyled, children: _jsx(FeedbackBodyProvider, { hooks: hooks, entrySort: entrySort, commentSort: commentSort, enabledKinds: enabledKinds, maxCommentDepth: maxCommentDepth, debounceDuration: debounceDuration, collectMetadata: collectMetadata, collectStandardMetadata: collectExpoMetadata, transformComments: transformComments, renderActor: renderActor, children: _jsx(RoutedFeedbackProvider, { value: { routes, colors, androidToolbarIcons }, children: _jsxs(Stack, { children: [_jsx(Stack.Screen, { name: routes.board, options: {
35
+ ...defaults,
36
+ headerTitle: boardTitle,
37
+ headerTransparent: true,
38
+ headerShadowVisible: true,
39
+ ...screenOptions,
40
+ ...boardOptions,
41
+ } }), _jsx(Stack.Screen, { name: routes.entry, options: {
42
+ ...defaults,
43
+ headerTitle: boardTitle,
44
+ ...screenOptions,
45
+ ...entryOptions,
46
+ } }), _jsx(Stack.Screen, { name: routes.create, options: {
47
+ ...defaults,
48
+ headerShown: false,
49
+ presentation: "modal",
50
+ ...screenOptions,
51
+ ...createOptions,
52
+ } })] }) }) }) }));
53
+ }
54
+ //# sourceMappingURL=FeedbackStackLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedbackStackLayout.js","sourceRoot":"","sources":["../../../src/native/expo/FeedbackStackLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RoutedFeedbackContextValue } from "./types.js";
2
+ export declare const RoutedFeedbackProvider: import("react").Provider<RoutedFeedbackContextValue | null>;
3
+ export declare function useRoutedFeedback(): RoutedFeedbackContextValue;
4
+ //# sourceMappingURL=RoutedFeedbackContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutedFeedbackContext.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoutedFeedbackContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAM7D,eAAO,MAAM,sBAAsB,6DAAiC,CAAC;AAErE,wBAAgB,iBAAiB,IAAI,0BAA0B,CAU9D"}
@@ -0,0 +1,11 @@
1
+ import { createContext, useContext } from "react";
2
+ const RoutedFeedbackContext = createContext(null);
3
+ export const RoutedFeedbackProvider = RoutedFeedbackContext.Provider;
4
+ export function useRoutedFeedback() {
5
+ const value = useContext(RoutedFeedbackContext);
6
+ if (value === null) {
7
+ throw new Error("Routed feedback screens must be rendered inside FeedbackStackLayout.");
8
+ }
9
+ return value;
10
+ }
11
+ //# sourceMappingURL=RoutedFeedbackContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutedFeedbackContext.js","sourceRoot":"","sources":["../../../src/native/expo/RoutedFeedbackContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGlD,MAAM,qBAAqB,GAAG,aAAa,CACzC,IAAI,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,CAAC;AAErE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAEhD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,7 @@
1
+ interface RoutedFeedbackModalContextValue {
2
+ dismiss: () => void;
3
+ }
4
+ export declare const RoutedFeedbackModalProvider: import("react").Provider<RoutedFeedbackModalContextValue | null>;
5
+ export declare function useRoutedFeedbackModal(): RoutedFeedbackModalContextValue | null;
6
+ export {};
7
+ //# sourceMappingURL=RoutedFeedbackModalContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutedFeedbackModalContext.d.ts","sourceRoot":"","sources":["../../../src/native/expo/RoutedFeedbackModalContext.tsx"],"names":[],"mappings":"AAEA,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD,eAAO,MAAM,2BAA2B,kEAAsC,CAAC;AAE/E,wBAAgB,sBAAsB,2CAErC"}
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from "react";
2
+ const RoutedFeedbackModalContext = createContext(null);
3
+ export const RoutedFeedbackModalProvider = RoutedFeedbackModalContext.Provider;
4
+ export function useRoutedFeedbackModal() {
5
+ return useContext(RoutedFeedbackModalContext);
6
+ }
7
+ //# sourceMappingURL=RoutedFeedbackModalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutedFeedbackModalContext.js","sourceRoot":"","sources":["../../../src/native/expo/RoutedFeedbackModalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAMlD,MAAM,0BAA0B,GAC9B,aAAa,CAAyC,IAAI,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC,QAAQ,CAAC;AAE/E,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC"}
@@ -1,9 +1,15 @@
1
1
  export * from "../../shared/context/FeedbackBodyProvider.js";
2
2
  export * from "../../shared/context/FeedbackProvider.js";
3
3
  export * from "../../shared/messages.js";
4
+ export * from "../../shared/metadata.js";
4
5
  export * from "../../shared/theme.js";
5
6
  export type * from "../../shared/types/index.js";
6
7
  export * from "../shared/ui/primitives.js";
8
+ export * from "./metadata.js";
7
9
  export * from "./FeedbackScreen.js";
10
+ export * from "./FeedbackCreateStackLayout.js";
11
+ export * from "./FeedbackStackLayout.js";
12
+ export * from "./FeedbackRoutes.js";
13
+ export * from "./routes.js";
8
14
  export type * from "./types.js";
9
15
  //# 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,uBAAuB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,mBAAmB,YAAY,CAAC"}
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,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,mBAAmB,YAAY,CAAC"}
@@ -1,7 +1,13 @@
1
1
  export * from "../../shared/context/FeedbackBodyProvider.js";
2
2
  export * from "../../shared/context/FeedbackProvider.js";
3
3
  export * from "../../shared/messages.js";
4
+ export * from "../../shared/metadata.js";
4
5
  export * from "../../shared/theme.js";
5
6
  export * from "../shared/ui/primitives.js";
7
+ export * from "./metadata.js";
6
8
  export * from "./FeedbackScreen.js";
9
+ export * from "./FeedbackCreateStackLayout.js";
10
+ export * from "./FeedbackStackLayout.js";
11
+ export * from "./FeedbackRoutes.js";
12
+ export * from "./routes.js";
7
13
  //# 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,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
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,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FeedbackMetadataValue } from "convex-feedback";
2
+ import type { StandardMetadataKey, EnabledStandardMetadataSelection } from "../../shared/types/metadata.js";
3
+ export declare function collectExpoMetadata(selection: EnabledStandardMetadataSelection): Partial<Record<StandardMetadataKey, FeedbackMetadataValue>>;
4
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/native/expo/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,gCAAgC,CAAC;AAexC,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,gCAAgC,GAC1C,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAqC7D"}
@@ -0,0 +1,44 @@
1
+ import Constants from "expo-constants";
2
+ import { Platform } from "react-native";
3
+ import { collectNativeMetadata, defaultNativeMetadataKeys, } from "../shared/metadata.js";
4
+ const defaultExpoMetadataKeys = [
5
+ ...defaultNativeMetadataKeys,
6
+ "appVersion",
7
+ "buildNumber",
8
+ "applicationId",
9
+ "expoRuntimeVersion",
10
+ "executionEnvironment",
11
+ ];
12
+ export function collectExpoMetadata(selection) {
13
+ const selected = selection === true ? defaultExpoMetadataKeys : selection;
14
+ const keys = new Set(selected);
15
+ const metadata = collectNativeMetadata(selected);
16
+ const config = Constants.expoConfig;
17
+ if (keys.has("appVersion") && config?.version)
18
+ metadata.appVersion = config.version;
19
+ if (keys.has("buildNumber")) {
20
+ const buildNumber = Platform.OS === "ios"
21
+ ? (Constants.platform?.ios?.buildNumber ?? config?.ios?.buildNumber)
22
+ : Platform.OS === "android"
23
+ ? (Constants.platform?.android?.versionCode ??
24
+ config?.android?.versionCode)
25
+ : undefined;
26
+ if (buildNumber !== undefined && buildNumber !== null)
27
+ metadata.buildNumber = buildNumber;
28
+ }
29
+ if (keys.has("applicationId")) {
30
+ const applicationId = Platform.OS === "ios"
31
+ ? config?.ios?.bundleIdentifier
32
+ : Platform.OS === "android"
33
+ ? config?.android?.package
34
+ : undefined;
35
+ if (applicationId)
36
+ metadata.applicationId = applicationId;
37
+ }
38
+ if (keys.has("expoRuntimeVersion") && Constants.expoRuntimeVersion)
39
+ metadata.expoRuntimeVersion = Constants.expoRuntimeVersion;
40
+ if (keys.has("executionEnvironment"))
41
+ metadata.executionEnvironment = Constants.executionEnvironment;
42
+ return metadata;
43
+ }
44
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/native/expo/metadata.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,uBAAuB,GAAmC;IAC9D,GAAG,yBAAyB;IAC5B,YAAY;IACZ,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,sBAAsB;CACvB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,SAA2C;IAE3C,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;IAEpC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM,EAAE,OAAO;QAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAEvC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GACf,QAAQ,CAAC,EAAE,KAAK,KAAK;YACnB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,IAAI,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC;YACpE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gBACzB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW;oBACzC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;YACnD,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;IACvC,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GACjB,QAAQ,CAAC,EAAE,KAAK,KAAK;YACnB,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB;YAC/B,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS;gBACzB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;gBAC1B,CAAC,CAAC,SAAS,CAAC;QAClB,IAAI,aAAa;YAAE,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,kBAAkB;QAChE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAClC,QAAQ,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAEjE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Href } from "expo-router";
2
+ import type { FeedbackRouteNames } from "./types.js";
3
+ export declare const defaultFeedbackRoutes: FeedbackRouteNames;
4
+ export declare function resolveFeedbackRoutes(routes?: Partial<FeedbackRouteNames>): FeedbackRouteNames;
5
+ export declare function createFeedbackStackSettings(routes?: Partial<FeedbackRouteNames>): {
6
+ anchor: string;
7
+ };
8
+ export declare const feedbackStackSettings: {
9
+ anchor: string;
10
+ };
11
+ /** Anchor the create form beneath suggested-entry detail screens. */
12
+ export declare const feedbackCreateStackSettings: {
13
+ anchor: string;
14
+ };
15
+ export declare function feedbackRouteHref(route: string, params?: Record<string, string>): Href;
16
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +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;AAErD,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"}
@@ -0,0 +1,23 @@
1
+ export const defaultFeedbackRoutes = {
2
+ board: "index",
3
+ entry: "[entryId]",
4
+ create: "new",
5
+ };
6
+ export function resolveFeedbackRoutes(routes = {}) {
7
+ const resolved = { ...defaultFeedbackRoutes, ...routes };
8
+ if (!resolved.entry.includes("[entryId]")) {
9
+ throw new Error('The routed feedback entry route must contain the "[entryId]" dynamic segment.');
10
+ }
11
+ return resolved;
12
+ }
13
+ export function createFeedbackStackSettings(routes) {
14
+ return { anchor: resolveFeedbackRoutes(routes).board };
15
+ }
16
+ export const feedbackStackSettings = createFeedbackStackSettings();
17
+ /** Anchor the create form beneath suggested-entry detail screens. */
18
+ export const feedbackCreateStackSettings = { anchor: "index" };
19
+ export function feedbackRouteHref(route, params) {
20
+ const pathname = route.startsWith(".") ? route : `./${route}`;
21
+ return params === undefined ? pathname : { pathname, params };
22
+ }
23
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/native/expo/routes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,SAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;IAEzD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAoC;IAEpC,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,EAAE,CAAC;AAEnE,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,MAA+B;IAE/B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAC9D,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAChE,CAAC"}