@hero-design/rn 7.1.3-alpha5 → 7.1.3-alpha8

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 (165) hide show
  1. package/.eslintrc.json +0 -6
  2. package/.expo/packager-info.json +1 -1
  3. package/babel.config.js +0 -14
  4. package/es/index.js +2787 -8941
  5. package/jest-setup.ts +0 -1
  6. package/jest.config.js +2 -4
  7. package/lib/index.js +2822 -8956
  8. package/package.json +5 -7
  9. package/playground/components/BottomNavigation.tsx +14 -11
  10. package/playground/components/Button.tsx +67 -0
  11. package/playground/components/Card.tsx +141 -107
  12. package/playground/components/Tabs.tsx +44 -0
  13. package/playground/index.tsx +13 -7
  14. package/src/components/Badge/StyledBadge.tsx +19 -21
  15. package/src/components/Badge/__tests__/Badge.spec.tsx +9 -18
  16. package/src/components/Badge/__tests__/__snapshots__/Badge.spec.tsx.snap +76 -96
  17. package/src/components/Badge/index.tsx +1 -1
  18. package/src/components/BottomNavigation/StyledBottomNavigation.tsx +44 -42
  19. package/src/components/BottomNavigation/__tests__/__snapshots__/{BottomNavigation.spec.tsx.snap → index.spec.tsx.snap} +130 -96
  20. package/src/components/BottomNavigation/__tests__/{BottomNavigation.spec.tsx → index.spec.tsx} +4 -4
  21. package/src/components/BottomNavigation/index.tsx +28 -32
  22. package/src/components/Button/IconButton.tsx +62 -0
  23. package/src/components/Button/__tests__/__snapshots__/index.spec.tsx.snap +46 -0
  24. package/src/components/Button/__tests__/index.spec.tsx +23 -0
  25. package/src/components/Button/index.tsx +5 -0
  26. package/src/components/Card/StyledCard.tsx +6 -6
  27. package/src/components/Card/__tests__/StyledCard.spec.tsx +2 -7
  28. package/src/components/Card/__tests__/__snapshots__/StyledCard.spec.tsx.snap +8 -11
  29. package/src/components/Card/__tests__/__snapshots__/{Card.spec.tsx.snap → index.spec.tsx.snap} +2 -8
  30. package/src/components/Card/__tests__/index.spec.tsx +35 -0
  31. package/src/components/Divider/StyledDivider.tsx +18 -60
  32. package/src/components/Divider/__tests__/StyledDivider.spec.tsx +5 -10
  33. package/src/components/Divider/__tests__/__snapshots__/StyledDivider.spec.tsx.snap +106 -70
  34. package/src/components/Divider/index.tsx +1 -1
  35. package/src/components/FAB/ActionGroup/ActionItem.tsx +2 -4
  36. package/src/components/FAB/ActionGroup/StyledActionGroup.tsx +36 -37
  37. package/src/components/FAB/ActionGroup/StyledActionItem.tsx +26 -24
  38. package/src/components/FAB/ActionGroup/__tests__/__snapshots__/index.spec.tsx.snap +271 -245
  39. package/src/components/FAB/ActionGroup/__tests__/index.spec.tsx +29 -33
  40. package/src/components/FAB/ActionGroup/index.tsx +1 -5
  41. package/src/components/FAB/AnimatedFABIcon.tsx +1 -1
  42. package/src/components/FAB/FAB.tsx +5 -9
  43. package/src/components/FAB/StyledFAB.tsx +22 -0
  44. package/src/components/FAB/__tests__/AnimatedFABIcon.spec.tsx +3 -6
  45. package/src/components/FAB/__tests__/StyledFAB.spec.tsx +24 -0
  46. package/src/components/FAB/__tests__/__snapshots__/AnimatedFABIcon.spec.tsx.snap +14 -10
  47. package/src/components/FAB/__tests__/__snapshots__/StyledFAB.spec.tsx.snap +72 -0
  48. package/src/components/FAB/__tests__/__snapshots__/index.spec.tsx.snap +16 -17
  49. package/src/components/FAB/__tests__/index.spec.tsx +21 -26
  50. package/src/components/Icon/HeroIcon/index.tsx +5 -7
  51. package/src/components/Icon/__tests__/__snapshots__/{Icon.spec.tsx.snap → index.spec.tsx.snap} +21 -12
  52. package/src/components/Icon/__tests__/index.spec.tsx +25 -0
  53. package/src/components/Icon/index.tsx +1 -1
  54. package/src/components/Tabs/StyledTabs.tsx +70 -0
  55. package/src/components/Tabs/__tests__/__snapshots__/index.spec.tsx.snap +321 -0
  56. package/src/components/Tabs/__tests__/index.spec.tsx +79 -0
  57. package/src/components/Tabs/index.tsx +185 -0
  58. package/src/components/Typography/Text/StyledText.tsx +19 -64
  59. package/src/components/Typography/Text/__tests__/__snapshots__/StyledText.spec.tsx.snap +90 -63
  60. package/src/emotion.d.ts +6 -0
  61. package/src/index.ts +9 -3
  62. package/src/testHelpers/renderWithTheme.tsx +2 -1
  63. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +70 -48
  64. package/src/theme/components/badge.ts +10 -9
  65. package/src/theme/components/bottomNavigation.ts +7 -3
  66. package/src/theme/components/card.ts +2 -2
  67. package/src/theme/components/divider.ts +6 -6
  68. package/src/theme/components/fab.ts +19 -17
  69. package/src/theme/components/tabs.ts +20 -0
  70. package/src/theme/components/typography.ts +4 -4
  71. package/src/theme/global/borders.ts +8 -2
  72. package/src/theme/global/colors.ts +3 -1
  73. package/src/theme/global/index.ts +31 -17
  74. package/src/theme/global/scale.ts +18 -0
  75. package/src/theme/global/space.ts +23 -13
  76. package/src/theme/global/typography.ts +71 -27
  77. package/src/theme/index.ts +29 -13
  78. package/src/types.ts +7 -0
  79. package/src/utils/__tests__/scale.spec.ts +3 -3
  80. package/testUtils/setup.ts +11 -0
  81. package/tsconfig.json +1 -5
  82. package/types/playground/components/BottomNavigation.d.ts +2 -2
  83. package/types/playground/components/Button.d.ts +2 -0
  84. package/types/playground/components/Tabs.d.ts +2 -0
  85. package/types/src/components/Badge/StyledBadge.d.ts +16 -5
  86. package/types/src/components/Badge/index.d.ts +1 -1
  87. package/types/src/components/BottomNavigation/StyledBottomNavigation.d.ts +44 -9
  88. package/types/src/components/{Typography/Text/__test__ → BottomNavigation/__tests__}/index.spec.d.ts +0 -0
  89. package/types/src/components/BottomNavigation/index.d.ts +19 -14
  90. package/types/src/components/Button/IconButton.d.ts +34 -0
  91. package/types/{theme → src/components/Button}/__tests__/index.spec.d.ts +0 -0
  92. package/types/src/components/Button/index.d.ts +4 -0
  93. package/types/src/components/Card/StyledCard.d.ts +7 -1
  94. package/types/{components/Card/__tests__/Card.spec.d.ts → src/components/Card/__tests__/index.spec.d.ts} +0 -0
  95. package/types/src/components/Divider/StyledDivider.d.ts +8 -2
  96. package/types/src/components/Divider/index.d.ts +1 -1
  97. package/types/src/components/FAB/ActionGroup/StyledActionGroup.d.ts +25 -7
  98. package/types/src/components/FAB/ActionGroup/StyledActionItem.d.ts +11 -2
  99. package/types/src/components/FAB/ActionGroup/index.d.ts +1 -1
  100. package/types/src/components/FAB/FAB.d.ts +4 -4
  101. package/types/src/components/FAB/StyledFAB.d.ts +14 -0
  102. package/types/{components/Card/__tests__/StyledCard.spec.d.ts → src/components/FAB/__tests__/StyledFAB.spec.d.ts} +0 -0
  103. package/types/src/components/Icon/HeroIcon/index.d.ts +8 -2
  104. package/types/{components/Divider/__tests__/StyledDivider.spec.d.ts → src/components/Icon/__tests__/index.spec.d.ts} +0 -0
  105. package/types/src/components/Icon/index.d.ts +1 -1
  106. package/types/src/components/Icon/utils.d.ts +1 -1
  107. package/types/src/components/Tabs/StyledTabs.d.ts +55 -0
  108. package/types/{components/ExampleComponent/__tests__/StyledView.spec.d.ts → src/components/Tabs/__tests__/index.spec.d.ts} +0 -0
  109. package/types/src/components/Tabs/index.d.ts +45 -0
  110. package/types/src/components/Typography/Text/StyledText.d.ts +8 -2
  111. package/types/src/index.d.ts +6 -3
  112. package/types/src/theme/components/badge.d.ts +8 -7
  113. package/types/src/theme/components/bottomNavigation.d.ts +8 -2
  114. package/types/src/theme/components/card.d.ts +2 -2
  115. package/types/src/theme/components/divider.d.ts +6 -6
  116. package/types/src/theme/components/fab.d.ts +19 -17
  117. package/types/src/theme/components/tabs.d.ts +15 -0
  118. package/types/src/theme/components/typography.d.ts +4 -4
  119. package/types/src/theme/global/borders.d.ts +4 -3
  120. package/types/src/theme/global/colors.d.ts +2 -2
  121. package/types/src/theme/global/index.d.ts +10 -45
  122. package/types/src/theme/global/scale.d.ts +8 -0
  123. package/types/src/theme/global/space.d.ts +8 -7
  124. package/types/src/theme/global/typography.d.ts +9 -16
  125. package/types/src/theme/index.d.ts +4 -2
  126. package/types/src/types.d.ts +5 -0
  127. package/lib/assets/fonts/be-vietnam-pro-light.ttf +0 -0
  128. package/lib/assets/fonts/be-vietnam-pro-regular.ttf +0 -0
  129. package/lib/assets/fonts/be-vietnam-pro-semibold.ttf +0 -0
  130. package/src/components/Card/__tests__/Card.spec.tsx +0 -36
  131. package/src/components/FAB/StyledFABContainer.tsx +0 -14
  132. package/src/components/FAB/StyledFABIcon.tsx +0 -9
  133. package/src/components/FAB/__tests__/StyledFABContainer.spec.tsx +0 -18
  134. package/src/components/FAB/__tests__/StyledFABIcon.spec.tsx +0 -16
  135. package/src/components/FAB/__tests__/__snapshots__/StyledFABContainer.spec.tsx.snap +0 -46
  136. package/src/components/FAB/__tests__/__snapshots__/StyledFABIcon.spec.tsx.snap +0 -21
  137. package/src/components/Icon/__tests__/Icon.spec.tsx +0 -36
  138. package/src/styled-components.ts +0 -14
  139. package/src/styled.d.ts +0 -7
  140. package/types/components/Card/StyledCard.d.ts +0 -3
  141. package/types/components/Card/index.d.ts +0 -5
  142. package/types/components/Divider/StyledDivider.d.ts +0 -7
  143. package/types/components/Divider/index.d.ts +0 -12
  144. package/types/components/ExampleComponent/StyledView.d.ts +0 -7
  145. package/types/components/ExampleComponent/index.d.ts +0 -16
  146. package/types/index.d.ts +0 -5
  147. package/types/src/components/BottomNavigation/__tests__/BottomNavigation.spec.d.ts +0 -1
  148. package/types/src/components/Card/__tests__/Card.spec.d.ts +0 -1
  149. package/types/src/components/FAB/StyledFABContainer.d.ts +0 -3
  150. package/types/src/components/FAB/StyledFABIcon.d.ts +0 -3
  151. package/types/src/components/FAB/__tests__/StyledFABContainer.spec.d.ts +0 -1
  152. package/types/src/components/FAB/__tests__/StyledFABIcon.spec.d.ts +0 -1
  153. package/types/src/components/Icon/__tests__/Icon.spec.d.ts +0 -1
  154. package/types/src/components/Typography/Text/__test__/StyledText.spec.d.ts +0 -1
  155. package/types/src/styled-components.d.ts +0 -6
  156. package/types/styled-components.d.ts +0 -6
  157. package/types/theme/components/card.d.ts +0 -10
  158. package/types/theme/components/divider.d.ts +0 -17
  159. package/types/theme/components/exampleComponent.d.ts +0 -14
  160. package/types/theme/global/borders.d.ts +0 -4
  161. package/types/theme/global/colors.d.ts +0 -26
  162. package/types/theme/global/index.d.ts +0 -63
  163. package/types/theme/global/space.d.ts +0 -12
  164. package/types/theme/global/typography.d.ts +0 -21
  165. package/types/theme/index.d.ts +0 -13
@@ -1,12 +1,30 @@
1
+ /// <reference types="react" />
1
2
  import { Animated, View, ViewProps } from 'react-native';
2
3
  import { TextProps } from '../../Typography/Text';
3
- declare const StyledContainer: import("styled-components").StyledComponent<typeof View, import("../../../theme").Theme, ViewProps, never>;
4
- declare const StyledActionGroupContainer: import("styled-components").StyledComponent<Animated.AnimatedComponent<typeof View>, import("../../../theme").Theme, Animated.AnimatedProps<ViewProps & import("react").RefAttributes<View>> & {
4
+ declare const StyledContainer: import("@emotion/native").StyledComponent<ViewProps & {
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any> | undefined;
7
+ }, {}, {
8
+ ref?: import("react").Ref<View> | undefined;
9
+ }>;
10
+ declare const StyledActionGroupContainer: import("@emotion/native").StyledComponent<Animated.AnimatedProps<ViewProps & import("react").RefAttributes<View>> & {
5
11
  children?: import("react").ReactNode;
6
- }, never>;
7
- declare const StyledFAB: import("styled-components").StyledComponent<({ onPress, icon, animated, testID, active, style }: import("../FAB").FABProps) => JSX.Element, import("../../../theme").Theme, {}, never>;
8
- declare const StyledBackdrop: import("styled-components").StyledComponent<Animated.AnimatedComponent<typeof View>, import("../../../theme").Theme, Animated.AnimatedProps<ViewProps & import("react").RefAttributes<View>> & {
12
+ } & {
13
+ theme?: import("@emotion/react").Theme | undefined;
14
+ as?: import("react").ElementType<any> | undefined;
15
+ }, {}, {}>;
16
+ declare const StyledFAB: import("@emotion/native").StyledComponent<import("../FAB").FABProps & {
17
+ theme?: import("@emotion/react").Theme | undefined;
18
+ as?: import("react").ElementType<any> | undefined;
19
+ }, {}, {}>;
20
+ declare const StyledBackdrop: import("@emotion/native").StyledComponent<Animated.AnimatedProps<ViewProps & import("react").RefAttributes<View>> & {
9
21
  children?: import("react").ReactNode;
10
- }, never>;
11
- declare const StyledHeaderText: import("styled-components").StyledComponent<({ children, fontSize, fontWeight, intent, ...nativeProps }: TextProps) => JSX.Element, import("../../../theme").Theme, TextProps, never>;
22
+ } & {
23
+ theme?: import("@emotion/react").Theme | undefined;
24
+ as?: import("react").ElementType<any> | undefined;
25
+ }, {}, {}>;
26
+ declare const StyledHeaderText: import("@emotion/native").StyledComponent<TextProps & {
27
+ theme?: import("@emotion/react").Theme | undefined;
28
+ as?: import("react").ElementType<any> | undefined;
29
+ }, {}, {}>;
12
30
  export { StyledHeaderText, StyledBackdrop, StyledContainer, StyledActionGroupContainer, StyledFAB, };
@@ -1,4 +1,13 @@
1
+ /// <reference types="react" />
1
2
  import { TouchableOpacity, TouchableOpacityProps } from 'react-native';
2
- declare const StyledActionItem: import("styled-components").StyledComponent<typeof TouchableOpacity, import("../../../theme").Theme, TouchableOpacityProps, never>;
3
- declare const StyledActionItemText: import("styled-components").StyledComponent<({ children, fontSize, fontWeight, intent, ...nativeProps }: import("../../Typography/Text").TextProps) => JSX.Element, import("../../../theme").Theme, TouchableOpacityProps, never>;
3
+ declare const StyledActionItem: import("@emotion/native").StyledComponent<TouchableOpacityProps & {
4
+ theme?: import("@emotion/react").Theme | undefined;
5
+ as?: import("react").ElementType<any> | undefined;
6
+ }, {}, {
7
+ ref?: import("react").Ref<TouchableOpacity> | undefined;
8
+ }>;
9
+ declare const StyledActionItemText: import("@emotion/native").StyledComponent<import("../../Typography/Text").TextProps & {
10
+ theme?: import("@emotion/react").Theme | undefined;
11
+ as?: import("react").ElementType<any> | undefined;
12
+ } & TouchableOpacityProps, {}, {}>;
4
13
  export { StyledActionItem, StyledActionItemText };
@@ -11,7 +11,7 @@ export interface ActionGroupProps {
11
11
  * */
12
12
  active?: boolean;
13
13
  /**
14
- * Addditional style.
14
+ * Additional style.
15
15
  */
16
16
  style?: StyleProp<ViewStyle>;
17
17
  /**
@@ -1,13 +1,13 @@
1
1
  import { StyleProp, ViewStyle } from 'react-native';
2
- import { IconProps } from '../Icon';
2
+ import { IconName } from '../Icon';
3
3
  export interface FABProps {
4
4
  /**
5
5
  * Name of the Icon.
6
6
  */
7
- icon: IconProps['icon'];
7
+ icon: IconName;
8
8
  /**
9
9
  * This function is called on pressing the button.
10
- * */
10
+ */
11
11
  onPress?: () => void;
12
12
  /**
13
13
  * Specify if the button is animated.
@@ -18,7 +18,7 @@ export interface FABProps {
18
18
  */
19
19
  active?: boolean;
20
20
  /**
21
- * Addditional style.
21
+ * Additional style.
22
22
  */
23
23
  style?: StyleProp<ViewStyle>;
24
24
  /**
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { TouchableHighlight, TouchableHighlightProps } from 'react-native';
3
+ import { IconProps } from '../Icon';
4
+ declare const StyledFABContainer: import("@emotion/native").StyledComponent<TouchableHighlightProps & {
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any> | undefined;
7
+ }, {}, {
8
+ ref?: import("react").Ref<TouchableHighlight> | undefined;
9
+ }>;
10
+ declare const StyledFABIcon: import("@emotion/native").StyledComponent<IconProps & {
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any> | undefined;
13
+ }, {}, {}>;
14
+ export { StyledFABContainer, StyledFABIcon };
@@ -1,7 +1,13 @@
1
+ /// <reference types="react" />
1
2
  declare type ThemeSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
2
3
  declare type ThemeIntent = 'text' | 'primary' | 'info' | 'danger' | 'success' | 'warning';
3
- declare const StyledHeroIcon: import("styled-components").StyledComponent<typeof import("react-native-vector-icons/Icon").Icon, import("../../../theme").Theme, {
4
+ declare const StyledHeroIcon: import("@emotion/native").StyledComponent<import("react-native-vector-icons/Icon").IconProps & {
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any> | undefined;
7
+ } & {
4
8
  themeSize: ThemeSize;
5
9
  themeIntent: ThemeIntent;
6
- }, never>;
10
+ }, {}, {
11
+ ref?: import("react").Ref<import("react-native-vector-icons/Icon").Icon> | undefined;
12
+ }>;
7
13
  export default StyledHeroIcon;
@@ -1,6 +1,6 @@
1
1
  import { StyleProp, TextStyle } from 'react-native';
2
2
  import IconList from './IconList';
3
- declare type IconName = typeof IconList[number];
3
+ export declare type IconName = typeof IconList[number];
4
4
  export interface IconProps {
5
5
  /**
6
6
  * Name of the Icon.
@@ -1,2 +1,2 @@
1
- declare const isHeroIcon: (x: any) => x is "number" | "menu" | "image" | "switch" | "bold" | "target" | "restart" | "directory" | "document" | "feed" | "list" | "loading" | "sync" | "user" | "send" | "file" | "activate" | "add-person" | "adjustment" | "alignment" | "bank" | "bell" | "billing" | "bookmark" | "box-check" | "box" | "buildings" | "cake" | "calendar-clock" | "calendar" | "carat-down-small" | "carat-down" | "carat-left" | "carat-right" | "carat-up" | "circle-add" | "circle-cancel" | "circle-check" | "circle-down" | "circle-info" | "circle-left" | "circle-ok" | "circle-pencil" | "circle-question" | "circle-remove" | "circle-right" | "circle-up" | "circle-warning" | "clock" | "cloud-download" | "cloud-upload" | "cog" | "coin" | "contacts" | "credit-card" | "diamond" | "direction-arrows" | "dollar-coin-shine" | "double-buildings" | "edit-template" | "envelope" | "expense" | "eye-circle" | "eye-invisible" | "eye" | "face-meh" | "face-sad" | "face-smiley" | "feedbacks" | "file-certified" | "file-clone" | "file-copy" | "file-csv" | "file-dispose" | "file-doc" | "file-excel" | "file-export" | "file-lock" | "file-pdf" | "file-powerpoint" | "file-search" | "file-secured" | "file-sheets" | "file-slide" | "file-verified" | "file-word" | "folder-user" | "folder" | "funnel-filter" | "global-dollar" | "globe" | "graduation-cap" | "graph" | "happy-sun" | "health-bag" | "heart" | "home" | "import" | "incident-siren" | "instapay" | "loading-2" | "location" | "lock" | "media-content" | "moneybag" | "moon" | "multiple-stars" | "multiple-users" | "node" | "open-folder" | "paperclip" | "payment-summary" | "pencil" | "phone" | "piggy-bank" | "plane" | "play-circle" | "print" | "raising-hands" | "reply" | "reschedule" | "rostering" | "save" | "schedule" | "search-person" | "speaker" | "star-medal" | "star" | "steps-circle" | "stopwatch" | "suitcase" | "survey" | "tag" | "teams" | "timesheet" | "touch-id" | "trash-bin" | "unlock" | "video-1" | "video-2" | "activate-outlined" | "add-person-outlined" | "add-section-outlined" | "add-time-outlined" | "add" | "adjustment-outlined" | "alignment-2-outlined" | "alignment-outlined" | "all-caps" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "at-sign" | "bell-outlined" | "billing-outlined" | "body-outlined" | "bookmark-outlined" | "box-check-outlined" | "box-outlined" | "bullet-points" | "cake-outlined" | "calendar-dates-outlined" | "calendar-star-outlined" | "camera-outlined" | "cancel" | "checkmark" | "circle-add-outlined" | "circle-cancel-outlined" | "circle-down-outlined" | "circle-info-outlined" | "circle-left-outlined" | "circle-ok-outlined" | "circle-question-outlined" | "circle-remove-outlined" | "circle-right-outlined" | "circle-up-outlined" | "circle-warning-outlined" | "clock-2-outlined" | "clock-outlined" | "cog-outlined" | "coin-outlined" | "comment-outlined" | "contacts-outlined" | "credit-card-outlined" | "direction-arrows-outlined" | "directory-outlined" | "document-outlined" | "dollar-coin-shine-outlined" | "dollar-sign" | "double-buildings-outlined" | "double-left-arrows" | "double-right-arrows" | "download-outlined" | "edit-template-outlined" | "email-outlined" | "enter-arrow" | "envelope-outlined" | "expense-outlined" | "external-link" | "eye-invisible-outlined" | "eye-outlined" | "face-id" | "face-meh-outlined" | "face-open-smiley-outlined" | "face-sad-outlined" | "face-smiley-outlined" | "feed-outlined" | "file-certified-outlined" | "file-clone-outlined" | "file-copy-outlined" | "file-dispose-outlined" | "file-download-outlined" | "file-export-outlined" | "file-lock-outlined" | "file-outlined" | "file-search-outlined" | "file-secured-outlined" | "file-verified-outlined" | "folder-outlined" | "folder-user-outlined" | "funnel-filter-outline" | "graph-outlined" | "happy-sun-outlined" | "health-bag-outlined" | "heart-outlined" | "home-outlined" | "image-outlined" | "import-outlined" | "instapay-outlined" | "italic" | "link-1" | "link-2" | "list-outlined" | "location-outlined" | "lock-outlined" | "locked-file-outlined" | "log-out" | "media-content-outlined" | "menu-close" | "menu-expand" | "menu-fold-outlined" | "menu-unfold-outlined" | "moneybag-outlined" | "moon-outlined" | "more-horizontal" | "more-vertical" | "multiple-folders-outlined" | "multiple-users-outlined" | "node-outlined" | "number-points" | "payment-summary-outlined" | "payslip-outlined" | "pencil-outlined" | "percentage" | "phone-outlined" | "piggy-bank-outlined" | "plane-outlined" | "play-circle-outlined" | "print-outlined" | "qr-code-outlined" | "re-assign" | "refresh" | "remove" | "reply-outlined" | "return-arrow" | "rostering-outlined" | "save-outlined" | "schedule-outlined" | "search-outlined" | "send-outlined" | "share-1" | "share-2" | "single-down-arrow" | "single-left-arrow" | "single-right-arrow" | "single-up-arrow" | "speaker-outlined" | "star-outlined" | "stopwatch-outlined" | "strikethrough" | "survey-outlined" | "switch-outlined" | "target-outlined" | "timesheet-outlined" | "transfer" | "trash-bin-outlined" | "unavailable" | "underline" | "unlock-outlined" | "upload-outlined" | "user-outlined" | "video-1-outlined" | "video-2-outlined";
1
+ declare const isHeroIcon: (x: any) => x is "number" | "image" | "menu" | "switch" | "list" | "activate" | "add-person" | "adjustment" | "alignment" | "bank" | "bell" | "billing" | "bookmark" | "box-check" | "box" | "buildings" | "cake" | "calendar-clock" | "calendar" | "carat-down-small" | "carat-down" | "carat-left" | "carat-right" | "carat-up" | "circle-add" | "circle-cancel" | "circle-check" | "circle-down" | "circle-info" | "circle-left" | "circle-ok" | "circle-pencil" | "circle-question" | "circle-remove" | "circle-right" | "circle-up" | "circle-warning" | "clock" | "cloud-download" | "cloud-upload" | "cog" | "coin" | "contacts" | "credit-card" | "diamond" | "direction-arrows" | "directory" | "document" | "dollar-coin-shine" | "double-buildings" | "edit-template" | "envelope" | "expense" | "eye-circle" | "eye-invisible" | "eye" | "face-meh" | "face-sad" | "face-smiley" | "feed" | "feedbacks" | "file-certified" | "file-clone" | "file-copy" | "file-csv" | "file-dispose" | "file-doc" | "file-excel" | "file-export" | "file-lock" | "file-pdf" | "file-powerpoint" | "file-search" | "file-secured" | "file-sheets" | "file-slide" | "file-verified" | "file-word" | "file" | "folder-user" | "folder" | "funnel-filter" | "global-dollar" | "globe" | "graduation-cap" | "graph" | "happy-sun" | "health-bag" | "heart" | "home" | "import" | "incident-siren" | "instapay" | "loading" | "loading-2" | "location" | "lock" | "media-content" | "moneybag" | "moon" | "multiple-stars" | "multiple-users" | "node" | "open-folder" | "paperclip" | "payment-summary" | "pencil" | "phone" | "piggy-bank" | "plane" | "play-circle" | "print" | "raising-hands" | "reply" | "reschedule" | "rostering" | "save" | "schedule" | "search-person" | "send" | "speaker" | "star-medal" | "star" | "steps-circle" | "stopwatch" | "suitcase" | "survey" | "tag" | "target" | "teams" | "timesheet" | "touch-id" | "trash-bin" | "unlock" | "user" | "video-1" | "video-2" | "activate-outlined" | "add-person-outlined" | "add-section-outlined" | "add-time-outlined" | "add" | "adjustment-outlined" | "alignment-2-outlined" | "alignment-outlined" | "all-caps" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "at-sign" | "bell-outlined" | "billing-outlined" | "body-outlined" | "bold" | "bookmark-outlined" | "box-check-outlined" | "box-outlined" | "bullet-points" | "cake-outlined" | "calendar-dates-outlined" | "calendar-star-outlined" | "camera-outlined" | "cancel" | "checkmark" | "circle-add-outlined" | "circle-cancel-outlined" | "circle-down-outlined" | "circle-info-outlined" | "circle-left-outlined" | "circle-ok-outlined" | "circle-question-outlined" | "circle-remove-outlined" | "circle-right-outlined" | "circle-up-outlined" | "circle-warning-outlined" | "clock-2-outlined" | "clock-outlined" | "cog-outlined" | "coin-outlined" | "comment-outlined" | "contacts-outlined" | "credit-card-outlined" | "direction-arrows-outlined" | "directory-outlined" | "document-outlined" | "dollar-coin-shine-outlined" | "dollar-sign" | "double-buildings-outlined" | "double-left-arrows" | "double-right-arrows" | "download-outlined" | "edit-template-outlined" | "email-outlined" | "enter-arrow" | "envelope-outlined" | "expense-outlined" | "external-link" | "eye-invisible-outlined" | "eye-outlined" | "face-id" | "face-meh-outlined" | "face-open-smiley-outlined" | "face-sad-outlined" | "face-smiley-outlined" | "feed-outlined" | "file-certified-outlined" | "file-clone-outlined" | "file-copy-outlined" | "file-dispose-outlined" | "file-download-outlined" | "file-export-outlined" | "file-lock-outlined" | "file-outlined" | "file-search-outlined" | "file-secured-outlined" | "file-verified-outlined" | "folder-outlined" | "folder-user-outlined" | "funnel-filter-outline" | "graph-outlined" | "happy-sun-outlined" | "health-bag-outlined" | "heart-outlined" | "home-outlined" | "image-outlined" | "import-outlined" | "instapay-outlined" | "italic" | "link-1" | "link-2" | "list-outlined" | "location-outlined" | "lock-outlined" | "locked-file-outlined" | "log-out" | "media-content-outlined" | "menu-close" | "menu-expand" | "menu-fold-outlined" | "menu-unfold-outlined" | "moneybag-outlined" | "moon-outlined" | "more-horizontal" | "more-vertical" | "multiple-folders-outlined" | "multiple-users-outlined" | "node-outlined" | "number-points" | "payment-summary-outlined" | "payslip-outlined" | "pencil-outlined" | "percentage" | "phone-outlined" | "piggy-bank-outlined" | "plane-outlined" | "play-circle-outlined" | "print-outlined" | "qr-code-outlined" | "re-assign" | "refresh" | "remove" | "reply-outlined" | "restart" | "return-arrow" | "rostering-outlined" | "save-outlined" | "schedule-outlined" | "search-outlined" | "send-outlined" | "share-1" | "share-2" | "single-down-arrow" | "single-left-arrow" | "single-right-arrow" | "single-up-arrow" | "speaker-outlined" | "star-outlined" | "stopwatch-outlined" | "strikethrough" | "survey-outlined" | "switch-outlined" | "sync" | "target-outlined" | "timesheet-outlined" | "transfer" | "trash-bin-outlined" | "unavailable" | "underline" | "unlock-outlined" | "upload-outlined" | "user-outlined" | "video-1-outlined" | "video-2-outlined";
2
2
  export { isHeroIcon };
@@ -0,0 +1,55 @@
1
+ /// <reference types="react" />
2
+ import { View, FlatList } from 'react-native';
3
+ declare const TabScreen: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
4
+ theme?: import("@emotion/react").Theme | undefined;
5
+ as?: import("react").ElementType<any> | undefined;
6
+ } & {
7
+ themeVisibility?: boolean | undefined;
8
+ }, {}, {
9
+ ref?: import("react").Ref<View> | undefined;
10
+ }>;
11
+ declare const TabContainer: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
12
+ theme?: import("@emotion/react").Theme | undefined;
13
+ as?: import("react").ElementType<any> | undefined;
14
+ }, {}, {
15
+ ref?: import("react").Ref<View> | undefined;
16
+ }>;
17
+ declare const ContentWrapper: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
18
+ theme?: import("@emotion/react").Theme | undefined;
19
+ as?: import("react").ElementType<any> | undefined;
20
+ }, {}, {
21
+ ref?: import("react").Ref<View> | undefined;
22
+ }>;
23
+ declare const HeaderTabWrapper: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
24
+ theme?: import("@emotion/react").Theme | undefined;
25
+ as?: import("react").ElementType<any> | undefined;
26
+ } & {
27
+ themeInsets: {
28
+ top: number;
29
+ right: number;
30
+ bottom: number;
31
+ left: number;
32
+ };
33
+ }, {}, {
34
+ ref?: import("react").Ref<View> | undefined;
35
+ }>;
36
+ declare const StyledFlatList: new <T>() => FlatList<T>;
37
+ declare const HeaderTabItem: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
38
+ theme?: import("@emotion/react").Theme | undefined;
39
+ as?: import("react").ElementType<any> | undefined;
40
+ }, {}, {
41
+ ref?: import("react").Ref<View> | undefined;
42
+ }>;
43
+ declare const StyledHeaderTabIcon: import("@emotion/native").StyledComponent<import("../Icon").IconProps & {
44
+ theme?: import("@emotion/react").Theme | undefined;
45
+ as?: import("react").ElementType<any> | undefined;
46
+ } & {
47
+ themeActive: boolean;
48
+ }, {}, {}>;
49
+ declare const StyledHeaderTabText: import("@emotion/native").StyledComponent<import("../Typography/Text").TextProps & {
50
+ theme?: import("@emotion/react").Theme | undefined;
51
+ as?: import("react").ElementType<any> | undefined;
52
+ } & {
53
+ themeActive: boolean;
54
+ }, {}, {}>;
55
+ export { StyledFlatList, HeaderTabItem, TabScreen, TabContainer, HeaderTabWrapper, ContentWrapper, StyledHeaderTabIcon, StyledHeaderTabText, };
@@ -0,0 +1,45 @@
1
+ import { ReactNode } from 'react';
2
+ import { StyleProp, ViewStyle, ViewProps } from 'react-native';
3
+ import { IconName } from '../Icon';
4
+ export declare type TabType = {
5
+ key: string;
6
+ title: string;
7
+ icon: IconName;
8
+ component: ReactNode;
9
+ testID?: string;
10
+ };
11
+ interface TabsProps extends ViewProps {
12
+ /**
13
+ * Callback which is called on tab press, receiving key of upcoming active Tab.
14
+ */
15
+ onTabPress: (key: string) => void;
16
+ /**
17
+ * Whether inactive tabs should be removed and unmounted in React.
18
+ * Defaults to `false`.
19
+ */
20
+ renderActiveTabOnly?: boolean;
21
+ /**
22
+ * Current selected tab key.
23
+ */
24
+ selectedTabKey: string;
25
+ /**
26
+ * List of Tabs to be rendered. Each Tab must have an unique key.
27
+ */
28
+ tabs: {
29
+ key: string;
30
+ title: string;
31
+ icon: IconName;
32
+ component: ReactNode;
33
+ testID?: string;
34
+ }[];
35
+ /**
36
+ * Addditional style.
37
+ */
38
+ style?: StyleProp<ViewStyle>;
39
+ /**
40
+ * Testing id of the component.
41
+ */
42
+ testID?: string;
43
+ }
44
+ declare const Tabs: ({ onTabPress, renderActiveTabOnly, selectedTabKey, tabs, ...nativeProps }: TabsProps) => JSX.Element;
45
+ export default Tabs;
@@ -1,7 +1,13 @@
1
+ /// <reference types="react" />
1
2
  import { Text } from 'react-native';
2
- declare const StyledText: import("styled-components").StyledComponent<typeof Text, import("../../../theme").Theme, {
3
+ declare const StyledText: import("@emotion/native").StyledComponent<import("react-native").TextProps & {
4
+ theme?: import("@emotion/react").Theme | undefined;
5
+ as?: import("react").ElementType<any> | undefined;
6
+ } & {
3
7
  themeFontSize: 'small' | 'medium' | 'large' | 'xlarge';
4
8
  themeFontWeight: 'light' | 'regular' | 'semi-bold';
5
9
  themeIntent: 'body' | 'subdued' | 'primary';
6
- }, never>;
10
+ }, {}, {
11
+ ref?: import("react").Ref<Text> | undefined;
12
+ }>;
7
13
  export { StyledText };
@@ -1,11 +1,14 @@
1
- import { ThemeProvider, useTheme } from 'styled-components-native';
1
+ import { ThemeProvider, useTheme } from '@emotion/react';
2
2
  import theme, { getTheme } from './theme';
3
3
  import { scale } from './utils/scale';
4
4
  import Badge from './components/Badge';
5
5
  import BottomNavigation from './components/BottomNavigation';
6
+ import Button from './components/Button';
6
7
  import Card from './components/Card';
7
8
  import Divider from './components/Divider';
9
+ import FAB from './components/FAB';
8
10
  import Icon from './components/Icon';
11
+ import Tabs from './components/Tabs';
9
12
  import Typography from './components/Typography';
10
- import FAB from './components/FAB';
11
- export { theme, getTheme, useTheme, scale, ThemeProvider, Badge, BottomNavigation, Card, Divider, Icon, Typography, FAB, };
13
+ export { theme, getTheme, useTheme, scale, ThemeProvider, Badge, BottomNavigation, Button, Card, Divider, FAB, Icon, Tabs, Typography, };
14
+ export * from './types';
@@ -1,7 +1,7 @@
1
1
  import { GlobalTheme } from '../global';
2
2
  declare const getBadgeTheme: (theme: GlobalTheme) => {
3
3
  borderWidths: {
4
- default: string;
4
+ default: number;
5
5
  };
6
6
  colors: {
7
7
  danger: string;
@@ -13,17 +13,18 @@ declare const getBadgeTheme: (theme: GlobalTheme) => {
13
13
  warning: string;
14
14
  warningBackground: string;
15
15
  };
16
- padding: {
16
+ font: {
17
17
  default: string;
18
18
  };
19
- fonts: {
20
- default: string;
19
+ fontSize: {
20
+ default: number;
21
21
  };
22
- fontSizes: {
23
- default: string;
22
+ space: {
23
+ horizontalPadding: number;
24
+ verticalPadding: number;
24
25
  };
25
26
  radii: {
26
- default: string;
27
+ default: number;
27
28
  };
28
29
  };
29
30
  export default getBadgeTheme;
@@ -5,13 +5,19 @@ declare const getBottomNavigationTheme: (theme: GlobalTheme) => {
5
5
  background: string;
6
6
  };
7
7
  shadows: {
8
- offset: string;
8
+ offset: {
9
+ width: number;
10
+ height: number;
11
+ };
9
12
  opacity: number;
10
- radius: string;
13
+ radius: number;
11
14
  elevation: number;
12
15
  };
13
16
  sizes: {
14
17
  height: number;
15
18
  };
19
+ space: {
20
+ titleMarginTop: number;
21
+ };
16
22
  };
17
23
  export default getBottomNavigationTheme;
@@ -1,10 +1,10 @@
1
1
  import { GlobalTheme } from '../global';
2
2
  declare const getCardTheme: (theme: GlobalTheme) => {
3
3
  radii: {
4
- default: string;
4
+ default: number;
5
5
  };
6
6
  padding: {
7
- default: string;
7
+ default: number;
8
8
  };
9
9
  };
10
10
  export default getCardTheme;
@@ -4,14 +4,14 @@ declare const getDividerTheme: (theme: GlobalTheme) => {
4
4
  default: string;
5
5
  };
6
6
  space: {
7
- xsmall: string;
8
- small: string;
9
- medium: string;
10
- large: string;
11
- xlarge: string;
7
+ xsmall: number;
8
+ small: number;
9
+ medium: number;
10
+ large: number;
11
+ xlarge: number;
12
12
  };
13
13
  borderWidths: {
14
- default: string;
14
+ default: number;
15
15
  };
16
16
  };
17
17
  export default getDividerTheme;
@@ -1,16 +1,16 @@
1
1
  import { GlobalTheme } from '../global';
2
2
  declare const getFABTheme: (theme: GlobalTheme) => {
3
3
  radii: {
4
- actionItem: string;
4
+ actionItem: number;
5
5
  };
6
6
  fonts: {
7
7
  header: string;
8
8
  actionItemText: string;
9
9
  };
10
10
  fontSizes: {
11
- header: string;
12
- buttonIcon: string;
13
- actionItemText: string;
11
+ header: number;
12
+ buttonIcon: number;
13
+ actionItemText: number;
14
14
  };
15
15
  colors: {
16
16
  buttonBackground: string;
@@ -20,23 +20,25 @@ declare const getFABTheme: (theme: GlobalTheme) => {
20
20
  backdropBackground: string;
21
21
  };
22
22
  sizes: {
23
- width: string;
24
- height: string;
23
+ width: number;
24
+ height: number;
25
25
  };
26
26
  lineHeights: {
27
- header: string;
28
- actionItemText: string;
27
+ header: number;
28
+ actionItemText: number;
29
29
  };
30
30
  space: {
31
- actionItemPaddingLeft: string;
32
- actionItemPaddingRight: string;
33
- actionItemPaddingTop: string;
34
- actionItemPaddingBottom: string;
35
- actionItemMargin: string;
36
- actionItemMarginRight: string;
37
- actionItemTextPaddingLeft: string;
38
- headerTextMarginRight: string;
39
- headerTextMarginBottom: string;
31
+ actionItemPaddingLeft: number;
32
+ actionItemPaddingRight: number;
33
+ actionItemPaddingTop: number;
34
+ actionItemPaddingBottom: number;
35
+ actionItemMargin: number;
36
+ actionItemMarginRight: number;
37
+ actionItemTextPaddingLeft: number;
38
+ buttonMarginTop: number;
39
+ buttonMarginRight: number;
40
+ headerTextMarginRight: number;
41
+ headerTextMarginBottom: number;
40
42
  };
41
43
  };
42
44
  export default getFABTheme;
@@ -0,0 +1,15 @@
1
+ import { GlobalTheme } from '../global';
2
+ declare const getTabsTheme: (theme: GlobalTheme) => {
3
+ colors: {
4
+ background: string;
5
+ active: string;
6
+ inactive: string;
7
+ };
8
+ space: {
9
+ flatListHorizontalPadding: number;
10
+ titleMarginLeft: number;
11
+ itemHorizontalPadding: number;
12
+ itemVerticalPadding: number;
13
+ };
14
+ };
15
+ export default getTabsTheme;
@@ -17,10 +17,10 @@ declare const getTypographyTheme: (theme: GlobalTheme) => {
17
17
  xlarge: number;
18
18
  };
19
19
  lineHeights: {
20
- small: string;
21
- medium: string;
22
- large: string;
23
- xlarge: string;
20
+ small: number;
21
+ medium: number;
22
+ large: number;
23
+ xlarge: number;
24
24
  };
25
25
  };
26
26
  export default getTypographyTheme;
@@ -1,4 +1,5 @@
1
- declare const borderWidths: {
1
+ interface BorderWidths {
2
2
  base: number;
3
- };
4
- export { borderWidths };
3
+ }
4
+ declare const getBorderWidths: (baseBorderWidth: number) => BorderWidths;
5
+ export { BorderWidths, getBorderWidths };
@@ -1,4 +1,3 @@
1
- import { palette } from '@hero-design/colors';
2
1
  declare const systemPalette: {
3
2
  primary: string;
4
3
  primaryLight: string;
@@ -23,4 +22,5 @@ declare const systemPalette: {
23
22
  invertedText: string;
24
23
  outline: string;
25
24
  };
26
- export { palette, systemPalette };
25
+ declare type SystemPalette = typeof systemPalette;
26
+ export { systemPalette, SystemPalette };
@@ -1,4 +1,6 @@
1
- declare const globalTheme: {
1
+ import { scale as defaultScale, Scale } from './scale';
2
+ import { systemPalette as defaultSystemPalette, SystemPalette } from './colors';
3
+ declare const getGlobalTheme: (scale: Scale, systemPalette: SystemPalette) => {
2
4
  colors: {
3
5
  primary: string;
4
6
  primaryLight: string;
@@ -23,48 +25,11 @@ declare const globalTheme: {
23
25
  invertedText: string;
24
26
  outline: string;
25
27
  };
26
- space: {
27
- xxsmall: number;
28
- xsmall: number;
29
- small: number;
30
- medium: number;
31
- large: number;
32
- xlarge: number;
33
- xxlarge: number;
34
- xxxlarge: number;
35
- xxxxlarge: number;
36
- };
37
- fonts: {
38
- light: string;
39
- regular: string;
40
- semiBold: string;
41
- };
42
- fontSizes: {
43
- xxxxxlarge: number;
44
- xxxxlarge: number;
45
- xxxlarge: number;
46
- xxlarge: number;
47
- xlarge: number;
48
- large: number;
49
- medium: number;
50
- small: number;
51
- xsmall: number;
52
- };
53
- lineHeights: {
54
- xxxxxlarge: number;
55
- xxxxlarge: number;
56
- xxxlarge: number;
57
- xxlarge: number;
58
- xlarge: number;
59
- large: number;
60
- medium: number;
61
- small: number;
62
- xsmall: number;
63
- };
64
- borderWidths: {
65
- base: number;
66
- };
28
+ fonts: import("./typography").Fonts;
29
+ fontSizes: import("./typography").FontSizes;
30
+ lineHeights: import("./typography").FontSizes;
31
+ borderWidths: import("./borders").BorderWidths;
32
+ space: import("./space").Space;
67
33
  };
68
- declare type GlobalTheme = typeof globalTheme;
69
- export { GlobalTheme };
70
- export default globalTheme;
34
+ declare type GlobalTheme = ReturnType<typeof getGlobalTheme>;
35
+ export { GlobalTheme, Scale, SystemPalette, getGlobalTheme, defaultScale, defaultSystemPalette, };
@@ -0,0 +1,8 @@
1
+ declare const scale: {
2
+ borderWidth: number;
3
+ space: number;
4
+ font: string;
5
+ fontSize: number;
6
+ };
7
+ declare type Scale = typeof scale;
8
+ export { scale, Scale };
@@ -1,12 +1,13 @@
1
- declare const space: {
2
- xxsmall: number;
3
- xsmall: number;
4
- small: number;
5
- medium: number;
1
+ interface Space {
6
2
  large: number;
3
+ medium: number;
4
+ small: number;
7
5
  xlarge: number;
6
+ xsmall: number;
8
7
  xxlarge: number;
8
+ xxsmall: number;
9
9
  xxxlarge: number;
10
10
  xxxxlarge: number;
11
- };
12
- export { space };
11
+ }
12
+ declare const getSpace: (baseSpace: number) => Space;
13
+ export { Space, getSpace };