@hero-design/rn 7.12.1 → 7.13.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 (42) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/es/index.js +4908 -4728
  3. package/lib/index.js +4907 -4726
  4. package/package.json +2 -2
  5. package/src/components/Button/Button.tsx +64 -60
  6. package/src/components/Button/StyledButton.tsx +4 -6
  7. package/src/components/Button/__tests__/StyledButton.spec.tsx +11 -4
  8. package/src/components/Button/__tests__/__snapshots__/StyledButton.spec.tsx.snap +312 -78
  9. package/src/components/DatePicker/DatePickerAndroid.tsx +59 -0
  10. package/src/components/DatePicker/DatePickerIOS.tsx +87 -0
  11. package/src/components/DatePicker/StyledDatePicker.tsx +8 -0
  12. package/src/components/DatePicker/__tests__/DatePicker.spec.tsx +34 -0
  13. package/src/components/DatePicker/__tests__/DatePickerAndroid.spec.tsx +39 -0
  14. package/src/components/DatePicker/__tests__/DatePickerIOS.spec.tsx +46 -0
  15. package/src/components/DatePicker/__tests__/__snapshots__/DatePickerAndroid.spec.tsx.snap +199 -0
  16. package/src/components/DatePicker/__tests__/__snapshots__/DatePickerIOS.spec.tsx.snap +513 -0
  17. package/src/components/DatePicker/index.tsx +15 -0
  18. package/src/components/DatePicker/types.ts +49 -0
  19. package/src/components/TimePicker/TimePickerIOS.tsx +1 -1
  20. package/src/components/TimePicker/types.ts +1 -1
  21. package/src/index.ts +2 -0
  22. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +18 -0
  23. package/src/theme/components/button.ts +12 -0
  24. package/src/theme/components/datePicker.ts +11 -0
  25. package/src/theme/global/colors.ts +1 -0
  26. package/src/theme/index.ts +3 -0
  27. package/types/components/Button/StyledButton.d.ts +3 -3
  28. package/types/components/DatePicker/DatePickerAndroid.d.ts +3 -0
  29. package/types/components/DatePicker/DatePickerIOS.d.ts +3 -0
  30. package/types/components/DatePicker/StyledDatePicker.d.ts +8 -0
  31. package/types/components/DatePicker/__tests__/DatePicker.spec.d.ts +1 -0
  32. package/types/components/DatePicker/__tests__/DatePickerAndroid.spec.d.ts +1 -0
  33. package/types/components/DatePicker/__tests__/DatePickerIOS.spec.d.ts +1 -0
  34. package/types/components/DatePicker/index.d.ts +3 -0
  35. package/types/components/DatePicker/types.d.ts +48 -0
  36. package/types/components/TimePicker/types.d.ts +1 -1
  37. package/types/index.d.ts +2 -1
  38. package/types/theme/components/button.d.ts +12 -0
  39. package/types/theme/components/datePicker.d.ts +6 -0
  40. package/types/theme/global/colors.d.ts +1 -0
  41. package/types/theme/global/index.d.ts +1 -0
  42. package/types/theme/index.d.ts +2 -0
@@ -18,6 +18,7 @@ import getButtonTheme from './components/button';
18
18
  import getCardTheme from './components/card';
19
19
  import getCheckboxTheme from './components/checkbox';
20
20
  import getContentNavigatorTheme from './components/contentNavigator';
21
+ import getDatePickerTheme from './components/datePicker';
21
22
  import getDividerTheme from './components/divider';
22
23
  import getDrawerTheme from './components/drawer';
23
24
  import getFABTheme from './components/fab';
@@ -49,6 +50,7 @@ type Theme = GlobalTheme & {
49
50
  card: ReturnType<typeof getCardTheme>;
50
51
  checkbox: ReturnType<typeof getCheckboxTheme>;
51
52
  contentNavigator: ReturnType<typeof getContentNavigatorTheme>;
53
+ datePicker: ReturnType<typeof getDatePickerTheme>;
52
54
  divider: ReturnType<typeof getDividerTheme>;
53
55
  drawer: ReturnType<typeof getDrawerTheme>;
54
56
  fab: ReturnType<typeof getFABTheme>;
@@ -88,6 +90,7 @@ const getTheme = (
88
90
  card: getCardTheme(globalTheme),
89
91
  checkbox: getCheckboxTheme(globalTheme),
90
92
  contentNavigator: getContentNavigatorTheme(globalTheme),
93
+ datePicker: getDatePickerTheme(),
91
94
  divider: getDividerTheme(globalTheme),
92
95
  drawer: getDrawerTheme(globalTheme),
93
96
  fab: getFABTheme(globalTheme),
@@ -1,8 +1,8 @@
1
- import { View } from 'react-native';
1
+ import { TouchableHighlight, View } from 'react-native';
2
2
  import { Theme } from '@emotion/react';
3
3
  declare type Intent = 'primary' | 'secondary' | 'danger';
4
4
  declare type ThemeVariant = 'basic-transparent' | 'filled-primary' | 'filled-secondary' | 'filled-danger' | 'outlined-primary' | 'outlined-secondary' | 'outlined-danger' | 'text-primary' | 'text-secondary' | 'text-danger';
5
- declare const StyledButtonContainer: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
5
+ declare const StyledButtonContainer: import("@emotion/native").StyledComponent<import("react-native").TouchableHighlightProps & {
6
6
  theme?: Theme | undefined;
7
7
  as?: import("react").ElementType<any> | undefined;
8
8
  } & {
@@ -10,7 +10,7 @@ declare const StyledButtonContainer: import("@emotion/native").StyledComponent<i
10
10
  pressed?: boolean | undefined;
11
11
  themeVariant: ThemeVariant;
12
12
  }, {}, {
13
- ref?: import("react").Ref<View> | undefined;
13
+ ref?: import("react").Ref<TouchableHighlight> | undefined;
14
14
  }>;
15
15
  declare const StyledButtonText: import("@emotion/native").StyledComponent<import("../Typography/Text").TextProps & {
16
16
  theme?: Theme | undefined;
@@ -0,0 +1,3 @@
1
+ import { DatePickerProps } from './types';
2
+ declare const DatePickerAndroid: ({ value, label, placeholder, onChange, displayFormat, disabled, required, error, style, testID, }: DatePickerProps) => JSX.Element;
3
+ export default DatePickerAndroid;
@@ -0,0 +1,3 @@
1
+ import { DatePickerProps } from './types';
2
+ declare const DatePickerIOS: ({ value, label, placeholder, onChange, confirmLabel, displayFormat, disabled, required, error, style, testID, }: DatePickerProps) => JSX.Element;
3
+ export default DatePickerIOS;
@@ -0,0 +1,8 @@
1
+ import { View, ViewProps } from 'react-native';
2
+ declare const StyledPickerWrapper: import("@emotion/native").StyledComponent<ViewProps & {
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ }, {}, {
6
+ ref?: import("react").Ref<View> | undefined;
7
+ }>;
8
+ export { StyledPickerWrapper };
@@ -0,0 +1,3 @@
1
+ import { DatePickerProps } from './types';
2
+ declare const DatePicker: (props: DatePickerProps) => JSX.Element;
3
+ export default DatePicker;
@@ -0,0 +1,48 @@
1
+ import { StyleProp, ViewStyle } from 'react-native';
2
+ export interface DatePickerProps {
3
+ /**
4
+ * Date picker input label.
5
+ */
6
+ label: string;
7
+ /**
8
+ * Current date value. Must be in correct default format or format provided via format prop.
9
+ */
10
+ value?: Date;
11
+ /**
12
+ * Input placeholder. Date format will be used as placeholder if not specified.
13
+ */
14
+ placeholder?: string;
15
+ /**
16
+ * Callback that is called when new value is selected.
17
+ */
18
+ onChange: (value: Date) => void;
19
+ /**
20
+ * Confirm label text. iOS only.
21
+ */
22
+ confirmLabel: string;
23
+ /**
24
+ * Date format. Default format is dd/MM/yyyy.
25
+ * Following date-fns's format (https://date-fns.org/v2.16.1/docs/format).
26
+ */
27
+ displayFormat?: string;
28
+ /**
29
+ * Whether the Date picker is disabled.
30
+ */
31
+ disabled?: boolean;
32
+ /**
33
+ * Error message to display.
34
+ */
35
+ error?: string;
36
+ /**
37
+ * Whether the value is required, if true, an asterisk will be appended to the label.
38
+ */
39
+ required?: boolean;
40
+ /**
41
+ * Addtional style.
42
+ */
43
+ style?: StyleProp<ViewStyle>;
44
+ /**
45
+ * Testing id of the component..
46
+ */
47
+ testID?: string;
48
+ }
@@ -7,7 +7,7 @@ export interface TimePickerProps {
7
7
  /**
8
8
  * Current time value. Must be in correct default format or format provided via format prop.
9
9
  */
10
- value: Date | null;
10
+ value?: Date;
11
11
  /**
12
12
  * Input placeholder. Time format will be used as placeholder if not specified.
13
13
  */
package/types/index.d.ts CHANGED
@@ -10,6 +10,7 @@ import Card from './components/Card';
10
10
  import Collapse from './components/Collapse';
11
11
  import Checkbox from './components/Checkbox';
12
12
  import ContentNavigator from './components/ContentNavigator';
13
+ import DatePicker from './components/DatePicker';
13
14
  import Divider from './components/Divider';
14
15
  import Drawer from './components/Drawer';
15
16
  import FAB from './components/FAB';
@@ -29,5 +30,5 @@ import TimePicker from './components/TimePicker';
29
30
  import Toast from './components/Toast';
30
31
  import Toolbar from './components/Toolbar';
31
32
  import Typography from './components/Typography';
32
- export { theme, getTheme, useTheme, scale, ThemeProvider, Alert, Avatar, Badge, BottomNavigation, BottomSheet, Button, Card, Collapse, Checkbox, ContentNavigator, Divider, Drawer, FAB, Icon, List, PinInput, Progress, Spinner, Radio, SectionHeading, Select, Switch, Tabs, Tag, TextInput, TimePicker, Toast, Toolbar, Typography, };
33
+ export { theme, getTheme, useTheme, scale, ThemeProvider, Alert, Avatar, Badge, BottomNavigation, BottomSheet, Button, Card, Collapse, Checkbox, ContentNavigator, DatePicker, Divider, Drawer, FAB, Icon, List, PinInput, Progress, Spinner, Radio, SectionHeading, Select, Switch, Tabs, Tag, TextInput, TimePicker, Toast, Toolbar, Typography, };
33
34
  export * from './types';
@@ -31,6 +31,18 @@ declare const getButtonTheme: (theme: GlobalTheme) => {
31
31
  disabledBackground: string;
32
32
  invertedText: string;
33
33
  utilityBackground: string;
34
+ underlayColors: {
35
+ 'filled-primary': string;
36
+ 'filled-secondary': string;
37
+ 'filled-danger': string;
38
+ 'outlined-primary': string;
39
+ 'outlined-secondary': string;
40
+ 'outlined-danger': string;
41
+ 'text-primary': string;
42
+ 'text-secondary': string;
43
+ 'text-danger': string;
44
+ 'basic-transparent': string;
45
+ };
34
46
  };
35
47
  lineHeight: {
36
48
  default: number;
@@ -0,0 +1,6 @@
1
+ declare const getDatePickerTheme: () => {
2
+ sizes: {
3
+ height: number;
4
+ };
5
+ };
6
+ export default getDatePickerTheme;
@@ -5,6 +5,7 @@ declare const systemPalette: {
5
5
  primaryBackground: string;
6
6
  secondary: string;
7
7
  secondaryLight: string;
8
+ secondaryBackground: string;
8
9
  info: string;
9
10
  infoMediumLight: string;
10
11
  infoLight: string;
@@ -8,6 +8,7 @@ declare const getGlobalTheme: (scale: Scale, systemPalette: SystemPalette) => {
8
8
  primaryBackground: string;
9
9
  secondary: string;
10
10
  secondaryLight: string;
11
+ secondaryBackground: string;
11
12
  info: string;
12
13
  infoMediumLight: string;
13
14
  infoLight: string;
@@ -8,6 +8,7 @@ import getButtonTheme from './components/button';
8
8
  import getCardTheme from './components/card';
9
9
  import getCheckboxTheme from './components/checkbox';
10
10
  import getContentNavigatorTheme from './components/contentNavigator';
11
+ import getDatePickerTheme from './components/datePicker';
11
12
  import getDividerTheme from './components/divider';
12
13
  import getDrawerTheme from './components/drawer';
13
14
  import getFABTheme from './components/fab';
@@ -38,6 +39,7 @@ declare type Theme = GlobalTheme & {
38
39
  card: ReturnType<typeof getCardTheme>;
39
40
  checkbox: ReturnType<typeof getCheckboxTheme>;
40
41
  contentNavigator: ReturnType<typeof getContentNavigatorTheme>;
42
+ datePicker: ReturnType<typeof getDatePickerTheme>;
41
43
  divider: ReturnType<typeof getDividerTheme>;
42
44
  drawer: ReturnType<typeof getDrawerTheme>;
43
45
  fab: ReturnType<typeof getFABTheme>;