@utilitywarehouse/hearth-react-native 0.32.1 → 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.
- package/.storybook/main.ts +7 -7
- package/.storybook/manager.ts +4 -2
- package/.storybook/preview.tsx +4 -1
- package/.turbo/turbo-build.log +1 -4
- package/.turbo/{turbo-lint.log → turbo-lint$colon$fix.log} +13 -16
- package/CHANGELOG.md +28 -0
- package/build/components/Accordion/Accordion.d.ts +6 -6
- package/build/components/Badge/Badge.js +2 -2
- package/build/components/Banner/Banner.props.d.ts +2 -0
- package/build/components/Button/Button.d.ts +5 -5
- package/build/components/Card/Card.d.ts +1 -1
- package/build/components/Card/CardAction/CardAction.d.ts +1 -1
- package/build/components/Carousel/CarouselControlItem.d.ts +1 -1
- package/build/components/Checkbox/Checkbox.d.ts +1 -1
- package/build/components/ExpandableCard/ExpandableCardTrigger.d.ts +1 -1
- package/build/components/FormField/FormField.d.ts +1 -1
- package/build/components/Icons/CircleIcon.d.ts +2 -2
- package/build/components/Input/Input.d.ts +4 -4
- package/build/components/Input/InputField.js +1 -3
- package/build/components/Link/Link.d.ts +1 -1
- package/build/components/List/ListAction/ListAction.d.ts +1 -1
- package/build/components/List/ListItem/ListItem.d.ts +1 -1
- package/build/components/Menu/MenuItem.d.ts +1 -1
- package/build/components/PillGroup/Pill.d.ts +1 -1
- package/build/components/Radio/Radio.d.ts +1 -1
- package/build/components/RadioCard/RadioCard.d.ts +7 -7
- package/build/components/SegmentedControl/SegmentedControlOption.d.ts +1 -1
- package/build/components/StepperInput/StepperButton.d.ts +1 -1
- package/build/components/Tabs/Tab.d.ts +1 -1
- package/build/components/Tabs/Tab.js +4 -4
- package/build/components/Textarea/Textarea.d.ts +2 -2
- package/build/components/ToggleButton/ToggleButton.d.ts +2 -2
- package/docs/changelog.mdx +90 -0
- package/package.json +15 -12
- package/src/components/Badge/Badge.tsx +2 -2
- package/src/components/Banner/Banner.props.ts +2 -0
- package/src/components/ExpandableCard/ExpandableCardTrigger.tsx +0 -1
- package/src/components/Input/InputField.tsx +0 -1
- package/src/components/Tabs/Tab.tsx +4 -5
- package/tsconfig.json +4 -0
package/.storybook/main.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { fileURLToPath } from
|
|
2
|
-
import { dirname } from
|
|
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(
|
|
17
|
+
getAbsolutePath('@chromatic-com/storybook'),
|
|
18
18
|
{
|
|
19
|
-
name: getAbsolutePath(
|
|
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(
|
|
29
|
-
getAbsolutePath(
|
|
28
|
+
getAbsolutePath('@storybook/addon-a11y'),
|
|
29
|
+
getAbsolutePath('@storybook/addon-vitest'),
|
|
30
30
|
],
|
|
31
31
|
framework: {
|
|
32
|
-
name: getAbsolutePath(
|
|
32
|
+
name: getAbsolutePath('@storybook/react-native-web-vite'),
|
|
33
33
|
options: {
|
|
34
34
|
pluginReactOptions: {
|
|
35
35
|
babel: {
|
package/.storybook/manager.ts
CHANGED
|
@@ -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
|
|
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,
|
package/.storybook/preview.tsx
CHANGED
|
@@ -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();
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
> @utilitywarehouse/hearth-react-native@0.32.1 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
|
|
49
|
-
|
|
50
|
-
@typescript-eslint/no-unused-vars
|
|
51
|
-
react-hooks/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
no-unexpected-multiline
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
no-regex-spaces
|
|
59
|
-
no-
|
|
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,33 @@
|
|
|
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
|
+
|
|
9
|
+
## 0.32.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#1164](https://github.com/utilitywarehouse/hearth/pull/1164) [`c8848d9`](https://github.com/utilitywarehouse/hearth/commit/c8848d9b01611e4c25b9caef7f211b8c623432c4) Thanks [@MichalCiesliczka](https://github.com/MichalCiesliczka)! - 🐛 [FIX]: Badge and Tabs now adapt their height for larger accessibility font sizes.
|
|
14
|
+
|
|
15
|
+
When larger text sizes are enabled (for example in iOS accessibility settings),
|
|
16
|
+
Badge and Tabs no longer clip text within fixed-height layouts. Their containers
|
|
17
|
+
now grow to fit scaled text while keeping the default visual sizing at standard
|
|
18
|
+
font settings.
|
|
19
|
+
|
|
20
|
+
**Components affected**:
|
|
21
|
+
- Badge
|
|
22
|
+
- Tab
|
|
23
|
+
|
|
24
|
+
**Developer changes**:
|
|
25
|
+
|
|
26
|
+
No code changes are required.
|
|
27
|
+
|
|
28
|
+
- Updated dependencies [[`e4167f2`](https://github.com/utilitywarehouse/hearth/commit/e4167f27325dacc0cbc1feae456697387162aa77)]:
|
|
29
|
+
- @utilitywarehouse/hearth-react-native-icons@0.8.1
|
|
30
|
+
|
|
3
31
|
## 0.32.1
|
|
4
32
|
|
|
5
33
|
### 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;
|
|
@@ -47,11 +47,11 @@ const styles = StyleSheet.create(theme => ({
|
|
|
47
47
|
size: {
|
|
48
48
|
sm: {
|
|
49
49
|
paddingVertical: theme.components.badge.sm.paddingVertical,
|
|
50
|
-
|
|
50
|
+
minHeight: theme.components.badge.sm.height,
|
|
51
51
|
},
|
|
52
52
|
md: {
|
|
53
53
|
paddingVertical: theme.components.badge.md.paddingVertical,
|
|
54
|
-
|
|
54
|
+
minHeight: theme.components.badge.md.height,
|
|
55
55
|
},
|
|
56
56
|
},
|
|
57
57
|
flatBase: {
|
|
@@ -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
|
-
} &
|
|
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 };
|
|
@@ -49,8 +49,8 @@ const styles = StyleSheet.create(theme => ({
|
|
|
49
49
|
},
|
|
50
50
|
variants: {
|
|
51
51
|
size: {
|
|
52
|
-
md: {
|
|
53
|
-
lg: {
|
|
52
|
+
md: { minHeight: theme.components.tabs.md.height },
|
|
53
|
+
lg: { minHeight: theme.components.tabs.lg.height },
|
|
54
54
|
},
|
|
55
55
|
pressed: {
|
|
56
56
|
true: {
|
|
@@ -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 & {
|
package/docs/changelog.mdx
CHANGED
|
@@ -9,6 +9,96 @@ 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
|
+
|
|
18
|
+
## 0.32.2
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [#1164](https://github.com/utilitywarehouse/hearth/pull/1164) [`c8848d9`](https://github.com/utilitywarehouse/hearth/commit/c8848d9b01611e4c25b9caef7f211b8c623432c4) Thanks [@MichalCiesliczka](https://github.com/MichalCiesliczka)! - 🐛 [FIX]: Badge and Tabs now adapt their height for larger accessibility font sizes.
|
|
23
|
+
|
|
24
|
+
When larger text sizes are enabled (for example in iOS accessibility settings),
|
|
25
|
+
Badge and Tabs no longer clip text within fixed-height layouts. Their containers
|
|
26
|
+
now grow to fit scaled text while keeping the default visual sizing at standard
|
|
27
|
+
font settings.
|
|
28
|
+
|
|
29
|
+
**Components affected**:
|
|
30
|
+
- Badge
|
|
31
|
+
- Tab
|
|
32
|
+
|
|
33
|
+
**Developer changes**:
|
|
34
|
+
|
|
35
|
+
No code changes are required.
|
|
36
|
+
|
|
37
|
+
- Updated dependencies [[`e4167f2`](https://github.com/utilitywarehouse/hearth/commit/e4167f27325dacc0cbc1feae456697387162aa77)]:
|
|
38
|
+
- @utilitywarehouse/hearth-react-native-icons@0.8.1
|
|
39
|
+
|
|
40
|
+
## 0.32.1
|
|
41
|
+
|
|
42
|
+
### Patch Changes
|
|
43
|
+
|
|
44
|
+
- [#1144](https://github.com/utilitywarehouse/hearth/pull/1144) [`85459f2`](https://github.com/utilitywarehouse/hearth/commit/85459f2f4d7dcd8a99685a11dcda070530cee8dc) Thanks [@jordmccord](https://github.com/jordmccord)! - 🐛 [FIX]: Add the missing `highlight` color scheme support across the `Banner` and `Card` components.
|
|
45
|
+
|
|
46
|
+
## 0.32.0
|
|
47
|
+
|
|
48
|
+
### Minor Changes
|
|
49
|
+
|
|
50
|
+
- [#1134](https://github.com/utilitywarehouse/hearth/pull/1134) [`8824186`](https://github.com/utilitywarehouse/hearth/commit/ebccb55afebcbd47508d7992614b2495c7839cc6) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `Roundel` status indicator component.
|
|
51
|
+
|
|
52
|
+
`Roundel` is a compact status indicator with `success`, `pending`, and `error` variants, intended for inline state cues.
|
|
53
|
+
|
|
54
|
+
**Components affected**:
|
|
55
|
+
|
|
56
|
+
- `Roundel`
|
|
57
|
+
|
|
58
|
+
**Developer changes**:
|
|
59
|
+
|
|
60
|
+
Import and use `Roundel` from `@utilitywarehouse/hearth-react-native`:
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
import { Roundel } from '@utilitywarehouse/hearth-react-native';
|
|
64
|
+
|
|
65
|
+
<Roundel variant="success" />;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
- [#1132](https://github.com/utilitywarehouse/hearth/pull/1132) [`8824186`](https://github.com/utilitywarehouse/hearth/commit/882418633ee8c3a11e204329d07363dc411996dc) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add the `Rating` component
|
|
69
|
+
|
|
70
|
+
**Components affected**:
|
|
71
|
+
- `Rating`
|
|
72
|
+
|
|
73
|
+
**Developer changes**:
|
|
74
|
+
|
|
75
|
+
```tsx
|
|
76
|
+
import { Rating } from '@utilitywarehouse/hearth-react-native';
|
|
77
|
+
|
|
78
|
+
const MyComponent = () => <Rating value={3} />;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
- [#1129](https://github.com/utilitywarehouse/hearth/pull/1129) [`ec385a8`](https://github.com/utilitywarehouse/hearth/commit/ec385a8185bfa4ec7f4d5f1366ecc069a98cbba8) Thanks [@jordmccord](https://github.com/jordmccord)! - 🌟 [FEATURE]: Add `StepperInput` for controlled numeric input with increment and decrement buttons.
|
|
82
|
+
|
|
83
|
+
`StepperInput` is a new React Native form component for adjusting numeric values with direct text entry and dedicated step controls. It supports min and max bounds, configurable step size, validation and helper text through `FormField`, and an opt-in `focusInputOnStepPress` prop for keyboard-first flows.
|
|
84
|
+
|
|
85
|
+
**Components affected**:
|
|
86
|
+
- `StepperInput`
|
|
87
|
+
|
|
88
|
+
**Developer changes**:
|
|
89
|
+
|
|
90
|
+
Import and use `StepperInput` from `@utilitywarehouse/hearth-react-native`:
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
import { StepperInput } from '@utilitywarehouse/hearth-react-native';
|
|
94
|
+
|
|
95
|
+
<StepperInput label="Guests" min={1} max={10} value={value} onChangeText={setValue} />;
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- [#1133](https://github.com/utilitywarehouse/hearth/pull/1133) [`5cae98e`](https://github.com/utilitywarehouse/hearth/commit/5cae98e640a708a7d99eaf0395b7b52e71b8e6ec) Thanks [@jordmccord](https://github.com/jordmccord)! - 💅 [ENHANCEMENT]: Add a `defaultHeight` prop to `Textarea` so the initial height can be configured.
|
|
101
|
+
|
|
12
102
|
## 0.31.1
|
|
13
103
|
|
|
14
104
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@utilitywarehouse/hearth-react-native",
|
|
3
|
-
"version": "0.32.
|
|
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
|
-
"
|
|
44
|
+
"globals": "^15.15.0",
|
|
42
45
|
"playwright": "^1.55.1",
|
|
43
46
|
"prismjs": "^1.30.0",
|
|
44
47
|
"react": "^19.1.0",
|
|
@@ -60,9 +63,9 @@
|
|
|
60
63
|
"vite-plugin-svgr": "^4.5.0",
|
|
61
64
|
"vitest": "^3.2.4",
|
|
62
65
|
"@utilitywarehouse/hearth-fonts": "^0.0.4",
|
|
63
|
-
"@utilitywarehouse/hearth-react-icons": "^0.8.
|
|
64
|
-
"@utilitywarehouse/hearth-react-native-icons": "^0.8.
|
|
65
|
-
"@utilitywarehouse/hearth-svg-assets": "^0.6.
|
|
66
|
+
"@utilitywarehouse/hearth-react-icons": "^0.8.1",
|
|
67
|
+
"@utilitywarehouse/hearth-react-native-icons": "^0.8.1",
|
|
68
|
+
"@utilitywarehouse/hearth-svg-assets": "^0.6.1",
|
|
66
69
|
"@utilitywarehouse/hearth-tokens": "^0.2.4"
|
|
67
70
|
},
|
|
68
71
|
"peerDependencies": {
|
|
@@ -81,7 +84,7 @@
|
|
|
81
84
|
"clean": "rm -rf node_modules rm -rf build .turbo",
|
|
82
85
|
"generateColours": "node ./scripts/generateColours.js",
|
|
83
86
|
"copyTokens": "node ./scripts/copyTokens.js",
|
|
84
|
-
"
|
|
87
|
+
"copy:changelog": "node ./scripts/copyChangelog.js",
|
|
85
88
|
"lint:fix": "TIMING=1 eslint --fix .",
|
|
86
89
|
"lint": "TIMING=1 eslint .",
|
|
87
90
|
"build": "tsc",
|
|
@@ -90,10 +93,10 @@
|
|
|
90
93
|
"figma:publish": "figma connect publish",
|
|
91
94
|
"test": "vitest run --config vitest.unit.config.ts",
|
|
92
95
|
"test:storybook": "vitest run --project storybook",
|
|
93
|
-
"dev": "npm run
|
|
94
|
-
"dev:docs": "storybook dev -p 6002 --no-open
|
|
95
|
-
"build:storybook": "npm run
|
|
96
|
-
"build:storybook:docs": "npm run
|
|
96
|
+
"dev": "npm run copy:changelog && storybook dev -p 6006",
|
|
97
|
+
"dev:docs": "storybook dev -p 6002 --no-open",
|
|
98
|
+
"build:storybook": "npm run copy:changelog && storybook build",
|
|
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"
|
|
98
101
|
}
|
|
99
102
|
}
|
|
@@ -78,11 +78,11 @@ const styles = StyleSheet.create(theme => ({
|
|
|
78
78
|
size: {
|
|
79
79
|
sm: {
|
|
80
80
|
paddingVertical: theme.components.badge.sm.paddingVertical,
|
|
81
|
-
|
|
81
|
+
minHeight: theme.components.badge.sm.height,
|
|
82
82
|
},
|
|
83
83
|
md: {
|
|
84
84
|
paddingVertical: theme.components.badge.md.paddingVertical,
|
|
85
|
-
|
|
85
|
+
minHeight: theme.components.badge.md.height,
|
|
86
86
|
},
|
|
87
87
|
},
|
|
88
88
|
flatBase: {
|
|
@@ -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;
|
|
@@ -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,
|
|
@@ -87,8 +86,8 @@ const styles = StyleSheet.create(theme => ({
|
|
|
87
86
|
},
|
|
88
87
|
variants: {
|
|
89
88
|
size: {
|
|
90
|
-
md: {
|
|
91
|
-
lg: {
|
|
89
|
+
md: { minHeight: theme.components.tabs.md.height },
|
|
90
|
+
lg: { minHeight: theme.components.tabs.lg.height },
|
|
92
91
|
},
|
|
93
92
|
pressed: {
|
|
94
93
|
true: {
|
package/tsconfig.json
CHANGED