@utilitywarehouse/hearth-react-native 0.32.2 → 0.32.3

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 (38) hide show
  1. package/.storybook/main.ts +7 -7
  2. package/.storybook/manager.ts +4 -2
  3. package/.storybook/preview.tsx +4 -1
  4. package/.turbo/turbo-build.log +1 -4
  5. package/.turbo/{turbo-lint.log → turbo-lint$colon$fix.log} +13 -16
  6. package/CHANGELOG.md +6 -0
  7. package/build/components/Accordion/Accordion.d.ts +6 -6
  8. package/build/components/Banner/Banner.props.d.ts +2 -0
  9. package/build/components/Button/Button.d.ts +5 -5
  10. package/build/components/Card/Card.d.ts +1 -1
  11. package/build/components/Card/CardAction/CardAction.d.ts +1 -1
  12. package/build/components/Carousel/CarouselControlItem.d.ts +1 -1
  13. package/build/components/Checkbox/Checkbox.d.ts +1 -1
  14. package/build/components/ExpandableCard/ExpandableCardTrigger.d.ts +1 -1
  15. package/build/components/FormField/FormField.d.ts +1 -1
  16. package/build/components/Icons/CircleIcon.d.ts +2 -2
  17. package/build/components/Input/Input.d.ts +4 -4
  18. package/build/components/Input/InputField.js +1 -3
  19. package/build/components/Link/Link.d.ts +1 -1
  20. package/build/components/List/ListAction/ListAction.d.ts +1 -1
  21. package/build/components/List/ListItem/ListItem.d.ts +1 -1
  22. package/build/components/Menu/MenuItem.d.ts +1 -1
  23. package/build/components/PillGroup/Pill.d.ts +1 -1
  24. package/build/components/Radio/Radio.d.ts +1 -1
  25. package/build/components/RadioCard/RadioCard.d.ts +7 -7
  26. package/build/components/SegmentedControl/SegmentedControlOption.d.ts +1 -1
  27. package/build/components/StepperInput/StepperButton.d.ts +1 -1
  28. package/build/components/Tabs/Tab.d.ts +1 -1
  29. package/build/components/Tabs/Tab.js +2 -2
  30. package/build/components/Textarea/Textarea.d.ts +2 -2
  31. package/build/components/ToggleButton/ToggleButton.d.ts +2 -2
  32. package/docs/changelog.mdx +6 -0
  33. package/package.json +8 -5
  34. package/src/components/Banner/Banner.props.ts +2 -0
  35. package/src/components/ExpandableCard/ExpandableCardTrigger.tsx +0 -1
  36. package/src/components/Input/InputField.tsx +0 -1
  37. package/src/components/Tabs/Tab.tsx +2 -3
  38. package/tsconfig.json +4 -0
@@ -1,5 +1,5 @@
1
- import { fileURLToPath } from "node:url";
2
- import { dirname } from "node:path";
1
+ import { fileURLToPath } from 'node:url';
2
+ import { dirname } from 'node:path';
3
3
  import remarkGfm from 'remark-gfm';
4
4
  import svgr from 'vite-plugin-svgr';
5
5
 
@@ -14,9 +14,9 @@ const unistylesPluginOptions = {
14
14
  const config = {
15
15
  stories: ['../**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
16
16
  addons: [
17
- getAbsolutePath("@chromatic-com/storybook"),
17
+ getAbsolutePath('@chromatic-com/storybook'),
18
18
  {
19
- name: getAbsolutePath("@storybook/addon-docs"),
19
+ name: getAbsolutePath('@storybook/addon-docs'),
20
20
  options: {
21
21
  mdxPluginOptions: {
22
22
  mdxCompileOptions: {
@@ -25,11 +25,11 @@ const config = {
25
25
  },
26
26
  },
27
27
  },
28
- getAbsolutePath("@storybook/addon-a11y"),
29
- getAbsolutePath("@storybook/addon-vitest"),
28
+ getAbsolutePath('@storybook/addon-a11y'),
29
+ getAbsolutePath('@storybook/addon-vitest'),
30
30
  ],
31
31
  framework: {
32
- name: getAbsolutePath("@storybook/react-native-web-vite"),
32
+ name: getAbsolutePath('@storybook/react-native-web-vite'),
33
33
  options: {
34
34
  pluginReactOptions: {
35
35
  babel: {
@@ -1,8 +1,10 @@
1
1
  import '@utilitywarehouse/hearth-fonts';
2
2
  import { addons } from 'storybook/manager-api';
3
- import '@utilitywarehouse/hearth-tokens/index.css';
4
3
  import '../../../shared/storybook/styles/manager.css';
5
- import theme from '../../../shared/storybook/theme';
4
+ import { config } from '../../../shared/storybook/theme';
5
+ import { create } from 'storybook/theming';
6
+
7
+ const theme = create(config);
6
8
 
7
9
  addons.setConfig({
8
10
  theme,
@@ -6,9 +6,12 @@ import { useEffect } from 'react';
6
6
  import { SafeAreaProvider } from 'react-native-safe-area-context';
7
7
  import '../../../shared/storybook/styles/diff-highlighting.css';
8
8
  import '../../../shared/storybook/styles/preview.css';
9
- import theme from '../../../shared/storybook/theme';
10
9
  import { breakpoints, StyleSheet, themes, UnistylesRuntime } from '../src/core';
11
10
  import { initializePrism } from './prism-setup';
11
+ import { config } from '../../../shared/storybook/theme';
12
+ import { create } from 'storybook/theming';
13
+
14
+ const theme = create(config);
12
15
 
13
16
  // Initialize Prism.js for syntax highlighting
14
17
  initializePrism();
@@ -1,4 +1 @@
1
-
2
- > @utilitywarehouse/hearth-react-native@0.32.2 build /home/runner/work/hearth/hearth/packages/react-native
3
- > tsc
4
-
1
+ $ tsc
@@ -1,7 +1,4 @@
1
-
2
- > @utilitywarehouse/hearth-react-native@0.32.2 lint /home/runner/work/hearth/hearth/packages/react-native
3
- > TIMING=1 eslint .
4
-
1
+ $ TIMING=1 eslint --fix .
5
2
 
6
3
  /home/runner/work/hearth/hearth/packages/react-native/src/components/Carousel/Carousel.context.tsx
7
4
  6:14 warning Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components react-refresh/only-export-components
@@ -45,15 +42,15 @@
45
42
 
46
43
  ✖ 20 problems (0 errors, 20 warnings)
47
44
 
48
- Rule | Time (ms) | Relative
49
- :----------------------------------------|----------:|--------:
50
- @typescript-eslint/no-unused-vars | 1652.894 | 62.0%
51
- react-hooks/exhaustive-deps | 139.717 | 5.2%
52
- react-hooks/rules-of-hooks | 103.240 | 3.9%
53
- no-global-assign | 68.299 | 2.6%
54
- no-misleading-character-class | 54.368 | 2.0%
55
- no-unexpected-multiline | 52.346 | 2.0%
56
- @typescript-eslint/ban-ts-comment | 50.938 | 1.9%
57
- no-useless-escape | 46.618 | 1.7%
58
- no-loss-of-precision | 37.323 | 1.4%
59
- @typescript-eslint/no-unused-expressions | 32.985 | 1.2%
45
+ Rule | Time (ms) | Relative
46
+ :---------------------------------|----------:|--------:
47
+ @typescript-eslint/no-unused-vars | 1235.710 | 58.8%
48
+ react-hooks/rules-of-hooks | 84.526 | 4.0%
49
+ react-hooks/exhaustive-deps | 83.725 | 4.0%
50
+ no-global-assign | 63.566 | 3.0%
51
+ no-useless-escape | 42.579 | 2.0%
52
+ no-unexpected-multiline | 40.934 | 1.9%
53
+ no-fallthrough | 40.545 | 1.9%
54
+ @typescript-eslint/ban-ts-comment | 37.277 | 1.8%
55
+ no-regex-spaces | 35.268 | 1.7%
56
+ no-misleading-character-class | 28.595 | 1.4%
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @utilitywarehouse/hearth-react-native
2
2
 
3
+ ## 0.32.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1192](https://github.com/utilitywarehouse/hearth/pull/1192) [`a74bf02`](https://github.com/utilitywarehouse/hearth/commit/a74bf02c58c12e1b42351e0d7f8e3e79ea0acbd6) Thanks [@robphoenix](https://github.com/robphoenix)! - 🧹 [HOUSEKEEPING]: Fix dependencies and types
8
+
3
9
  ## 0.32.2
4
10
 
5
11
  ### Patch Changes
@@ -1,19 +1,19 @@
1
1
  import { AccordionProps } from './Accordion.props';
2
2
  import { AccordionItemProps } from './AccordionItem.props';
3
- export declare const AccordionHeader: import("react").ForwardRefExoticComponent<import("react-native").ViewProps & import("react").RefAttributes<import("react-native").ViewProps>>;
4
- export declare const AccordionTrigger: import("react").ForwardRefExoticComponent<Omit<import("react-native").PressableProps & {
3
+ export declare const AccordionHeader: import("react").ForwardRefExoticComponent<import("react-native/types").ViewProps & import("react").RefAttributes<import("react-native/types").ViewProps>>;
4
+ export declare const AccordionTrigger: import("react").ForwardRefExoticComponent<Omit<import("react-native/types").PressableProps & {
5
5
  states?: {
6
6
  active?: boolean;
7
7
  };
8
- }, "children"> & import("@gluestack-ui/accordion/lib/typescript/types").IAccordionTriggerProps & import("react").RefAttributes<import("react-native").PressableProps & {
8
+ }, "children"> & import("@gluestack-ui/accordion/lib/typescript/types").IAccordionTriggerProps & import("react").RefAttributes<import("react-native/types").PressableProps & {
9
9
  states?: {
10
10
  active?: boolean;
11
11
  };
12
12
  }>>;
13
- export declare const AccordionContent: import("react").ForwardRefExoticComponent<import("react-native").ViewProps & import("react").RefAttributes<import("react-native").ViewProps>>;
14
- export declare const AccordionContentText: import("react").ForwardRefExoticComponent<import("react-native").TextProps & import("react").RefAttributes<import("react-native").TextProps>>;
13
+ export declare const AccordionContent: import("react").ForwardRefExoticComponent<import("react-native/types").ViewProps & import("react").RefAttributes<import("react-native/types").ViewProps>>;
14
+ export declare const AccordionContentText: import("react").ForwardRefExoticComponent<import("react-native/types").TextProps & import("react").RefAttributes<import("react-native/types").TextProps>>;
15
15
  export declare const AccordionIcon: import("react").ForwardRefExoticComponent<import("..").IconProps & import("react").RefAttributes<import("..").IconProps>>;
16
- export declare const AccordionTitleText: import("react").ForwardRefExoticComponent<import("react-native").TextProps & import("react").RefAttributes<import("react-native").TextProps>>;
16
+ export declare const AccordionTitleText: import("react").ForwardRefExoticComponent<import("react-native/types").TextProps & import("react").RefAttributes<import("react-native/types").TextProps>>;
17
17
  declare const Accordion: {
18
18
  ({ children, collapsible, type, heading, helperText, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
19
19
  displayName: string;
@@ -1,4 +1,5 @@
1
1
  import type { ComponentType, ReactElement, ReactNode } from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
2
3
  import type CardProps from '../Card/Card.props';
3
4
  export type BannerDirection = 'horizontal' | 'vertical';
4
5
  export interface BannerProps extends Omit<CardProps, 'noPadding' | 'variant' | 'space' | 'gap' | 'rowGap' | 'columnGap' | 'flexDirection' | 'flexWrap' | 'alignItems' | 'justifyContent'> {
@@ -71,5 +72,6 @@ export interface BannerProps extends Omit<CardProps, 'noPadding' | 'variant' | '
71
72
  * @default 'center'
72
73
  */
73
74
  alignChevron?: 'center' | 'start' | 'end';
75
+ style?: StyleProp<ViewStyle>;
74
76
  }
75
77
  export default BannerProps;
@@ -1,15 +1,15 @@
1
1
  import type { ButtonProps } from './Button.props';
2
- export declare const ButtonText: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").TextProps> & import("react-native").TextProps>;
2
+ export declare const ButtonText: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").TextProps> & import("react-native/types").TextProps>;
3
3
  export declare const ButtonSpinner: import("react").ForwardRefExoticComponent<Omit<Omit<import("..").SpinnerProps, "size">, "ref"> & import("react").RefAttributes<Omit<import("..").SpinnerProps, "size">>>;
4
4
  export declare const ButtonIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps> & import("..").IconProps>;
5
- export declare const ButtonGroupComponent: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").ViewProps & {
6
- flexDirection?: import("react-native").ViewStyle["flexDirection"];
5
+ export declare const ButtonGroupComponent: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").ViewProps & {
6
+ flexDirection?: import("react-native/types").ViewStyle["flexDirection"];
7
7
  reversed?: boolean;
8
8
  attached?: boolean;
9
9
  space?: import("../../types").SpacingValues;
10
10
  spacing?: import("../../types").SpacingValues;
11
- }> & import("react-native").ViewProps & {
12
- flexDirection?: import("react-native").ViewStyle["flexDirection"];
11
+ }> & import("react-native/types").ViewProps & {
12
+ flexDirection?: import("react-native/types").ViewStyle["flexDirection"];
13
13
  reversed?: boolean;
14
14
  attached?: boolean;
15
15
  space?: import("../../types").SpacingValues;
@@ -3,7 +3,7 @@ declare const Card: import("react").ForwardRefExoticComponent<import("./Card.pro
3
3
  active?: boolean;
4
4
  disabled?: boolean;
5
5
  };
6
- } & Omit<import("react-native").PressableProps, "children"> & {
6
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
7
7
  tabIndex?: 0 | -1 | undefined;
8
8
  } & {
9
9
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -4,7 +4,7 @@ declare const CardAction: import("react").ForwardRefExoticComponent<(((import(".
4
4
  disabled?: boolean;
5
5
  };
6
6
  isFirst?: boolean;
7
- }) & Omit<import("react-native").PressableProps, "children">) & {
7
+ }) & Omit<import("react-native/types").PressableProps, "children">) & {
8
8
  tabIndex?: 0 | -1 | undefined;
9
9
  } & {
10
10
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -10,7 +10,7 @@ declare const CarouselControlItem: import("react").ForwardRefExoticComponent<Car
10
10
  active?: boolean;
11
11
  disabled?: boolean;
12
12
  };
13
- } & Omit<import("react-native").PressableProps, "children"> & {
13
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
14
14
  tabIndex?: 0 | -1 | undefined;
15
15
  } & {
16
16
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -4,7 +4,7 @@ declare const CheckboxGroup: import("react").ForwardRefExoticComponent<import("r
4
4
  }> & import("./CheckboxGroup.props").default & {
5
5
  isCard?: boolean;
6
6
  } & import("@gluestack-ui/checkbox/lib/typescript/types").ICheckboxGroup>;
7
- declare const CheckboxIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").ViewProps> & import("react-native").ViewProps>;
7
+ declare const CheckboxIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").ViewProps> & import("react-native/types").ViewProps>;
8
8
  declare const CheckboxIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps> & import("..").IconProps & {
9
9
  forceMount?: boolean;
10
10
  }>;
@@ -3,7 +3,7 @@ declare const ExpandableCardTrigger: import("react").ForwardRefExoticComponent<(
3
3
  active?: boolean;
4
4
  disabled?: boolean;
5
5
  };
6
- }) & Omit<import("react-native").PressableProps, "children">) & {
6
+ }) & Omit<import("react-native/types").PressableProps, "children">) & {
7
7
  tabIndex?: 0 | -1 | undefined;
8
8
  } & {
9
9
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -1,6 +1,6 @@
1
1
  import { View } from 'react-native';
2
2
  import FormFieldProps from './FormField.props';
3
- export declare const FormFieldComponent: import("@gluestack-ui/form-control/lib/types").IFormControlComponentType<import("react-native").ViewProps, Omit<import("../Helper/Helper.props").default, "validationStatus">, Omit<import("../Helper/Helper.props").default, "validationStatus">, Omit<import("..").IconProps, "as">, unknown, Omit<import("../Label/Label.props").default, "disabled">, unknown, Omit<import("../Helper/Helper.props").default, "validationStatus">, import("../BodyText").BodyTextProps>;
3
+ export declare const FormFieldComponent: import("@gluestack-ui/form-control/lib/types").IFormControlComponentType<import("react-native/types").ViewProps, Omit<import("../Helper/Helper.props").default, "validationStatus">, Omit<import("../Helper/Helper.props").default, "validationStatus">, Omit<import("..").IconProps, "as">, unknown, Omit<import("../Label/Label.props").default, "disabled">, unknown, Omit<import("../Helper/Helper.props").default, "validationStatus">, import("../BodyText").BodyTextProps>;
4
4
  export declare const FormFieldLabel: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>> & {
5
5
  Text: import("react").ForwardRefExoticComponent<Omit<Omit<import("../Label/Label.props").default, "disabled">, "ref"> & import("react").RefAttributes<Omit<import("../Label/Label.props").default, "disabled">>>;
6
6
  };
@@ -1,5 +1,5 @@
1
1
  declare const CircleIcon: import("@gluestack-ui/icon/lib/typescript/createIcon").IIconComponentType<import("react-native-svg").SvgProps | {
2
- fill?: import("react-native").ColorValue | undefined;
3
- stroke?: import("react-native").ColorValue | undefined;
2
+ fill?: import("react-native/types").ColorValue | undefined;
3
+ stroke?: import("react-native/types").ColorValue | undefined;
4
4
  }>;
5
5
  export default CircleIcon;
@@ -9,13 +9,13 @@ export declare const InputComponent: import("@gluestack-ui/input/lib/typescript/
9
9
  };
10
10
  }, import("..").IconProps & {
11
11
  as?: ComponentType;
12
- }, import("react-native").ViewProps, import("react-native").TextInputProps & {
12
+ }, import("react-native/types").ViewProps, import("react-native/types").TextInputProps & {
13
13
  inBottomSheet?: boolean;
14
14
  } & import("react").RefAttributes<TextInput>>;
15
- export declare const InputSlot: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").ViewProps> & import("react-native").ViewProps & import("@gluestack-ui/input/lib/typescript/types").IInputSlotProps>;
16
- export declare const InputField: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").TextInputProps & {
15
+ export declare const InputSlot: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").ViewProps> & import("react-native/types").ViewProps & import("@gluestack-ui/input/lib/typescript/types").IInputSlotProps>;
16
+ export declare const InputField: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").TextInputProps & {
17
17
  inBottomSheet?: boolean;
18
- } & import("react").RefAttributes<TextInput>> & Omit<import("react-native").TextInputProps & {
18
+ } & import("react").RefAttributes<TextInput>> & Omit<import("react-native/types").TextInputProps & {
19
19
  inBottomSheet?: boolean;
20
20
  } & import("react").RefAttributes<TextInput>, "ref"> & import("@gluestack-ui/input/lib/typescript/types").IInputProps>;
21
21
  export declare const InputIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps & {
@@ -10,9 +10,7 @@ const InputField = forwardRef(({ style, inBottomSheet = false, ...props }, ref)
10
10
  styles.useVariants({ focused, type });
11
11
  const { color } = useTheme();
12
12
  if (inBottomSheet) {
13
- return (
14
- // @ts-expect-error - BottomSheetTextInput has incompatible event types with TextInput
15
- _jsx(BottomSheetTextInput, { ref: ref, placeholderTextColor: color.text.secondary, selectionColor: color.surface.brand.default, cursorColor: color.surface.brand.default, verticalAlign: "middle", "aria-disabled": disabled, ...props, style: [styles.input, style] }));
13
+ return (_jsx(BottomSheetTextInput, { ref: ref, placeholderTextColor: color.text.secondary, selectionColor: color.surface.brand.default, cursorColor: color.surface.brand.default, verticalAlign: "middle", "aria-disabled": disabled, ...props, style: [styles.input, style] }));
16
14
  }
17
15
  return (_jsx(RNTextInput, { ref: ref, placeholderTextColor: color.text.secondary, selectionColor: color.surface.brand.default, cursorColor: color.surface.brand.default, verticalAlign: "middle", "aria-disabled": disabled, ...props, style: [styles.input, style] }));
18
16
  });
@@ -1,5 +1,5 @@
1
1
  import type { LinkProps } from './Link.props';
2
- export declare const LinkText: import("react").ForwardRefExoticComponent<import("react-native").TextProps & import("react").RefAttributes<import("react-native").TextProps>>;
2
+ export declare const LinkText: import("react").ForwardRefExoticComponent<import("react-native/types").TextProps & import("react").RefAttributes<import("react-native/types").TextProps>>;
3
3
  declare const Link: {
4
4
  ({ children, icon, disabled, target, iconPosition, showIcon, textStyle, iconStyle, ...props }: LinkProps): import("react/jsx-runtime").JSX.Element;
5
5
  displayName: string;
@@ -4,7 +4,7 @@ declare const ListAction: import("react").ForwardRefExoticComponent<ListActionPr
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
6
  };
7
- } & Omit<import("react-native").PressableProps, "children"> & {
7
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
8
8
  tabIndex?: 0 | -1 | undefined;
9
9
  } & {
10
10
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -3,7 +3,7 @@ declare const ListItem: import("react").ForwardRefExoticComponent<(((import("./L
3
3
  active?: boolean;
4
4
  disabled?: boolean;
5
5
  };
6
- }) & Omit<import("react-native").PressableProps, "children">) & {
6
+ }) & Omit<import("react-native/types").PressableProps, "children">) & {
7
7
  tabIndex?: 0 | -1 | undefined;
8
8
  } & {
9
9
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -4,7 +4,7 @@ declare const MenuItem: import("react").ForwardRefExoticComponent<MenuItemProps
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
6
  };
7
- } & Omit<import("react-native").PressableProps, "children"> & {
7
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
8
8
  tabIndex?: 0 | -1 | undefined;
9
9
  } & {
10
10
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -3,7 +3,7 @@ export declare const Pill: import("react").ForwardRefExoticComponent<PillProps &
3
3
  states?: {
4
4
  active?: boolean;
5
5
  };
6
- } & Omit<import("react-native").PressableProps, "children"> & {
6
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
7
7
  tabIndex?: 0 | -1 | undefined;
8
8
  } & {
9
9
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -4,7 +4,7 @@ declare const RadioGroup: import("react").ForwardRefExoticComponent<import("reac
4
4
  }> & import("./RadioGroup.props").default & {
5
5
  isCard?: boolean;
6
6
  } & import("@gluestack-ui/radio/lib/typescript/types").IRadioGroupProps>;
7
- declare const RadioIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").ViewProps> & import("react-native").ViewProps>;
7
+ declare const RadioIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").ViewProps> & import("react-native/types").ViewProps>;
8
8
  declare const RadioIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps> & import("..").IconProps & {
9
9
  forceMount?: boolean;
10
10
  }>;
@@ -5,25 +5,25 @@ declare const RadioCardGroup: import("react").ForwardRefExoticComponent<import("
5
5
  onChange?: (value: string) => void;
6
6
  gap?: keyof typeof import("../../tokens").space;
7
7
  ref?: import("react").Ref<View>;
8
- } & import("react-native").ViewProps & {
8
+ } & import("react-native/types").ViewProps & {
9
9
  columns?: never;
10
- flexDirection?: import("react-native").ViewStyle["flexDirection"];
11
- flexWrap?: import("react-native").ViewStyle["flexWrap"];
12
- alignItems?: import("react-native").ViewStyle["alignItems"];
13
- justifyContent?: import("react-native").ViewStyle["justifyContent"];
10
+ flexDirection?: import("react-native/types").ViewStyle["flexDirection"];
11
+ flexWrap?: import("react-native/types").ViewStyle["flexWrap"];
12
+ alignItems?: import("react-native/types").ViewStyle["alignItems"];
13
+ justifyContent?: import("react-native/types").ViewStyle["justifyContent"];
14
14
  }, "ref"> | Omit<{
15
15
  value?: string;
16
16
  onChange?: (value: string) => void;
17
17
  gap?: keyof typeof import("../../tokens").space;
18
18
  ref?: import("react").Ref<View>;
19
- } & import("react-native").ViewProps & {
19
+ } & import("react-native/types").ViewProps & {
20
20
  columns: import("..").GridProps["columns"];
21
21
  flexDirection?: never;
22
22
  flexWrap?: never;
23
23
  alignItems?: never;
24
24
  justifyContent?: never;
25
25
  }, "ref">) & import("@gluestack-ui/radio/lib/typescript/types").IRadioGroupProps)>;
26
- declare const RadioCardIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").ViewProps> & import("react-native").ViewProps>;
26
+ declare const RadioCardIndicator: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").ViewProps> & import("react-native/types").ViewProps>;
27
27
  declare const RadioCardIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps> & import("..").IconProps & {
28
28
  forceMount?: boolean;
29
29
  }>;
@@ -4,7 +4,7 @@ declare const SegmentedControlOption: import("react").ForwardRefExoticComponent<
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
6
  };
7
- } & Omit<import("react-native").PressableProps, "children"> & {
7
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
8
8
  tabIndex?: 0 | -1 | undefined;
9
9
  } & {
10
10
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -8,7 +8,7 @@ declare const StepperButton: import("react").ForwardRefExoticComponent<{
8
8
  active?: boolean;
9
9
  disabled?: boolean;
10
10
  };
11
- } & Omit<import("react-native").PressableProps, "children"> & {
11
+ } & {
12
12
  tabIndex?: 0 | -1 | undefined;
13
13
  } & {
14
14
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -4,7 +4,7 @@ declare const PressableTab: import("react").ForwardRefExoticComponent<TabProps &
4
4
  active?: boolean;
5
5
  disabled?: boolean;
6
6
  };
7
- } & Omit<import("react-native").PressableProps, "children"> & {
7
+ } & Omit<import("react-native/types").PressableProps, "children"> & {
8
8
  tabIndex?: 0 | -1 | undefined;
9
9
  } & {
10
10
  children?: import("react").ReactNode | (({ hovered, pressed, focused, focusVisible, disabled, }: {
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createPressable } from '@gluestack-ui/pressable';
2
3
  import { useCallback, useRef } from 'react';
3
4
  import { Platform, Pressable, View } from 'react-native';
4
5
  import { StyleSheet } from 'react-native-unistyles';
6
+ import { BodyText } from '../BodyText';
5
7
  import { Icon } from '../Icon';
6
8
  import { useTabsContext } from './Tabs.context';
7
- import { createPressable } from '@gluestack-ui/pressable';
8
- import { BodyText } from '../BodyText';
9
9
  const Tab = ({ value, children, icon, disabled, style, states, ...props }) => {
10
10
  const { value: active, select, size, disabled: allDisabled, registerTabLayout, } = useTabsContext();
11
11
  const { active: pressed } = states || { active: false };
@@ -5,7 +5,7 @@ export declare const TextareaComponent: import("@gluestack-ui/textarea/lib/types
5
5
  disabled?: boolean;
6
6
  readonly?: boolean;
7
7
  };
8
- }, import("react-native").TextInputProps>;
9
- export declare const TextareaField: import("react").ForwardRefExoticComponent<import("react-native").TextInputProps & import("react").RefAttributes<import("react-native").TextInputProps> & import("@gluestack-ui/textarea/lib/typescript/types").IInputProps>;
8
+ }, import("react-native/types").TextInputProps>;
9
+ export declare const TextareaField: import("react").ForwardRefExoticComponent<import("react-native/types").TextInputProps & import("react").RefAttributes<import("react-native/types").TextInputProps> & import("@gluestack-ui/textarea/lib/typescript/types").IInputProps>;
10
10
  declare const Textarea: ({ validationStatus, children, resizable, defaultHeight, disabled, focused, readonly, label, labelVariant, helperText, validText, invalidText, required, helperIcon, onLayout, ...props }: TextareaProps) => import("react/jsx-runtime").JSX.Element;
11
11
  export default Textarea;
@@ -1,7 +1,7 @@
1
1
  import type { ToggleButtonProps } from './ToggleButton.props';
2
- export declare const ToggleButtonText: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native").TextProps & {
2
+ export declare const ToggleButtonText: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("react-native/types").TextProps & {
3
3
  toggled: boolean;
4
- }> & import("react-native").TextProps & {
4
+ }> & import("react-native/types").TextProps & {
5
5
  toggled: boolean;
6
6
  }>;
7
7
  export declare const ToggleButtonIcon: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("..").IconProps & {
@@ -9,6 +9,12 @@ import { BackToTopButton, NextPrevPage } from './components';
9
9
  The changelog for the Hearth React Native library. Here you can find all the changes, improvements, and bug fixes for each version.
10
10
 
11
11
 
12
+ ## 0.32.3
13
+
14
+ ### Patch Changes
15
+
16
+ - [#1192](https://github.com/utilitywarehouse/hearth/pull/1192) [`a74bf02`](https://github.com/utilitywarehouse/hearth/commit/a74bf02c58c12e1b42351e0d7f8e3e79ea0acbd6) Thanks [@robphoenix](https://github.com/robphoenix)! - 🧹 [HOUSEKEEPING]: Fix dependencies and types
17
+
12
18
  ## 0.32.2
13
19
 
14
20
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilitywarehouse/hearth-react-native",
3
- "version": "0.32.2",
3
+ "version": "0.32.3",
4
4
  "description": "Utility Warehouse React Native UI library",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -9,6 +9,7 @@
9
9
  "sideEffects": false,
10
10
  "dependencies": {
11
11
  "@gluestack-ui/accordion": "1.0.7",
12
+ "@gluestack-ui/form-control": "0.1.19",
12
13
  "@gluestack-ui/alert": "0.1.15",
13
14
  "@gluestack-ui/button": "1.0.7",
14
15
  "@gluestack-ui/checkbox": "0.1.32",
@@ -21,7 +22,8 @@
21
22
  "@gluestack-ui/switch": "0.1.22",
22
23
  "@gluestack-ui/textarea": "0.1.23",
23
24
  "@quidone/react-native-wheel-picker": "^1.6.1",
24
- "dayjs": "^1.11.13"
25
+ "dayjs": "^1.11.13",
26
+ "nanoid": "3.3.11"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
@@ -33,12 +35,13 @@
33
35
  "@storybook/addon-vitest": "^10.2.1",
34
36
  "@storybook/react-native-web-vite": "^10.2.1",
35
37
  "@types/prismjs": "^1.26.5",
36
- "@types/react-dom": "^19.1.6",
37
38
  "@types/react": "^19.1.10",
39
+ "@types/react-dom": "^19.1.6",
40
+ "@types/react-native": "^0.72.8",
38
41
  "@vitest/browser": "^3.2.4",
39
42
  "@vitest/coverage-v8": "^3.2.4",
40
43
  "chromatic": "^13.3.0",
41
- "eslint-plugin-storybook": "10.2.1",
44
+ "globals": "^15.15.0",
42
45
  "playwright": "^1.55.1",
43
46
  "prismjs": "^1.30.0",
44
47
  "react": "^19.1.0",
@@ -91,7 +94,7 @@
91
94
  "test": "vitest run --config vitest.unit.config.ts",
92
95
  "test:storybook": "vitest run --project storybook",
93
96
  "dev": "npm run copy:changelog && storybook dev -p 6006",
94
- "dev:docs": "storybook dev -p 6002 --no-open --docs",
97
+ "dev:docs": "storybook dev -p 6002 --no-open",
95
98
  "build:storybook": "npm run copy:changelog && storybook build",
96
99
  "build:storybook:docs": "npm run copy:changelog && storybook build --docs",
97
100
  "chromatic": "npx chromatic --project-token=chpt_cce0fb1ebd95d2a --build-script-name build:storybook"
@@ -1,4 +1,5 @@
1
1
  import type { ComponentType, ReactElement, ReactNode } from 'react';
2
+ import type { StyleProp, ViewStyle } from 'react-native';
2
3
  import type CardProps from '../Card/Card.props';
3
4
 
4
5
  export type BannerDirection = 'horizontal' | 'vertical';
@@ -92,6 +93,7 @@ export interface BannerProps extends Omit<
92
93
  * @default 'center'
93
94
  */
94
95
  alignChevron?: 'center' | 'start' | 'end';
96
+ style?: StyleProp<ViewStyle>;
95
97
  }
96
98
 
97
99
  export default BannerProps;
@@ -4,7 +4,6 @@ import ExpandableCardTriggerRoot from './ExpandableCardTriggerRoot';
4
4
  const ExpandableCardTrigger = createPressable({
5
5
  Root: ExpandableCardTriggerRoot,
6
6
  });
7
-
8
7
  ExpandableCardTrigger.displayName = 'ExpandableCardTrigger';
9
8
 
10
9
  export default ExpandableCardTrigger;
@@ -13,7 +13,6 @@ const InputField = forwardRef<RNTextInput, TextInputProps & { inBottomSheet?: bo
13
13
 
14
14
  if (inBottomSheet) {
15
15
  return (
16
- // @ts-expect-error - BottomSheetTextInput has incompatible event types with TextInput
17
16
  <BottomSheetTextInput
18
17
  ref={ref as any}
19
18
  placeholderTextColor={color.text.secondary}
@@ -1,13 +1,12 @@
1
+ import { createPressable } from '@gluestack-ui/pressable';
1
2
  import { useCallback, useRef } from 'react';
2
3
  import { Platform, Pressable, View } from 'react-native';
3
4
  import { StyleSheet } from 'react-native-unistyles';
5
+ import { BodyText } from '../BodyText';
4
6
  import { Icon } from '../Icon';
5
7
  import type TabProps from './Tab.props';
6
8
  import { useTabsContext } from './Tabs.context';
7
9
 
8
- import { createPressable } from '@gluestack-ui/pressable';
9
- import { BodyText } from '../BodyText';
10
-
11
10
  const Tab = ({
12
11
  value,
13
12
  children,
package/tsconfig.json CHANGED
@@ -10,6 +10,10 @@
10
10
  ],
11
11
  "compilerOptions": {
12
12
  "baseUrl": ".",
13
+ "paths": {
14
+ "react-native": ["./node_modules/react-native"],
15
+ "react-native/*": ["./node_modules/react-native/*"]
16
+ },
13
17
  "ignoreDeprecations": "5.0",
14
18
  "noEmit": false,
15
19
  "declaration": true,