@hero-design/rn 8.68.0-alpha.1 → 8.69.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 (392) hide show
  1. package/.turbo/turbo-build.log +8 -0
  2. package/CHANGELOG.md +27 -0
  3. package/es/index.js +706 -188
  4. package/lib/index.js +707 -187
  5. package/package.json +2 -2
  6. package/src/components/Accordion/__tests__/__snapshots__/AccordionItem.spec.tsx.snap +4 -4
  7. package/src/components/Accordion/__tests__/__snapshots__/index.spec.tsx.snap +6 -6
  8. package/src/components/Alert/StyledAlert.tsx +24 -2
  9. package/src/components/Alert/__tests__/__snapshots__/index.spec.tsx.snap +150 -30
  10. package/src/components/Alert/index.tsx +15 -10
  11. package/src/components/AnimatedScroller/__tests__/__snapshots__/ScrollablesWithFAB.spec.tsx.snap +18 -18
  12. package/src/components/Avatar/AvatarStack/__tests__/__snapshots__/StyledAvatarStack.spec.tsx.snap +2 -2
  13. package/src/components/Avatar/__tests__/__snapshots__/StyledAvatar.spec.tsx.snap +1 -1
  14. package/src/components/Avatar/__tests__/__snapshots__/index.spec.tsx.snap +3 -3
  15. package/src/components/Badge/StyledBadge.tsx +13 -5
  16. package/src/components/Badge/__tests__/Badge.spec.tsx +9 -0
  17. package/src/components/Badge/__tests__/__snapshots__/Badge.spec.tsx.snap +129 -13
  18. package/src/components/Badge/index.tsx +8 -2
  19. package/src/components/BottomNavigation/__tests__/__snapshots__/index.spec.tsx.snap +3 -3
  20. package/src/components/BottomSheet/Header.tsx +50 -27
  21. package/src/components/BottomSheet/StyledBottomSheet.tsx +35 -8
  22. package/src/components/BottomSheet/__tests__/__snapshots__/index.spec.tsx.snap +352 -1
  23. package/src/components/BottomSheet/__tests__/index.spec.tsx +30 -0
  24. package/src/components/BottomSheet/index.tsx +47 -30
  25. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/StyledLoadingIndicator.spec.tsx.snap +4 -4
  26. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/index.spec.tsx.snap +12 -12
  27. package/src/components/Button/__tests__/__snapshots__/Button.spec.tsx.snap +21 -21
  28. package/src/components/Button/__tests__/__snapshots__/StyledButton.spec.tsx.snap +12 -12
  29. package/src/components/Calendar/__tests__/__snapshots__/CalendarRowItem.spec.tsx.snap +5 -5
  30. package/src/components/Card/DataCard/__tests__/__snapshots__/StyledDataCard.spec.tsx.snap +1 -1
  31. package/src/components/Card/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  32. package/src/components/Carousel/__tests__/__snapshots__/CardCarousel.spec.tsx.snap +4 -4
  33. package/src/components/Carousel/__tests__/__snapshots__/StyledCardCarousel.spec.tsx.snap +3 -3
  34. package/src/components/Carousel/__tests__/__snapshots__/StyledCarousel.spec.tsx.snap +2 -2
  35. package/src/components/Carousel/__tests__/__snapshots__/index.spec.tsx.snap +30 -30
  36. package/src/components/Chip/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  37. package/src/components/DatePicker/__tests__/__snapshots__/DatePickerIOS.spec.tsx.snap +2 -2
  38. package/src/components/Error/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  39. package/src/components/FAB/ActionGroup/__tests__/__snapshots__/index.spec.tsx.snap +22 -22
  40. package/src/components/FAB/__tests__/__snapshots__/AnimatedFABIcon.spec.tsx.snap +2 -2
  41. package/src/components/FAB/__tests__/__snapshots__/StyledFAB.spec.tsx.snap +3 -3
  42. package/src/components/FAB/__tests__/__snapshots__/index.spec.tsx.snap +4 -4
  43. package/src/components/HeroDesignProvider/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  44. package/src/components/Icon/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  45. package/src/components/List/__tests__/__snapshots__/BasicListItem.spec.tsx.snap +2 -2
  46. package/src/components/List/__tests__/__snapshots__/ListItem.spec.tsx.snap +6 -6
  47. package/src/components/List/__tests__/__snapshots__/StyledBasicListItem.spec.tsx.snap +2 -2
  48. package/src/components/List/__tests__/__snapshots__/StyledListItem.spec.tsx.snap +2 -2
  49. package/src/components/PageControl/__tests__/__snapshots__/index.spec.tsx.snap +3 -3
  50. package/src/components/Progress/ProgressStep.tsx +87 -0
  51. package/src/components/Progress/StyledStep.tsx +48 -0
  52. package/src/components/Progress/__tests__/__snapshots__/index.spec.js.snap +214 -5
  53. package/src/components/Progress/__tests__/index.spec.js +26 -0
  54. package/src/components/Progress/index.tsx +6 -1
  55. package/src/components/Radio/__tests__/__snapshots__/Radio.spec.tsx.snap +10 -10
  56. package/src/components/Radio/__tests__/__snapshots__/RadioGroup.spec.tsx.snap +14 -14
  57. package/src/components/Rate/__tests__/__snapshots__/index.spec.tsx.snap +10 -10
  58. package/src/components/Search/SearchOneLine.tsx +196 -0
  59. package/src/components/Search/SearchSuffixIcon.tsx +37 -0
  60. package/src/components/Search/SearchTwoLine.tsx +64 -0
  61. package/src/components/Search/StyledSearch.tsx +67 -0
  62. package/src/components/Search/__tests__/SearchOneLine.spec.tsx +197 -0
  63. package/src/components/Search/__tests__/SearchSuffixIcon.spec.tsx +12 -0
  64. package/src/components/Search/__tests__/SearchTwoLine.spec.tsx +20 -0
  65. package/src/components/Search/__tests__/__snapshots__/SearchOneLine.spec.tsx.snap +707 -0
  66. package/src/components/Search/__tests__/__snapshots__/SearchSuffixIcon.spec.tsx.snap +134 -0
  67. package/src/components/Search/__tests__/__snapshots__/SearchTwoLine.spec.tsx.snap +170 -0
  68. package/src/components/Search/__tests__/__snapshots__/utils.spec.tsx.snap +115 -0
  69. package/src/components/Search/__tests__/utils.spec.tsx +19 -0
  70. package/src/components/Search/index.tsx +17 -0
  71. package/src/components/Search/utils.tsx +31 -0
  72. package/src/components/SectionHeading/__tests__/__snapshots__/StyledHeading.spec.tsx.snap +1 -1
  73. package/src/components/SectionHeading/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  74. package/src/components/Select/MultiSelect/__tests__/__snapshots__/Option.spec.tsx.snap +2 -2
  75. package/src/components/Select/MultiSelect/__tests__/__snapshots__/OptionList.spec.tsx.snap +14 -14
  76. package/src/components/Select/MultiSelect/__tests__/__snapshots__/index.spec.tsx.snap +18 -18
  77. package/src/components/Select/SingleSelect/__tests__/__snapshots__/Option.spec.tsx.snap +1 -1
  78. package/src/components/Select/SingleSelect/__tests__/__snapshots__/OptionList.spec.tsx.snap +8 -8
  79. package/src/components/Select/SingleSelect/__tests__/__snapshots__/index.spec.tsx.snap +5 -5
  80. package/src/components/Slider/__tests__/__snapshots__/index.spec.tsx.snap +9 -9
  81. package/src/components/Spinner/__tests__/__snapshots__/AnimatedSpinner.spec.tsx.snap +4 -4
  82. package/src/components/Spinner/__tests__/__snapshots__/StyledSpinner.spec.tsx.snap +32 -32
  83. package/src/components/Spinner/__tests__/__snapshots__/index.spec.tsx.snap +4 -4
  84. package/src/components/Success/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  85. package/src/components/Swipeable/__tests__/__snapshots__/SwipeableAction.spec.tsx.snap +1 -1
  86. package/src/components/Switch/SelectorSwitch/__tests__/__snapshots__/index.spec.tsx.snap +1 -1
  87. package/src/components/Switch/__tests__/__snapshots__/StyledSwitch.spec.tsx.snap +2 -2
  88. package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabs.spec.tsx.snap +24 -9
  89. package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabsHeader.spec.tsx.snap +19 -9
  90. package/src/components/Tabs/__tests__/__snapshots__/TabWithBadge.spec.tsx.snap +7 -2
  91. package/src/components/Tabs/__tests__/__snapshots__/index.spec.tsx.snap +24 -9
  92. package/src/components/Tag/__tests__/__snapshots__/Tag.spec.tsx.snap +5 -5
  93. package/src/components/TimePicker/__tests__/__snapshots__/TimePickerIOS.spec.tsx.snap +2 -2
  94. package/src/components/Toolbar/__tests__/__snapshots__/ToolbarGroup.spec.tsx.snap +18 -18
  95. package/src/components/Toolbar/__tests__/__snapshots__/ToolbarItem.spec.tsx.snap +7 -7
  96. package/src/components/Typography/Body/__tests__/__snapshots__/StyledBody.tsx.snap +1 -1
  97. package/src/components/Typography/Body/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  98. package/src/components/Typography/Caption/__tests__/__snapshots__/StyledCaption.spec.tsx.snap +1 -1
  99. package/src/components/Typography/Caption/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  100. package/src/components/Typography/Label/__tests__/__snapshots__/StyledLabel.tsx.snap +1 -1
  101. package/src/components/Typography/Label/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  102. package/src/components/Typography/Text/__tests__/__snapshots__/StyledText.spec.tsx.snap +1 -1
  103. package/src/components/Typography/Title/__tests__/__snapshots__/StyledTitle.tsx.snap +1 -1
  104. package/src/components/Typography/Title/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  105. package/src/index.ts +4 -0
  106. package/src/theme/ThemeSwitcher.tsx +2 -12
  107. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +152 -77
  108. package/src/theme/components/alert.ts +14 -5
  109. package/src/theme/components/badge.ts +21 -21
  110. package/src/theme/components/bottomSheet.ts +7 -0
  111. package/src/theme/components/progress.ts +11 -1
  112. package/src/theme/components/search.ts +56 -0
  113. package/src/theme/getTheme.ts +5 -2
  114. package/src/theme/global/colors/__tests__/__snapshots__/swagLight.spec.ts.snap +7 -7
  115. package/src/theme/global/colors/__tests__/__snapshots__/swagLightJobs.spec.ts.snap +50 -0
  116. package/src/theme/global/colors/__tests__/swagLightJobs.spec.ts +7 -0
  117. package/src/theme/global/colors/swagLight.ts +7 -8
  118. package/src/theme/global/colors/swagLightJobs.ts +11 -0
  119. package/src/theme/global/colors/types.ts +4 -0
  120. package/src/theme/global/index.ts +2 -0
  121. package/src/theme/index.ts +2 -0
  122. package/stats/8.67.0/rn-stats.html +4844 -0
  123. package/stats/8.68.0/rn-stats.html +4842 -0
  124. package/stats/8.69.0/rn-stats.html +4842 -0
  125. package/types/components/Accordion/AccordionItem.d.ts +0 -0
  126. package/types/components/Accordion/StyledAccordion.d.ts +0 -0
  127. package/types/components/Accordion/index.d.ts +0 -0
  128. package/types/components/Alert/StyledAlert.d.ts +17 -2
  129. package/types/components/Alert/index.d.ts +0 -0
  130. package/types/components/Attachment/StyledAttachment.d.ts +0 -0
  131. package/types/components/Attachment/index.d.ts +0 -0
  132. package/types/components/Avatar/Avatar.d.ts +0 -0
  133. package/types/components/Avatar/AvatarStack/StyledAvatarStack.d.ts +0 -0
  134. package/types/components/Avatar/AvatarStack/index.d.ts +0 -0
  135. package/types/components/Avatar/AvatarStack/utils.d.ts +0 -0
  136. package/types/components/Avatar/StyledAvatar.d.ts +0 -0
  137. package/types/components/Avatar/index.d.ts +0 -0
  138. package/types/components/Badge/Status.d.ts +0 -0
  139. package/types/components/Badge/StyledBadge.d.ts +4 -0
  140. package/types/components/Badge/index.d.ts +6 -2
  141. package/types/components/BottomNavigation/StyledBottomNavigation.d.ts +0 -0
  142. package/types/components/BottomNavigation/index.d.ts +0 -0
  143. package/types/components/BottomSheet/BottomSheetContext.d.ts +0 -0
  144. package/types/components/BottomSheet/Footer.d.ts +0 -0
  145. package/types/components/BottomSheet/Header.d.ts +3 -2
  146. package/types/components/BottomSheet/ScrollView.d.ts +0 -0
  147. package/types/components/BottomSheet/StyledBottomSheet.d.ts +16 -2
  148. package/types/components/BottomSheet/index.d.ts +5 -1
  149. package/types/components/Box/StyledBox.d.ts +1 -1
  150. package/types/components/Box/config.d.ts +0 -0
  151. package/types/components/Box/index.d.ts +0 -0
  152. package/types/components/Box/types.d.ts +0 -0
  153. package/types/components/Button/Button.d.ts +0 -0
  154. package/types/components/Button/IconButton.d.ts +0 -0
  155. package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +0 -0
  156. package/types/components/Button/LoadingIndicator/index.d.ts +0 -0
  157. package/types/components/Button/StyledButton.d.ts +0 -0
  158. package/types/components/Button/UtilityButton/StyledUtilityButton.d.ts +0 -0
  159. package/types/components/Button/UtilityButton/index.d.ts +0 -0
  160. package/types/components/Button/index.d.ts +0 -0
  161. package/types/components/Calendar/CalendarRowItem.d.ts +0 -0
  162. package/types/components/Calendar/StyledCalendar.d.ts +0 -0
  163. package/types/components/Calendar/helpers.d.ts +0 -0
  164. package/types/components/Calendar/index.d.ts +0 -0
  165. package/types/components/Card/DataCard/StyledDataCard.d.ts +0 -0
  166. package/types/components/Card/DataCard/index.d.ts +0 -0
  167. package/types/components/Card/StyledCard.d.ts +0 -0
  168. package/types/components/Card/index.d.ts +0 -0
  169. package/types/components/Carousel/CardCarousel.d.ts +0 -0
  170. package/types/components/Carousel/CarouselItem.d.ts +0 -0
  171. package/types/components/Carousel/StyledCardCarousel.d.ts +0 -0
  172. package/types/components/Carousel/StyledCarousel.d.ts +0 -0
  173. package/types/components/Carousel/contants.d.ts +0 -0
  174. package/types/components/Carousel/index.d.ts +0 -0
  175. package/types/components/Carousel/types.d.ts +0 -0
  176. package/types/components/Checkbox/StyledCheckbox.d.ts +0 -0
  177. package/types/components/Checkbox/index.d.ts +0 -0
  178. package/types/components/Collapse/StyledCollapse.d.ts +0 -0
  179. package/types/components/Collapse/index.d.ts +0 -0
  180. package/types/components/ContentNavigator/StyledContentNavigator.d.ts +0 -0
  181. package/types/components/ContentNavigator/index.d.ts +0 -0
  182. package/types/components/DatePicker/DatePickerAndroid.d.ts +0 -0
  183. package/types/components/DatePicker/DatePickerCalendar.d.ts +0 -0
  184. package/types/components/DatePicker/DatePickerIOS.d.ts +0 -0
  185. package/types/components/DatePicker/StyledDatePicker.d.ts +0 -0
  186. package/types/components/DatePicker/index.d.ts +0 -0
  187. package/types/components/DatePicker/types.d.ts +0 -0
  188. package/types/components/Divider/StyledDivider.d.ts +0 -0
  189. package/types/components/Divider/index.d.ts +0 -0
  190. package/types/components/Drawer/DragableDrawer/helpers.d.ts +0 -0
  191. package/types/components/Drawer/DragableDrawer/index.d.ts +0 -0
  192. package/types/components/Drawer/StyledDrawer.d.ts +0 -0
  193. package/types/components/Drawer/index.d.ts +0 -0
  194. package/types/components/Empty/StyledEmpty.d.ts +0 -0
  195. package/types/components/Empty/index.d.ts +0 -0
  196. package/types/components/Error/StyledError.d.ts +0 -0
  197. package/types/components/Error/index.d.ts +0 -0
  198. package/types/components/FAB/ActionGroup/ActionItem.d.ts +0 -0
  199. package/types/components/FAB/ActionGroup/StyledActionGroup.d.ts +0 -0
  200. package/types/components/FAB/ActionGroup/StyledActionItem.d.ts +0 -0
  201. package/types/components/FAB/ActionGroup/index.d.ts +0 -0
  202. package/types/components/FAB/AnimatedFABIcon.d.ts +0 -0
  203. package/types/components/FAB/FAB.d.ts +0 -0
  204. package/types/components/FAB/StyledFAB.d.ts +0 -0
  205. package/types/components/FAB/index.d.ts +0 -0
  206. package/types/components/Icon/AnimatedIcon.d.ts +0 -0
  207. package/types/components/Icon/HeroIcon/index.d.ts +0 -0
  208. package/types/components/Icon/IconList.d.ts +0 -0
  209. package/types/components/Icon/index.d.ts +0 -0
  210. package/types/components/Icon/utils.d.ts +0 -0
  211. package/types/components/Image/index.d.ts +0 -0
  212. package/types/components/List/BasicListItem.d.ts +0 -0
  213. package/types/components/List/ListItem.d.ts +0 -0
  214. package/types/components/List/StyledBasicListItem.d.ts +0 -0
  215. package/types/components/List/StyledListItem.d.ts +0 -0
  216. package/types/components/List/index.d.ts +0 -0
  217. package/types/components/PageControl/StyledPageControl.d.ts +0 -0
  218. package/types/components/PageControl/index.d.ts +0 -0
  219. package/types/components/PinInput/PinCell.d.ts +0 -0
  220. package/types/components/PinInput/StyledPinInput.d.ts +0 -0
  221. package/types/components/PinInput/index.d.ts +0 -0
  222. package/types/components/Progress/ProgressBar.d.ts +0 -0
  223. package/types/components/Progress/ProgressCircle.d.ts +0 -0
  224. package/types/components/Progress/ProgressStep.d.ts +20 -0
  225. package/types/components/Progress/StyledProgressBar.d.ts +0 -0
  226. package/types/components/Progress/StyledProgressCircle.d.ts +0 -0
  227. package/types/components/Progress/StyledStep.d.ts +21 -0
  228. package/types/components/Progress/__tests__/index.spec.d.ts +0 -0
  229. package/types/components/Progress/constants.d.ts +0 -0
  230. package/types/components/Progress/index.d.ts +1 -0
  231. package/types/components/Progress/types.d.ts +0 -0
  232. package/types/components/Radio/Radio.d.ts +0 -0
  233. package/types/components/Radio/RadioGroup.d.ts +0 -0
  234. package/types/components/Radio/StyledRadio.d.ts +0 -0
  235. package/types/components/Radio/index.d.ts +0 -0
  236. package/types/components/Radio/types.d.ts +0 -0
  237. package/types/components/RefreshControl/index.d.ts +0 -0
  238. package/types/components/RichTextEditor/EditorEvent.d.ts +0 -0
  239. package/types/components/RichTextEditor/EditorToolbar.d.ts +0 -0
  240. package/types/components/RichTextEditor/MentionList.d.ts +0 -0
  241. package/types/components/RichTextEditor/RichTextEditor.d.ts +0 -0
  242. package/types/components/RichTextEditor/StyledRichTextEditor.d.ts +0 -0
  243. package/types/components/RichTextEditor/StyledToolbar.d.ts +0 -0
  244. package/types/components/RichTextEditor/__mocks__/heroEditorApp.d.ts +0 -0
  245. package/types/components/RichTextEditor/constants.d.ts +0 -0
  246. package/types/components/RichTextEditor/heroEditorApp.d.ts +0 -0
  247. package/types/components/RichTextEditor/index.d.ts +0 -0
  248. package/types/components/RichTextEditor/types.d.ts +0 -0
  249. package/types/components/RichTextEditor/utils/events.d.ts +0 -0
  250. package/types/components/RichTextEditor/utils/rnWebView.d.ts +0 -0
  251. package/types/components/Search/SearchOneLine.d.ts +60 -0
  252. package/types/components/Search/SearchSuffixIcon.d.ts +24 -0
  253. package/types/components/Search/SearchTwoLine.d.ts +31 -0
  254. package/types/components/Search/StyledSearch.d.ts +44 -0
  255. package/types/components/Search/index.d.ts +10 -0
  256. package/types/components/Search/utils.d.ts +8 -0
  257. package/types/components/SectionHeading/StyledHeading.d.ts +0 -0
  258. package/types/components/SectionHeading/index.d.ts +0 -0
  259. package/types/components/Select/BaseOptionList.d.ts +0 -0
  260. package/types/components/Select/Footer.d.ts +0 -0
  261. package/types/components/Select/MultiSelect/Option.d.ts +0 -0
  262. package/types/components/Select/MultiSelect/OptionList.d.ts +0 -0
  263. package/types/components/Select/MultiSelect/index.d.ts +0 -0
  264. package/types/components/Select/SingleSelect/Option.d.ts +0 -0
  265. package/types/components/Select/SingleSelect/OptionList.d.ts +0 -0
  266. package/types/components/Select/SingleSelect/StyledSingleSelect.d.ts +0 -0
  267. package/types/components/Select/SingleSelect/index.d.ts +0 -0
  268. package/types/components/Select/StyledSelect.d.ts +0 -0
  269. package/types/components/Select/helpers.d.ts +0 -0
  270. package/types/components/Select/index.d.ts +0 -0
  271. package/types/components/Select/types.d.ts +0 -0
  272. package/types/components/Skeleton/StyledSkeleton.d.ts +0 -0
  273. package/types/components/Skeleton/index.d.ts +0 -0
  274. package/types/components/Slider/index.d.ts +0 -0
  275. package/types/components/Spinner/AnimatedSpinner.d.ts +0 -0
  276. package/types/components/Spinner/StyledSpinner.d.ts +0 -0
  277. package/types/components/Spinner/index.d.ts +0 -0
  278. package/types/components/Success/StyledSuccess.d.ts +0 -0
  279. package/types/components/Success/index.d.ts +0 -0
  280. package/types/components/Swipeable/StyledSwipeable.d.ts +0 -0
  281. package/types/components/Swipeable/SwipeableAction.d.ts +0 -0
  282. package/types/components/Swipeable/index.d.ts +0 -0
  283. package/types/components/Switch/SelectorSwitch/Option.d.ts +0 -0
  284. package/types/components/Switch/SelectorSwitch/StyledSelectorSwitch.d.ts +0 -0
  285. package/types/components/Switch/SelectorSwitch/index.d.ts +0 -0
  286. package/types/components/Switch/StyledSwitch.d.ts +0 -0
  287. package/types/components/Switch/index.d.ts +0 -0
  288. package/types/components/Tabs/ActiveTabIndicator.d.ts +0 -0
  289. package/types/components/Tabs/SceneView.d.ts +0 -0
  290. package/types/components/Tabs/ScrollableTabs.d.ts +0 -0
  291. package/types/components/Tabs/StyledScrollableTabs.d.ts +0 -0
  292. package/types/components/Tabs/StyledTabs.d.ts +0 -0
  293. package/types/components/Tabs/TabWithBadge.d.ts +0 -0
  294. package/types/components/Tabs/index.d.ts +0 -0
  295. package/types/components/Tabs/useIsFocused.d.ts +0 -0
  296. package/types/components/Tabs/utils.d.ts +0 -0
  297. package/types/components/Tag/StyledTag.d.ts +0 -0
  298. package/types/components/Tag/index.d.ts +0 -0
  299. package/types/components/TextInput/StyledTextInput.d.ts +0 -0
  300. package/types/components/TextInput/index.d.ts +0 -0
  301. package/types/components/TimePicker/StyledTimePicker.d.ts +0 -0
  302. package/types/components/TimePicker/TimePickerAndroid.d.ts +0 -0
  303. package/types/components/TimePicker/TimePickerIOS.d.ts +0 -0
  304. package/types/components/TimePicker/index.d.ts +0 -0
  305. package/types/components/TimePicker/types.d.ts +0 -0
  306. package/types/components/Toast/StyledToast.d.ts +0 -0
  307. package/types/components/Toast/Toast.d.ts +0 -0
  308. package/types/components/Toast/ToastContainer.d.ts +0 -0
  309. package/types/components/Toast/ToastContext.d.ts +0 -0
  310. package/types/components/Toast/ToastProvider.d.ts +0 -0
  311. package/types/components/Toast/index.d.ts +0 -0
  312. package/types/components/Toast/types.d.ts +0 -0
  313. package/types/components/Toolbar/StyledToolbar.d.ts +0 -0
  314. package/types/components/Toolbar/ToolbarGroup.d.ts +0 -0
  315. package/types/components/Toolbar/ToolbarItem.d.ts +0 -0
  316. package/types/components/Toolbar/index.d.ts +0 -0
  317. package/types/components/Typography/Text/StyledText.d.ts +0 -0
  318. package/types/components/Typography/Text/index.d.ts +0 -0
  319. package/types/components/Typography/index.d.ts +0 -0
  320. package/types/index.d.ts +3 -2
  321. package/types/testHelpers/renderWithTheme.d.ts +0 -0
  322. package/types/theme/ThemeProvider.d.ts +0 -0
  323. package/types/theme/ThemeSwitcher.d.ts +1 -1
  324. package/types/theme/components/accordion.d.ts +0 -0
  325. package/types/theme/components/alert.d.ts +14 -5
  326. package/types/theme/components/attachment.d.ts +0 -0
  327. package/types/theme/components/avatar.d.ts +0 -0
  328. package/types/theme/components/badge.d.ts +21 -21
  329. package/types/theme/components/bottomNavigation.d.ts +0 -0
  330. package/types/theme/components/bottomSheet.d.ts +7 -0
  331. package/types/theme/components/button.d.ts +0 -0
  332. package/types/theme/components/calendar.d.ts +0 -0
  333. package/types/theme/components/card.d.ts +0 -0
  334. package/types/theme/components/cardCarousel.d.ts +0 -0
  335. package/types/theme/components/carousel.d.ts +0 -0
  336. package/types/theme/components/checkbox.d.ts +0 -0
  337. package/types/theme/components/contentNavigator.d.ts +0 -0
  338. package/types/theme/components/datePicker.d.ts +0 -0
  339. package/types/theme/components/divider.d.ts +0 -0
  340. package/types/theme/components/drawer.d.ts +0 -0
  341. package/types/theme/components/empty.d.ts +0 -0
  342. package/types/theme/components/error.d.ts +0 -0
  343. package/types/theme/components/fab.d.ts +0 -0
  344. package/types/theme/components/icon.d.ts +0 -0
  345. package/types/theme/components/image.d.ts +0 -0
  346. package/types/theme/components/list.d.ts +0 -0
  347. package/types/theme/components/pageControl.d.ts +0 -0
  348. package/types/theme/components/pinInput.d.ts +0 -0
  349. package/types/theme/components/progress.d.ts +9 -0
  350. package/types/theme/components/radio.d.ts +0 -0
  351. package/types/theme/components/refreshControl.d.ts +0 -0
  352. package/types/theme/components/richTextEditor.d.ts +0 -0
  353. package/types/theme/components/search.d.ts +38 -0
  354. package/types/theme/components/sectionHeading.d.ts +0 -0
  355. package/types/theme/components/select.d.ts +0 -0
  356. package/types/theme/components/skeleton.d.ts +0 -0
  357. package/types/theme/components/slider.d.ts +0 -0
  358. package/types/theme/components/spinner.d.ts +0 -0
  359. package/types/theme/components/success.d.ts +0 -0
  360. package/types/theme/components/swipeable.d.ts +0 -0
  361. package/types/theme/components/switch.d.ts +0 -0
  362. package/types/theme/components/tabs.d.ts +0 -0
  363. package/types/theme/components/tag.d.ts +0 -0
  364. package/types/theme/components/textInput.d.ts +0 -0
  365. package/types/theme/components/timePicker.d.ts +0 -0
  366. package/types/theme/components/toast.d.ts +0 -0
  367. package/types/theme/components/toolbar.d.ts +0 -0
  368. package/types/theme/components/typography.d.ts +0 -0
  369. package/types/theme/getTheme.d.ts +2 -0
  370. package/types/theme/global/borders.d.ts +0 -0
  371. package/types/theme/global/colors/eBens.d.ts +0 -0
  372. package/types/theme/global/colors/global.d.ts +0 -0
  373. package/types/theme/global/colors/globalDark.d.ts +0 -0
  374. package/types/theme/global/colors/jobs.d.ts +0 -0
  375. package/types/theme/global/colors/swag.d.ts +0 -0
  376. package/types/theme/global/colors/swagDark.d.ts +0 -0
  377. package/types/theme/global/colors/swagLightJobs.d.ts +47 -0
  378. package/types/theme/global/colors/types.d.ts +2 -0
  379. package/types/theme/global/colors/wallet.d.ts +0 -0
  380. package/types/theme/global/colors/work.d.ts +0 -0
  381. package/types/theme/global/index.d.ts +4 -1
  382. package/types/theme/global/scale.d.ts +0 -0
  383. package/types/theme/global/sizes.d.ts +0 -0
  384. package/types/theme/global/space.d.ts +0 -0
  385. package/types/theme/global/typography.d.ts +0 -0
  386. package/types/theme/index.d.ts +2 -2
  387. package/types/types.d.ts +0 -0
  388. package/types/utils/functions.d.ts +0 -0
  389. package/types/utils/helpers.d.ts +0 -0
  390. package/types/utils/hooks.d.ts +0 -0
  391. package/types/utils/scale.d.ts +0 -0
  392. package/types/components/Tabs/ScrollableTabsHeader.d.ts +0 -35
@@ -1,50 +1,73 @@
1
+ import type { ReactElement } from 'react';
1
2
  import React from 'react';
2
3
  import { View } from 'react-native';
3
- import type { ReactElement } from 'react';
4
+ import { noop } from '../../utils/functions';
4
5
  import Button from '../Button';
5
6
  import Divider from '../Divider';
6
7
  import Typography from '../Typography';
7
8
  import {
9
+ StyledFloatingHeaderWrapper,
8
10
  StyledHeader,
9
11
  StyledHeaderWrapper,
10
12
  StyledIconWrapper,
11
13
  } from './StyledBottomSheet';
12
- import { noop } from '../../utils/functions';
14
+ import Icon from '../Icon';
15
+ import { useTheme } from '../../theme';
13
16
 
14
17
  const Header = ({
15
18
  content,
16
19
  showDivider,
17
20
  onRequestClose = noop,
18
21
  showCloseButton,
22
+ variant = 'fixed',
19
23
  }: {
20
24
  content: string | ReactElement;
21
25
  showDivider: boolean;
22
26
  onRequestClose?: () => void;
23
27
  showCloseButton: boolean;
24
- }) => (
25
- <>
26
- <StyledHeaderWrapper>
27
- {typeof content === 'string' ? (
28
- <StyledHeader>
29
- <Typography.Body variant="regular-bold">{content}</Typography.Body>
30
- </StyledHeader>
31
- ) : (
32
- <View style={{ flex: 1 }}>{content}</View>
33
- )}
34
- {showCloseButton ? (
35
- <StyledIconWrapper>
36
- <Button.Icon
37
- icon="cancel"
38
- onPress={onRequestClose}
39
- intent="text"
40
- testID="bottom-sheet-close-icon"
41
- size="xsmall"
42
- />
43
- </StyledIconWrapper>
44
- ) : null}
45
- </StyledHeaderWrapper>
46
- {showDivider ? <Divider /> : null}
47
- </>
48
- );
28
+ variant?: 'fixed' | 'floating';
29
+ }) => {
30
+ const theme = useTheme();
31
+
32
+ return (
33
+ <>
34
+ <StyledHeaderWrapper>
35
+ {typeof content === 'string' ? (
36
+ <StyledHeader>
37
+ <Typography.Body variant="regular-bold">{content}</Typography.Body>
38
+ </StyledHeader>
39
+ ) : (
40
+ <View style={{ flex: 1 }}>{content}</View>
41
+ )}
42
+ {showCloseButton ? (
43
+ <StyledIconWrapper>
44
+ {variant === 'fixed' ? (
45
+ <Button.Icon
46
+ icon="cancel"
47
+ onPress={onRequestClose}
48
+ intent="text"
49
+ testID="bottom-sheet-close-icon"
50
+ size="xsmall"
51
+ />
52
+ ) : (
53
+ <StyledFloatingHeaderWrapper
54
+ onPress={onRequestClose}
55
+ testID="bottom-sheet-close-icon"
56
+ >
57
+ <Icon
58
+ icon="cancel"
59
+ style={{
60
+ fontSize: theme.__hd__.bottomSheet.sizes.floatingCloseIcon,
61
+ }}
62
+ />
63
+ </StyledFloatingHeaderWrapper>
64
+ )}
65
+ </StyledIconWrapper>
66
+ ) : null}
67
+ </StyledHeaderWrapper>
68
+ {showDivider ? <Divider /> : null}
69
+ </>
70
+ );
71
+ };
49
72
 
50
73
  export default Header;
@@ -1,4 +1,6 @@
1
1
  import styled from '@emotion/native';
2
+ import type { ComponentProps } from 'react';
3
+ import type { ViewProps } from 'react-native';
2
4
  import {
3
5
  Animated,
4
6
  KeyboardAvoidingView,
@@ -6,10 +8,9 @@ import {
6
8
  Pressable,
7
9
  SafeAreaView,
8
10
  StyleSheet,
11
+ TouchableOpacity,
9
12
  View,
10
13
  } from 'react-native';
11
- import type { ComponentProps } from 'react';
12
- import type { ViewProps } from 'react-native';
13
14
 
14
15
  const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
15
16
  const AnimatedSafeAreaView = Animated.createAnimatedComponent(SafeAreaView);
@@ -26,6 +27,23 @@ const StyledKeyboardAvoidingView = styled(
26
27
  flexDirection: 'column-reverse',
27
28
  }));
28
29
 
30
+ const StyledFloatingWrapper = styled(AnimatedSafeAreaView)(({ theme }) => ({
31
+ margin: theme.__hd__.bottomSheet.space.floatingContentMargin,
32
+ }));
33
+
34
+ const StyledFloatingBottomSheet = styled(Animated.View)(({ theme }) => ({
35
+ width: '100%',
36
+ shadowColor: theme.__hd__.bottomSheet.colors.shadow,
37
+ shadowOffset: theme.__hd__.bottomSheet.shadows.offset,
38
+ shadowOpacity: theme.__hd__.bottomSheet.shadows.opacity,
39
+ shadowRadius: theme.__hd__.bottomSheet.shadows.radius,
40
+ elevation: theme.__hd__.bottomSheet.shadows.elevation,
41
+ backgroundColor: theme.__hd__.bottomSheet.colors.background,
42
+ borderRadius: theme.__hd__.bottomSheet.radii.floating,
43
+ maxHeight: '100%',
44
+ padding: theme.__hd__.bottomSheet.space.floatingInnerPadding,
45
+ }));
46
+
29
47
  const StyledBottomSheet = styled(AnimatedSafeAreaView)<
30
48
  ComponentProps<typeof AnimatedSafeAreaView>
31
49
  >(({ theme }) => ({
@@ -70,20 +88,29 @@ const StyledFooter = styled(View)<ViewProps>(({ theme }) => ({
70
88
  }));
71
89
 
72
90
  const StyledIconWrapper = styled(View)<ViewProps>(({ theme }) => ({
73
- alignItems: 'center',
91
+ alignItems: 'flex-end',
74
92
  justifyContent: 'center',
75
93
  width: theme.__hd__.bottomSheet.sizes.closeIcon,
76
94
  height: theme.__hd__.bottomSheet.sizes.closeIcon,
77
95
  marginLeft: theme.__hd__.bottomSheet.space.closeIconMargin,
78
96
  }));
79
97
 
98
+ const StyledFloatingHeaderWrapper = styled(TouchableOpacity)(({ theme }) => ({
99
+ padding: theme.__hd__.bottomSheet.space.floatingHeaderIconPadding,
100
+ backgroundColor: theme.__hd__.bottomSheet.colors.floatingHeaderIconBackground,
101
+ borderRadius: theme.__hd__.bottomSheet.radii.floatingHeaderIcon,
102
+ }));
103
+
80
104
  export {
81
- StyledWrapper,
82
- StyledHeaderWrapper,
83
- StyledHeader,
105
+ StyledBackdrop,
106
+ StyledBottomSheet,
107
+ StyledFloatingBottomSheet,
108
+ StyledFloatingHeaderWrapper,
109
+ StyledFloatingWrapper,
84
110
  StyledFooter,
111
+ StyledHeader,
112
+ StyledHeaderWrapper,
85
113
  StyledIconWrapper,
86
- StyledBottomSheet,
87
- StyledBackdrop,
88
114
  StyledKeyboardAvoidingView,
115
+ StyledWrapper,
89
116
  };
@@ -232,7 +232,7 @@ exports[`BottomSheet renders correctly with open state 1`] = `
232
232
  style={
233
233
  [
234
234
  {
235
- "alignItems": "center",
235
+ "alignItems": "flex-end",
236
236
  "height": 48,
237
237
  "justifyContent": "center",
238
238
  "marginLeft": 12,
@@ -398,3 +398,354 @@ exports[`BottomSheet renders correctly with open state 1`] = `
398
398
  />
399
399
  </View>
400
400
  `;
401
+
402
+ exports[`BottomSheet renders floating BottomSheet correctly 1`] = `
403
+ <View
404
+ style={
405
+ {
406
+ "flex": 1,
407
+ }
408
+ }
409
+ >
410
+ <Modal
411
+ hardwareAccelerated={false}
412
+ onRequestClose={[MockFunction]}
413
+ supportedOrientations={
414
+ [
415
+ "portrait",
416
+ ]
417
+ }
418
+ transparent={true}
419
+ visible={true}
420
+ >
421
+ <View
422
+ pointerEvents="box-none"
423
+ style={
424
+ [
425
+ {
426
+ "bottom": 0,
427
+ "flexDirection": "column-reverse",
428
+ "left": 0,
429
+ "position": "absolute",
430
+ "right": 0,
431
+ "top": 0,
432
+ },
433
+ undefined,
434
+ ]
435
+ }
436
+ >
437
+ <View
438
+ onLayout={[Function]}
439
+ style={
440
+ [
441
+ [
442
+ {
443
+ "flex": 1,
444
+ "flexDirection": "column-reverse",
445
+ },
446
+ undefined,
447
+ ],
448
+ {
449
+ "paddingBottom": 0,
450
+ },
451
+ ]
452
+ }
453
+ >
454
+ <View
455
+ accessibilityState={
456
+ {
457
+ "busy": undefined,
458
+ "checked": undefined,
459
+ "disabled": undefined,
460
+ "expanded": undefined,
461
+ "selected": undefined,
462
+ }
463
+ }
464
+ accessibilityValue={
465
+ {
466
+ "max": undefined,
467
+ "min": undefined,
468
+ "now": undefined,
469
+ "text": undefined,
470
+ }
471
+ }
472
+ accessible={true}
473
+ collapsable={false}
474
+ focusable={true}
475
+ onBlur={[Function]}
476
+ onClick={[Function]}
477
+ onFocus={[Function]}
478
+ onResponderGrant={[Function]}
479
+ onResponderMove={[Function]}
480
+ onResponderRelease={[Function]}
481
+ onResponderTerminate={[Function]}
482
+ onResponderTerminationRequest={[Function]}
483
+ onStartShouldSetResponder={[Function]}
484
+ style={
485
+ {
486
+ "backgroundColor": "#000000",
487
+ "bottom": 0,
488
+ "left": 0,
489
+ "opacity": 0,
490
+ "position": "absolute",
491
+ "right": 0,
492
+ "top": 0,
493
+ }
494
+ }
495
+ />
496
+ <RCTSafeAreaView
497
+ collapsable={false}
498
+ style={
499
+ {
500
+ "margin": 16,
501
+ }
502
+ }
503
+ >
504
+ <View
505
+ collapsable={false}
506
+ style={
507
+ {
508
+ "backgroundColor": "#ffffff",
509
+ "borderRadius": 32,
510
+ "elevation": 10,
511
+ "maxHeight": "100%",
512
+ "padding": 8,
513
+ "shadowColor": "#001f23",
514
+ "shadowOffset": {
515
+ "height": 3,
516
+ "width": 0,
517
+ },
518
+ "shadowOpacity": 0.4,
519
+ "shadowRadius": 16,
520
+ "transform": [
521
+ {
522
+ "scaleY": 1,
523
+ },
524
+ {
525
+ "translateY": 1334,
526
+ },
527
+ ],
528
+ "width": "100%",
529
+ }
530
+ }
531
+ >
532
+ <View
533
+ style={
534
+ [
535
+ {
536
+ "flexDirection": "row",
537
+ "paddingHorizontal": 16,
538
+ "paddingVertical": 8,
539
+ },
540
+ undefined,
541
+ ]
542
+ }
543
+ >
544
+ <View
545
+ style={
546
+ [
547
+ {
548
+ "flex": 1,
549
+ "justifyContent": "center",
550
+ },
551
+ undefined,
552
+ ]
553
+ }
554
+ >
555
+ <Text
556
+ allowFontScaling={false}
557
+ style={
558
+ [
559
+ {
560
+ "color": "#001f23",
561
+ "fontFamily": "BeVietnamPro-SemiBold",
562
+ "fontSize": 16,
563
+ "letterSpacing": 0.24,
564
+ "lineHeight": 24,
565
+ },
566
+ undefined,
567
+ ]
568
+ }
569
+ themeIntent="body"
570
+ themeTypeface="neutral"
571
+ themeVariant="regular-bold"
572
+ >
573
+ Title
574
+ </Text>
575
+ </View>
576
+ <View
577
+ style={
578
+ [
579
+ {
580
+ "alignItems": "flex-end",
581
+ "height": 48,
582
+ "justifyContent": "center",
583
+ "marginLeft": 12,
584
+ "width": 48,
585
+ },
586
+ undefined,
587
+ ]
588
+ }
589
+ >
590
+ <View
591
+ accessibilityState={
592
+ {
593
+ "busy": undefined,
594
+ "checked": undefined,
595
+ "disabled": undefined,
596
+ "expanded": undefined,
597
+ "selected": undefined,
598
+ }
599
+ }
600
+ accessibilityValue={
601
+ {
602
+ "max": undefined,
603
+ "min": undefined,
604
+ "now": undefined,
605
+ "text": undefined,
606
+ }
607
+ }
608
+ accessible={true}
609
+ collapsable={false}
610
+ focusable={true}
611
+ onClick={[Function]}
612
+ onResponderGrant={[Function]}
613
+ onResponderMove={[Function]}
614
+ onResponderRelease={[Function]}
615
+ onResponderTerminate={[Function]}
616
+ onResponderTerminationRequest={[Function]}
617
+ onStartShouldSetResponder={[Function]}
618
+ style={
619
+ {
620
+ "backgroundColor": "#dadbde",
621
+ "borderRadius": 999,
622
+ "opacity": 1,
623
+ "padding": 8,
624
+ }
625
+ }
626
+ testID="bottom-sheet-close-icon"
627
+ >
628
+ <HeroIcon
629
+ name="cancel"
630
+ style={
631
+ [
632
+ {
633
+ "color": "#001f23",
634
+ "fontSize": 24,
635
+ },
636
+ {
637
+ "fontSize": 12,
638
+ },
639
+ ]
640
+ }
641
+ themeIntent="text"
642
+ themeSize="medium"
643
+ />
644
+ </View>
645
+ </View>
646
+ </View>
647
+ <Text>
648
+ Content
649
+ </Text>
650
+ <View>
651
+ <View
652
+ style={
653
+ [
654
+ {
655
+ "alignItems": "center",
656
+ "flexDirection": "row",
657
+ "justifyContent": "flex-end",
658
+ "paddingHorizontal": 12,
659
+ "paddingVertical": 2,
660
+ },
661
+ undefined,
662
+ ]
663
+ }
664
+ >
665
+ <View
666
+ accessibilityRole="button"
667
+ accessibilityState={
668
+ {
669
+ "busy": undefined,
670
+ "checked": undefined,
671
+ "disabled": undefined,
672
+ "expanded": undefined,
673
+ "selected": undefined,
674
+ }
675
+ }
676
+ accessibilityValue={
677
+ {
678
+ "max": undefined,
679
+ "min": undefined,
680
+ "now": undefined,
681
+ "text": undefined,
682
+ }
683
+ }
684
+ accessible={true}
685
+ collapsable={false}
686
+ focusable={false}
687
+ onClick={[Function]}
688
+ onResponderGrant={[Function]}
689
+ onResponderMove={[Function]}
690
+ onResponderRelease={[Function]}
691
+ onResponderTerminate={[Function]}
692
+ onResponderTerminationRequest={[Function]}
693
+ onStartShouldSetResponder={[Function]}
694
+ style={
695
+ {
696
+ "opacity": 1,
697
+ }
698
+ }
699
+ >
700
+ <View
701
+ style={
702
+ [
703
+ {},
704
+ ]
705
+ }
706
+ >
707
+ <Text
708
+ style={
709
+ [
710
+ {
711
+ "color": "#007AFF",
712
+ "fontSize": 18,
713
+ "margin": 8,
714
+ "textAlign": "center",
715
+ },
716
+ ]
717
+ }
718
+ >
719
+ Footer CTA
720
+ </Text>
721
+ </View>
722
+ </View>
723
+ </View>
724
+ </View>
725
+ </View>
726
+ </RCTSafeAreaView>
727
+ </View>
728
+ </View>
729
+ </Modal>
730
+ <View
731
+ pointerEvents="box-none"
732
+ position="bottom"
733
+ style={
734
+ [
735
+ {
736
+ "bottom": 0,
737
+ "elevation": 9999,
738
+ "flexDirection": "column-reverse",
739
+ "left": 0,
740
+ "paddingHorizontal": 24,
741
+ "paddingVertical": 16,
742
+ "position": "absolute",
743
+ "right": 0,
744
+ "top": 0,
745
+ },
746
+ undefined,
747
+ ]
748
+ }
749
+ />
750
+ </View>
751
+ `;
@@ -26,6 +26,25 @@ describe('BottomSheet', () => {
26
26
  expect(getByText('Content')).toBeDefined();
27
27
  });
28
28
 
29
+ it('renders floating BottomSheet correctly', () => {
30
+ const { toJSON, getByText } = renderWithTheme(
31
+ <BottomSheet
32
+ variant="floating"
33
+ open
34
+ header="Title"
35
+ footer={<Button title="Footer CTA" />}
36
+ onRequestClose={jest.fn()}
37
+ >
38
+ <Content />
39
+ </BottomSheet>
40
+ );
41
+
42
+ expect(toJSON()).toMatchSnapshot();
43
+ expect(getByText('Title')).toBeDefined();
44
+ expect(getByText('Footer CTA')).toBeDefined();
45
+ expect(getByText('Content')).toBeDefined();
46
+ });
47
+
29
48
  it('renders correctly with close state', () => {
30
49
  const { toJSON } = renderWithTheme(
31
50
  <BottomSheet
@@ -86,6 +105,17 @@ describe('BottomSheet', () => {
86
105
  expect(getByText('Content')).toBeDefined();
87
106
  });
88
107
 
108
+ it('renders floating header correctly', () => {
109
+ const { getByText } = renderWithTheme(
110
+ <BottomSheet open header="Title" variant="floating">
111
+ <Content />
112
+ </BottomSheet>
113
+ );
114
+
115
+ expect(getByText('Title')).toBeDefined();
116
+ expect(getByText('Content')).toBeDefined();
117
+ });
118
+
89
119
  it('renders custom header correctly', () => {
90
120
  const { getByText } = renderWithTheme(
91
121
  <BottomSheet open header={<Text>Custom Title</Text>}>
@@ -12,13 +12,15 @@ import {
12
12
  import BottomSheetContext from './BottomSheetContext';
13
13
  import Footer from './Footer';
14
14
  import Header from './Header';
15
+ import ScrollView from './ScrollView';
15
16
  import {
16
17
  StyledBackdrop,
17
18
  StyledBottomSheet,
19
+ StyledFloatingBottomSheet,
20
+ StyledFloatingWrapper,
18
21
  StyledKeyboardAvoidingView,
19
22
  StyledWrapper,
20
23
  } from './StyledBottomSheet';
21
- import ScrollView from './ScrollView';
22
24
 
23
25
  interface BottomSheetProps {
24
26
  /**
@@ -82,6 +84,10 @@ interface BottomSheetProps {
82
84
  * Supported orientations for the BottomSheet modal, iOS only.
83
85
  */
84
86
  supportedOrientations?: ('portrait' | 'landscape')[];
87
+ /**
88
+ * Variant of the bottom sheet.
89
+ */
90
+ variant?: 'fixed' | 'floating';
85
91
  }
86
92
 
87
93
  const BottomSheet = ({
@@ -100,6 +106,7 @@ const BottomSheet = ({
100
106
  testID,
101
107
  keyboardAvoidingViewProps = {},
102
108
  supportedOrientations = ['portrait'],
109
+ variant = 'fixed',
103
110
  }: BottomSheetProps): JSX.Element => {
104
111
  const { height } = Dimensions.get('window');
105
112
 
@@ -159,6 +166,12 @@ const BottomSheet = ({
159
166
  [setInternalShowDivider]
160
167
  );
161
168
 
169
+ const BottomSheetWrapperComponent =
170
+ variant === 'fixed' ? React.Fragment : StyledFloatingWrapper;
171
+
172
+ const BottomSheetComponent =
173
+ variant === 'fixed' ? StyledBottomSheet : StyledFloatingBottomSheet;
174
+
162
175
  return (
163
176
  <Modal
164
177
  visible={visible}
@@ -177,35 +190,39 @@ const BottomSheet = ({
177
190
  style={{ opacity: interpolateOpacity }}
178
191
  onPress={onRequestClose}
179
192
  />
180
- <StyledBottomSheet
181
- style={[
182
- style,
183
- {
184
- transform: [
185
- { scaleY: height > 0 ? 1 : 0 },
186
- {
187
- translateY: interpolateY,
188
- },
189
- ],
190
- },
191
- ]}
192
- >
193
- {header !== undefined ? (
194
- <Header
195
- content={header}
196
- showDivider={internalShowDivider}
197
- onRequestClose={onRequestClose}
198
- showCloseButton={showCloseButton}
199
- />
200
- ) : null}
201
- <BottomSheetContext.Provider value={BottomSheetContextValue}>
202
- {children}
203
- </BottomSheetContext.Provider>
204
-
205
- {footer ? (
206
- <Footer showDivider={showDivider}>{footer}</Footer>
207
- ) : null}
208
- </StyledBottomSheet>
193
+ <BottomSheetWrapperComponent>
194
+ <BottomSheetComponent
195
+ style={[
196
+ style,
197
+ {
198
+ transform: [
199
+ { scaleY: height > 0 ? 1 : 0 },
200
+ {
201
+ translateY: interpolateY,
202
+ },
203
+ ],
204
+ },
205
+ ]}
206
+ >
207
+ {header !== undefined ? (
208
+ <Header
209
+ variant={variant}
210
+ content={header}
211
+ showDivider={internalShowDivider}
212
+ onRequestClose={onRequestClose}
213
+ showCloseButton={showCloseButton}
214
+ />
215
+ ) : null}
216
+
217
+ <BottomSheetContext.Provider value={BottomSheetContextValue}>
218
+ {children}
219
+ </BottomSheetContext.Provider>
220
+
221
+ {footer ? (
222
+ <Footer showDivider={showDivider}>{footer}</Footer>
223
+ ) : null}
224
+ </BottomSheetComponent>
225
+ </BottomSheetWrapperComponent>
209
226
  </StyledKeyboardAvoidingView>
210
227
  </StyledWrapper>
211
228
  </Modal>