@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
@@ -0,0 +1,134 @@
1
+ import React from 'react';
2
+ import { fireEvent } from '@testing-library/react-native';
3
+ import renderWithTheme from '../../../../testHelpers/renderWithTheme';
4
+ import ColumnChart, { ColumnChartProps } from '../index';
5
+
6
+ const baseData: ColumnChartProps['data'] = [
7
+ {
8
+ label: 'Series 1',
9
+ data: [10, 20, 30],
10
+ },
11
+ {
12
+ label: 'Series 2',
13
+ data: [5, 15, 25],
14
+ },
15
+ ];
16
+
17
+ const xAxisConfig = {
18
+ labels: ['A', 'B', 'C'],
19
+ };
20
+
21
+ describe('ColumnChart', () => {
22
+ it('renders without crashing', () => {
23
+ const { getByTestId, toJSON, getByText } = renderWithTheme(
24
+ <ColumnChart
25
+ data={baseData}
26
+ xAxisConfig={xAxisConfig}
27
+ testID="column-chart"
28
+ />
29
+ );
30
+ // Simulate the onLayout event
31
+ fireEvent(getByTestId('column-chart'), 'layout', {
32
+ nativeEvent: {
33
+ layout: { x: 0, y: 0, width: 100, height: 200 },
34
+ },
35
+ });
36
+ expect(toJSON()).toMatchSnapshot();
37
+
38
+ // Check all expected y-axis labels
39
+ for (let value = 0; value <= 60; value += 10) {
40
+ expect(getByText(String(value))).toBeTruthy();
41
+ }
42
+
43
+ expect(getByText('A')).toBeTruthy();
44
+ expect(getByText('B')).toBeTruthy();
45
+ expect(getByText('C')).toBeTruthy();
46
+
47
+ // Check a few segments for correct accessibilityLabel and testID
48
+ const segmentA1 = getByTestId('column-segment-A-Series 1');
49
+ expect(segmentA1.props.accessibilityLabel).toContain('value 10');
50
+ expect(segmentA1.props.accessibilityLabel).toContain('x-label A');
51
+ expect(segmentA1.props.accessibilityLabel).toContain('series Series 1');
52
+
53
+ const segmentB2 = getByTestId('column-segment-B-Series 2');
54
+ expect(segmentB2.props.accessibilityLabel).toContain('value 15');
55
+ expect(segmentB2.props.accessibilityLabel).toContain('x-label B');
56
+ expect(segmentB2.props.accessibilityLabel).toContain('series Series 2');
57
+ });
58
+
59
+ it('throws error if xAxisConfig.labels length does not match data length', () => {
60
+ const badData = [{ label: 'Series 1', data: [1, 2] }];
61
+ const badXAxisConfig = { labels: ['A', 'B', 'C'] };
62
+ expect(() =>
63
+ renderWithTheme(
64
+ <ColumnChart
65
+ data={badData}
66
+ xAxisConfig={badXAxisConfig}
67
+ testID="bad-chart"
68
+ />
69
+ )
70
+ ).toThrow();
71
+ });
72
+
73
+ it('renders emptyText when data is empty', () => {
74
+ const { getByTestId, getByText, toJSON } = renderWithTheme(
75
+ <ColumnChart
76
+ data={[]}
77
+ xAxisConfig={xAxisConfig}
78
+ testID="column-chart-empty"
79
+ emptyText="No data available"
80
+ />
81
+ );
82
+ // Simulate the onLayout event
83
+ fireEvent(getByTestId('column-chart-empty'), 'layout', {
84
+ nativeEvent: {
85
+ layout: { x: 0, y: 0, width: 100, height: 200 },
86
+ },
87
+ });
88
+ expect(getByText('No data available')).toBeTruthy();
89
+ expect(toJSON()).toMatchSnapshot();
90
+ });
91
+
92
+ it('throws error if any data value is negative', () => {
93
+ const negativeData = [
94
+ { label: 'Series 1', data: [10, -5, 20] },
95
+ { label: 'Series 2', data: [5, 15, 25] },
96
+ ];
97
+ expect(() =>
98
+ renderWithTheme(
99
+ <ColumnChart
100
+ data={negativeData}
101
+ xAxisConfig={xAxisConfig}
102
+ testID="negative-chart"
103
+ />
104
+ )
105
+ ).toThrow('Negative values are not supported in ColumnChart');
106
+ });
107
+
108
+ it('calls onBarPress with correct info when a bar is pressed', () => {
109
+ const onBarPress = jest.fn();
110
+ const { getByTestId } = renderWithTheme(
111
+ <ColumnChart
112
+ data={baseData}
113
+ xAxisConfig={xAxisConfig}
114
+ testID="column-chart"
115
+ onBarPress={onBarPress}
116
+ />
117
+ );
118
+ // Simulate the onLayout event
119
+ fireEvent(getByTestId('column-chart'), 'layout', {
120
+ nativeEvent: {
121
+ layout: { x: 0, y: 0, width: 100, height: 200 },
122
+ },
123
+ });
124
+ // Press the first segment (A, Series 1)
125
+ fireEvent.press(getByTestId('column-segment-A-Series 1'));
126
+ expect(onBarPress).toHaveBeenCalledWith({
127
+ value: 10,
128
+ xLabel: 'A',
129
+ seriesLabel: 'Series 1',
130
+ seriesIndex: 0,
131
+ xIndex: 0,
132
+ });
133
+ });
134
+ });
@@ -0,0 +1,216 @@
1
+ // ColumnChart/index.tsx
2
+ // This is the main entry point for the ColumnChart component in the RN chart library.
3
+ // It composes the full column chart, handling layout, axis configuration, empty state, and rendering grouped/stacked columns.
4
+ // The component is highly configurable and uses subcomponents for axes, content, and frame.
5
+
6
+ import React, { useMemo, useState, useCallback, useEffect } from 'react';
7
+ import { ViewStyle, LayoutChangeEvent } from 'react-native';
8
+ import ChartFrame from '../shared/ChartFrame';
9
+ import {
10
+ DataValue,
11
+ HeaderConfig,
12
+ Series,
13
+ XAxisConfig,
14
+ YAxisConfig,
15
+ } from '../types';
16
+ import ColumnChartContent from './ColumnChartContent';
17
+ import { createNiceScale } from '../shared/niceNumbers';
18
+ import { StyledColumnChartWrapper } from './StyledColumnChart';
19
+
20
+ /**
21
+ * Props for the ColumnChart component.
22
+ *
23
+ * @property data - The data to be displayed in the chart. Each item represents a series.
24
+ * @property yAxisConfig - Optional configuration for the Y axis.
25
+ * @property xAxisConfig - Optional configuration for the X axis.
26
+ * @property style - Additional style for the root View. Follows the same convention as other components (e.g., Button).
27
+ * @property testID - Testing id of the component. Passed to the root View and used as a suffix for inner elements.
28
+ * @property headerConfig - Optional header configuration (title, actions).
29
+ * @property emptyText - Optional text to display when data is empty.
30
+ * @property onBarPress - Called when a bar (column segment) is pressed. Receives info about the bar.
31
+ */
32
+ export interface ColumnChartProps {
33
+ /**
34
+ * The data to be displayed in the chart. Each item represents a series.
35
+ */
36
+ data: Array<Series<Array<DataValue>>>;
37
+ /**
38
+ * Optional configuration for the Y axis.
39
+ * Note: minValue is omitted and always set to zero internally by the component.
40
+ */
41
+ yAxisConfig?: Omit<YAxisConfig, 'minValue'>;
42
+ /**
43
+ * Optional configuration for the X axis.
44
+ */
45
+ xAxisConfig?: XAxisConfig;
46
+ /**
47
+ * Additional style for the root View.
48
+ */
49
+ style?: ViewStyle;
50
+ /**
51
+ * Testing id of the component.
52
+ */
53
+ testID?: string;
54
+ /**
55
+ * Header configuration for the chart.
56
+ */
57
+ headerConfig?: HeaderConfig;
58
+ /**
59
+ * Text to display when the chart has no data (empty state).
60
+ */
61
+ emptyText?: string;
62
+ /**
63
+ * Called when a bar (column segment) is pressed. Receives info about the bar.
64
+ */
65
+ onBarPress?: (info: {
66
+ value: number | undefined;
67
+ xLabel: string;
68
+ seriesLabel: string;
69
+ seriesIndex: number;
70
+ xIndex: number;
71
+ }) => void;
72
+ }
73
+
74
+ /**
75
+ * ColumnChart component for rendering grouped/stacked column charts.
76
+ * Handles layout, axis configuration, empty state, and data validation.
77
+ * Uses ChartFrame for layout and axes, and ColumnChartContent for rendering columns.
78
+ *
79
+ * @param data - Array of series, each with a label and array of values.
80
+ * @param yAxisConfig - Optional Y axis configuration.
81
+ * @param xAxisConfig - Optional X axis configuration.
82
+ * @param style - Optional style for the chart container.
83
+ * @param testID - Optional test ID for testing.
84
+ * @param headerConfig - Optional header configuration (title, actions).
85
+ * @param emptyText - Optional text to display when data is empty.
86
+ * @param onBarPress - Called when a bar (column segment) is pressed. Receives info about the bar.
87
+ *
88
+ * Example usage:
89
+ * <ColumnChart
90
+ * data={data}
91
+ * xAxisConfig={xAxisConfig}
92
+ * yAxisConfig={yAxisConfig}
93
+ * emptyText="No data available"
94
+ * />
95
+ */
96
+ const ColumnChart = ({
97
+ data,
98
+ yAxisConfig = {},
99
+ xAxisConfig = {},
100
+ style,
101
+ testID,
102
+ headerConfig,
103
+ emptyText,
104
+ onBarPress,
105
+ }: ColumnChartProps) => {
106
+ const xLabels = useMemo(() => {
107
+ return xAxisConfig.labels && xAxisConfig.labels.length > 0
108
+ ? xAxisConfig.labels
109
+ : data[0]?.data.map((_, index) => index.toString()) || [];
110
+ }, [data[0]?.data.length, xAxisConfig.labels?.length]);
111
+
112
+ useEffect(() => {
113
+ // Validation: xLabels length must match each series' data length, only if labels are explicitly provided
114
+ if (xAxisConfig.labels && xAxisConfig.labels.length > 0) {
115
+ data.forEach((series) => {
116
+ if (series.data.length !== xLabels.length) {
117
+ throw new Error(
118
+ `xAxisConfig.labels length (${xLabels.length}) does not match data length (${series.data.length}) in series label: ${series.label}`
119
+ );
120
+ }
121
+ });
122
+ }
123
+ }, [data, xAxisConfig]);
124
+
125
+ useEffect(() => {
126
+ // Assert that the chart does not support negative values
127
+ data.forEach((series) => {
128
+ series.data.forEach((value, idx) => {
129
+ if (typeof value === 'number' && value < 0) {
130
+ throw new Error(
131
+ `Negative values are not supported in ColumnChart. Found value ${value} in series "${series.label}" at index ${idx}.`
132
+ );
133
+ }
134
+ });
135
+ });
136
+ }, [data]);
137
+
138
+ const [dimensions, setDimensions] = useState<{
139
+ width: number;
140
+ height: number;
141
+ } | null>(null);
142
+
143
+ const onLayout = useCallback((event: LayoutChangeEvent) => {
144
+ const { width, height } = event.nativeEvent.layout;
145
+ if (width > 0 && height > 0) {
146
+ setDimensions({ width, height });
147
+ }
148
+ }, []);
149
+
150
+ // Calculate stacked maxY
151
+ const yMax = useMemo(
152
+ () =>
153
+ Math.max(
154
+ ...xLabels.map((_, xIdx) =>
155
+ data.reduce((sum, series) => sum + (series.data[xIdx] ?? 0), 0)
156
+ )
157
+ ),
158
+ [data, xLabels]
159
+ );
160
+
161
+ const niceValues = useMemo(() => {
162
+ const maxDataValue = yMax;
163
+ const minDataValue = 0;
164
+ return createNiceScale(minDataValue, maxDataValue);
165
+ }, [data]);
166
+
167
+ const yAxisStep = yAxisConfig?.step ?? niceValues.tickSpacing;
168
+ const yAxisInterval = yAxisConfig?.tick?.interval ?? yAxisStep;
169
+
170
+ const calculatedYAxisConfig = useMemo(() => {
171
+ return {
172
+ ...yAxisConfig,
173
+ maxValue: yAxisConfig?.maxValue ?? niceValues.niceMax,
174
+ minValue: 0,
175
+ step: yAxisConfig?.step ?? niceValues.tickSpacing,
176
+ tick: {
177
+ interval: yAxisInterval,
178
+ },
179
+ };
180
+ }, [yAxisConfig, niceValues, yAxisInterval]);
181
+
182
+ const calculatedXAxisConfig = useMemo(() => {
183
+ return {
184
+ ...xAxisConfig,
185
+ labels: xLabels,
186
+ };
187
+ }, [xAxisConfig, xLabels]);
188
+
189
+ return (
190
+ <StyledColumnChartWrapper style={style} testID={testID} onLayout={onLayout}>
191
+ {dimensions && (
192
+ <ChartFrame
193
+ isEmpty={data.length === 0}
194
+ xAxisConfig={calculatedXAxisConfig}
195
+ yAxisConfig={calculatedYAxisConfig}
196
+ headerConfig={headerConfig}
197
+ width={dimensions.width}
198
+ height={dimensions.height}
199
+ hideXAxisGrid
200
+ emptyText={emptyText}
201
+ renderContent={({ coordinates }) => (
202
+ <ColumnChartContent
203
+ coordinates={coordinates}
204
+ data={data}
205
+ xAxisConfig={calculatedXAxisConfig}
206
+ yAxisConfig={calculatedYAxisConfig}
207
+ onBarPress={onBarPress}
208
+ />
209
+ )}
210
+ />
211
+ )}
212
+ </StyledColumnChartWrapper>
213
+ );
214
+ };
215
+
216
+ export default ColumnChart;
@@ -0,0 +1,81 @@
1
+ import * as d3 from 'd3';
2
+ import React, { useMemo } from 'react';
3
+ import { Path } from 'react-native-svg';
4
+ import { DEFAULT_LINE_STROKE_WIDTH } from '../shared/constants';
5
+ import useScaleBandX from '../shared/hooks/useScaleBandX';
6
+ import useScaleLinearY from '../shared/hooks/useScaleLinearY';
7
+ import { AxisCoordinates, DataValue } from '../types';
8
+ import { useTheme } from '../../../theme';
9
+
10
+ /**
11
+ * Props for the Line chart component
12
+ */
13
+ type LineProps = {
14
+ /** Array of data points to be plotted on the line chart */
15
+ data: DataValue[];
16
+ /** Maximum value for the Y-axis scale */
17
+ maxValue: number;
18
+ /** Minimum value for the Y-axis scale */
19
+ minValue: number;
20
+ /** Array of labels for the X-axis points */
21
+ labels: string[];
22
+ /** Coordinates defining the chart's boundaries and scale */
23
+ coordinates: AxisCoordinates;
24
+ /** Color for the line */
25
+ color?: string;
26
+ };
27
+
28
+ const Line = ({
29
+ data,
30
+ maxValue,
31
+ minValue,
32
+ labels,
33
+ coordinates,
34
+ color,
35
+ }: LineProps) => {
36
+ const { xStart, xEnd, yStart, yEnd } = coordinates;
37
+ const theme = useTheme();
38
+
39
+ // Create scales
40
+ const xScale = useScaleBandX({
41
+ labels,
42
+ xStart,
43
+ xEnd,
44
+ });
45
+
46
+ const yScale = useScaleLinearY({
47
+ maxValue,
48
+ minValue,
49
+ yStart,
50
+ yEnd,
51
+ });
52
+
53
+ // Create line generator with proper curve
54
+ const lineGenerator = useMemo(
55
+ () =>
56
+ d3
57
+ .line<DataValue>()
58
+ .x((_, i) => (xScale(labels[i]) ?? 0) + xScale.bandwidth() / 2)
59
+ .y((d) => yScale(d ?? 0))
60
+ .curve(d3.curveBasis),
61
+ [xScale, yScale, labels]
62
+ );
63
+
64
+ // Generate path data
65
+ const pathData = useMemo(() => lineGenerator(data), [data, lineGenerator]);
66
+
67
+ return pathData ? (
68
+ <Path
69
+ testID="line-path"
70
+ accessibilityLabel={`chart-line-maxValue:${maxValue},minValue:${minValue},labelsLength:${labels.length}`}
71
+ d={pathData}
72
+ stroke={color || theme.colors.secondary}
73
+ strokeWidth={DEFAULT_LINE_STROKE_WIDTH}
74
+ fill="none"
75
+ strokeLinecap="round"
76
+ strokeLinejoin="round"
77
+ />
78
+ ) : null;
79
+ };
80
+
81
+ export default Line;
@@ -0,0 +1,148 @@
1
+ import React from 'react';
2
+ import renderWithTheme from '../../../../testHelpers/renderWithTheme';
3
+ import Line from '../Line';
4
+
5
+ describe('Line', () => {
6
+ it('should render with basic data', () => {
7
+ const { getByTestId, toJSON } = renderWithTheme(
8
+ <Line
9
+ data={[1, 2, 3]}
10
+ maxValue={3}
11
+ minValue={1}
12
+ labels={['1', '2', '3']}
13
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
14
+ />
15
+ );
16
+
17
+ expect(toJSON()).toMatchSnapshot();
18
+ const path = getByTestId('line-path');
19
+ expect(path).toBeTruthy();
20
+ expect(path.props.accessibilityLabel).toBe(
21
+ 'chart-line-maxValue:3,minValue:1,labelsLength:3'
22
+ );
23
+ expect(path.props.d).toBe(
24
+ 'M96.875,250L109.896,233.333C122.917,216.667,148.958,183.333,175,150C201.042,116.667,227.083,83.333,240.104,66.667L253.125,50'
25
+ );
26
+ });
27
+
28
+ it('should render with negative values', () => {
29
+ const { getByTestId } = renderWithTheme(
30
+ <Line
31
+ data={[-1, -2, -3]}
32
+ maxValue={-1}
33
+ minValue={-3}
34
+ labels={['1', '2', '3']}
35
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
36
+ />
37
+ );
38
+
39
+ const path = getByTestId('line-path');
40
+ expect(path).toBeTruthy();
41
+ expect(path.props.accessibilityLabel).toBe(
42
+ 'chart-line-maxValue:-1,minValue:-3,labelsLength:3'
43
+ );
44
+ expect(path.props.d).toBe(
45
+ 'M96.875,50L109.896,66.667C122.917,83.333,148.958,116.667,175,150C201.042,183.333,227.083,216.667,240.104,233.333L253.125,250'
46
+ );
47
+ });
48
+
49
+ it('should render with mixed positive and negative values', () => {
50
+ const { getByTestId } = renderWithTheme(
51
+ <Line
52
+ data={[-1, 0, 1]}
53
+ maxValue={1}
54
+ minValue={-1}
55
+ labels={['1', '2', '3']}
56
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
57
+ />
58
+ );
59
+
60
+ const path = getByTestId('line-path');
61
+ expect(path).toBeTruthy();
62
+ expect(path.props.accessibilityLabel).toBe(
63
+ 'chart-line-maxValue:1,minValue:-1,labelsLength:3'
64
+ );
65
+ expect(path.props.d).toBe(
66
+ 'M96.875,250L109.896,233.333C122.917,216.667,148.958,183.333,175,150C201.042,116.667,227.083,83.333,240.104,66.667L253.125,50'
67
+ );
68
+ });
69
+
70
+ it('should render with decimal values', () => {
71
+ const { getByTestId } = renderWithTheme(
72
+ <Line
73
+ data={[1.5, 2.5, 3.5]}
74
+ maxValue={3.5}
75
+ minValue={1.5}
76
+ labels={['1', '2', '3']}
77
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
78
+ />
79
+ );
80
+
81
+ const path = getByTestId('line-path');
82
+ expect(path).toBeTruthy();
83
+ expect(path.props.accessibilityLabel).toBe(
84
+ 'chart-line-maxValue:3.5,minValue:1.5,labelsLength:3'
85
+ );
86
+ expect(path.props.d).toBe(
87
+ 'M96.875,250L109.896,233.333C122.917,216.667,148.958,183.333,175,150C201.042,116.667,227.083,83.333,240.104,66.667L253.125,50'
88
+ );
89
+ });
90
+
91
+ it('should render with different coordinates', () => {
92
+ const { getByTestId } = renderWithTheme(
93
+ <Line
94
+ data={[1, 2, 3]}
95
+ maxValue={3}
96
+ minValue={1}
97
+ labels={['1', '2', '3']}
98
+ coordinates={{ xStart: 100, xEnd: 400, yStart: 100, yEnd: 300 }}
99
+ />
100
+ );
101
+
102
+ const path = getByTestId('line-path');
103
+ expect(path).toBeTruthy();
104
+ expect(path.props.accessibilityLabel).toBe(
105
+ 'chart-line-maxValue:3,minValue:1,labelsLength:3'
106
+ );
107
+ expect(path.props.d).toBe(
108
+ 'M156.25,300L171.875,283.333C187.5,266.667,218.75,233.333,250,200C281.25,166.667,312.5,133.333,328.125,116.667L343.75,100'
109
+ );
110
+ });
111
+
112
+ it('should not render when path data is null', () => {
113
+ const { queryByTestId } = renderWithTheme(
114
+ <Line
115
+ data={[]}
116
+ maxValue={0}
117
+ minValue={0}
118
+ labels={[]}
119
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
120
+ />
121
+ );
122
+
123
+ expect(queryByTestId('line-path')).toBeNull();
124
+ });
125
+
126
+ it('should render with custom color', () => {
127
+ const { getByTestId } = renderWithTheme(
128
+ <Line
129
+ data={[1, 2, 3]}
130
+ maxValue={3}
131
+ minValue={1}
132
+ labels={['1', '2', '3']}
133
+ coordinates={{ xStart: 50, xEnd: 300, yStart: 50, yEnd: 250 }}
134
+ color="#FF0000"
135
+ />
136
+ );
137
+
138
+ const path = getByTestId('line-path');
139
+ expect(path).toBeTruthy();
140
+ expect(path.props.accessibilityLabel).toBe(
141
+ 'chart-line-maxValue:3,minValue:1,labelsLength:3'
142
+ );
143
+ expect(path.props.d).toBe(
144
+ 'M96.875,250L109.896,233.333C122.917,216.667,148.958,183.333,175,150C201.042,116.667,227.083,83.333,240.104,66.667L253.125,50'
145
+ );
146
+ expect(path.props.stroke).toEqual({ payload: 4294901760, type: 0 });
147
+ });
148
+ });
@@ -0,0 +1,56 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Line should render with basic data 1`] = `
4
+ <View
5
+ style={
6
+ {
7
+ "flex": 1,
8
+ }
9
+ }
10
+ >
11
+ <RNSVGPath
12
+ accessibilityLabel="chart-line-maxValue:3,minValue:1,labelsLength:3"
13
+ d="M96.875,250L109.896,233.333C122.917,216.667,148.958,183.333,175,150C201.042,116.667,227.083,83.333,240.104,66.667L253.125,50"
14
+ fill={null}
15
+ propList={
16
+ [
17
+ "fill",
18
+ "stroke",
19
+ "strokeWidth",
20
+ "strokeLinecap",
21
+ "strokeLinejoin",
22
+ ]
23
+ }
24
+ stroke={
25
+ {
26
+ "payload": 4286144144,
27
+ "type": 0,
28
+ }
29
+ }
30
+ strokeLinecap={1}
31
+ strokeLinejoin={1}
32
+ strokeWidth={2}
33
+ testID="line-path"
34
+ />
35
+ <View
36
+ pointerEvents="box-none"
37
+ position="bottom"
38
+ style={
39
+ [
40
+ {
41
+ "bottom": 0,
42
+ "elevation": 9999,
43
+ "flexDirection": "column-reverse",
44
+ "left": 0,
45
+ "paddingHorizontal": 24,
46
+ "paddingVertical": 16,
47
+ "position": "absolute",
48
+ "right": 0,
49
+ "top": 0,
50
+ },
51
+ undefined,
52
+ ]
53
+ }
54
+ />
55
+ </View>
56
+ `;