@bigbinary/neetoui-rn 2.3.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +118 -0
  2. package/lib/typescript/src/components/Alert/Alert.d.ts +32 -0
  3. package/lib/typescript/src/components/Alert/Alert.d.ts.map +1 -0
  4. package/lib/typescript/src/components/Alert/index.d.ts +2 -0
  5. package/lib/typescript/src/components/Alert/index.d.ts.map +1 -0
  6. package/lib/typescript/src/components/Avatar/Avatar.d.ts +21 -0
  7. package/lib/typescript/src/components/Avatar/Avatar.d.ts.map +1 -0
  8. package/lib/typescript/src/components/Avatar/index.d.ts +2 -0
  9. package/lib/typescript/src/components/Avatar/index.d.ts.map +1 -0
  10. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +61 -0
  11. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -0
  12. package/lib/typescript/src/components/BottomSheet/index.d.ts +2 -0
  13. package/lib/typescript/src/components/BottomSheet/index.d.ts.map +1 -0
  14. package/lib/typescript/src/components/BottomSheetMenu/BottomSheetMenu.d.ts +28 -0
  15. package/lib/typescript/src/components/BottomSheetMenu/BottomSheetMenu.d.ts.map +1 -0
  16. package/lib/typescript/src/components/BottomSheetMenu/index.d.ts +2 -0
  17. package/lib/typescript/src/components/BottomSheetMenu/index.d.ts.map +1 -0
  18. package/lib/typescript/src/components/Button/Button.d.ts +79 -0
  19. package/lib/typescript/src/components/Button/Button.d.ts.map +1 -0
  20. package/lib/typescript/src/components/Button/index.d.ts +2 -0
  21. package/lib/typescript/src/components/Button/index.d.ts.map +1 -0
  22. package/lib/typescript/src/components/ChatInput/AttachmentsView.d.ts +11 -0
  23. package/lib/typescript/src/components/ChatInput/AttachmentsView.d.ts.map +1 -0
  24. package/lib/typescript/src/components/ChatInput/ChatInput.d.ts +78 -0
  25. package/lib/typescript/src/components/ChatInput/ChatInput.d.ts.map +1 -0
  26. package/lib/typescript/src/components/ChatInput/IconButton.d.ts +16 -0
  27. package/lib/typescript/src/components/ChatInput/IconButton.d.ts.map +1 -0
  28. package/lib/typescript/src/components/ChatInput/MentionsInput.d.ts +13 -0
  29. package/lib/typescript/src/components/ChatInput/MentionsInput.d.ts.map +1 -0
  30. package/lib/typescript/src/components/ChatInput/constants.d.ts +9 -0
  31. package/lib/typescript/src/components/ChatInput/constants.d.ts.map +1 -0
  32. package/lib/typescript/src/components/ChatInput/index.d.ts +4 -0
  33. package/lib/typescript/src/components/ChatInput/index.d.ts.map +1 -0
  34. package/lib/typescript/src/components/ChatInput/mentions.d.ts +26 -0
  35. package/lib/typescript/src/components/ChatInput/mentions.d.ts.map +1 -0
  36. package/lib/typescript/src/components/CheckBox/CheckBox.d.ts +13 -0
  37. package/lib/typescript/src/components/CheckBox/CheckBox.d.ts.map +1 -0
  38. package/lib/typescript/src/components/CheckBox/index.d.ts +2 -0
  39. package/lib/typescript/src/components/CheckBox/index.d.ts.map +1 -0
  40. package/lib/typescript/src/components/Container/Container.d.ts +9 -0
  41. package/lib/typescript/src/components/Container/Container.d.ts.map +1 -0
  42. package/lib/typescript/src/components/Container/index.d.ts +2 -0
  43. package/lib/typescript/src/components/Container/index.d.ts.map +1 -0
  44. package/lib/typescript/src/components/Divider/Divider.d.ts +7 -0
  45. package/lib/typescript/src/components/Divider/Divider.d.ts.map +1 -0
  46. package/lib/typescript/src/components/Divider/index.d.ts +2 -0
  47. package/lib/typescript/src/components/Divider/index.d.ts.map +1 -0
  48. package/lib/typescript/src/components/EmptyView/EmptyView.d.ts +26 -0
  49. package/lib/typescript/src/components/EmptyView/EmptyView.d.ts.map +1 -0
  50. package/lib/typescript/src/components/EmptyView/index.d.ts +2 -0
  51. package/lib/typescript/src/components/EmptyView/index.d.ts.map +1 -0
  52. package/lib/typescript/src/components/FlashList/FlashList.d.ts +14 -0
  53. package/lib/typescript/src/components/FlashList/FlashList.d.ts.map +1 -0
  54. package/lib/typescript/src/components/FlashList/index.d.ts +2 -0
  55. package/lib/typescript/src/components/FlashList/index.d.ts.map +1 -0
  56. package/lib/typescript/src/components/Header/BaseHeader.d.ts +5 -0
  57. package/lib/typescript/src/components/Header/BaseHeader.d.ts.map +1 -0
  58. package/lib/typescript/src/components/Header/Header.d.ts +21 -0
  59. package/lib/typescript/src/components/Header/Header.d.ts.map +1 -0
  60. package/lib/typescript/src/components/Header/ScreenHeader.d.ts +11 -0
  61. package/lib/typescript/src/components/Header/ScreenHeader.d.ts.map +1 -0
  62. package/lib/typescript/src/components/Header/index.d.ts +4 -0
  63. package/lib/typescript/src/components/Header/index.d.ts.map +1 -0
  64. package/lib/typescript/src/components/Input/Input.d.ts +15 -0
  65. package/lib/typescript/src/components/Input/Input.d.ts.map +1 -0
  66. package/lib/typescript/src/components/Input/index.d.ts +2 -0
  67. package/lib/typescript/src/components/Input/index.d.ts.map +1 -0
  68. package/lib/typescript/src/components/Loader/Loader.d.ts +12 -0
  69. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -0
  70. package/lib/typescript/src/components/Loader/index.d.ts +2 -0
  71. package/lib/typescript/src/components/Loader/index.d.ts.map +1 -0
  72. package/lib/typescript/src/components/NeetoUIProvider/NeetoUIProvider.d.ts +16 -0
  73. package/lib/typescript/src/components/NeetoUIProvider/NeetoUIProvider.d.ts.map +1 -0
  74. package/lib/typescript/src/components/NeetoUIProvider/index.d.ts +2 -0
  75. package/lib/typescript/src/components/NeetoUIProvider/index.d.ts.map +1 -0
  76. package/lib/typescript/src/components/OnBoarding/OnBoarding.d.ts +22 -0
  77. package/lib/typescript/src/components/OnBoarding/OnBoarding.d.ts.map +1 -0
  78. package/lib/typescript/src/components/OnBoarding/index.d.ts +2 -0
  79. package/lib/typescript/src/components/OnBoarding/index.d.ts.map +1 -0
  80. package/lib/typescript/src/components/ParentView/ParentView.d.ts +13 -0
  81. package/lib/typescript/src/components/ParentView/ParentView.d.ts.map +1 -0
  82. package/lib/typescript/src/components/ParentView/index.d.ts +2 -0
  83. package/lib/typescript/src/components/ParentView/index.d.ts.map +1 -0
  84. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +12 -0
  85. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts.map +1 -0
  86. package/lib/typescript/src/components/RadioButton/index.d.ts +2 -0
  87. package/lib/typescript/src/components/RadioButton/index.d.ts.map +1 -0
  88. package/lib/typescript/src/components/ScrollView/ScrollView.d.ts +8 -0
  89. package/lib/typescript/src/components/ScrollView/ScrollView.d.ts.map +1 -0
  90. package/lib/typescript/src/components/ScrollView/index.d.ts +2 -0
  91. package/lib/typescript/src/components/ScrollView/index.d.ts.map +1 -0
  92. package/lib/typescript/src/components/SearchBar/SearchBar.d.ts +12 -0
  93. package/lib/typescript/src/components/SearchBar/SearchBar.d.ts.map +1 -0
  94. package/lib/typescript/src/components/SearchBar/index.d.ts +2 -0
  95. package/lib/typescript/src/components/SearchBar/index.d.ts.map +1 -0
  96. package/lib/typescript/src/components/Skeleton/Skeleton.d.ts +41 -0
  97. package/lib/typescript/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  98. package/lib/typescript/src/components/Skeleton/index.d.ts +2 -0
  99. package/lib/typescript/src/components/Skeleton/index.d.ts.map +1 -0
  100. package/lib/typescript/src/components/TextWithUrl/TextWithUrl.d.ts +11 -0
  101. package/lib/typescript/src/components/TextWithUrl/TextWithUrl.d.ts.map +1 -0
  102. package/lib/typescript/src/components/TextWithUrl/index.d.ts +2 -0
  103. package/lib/typescript/src/components/TextWithUrl/index.d.ts.map +1 -0
  104. package/lib/typescript/src/components/Toast/Toast.d.ts +13 -0
  105. package/lib/typescript/src/components/Toast/Toast.d.ts.map +1 -0
  106. package/lib/typescript/src/components/Toast/ToastGlyph.d.ts +4 -0
  107. package/lib/typescript/src/components/Toast/ToastGlyph.d.ts.map +1 -0
  108. package/lib/typescript/src/components/Toast/index.d.ts +2 -0
  109. package/lib/typescript/src/components/Toast/index.d.ts.map +1 -0
  110. package/lib/typescript/src/components/Touchable/Touchable.d.ts +23 -0
  111. package/lib/typescript/src/components/Touchable/Touchable.d.ts.map +1 -0
  112. package/lib/typescript/src/components/Touchable/index.d.ts +2 -0
  113. package/lib/typescript/src/components/Touchable/index.d.ts.map +1 -0
  114. package/lib/typescript/src/components/Typography/Typography.d.ts +64 -0
  115. package/lib/typescript/src/components/Typography/Typography.d.ts.map +1 -0
  116. package/lib/typescript/src/components/Typography/index.d.ts +2 -0
  117. package/lib/typescript/src/components/Typography/index.d.ts.map +1 -0
  118. package/lib/typescript/src/hooks/index.d.ts +4 -0
  119. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  120. package/lib/typescript/src/hooks/useDebounce.d.ts +2 -0
  121. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -0
  122. package/lib/typescript/src/hooks/useNeetoTheme.d.ts +8 -0
  123. package/lib/typescript/src/hooks/useNeetoTheme.d.ts.map +1 -0
  124. package/lib/typescript/src/hooks/useRefreshByUser.d.ts +5 -0
  125. package/lib/typescript/src/hooks/useRefreshByUser.d.ts.map +1 -0
  126. package/lib/typescript/src/index.d.ts +31 -0
  127. package/lib/typescript/src/index.d.ts.map +1 -0
  128. package/lib/typescript/src/theme/palette.d.ts +28 -0
  129. package/lib/typescript/src/theme/palette.d.ts.map +1 -0
  130. package/lib/typescript/src/theme/palette.generated.d.ts +134 -0
  131. package/lib/typescript/src/theme/palette.generated.d.ts.map +1 -0
  132. package/lib/typescript/src/theme/tokens.d.ts +184 -0
  133. package/lib/typescript/src/theme/tokens.d.ts.map +1 -0
  134. package/lib/typescript/src/unistyles-init.d.ts +2 -0
  135. package/lib/typescript/src/unistyles-init.d.ts.map +1 -0
  136. package/lib/typescript/src/unistyles.d.ts +21 -0
  137. package/lib/typescript/src/unistyles.d.ts.map +1 -0
  138. package/lib/typescript/src/utils/index.d.ts +18 -0
  139. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  140. package/lib/typescript/src/utils/scale.d.ts +2 -0
  141. package/lib/typescript/src/utils/scale.d.ts.map +1 -0
  142. package/package.json +125 -51
  143. package/src/components/Alert/Alert.tsx +222 -0
  144. package/src/components/Alert/index.ts +1 -0
  145. package/src/components/Avatar/Avatar.tsx +123 -0
  146. package/src/components/Avatar/index.ts +1 -0
  147. package/src/components/BottomSheet/BottomSheet.tsx +468 -0
  148. package/src/components/BottomSheet/index.ts +5 -0
  149. package/src/components/BottomSheetMenu/BottomSheetMenu.tsx +150 -0
  150. package/src/components/BottomSheetMenu/index.ts +5 -0
  151. package/src/components/Button/Button.tsx +134 -0
  152. package/src/components/Button/index.ts +1 -0
  153. package/src/components/ChatInput/AttachmentsView.tsx +68 -0
  154. package/src/components/ChatInput/ChatInput.tsx +393 -0
  155. package/src/components/ChatInput/IconButton.tsx +52 -0
  156. package/src/components/ChatInput/MentionsInput.tsx +126 -0
  157. package/src/components/ChatInput/constants.ts +18 -0
  158. package/src/components/ChatInput/index.ts +11 -0
  159. package/src/components/ChatInput/mentions.ts +91 -0
  160. package/src/components/CheckBox/CheckBox.tsx +86 -0
  161. package/src/components/CheckBox/index.ts +1 -0
  162. package/src/components/Container/Container.tsx +14 -0
  163. package/src/components/Container/index.ts +1 -0
  164. package/src/components/Divider/Divider.tsx +32 -0
  165. package/src/components/Divider/index.ts +1 -0
  166. package/src/components/EmptyView/EmptyView.tsx +80 -0
  167. package/src/components/EmptyView/index.ts +1 -0
  168. package/src/components/FlashList/FlashList.tsx +162 -0
  169. package/src/components/FlashList/index.ts +1 -0
  170. package/src/components/Header/BaseHeader.tsx +19 -0
  171. package/src/components/Header/Header.tsx +114 -0
  172. package/src/components/Header/ScreenHeader.tsx +34 -0
  173. package/src/components/Header/index.ts +3 -0
  174. package/src/components/Input/Input.tsx +122 -0
  175. package/src/components/Input/index.ts +1 -0
  176. package/src/components/Loader/Loader.tsx +93 -0
  177. package/src/components/Loader/index.ts +1 -0
  178. package/src/components/NeetoUIProvider/NeetoUIProvider.tsx +43 -0
  179. package/src/components/NeetoUIProvider/index.ts +1 -0
  180. package/src/components/OnBoarding/OnBoarding.tsx +177 -0
  181. package/src/components/OnBoarding/index.ts +5 -0
  182. package/src/components/ParentView/ParentView.tsx +98 -0
  183. package/src/components/ParentView/index.ts +1 -0
  184. package/src/components/RadioButton/RadioButton.tsx +80 -0
  185. package/src/components/RadioButton/index.ts +1 -0
  186. package/src/components/ScrollView/ScrollView.tsx +30 -0
  187. package/src/components/ScrollView/index.ts +1 -0
  188. package/src/components/SearchBar/SearchBar.tsx +122 -0
  189. package/src/components/SearchBar/index.ts +1 -0
  190. package/src/components/Skeleton/Skeleton.tsx +121 -0
  191. package/src/components/Skeleton/index.ts +1 -0
  192. package/src/components/TextWithUrl/TextWithUrl.tsx +54 -0
  193. package/src/components/TextWithUrl/index.ts +1 -0
  194. package/src/components/Toast/Toast.tsx +157 -0
  195. package/src/components/Toast/ToastGlyph.tsx +53 -0
  196. package/src/components/Toast/index.ts +1 -0
  197. package/src/components/Touchable/Touchable.tsx +54 -0
  198. package/src/components/Touchable/index.ts +1 -0
  199. package/src/components/Typography/Typography.tsx +76 -0
  200. package/src/components/Typography/index.ts +1 -0
  201. package/src/hooks/index.ts +3 -0
  202. package/src/hooks/useDebounce.ts +17 -0
  203. package/src/hooks/useNeetoTheme.ts +10 -0
  204. package/src/hooks/useRefreshByUser.ts +17 -0
  205. package/src/index.ts +68 -0
  206. package/src/theme/palette.generated.ts +141 -0
  207. package/src/theme/palette.ts +34 -0
  208. package/src/theme/tokens.ts +205 -0
  209. package/src/types/neeto-icons-rn.d.ts +33 -0
  210. package/src/unistyles-init.ts +16 -0
  211. package/src/unistyles.ts +34 -0
  212. package/src/utils/index.ts +41 -0
  213. package/src/utils/scale.ts +16 -0
  214. package/components/Accordion.js +0 -1
  215. package/components/ActionIcon.js +0 -1
  216. package/components/Alert.js +0 -1
  217. package/components/Avatar.js +0 -1
  218. package/components/Badge.js +0 -1
  219. package/components/BottomSheet.js +0 -1
  220. package/components/BottomTabBar.js +0 -1
  221. package/components/Button.js +0 -1
  222. package/components/ButtonGroup.js +0 -1
  223. package/components/Calendar.js +0 -1
  224. package/components/Card.js +0 -1
  225. package/components/Carousel.js +0 -1
  226. package/components/ChatInput/AttachmentsView.js +0 -1
  227. package/components/ChatInput/Badge.js +0 -1
  228. package/components/ChatInput/ChatInput.js +0 -1
  229. package/components/ChatInput/EmailFields.js +0 -1
  230. package/components/ChatInput/IconButton.js +0 -1
  231. package/components/ChatInput/MentionsInputWrapper.js +0 -1
  232. package/components/CheckBox.js +0 -1
  233. package/components/Chip.js +0 -1
  234. package/components/Container.js +0 -1
  235. package/components/Divider.js +0 -1
  236. package/components/FAB.js +0 -1
  237. package/components/FlashList.js +0 -1
  238. package/components/FlatList.js +0 -1
  239. package/components/Input.js +0 -1
  240. package/components/InputEmailChip.js +0 -1
  241. package/components/LineLoader.js +0 -1
  242. package/components/ListItem.js +0 -1
  243. package/components/Loader.js +0 -1
  244. package/components/MultiSelect.js +0 -1
  245. package/components/NotificationIcon.js +0 -1
  246. package/components/NotificationPreferenceList.js +0 -1
  247. package/components/OnBoarding.js +0 -1
  248. package/components/OrganizationItem.js +0 -1
  249. package/components/OtpInputs.js +0 -1
  250. package/components/ParentView.js +0 -1
  251. package/components/Popover.js +0 -1
  252. package/components/RadioButton.js +0 -1
  253. package/components/RichTextEditor.js +0 -1
  254. package/components/Ripple.js +0 -1
  255. package/components/ScrollView.js +0 -1
  256. package/components/SearchBar.js +0 -1
  257. package/components/SegmentedTopBar/Indicator.js +0 -1
  258. package/components/SegmentedTopBar/Tab.js +0 -1
  259. package/components/SegmentedTopBar/index.js +0 -1
  260. package/components/SocialButton.js +0 -1
  261. package/components/Toast.js +0 -1
  262. package/components/ToggleSwitch.js +0 -1
  263. package/components/TopBar.js +0 -1
  264. package/components/Touchable.js +0 -1
  265. package/components/TouchableWithoutFeedback.js +0 -1
  266. package/components/Typography.js +0 -1
  267. package/components/index.js +0 -1
  268. package/config/index.js +0 -1
  269. package/config/toasterConfig.js +0 -1
  270. package/contexts/index.js +0 -1
  271. package/hooks/index.js +0 -1
  272. package/hooks/useDebounce.js +0 -1
  273. package/hooks/useKeyboard.js +0 -1
  274. package/hooks/useRefreshByUser.js +0 -1
  275. package/index.d.ts +0 -630
  276. package/index.js +0 -1
  277. package/react-native.config.js +0 -10
  278. package/theme/index.js +0 -1
  279. package/utils/index.js +0 -1
  280. package/utils/scale.js +0 -1
package/README.md ADDED
@@ -0,0 +1,118 @@
1
+ **neetoUI-RN** is the library that drives the experience in all
2
+ [neeto product's](https://neeto.com/) React Native application built at
3
+ [BigBinary](https://www.bigbinary.com).
4
+
5
+ ## Documentation
6
+
7
+ Storybook is the documentation: https://neetoui-rn.onrender.com/
8
+
9
+ Every component has a story next to its source, and the `Docs` section covers
10
+ getting started and the theme tokens.
11
+
12
+ ## Installation
13
+
14
+ ```
15
+ yarn add @bigbinary/neetoui-rn @gorhom/bottom-sheet @shopify/flash-list react-native-edge-to-edge react-native-gesture-handler react-native-nitro-modules react-native-reanimated react-native-safe-area-context react-native-svg react-native-toast-message react-native-unistyles
16
+ ```
17
+
18
+ Navigate to iOS folder and run:
19
+
20
+ ```
21
+ pod install
22
+ ```
23
+
24
+ > All the native components will be linked automatically.
25
+
26
+ ### Jest
27
+
28
+ The package ships untranspiled TypeScript, so consuming apps have to let Jest
29
+ transform it instead of skipping it as a dependency:
30
+
31
+ ```js
32
+ // jest.config.js
33
+ transformIgnorePatterns: [
34
+ "node_modules/(?!(@react-native|react-native|@bigbinary)/)",
35
+ ],
36
+ ```
37
+
38
+ Without this, tests fail on the first `import` with a syntax error.
39
+
40
+ ## Getting Started
41
+
42
+ ## react-native-safe-area-context
43
+
44
+ We are using SafeAreaView from
45
+ [`react-native-safe-area-context`](https://github.com/th3rdwave/react-native-safe-area-context)
46
+ in our `ParentView` component to handle safe area. Follow the instructions under
47
+ `SafeAreaProvider` for the `ParentView` component to work.
48
+
49
+ ### SafeAreaProvider
50
+
51
+ You should add `SafeAreaProvider` in your app root component. You may need to
52
+ add it in other places like the root of modals and routes when using
53
+ [`react-native-screens`](https://github.com/software-mansion/react-native-screens).
54
+
55
+ Note that providers should not be inside a `View` that is animated with
56
+ `Animated` or inside a `ScrollView` since it can cause very frequent updates.
57
+
58
+ #### Example
59
+
60
+ ```js
61
+ import { SafeAreaProvider } from "react-native-safe-area-context";
62
+
63
+ function App() {
64
+ return <SafeAreaProvider>...</SafeAreaProvider>;
65
+ }
66
+ ```
67
+
68
+ ## Development
69
+
70
+ Install all the dependencies by executing following command.
71
+
72
+ ```
73
+ yarn
74
+ ```
75
+
76
+ New components go in `src/components/<Name>/`, are exported from `src/index.ts`,
77
+ and carry a colocated `<Name>.stories.tsx` plus `__tests__/`.
78
+
79
+ | Task | Command |
80
+ | ----------------- | ---------------------- |
81
+ | Storybook (web) | `yarn storybook` |
82
+ | Build Storybook | `yarn build-storybook` |
83
+ | Tests | `yarn test` |
84
+ | Types | `yarn typecheck` |
85
+ | Lint | `yarn lint` |
86
+ | On-device harness | see `example/` |
87
+
88
+ `yarn build-storybook` writes static files to `storybook-static/`.
89
+
90
+ ## Auto Publish to NPM
91
+
92
+ neetoUI-RN version gets patched, auto-incremented and auto-published to npm on
93
+ new commit to main branch. You can checkout the `publish` workflow in Github
94
+ actions to get a live update.
95
+
96
+ ## Testing with yalc package manager
97
+
98
+ To publish locally
99
+
100
+ ```
101
+ yarn build && rm -rf ~/.yalc/packages && yalc publish --private
102
+ ```
103
+
104
+ or
105
+
106
+ ```
107
+ yarn yalc:publish
108
+ ```
109
+
110
+ To install local yalc version of library in any app.
111
+
112
+ ```
113
+ rm -rf .yalc && yalc add @bigbinary/neetoui-rn && rm -rf node_modules && yarn
114
+ ```
115
+
116
+ ## Learn more about contributing to this repository
117
+
118
+ https://github.com/bigbinary/neeto-ui-rn/blob/main/CONTRIBUTING.md
@@ -0,0 +1,32 @@
1
+ import { type ButtonProps } from "../Button";
2
+ export type AlertButton = {
3
+ label: string;
4
+ variant?: ButtonProps["variant"];
5
+ onPress?: () => void;
6
+ };
7
+ export type AlertParams = {
8
+ title: string;
9
+ description?: string;
10
+ /** When true (default), backdrop tap / swipe-down dismiss the sheet. */
11
+ isCancelable?: boolean;
12
+ /**
13
+ * First button is the full-width primary action; the rest render as
14
+ * muted rows below it (neeto-invoice-rn ConfirmSheet layout).
15
+ * Defaults to a single OK.
16
+ */
17
+ buttons?: AlertButton[];
18
+ /** Called once the sheet has closed, whichever path closed it. */
19
+ onDismiss?: () => void;
20
+ };
21
+ /**
22
+ * Imperative confirm sheet (locked decision 2026-07-28: no centered
23
+ * Modal dialogs in v3 — the fleet's confirm UX is the bottom sheet that
24
+ * commons/invoice ship, so Alert.show presents one). The v2 Alert.show
25
+ * signature is unchanged. NeetoUIProvider mounts the host automatically;
26
+ * the bare export remains for incremental adoption.
27
+ */
28
+ export declare const Alert: {
29
+ (): import("react").JSX.Element;
30
+ show(params: AlertParams): void;
31
+ };
32
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAQF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;iBAqHI,WAAW;CAHhC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Alert, type AlertButton, type AlertParams } from "./Alert";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type ViewProps } from "react-native";
2
+ export declare const getAvatarColor: (name?: string) => {
3
+ bgColor: string;
4
+ fontColor: string;
5
+ };
6
+ declare const SIZES: {
7
+ readonly "extra-small": readonly [number, number];
8
+ readonly small: readonly [number, number];
9
+ readonly medium: readonly [number, number];
10
+ };
11
+ export type AvatarProps = ViewProps & {
12
+ name?: string;
13
+ variant?: keyof typeof SIZES;
14
+ /** Explicit color override. Default: the name-hash palette. */
15
+ bgColor?: string;
16
+ fontColor?: string;
17
+ imageUrl?: string;
18
+ };
19
+ export declare const Avatar: ({ name, variant, bgColor, fontColor, imageUrl, style, ...rest }: AvatarProps) => import("react").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAqB3D,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM;;;CAQ3C,CAAC;AAEF,QAAA,MAAM,KAAK;;;;CAID,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC7B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,iEAQpB,WAAW,gCAqDb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Avatar, getAvatarColor, type AvatarProps } from "./Avatar";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { type ComponentType, type ReactNode, type Ref } from "react";
2
+ import { type FlatList, type StyleProp, type TextStyle, type ViewStyle } from "react-native";
3
+ import { type BottomSheetModalProps } from "@gorhom/bottom-sheet";
4
+ import { type SearchBarProps } from "../SearchBar";
5
+ /**
6
+ * Contract every v2 ContentRow already satisfies — unchanged, so the 42
7
+ * existing call sites keep their row components as-is.
8
+ */
9
+ export type BottomSheetContentRowProps<T> = {
10
+ item: T;
11
+ index: number;
12
+ isSelected: boolean;
13
+ onPress: () => void;
14
+ };
15
+ export type BottomSheetProps<T> = {
16
+ isVisible: boolean;
17
+ /** Called whenever the sheet should close (backdrop, swipe, item press). */
18
+ hide: () => void;
19
+ data?: T[];
20
+ onItemPress?: (args: {
21
+ index: number;
22
+ item: T;
23
+ }) => void;
24
+ selectedItem?: T | null;
25
+ title?: string;
26
+ /**
27
+ * "checkbox" keeps the sheet open on item press and shows a Done button
28
+ * in the header (v2 behavior).
29
+ */
30
+ contentType?: "checkbox" | null;
31
+ onDonePress?: () => void;
32
+ ContentRow?: ComponentType<BottomSheetContentRowProps<T>>;
33
+ /** Rendered below the list, above the no-results / create-option rows. */
34
+ children?: ReactNode;
35
+ canSearch?: boolean;
36
+ searchBarProps?: SearchBarProps;
37
+ labelExtractor?: (item: T, index?: number) => string | undefined;
38
+ valueExtractor?: (item: T) => unknown;
39
+ shouldShowItemSeparator?: boolean;
40
+ shouldHideKeyboardOnScrollBegin?: boolean;
41
+ disabled?: boolean;
42
+ showCreateOption?: boolean;
43
+ showCreateOptionLoader?: boolean;
44
+ createOptionLabel?: string;
45
+ onPressCreateOption?: (searchText: string) => void;
46
+ CreateItemComponent?: ComponentType<{
47
+ searchText: string;
48
+ }>;
49
+ noResultsLabel?: string;
50
+ NoResultsComponent?: ComponentType;
51
+ onBackdropPress?: () => void;
52
+ maxHeight?: number;
53
+ style?: StyleProp<ViewStyle>;
54
+ titleContainerStyle?: StyleProp<ViewStyle>;
55
+ titleTextStyle?: StyleProp<TextStyle>;
56
+ flatListRef?: Ref<FlatList<T>>;
57
+ /** Escape hatch into @gorhom/bottom-sheet (replaces v2's modalParams). */
58
+ sheetProps?: Partial<BottomSheetModalProps>;
59
+ };
60
+ export declare const BottomSheet: <T>({ isVisible, hide, data, onItemPress, selectedItem, title, contentType, onDonePress, ContentRow, children, canSearch, searchBarProps, labelExtractor, valueExtractor, shouldShowItemSeparator, shouldHideKeyboardOnScrollBegin, disabled, showCreateOption, showCreateOptionLoader, createOptionLabel, onPressCreateOption, CreateItemComponent, noResultsLabel, NoResultsComponent, onBackdropPress, maxHeight, style, titleContainerStyle, titleTextStyle, flatListRef, sheetProps, }: BottomSheetProps<T>) => import("react").JSX.Element;
61
+ //# sourceMappingURL=BottomSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC1C,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAgCF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,ydAgC7B,gBAAgB,CAAC,CAAC,CAAC,gCA6QrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BottomSheet, type BottomSheetProps, type BottomSheetContentRowProps, } from "./BottomSheet";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,eAAe,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { type ComponentType, type ReactNode } from "react";
2
+ export type BottomSheetMenuItem = {
3
+ key: string;
4
+ label: string;
5
+ icon?: ComponentType<{
6
+ size?: number;
7
+ color?: string;
8
+ }>;
9
+ /** Raw color override for icon + label (e.g. destructive red). */
10
+ color?: string;
11
+ disabled?: boolean;
12
+ onPress?: () => void;
13
+ };
14
+ export type BottomSheetMenuProps = {
15
+ isVisible: boolean;
16
+ onClose: () => void;
17
+ items: BottomSheetMenuItem[];
18
+ onItemPress?: (item: BottomSheetMenuItem) => void;
19
+ header?: ReactNode;
20
+ title?: string;
21
+ cancelLabel?: string;
22
+ };
23
+ /**
24
+ * Action-menu sheet (promoted from neeto-commons-rn, 10 call sites).
25
+ * Same props; rows render as the sheet's footer content.
26
+ */
27
+ export declare const BottomSheetMenu: ({ isVisible, onClose, items, onItemPress, header, title, cancelLabel, }: BottomSheetMenuProps) => import("react").JSX.Element;
28
+ //# sourceMappingURL=BottomSheetMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomSheetMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheetMenu/BottomSheetMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,yEAQ7B,oBAAoB,gCA6DtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BottomSheetMenu, type BottomSheetMenuItem, type BottomSheetMenuProps, } from "./BottomSheetMenu";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheetMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { type PressableProps, type StyleProp, type TextStyle, type ViewStyle } from "react-native";
2
+ import { type UnistylesVariants } from "react-native-unistyles";
3
+ type ButtonVariants = UnistylesVariants<typeof styles>;
4
+ export type ButtonProps = Omit<PressableProps, "children" | "disabled" | "style"> & ButtonVariants & {
5
+ label: string;
6
+ isLoading?: boolean;
7
+ disabled?: boolean;
8
+ style?: StyleProp<ViewStyle>;
9
+ labelStyle?: StyleProp<TextStyle>;
10
+ };
11
+ export declare const Button: ({ label, variant, size, isLoading, disabled, style, labelStyle, ...rest }: ButtonProps) => import("react").JSX.Element;
12
+ declare const styles: {
13
+ container: {
14
+ backgroundColor: string;
15
+ borderColor: string;
16
+ } & {
17
+ backgroundColor: string;
18
+ } & {
19
+ backgroundColor: string;
20
+ borderColor: string;
21
+ } & {
22
+ backgroundColor: string;
23
+ } & {
24
+ backgroundColor: string;
25
+ borderColor: string;
26
+ } & {
27
+ minHeight: number;
28
+ paddingHorizontal: number;
29
+ paddingVertical: number;
30
+ } & {
31
+ minHeight: number;
32
+ paddingHorizontal: number;
33
+ paddingVertical: number;
34
+ } & {
35
+ minHeight: number;
36
+ paddingHorizontal: number;
37
+ paddingVertical: number;
38
+ } & {
39
+ opacity: number;
40
+ } & {} & {
41
+ borderColor: string;
42
+ borderRadius: number;
43
+ alignItems: "center";
44
+ borderWidth: number;
45
+ flexDirection: "row";
46
+ justifyContent: "center";
47
+ };
48
+ label: {
49
+ color: string;
50
+ } & {
51
+ color: string;
52
+ } & {
53
+ color: string;
54
+ } & {
55
+ color: string;
56
+ } & {
57
+ color: string;
58
+ } & {
59
+ fontSize: number;
60
+ } & {
61
+ fontSize: number;
62
+ } & {
63
+ fontSize: number;
64
+ } & {
65
+ fontFamily: string;
66
+ };
67
+ } & {
68
+ useVariants: (variants: {
69
+ variant?: "solid" | "text" | "inverse" | "secondary" | "danger" | undefined;
70
+ size?: "sm" | "md" | "lg" | undefined;
71
+ disabled?: boolean | "true" | "false" | undefined;
72
+ } | {
73
+ variant?: "solid" | "text" | "inverse" | "secondary" | "danger" | undefined;
74
+ size?: "sm" | "md" | "lg" | undefined;
75
+ disabled?: boolean | "true" | "false" | undefined;
76
+ }) => void;
77
+ };
78
+ export {};
79
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI5E,KAAK,cAAc,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,EACd,UAAU,GAAG,UAAU,GAAG,OAAO,CAClC,GACC,cAAc,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEJ,eAAO,MAAM,MAAM,GAAI,2EASpB,WAAW,gCAoBb,CAAC;AAEF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ET,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Button, type ButtonProps } from "./Button";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from "react";
2
+ type AttachmentsViewProps = {
3
+ isAttachmentsVisible: boolean;
4
+ onExpand: () => void;
5
+ Attachments?: ReactNode;
6
+ attachmentsCount?: number;
7
+ isNoteOptionSelected: boolean;
8
+ };
9
+ export declare const AttachmentsView: ({ isAttachmentsVisible, onExpand, Attachments, attachmentsCount, isNoteOptionSelected, }: AttachmentsViewProps) => import("react").JSX.Element | null;
10
+ export {};
11
+ //# sourceMappingURL=AttachmentsView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttachmentsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/AttachmentsView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoBvC,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0FAM7B,oBAAoB,uCAgBtB,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { type ReactNode } from "react";
2
+ import { type TextInputProps } from "react-native";
3
+ import { type ChatInputOption } from "./constants";
4
+ import { type MentionSuggestion } from "./mentions";
5
+ export type ChatInputPayload = {
6
+ toEmails: string[];
7
+ ccEmails: string[];
8
+ bccEmails: string[];
9
+ html: string;
10
+ plainText: string;
11
+ status?: string;
12
+ };
13
+ export type ChatInputRef = {
14
+ clearEmailFields: () => void;
15
+ };
16
+ export type ChatInputProps = Omit<TextInputProps, "value" | "onChange" | "onChangeText" | "onSelectionChange"> & {
17
+ value?: string;
18
+ onChangeText?: (value: string) => void;
19
+ initialSelectedOption?: ChatInputOption;
20
+ onOptionChange?: (option: ChatInputOption) => void;
21
+ onReply?: (payload: ChatInputPayload) => void;
22
+ onAddNote?: (payload: ChatInputPayload) => void;
23
+ /** Forward icon renders only when this is passed (v2 behavior). */
24
+ onForward?: (payload: ChatInputPayload) => void;
25
+ onAttachment?: () => void;
26
+ /** Canned-responses icon renders only when this is passed. */
27
+ onCannedResponse?: () => void;
28
+ /** Articles icon renders only when this is passed. */
29
+ onArticles?: () => void;
30
+ showArticlesFor?: ChatInputOption[];
31
+ showCannedResponsesFor?: ChatInputOption[];
32
+ showSuggestionsFor?: ChatInputOption[];
33
+ /** Extra "Send and set as closed" menu on the reply action (desk). */
34
+ showReplyMenuOptions?: boolean;
35
+ toEmails?: string[];
36
+ attachmentsCount?: number;
37
+ Attachments?: ReactNode;
38
+ suggestions?: MentionSuggestion[];
39
+ disabled?: boolean;
40
+ isLoading?: boolean;
41
+ };
42
+ /**
43
+ * Composer used by chat and desk. Ported against the two real call sites
44
+ * rather than the whole v2 surface: v2's EmailFields UI was gated behind
45
+ * shouldShowEmailFields, which no app passes — the email-entry UI is dead
46
+ * in production and is not ported. toEmails still flows into every action
47
+ * payload and clearEmailFields still resets it (desk's ref contract).
48
+ *
49
+ * v2's Popover reply menu (react-native-popover-view, dropped dep) is now
50
+ * a BottomSheet.
51
+ */
52
+ export declare const ChatInput: import("react").ForwardRefExoticComponent<Omit<TextInputProps, "onChange" | "value" | "onChangeText" | "onSelectionChange"> & {
53
+ value?: string;
54
+ onChangeText?: (value: string) => void;
55
+ initialSelectedOption?: ChatInputOption;
56
+ onOptionChange?: (option: ChatInputOption) => void;
57
+ onReply?: (payload: ChatInputPayload) => void;
58
+ onAddNote?: (payload: ChatInputPayload) => void;
59
+ /** Forward icon renders only when this is passed (v2 behavior). */
60
+ onForward?: (payload: ChatInputPayload) => void;
61
+ onAttachment?: () => void;
62
+ /** Canned-responses icon renders only when this is passed. */
63
+ onCannedResponse?: () => void;
64
+ /** Articles icon renders only when this is passed. */
65
+ onArticles?: () => void;
66
+ showArticlesFor?: ChatInputOption[];
67
+ showCannedResponsesFor?: ChatInputOption[];
68
+ showSuggestionsFor?: ChatInputOption[];
69
+ /** Extra "Send and set as closed" menu on the reply action (desk). */
70
+ showReplyMenuOptions?: boolean;
71
+ toEmails?: string[];
72
+ attachmentsCount?: number;
73
+ Attachments?: ReactNode;
74
+ suggestions?: MentionSuggestion[];
75
+ disabled?: boolean;
76
+ isLoading?: boolean;
77
+ } & import("react").RefAttributes<ChatInputRef>>;
78
+ //# sourceMappingURL=ChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAuBzE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAC5D,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qBAAqB,CAAC,EAAE,eAAe,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,mEAAmE;IACnE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,sBAAsB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YApCZ,MAAM;mBACC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;4BACd,eAAe;qBACtB,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;cACxC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;gBACjC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;IAC/C,mEAAmE;gBACvD,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;mBAChC,MAAM,IAAI;IACzB,8DAA8D;uBAC3C,MAAM,IAAI;IAC7B,sDAAsD;iBACzC,MAAM,IAAI;sBACL,eAAe,EAAE;6BACV,eAAe,EAAE;yBACrB,eAAe,EAAE;IACtC,sEAAsE;2BAC/C,OAAO;eACnB,MAAM,EAAE;uBACA,MAAM;kBACX,SAAS;kBACT,iBAAiB,EAAE;eACtB,OAAO;gBACN,OAAO;gDAsQpB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ComponentType } from "react";
2
+ import { type StyleProp, type ViewStyle } from "react-native";
3
+ type IconButtonProps = {
4
+ Icon: ComponentType<{
5
+ size?: number;
6
+ color?: string;
7
+ }>;
8
+ onPress: () => void;
9
+ isActive?: boolean;
10
+ disabled?: boolean;
11
+ accessibilityLabel?: string;
12
+ style?: StyleProp<ViewStyle>;
13
+ };
14
+ export declare const IconButton: ({ Icon, onPress, isActive, disabled, accessibilityLabel, style, }: IconButtonProps) => import("react").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=IconButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9D,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,mEAOxB,eAAe,gCAiBjB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type Ref } from "react";
2
+ import { TextInput, type TextInputProps } from "react-native";
3
+ import { type MentionSuggestion } from "./mentions";
4
+ type MentionsInputProps = Omit<TextInputProps, "value" | "onChange" | "onChangeText" | "onSelectionChange"> & {
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ suggestions?: MentionSuggestion[];
8
+ shouldShowSuggestions?: boolean;
9
+ inputRef?: Ref<TextInput>;
10
+ };
11
+ export declare const MentionsInput: ({ value, onChange, suggestions, shouldShowSuggestions, inputRef, style, ...rest }: MentionsInputProps) => import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=MentionsInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionsInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/MentionsInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAc,SAAS,EAAQ,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAQhF,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/E,KAAK,kBAAkB,GAAG,IAAI,CAC5B,cAAc,EACd,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAC5D,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,mFAQ3B,kBAAkB,gCAkEpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const OPTION_TYPES: {
2
+ readonly REPLY: "REPLY";
3
+ readonly NOTE: "NOTE";
4
+ readonly FORWARD: "FORWARD";
5
+ };
6
+ export type ChatInputOption = keyof typeof OPTION_TYPES;
7
+ export declare const PLACEHOLDERS: Record<ChatInputOption, string>;
8
+ export declare const ACTION_LABELS: Partial<Record<ChatInputOption, string>>;
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC;AAExD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAIxD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAGlE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ChatInput, type ChatInputPayload, type ChatInputProps, type ChatInputRef, } from "./ChatInput";
2
+ export { OPTION_TYPES, type ChatInputOption } from "./constants";
3
+ export { convertMentionsToHTMLAndPlainText, type MentionSuggestion, } from "./mentions";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,iCAAiC,EACjC,KAAK,iBAAiB,GACvB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type TriggersConfig } from "react-native-controlled-mentions";
2
+ export type MentionSuggestion = {
3
+ id: string;
4
+ name: string;
5
+ imageUrl?: string;
6
+ };
7
+ export declare const buildMentionTriggerConfig: (textStyle: {
8
+ fontFamily: string;
9
+ color: string;
10
+ }) => TriggersConfig<"mention">;
11
+ /**
12
+ * Port of v2's converter, minus the node-html-parser dependency — the
13
+ * output span shape is fixed, so plain string assembly produces the same
14
+ * HTML the web editors consume.
15
+ *
16
+ * Divergence from v2: a mention whose id is missing from `suggestions`
17
+ * is left as-is instead of crashing on `suggestion.name`.
18
+ */
19
+ export declare const convertMentionsToHTMLAndPlainText: ({ suggestions, value, }: {
20
+ suggestions?: MentionSuggestion[];
21
+ value: string;
22
+ }) => {
23
+ html: string;
24
+ plainText: string;
25
+ };
26
+ //# sourceMappingURL=mentions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/mentions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAQF,eAAO,MAAM,yBAAyB,GAAI,WAAW;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,cAAc,CAAC,SAAS,CAe1B,CAAC;AAoBH;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,GAAI,yBAG/C;IACD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;;;CAwBA,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type StyleProp, type TextStyle } from "react-native";
2
+ import { type TouchableProps } from "../Touchable";
3
+ export type CheckBoxProps = Omit<TouchableProps, "onPress"> & {
4
+ checked?: boolean;
5
+ onSelect?: () => void;
6
+ disabled?: boolean;
7
+ label: string;
8
+ labelStyle?: StyleProp<TextStyle>;
9
+ isRequiredLabel?: boolean;
10
+ iconSize?: number;
11
+ };
12
+ export declare const CheckBox: ({ checked, onSelect, disabled, label, labelStyle, isRequiredLabel, iconSize, style, ...rest }: CheckBoxProps) => import("react").JSX.Element;
13
+ //# sourceMappingURL=CheckBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckBox.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/CheckBox.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,+FAUtB,aAAa,gCAyBf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CheckBox, type CheckBoxProps } from "./CheckBox";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}