@hero-design/rn 8.99.4 → 8.100.0-alpha.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 (626) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/coverage/clover.xml +4923 -0
  3. package/coverage/coverage-final.json +378 -0
  4. package/coverage/lcov-report/base.css +224 -0
  5. package/coverage/lcov-report/block-navigation.js +87 -0
  6. package/coverage/lcov-report/favicon.png +0 -0
  7. package/coverage/lcov-report/index.html +1511 -0
  8. package/coverage/lcov-report/niceNumbers.ts.html +328 -0
  9. package/coverage/lcov-report/prettify.css +1 -0
  10. package/coverage/lcov-report/prettify.js +2 -0
  11. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  12. package/coverage/lcov-report/sorter.js +196 -0
  13. package/coverage/lcov-report/src/components/Accordion/AccordionItem.tsx.html +232 -0
  14. package/coverage/lcov-report/src/components/Accordion/StyledAccordion.tsx.html +172 -0
  15. package/coverage/lcov-report/src/components/Accordion/index.html +146 -0
  16. package/coverage/lcov-report/src/components/Accordion/index.tsx.html +334 -0
  17. package/coverage/lcov-report/src/components/Alert/StyledAlert.tsx.html +304 -0
  18. package/coverage/lcov-report/src/components/Alert/index.html +131 -0
  19. package/coverage/lcov-report/src/components/Alert/index.tsx.html +556 -0
  20. package/coverage/lcov-report/src/components/AnimatedScroller/AnimatedFAB.tsx.html +550 -0
  21. package/coverage/lcov-report/src/components/AnimatedScroller/AnimatedScrollable.tsx.html +295 -0
  22. package/coverage/lcov-report/src/components/AnimatedScroller/FlatListWithFAB.tsx.html +154 -0
  23. package/coverage/lcov-report/src/components/AnimatedScroller/ScrollViewWithFAB.tsx.html +148 -0
  24. package/coverage/lcov-report/src/components/AnimatedScroller/SectionListWithFAB.tsx.html +163 -0
  25. package/coverage/lcov-report/src/components/AnimatedScroller/index.html +191 -0
  26. package/coverage/lcov-report/src/components/AnimatedScroller/index.tsx.html +100 -0
  27. package/coverage/lcov-report/src/components/AppCue/StyledAppCue.tsx.html +301 -0
  28. package/coverage/lcov-report/src/components/AppCue/index.html +146 -0
  29. package/coverage/lcov-report/src/components/AppCue/index.tsx.html +658 -0
  30. package/coverage/lcov-report/src/components/AppCue/utils.ts.html +604 -0
  31. package/coverage/lcov-report/src/components/Attachment/StyledAttachment.tsx.html +217 -0
  32. package/coverage/lcov-report/src/components/Attachment/index.html +131 -0
  33. package/coverage/lcov-report/src/components/Attachment/index.tsx.html +322 -0
  34. package/coverage/lcov-report/src/components/Avatar/Avatar.tsx.html +367 -0
  35. package/coverage/lcov-report/src/components/Avatar/AvatarStack/StyledAvatarStack.tsx.html +334 -0
  36. package/coverage/lcov-report/src/components/Avatar/AvatarStack/index.html +146 -0
  37. package/coverage/lcov-report/src/components/Avatar/AvatarStack/index.tsx.html +523 -0
  38. package/coverage/lcov-report/src/components/Avatar/AvatarStack/utils.ts.html +148 -0
  39. package/coverage/lcov-report/src/components/Avatar/StyledAvatar.tsx.html +286 -0
  40. package/coverage/lcov-report/src/components/Avatar/index.html +146 -0
  41. package/coverage/lcov-report/src/components/Avatar/index.ts.html +103 -0
  42. package/coverage/lcov-report/src/components/Badge/Count.tsx.html +265 -0
  43. package/coverage/lcov-report/src/components/Badge/Status.tsx.html +322 -0
  44. package/coverage/lcov-report/src/components/Badge/StyledBadge.tsx.html +397 -0
  45. package/coverage/lcov-report/src/components/Badge/constants.ts.html +88 -0
  46. package/coverage/lcov-report/src/components/Badge/index.html +176 -0
  47. package/coverage/lcov-report/src/components/Badge/index.tsx.html +358 -0
  48. package/coverage/lcov-report/src/components/BottomNavigation/StyledBottomNavigation.tsx.html +259 -0
  49. package/coverage/lcov-report/src/components/BottomNavigation/index.html +131 -0
  50. package/coverage/lcov-report/src/components/BottomNavigation/index.tsx.html +571 -0
  51. package/coverage/lcov-report/src/components/BottomSheet/BottomSheetContext.ts.html +118 -0
  52. package/coverage/lcov-report/src/components/BottomSheet/Footer.tsx.html +145 -0
  53. package/coverage/lcov-report/src/components/BottomSheet/Header.tsx.html +304 -0
  54. package/coverage/lcov-report/src/components/BottomSheet/ScrollView.tsx.html +256 -0
  55. package/coverage/lcov-report/src/components/BottomSheet/StyledBottomSheet.tsx.html +403 -0
  56. package/coverage/lcov-report/src/components/BottomSheet/index.html +191 -0
  57. package/coverage/lcov-report/src/components/BottomSheet/index.tsx.html +793 -0
  58. package/coverage/lcov-report/src/components/Box/StyledBox.tsx.html +250 -0
  59. package/coverage/lcov-report/src/components/Box/config.ts.html +700 -0
  60. package/coverage/lcov-report/src/components/Box/index.html +146 -0
  61. package/coverage/lcov-report/src/components/Box/index.tsx.html +124 -0
  62. package/coverage/lcov-report/src/components/Button/Button.tsx.html +1045 -0
  63. package/coverage/lcov-report/src/components/Button/IconButton.tsx.html +292 -0
  64. package/coverage/lcov-report/src/components/Button/LoadingIndicator/StyledLoadingIndicator.tsx.html +307 -0
  65. package/coverage/lcov-report/src/components/Button/LoadingIndicator/index.html +131 -0
  66. package/coverage/lcov-report/src/components/Button/LoadingIndicator/index.tsx.html +511 -0
  67. package/coverage/lcov-report/src/components/Button/StyledButton.tsx.html +1561 -0
  68. package/coverage/lcov-report/src/components/Button/UtilityButton/StyledUtilityButton.tsx.html +160 -0
  69. package/coverage/lcov-report/src/components/Button/UtilityButton/index.html +131 -0
  70. package/coverage/lcov-report/src/components/Button/UtilityButton/index.tsx.html +259 -0
  71. package/coverage/lcov-report/src/components/Button/index.html +161 -0
  72. package/coverage/lcov-report/src/components/Button/index.tsx.html +136 -0
  73. package/coverage/lcov-report/src/components/Calendar/CalendarRange.tsx.html +1111 -0
  74. package/coverage/lcov-report/src/components/Calendar/CalendarRangeConnector.tsx.html +289 -0
  75. package/coverage/lcov-report/src/components/Calendar/CalendarRowItem.tsx.html +286 -0
  76. package/coverage/lcov-report/src/components/Calendar/StyledCalendar.tsx.html +397 -0
  77. package/coverage/lcov-report/src/components/Calendar/helpers.ts.html +394 -0
  78. package/coverage/lcov-report/src/components/Calendar/index.html +191 -0
  79. package/coverage/lcov-report/src/components/Calendar/index.tsx.html +1171 -0
  80. package/coverage/lcov-report/src/components/Card/DataCard/StyledDataCard.tsx.html +160 -0
  81. package/coverage/lcov-report/src/components/Card/DataCard/index.html +131 -0
  82. package/coverage/lcov-report/src/components/Card/DataCard/index.tsx.html +193 -0
  83. package/coverage/lcov-report/src/components/Card/StyledCard.tsx.html +160 -0
  84. package/coverage/lcov-report/src/components/Card/index.html +131 -0
  85. package/coverage/lcov-report/src/components/Card/index.tsx.html +232 -0
  86. package/coverage/lcov-report/src/components/Carousel/CardCarousel.tsx.html +844 -0
  87. package/coverage/lcov-report/src/components/Carousel/CarouselItem.tsx.html +313 -0
  88. package/coverage/lcov-report/src/components/Carousel/StyledCardCarousel.tsx.html +172 -0
  89. package/coverage/lcov-report/src/components/Carousel/StyledCarousel.tsx.html +325 -0
  90. package/coverage/lcov-report/src/components/Carousel/contants.ts.html +115 -0
  91. package/coverage/lcov-report/src/components/Carousel/index.html +191 -0
  92. package/coverage/lcov-report/src/components/Carousel/index.tsx.html +775 -0
  93. package/coverage/lcov-report/src/components/Chart/ChartSelect/StyledChartSelect.tsx.html +112 -0
  94. package/coverage/lcov-report/src/components/Chart/ChartSelect/index.html +131 -0
  95. package/coverage/lcov-report/src/components/Chart/ChartSelect/index.tsx.html +496 -0
  96. package/coverage/lcov-report/src/components/Chart/ColumnChart/ColumnChartContent.tsx.html +337 -0
  97. package/coverage/lcov-report/src/components/Chart/ColumnChart/Segment.tsx.html +283 -0
  98. package/coverage/lcov-report/src/components/Chart/ColumnChart/StackedSegment.tsx.html +382 -0
  99. package/coverage/lcov-report/src/components/Chart/ColumnChart/StyledColumnChart.tsx.html +112 -0
  100. package/coverage/lcov-report/src/components/Chart/ColumnChart/index.html +176 -0
  101. package/coverage/lcov-report/src/components/Chart/ColumnChart/index.tsx.html +733 -0
  102. package/coverage/lcov-report/src/components/Chart/Line/Line.tsx.html +328 -0
  103. package/coverage/lcov-report/src/components/Chart/Line/index.html +131 -0
  104. package/coverage/lcov-report/src/components/Chart/Line/index.tsx.html +514 -0
  105. package/coverage/lcov-report/src/components/Chart/StyledChart.tsx.html +133 -0
  106. package/coverage/lcov-report/src/components/Chart/index.html +131 -0
  107. package/coverage/lcov-report/src/components/Chart/index.tsx.html +124 -0
  108. package/coverage/lcov-report/src/components/Chart/shared/AxisLabel.tsx.html +160 -0
  109. package/coverage/lcov-report/src/components/Chart/shared/ChartFrame.tsx.html +478 -0
  110. package/coverage/lcov-report/src/components/Chart/shared/ChartHeader.tsx.html +142 -0
  111. package/coverage/lcov-report/src/components/Chart/shared/EmptyState.tsx.html +226 -0
  112. package/coverage/lcov-report/src/components/Chart/shared/XAxis.tsx.html +292 -0
  113. package/coverage/lcov-report/src/components/Chart/shared/XAxisGrid.tsx.html +211 -0
  114. package/coverage/lcov-report/src/components/Chart/shared/YAxis.tsx.html +397 -0
  115. package/coverage/lcov-report/src/components/Chart/shared/YAxisGrid.tsx.html +259 -0
  116. package/coverage/lcov-report/src/components/Chart/shared/constants.ts.html +91 -0
  117. package/coverage/lcov-report/src/components/Chart/shared/hooks/index.html +161 -0
  118. package/coverage/lcov-report/src/components/Chart/shared/hooks/useColorScale.ts.html +160 -0
  119. package/coverage/lcov-report/src/components/Chart/shared/hooks/useGenerateTicks.ts.html +166 -0
  120. package/coverage/lcov-report/src/components/Chart/shared/hooks/useScaleBandX.ts.html +136 -0
  121. package/coverage/lcov-report/src/components/Chart/shared/hooks/useScaleLinearY.ts.html +175 -0
  122. package/coverage/lcov-report/src/components/Chart/shared/index.html +251 -0
  123. package/coverage/lcov-report/src/components/Chart/shared/niceNumbers.ts.html +289 -0
  124. package/coverage/lcov-report/src/components/Checkbox/StyledCheckbox.tsx.html +217 -0
  125. package/coverage/lcov-report/src/components/Checkbox/index.html +131 -0
  126. package/coverage/lcov-report/src/components/Checkbox/index.tsx.html +448 -0
  127. package/coverage/lcov-report/src/components/Chip/StyledChip.tsx.html +445 -0
  128. package/coverage/lcov-report/src/components/Chip/index.html +131 -0
  129. package/coverage/lcov-report/src/components/Chip/index.tsx.html +415 -0
  130. package/coverage/lcov-report/src/components/Collapse/StyledCollapse.tsx.html +157 -0
  131. package/coverage/lcov-report/src/components/Collapse/index.html +131 -0
  132. package/coverage/lcov-report/src/components/Collapse/index.tsx.html +370 -0
  133. package/coverage/lcov-report/src/components/ContentNavigator/StyledContentNavigator.tsx.html +115 -0
  134. package/coverage/lcov-report/src/components/ContentNavigator/index.html +131 -0
  135. package/coverage/lcov-report/src/components/ContentNavigator/index.tsx.html +397 -0
  136. package/coverage/lcov-report/src/components/DatePicker/DatePickerAndroid.tsx.html +340 -0
  137. package/coverage/lcov-report/src/components/DatePicker/DatePickerCalendar.tsx.html +571 -0
  138. package/coverage/lcov-report/src/components/DatePicker/DatePickerIOS.tsx.html +361 -0
  139. package/coverage/lcov-report/src/components/DatePicker/Dialog/AndroidDialog.tsx.html +289 -0
  140. package/coverage/lcov-report/src/components/DatePicker/Dialog/IOSDialog.tsx.html +358 -0
  141. package/coverage/lcov-report/src/components/DatePicker/Dialog/index.html +131 -0
  142. package/coverage/lcov-report/src/components/DatePicker/StyledDatePicker.tsx.html +112 -0
  143. package/coverage/lcov-report/src/components/DatePicker/hooks/index.html +146 -0
  144. package/coverage/lcov-report/src/components/DatePicker/hooks/useCalculateDate.tsx.html +187 -0
  145. package/coverage/lcov-report/src/components/DatePicker/hooks/useFormatDate.ts.html +160 -0
  146. package/coverage/lcov-report/src/components/DatePicker/hooks/utils.ts.html +175 -0
  147. package/coverage/lcov-report/src/components/DatePicker/index.html +176 -0
  148. package/coverage/lcov-report/src/components/DatePicker/index.tsx.html +175 -0
  149. package/coverage/lcov-report/src/components/Divider/StyledDivider.tsx.html +169 -0
  150. package/coverage/lcov-report/src/components/Divider/index.html +131 -0
  151. package/coverage/lcov-report/src/components/Divider/index.tsx.html +205 -0
  152. package/coverage/lcov-report/src/components/Drawer/DragableDrawer/helpers.ts.html +223 -0
  153. package/coverage/lcov-report/src/components/Drawer/DragableDrawer/index.html +131 -0
  154. package/coverage/lcov-report/src/components/Drawer/DragableDrawer/index.tsx.html +697 -0
  155. package/coverage/lcov-report/src/components/Drawer/StyledDrawer.tsx.html +337 -0
  156. package/coverage/lcov-report/src/components/Drawer/index.html +131 -0
  157. package/coverage/lcov-report/src/components/Drawer/index.tsx.html +376 -0
  158. package/coverage/lcov-report/src/components/FAB/ActionGroup/ActionItem.tsx.html +313 -0
  159. package/coverage/lcov-report/src/components/FAB/ActionGroup/StyledActionGroup.tsx.html +289 -0
  160. package/coverage/lcov-report/src/components/FAB/ActionGroup/StyledActionItem.tsx.html +175 -0
  161. package/coverage/lcov-report/src/components/FAB/ActionGroup/index.html +161 -0
  162. package/coverage/lcov-report/src/components/FAB/ActionGroup/index.tsx.html +715 -0
  163. package/coverage/lcov-report/src/components/FAB/AnimatedFABIcon.tsx.html +226 -0
  164. package/coverage/lcov-report/src/components/FAB/FAB.tsx.html +871 -0
  165. package/coverage/lcov-report/src/components/FAB/Pair/StyledFAB.tsx.html +142 -0
  166. package/coverage/lcov-report/src/components/FAB/Pair/index.html +131 -0
  167. package/coverage/lcov-report/src/components/FAB/Pair/index.tsx.html +223 -0
  168. package/coverage/lcov-report/src/components/FAB/StyledFAB.tsx.html +229 -0
  169. package/coverage/lcov-report/src/components/FAB/index.html +161 -0
  170. package/coverage/lcov-report/src/components/FAB/index.tsx.html +109 -0
  171. package/coverage/lcov-report/src/components/FloatingIsland/StyledFloatingIsland.tsx.html +181 -0
  172. package/coverage/lcov-report/src/components/FloatingIsland/index.html +131 -0
  173. package/coverage/lcov-report/src/components/FloatingIsland/index.tsx.html +367 -0
  174. package/coverage/lcov-report/src/components/HeroDesignProvider/index.html +116 -0
  175. package/coverage/lcov-report/src/components/HeroDesignProvider/index.tsx.html +166 -0
  176. package/coverage/lcov-report/src/components/Icon/AnimatedIcon.tsx.html +226 -0
  177. package/coverage/lcov-report/src/components/Icon/HeroIcon/index.html +116 -0
  178. package/coverage/lcov-report/src/components/Icon/HeroIcon/index.tsx.html +238 -0
  179. package/coverage/lcov-report/src/components/Icon/IconList.ts.html +1486 -0
  180. package/coverage/lcov-report/src/components/Icon/index.html +161 -0
  181. package/coverage/lcov-report/src/components/Icon/index.tsx.html +412 -0
  182. package/coverage/lcov-report/src/components/Icon/utils.ts.html +103 -0
  183. package/coverage/lcov-report/src/components/Image/index.html +116 -0
  184. package/coverage/lcov-report/src/components/Image/index.tsx.html +238 -0
  185. package/coverage/lcov-report/src/components/List/BasicListItem.tsx.html +442 -0
  186. package/coverage/lcov-report/src/components/List/ListItem.tsx.html +565 -0
  187. package/coverage/lcov-report/src/components/List/StyledBasicListItem.tsx.html +187 -0
  188. package/coverage/lcov-report/src/components/List/StyledListItem.tsx.html +325 -0
  189. package/coverage/lcov-report/src/components/List/index.html +176 -0
  190. package/coverage/lcov-report/src/components/List/index.tsx.html +127 -0
  191. package/coverage/lcov-report/src/components/LocaleProvider/context.ts.html +106 -0
  192. package/coverage/lcov-report/src/components/LocaleProvider/hooks.ts.html +142 -0
  193. package/coverage/lcov-report/src/components/LocaleProvider/index.html +161 -0
  194. package/coverage/lcov-report/src/components/LocaleProvider/index.tsx.html +166 -0
  195. package/coverage/lcov-report/src/components/LocaleProvider/utils.ts.html +127 -0
  196. package/coverage/lcov-report/src/components/MapPin/Focussed.tsx.html +169 -0
  197. package/coverage/lcov-report/src/components/MapPin/StyledMapPin.tsx.html +301 -0
  198. package/coverage/lcov-report/src/components/MapPin/index.html +146 -0
  199. package/coverage/lcov-report/src/components/MapPin/index.tsx.html +274 -0
  200. package/coverage/lcov-report/src/components/Modal/index.html +116 -0
  201. package/coverage/lcov-report/src/components/Modal/index.tsx.html +736 -0
  202. package/coverage/lcov-report/src/components/PageControl/StyledPageControl.tsx.html +136 -0
  203. package/coverage/lcov-report/src/components/PageControl/index.html +131 -0
  204. package/coverage/lcov-report/src/components/PageControl/index.tsx.html +319 -0
  205. package/coverage/lcov-report/src/components/PinInput/PinCell.tsx.html +193 -0
  206. package/coverage/lcov-report/src/components/PinInput/StyledPinInput.tsx.html +358 -0
  207. package/coverage/lcov-report/src/components/PinInput/index.html +146 -0
  208. package/coverage/lcov-report/src/components/PinInput/index.tsx.html +817 -0
  209. package/coverage/lcov-report/src/components/Portal/PortalHost.tsx.html +166 -0
  210. package/coverage/lcov-report/src/components/Portal/PortalProvider.tsx.html +190 -0
  211. package/coverage/lcov-report/src/components/Portal/constants.ts.html +115 -0
  212. package/coverage/lcov-report/src/components/Portal/contexts.ts.html +127 -0
  213. package/coverage/lcov-report/src/components/Portal/index.html +221 -0
  214. package/coverage/lcov-report/src/components/Portal/index.tsx.html +283 -0
  215. package/coverage/lcov-report/src/components/Portal/reducer.ts.html +403 -0
  216. package/coverage/lcov-report/src/components/Portal/usePortal.ts.html +235 -0
  217. package/coverage/lcov-report/src/components/Portal/usePortalState.ts.html +118 -0
  218. package/coverage/lcov-report/src/components/Progress/ProgressBar.tsx.html +358 -0
  219. package/coverage/lcov-report/src/components/Progress/ProgressCircle.tsx.html +460 -0
  220. package/coverage/lcov-report/src/components/Progress/ProgressStep.tsx.html +352 -0
  221. package/coverage/lcov-report/src/components/Progress/StyledProgressBar.tsx.html +181 -0
  222. package/coverage/lcov-report/src/components/Progress/StyledProgressCircle.tsx.html +163 -0
  223. package/coverage/lcov-report/src/components/Progress/StyledStep.tsx.html +235 -0
  224. package/coverage/lcov-report/src/components/Progress/constants.ts.html +133 -0
  225. package/coverage/lcov-report/src/components/Progress/index.html +221 -0
  226. package/coverage/lcov-report/src/components/Progress/index.tsx.html +118 -0
  227. package/coverage/lcov-report/src/components/Radio/Radio.tsx.html +331 -0
  228. package/coverage/lcov-report/src/components/Radio/RadioGroup.tsx.html +343 -0
  229. package/coverage/lcov-report/src/components/Radio/StyledRadio.tsx.html +211 -0
  230. package/coverage/lcov-report/src/components/Radio/index.html +161 -0
  231. package/coverage/lcov-report/src/components/Radio/index.tsx.html +100 -0
  232. package/coverage/lcov-report/src/components/Rate/StyledRate.tsx.html +133 -0
  233. package/coverage/lcov-report/src/components/Rate/index.html +131 -0
  234. package/coverage/lcov-report/src/components/Rate/index.tsx.html +355 -0
  235. package/coverage/lcov-report/src/components/RefreshControl/index.html +116 -0
  236. package/coverage/lcov-report/src/components/RefreshControl/index.tsx.html +160 -0
  237. package/coverage/lcov-report/src/components/RichTextEditor/EditorEvent.ts.html +106 -0
  238. package/coverage/lcov-report/src/components/RichTextEditor/EditorToolbar.tsx.html +736 -0
  239. package/coverage/lcov-report/src/components/RichTextEditor/MentionList.tsx.html +382 -0
  240. package/coverage/lcov-report/src/components/RichTextEditor/RichTextEditor.tsx.html +1450 -0
  241. package/coverage/lcov-report/src/components/RichTextEditor/StyledRichTextEditor.ts.html +139 -0
  242. package/coverage/lcov-report/src/components/RichTextEditor/StyledToolbar.ts.html +181 -0
  243. package/coverage/lcov-report/src/components/RichTextEditor/constants.ts.html +112 -0
  244. package/coverage/lcov-report/src/components/RichTextEditor/heroEditorApp.ts.html +94 -0
  245. package/coverage/lcov-report/src/components/RichTextEditor/index.html +236 -0
  246. package/coverage/lcov-report/src/components/RichTextEditor/index.tsx.html +118 -0
  247. package/coverage/lcov-report/src/components/RichTextEditor/utils/events.ts.html +178 -0
  248. package/coverage/lcov-report/src/components/RichTextEditor/utils/index.html +131 -0
  249. package/coverage/lcov-report/src/components/RichTextEditor/utils/rnWebView.ts.html +142 -0
  250. package/coverage/lcov-report/src/components/Search/SearchOneLine.tsx.html +787 -0
  251. package/coverage/lcov-report/src/components/Search/SearchSuffixIcon.tsx.html +229 -0
  252. package/coverage/lcov-report/src/components/Search/SearchTwoLine.tsx.html +295 -0
  253. package/coverage/lcov-report/src/components/Search/StyledSearch.tsx.html +310 -0
  254. package/coverage/lcov-report/src/components/Search/index.html +191 -0
  255. package/coverage/lcov-report/src/components/Search/index.tsx.html +136 -0
  256. package/coverage/lcov-report/src/components/Search/utils.tsx.html +178 -0
  257. package/coverage/lcov-report/src/components/SectionHeading/StyledHeading.tsx.html +190 -0
  258. package/coverage/lcov-report/src/components/SectionHeading/index.html +131 -0
  259. package/coverage/lcov-report/src/components/SectionHeading/index.tsx.html +445 -0
  260. package/coverage/lcov-report/src/components/Select/BaseOptionList.tsx.html +310 -0
  261. package/coverage/lcov-report/src/components/Select/Footer.tsx.html +109 -0
  262. package/coverage/lcov-report/src/components/Select/MultiSelect/Option.tsx.html +229 -0
  263. package/coverage/lcov-report/src/components/Select/MultiSelect/OptionList.tsx.html +301 -0
  264. package/coverage/lcov-report/src/components/Select/MultiSelect/index.html +161 -0
  265. package/coverage/lcov-report/src/components/Select/MultiSelect/index.tsx.html +685 -0
  266. package/coverage/lcov-report/src/components/Select/MultiSelect/utils.ts.html +121 -0
  267. package/coverage/lcov-report/src/components/Select/SingleSelect/Option.tsx.html +178 -0
  268. package/coverage/lcov-report/src/components/Select/SingleSelect/OptionList.tsx.html +325 -0
  269. package/coverage/lcov-report/src/components/Select/SingleSelect/StyledSingleSelect.tsx.html +103 -0
  270. package/coverage/lcov-report/src/components/Select/SingleSelect/index.html +161 -0
  271. package/coverage/lcov-report/src/components/Select/SingleSelect/index.tsx.html +574 -0
  272. package/coverage/lcov-report/src/components/Select/StyledSelect.tsx.html +151 -0
  273. package/coverage/lcov-report/src/components/Select/helpers.tsx.html +298 -0
  274. package/coverage/lcov-report/src/components/Select/index.html +176 -0
  275. package/coverage/lcov-report/src/components/Select/index.tsx.html +115 -0
  276. package/coverage/lcov-report/src/components/Skeleton/StyledSkeleton.tsx.html +160 -0
  277. package/coverage/lcov-report/src/components/Skeleton/index.html +131 -0
  278. package/coverage/lcov-report/src/components/Skeleton/index.tsx.html +475 -0
  279. package/coverage/lcov-report/src/components/Slider/RangeSlider.tsx.html +646 -0
  280. package/coverage/lcov-report/src/components/Slider/SingleSlider.tsx.html +352 -0
  281. package/coverage/lcov-report/src/components/Slider/StyledRangeSlider.tsx.html +133 -0
  282. package/coverage/lcov-report/src/components/Slider/index.html +161 -0
  283. package/coverage/lcov-report/src/components/Slider/index.tsx.html +127 -0
  284. package/coverage/lcov-report/src/components/Spinner/AnimatedSpinner.tsx.html +295 -0
  285. package/coverage/lcov-report/src/components/Spinner/StyledSpinner.tsx.html +304 -0
  286. package/coverage/lcov-report/src/components/Spinner/index.html +146 -0
  287. package/coverage/lcov-report/src/components/Spinner/index.tsx.html +190 -0
  288. package/coverage/lcov-report/src/components/StatusScreens/Empty/StyledEmpty.tsx.html +223 -0
  289. package/coverage/lcov-report/src/components/StatusScreens/Empty/index.html +131 -0
  290. package/coverage/lcov-report/src/components/StatusScreens/Empty/index.tsx.html +376 -0
  291. package/coverage/lcov-report/src/components/StatusScreens/Error/StyledError.tsx.html +355 -0
  292. package/coverage/lcov-report/src/components/StatusScreens/Error/index.html +131 -0
  293. package/coverage/lcov-report/src/components/StatusScreens/Error/index.tsx.html +961 -0
  294. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Add.tsx.html +232 -0
  295. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Boom.tsx.html +268 -0
  296. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Build.tsx.html +220 -0
  297. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Clock.tsx.html +199 -0
  298. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Confetti.tsx.html +319 -0
  299. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Connections.tsx.html +256 -0
  300. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Error.tsx.html +250 -0
  301. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Info.tsx.html +190 -0
  302. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/List.tsx.html +196 -0
  303. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Location.tsx.html +196 -0
  304. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Merge.tsx.html +262 -0
  305. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Notifications.tsx.html +163 -0
  306. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Search.tsx.html +193 -0
  307. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Star.tsx.html +196 -0
  308. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/Success.tsx.html +208 -0
  309. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/User.tsx.html +214 -0
  310. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/assets/index.html +341 -0
  311. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/index.html +116 -0
  312. package/coverage/lcov-report/src/components/StatusScreens/StatusIcon/index.tsx.html +274 -0
  313. package/coverage/lcov-report/src/components/StatusScreens/Success/StyledSuccess.tsx.html +340 -0
  314. package/coverage/lcov-report/src/components/StatusScreens/Success/index.html +131 -0
  315. package/coverage/lcov-report/src/components/StatusScreens/Success/index.tsx.html +631 -0
  316. package/coverage/lcov-report/src/components/Swipeable/StyledSwipeable.tsx.html +118 -0
  317. package/coverage/lcov-report/src/components/Swipeable/SwipeableAction.tsx.html +220 -0
  318. package/coverage/lcov-report/src/components/Swipeable/index.html +146 -0
  319. package/coverage/lcov-report/src/components/Swipeable/index.tsx.html +646 -0
  320. package/coverage/lcov-report/src/components/Switch/SelectorSwitch/Option.tsx.html +352 -0
  321. package/coverage/lcov-report/src/components/Switch/SelectorSwitch/StyledSelectorSwitch.tsx.html +193 -0
  322. package/coverage/lcov-report/src/components/Switch/SelectorSwitch/index.html +146 -0
  323. package/coverage/lcov-report/src/components/Switch/SelectorSwitch/index.tsx.html +442 -0
  324. package/coverage/lcov-report/src/components/Switch/StyledSwitch.tsx.html +175 -0
  325. package/coverage/lcov-report/src/components/Switch/index.html +131 -0
  326. package/coverage/lcov-report/src/components/Switch/index.tsx.html +346 -0
  327. package/coverage/lcov-report/src/components/Tabs/ActiveTabIndicator.tsx.html +196 -0
  328. package/coverage/lcov-report/src/components/Tabs/SceneView.tsx.html +283 -0
  329. package/coverage/lcov-report/src/components/Tabs/ScrollableTabs.tsx.html +418 -0
  330. package/coverage/lcov-report/src/components/Tabs/ScrollableTabsHeader/ScrollableTabsHeader.tsx.html +814 -0
  331. package/coverage/lcov-report/src/components/Tabs/ScrollableTabsHeader/hooks/index.html +131 -0
  332. package/coverage/lcov-report/src/components/Tabs/ScrollableTabsHeader/hooks/useInitHighlightedAnimation.ts.html +220 -0
  333. package/coverage/lcov-report/src/components/Tabs/ScrollableTabsHeader/hooks/useInitUnderlinedAnimation.ts.html +358 -0
  334. package/coverage/lcov-report/src/components/Tabs/ScrollableTabsHeader/index.html +116 -0
  335. package/coverage/lcov-report/src/components/Tabs/StyledScrollableTabs.tsx.html +307 -0
  336. package/coverage/lcov-report/src/components/Tabs/StyledTabs.tsx.html +250 -0
  337. package/coverage/lcov-report/src/components/Tabs/TabWithBadge.tsx.html +247 -0
  338. package/coverage/lcov-report/src/components/Tabs/index.html +251 -0
  339. package/coverage/lcov-report/src/components/Tabs/index.tsx.html +847 -0
  340. package/coverage/lcov-report/src/components/Tabs/useHandlePageScroll.tsx.html +181 -0
  341. package/coverage/lcov-report/src/components/Tabs/useIsFocused.tsx.html +142 -0
  342. package/coverage/lcov-report/src/components/Tabs/utils.ts.html +124 -0
  343. package/coverage/lcov-report/src/components/Tag/StyledTag.tsx.html +190 -0
  344. package/coverage/lcov-report/src/components/Tag/index.html +131 -0
  345. package/coverage/lcov-report/src/components/Tag/index.tsx.html +268 -0
  346. package/coverage/lcov-report/src/components/TextInput/StyledTextInput.tsx.html +514 -0
  347. package/coverage/lcov-report/src/components/TextInput/index.html +131 -0
  348. package/coverage/lcov-report/src/components/TextInput/index.tsx.html +1693 -0
  349. package/coverage/lcov-report/src/components/TimePicker/StyledTimePicker.tsx.html +112 -0
  350. package/coverage/lcov-report/src/components/TimePicker/TimePickerAndroid.tsx.html +277 -0
  351. package/coverage/lcov-report/src/components/TimePicker/TimePickerIOS.tsx.html +376 -0
  352. package/coverage/lcov-report/src/components/TimePicker/index.html +161 -0
  353. package/coverage/lcov-report/src/components/TimePicker/index.tsx.html +130 -0
  354. package/coverage/lcov-report/src/components/Toast/StyledToast.tsx.html +334 -0
  355. package/coverage/lcov-report/src/components/Toast/Toast.tsx.html +505 -0
  356. package/coverage/lcov-report/src/components/Toast/ToastContainer.tsx.html +355 -0
  357. package/coverage/lcov-report/src/components/Toast/ToastContext.ts.html +214 -0
  358. package/coverage/lcov-report/src/components/Toast/ToastProvider.tsx.html +280 -0
  359. package/coverage/lcov-report/src/components/Toast/index.html +191 -0
  360. package/coverage/lcov-report/src/components/Toast/index.tsx.html +118 -0
  361. package/coverage/lcov-report/src/components/Toolbar/StyledToolbar.tsx.html +460 -0
  362. package/coverage/lcov-report/src/components/Toolbar/ToolbarGroup.tsx.html +196 -0
  363. package/coverage/lcov-report/src/components/Toolbar/ToolbarItem.tsx.html +448 -0
  364. package/coverage/lcov-report/src/components/Toolbar/ToolbarMessage.tsx.html +601 -0
  365. package/coverage/lcov-report/src/components/Toolbar/index.html +176 -0
  366. package/coverage/lcov-report/src/components/Toolbar/index.tsx.html +151 -0
  367. package/coverage/lcov-report/src/components/Typography/Body/StyledBody.tsx.html +223 -0
  368. package/coverage/lcov-report/src/components/Typography/Body/index.html +131 -0
  369. package/coverage/lcov-report/src/components/Typography/Body/index.tsx.html +301 -0
  370. package/coverage/lcov-report/src/components/Typography/Caption/StyledCaption.tsx.html +136 -0
  371. package/coverage/lcov-report/src/components/Typography/Caption/index.html +131 -0
  372. package/coverage/lcov-report/src/components/Typography/Caption/index.tsx.html +271 -0
  373. package/coverage/lcov-report/src/components/Typography/Label/StyledLabel.tsx.html +127 -0
  374. package/coverage/lcov-report/src/components/Typography/Label/index.html +131 -0
  375. package/coverage/lcov-report/src/components/Typography/Label/index.tsx.html +253 -0
  376. package/coverage/lcov-report/src/components/Typography/Text/StyledText.tsx.html +244 -0
  377. package/coverage/lcov-report/src/components/Typography/Text/index.html +131 -0
  378. package/coverage/lcov-report/src/components/Typography/Text/index.tsx.html +361 -0
  379. package/coverage/lcov-report/src/components/Typography/Title/StyledTitle.tsx.html +145 -0
  380. package/coverage/lcov-report/src/components/Typography/Title/index.html +131 -0
  381. package/coverage/lcov-report/src/components/Typography/Title/index.tsx.html +298 -0
  382. package/coverage/lcov-report/src/components/Typography/index.html +131 -0
  383. package/coverage/lcov-report/src/components/Typography/index.tsx.html +163 -0
  384. package/coverage/lcov-report/src/components/Typography/types.ts.html +142 -0
  385. package/coverage/lcov-report/src/index.html +131 -0
  386. package/coverage/lcov-report/src/index.ts.html +571 -0
  387. package/coverage/lcov-report/src/locales/en_AU.ts.html +115 -0
  388. package/coverage/lcov-report/src/locales/en_CA.ts.html +115 -0
  389. package/coverage/lcov-report/src/locales/index.html +146 -0
  390. package/coverage/lcov-report/src/locales/index.ts.html +106 -0
  391. package/coverage/lcov-report/src/testHelpers/index.html +116 -0
  392. package/coverage/lcov-report/src/testHelpers/renderWithTheme.tsx.html +133 -0
  393. package/coverage/lcov-report/src/theme/ThemeProvider.ts.html +142 -0
  394. package/coverage/lcov-report/src/theme/ThemeSwitcher.tsx.html +310 -0
  395. package/coverage/lcov-report/src/theme/components/accordion.ts.html +142 -0
  396. package/coverage/lcov-report/src/theme/components/alert.ts.html +229 -0
  397. package/coverage/lcov-report/src/theme/components/appCue.ts.html +151 -0
  398. package/coverage/lcov-report/src/theme/components/attachment.ts.html +169 -0
  399. package/coverage/lcov-report/src/theme/components/avatar.ts.html +259 -0
  400. package/coverage/lcov-report/src/theme/components/badge.ts.html +358 -0
  401. package/coverage/lcov-report/src/theme/components/bottomNavigation.ts.html +172 -0
  402. package/coverage/lcov-report/src/theme/components/bottomSheet.ts.html +193 -0
  403. package/coverage/lcov-report/src/theme/components/button.ts.html +445 -0
  404. package/coverage/lcov-report/src/theme/components/calendar.ts.html +214 -0
  405. package/coverage/lcov-report/src/theme/components/card.ts.html +172 -0
  406. package/coverage/lcov-report/src/theme/components/cardCarousel.ts.html +160 -0
  407. package/coverage/lcov-report/src/theme/components/carousel.ts.html +217 -0
  408. package/coverage/lcov-report/src/theme/components/chart.ts.html +163 -0
  409. package/coverage/lcov-report/src/theme/components/checkbox.ts.html +229 -0
  410. package/coverage/lcov-report/src/theme/components/chip.ts.html +235 -0
  411. package/coverage/lcov-report/src/theme/components/columnChart.ts.html +130 -0
  412. package/coverage/lcov-report/src/theme/components/contentNavigator.ts.html +118 -0
  413. package/coverage/lcov-report/src/theme/components/datePicker.ts.html +118 -0
  414. package/coverage/lcov-report/src/theme/components/divider.ts.html +154 -0
  415. package/coverage/lcov-report/src/theme/components/drawer.ts.html +190 -0
  416. package/coverage/lcov-report/src/theme/components/empty.ts.html +223 -0
  417. package/coverage/lcov-report/src/theme/components/error.ts.html +268 -0
  418. package/coverage/lcov-report/src/theme/components/fab.ts.html +337 -0
  419. package/coverage/lcov-report/src/theme/components/floatingIsland.ts.html +178 -0
  420. package/coverage/lcov-report/src/theme/components/icon.ts.html +172 -0
  421. package/coverage/lcov-report/src/theme/components/image.ts.html +121 -0
  422. package/coverage/lcov-report/src/theme/components/index.html +881 -0
  423. package/coverage/lcov-report/src/theme/components/list.ts.html +223 -0
  424. package/coverage/lcov-report/src/theme/components/mapPin.ts.html +235 -0
  425. package/coverage/lcov-report/src/theme/components/pageControl.ts.html +160 -0
  426. package/coverage/lcov-report/src/theme/components/pinInput.ts.html +313 -0
  427. package/coverage/lcov-report/src/theme/components/progress.ts.html +265 -0
  428. package/coverage/lcov-report/src/theme/components/radio.ts.html +193 -0
  429. package/coverage/lcov-report/src/theme/components/rate.ts.html +133 -0
  430. package/coverage/lcov-report/src/theme/components/refreshControl.ts.html +118 -0
  431. package/coverage/lcov-report/src/theme/components/richTextEditor.ts.html +193 -0
  432. package/coverage/lcov-report/src/theme/components/search.ts.html +292 -0
  433. package/coverage/lcov-report/src/theme/components/sectionHeading.ts.html +142 -0
  434. package/coverage/lcov-report/src/theme/components/select.ts.html +154 -0
  435. package/coverage/lcov-report/src/theme/components/skeleton.ts.html +151 -0
  436. package/coverage/lcov-report/src/theme/components/slider.ts.html +178 -0
  437. package/coverage/lcov-report/src/theme/components/spinner.ts.html +184 -0
  438. package/coverage/lcov-report/src/theme/components/success.ts.html +241 -0
  439. package/coverage/lcov-report/src/theme/components/swipeable.ts.html +151 -0
  440. package/coverage/lcov-report/src/theme/components/switch.ts.html +235 -0
  441. package/coverage/lcov-report/src/theme/components/tabs.ts.html +202 -0
  442. package/coverage/lcov-report/src/theme/components/tag.ts.html +274 -0
  443. package/coverage/lcov-report/src/theme/components/textInput.ts.html +409 -0
  444. package/coverage/lcov-report/src/theme/components/timePicker.ts.html +118 -0
  445. package/coverage/lcov-report/src/theme/components/toast.ts.html +241 -0
  446. package/coverage/lcov-report/src/theme/components/toolbar.ts.html +262 -0
  447. package/coverage/lcov-report/src/theme/components/typography.ts.html +622 -0
  448. package/coverage/lcov-report/src/theme/getTheme.ts.html +637 -0
  449. package/coverage/lcov-report/src/theme/global/borders.ts.html +187 -0
  450. package/coverage/lcov-report/src/theme/global/colors/eBens.ts.html +163 -0
  451. package/coverage/lcov-report/src/theme/global/colors/ehJobs.ts.html +127 -0
  452. package/coverage/lcov-report/src/theme/global/colors/ehWork.ts.html +166 -0
  453. package/coverage/lcov-report/src/theme/global/colors/ehWorkDark.ts.html +277 -0
  454. package/coverage/lcov-report/src/theme/global/colors/global.ts.html +247 -0
  455. package/coverage/lcov-report/src/theme/global/colors/globalDark.ts.html +238 -0
  456. package/coverage/lcov-report/src/theme/global/colors/index.html +326 -0
  457. package/coverage/lcov-report/src/theme/global/colors/jobs.ts.html +163 -0
  458. package/coverage/lcov-report/src/theme/global/colors/swag.ts.html +169 -0
  459. package/coverage/lcov-report/src/theme/global/colors/swagDark.ts.html +175 -0
  460. package/coverage/lcov-report/src/theme/global/colors/swagLight.ts.html +121 -0
  461. package/coverage/lcov-report/src/theme/global/colors/swagLightGlobal.ts.html +127 -0
  462. package/coverage/lcov-report/src/theme/global/colors/swagLightJobs.ts.html +121 -0
  463. package/coverage/lcov-report/src/theme/global/colors/swagSystemPalette.ts.html +112 -0
  464. package/coverage/lcov-report/src/theme/global/colors/wallet.ts.html +163 -0
  465. package/coverage/lcov-report/src/theme/global/colors/work.ts.html +163 -0
  466. package/coverage/lcov-report/src/theme/global/index.html +191 -0
  467. package/coverage/lcov-report/src/theme/global/index.ts.html +280 -0
  468. package/coverage/lcov-report/src/theme/global/scale.ts.html +172 -0
  469. package/coverage/lcov-report/src/theme/global/shadows/ehJobs.ts.html +196 -0
  470. package/coverage/lcov-report/src/theme/global/shadows/ehWork.ts.html +193 -0
  471. package/coverage/lcov-report/src/theme/global/shadows/ehWorkDark.ts.html +193 -0
  472. package/coverage/lcov-report/src/theme/global/shadows/index.html +161 -0
  473. package/coverage/lcov-report/src/theme/global/shadows/index.ts.html +166 -0
  474. package/coverage/lcov-report/src/theme/global/sizes.ts.html +172 -0
  475. package/coverage/lcov-report/src/theme/global/space.ts.html +181 -0
  476. package/coverage/lcov-report/src/theme/global/typography.ts.html +376 -0
  477. package/coverage/lcov-report/src/theme/index.html +161 -0
  478. package/coverage/lcov-report/src/theme/index.ts.html +214 -0
  479. package/coverage/lcov-report/src/types.ts.html +238 -0
  480. package/coverage/lcov-report/src/utils/functions.ts.html +91 -0
  481. package/coverage/lcov-report/src/utils/helpers.ts.html +424 -0
  482. package/coverage/lcov-report/src/utils/hooks.ts.html +172 -0
  483. package/coverage/lcov-report/src/utils/index.html +146 -0
  484. package/coverage/lcov.info +11518 -0
  485. package/es/index.js +5626 -692
  486. package/jest.config.js +1 -1
  487. package/lib/index.js +5550 -615
  488. package/locales/en_AU.d.ts +3 -0
  489. package/locales/en_CA.d.ts +3 -0
  490. package/locales/index.d.ts +5 -0
  491. package/locales/types.d.ts +10 -0
  492. package/package.json +4 -2
  493. package/src/components/Avatar/AvatarStack/utils.ts +6 -4
  494. package/src/components/Badge/Status.tsx +1 -1
  495. package/src/components/Badge/__tests__/Status.spec.tsx +20 -0
  496. package/src/components/Badge/__tests__/__snapshots__/Status.spec.tsx.snap +2 -0
  497. package/src/components/Chart/ChartSelect/StyledChartSelect.tsx +9 -0
  498. package/src/components/Chart/ChartSelect/__tests__/StyledChartSelect.spec.tsx +15 -0
  499. package/src/components/Chart/ChartSelect/__tests__/__snapshots__/StyledChartSelect.spec.tsx.snap +20 -0
  500. package/src/components/Chart/ChartSelect/__tests__/index.spec.tsx +111 -0
  501. package/src/components/Chart/ChartSelect/index.tsx +137 -0
  502. package/src/components/Chart/ColumnChart/ColumnChartContent.tsx +84 -0
  503. package/src/components/Chart/ColumnChart/Segment.tsx +66 -0
  504. package/src/components/Chart/ColumnChart/StackedSegment.tsx +99 -0
  505. package/src/components/Chart/ColumnChart/StyledColumnChart.tsx +9 -0
  506. package/src/components/Chart/ColumnChart/__tests__/ColumnChartContent.spec.tsx +68 -0
  507. package/src/components/Chart/ColumnChart/__tests__/Segment.spec.tsx +99 -0
  508. package/src/components/Chart/ColumnChart/__tests__/StackedSegment.spec.tsx +115 -0
  509. package/src/components/Chart/ColumnChart/__tests__/__snapshots__/StackedSegment.spec.tsx.snap +120 -0
  510. package/src/components/Chart/ColumnChart/__tests__/__snapshots__/index.spec.tsx.snap +1405 -0
  511. package/src/components/Chart/ColumnChart/__tests__/index.spec.tsx +134 -0
  512. package/src/components/Chart/ColumnChart/index.tsx +216 -0
  513. package/src/components/Chart/Line/Line.tsx +81 -0
  514. package/src/components/Chart/Line/__tests__/Line.spec.tsx +148 -0
  515. package/src/components/Chart/Line/__tests__/__snapshots__/Line.spec.tsx.snap +56 -0
  516. package/src/components/Chart/Line/__tests__/__snapshots__/index.spec.tsx.snap +1461 -0
  517. package/src/components/Chart/Line/__tests__/index.spec.tsx +112 -0
  518. package/src/components/Chart/Line/index.tsx +143 -0
  519. package/src/components/Chart/StyledChart.tsx +16 -0
  520. package/src/components/Chart/index.tsx +13 -0
  521. package/src/components/Chart/shared/AxisLabel.tsx +25 -0
  522. package/src/components/Chart/shared/ChartFrame.tsx +131 -0
  523. package/src/components/Chart/shared/ChartHeader.tsx +19 -0
  524. package/src/components/Chart/shared/EmptyState.tsx +83 -0
  525. package/src/components/Chart/shared/XAxis.tsx +69 -0
  526. package/src/components/Chart/shared/XAxisGrid.tsx +42 -0
  527. package/src/components/Chart/shared/YAxis.tsx +104 -0
  528. package/src/components/Chart/shared/YAxisGrid.tsx +58 -0
  529. package/src/components/Chart/shared/__tests__/ChartFrame.spec.tsx +125 -0
  530. package/src/components/Chart/shared/__tests__/ChartHeader.spec.tsx +22 -0
  531. package/src/components/Chart/shared/__tests__/EmptyState.spec.tsx +29 -0
  532. package/src/components/Chart/shared/__tests__/XAXisGrid.spec.tsx +30 -0
  533. package/src/components/Chart/shared/__tests__/XAxis.spec.tsx +42 -0
  534. package/src/components/Chart/shared/__tests__/YAxis.spec.tsx +72 -0
  535. package/src/components/Chart/shared/__tests__/YAxisGrid.spec.tsx +35 -0
  536. package/src/components/Chart/shared/__tests__/__snapshots__/ChartFrame.spec.tsx.snap +3058 -0
  537. package/src/components/Chart/shared/__tests__/__snapshots__/ChartHeader.spec.tsx.snap +160 -0
  538. package/src/components/Chart/shared/__tests__/__snapshots__/EmptyState.spec.tsx.snap +155 -0
  539. package/src/components/Chart/shared/__tests__/__snapshots__/XAXisGrid.spec.tsx.snap +197 -0
  540. package/src/components/Chart/shared/__tests__/__snapshots__/XAxis.spec.tsx.snap +369 -0
  541. package/src/components/Chart/shared/__tests__/__snapshots__/YAxis.spec.tsx.snap +1013 -0
  542. package/src/components/Chart/shared/__tests__/__snapshots__/YAxisGrid.spec.tsx.snap +228 -0
  543. package/src/components/Chart/shared/__tests__/niceNumbers.spec.tsx +127 -0
  544. package/src/components/Chart/shared/constants.ts +2 -0
  545. package/src/components/Chart/shared/hooks/useColorScale.ts +25 -0
  546. package/src/components/Chart/shared/hooks/useGenerateTicks.ts +27 -0
  547. package/src/components/Chart/shared/hooks/useScaleBandX.ts +17 -0
  548. package/src/components/Chart/shared/hooks/useScaleLinearY.ts +30 -0
  549. package/src/components/Chart/shared/niceNumbers.ts +68 -0
  550. package/src/components/Chart/types.ts +100 -0
  551. package/src/components/Select/MultiSelect/OptionList.tsx +1 -1
  552. package/src/components/Select/MultiSelect/index.tsx +2 -6
  553. package/src/components/Select/MultiSelect/utils.ts +7 -3
  554. package/src/components/Select/SingleSelect/OptionList.tsx +1 -1
  555. package/src/components/Select/SingleSelect/index.tsx +2 -7
  556. package/src/components/Select/__tests__/helpers.spec.tsx +0 -36
  557. package/src/components/Select/helpers.tsx +0 -75
  558. package/src/components/Switch/SelectorSwitch/__tests__/__snapshots__/Option.spec.tsx.snap +3 -0
  559. package/src/components/Switch/SelectorSwitch/__tests__/__snapshots__/index.spec.tsx.snap +1 -0
  560. package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabs.spec.tsx.snap +3 -0
  561. package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabsHeader.spec.tsx.snap +2 -0
  562. package/src/components/Tabs/__tests__/__snapshots__/TabWithBadge.spec.tsx.snap +1 -0
  563. package/src/components/Tabs/__tests__/__snapshots__/index.spec.tsx.snap +3 -0
  564. package/src/index.ts +2 -0
  565. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +28 -0
  566. package/src/theme/components/chart.ts +28 -0
  567. package/src/theme/components/columnChart.ts +15 -0
  568. package/src/theme/getTheme.ts +6 -0
  569. package/src/types.ts +4 -0
  570. package/src/utils/__tests__/helpers.spec.ts +36 -1
  571. package/src/utils/helpers.ts +76 -1
  572. package/stats/8.100.0/rn-stats.html +4842 -0
  573. package/stats/8.99.4/rn-stats.html +1 -1
  574. package/types/components/Badge/Status.d.ts +0 -1
  575. package/types/components/Chart/ChartSelect/StyledChartSelect.d.ts +8 -0
  576. package/types/components/Chart/ChartSelect/index.d.ts +63 -0
  577. package/types/components/Chart/ColumnChart/ColumnChartContent.d.ts +25 -0
  578. package/types/components/Chart/ColumnChart/Segment.d.ts +14 -0
  579. package/types/components/Chart/ColumnChart/StackedSegment.d.ts +28 -0
  580. package/types/components/Chart/ColumnChart/StyledColumnChart.d.ts +8 -0
  581. package/types/components/Chart/ColumnChart/index.d.ts +80 -0
  582. package/types/components/Chart/Line/Line.d.ts +21 -0
  583. package/types/components/Chart/Line/index.d.ts +35 -0
  584. package/types/components/Chart/StyledChart.d.ts +9 -0
  585. package/types/components/Chart/index.d.ts +9 -0
  586. package/types/components/Chart/shared/AxisContext.d.ts +8 -0
  587. package/types/components/Chart/shared/AxisLabel.d.ts +7 -0
  588. package/types/components/Chart/shared/ChartFrame.d.ts +30 -0
  589. package/types/components/Chart/shared/ChartHeader.d.ts +8 -0
  590. package/types/components/Chart/shared/EmptyState.d.ts +8 -0
  591. package/types/components/Chart/shared/TextWrapper.d.ts +11 -0
  592. package/types/components/Chart/shared/XAxis.d.ts +8 -0
  593. package/types/components/Chart/shared/XAxisGrid.d.ts +8 -0
  594. package/types/components/Chart/shared/YAxis.d.ts +10 -0
  595. package/types/components/Chart/shared/YAxisGrid.d.ts +10 -0
  596. package/types/components/Chart/shared/constants.d.ts +2 -0
  597. package/types/components/Chart/shared/context/AxisContext.d.ts +8 -0
  598. package/types/components/Chart/shared/hooks/useColorScale.d.ts +7 -0
  599. package/types/components/Chart/shared/hooks/useGenerateTicks.d.ts +6 -0
  600. package/types/components/Chart/shared/hooks/useScaleBandX.d.ts +8 -0
  601. package/types/components/Chart/shared/hooks/useScaleLinearY.d.ts +9 -0
  602. package/types/components/Chart/shared/niceNumbers.d.ts +12 -0
  603. package/types/components/Chart/types.d.ts +84 -0
  604. package/types/components/DatePicker/DatePickerDialog/AndroidDatePickerDialog.d.ts +4 -0
  605. package/types/components/DatePicker/DatePickerDialog/IOSDatePickerDialog.d.ts +4 -0
  606. package/types/components/DatePicker/DatePickerDialog/type.d.ts +50 -0
  607. package/types/components/DatePicker/useCalculateDate.d.ts +4 -0
  608. package/types/components/DatePicker/useFormatDate.d.ts +12 -0
  609. package/types/components/Empty/StyledEmpty.d.ts +21 -0
  610. package/types/components/Empty/index.d.ts +31 -0
  611. package/types/components/Error/StyledError.d.ts +53 -0
  612. package/types/components/Error/index.d.ts +56 -0
  613. package/types/components/Select/helpers.d.ts +0 -5
  614. package/types/components/Success/StyledSuccess.d.ts +49 -0
  615. package/types/components/Success/index.d.ts +50 -0
  616. package/types/index.d.ts +2 -1
  617. package/types/theme/components/chart.d.ts +22 -0
  618. package/types/theme/components/columnChart.d.ts +10 -0
  619. package/types/theme/getTheme.d.ts +4 -0
  620. package/types/theme/global/shadows/shadows.d.ts +9 -0
  621. package/types/theme/global/shadows/swagLight.d.ts +3 -0
  622. package/types/theme/global/shadows/swagLightJobs.d.ts +3 -0
  623. package/types/theme/global/shadows.d.ts +16 -0
  624. package/types/types.d.ts +3 -1
  625. package/types/utils/helpers.d.ts +5 -0
  626. package/.turbo/turbo-build.log +0 -18
@@ -6,16 +6,11 @@ import type {
6
6
  import { TouchableOpacity, View } from 'react-native';
7
7
  import BottomSheet from '../../BottomSheet';
8
8
  import TextInput from '../../TextInput';
9
- import {
10
- deepCompareValue,
11
- getScrollParams,
12
- toFlatOptions,
13
- toSections,
14
- useKeyboard,
15
- } from '../helpers';
9
+ import { getScrollParams, toFlatOptions, toSections } from '../helpers';
16
10
  import { StyledSearchBar } from '../StyledSelect';
17
11
  import type { OptionType, SectionType, SelectProps } from '../types';
18
12
  import OptionList from './OptionList';
13
+ import { deepCompareValue, useKeyboard } from '../../../utils/helpers';
19
14
 
20
15
  export interface SingleSelectProps<V, T extends OptionType<V> = OptionType<V>>
21
16
  extends SelectProps<V, T> {
@@ -1,5 +1,4 @@
1
1
  import {
2
- deepCompareValue,
3
2
  getScrollParams,
4
3
  isSections,
5
4
  toFlatOptions,
@@ -73,38 +72,3 @@ describe('getScrollParams', () => {
73
72
  });
74
73
  });
75
74
  });
76
-
77
- describe('deepCompareValue', () => {
78
- it.each`
79
- a | b | expected
80
- ${1} | ${1} | ${true}
81
- ${'test'} | ${'test'} | ${true}
82
- ${true} | ${true} | ${true}
83
- ${null} | ${null} | ${true}
84
- ${undefined} | ${undefined} | ${true}
85
- ${1} | ${2} | ${false}
86
- ${'test'} | ${'other'} | ${false}
87
- ${true} | ${false} | ${false}
88
- ${null} | ${undefined} | ${false}
89
- ${NaN} | ${NaN} | ${false}
90
- ${1} | ${NaN} | ${false}
91
- ${[1, 2, 3]} | ${[1, 2, 3]} | ${true}
92
- ${['a', 'b']} | ${['a', 'b']} | ${true}
93
- ${[]} | ${[]} | ${true}
94
- ${[1, 2]} | ${[1, 2, 3]} | ${false}
95
- ${[1, 2]} | ${[2, 1]} | ${false}
96
- ${[1, [2, 3]]} | ${[1, [2, 3]]} | ${true}
97
- ${[1, [2, 3]]} | ${[1, [2, 4]]} | ${false}
98
- ${{ a: 1, b: 2 }} | ${{ a: 1, b: 2 }} | ${true}
99
- ${{}} | ${{}} | ${true}
100
- ${{ a: 1 }} | ${{ a: 2 }} | ${false}
101
- ${{ a: 1 }} | ${{ b: 1 }} | ${false}
102
- ${{ a: 1 }} | ${{ a: 1, b: 2 }} | ${false}
103
- ${{ a: { b: 1 } }} | ${{ a: { b: 1 } }} | ${true}
104
- ${{ a: { b: 1 } }} | ${{ a: { b: 2 } }} | ${false}
105
- ${1} | ${'1'} | ${false}
106
- ${[]} | ${{}} | ${false}
107
- `('should compare $a and $b correctly', ({ a, b, expected }) => {
108
- expect(deepCompareValue(a, b)).toBe(expected);
109
- });
110
- });
@@ -1,5 +1,3 @@
1
- import { useEffect, useState } from 'react';
2
- import { Keyboard } from 'react-native';
3
1
  import type { SectionData, CombinedOptionsType, OptionType } from './types';
4
2
 
5
3
  export const getKey = <V, T extends OptionType<V>>(
@@ -71,76 +69,3 @@ export const getScrollParams = <V, T extends OptionType<V>>(
71
69
  itemIndex: itemIndex < 0 ? 0 : itemIndex,
72
70
  };
73
71
  };
74
-
75
- export const useKeyboard = () => {
76
- const [isKeyboardVisible, setKeyboardVisible] = useState(false);
77
- const [keyboardHeight, setKeyboardHeight] = useState(0);
78
-
79
- useEffect(() => {
80
- const keyboardWillShowListener = Keyboard.addListener(
81
- 'keyboardWillShow',
82
- (e) => {
83
- setKeyboardVisible(true);
84
- setKeyboardHeight(e.endCoordinates.height);
85
- }
86
- );
87
- const keyboardWillHideListener = Keyboard.addListener(
88
- 'keyboardWillHide',
89
- () => {
90
- setKeyboardVisible(false);
91
- }
92
- );
93
-
94
- return () => {
95
- keyboardWillShowListener.remove();
96
- keyboardWillHideListener.remove();
97
- };
98
- }, []);
99
-
100
- return { isKeyboardVisible, keyboardHeight };
101
- };
102
-
103
- export const deepCompareValue = <V,>(a: V, b: V): boolean => {
104
- // Handle strict equality first (handles primitives, null, undefined)
105
- if (a === b) return true;
106
-
107
- // Special handling for NaN (NaN !== NaN in JS)
108
- if (
109
- typeof a === 'number' &&
110
- typeof b === 'number' &&
111
- Number.isNaN(a) &&
112
- Number.isNaN(b)
113
- ) {
114
- return false;
115
- }
116
-
117
- // If either is null or undefined (but they are not strictly equal), return false
118
- if (a == null || b == null) return false;
119
-
120
- // If types don't match, they can't be equal
121
- if (typeof a !== typeof b) return false;
122
-
123
- // Handle array comparison
124
- if (Array.isArray(a) && Array.isArray(b)) {
125
- if (a.length !== b.length) return false;
126
- return a.every((val, index) => deepCompareValue(val, b[index]));
127
- }
128
-
129
- // If one is array and the other isn't, return false
130
- if (Array.isArray(a) !== Array.isArray(b)) return false;
131
-
132
- // Handle object comparison
133
- if (typeof a === 'object' && typeof b === 'object') {
134
- const keysA = Object.keys(a) as (keyof V)[];
135
- const keysB = Object.keys(b) as (keyof V)[];
136
-
137
- if (keysA.length !== keysB.length) return false;
138
-
139
- return keysA.every(
140
- (key) => keysB.includes(key) && deepCompareValue(a[key], b[key])
141
- );
142
- }
143
-
144
- // If none of the above conditions matched, they're not equal
145
- return false;
146
- };
@@ -65,6 +65,7 @@ exports[`Option renders correctly when not selected 1`] = `
65
65
  "width": 8,
66
66
  }
67
67
  }
68
+ testID="status-dot"
68
69
  themeIntent="danger"
69
70
  />
70
71
  </View>
@@ -164,6 +165,7 @@ exports[`Option renders correctly when selected 1`] = `
164
165
  "width": 8,
165
166
  }
166
167
  }
168
+ testID="status-dot"
167
169
  themeIntent="danger"
168
170
  />
169
171
  </View>
@@ -285,6 +287,7 @@ exports[`OptionContent renders correctly when there is a badge 1`] = `
285
287
  "width": 8,
286
288
  }
287
289
  }
290
+ testID="status-dot"
288
291
  themeIntent="danger"
289
292
  />
290
293
  </View>
@@ -140,6 +140,7 @@ exports[`SelectorSwitch renders correctly 1`] = `
140
140
  "width": 8,
141
141
  }
142
142
  }
143
+ testID="status-dot"
143
144
  themeIntent="danger"
144
145
  />
145
146
  </View>
@@ -570,6 +570,7 @@ exports[`Tabs.Scroll lazy not render lazy screen: xxx 1`] = `
570
570
  "width": 8,
571
571
  }
572
572
  }
573
+ testID="status-dot"
573
574
  themeIntent="danger"
574
575
  />
575
576
  </View>
@@ -1502,6 +1503,7 @@ exports[`Tabs.Scroll renders correctly 1`] = `
1502
1503
  "width": 8,
1503
1504
  }
1504
1505
  }
1506
+ testID="status-dot"
1505
1507
  themeIntent="danger"
1506
1508
  />
1507
1509
  </View>
@@ -2434,6 +2436,7 @@ exports[`useIsFocused renders correctly 1`] = `
2434
2436
  "width": 8,
2435
2437
  }
2436
2438
  }
2439
+ testID="status-dot"
2437
2440
  themeIntent="danger"
2438
2441
  />
2439
2442
  </View>
@@ -463,6 +463,7 @@ exports[`ScrollableTabsHeader highlighted variant renders correctly 1`] = `
463
463
  "width": 8,
464
464
  }
465
465
  }
466
+ testID="status-dot"
466
467
  themeIntent="danger"
467
468
  />
468
469
  </View>
@@ -1078,6 +1079,7 @@ exports[`ScrollableTabsHeader underlined variant renders correctly 1`] = `
1078
1079
  "width": 8,
1079
1080
  }
1080
1081
  }
1082
+ testID="status-dot"
1081
1083
  themeIntent="danger"
1082
1084
  />
1083
1085
  </View>
@@ -138,6 +138,7 @@ exports[`TabWithBadge renders correctly with status badge config 1`] = `
138
138
  "width": 8,
139
139
  }
140
140
  }
141
+ testID="status-dot"
141
142
  themeIntent="danger"
142
143
  />
143
144
  </View>
@@ -350,6 +350,7 @@ exports[`Tabs renders correctly 1`] = `
350
350
  "width": 8,
351
351
  }
352
352
  }
353
+ testID="status-dot"
353
354
  themeIntent="danger"
354
355
  />
355
356
  </View>
@@ -1026,6 +1027,7 @@ exports[`useIsFocused renders correctly 1`] = `
1026
1027
  "width": 8,
1027
1028
  }
1028
1029
  }
1030
+ testID="status-dot"
1029
1031
  themeIntent="danger"
1030
1032
  />
1031
1033
  </View>
@@ -1702,6 +1704,7 @@ exports[`useIsFocused renders correctly: xxxxxx 1`] = `
1702
1704
  "width": 8,
1703
1705
  }
1704
1706
  }
1707
+ testID="status-dot"
1705
1708
  themeIntent="danger"
1706
1709
  />
1707
1710
  </View>
package/src/index.ts CHANGED
@@ -31,6 +31,7 @@ import Button from './components/Button';
31
31
  import Calendar from './components/Calendar';
32
32
  import Carousel from './components/Carousel';
33
33
  import Card from './components/Card';
34
+ import Chart from './components/Chart';
34
35
  import Chip from './components/Chip';
35
36
  import Collapse from './components/Collapse';
36
37
  import Checkbox from './components/Checkbox';
@@ -110,6 +111,7 @@ export {
110
111
  Button,
111
112
  Calendar,
112
113
  Card,
114
+ Chart,
113
115
  Carousel,
114
116
  Chip,
115
117
  Collapse,
@@ -428,6 +428,26 @@ exports[`theme returns correct theme object 1`] = `
428
428
  "pageControlWrapperHeight": 48,
429
429
  },
430
430
  },
431
+ "chart": {
432
+ "colors": {
433
+ "gridStroke": "#e8e9ea",
434
+ },
435
+ "sizes": {
436
+ "defaultWebEmptyStateHeight": 24,
437
+ "defaultWebEmptyStateWidth": 176,
438
+ "xAxisDefaultTextHeight": 32,
439
+ "yAxisDefaultTextHeight": 8,
440
+ "yAxisDefaultTextWidth": 32,
441
+ },
442
+ "space": {
443
+ "headerMarginBottom": 16,
444
+ "xAxisGridTextMarginTop": 12,
445
+ "xAxisMarginLeft": 16,
446
+ "yAxisGridMarginTop": 8,
447
+ "yAxisGridTextMarginRight": 16,
448
+ "yAxisMarginBottom": 24,
449
+ },
450
+ },
431
451
  "checkbox": {
432
452
  "borderWidths": {
433
453
  "icon": 2,
@@ -501,6 +521,14 @@ exports[`theme returns correct theme object 1`] = `
501
521
  "wrapperVerticalPadding": 8,
502
522
  },
503
523
  },
524
+ "columnChart": {
525
+ "sizes": {
526
+ "columnWidth": 16,
527
+ },
528
+ "space": {
529
+ "segmentGap": 2,
530
+ },
531
+ },
504
532
  "contentNavigator": {
505
533
  "space": {
506
534
  "valueHorizontalPadding": 8,
@@ -0,0 +1,28 @@
1
+ import type { GlobalTheme } from '../global';
2
+
3
+ const getChartTheme = (theme: GlobalTheme) => {
4
+ const space = {
5
+ xAxisMarginLeft: theme.space.medium,
6
+ xAxisGridTextMarginTop: theme.space.smallMedium,
7
+ yAxisMarginBottom: theme.space.large,
8
+ yAxisGridMarginTop: theme.space.small,
9
+ yAxisGridTextMarginRight: theme.space.medium,
10
+ headerMarginBottom: theme.space.medium,
11
+ };
12
+
13
+ const sizes = {
14
+ xAxisDefaultTextHeight: theme.sizes.xlarge,
15
+ yAxisDefaultTextHeight: theme.sizes.small,
16
+ yAxisDefaultTextWidth: theme.sizes.xlarge,
17
+ defaultWebEmptyStateWidth: theme.sizes['19xlarge'], // Only use for web doc
18
+ defaultWebEmptyStateHeight: theme.sizes.large, // Only use for web doc
19
+ };
20
+
21
+ const colors = {
22
+ gridStroke: theme.colors.secondaryOutline,
23
+ };
24
+
25
+ return { space, sizes, colors };
26
+ };
27
+
28
+ export default getChartTheme;
@@ -0,0 +1,15 @@
1
+ import type { GlobalTheme } from '../global';
2
+
3
+ const getColumnChartTheme = (theme: GlobalTheme) => {
4
+ const sizes = {
5
+ columnWidth: theme.sizes.medium,
6
+ };
7
+
8
+ const space = {
9
+ segmentGap: theme.space.xxsmall,
10
+ };
11
+
12
+ return { sizes, space };
13
+ };
14
+
15
+ export default getColumnChartTheme;
@@ -14,6 +14,8 @@ import getCarouselTheme, { CarouselThemeType } from './components/carousel';
14
14
  import getCardCarouselTheme from './components/cardCarousel';
15
15
  import getCheckboxTheme from './components/checkbox';
16
16
  import getChipTheme from './components/chip';
17
+ import getChartTheme from './components/chart';
18
+ import getColumnChartTheme from './components/columnChart';
17
19
  import getContentNavigatorTheme from './components/contentNavigator';
18
20
  import getDatePickerTheme from './components/datePicker';
19
21
  import getDividerTheme from './components/divider';
@@ -73,6 +75,8 @@ type Theme = GlobalTheme & {
73
75
  cardCarousel: ReturnType<typeof getCardCarouselTheme>;
74
76
  checkbox: ReturnType<typeof getCheckboxTheme>;
75
77
  chip: ReturnType<typeof getChipTheme>;
78
+ chart: ReturnType<typeof getChartTheme>;
79
+ columnChart: ReturnType<typeof getColumnChartTheme>;
76
80
  contentNavigator: ReturnType<typeof getContentNavigatorTheme>;
77
81
  datePicker: ReturnType<typeof getDatePickerTheme>;
78
82
  divider: ReturnType<typeof getDividerTheme>;
@@ -133,6 +137,8 @@ const getTheme = (
133
137
  card: getCardTheme(globalTheme),
134
138
  carousel: getCarouselTheme(globalTheme),
135
139
  cardCarousel: getCardCarouselTheme(globalTheme),
140
+ chart: getChartTheme(globalTheme),
141
+ columnChart: getColumnChartTheme(globalTheme),
136
142
  checkbox: getCheckboxTheme(globalTheme),
137
143
  chip: getChipTheme(globalTheme),
138
144
  contentNavigator: getContentNavigatorTheme(globalTheme),
package/src/types.ts CHANGED
@@ -20,6 +20,8 @@ import { ActionGroupHandles } from './components/FAB/ActionGroup';
20
20
  import type { SliderRangeValue } from './components/Slider/RangeSlider';
21
21
  import type { CalendarDateRange } from './components/Calendar/CalendarRange';
22
22
  import { LocaleCode, LocaleValues, DateTimeFormats } from './locales/types';
23
+ import type { ColumnChartProps } from './components/Chart/ColumnChart';
24
+ import { LineChartProps } from './components/Chart/Line';
23
25
 
24
26
  export type {
25
27
  BottomNavigationTabType,
@@ -44,4 +46,6 @@ export type {
44
46
  LocaleCode,
45
47
  LocaleValues,
46
48
  DateTimeFormats,
49
+ ColumnChartProps,
50
+ LineChartProps,
47
51
  };
@@ -1,4 +1,4 @@
1
- import { omit, pick } from '../helpers';
1
+ import { deepCompareValue, omit, pick } from '../helpers';
2
2
 
3
3
  describe('pick', () => {
4
4
  it('works', () => {
@@ -43,3 +43,38 @@ describe('omit', () => {
43
43
  });
44
44
  });
45
45
  });
46
+
47
+ describe('deepCompareValue', () => {
48
+ it.each`
49
+ a | b | expected
50
+ ${1} | ${1} | ${true}
51
+ ${'test'} | ${'test'} | ${true}
52
+ ${true} | ${true} | ${true}
53
+ ${null} | ${null} | ${true}
54
+ ${undefined} | ${undefined} | ${true}
55
+ ${1} | ${2} | ${false}
56
+ ${'test'} | ${'other'} | ${false}
57
+ ${true} | ${false} | ${false}
58
+ ${null} | ${undefined} | ${false}
59
+ ${NaN} | ${NaN} | ${false}
60
+ ${1} | ${NaN} | ${false}
61
+ ${[1, 2, 3]} | ${[1, 2, 3]} | ${true}
62
+ ${['a', 'b']} | ${['a', 'b']} | ${true}
63
+ ${[]} | ${[]} | ${true}
64
+ ${[1, 2]} | ${[1, 2, 3]} | ${false}
65
+ ${[1, 2]} | ${[2, 1]} | ${false}
66
+ ${[1, [2, 3]]} | ${[1, [2, 3]]} | ${true}
67
+ ${[1, [2, 3]]} | ${[1, [2, 4]]} | ${false}
68
+ ${{ a: 1, b: 2 }} | ${{ a: 1, b: 2 }} | ${true}
69
+ ${{}} | ${{}} | ${true}
70
+ ${{ a: 1 }} | ${{ a: 2 }} | ${false}
71
+ ${{ a: 1 }} | ${{ b: 1 }} | ${false}
72
+ ${{ a: 1 }} | ${{ a: 1, b: 2 }} | ${false}
73
+ ${{ a: { b: 1 } }} | ${{ a: { b: 1 } }} | ${true}
74
+ ${{ a: { b: 1 } }} | ${{ a: { b: 2 } }} | ${false}
75
+ ${1} | ${'1'} | ${false}
76
+ ${[]} | ${{}} | ${false}
77
+ `('should compare $a and $b correctly', ({ a, b, expected }) => {
78
+ expect(deepCompareValue(a, b)).toBe(expected);
79
+ });
80
+ });
@@ -1,4 +1,6 @@
1
- import { Platform } from 'react-native';
1
+ import { Platform, Keyboard } from 'react-native';
2
+
3
+ import { useEffect, useState } from 'react';
2
4
 
3
5
  export const isIOS = Platform.OS === 'ios';
4
6
  export const isAndroid = Platform.OS === 'android';
@@ -36,3 +38,76 @@ export function hexToRgba(hex: string, a: number) {
36
38
  const [r, g, b] = arrByte;
37
39
  return `rgba(${r},${g},${b},${a})`;
38
40
  }
41
+
42
+ export const deepCompareValue = <V>(a: V, b: V): boolean => {
43
+ // Handle strict equality first (handles primitives, null, undefined)
44
+ if (a === b) return true;
45
+
46
+ // Special handling for NaN (NaN !== NaN in JS)
47
+ if (
48
+ typeof a === 'number' &&
49
+ typeof b === 'number' &&
50
+ Number.isNaN(a) &&
51
+ Number.isNaN(b)
52
+ ) {
53
+ return false;
54
+ }
55
+
56
+ // If either is null or undefined (but they are not strictly equal), return false
57
+ if (a == null || b == null) return false;
58
+
59
+ // If types don't match, they can't be equal
60
+ if (typeof a !== typeof b) return false;
61
+
62
+ // Handle array comparison
63
+ if (Array.isArray(a) && Array.isArray(b)) {
64
+ if (a.length !== b.length) return false;
65
+ return a.every((val, index) => deepCompareValue(val, b[index]));
66
+ }
67
+
68
+ // If one is array and the other isn't, return false
69
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
70
+
71
+ // Handle object comparison
72
+ if (typeof a === 'object' && typeof b === 'object') {
73
+ const keysA = Object.keys(a) as (keyof V)[];
74
+ const keysB = Object.keys(b) as (keyof V)[];
75
+
76
+ if (keysA.length !== keysB.length) return false;
77
+
78
+ return keysA.every(
79
+ (key) => keysB.includes(key) && deepCompareValue(a[key], b[key])
80
+ );
81
+ }
82
+
83
+ // If none of the above conditions matched, they're not equal
84
+ return false;
85
+ };
86
+
87
+ export const useKeyboard = () => {
88
+ const [isKeyboardVisible, setKeyboardVisible] = useState(false);
89
+ const [keyboardHeight, setKeyboardHeight] = useState(0);
90
+
91
+ useEffect(() => {
92
+ const keyboardWillShowListener = Keyboard.addListener(
93
+ 'keyboardWillShow',
94
+ (e) => {
95
+ setKeyboardVisible(true);
96
+ setKeyboardHeight(e.endCoordinates.height);
97
+ }
98
+ );
99
+ const keyboardWillHideListener = Keyboard.addListener(
100
+ 'keyboardWillHide',
101
+ () => {
102
+ setKeyboardVisible(false);
103
+ }
104
+ );
105
+
106
+ return () => {
107
+ keyboardWillShowListener.remove();
108
+ keyboardWillHideListener.remove();
109
+ };
110
+ }, []);
111
+
112
+ return { isKeyboardVisible, keyboardHeight };
113
+ };